Mercurial > kallithea
diff rhodecode/model/comment.py @ 2802:0a623ec24b62 beta
part2 of pull-request notification improvements
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 05 Sep 2012 00:08:38 +0200 |
parents | f3e039e4dc49 |
children | 2454ed7f0c21 |
line wrap: on
line diff
--- a/rhodecode/model/comment.py Tue Sep 04 22:46:05 2012 +0200 +++ b/rhodecode/model/comment.py Wed Sep 05 00:08:38 2012 +0200 @@ -125,16 +125,15 @@ recipients += [User.get_by_email(author_email)] #pull request elif pull_request: + _url = h.url('pullrequest_show', + repo_name=pull_request.other_repo.repo_name, + pull_request_id=pull_request.pull_request_id, + anchor='comment-%s' % comment.comment_id, + qualified=True, + ) subj = safe_unicode( h.link_to('Re pull request: %(desc)s %(line)s' % \ - {'desc': desc, 'line': line}, - h.url('pullrequest_show', - repo_name=pull_request.other_repo.repo_name, - pull_request_id=pull_request.pull_request_id, - anchor='comment-%s' % comment.comment_id, - qualified=True, - ) - ) + {'desc': desc, 'line': line}, _url) ) notification_type = Notification.TYPE_PULL_REQUEST_COMMENT @@ -144,22 +143,36 @@ # add pull request author recipients += [pull_request.author] + # add the reviewers to notification + recipients += [x.user for x in pull_request.reviewers] + + #set some variables for email notification + kwargs = { + 'pr_id': pull_request.pull_request_id, + 'status_change': status_change, + 'pr_comment_url': _url, + 'pr_comment_user': h.person(user.email), + 'pr_target_repo': h.url('summary_home', + repo_name=pull_request.other_repo.repo_name, + qualified=True) + } # create notification objects, and emails NotificationModel().create( - created_by=user, subject=subj, body=body, - recipients=recipients, type_=notification_type, - email_kwargs={'status_change': status_change} + created_by=user, subject=subj, body=body, + recipients=recipients, type_=notification_type, + email_kwargs=kwargs ) mention_recipients = set(self._extract_mentions(body))\ .difference(recipients) if mention_recipients: + kwargs.update({'pr_mention': True}) subj = _('[Mention]') + ' ' + subj NotificationModel().create( created_by=user, subject=subj, body=body, recipients=mention_recipients, type_=notification_type, - email_kwargs={'status_change': status_change} + email_kwargs=kwargs ) return comment