Commit 139fc918 authored by GitLab Bot's avatar GitLab Bot

Merge remote-tracking branch 'upstream/master' into ce-to-ee-2018-09-10

# Conflicts:
#	spec/features/projects/members/invite_group_spec.rb

[ci skip]
parents 03aae652 30227f8e
......@@ -23,7 +23,8 @@ module SystemNoteHelper
'outdated' => 'pencil-square',
'duplicate' => 'issue-duplicate',
'locked' => 'lock',
'unlocked' => 'lock-open'
'unlocked' => 'lock-open',
'due_date' => 'calendar'
}.freeze
def system_note_icon_name(note)
......
......@@ -18,7 +18,7 @@ class SystemNoteMetadata < ActiveRecord::Base
commit description merge confidential visible label assignee cross_reference
title time_tracking branch milestone discussion task moved
opened closed merged duplicate locked unlocked
outdated tag
outdated tag due_date
].freeze
validates :note, presence: true
......
......@@ -18,6 +18,7 @@ module Issuable
create_labels_note(old_labels) if issuable.labels != old_labels
create_discussion_lock_note if issuable.previous_changes.include?('discussion_locked')
create_milestone_note if issuable.previous_changes.include?('milestone_id')
create_due_date_note if issuable.previous_changes.include?('due_date')
end
private
......@@ -91,6 +92,10 @@ module Issuable
SystemNoteService.change_milestone(issuable, issuable.project, current_user, issuable.milestone)
end
def create_due_date_note
SystemNoteService.change_due_date(issuable, issuable.project, current_user, issuable.due_date)
end
def create_discussion_lock_note
SystemNoteService.discussion_lock(issuable, current_user)
end
......
......@@ -120,6 +120,26 @@ module SystemNoteService
create_note(NoteSummary.new(noteable, project, author, body, action: 'milestone'))
end
# Called when the due_date of a Noteable is changed
#
# noteable - Noteable object
# project - Project owning noteable
# author - User performing the change
# due_date - Due date being assigned, or nil
#
# Example Note text:
#
# "removed due date"
#
# "changed due date to September 20, 2018"
#
# Returns the created Note object
def change_due_date(noteable, project, author, due_date)
body = due_date ? "changed due date to #{due_date.to_s(:long)}" : 'removed due date'
create_note(NoteSummary.new(noteable, project, author, body, action: 'due_date'))
end
# Called when the estimated time of a Noteable is changed
#
# noteable - Noteable object
......
---
title: Add system note when due date is changed
merge_request:
author: Eva Kadlecova
type: added
......@@ -30,7 +30,11 @@ describe 'Project > Members > Invite group', :js do
sign_in(maintainer)
end
<<<<<<< HEAD
context 'when the group has "Share group lock" disabled' do
=======
context 'when the group has "Share with group lock" disabled' do
>>>>>>> upstream/master
it_behaves_like 'the project can be shared with groups'
it 'the project can be shared with another group' do
......@@ -48,7 +52,11 @@ describe 'Project > Members > Invite group', :js do
end
end
<<<<<<< HEAD
context 'when the group has "Share group lock" enabled' do
=======
context 'when the group has "Share with group lock" enabled' do
>>>>>>> upstream/master
before do
project.namespace.update_column(:share_with_group_lock, true)
end
......@@ -68,12 +76,21 @@ describe 'Project > Members > Invite group', :js do
sign_in(maintainer)
end
<<<<<<< HEAD
context 'when the root_group has "Share group lock" disabled' do
context 'when the subgroup has "Share group lock" disabled' do
it_behaves_like 'the project can be shared with groups'
end
context 'when the subgroup has "Share group lock" enabled' do
=======
context 'when the root_group has "Share with group lock" disabled' do
context 'when the subgroup has "Share with group lock" disabled' do
it_behaves_like 'the project can be shared with groups'
end
context 'when the subgroup has "Share with group lock" enabled' do
>>>>>>> upstream/master
before do
subgroup.update_column(:share_with_group_lock, true)
end
......@@ -82,16 +99,28 @@ describe 'Project > Members > Invite group', :js do
end
end
<<<<<<< HEAD
context 'when the root_group has "Share group lock" enabled' do
=======
context 'when the root_group has "Share with group lock" enabled' do
>>>>>>> upstream/master
before do
root_group.update_column(:share_with_group_lock, true)
end
<<<<<<< HEAD
context 'when the subgroup has "Share group lock" disabled (parent overridden)' do
it_behaves_like 'the project can be shared with groups'
end
context 'when the subgroup has "Share group lock" enabled' do
=======
context 'when the subgroup has "Share with group lock" disabled (parent overridden)' do
it_behaves_like 'the project can be shared with groups'
end
context 'when the subgroup has "Share with group lock" enabled' do
>>>>>>> upstream/master
before do
subgroup.update_column(:share_with_group_lock, true)
end
......
......@@ -251,6 +251,30 @@ describe SystemNoteService do
end
end
describe '.change_due_date' do
subject { described_class.change_due_date(noteable, project, author, due_date) }
let(:due_date) { Date.today }
it_behaves_like 'a system note' do
let(:action) { 'due_date' }
end
context 'when due date added' do
it 'sets the note text' do
expect(subject.note).to eq "changed due date to #{Date.today.to_s(:long)}"
end
end
context 'when due date removed' do
let(:due_date) { nil }
it 'sets the note text' do
expect(subject.note).to eq 'removed due date'
end
end
end
describe '.change_status' do
subject { described_class.change_status(noteable, project, author, status, source) }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment