# HG changeset patch # User Thomas De Schampheleire # Date 2015-04-23 21:44:19 # Node ID 140f2811fc6fed0a7c158dec6cfe510cb9239853 # Parent 481a484b1d69f21eeb8cd8b93c0a7b48e14c2a1c comments: avoid storing 'No comments' text when changing status When a general comment (with or without status change) is added to a changeset or pull request, and no text was added, Kallithea automatically used 'No comments' as text. The stub text is added to the database as if it has been entered by the user and it can thus not easily be identified as an automatic comment. This commit makes following changes: - allow adding an empty comment to the database when there is a status change. An empty comment without status change is ignored. - do not add a stub text to the database, but generate it on demand - the stub text is shown in italic font to differentiate it from user-entered text Currently there is a large amount of duplication between controllers/changeset.py and controllers/pullrequests.py, which is to be cleaned up in a later commit. diff --git a/kallithea/controllers/changeset.py b/kallithea/controllers/changeset.py --- a/kallithea/controllers/changeset.py +++ b/kallithea/controllers/changeset.py @@ -349,7 +349,7 @@ class ChangesetController(BaseRepoContro @jsonify def comment(self, repo_name, revision): status = request.POST.get('changeset_status') - text = request.POST.get('text', '').strip() or _('No comments.') + text = request.POST.get('text', '').strip() c.co = comm = ChangesetCommentsModel().create( text=text, diff --git a/kallithea/controllers/pullrequests.py b/kallithea/controllers/pullrequests.py --- a/kallithea/controllers/pullrequests.py +++ b/kallithea/controllers/pullrequests.py @@ -696,7 +696,7 @@ class PullrequestsController(BaseRepoCon if allowed_to_change_status: status = request.POST.get('changeset_status') close_pr = request.POST.get('save_close') - text = request.POST.get('text', '').strip() or _('No comments.') + text = request.POST.get('text', '').strip() if close_pr: text = _('Closing.') + '\n' + text diff --git a/kallithea/model/comment.py b/kallithea/model/comment.py --- a/kallithea/model/comment.py +++ b/kallithea/model/comment.py @@ -182,7 +182,7 @@ class ChangesetCommentsModel(BaseModel): :param closing_pr: (for emails, not for comments) :param send_email: also send email """ - if not text: + if not status_change and not text: log.warning('Missing text for comment, skipping...') return diff --git a/kallithea/public/css/style.css b/kallithea/public/css/style.css --- a/kallithea/public/css/style.css +++ b/kallithea/public/css/style.css @@ -4347,6 +4347,10 @@ div.rst-block pre { font-size: 16px; } +.automatic-comment { + font-style: italic; +} + /** comment form **/ .status-block { diff --git a/kallithea/templates/changeset/changeset_file_comment.html b/kallithea/templates/changeset/changeset_file_comment.html --- a/kallithea/templates/changeset/changeset_file_comment.html +++ b/kallithea/templates/changeset/changeset_file_comment.html @@ -51,7 +51,13 @@ %endif
+ %if co.text: ${h.rst_w_mentions(co.text)|n} + %else: +
+

${_('No comments.')}

+
+ %endif