summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/project.js.coffee5
-rw-r--r--app/assets/stylesheets/base/variables.scss1
-rw-r--r--app/assets/stylesheets/pages/issuable.scss6
-rw-r--r--app/assets/stylesheets/pages/issues.scss13
-rw-r--r--app/assets/stylesheets/pages/tree.scss3
-rw-r--r--app/controllers/projects/issues_controller.rb2
-rw-r--r--app/controllers/projects/services_controller.rb7
-rw-r--r--app/controllers/sessions_controller.rb39
-rw-r--r--app/models/note.rb4
-rw-r--r--app/models/project_services/flowdock_service.rb2
-rw-r--r--app/models/project_services/hipchat_service.rb10
-rw-r--r--app/models/repository.rb11
-rw-r--r--app/models/service.rb8
-rw-r--r--app/views/admin/users/index.html.haml1
-rw-r--r--app/views/projects/_home_panel.html.haml5
-rw-r--r--app/views/projects/branches/_branch.html.haml5
-rw-r--r--app/views/projects/merge_requests/_show.html.haml18
-rw-r--r--app/views/projects/merge_requests/widget/open/_accept.html.haml1
18 files changed, 97 insertions, 44 deletions
diff --git a/app/assets/javascripts/project.js.coffee b/app/assets/javascripts/project.js.coffee
index 87c1b67a772..39a433dfc91 100644
--- a/app/assets/javascripts/project.js.coffee
+++ b/app/assets/javascripts/project.js.coffee
@@ -24,8 +24,3 @@ class @Project
$.cookie('hide_no_password_message', 'false', { path: path })
$(@).parents('.no-password-message').remove()
e.preventDefault()
-
- $('.js-toggle-clone-holder').on 'click', (e) ->
- cloneHolder.toggle()
-
- cloneHolder.hide() unless $('.empty-project').length
diff --git a/app/assets/stylesheets/base/variables.scss b/app/assets/stylesheets/base/variables.scss
index 08f153dfbc9..cb439a0e0bf 100644
--- a/app/assets/stylesheets/base/variables.scss
+++ b/app/assets/stylesheets/base/variables.scss
@@ -13,6 +13,7 @@ $code_line_height: 1.5;
$border-color: #E5E5E5;
$background-color: #f5f5f5;
$header-height: 50px;
+$readable-width: 1100px;
/*
diff --git a/app/assets/stylesheets/pages/issuable.scss b/app/assets/stylesheets/pages/issuable.scss
index 586e7b5f8da..3f617e72b02 100644
--- a/app/assets/stylesheets/pages/issuable.scss
+++ b/app/assets/stylesheets/pages/issuable.scss
@@ -45,3 +45,9 @@
.btn { font-size: 13px; }
}
+
+.issuable-details {
+ .description {
+ max-width: $readable-width;
+ }
+}
diff --git a/app/assets/stylesheets/pages/issues.scss b/app/assets/stylesheets/pages/issues.scss
index 3572f33e91f..b628f99f22c 100644
--- a/app/assets/stylesheets/pages/issues.scss
+++ b/app/assets/stylesheets/pages/issues.scss
@@ -4,14 +4,25 @@
position: relative;
.issue-title {
- margin-bottom: 5px;
font-size: $list-font-size;
+ margin-bottom: 5px;
font-weight: bold;
+ float: left;
+ width: 97.7%;
+ }
+
+ @media screen and (max-width: 1100px) {
+ .issues-list .issue .issue-title {
+ width: 97%;
+ }
}
.issue-info {
color: #999;
font-size: 13px;
+ display: inline-block;
+ width: 100%;
+ padding: 0 0 0 20px;
}
.issue-check {
diff --git a/app/assets/stylesheets/pages/tree.scss b/app/assets/stylesheets/pages/tree.scss
index 092918e4de1..5f1a3db4fb6 100644
--- a/app/assets/stylesheets/pages/tree.scss
+++ b/app/assets/stylesheets/pages/tree.scss
@@ -116,6 +116,9 @@
}
.readme-holder {
+ margin: 0 auto;
+ max-width: $readable-width;
+
.readme-file-title {
font-size: 14px;
font-weight: bold;
diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb
index bfafdeeb1fb..0f89f2e88cc 100644
--- a/app/controllers/projects/issues_controller.rb
+++ b/app/controllers/projects/issues_controller.rb
@@ -131,7 +131,7 @@ class Projects::IssuesController < Projects::ApplicationController
end
def module_enabled
- return render_404 unless @project.issues_enabled
+ return render_404 unless @project.issues_enabled && @project.default_issues_tracker?
end
# Since iids are implemented only in 6.1
diff --git a/app/controllers/projects/services_controller.rb b/app/controllers/projects/services_controller.rb
index 1e435be8275..01105532479 100644
--- a/app/controllers/projects/services_controller.rb
+++ b/app/controllers/projects/services_controller.rb
@@ -39,10 +39,13 @@ class Projects::ServicesController < Projects::ApplicationController
def test
data = Gitlab::PushDataBuilder.build_sample(project, current_user)
- if @service.execute(data)
+ outcome = @service.test(data)
+ if outcome[:success]
message = { notice: 'We sent a request to the provided URL' }
else
- message = { alert: 'We tried to send a request to the provided URL but an error occured' }
+ error_message = "We tried to send a request to the provided URL but an error occurred"
+ error_message << ": #{outcome[:result]}" if outcome[:result].present?
+ message = { alert: error_message }
end
redirect_to :back, message
diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb
index 796cbe4c58c..8389f07a3bd 100644
--- a/app/controllers/sessions_controller.rb
+++ b/app/controllers/sessions_controller.rb
@@ -2,27 +2,10 @@ class SessionsController < Devise::SessionsController
include AuthenticatesWithTwoFactor
prepend_before_action :authenticate_with_two_factor, only: [:create]
+ prepend_before_action :store_redirect_path, only: [:new]
before_action :auto_sign_in_with_provider, only: [:new]
def new
- redirect_path =
- if request.referer.present? && (params['redirect_to_referer'] == 'yes')
- referer_uri = URI(request.referer)
- if referer_uri.host == Gitlab.config.gitlab.host
- referer_uri.path
- else
- request.fullpath
- end
- else
- request.fullpath
- end
-
- # Prevent a 'you are already signed in' message directly after signing:
- # we should never redirect to '/users/sign_in' after signing in successfully.
- unless redirect_path == new_user_session_path
- store_location_for(:redirect, redirect_path)
- end
-
if Gitlab.config.ldap.enabled
@ldap_servers = Gitlab::LDAP::Config.servers
end
@@ -55,6 +38,26 @@ class SessionsController < Devise::SessionsController
User.find(session[:otp_user_id])
end
end
+
+ def store_redirect_path
+ redirect_path =
+ if request.referer.present? && (params['redirect_to_referer'] == 'yes')
+ referer_uri = URI(request.referer)
+ if referer_uri.host == Gitlab.config.gitlab.host
+ referer_uri.path
+ else
+ request.fullpath
+ end
+ else
+ request.fullpath
+ end
+
+ # Prevent a 'you are already signed in' message directly after signing:
+ # we should never redirect to '/users/sign_in' after signing in successfully.
+ unless redirect_path == new_user_session_path
+ store_location_for(:redirect, redirect_path)
+ end
+ end
def authenticate_with_two_factor
user = self.resource = find_user
diff --git a/app/models/note.rb b/app/models/note.rb
index a99d428b02d..913a8c00337 100644
--- a/app/models/note.rb
+++ b/app/models/note.rb
@@ -360,6 +360,10 @@ class Note < ActiveRecord::Base
create_new_cross_references!(project, author)
end
+ def system?
+ read_attribute(:system)
+ end
+
def editable?
!read_attribute(:system)
end
diff --git a/app/models/project_services/flowdock_service.rb b/app/models/project_services/flowdock_service.rb
index bf801ba61ad..27fc19379f1 100644
--- a/app/models/project_services/flowdock_service.rb
+++ b/app/models/project_services/flowdock_service.rb
@@ -38,7 +38,7 @@ class FlowdockService < Service
def fields
[
- { type: 'text', name: 'token', placeholder: '' }
+ { type: 'text', name: 'token', placeholder: 'Flowdock Git source token' }
]
end
diff --git a/app/models/project_services/hipchat_service.rb b/app/models/project_services/hipchat_service.rb
index 6761f00183e..7a15a861abc 100644
--- a/app/models/project_services/hipchat_service.rb
+++ b/app/models/project_services/hipchat_service.rb
@@ -60,6 +60,16 @@ class HipchatService < Service
gate[room].send('GitLab', message, message_options)
end
+ def test(data)
+ begin
+ result = execute(data)
+ rescue StandardError => error
+ return { success: false, result: error }
+ end
+
+ { success: true, result: result }
+ end
+
private
def gate
diff --git a/app/models/repository.rb b/app/models/repository.rb
index ea298d88f27..c1fa0dc9fc3 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -452,6 +452,17 @@ class Repository
end
end
+ def merged_to_root_ref?(branch_name)
+ branch_commit = commit(branch_name)
+ root_ref_commit = commit(root_ref)
+
+ if branch_commit
+ rugged.merge_base(root_ref_commit.id, branch_commit.id) == branch_commit.id
+ else
+ nil
+ end
+ end
+
def search_files(query, ref)
offset = 2
args = %W(git grep -i -n --before-context #{offset} --after-context #{offset} #{query} #{ref || root_ref})
diff --git a/app/models/service.rb b/app/models/service.rb
index 818a6808db5..dcef2866c3b 100644
--- a/app/models/service.rb
+++ b/app/models/service.rb
@@ -87,10 +87,16 @@ class Service < ActiveRecord::Base
%w(push tag_push issue merge_request)
end
- def execute
+ def execute(data)
# implement inside child
end
+ def test(data)
+ # default implementation
+ result = execute(data)
+ { success: result.present?, result: result }
+ end
+
def can_test?
!project.empty_repo?
end
diff --git a/app/views/admin/users/index.html.haml b/app/views/admin/users/index.html.haml
index b0d31170704..5e40d95d1c5 100644
--- a/app/views/admin/users/index.html.haml
+++ b/app/views/admin/users/index.html.haml
@@ -33,6 +33,7 @@
= form_tag admin_users_path, method: :get, class: 'form-inline' do
.form-group
= search_field_tag :name, params[:name], placeholder: 'Name, email or username', class: 'form-control'
+ = hidden_field_tag "filter", params[:filter]
= button_tag class: 'btn btn-primary' do
%i.fa.fa-search
%hr
diff --git a/app/views/projects/_home_panel.html.haml b/app/views/projects/_home_panel.html.haml
index 71e92970305..bec40ec27a5 100644
--- a/app/views/projects/_home_panel.html.haml
+++ b/app/views/projects/_home_panel.html.haml
@@ -21,11 +21,6 @@
= forked_from_project.namespace.try(:name)
- if can? current_user, :download_code, @project
- = link_to "#", class: 'btn js-toggle-clone-holder' do
- = icon('cloud-download fw')
- Clone
-
- - if can? current_user, :download_code, @project
= link_to archive_namespace_project_repository_path(@project.namespace, @project, ref: @ref, format: 'zip'), class: 'btn', rel: 'nofollow' do
= icon('download fw')
Download
diff --git a/app/views/projects/branches/_branch.html.haml b/app/views/projects/branches/_branch.html.haml
index 43412624da6..a693c4b282f 100644
--- a/app/views/projects/branches/_branch.html.haml
+++ b/app/views/projects/branches/_branch.html.haml
@@ -5,6 +5,11 @@
%strong.str-truncated= branch.name
- if branch.name == @repository.root_ref
%span.label.label-info default
+ - elsif @repository.merged_to_root_ref? branch.name
+ %span.label.label-primary.has_tooltip(title="Merged into #{@repository.root_ref}")
+ %i.fa.fa-check
+ merged
+
- if @project.protected_branch? branch.name
%span.label.label-success
%i.fa.fa-lock
diff --git a/app/views/projects/merge_requests/_show.html.haml b/app/views/projects/merge_requests/_show.html.haml
index cd53856c4a6..007f6c6a787 100644
--- a/app/views/projects/merge_requests/_show.html.haml
+++ b/app/views/projects/merge_requests/_show.html.haml
@@ -22,19 +22,19 @@
%li= link_to "Email Patches", merge_request_path(@merge_request, format: :patch)
%li= link_to "Plain Diff", merge_request_path(@merge_request, format: :diff)
.light
- %div
- %span Request to merge
- %span.label-branch #{source_branch_with_namespace(@merge_request)}
- %span into
- %span.label-branch #{@merge_request.target_branch}
- - if @merge_request.open? && !@merge_request.branch_missing?
- %div
- If you want to try or merge this request manually, you can use the
- = link_to "command line", "#modal_merge_info", class: "how_to_merge_link vlink", title: "How To Merge", "data-toggle" => "modal"
+ %span Request to merge
+ %span.label-branch #{source_branch_with_namespace(@merge_request)}
+ %span into
+ %span.label-branch #{@merge_request.target_branch}
= render "projects/merge_requests/show/how_to_merge"
= render "projects/merge_requests/widget/show.html.haml"
+ - if @merge_request.open? && @merge_request.can_be_merged?
+ .light
+ You can also accept this merge request manually using the
+ = link_to "command line", "#modal_merge_info", class: "how_to_merge_link vlink", title: "How To Merge", "data-toggle" => "modal"
+
- if @commits.present?
%ul.nav.nav-tabs.merge-request-tabs
%li.notes-tab
diff --git a/app/views/projects/merge_requests/widget/open/_accept.html.haml b/app/views/projects/merge_requests/widget/open/_accept.html.haml
index e1525f6aeb7..b61e193fc42 100644
--- a/app/views/projects/merge_requests/widget/open/_accept.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_accept.html.haml
@@ -23,4 +23,3 @@
btn = $('.accept_merge_request')
btn.disable()
btn.html("<i class='fa fa-spinner fa-spin'></i> Merge in progress")
-