summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/project_users_select.js.coffee7
-rw-r--r--app/assets/stylesheets/pages/diff.scss10
-rw-r--r--app/assets/stylesheets/themes/ui_blue.scss2
-rw-r--r--app/helpers/issues_helper.rb13
-rw-r--r--app/mailers/emails/projects.rb10
-rw-r--r--app/models/concerns/taskable.rb2
-rw-r--r--app/models/merge_request.rb9
-rw-r--r--app/models/note.rb1
-rw-r--r--app/models/user.rb1
-rw-r--r--app/services/issues/bulk_update_service.rb6
-rw-r--r--app/services/issues/update_service.rb3
-rw-r--r--app/services/merge_requests/refresh_service.rb12
-rw-r--r--app/services/merge_requests/update_service.rb3
-rw-r--r--app/views/admin/broadcast_messages/index.html.haml6
-rw-r--r--app/views/projects/commits/_commit.html.haml2
-rw-r--r--app/views/projects/diffs/_file.html.haml13
-rw-r--r--app/views/projects/issues/_issue.html.haml5
-rw-r--r--app/views/projects/labels/_form.html.haml4
-rw-r--r--app/views/projects/merge_requests/_merge_request.html.haml5
-rw-r--r--app/views/projects/merge_requests/_show.html.haml2
-rw-r--r--app/views/projects/notes/discussions/_diff.html.haml14
21 files changed, 66 insertions, 64 deletions
diff --git a/app/assets/javascripts/project_users_select.js.coffee b/app/assets/javascripts/project_users_select.js.coffee
index e22c7c11f1c..80ab1a61ab9 100644
--- a/app/assets/javascripts/project_users_select.js.coffee
+++ b/app/assets/javascripts/project_users_select.js.coffee
@@ -25,7 +25,7 @@ class @ProjectUsersSelect
initSelection: (element, callback) ->
id = $(element).val()
- if id isnt ""
+ if id != "" && id != "-1"
Api.user(id, callback)
@@ -44,10 +44,7 @@ class @ProjectUsersSelect
else
avatar = gon.default_avatar_url
- if user.id == ''
- avatarMarkup = ''
- else
- avatarMarkup = "<div class='user-image'><img class='avatar s24' src='#{avatar}'></div>"
+ avatarMarkup = "<div class='user-image'><img class='avatar s24' src='#{avatar}'></div>"
"<div class='user-result'>
#{avatarMarkup}
diff --git a/app/assets/stylesheets/pages/diff.scss b/app/assets/stylesheets/pages/diff.scss
index 7b7bb88bc20..af6ea58382f 100644
--- a/app/assets/stylesheets/pages/diff.scss
+++ b/app/assets/stylesheets/pages/diff.scss
@@ -15,6 +15,11 @@
word-break: break-all;
margin-right: 200px;
display: block;
+
+ .file-mode {
+ margin-left: 10px;
+ color: #777;
+ }
}
.diff-btn-group {
@@ -34,11 +39,6 @@
font-family: $monospace_font;
font-size: smaller;
}
-
- .file-mode {
- font-family: $monospace_font;
- margin-left: 10px;
- }
}
.diff-content {
overflow: auto;
diff --git a/app/assets/stylesheets/themes/ui_blue.scss b/app/assets/stylesheets/themes/ui_blue.scss
index cb7980b5a07..e223058be8b 100644
--- a/app/assets/stylesheets/themes/ui_blue.scss
+++ b/app/assets/stylesheets/themes/ui_blue.scss
@@ -1,5 +1,5 @@
/**
- * Modern GitLab UI theme
+ * Blue GitLab UI theme
*/
.ui_blue {
@include dark-theme(#BECDE9, #2980b9, #1970a9, #096099);
diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb
index 15c5dcb6a25..a4bd4d30215 100644
--- a/app/helpers/issues_helper.rb
+++ b/app/helpers/issues_helper.rb
@@ -58,22 +58,11 @@ module IssuesHelper
end
def bulk_update_milestone_options
- options_for_select(['None (backlog)']) +
+ options_for_select([['None (backlog)', -1]]) +
options_from_collection_for_select(project_active_milestones, 'id',
'title', params[:milestone_id])
end
- def bulk_update_assignee_options(project = @project)
- options_for_select(['None (unassigned)']) +
- options_from_collection_for_select(project.team.members, 'id',
- 'name', params[:assignee_id])
- end
-
- def assignee_options(object, project = @project)
- options_from_collection_for_select(project.team.members.sort_by(&:name),
- 'id', 'name', object.assignee_id)
- end
-
def milestone_options(object)
options_from_collection_for_select(object.project.milestones.active,
'id', 'title', object.milestone_id)
diff --git a/app/mailers/emails/projects.rb b/app/mailers/emails/projects.rb
index 48458baa674..3cd812825e2 100644
--- a/app/mailers/emails/projects.rb
+++ b/app/mailers/emails/projects.rb
@@ -16,13 +16,17 @@ module Emails
subject: subject("Project was moved"))
end
- def repository_push_email(project_id, recipient, author_id:,
- ref:,
- action:,
+ def repository_push_email(project_id, recipient, author_id: nil,
+ ref: nil,
+ action: nil,
compare: nil,
reverse_compare: false,
send_from_committer_email: false,
disable_diffs: false)
+ unless author_id && ref && action
+ raise ArgumentError, "missing keywords: author_id, ref, action"
+ end
+
@project = Project.find(project_id)
@author = User.find(author_id)
@reverse_compare = reverse_compare
diff --git a/app/models/concerns/taskable.rb b/app/models/concerns/taskable.rb
index 410e8dc820b..bbb3b301a9f 100644
--- a/app/models/concerns/taskable.rb
+++ b/app/models/concerns/taskable.rb
@@ -5,7 +5,7 @@
# Used by MergeRequest and Issue
module Taskable
TASK_PATTERN_MD = /^(?<bullet> *[*-] *)\[(?<checked>[ xX])\]/.freeze
- TASK_PATTERN_HTML = /^<li>\[(?<checked>[ xX])\]/.freeze
+ TASK_PATTERN_HTML = /^<li>(?<p_tag>\s*<p>)?\[(?<checked>[ xX])\]/.freeze
# Change the state of a task list item for this Taskable. Edit the object's
# description by finding the nth task item and changing its checkbox
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 798306f6dcc..5634f9a686e 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -105,6 +105,15 @@ class MergeRequest < ActiveRecord::Base
state :unchecked
state :can_be_merged
state :cannot_be_merged
+
+ around_transition do |merge_request, transition, block|
+ merge_request.record_timestamps = false
+ begin
+ block.call
+ ensure
+ merge_request.record_timestamps = true
+ end
+ end
end
validates :source_project, presence: true, unless: :allow_broken
diff --git a/app/models/note.rb b/app/models/note.rb
index 27b583a869a..e86160e7cd9 100644
--- a/app/models/note.rb
+++ b/app/models/note.rb
@@ -48,6 +48,7 @@ class Note < ActiveRecord::Base
scope :inline, ->{ where("line_code IS NOT NULL") }
scope :not_inline, ->{ where(line_code: [nil, '']) }
scope :system, ->{ where(system: true) }
+ scope :user, ->{ where(system: false) }
scope :common, ->{ where(noteable_type: ["", nil]) }
scope :fresh, ->{ order(created_at: :asc, id: :asc) }
scope :inc_author_project, ->{ includes(:project, :author) }
diff --git a/app/models/user.rb b/app/models/user.rb
index 50f664a09a3..979150b4d68 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -110,6 +110,7 @@ class User < ActiveRecord::Base
has_many :notes, dependent: :destroy, foreign_key: :author_id
has_many :merge_requests, dependent: :destroy, foreign_key: :author_id
has_many :events, dependent: :destroy, foreign_key: :author_id, class_name: "Event"
+ has_many :subscriptions, dependent: :destroy
has_many :recent_events, -> { order "id DESC" }, foreign_key: :author_id, class_name: "Event"
has_many :assigned_issues, dependent: :destroy, foreign_key: :assignee_id, class_name: "Issue"
has_many :assigned_merge_requests, dependent: :destroy, foreign_key: :assignee_id, class_name: "MergeRequest"
diff --git a/app/services/issues/bulk_update_service.rb b/app/services/issues/bulk_update_service.rb
index c7cd20b6b60..eb07413ee94 100644
--- a/app/services/issues/bulk_update_service.rb
+++ b/app/services/issues/bulk_update_service.rb
@@ -4,9 +4,9 @@ module Issues
issues_ids = params.delete(:issues_ids).split(",")
issue_params = params
- issue_params.delete(:state_event) unless issue_params[:state_event].present?
- issue_params.delete(:milestone_id) unless issue_params[:milestone_id].present?
- issue_params.delete(:assignee_id) unless issue_params[:assignee_id].present?
+ issue_params.delete(:state_event) unless issue_params[:state_event].present?
+ issue_params.delete(:milestone_id) unless issue_params[:milestone_id].present?
+ issue_params.delete(:assignee_id) unless issue_params[:assignee_id].present?
issues = Issue.where(id: issues_ids)
issues.each do |issue|
diff --git a/app/services/issues/update_service.rb b/app/services/issues/update_service.rb
index c61d67a7893..3371fe7d5ef 100644
--- a/app/services/issues/update_service.rb
+++ b/app/services/issues/update_service.rb
@@ -14,6 +14,9 @@ module Issues
issue.update_nth_task(params[:task_num].to_i, false)
end
+ params[:assignee_id] = "" if params[:assignee_id] == "-1"
+ params[:milestone_id] = "" if params[:milestone_id] == "-1"
+
old_labels = issue.labels.to_a
if params.present? && issue.update_attributes(params.except(:state_event,
diff --git a/app/services/merge_requests/refresh_service.rb b/app/services/merge_requests/refresh_service.rb
index 7eef2c2d6a5..e9b526d1fb7 100644
--- a/app/services/merge_requests/refresh_service.rb
+++ b/app/services/merge_requests/refresh_service.rb
@@ -53,7 +53,7 @@ module MergeRequests
if merge_request.source_branch == @branch_name || force_push?
merge_request.reload_code
- update_merge_request(merge_request)
+ merge_request.mark_as_unchecked
else
mr_commit_ids = merge_request.commits.map(&:id)
push_commit_ids = @commits.map(&:id)
@@ -61,20 +61,14 @@ module MergeRequests
if matches.any?
merge_request.reload_code
- update_merge_request(merge_request)
+ merge_request.mark_as_unchecked
else
- update_merge_request(merge_request)
+ merge_request.mark_as_unchecked
end
end
end
end
- def update_merge_request(merge_request)
- MergeRequests::UpdateService.new(
- merge_request.target_project,
- @current_user, merge_status: 'unchecked').execute(merge_request)
- end
-
# Add comment about pushing new commits to merge requests
def comment_mr_with_commits
merge_requests = @project.origin_merge_requests.opened.where(source_branch: @branch_name).to_a
diff --git a/app/services/merge_requests/update_service.rb b/app/services/merge_requests/update_service.rb
index 870b50bb60d..0ac6dfea6fd 100644
--- a/app/services/merge_requests/update_service.rb
+++ b/app/services/merge_requests/update_service.rb
@@ -23,6 +23,9 @@ module MergeRequests
merge_request.update_nth_task(params[:task_num].to_i, false)
end
+ params[:assignee_id] = "" if params[:assignee_id] == "-1"
+ params[:milestone_id] = "" if params[:milestone_id] == "-1"
+
old_labels = merge_request.labels.to_a
if params.present? && merge_request.update_attributes(
diff --git a/app/views/admin/broadcast_messages/index.html.haml b/app/views/admin/broadcast_messages/index.html.haml
index c0afaf16d8f..7e29311bf42 100644
--- a/app/views/admin/broadcast_messages/index.html.haml
+++ b/app/views/admin/broadcast_messages/index.html.haml
@@ -21,13 +21,11 @@
.form-group.js-toggle-colors-container.hide
= f.label :color, "Background Color", class: 'control-label'
.col-sm-10
- = f.text_field :color, placeholder: "#AA33EE", class: "form-control"
- .light 6 character hex values starting with a # sign.
+ = f.color_field :color, value: "#AA33EE", class: "form-control"
.form-group.js-toggle-colors-container.hide
= f.label :font, "Font Color", class: 'control-label'
.col-sm-10
- = f.text_field :font, placeholder: "#224466", class: "form-control"
- .light 6 character hex values starting with a # sign.
+ = f.color_field :font, value: "#224466", class: "form-control"
.form-group
= f.label :starts_at, class: 'control-label'
.col-sm-10.datetime-controls
diff --git a/app/views/projects/commits/_commit.html.haml b/app/views/projects/commits/_commit.html.haml
index 4c853f577e9..c6026f96804 100644
--- a/app/views/projects/commits/_commit.html.haml
+++ b/app/views/projects/commits/_commit.html.haml
@@ -13,7 +13,7 @@
- note_count = @note_counts.fetch(commit.id, 0)
- else
- notes = project.notes.for_commit_id(commit.id)
- - note_count = notes.count
+ - note_count = notes.user.count
- if note_count > 0
%span.light
diff --git a/app/views/projects/diffs/_file.html.haml b/app/views/projects/diffs/_file.html.haml
index 860ab096341..672a6635321 100644
--- a/app/views/projects/diffs/_file.html.haml
+++ b/app/views/projects/diffs/_file.html.haml
@@ -13,12 +13,13 @@
- submodule_item = project.repository.blob_at(@commit.id, diff_file.file_path)
= submodule_link(submodule_item, @commit.id)
- else
- - if diff_file.renamed_file
- %span= "#{diff_file.old_path} renamed to #{diff_file.new_path}"
- - else
- %span= diff_file.new_path
- - if diff_file.mode_changed?
- %span.file-mode= "#{diff_file.diff.a_mode} → #{diff_file.diff.b_mode}"
+ %span
+ - if diff_file.renamed_file
+ = "#{diff_file.old_path} renamed to #{diff_file.new_path}"
+ - else
+ = diff_file.new_path
+ - if diff_file.mode_changed?
+ %span.file-mode= "#{diff_file.diff.a_mode} → #{diff_file.diff.b_mode}"
.diff-btn-group
- if blob.text?
diff --git a/app/views/projects/issues/_issue.html.haml b/app/views/projects/issues/_issue.html.haml
index 7b06fe72882..998e74d12cf 100644
--- a/app/views/projects/issues/_issue.html.haml
+++ b/app/views/projects/issues/_issue.html.haml
@@ -10,11 +10,12 @@
- if issue.closed?
%span
CLOSED
- - if issue.notes.any?
+ - note_count = issue.notes.user.count
+ - if note_count > 0
&nbsp;
%span
%i.fa.fa-comments
- = issue.notes.count
+ = note_count
.issue-info
= link_to "##{issue.iid}", issue_path(issue), class: "light"
diff --git a/app/views/projects/labels/_form.html.haml b/app/views/projects/labels/_form.html.haml
index 2305fce112e..ad993db6c0b 100644
--- a/app/views/projects/labels/_form.html.haml
+++ b/app/views/projects/labels/_form.html.haml
@@ -16,9 +16,9 @@
.col-sm-10
.input-group
.input-group-addon.label-color-preview &nbsp;
- = f.color_field :color, placeholder: "#AA33EE", class: "form-control"
+ = f.color_field :color, value: "#AA33EE", class: "form-control"
.help-block
- 6 character hex values starting with a # sign.
+ Choose any color.
%br
Or you can choose one of suggested colors below
diff --git a/app/views/projects/merge_requests/_merge_request.html.haml b/app/views/projects/merge_requests/_merge_request.html.haml
index ecbff722b42..4f30d1e69f7 100644
--- a/app/views/projects/merge_requests/_merge_request.html.haml
+++ b/app/views/projects/merge_requests/_merge_request.html.haml
@@ -16,11 +16,12 @@
%span.label-branch<
%i.fa.fa-code-fork
%span= merge_request.target_branch
- - if merge_request.notes.any?
+ - note_count = merge_request.mr_and_commit_notes.user.count
+ - if note_count > 0
&nbsp;
%span
%i.fa.fa-comments
- = merge_request.mr_and_commit_notes.count
+ = note_count
.merge-request-info
= link_to "##{merge_request.iid}", merge_request_path(merge_request), class: "light"
- if merge_request.assignee
diff --git a/app/views/projects/merge_requests/_show.html.haml b/app/views/projects/merge_requests/_show.html.haml
index ca4ceecb225..a74aede4e6b 100644
--- a/app/views/projects/merge_requests/_show.html.haml
+++ b/app/views/projects/merge_requests/_show.html.haml
@@ -40,7 +40,7 @@
= link_to merge_request_path(@merge_request) do
%i.fa.fa-comments
Discussion
- %span.badge= @merge_request.mr_and_commit_notes.count
+ %span.badge= @merge_request.mr_and_commit_notes.user.count
%li.commits-tab{data: {action: 'commits'}}
= link_to merge_request_path(@merge_request), title: 'Commits' do
%i.fa.fa-history
diff --git a/app/views/projects/notes/discussions/_diff.html.haml b/app/views/projects/notes/discussions/_diff.html.haml
index f717c77a898..711aa39101b 100644
--- a/app/views/projects/notes/discussions/_diff.html.haml
+++ b/app/views/projects/notes/discussions/_diff.html.haml
@@ -2,13 +2,13 @@
- if diff
.diff-file
.diff-header
- - if diff.deleted_file
- %span= diff.old_path
- - else
- %span= diff.new_path
- - if diff.a_mode && diff.b_mode && diff.a_mode != diff.b_mode
- %span.file-mode= "#{diff.a_mode} → #{diff.b_mode}"
- %br/
+ %span
+ - if diff.deleted_file
+ = diff.old_path
+ - else
+ = diff.new_path
+ - if diff.a_mode && diff.b_mode && diff.a_mode != diff.b_mode
+ %span.file-mode= "#{diff.a_mode} → #{diff.b_mode}"
.diff-content
%table
- note.truncated_diff_lines.each do |line|