diff options
author | Grzegorz Bizon <grzegorz.bizon@ntsn.pl> | 2015-12-01 14:45:24 +0100 |
---|---|---|
committer | Grzegorz Bizon <grzegorz.bizon@ntsn.pl> | 2015-12-03 13:38:59 +0100 |
commit | 22d87b74a9de5d603f101699d7a3665db9627037 (patch) | |
tree | 0b1d909dc1fc5eb830386db00286273bd9459fc4 | |
parent | 9cf67f72a581d4648b2b02b53403dd4318e4f1e9 (diff) | |
download | gitlab-ce-22d87b74a9de5d603f101699d7a3665db9627037.tar.gz |
Support award-emoji notes only when it a comment for an issue
-rw-r--r-- | app/services/notes/create_service.rb | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/app/services/notes/create_service.rb b/app/services/notes/create_service.rb index dbff58dfb9c..20a3ba30755 100644 --- a/app/services/notes/create_service.rb +++ b/app/services/notes/create_service.rb @@ -5,9 +5,9 @@ module Notes note.author = current_user note.system = false - if contains_emoji_only?(params[:note]) + if award_emoji_note? note.is_award = true - note.note = emoji_name(params[:note]) + note.note = emoji_name end if note.save @@ -34,12 +34,23 @@ module Notes note.project.execute_services(note_data, :note_hooks) end - def contains_emoji_only?(note) - note =~ /\A:[-_+[:alnum:]]*:\s?\z/ + private + + def award_emoji_note? + # We support award-emojis only in issue discussion + issue_comment? && contains_emoji_only? + end + + def contains_emoji_only? + params[:note] =~ /\A:[-_+[:alnum:]]*:\s?\z/ + end + + def issue_comment? + params[:noteable_type] == 'Issue' end - def emoji_name(note) - note.match(/\A:([-_+[:alnum:]]*):\s?/)[1] + def emoji_name + params[:note].match(/\A:([-_+[:alnum:]]*):\s?/)[1] end end end |