1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
<% title "Edit User: #{@user.name}" %>
<%
def can_edit?
(@user.is?(current_user) && confirmed?) || (mod? && current_user.role >= @user.role)
end
%>
<%= link_to @user.name, @user %> → Edit
<h1>Edit profile</h1>
<%= form_for @user do |f| %>
<table>
<tbody>
<tr>
<td>Display name</td>
<td>
<%= f.text_field :name, disabled: !can_edit? %>
</td>
</tr>
<% if mod? %>
<tr>
<td>Role</td>
<td>
<% if current_user.role >= @user.role %>
<%= f.select :role, Role.all_to(current_user.role) %>
<% end %>
</td>
</tr>
<tr>
<td>Badge</td>
<td>
<% if current_user.role >= Role.get(:mod) %>
<%= f.select :badge, Badge.all %>
<% end %>
</td>
</tr>
<tr>
<td>Confirmed email address</td>
<td>
<%= f.select :confirmed, [["No", false], ["Yes", true]], {}, { disabled: !can_edit? } %>
</td>
</tr>
<% end %>
<tr>
<td>Skype username</td>
<td>
<%= f.text_field :skype, placeholder: "Skype username", disabled: !can_edit? %>
</td>
</tr>
<tr>
<td>Show Skype to</td>
<td>
<%= f.select :skype_public, [["Staff only", false], ["All users", true]], {}, { disabled: !can_edit? } %>
</td>
</tr>
<tr>
<td>Mastodon</td>
<td style="display:inline;padding:0px">
<% mstdn_array = @user.mastodon.split("@") if @user.mastodon %>
<%= f.text_field :mastodon, value: (mstdn_array[0] if mstdn_array), placeholder: "Mastodon username", disabled: !(@user.is?(current_user) && confirmed? || (mod? && current_user.role >= @user.role)), style: "width:49%;float:left;margin-right:2%" %>
<%= f.text_field :mastodon_instance, value: (mstdn_array[1] if mstdn_array), placeholder: "Mastodon instance", disabled: !(@user.is?(current_user) && confirmed? || (mod? && current_user.role >= @user.role)), style: "width:49%" %>
</td>
</tr>
<tr>
<td>YouTube Channel ID</td>
<td>
<%= f.text_field :youtube, placeholder: "YouTube Channel ID", disabled: !can_edit? %>
</td>
</tr>
<tr>
<td>Twitter username</td>
<td>
<%= f.text_field :twitter, placeholder: "Twitter username", disabled: !(@user.is?(current_user) && confirmed? || (mod? && current_user.role >= @user.role)) %>
</td>
</tr>
<tr>
<td>About you</td>
<td>
<%= render partial: "md_editor", locals: {name: "user[about]", content: @user.about, options: {disabled: !can_edit?, placeholder: "Tell us something about you ..."}} %>
</td>
</tr>
</tbody>
</table>
<p><%= f.submit "Save profile", class: "btn variable-size left", disabled: (!@user.confirmed? && @user.is?(current_user)) %></p>
<p>
<%= link_to "Edit login details", edit_login_user_path(@user), class: "btn variable-size right" %>
<%= link_to "Notification settings", edit_notifications_user_path(@user), class: "btn variable-size right" %>
<%= link_to "Website settings", edit_website_settings_user_path(@user), class: "btn variable-size right" %>
</p>
<div class="clear"></div>
<% if !@user.confirmed? %>
<% if @user.is?(current_user) %>
<span class='red-alert'>Please confirm your email address first!</span>
<% else %>
<span class='red-alert'>This user has not confirmed his email!</span>
<% end %>
<% end %>
<% end %>
|