aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rhodecode/model/changeset_status.py3
-rw-r--r--rhodecode/model/comment.py33
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):