summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/helpers/user_helper.rb11
-rw-r--r--app/models/user.rb2
-rw-r--r--app/views/users/show.html.haml18
3 files changed, 24 insertions, 7 deletions
diff --git a/app/helpers/user_helper.rb b/app/helpers/user_helper.rb
new file mode 100644
index 00000000000..058cff85135
--- /dev/null
+++ b/app/helpers/user_helper.rb
@@ -0,0 +1,11 @@
+module UserHelper
+
+ def abuse_report_button_title(user)
+ if user.abuse_report
+ "#{user.username} has already been reported for abuse."
+ else
+ "Report #{user.username} for abuse."
+ end
+ end
+
+end
diff --git a/app/models/user.rb b/app/models/user.rb
index 3879f3fd381..a3b149ff992 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -97,7 +97,9 @@ class User < ActiveRecord::Base
# Namespace for personal projects
has_one :namespace, -> { where type: nil }, dependent: :destroy, foreign_key: :owner_id, class_name: "Namespace"
+
# Profile
+ has_one :abuse_report, dependent: :destroy
has_many :keys, dependent: :destroy
has_many :emails, dependent: :destroy
has_many :identities, dependent: :destroy, autosave: true
diff --git a/app/views/users/show.html.haml b/app/views/users/show.html.haml
index 37d5dba0330..0661d8d06a2 100644
--- a/app/views/users/show.html.haml
+++ b/app/views/users/show.html.haml
@@ -19,14 +19,18 @@
= icon('user')
Profile settings
- elsif current_user
- .pull-right
+ #report_abuse.pull-right
%span.dropdown
- %a.light.dropdown-toggle.btn.btn-sm{href: '#', "data-toggle" => "dropdown"}
- = icon('exclamation-circle')
- %ul.dropdown-menu.dropdown-menu-right
- %li
- = link_to new_abuse_report_path(user_id: @user.id) do
- Report abuse
+ - if @user.abuse_report
+ %span.light.dropdown-toggle.btn.btn-sm.btn-close{title: abuse_report_button_title(@user)}
+ = icon('exclamation-circle')
+ - else
+ %a.light.dropdown-toggle.btn.btn-sm{href: '#', "data-toggle" => "dropdown"}
+ = icon('exclamation-circle')
+ %ul.dropdown-menu.dropdown-menu-right
+ %li
+ = link_to new_abuse_report_path(user_id: @user.id), title: abuse_report_button_title(@user) do
+ Report abuse
.username
@#{@user.username}