diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/assets/javascripts/project.js.coffee | 5 | ||||
| -rw-r--r-- | app/assets/stylesheets/base/variables.scss | 1 | ||||
| -rw-r--r-- | app/assets/stylesheets/pages/issuable.scss | 6 | ||||
| -rw-r--r-- | app/assets/stylesheets/pages/issues.scss | 13 | ||||
| -rw-r--r-- | app/assets/stylesheets/pages/tree.scss | 3 | ||||
| -rw-r--r-- | app/controllers/projects/issues_controller.rb | 2 | ||||
| -rw-r--r-- | app/controllers/projects/services_controller.rb | 7 | ||||
| -rw-r--r-- | app/controllers/sessions_controller.rb | 39 | ||||
| -rw-r--r-- | app/models/note.rb | 4 | ||||
| -rw-r--r-- | app/models/project_services/flowdock_service.rb | 2 | ||||
| -rw-r--r-- | app/models/project_services/hipchat_service.rb | 10 | ||||
| -rw-r--r-- | app/models/repository.rb | 11 | ||||
| -rw-r--r-- | app/models/service.rb | 8 | ||||
| -rw-r--r-- | app/views/admin/users/index.html.haml | 1 | ||||
| -rw-r--r-- | app/views/projects/_home_panel.html.haml | 5 | ||||
| -rw-r--r-- | app/views/projects/branches/_branch.html.haml | 5 | ||||
| -rw-r--r-- | app/views/projects/merge_requests/_show.html.haml | 18 | ||||
| -rw-r--r-- | app/views/projects/merge_requests/widget/open/_accept.html.haml | 1 |
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") - |
