summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeger-Jan van de Weg <zegerjan@gitlab.com>2016-03-09 21:24:26 +0100
committerZeger-Jan van de Weg <zegerjan@gitlab.com>2016-03-19 21:23:03 +0100
commit67043ec53b4c35d5a9862fe78bd3f47e412919cd (patch)
tree66f8b4e84d34eb26291ebead4268e9bc4cf20ba3
parent212e83bab3f1f9055f1321c3e934b4f4659250bf (diff)
downloadgitlab-ce-67043ec53b4c35d5a9862fe78bd3f47e412919cd.tar.gz
Hide delete botton on edit page
-rw-r--r--app/models/concerns/internal_id.rb3
-rw-r--r--app/models/user.rb4
-rw-r--r--app/views/projects/issues/show.html.haml4
-rw-r--r--app/views/projects/merge_requests/show/_mr_title.html.haml4
-rw-r--r--app/views/shared/issuable/_form.html.haml4
-rw-r--r--db/schema.rb1
6 files changed, 9 insertions, 11 deletions
diff --git a/app/models/concerns/internal_id.rb b/app/models/concerns/internal_id.rb
index 6fc12202dde..3f7be40ed7b 100644
--- a/app/models/concerns/internal_id.rb
+++ b/app/models/concerns/internal_id.rb
@@ -7,8 +7,7 @@ module InternalId
end
def set_iid
- max_iid = case self.class
- when Issue, MergeRequest
+ max_iid = if self.paranoid?
project.send(self.class.name.tableize).with_deleted.maximum(:iid)
else
project.send(self.class.name.tableize).maximum(:iid)
diff --git a/app/models/user.rb b/app/models/user.rb
index c011af03591..567af921742 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -440,6 +440,10 @@ class User < ActiveRecord::Base
Project.where("projects.id IN (#{projects_union.to_sql})")
end
+ def owner?(project)
+ owned_projects.include?(project)
+ end
+
def owned_projects
@owned_projects ||=
Project.where('namespace_id IN (?) OR namespace_id = ?',
diff --git a/app/views/projects/issues/show.html.haml b/app/views/projects/issues/show.html.haml
index 2f0a91267eb..6fa059cbe68 100644
--- a/app/views/projects/issues/show.html.haml
+++ b/app/views/projects/issues/show.html.haml
@@ -45,10 +45,6 @@
- if can?(current_user, :update_issue, @issue)
= link_to 'Reopen issue', issue_path(@issue, issue: {state_event: :reopen}, status_only: true, format: 'json'), data: {no_turbolink: true}, class: "btn btn-nr btn-grouped btn-reopen #{issue_button_visibility(@issue, false)}", title: 'Reopen issue'
= link_to 'Close issue', issue_path(@issue, issue: {state_event: :close}, status_only: true, format: 'json'), data: {no_turbolink: true}, class: "btn btn-nr btn-grouped btn-close #{issue_button_visibility(@issue, true)}", title: 'Close issue'
- - if current_user.admin?
- = link_to namespace_project_issue_path(@project.namespace, @project, @issue), method: :delete, class: 'btn btn-grouped' do
- = icon('trash-o')
- Delete
= link_to edit_namespace_project_issue_path(@project.namespace, @project, @issue), class: 'btn btn-nr btn-grouped issuable-edit' do
= icon('pencil-square-o')
Edit
diff --git a/app/views/projects/merge_requests/show/_mr_title.html.haml b/app/views/projects/merge_requests/show/_mr_title.html.haml
index 3a7208cb3e8..fb05c21648d 100644
--- a/app/views/projects/merge_requests/show/_mr_title.html.haml
+++ b/app/views/projects/merge_requests/show/_mr_title.html.haml
@@ -33,7 +33,3 @@
Edit
- if @merge_request.closed?
= link_to 'Reopen', merge_request_path(@merge_request, merge_request: {state_event: :reopen }), method: :put, class: 'btn btn-nr btn-grouped btn-reopen reopen-mr-link', title: 'Reopen merge request'
- - if current_user.admin?
- = link_to namespace_project_merge_request_path(@project.namespace, @project, @merge_request), method: :delete, class: 'btn btn-grouped' do
- = icon('trash-o')
- Delete
diff --git a/app/views/shared/issuable/_form.html.haml b/app/views/shared/issuable/_form.html.haml
index 80418e69d9c..6030abe390e 100644
--- a/app/views/shared/issuable/_form.html.haml
+++ b/app/views/shared/issuable/_form.html.haml
@@ -106,6 +106,10 @@
= f.submit "Submit #{issuable.class.model_name.human.downcase}", class: 'btn btn-create'
- else
= f.submit 'Save changes', class: 'btn btn-save'
+ - if current_user.admin? || current_user.owner?(@project)
+ = link_to namespace_project_issue_path(@project.namespace, @project, issuable), method: :delete, class: 'btn' do
+ = icon('trash-o')
+ Delete
- if !issuable.persisted? && !issuable.project.empty_repo? && (guide_url = contribution_guide_path(issuable.project))
.inline.prepend-left-10
diff --git a/db/schema.rb b/db/schema.rb
index a4a17770cd6..1aa9d435153 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -948,7 +948,6 @@ ActiveRecord::Schema.define(version: 20160316204731) do
t.string "unlock_token"
t.datetime "otp_grace_period_started_at"
t.boolean "ldap_email", default: false, null: false
- t.boolean "external", default: false
end
add_index "users", ["admin"], name: "index_users_on_admin", using: :btree