The `@LazyProperty` decorator should be kept on the `def creator` method/property. Removing it will change functionality and likely break other things elsewhere that use it. What it does is very much like the standard `@property` decorator: it becomes an attribute that you access without `()`. And the "Lazy" part of this decorator is custom, it caches the result so that if you reference it again, it doesn't re-run the code, just uses the saved result again. Several tests do fail, potentially because of this.
The form doesn't actually work right now. It doesn't specify the status field when it submits. What if a non-creator tries to reject a merge request? Doesn't look like the logic supports that any more, but it needs to. There still is duplicated code, although its in the same method now. Can you get all the permission checking done first, and then have just one section of code with the render/add_post/status lines? Adding a test for this new situation would be good. `test_merge_request_update_status` is an example to look at. You'd have to change it to use a non-admin to create the merge request and then reject it. --- ** [tickets:#8029] Submitter should be able to reject merge request** **Status:** in-progress **Milestone:** unreleased **Labels:** merge-requests **Created:** Tue Dec 08, 2015 03:31 PM UTC by Dave Brondsema **Last Updated:** Mon Jan 11, 2016 07:34 PM UTC **Owner:** Pranav Sharma The submitter of a merge request should be able to change its status to "rejected" (or possibly delete it, but I think that'd be going too far). [#5993] for updating an existing request will help too, but there's still a good case for rejecting your own MR I think. This has been requested by several SF users: https://sourceforge.net/p/forge/feature-requests/254/ --- Sent from forge-allura.apache.org because [email protected] is subscribed to https://forge-allura.apache.org/p/allura/tickets/ To unsubscribe from further messages, a project admin can change settings at https://forge-allura.apache.org/p/allura/admin/tickets/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.
