poc: POC fully integrated, need still to fix a couple of bugs and add audit logs
This commit is contained in:
parent
3d0a1b146a
commit
29564261fb
4 changed files with 182 additions and 15 deletions
|
|
@ -30,6 +30,7 @@ from rhodecode.apps._base import RepoAppView, DataGridAppView
|
|||
|
||||
from rhodecode.lib import helpers as h, diffs, codeblocks, channelstream
|
||||
from rhodecode.lib.base import vcs_operation_context
|
||||
from rhodecode.lib.celerylib import run_task, tasks
|
||||
from rhodecode.lib.diffs import load_cached_diff, cache_diff, diff_cache_exist
|
||||
from rhodecode.lib.exceptions import CommentVersionMismatch
|
||||
from rhodecode.lib import ext_json
|
||||
|
|
@ -54,6 +55,7 @@ from rhodecode.model.db import (
|
|||
ChangesetStatus,
|
||||
Repository,
|
||||
PullRequestReviewers,
|
||||
User,
|
||||
)
|
||||
from rhodecode.model.forms import PullRequestForm
|
||||
from rhodecode.model.meta import Session
|
||||
|
|
@ -1310,13 +1312,20 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
|||
do_update_branch_close = "close_branch_before_merging" in self.request.POST
|
||||
|
||||
if "review_members" in controls:
|
||||
self._update_reviewers(
|
||||
ai_user = User.get_ai_user()
|
||||
ai_user_id = ai_user.user_id
|
||||
|
||||
ids_to_add, ids_to_remove = self._update_reviewers(
|
||||
c,
|
||||
pull_request,
|
||||
controls["review_members"],
|
||||
pull_request.reviewer_data,
|
||||
PullRequestReviewers.ROLE_REVIEWER,
|
||||
)
|
||||
if ai_user_id in ids_to_add:
|
||||
log.debug("Initiating code review for pull request id: %s", pull_request.pull_request_id)
|
||||
run_task(tasks.start_ai_code_review, pull_request.pull_request_id)
|
||||
|
||||
elif "observer_members" in controls:
|
||||
self._update_reviewers(
|
||||
c,
|
||||
|
|
@ -1438,6 +1447,9 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
|||
PullRequestModel().get_reviewer_functions()
|
||||
)
|
||||
|
||||
ids_to_add = None
|
||||
ids_to_remove = None
|
||||
|
||||
if role == PullRequestReviewers.ROLE_REVIEWER:
|
||||
try:
|
||||
reviewers = validate_default_reviewers(review_members, reviewer_rules)
|
||||
|
|
@ -1447,7 +1459,9 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
|||
return
|
||||
|
||||
old_calculated_status = pull_request.calculated_review_status()
|
||||
PullRequestModel().update_reviewers(pull_request, reviewers, self._rhodecode_db_user)
|
||||
ids_to_add, ids_to_remove = PullRequestModel().update_reviewers(
|
||||
pull_request, reviewers, self._rhodecode_db_user
|
||||
)
|
||||
|
||||
Session().commit()
|
||||
|
||||
|
|
@ -1470,13 +1484,17 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
|||
h.flash(e, category="error")
|
||||
return
|
||||
|
||||
PullRequestModel().update_observers(pull_request, observers, self._rhodecode_db_user)
|
||||
ids_to_add, ids_to_remove = PullRequestModel().update_observers(
|
||||
pull_request, observers, self._rhodecode_db_user
|
||||
)
|
||||
|
||||
Session().commit()
|
||||
msg = _("Pull request observers updated.")
|
||||
h.flash(msg, category="success")
|
||||
channelstream.pr_update_channelstream_push(self.request, c.pr_broadcast_channel, self._rhodecode_user, msg)
|
||||
|
||||
return ids_to_add, ids_to_remove
|
||||
|
||||
@LoginRequired()
|
||||
@NotAnonymous()
|
||||
@HasRepoPermissionAnyDecorator("repository.read", "repository.write", "repository.admin")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue