summaryrefslogtreecommitdiff
path: root/app/views/users/edit.html.erb
blob: 24bdba82a088043f6fc877739b668faad8b6e234 (plain)
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 %>