diff --git a/rhodecode/controllers/changeset.py b/rhodecode/controllers/changeset.py --- a/rhodecode/controllers/changeset.py +++ b/rhodecode/controllers/changeset.py @@ -43,7 +43,7 @@ from rhodecode.lib.base import BaseRepoC from rhodecode.lib.utils import EmptyChangeset from rhodecode.lib.compat import OrderedDict from rhodecode.lib import diffs -from rhodecode.model.db import ChangesetComment +from rhodecode.model.db import ChangesetComment, ChangesetStatus from rhodecode.model.comment import ChangesetCommentsModel from rhodecode.model.changeset_status import ChangesetStatusModel from rhodecode.model.meta import Session @@ -202,7 +202,7 @@ class ChangesetController(BaseRepoContro cumulative_diff = 0 c.cut_off = False # defines if cut off limit is reached - + c.changeset_statuses = ChangesetStatus.STATUSES c.comments = [] c.statuses = [] c.inline_comments = [] @@ -210,9 +210,9 @@ class ChangesetController(BaseRepoContro # Iterate over ranges (default changeset view is always one changeset) for changeset in c.cs_ranges: - c.statuses.extend(ChangesetStatusModel()\ + c.statuses.extend([ChangesetStatusModel()\ .get_status(c.rhodecode_db_repo.repo_id, - changeset.raw_id)) + changeset.raw_id)]) c.comments.extend(ChangesetCommentsModel()\ .get_comments(c.rhodecode_db_repo.repo_id, @@ -376,6 +376,17 @@ class ChangesetController(BaseRepoContro f_path=request.POST.get('f_path'), line_no=request.POST.get('line') ) + + # get status if set ! + status = request.POST.get('changeset_status') + if status and request.POST.get('change_changeset_status'): + ChangesetStatusModel().set_status( + c.rhodecode_db_repo.repo_id, + revision, + status, + c.rhodecode_user.user_id, + ) + Session.commit() if not request.environ.get('HTTP_X_PARTIAL_XHR'): return redirect(h.url('changeset_home', repo_name=repo_name,