diff options
author | Marcin Kuzminski <marcin@python-works.com> | 2013-01-29 22:40:29 +0100 |
---|---|---|
committer | Marcin Kuzminski <marcin@python-works.com> | 2013-01-29 22:40:29 +0100 |
commit | 008d34682e222cb1f8946da2db7061b6c1b1b3f0 (patch) | |
tree | 35233a6bb499b2b249d602029aeec6cea65aca58 /rhodecode/model | |
parent | 83844d92ac3760cd37f8dd690b2818a815a496fe (diff) |
Don't send notification email for auto-status changes
--HG--
branch : beta
Diffstat (limited to 'rhodecode/model')
-rw-r--r-- | rhodecode/model/changeset_status.py | 3 | ||||
-rw-r--r-- | rhodecode/model/comment.py | 33 |
2 files changed, 20 insertions, 16 deletions
diff --git a/rhodecode/model/changeset_status.py b/rhodecode/model/changeset_status.py index a7e0efcf..faf0bf12 100644 --- a/rhodecode/model/changeset_status.py +++ b/rhodecode/model/changeset_status.py @@ -132,10 +132,11 @@ class ChangesetStatusModel(BaseModel): if not comment: from rhodecode.model.comment import ChangesetCommentsModel comment = ChangesetCommentsModel().create( - text='Auto status change', + text='Auto status change to %s' % status, repo=repo, user=user, pull_request=pull_request, + send_email=False ) if revision: q = q.filter(ChangesetStatus.repo == repo) diff --git a/rhodecode/model/comment.py b/rhodecode/model/comment.py index 5cb6b1ad..0bf1b40b 100644 --- a/rhodecode/model/comment.py +++ b/rhodecode/model/comment.py @@ -58,7 +58,7 @@ class ChangesetCommentsModel(BaseModel): return user_objects def create(self, text, repo, user, revision=None, pull_request=None, - f_path=None, line_no=None, status_change=None): + f_path=None, line_no=None, status_change=None, send_email=True): """ Creates new comment for changeset or pull request. IF status_change is not none this comment is associated with a @@ -72,6 +72,7 @@ class ChangesetCommentsModel(BaseModel): :param f_path: :param line_no: :param status_change: + :param send_email: """ if not text: return @@ -164,25 +165,27 @@ class ChangesetCommentsModel(BaseModel): 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=email_kwargs - ) - - mention_recipients = set(self._extract_mentions(body))\ - .difference(recipients) - if mention_recipients: - email_kwargs.update({'pr_mention': True}) - subj = _('[Mention]') + ' ' + subj + + if send_email: + # create notification objects, and emails NotificationModel().create( created_by=user, subject=subj, body=body, - recipients=mention_recipients, - type_=notification_type, + recipients=recipients, type_=notification_type, email_kwargs=email_kwargs ) + mention_recipients = set(self._extract_mentions(body))\ + .difference(recipients) + if mention_recipients: + email_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=email_kwargs + ) + return comment def delete(self, comment): |