3296: use update method and remove unnecessary update_profile method
[arvados.git] / apps / workbench / app / views / users / profile.html.erb
1 <%
2     profile_config = Rails.configuration.user_profile_form_fields
3     this_user = User.limit(1).where(uuid: current_user.uuid).first
4     user_prefs = User.limit(1).where(uuid: current_user.uuid).first.prefs
5     current_user_profile = user_prefs[:profile] if user_prefs
6     show_save_button = false
7 %>
8
9 <div>
10     <div class="panel panel-default">
11         <div class="panel-heading">
12           <h4 class="panel-title">
13             Profile
14           </h4>
15         </div>
16         <div class="panel-body">
17           <div>
18             <% profile_message = 'You can manage your profile using this page. Any feilds in red are required and missing.
19                   Please fill in those fields before you can accesse Arvados Workbench.'
20                   profile_config.kind_of?(Array) && profile_config.andand.each do |entry| 
21                   if entry['message']
22                     profile_message = entry['message']
23                     break
24                   end
25                 end %>
26             <p> <%=profile_message%> </p><br/>
27           </div>
28           <div>
29             <%= form_tag "/users/#{current_user.uuid}", {method: 'patch', id: 'save_profile_form', name: 'save_profile_form', class: 'form-horizontal'} do %>
30               <%= hidden_field_tag :return_to, request.url %>
31               <div class="form-group">
32                   <label for="email" class="col-sm-3 control-label"> Email </label>
33                   <div class="col-sm-9">
34                     <p class="form-control-static" id="email" name="email"><%=current_user.email%></p>
35                   </div>
36               </div>
37               <div class="form-group">
38                   <label for="first_name" class="col-sm-3 control-label"> First name </label>
39                   <div class="col-sm-9">
40                     <p class="form-control-static" id="first_name" name="first_name"><%=current_user.first_name%></p>
41                   </div>
42               </div>
43               <div class="form-group">
44                   <label for="last_name" class="col-sm-3 control-label"> Last name </label>
45                   <div class="col-sm-9">
46                     <p class="form-control-static" id="last_name" name="last_name"><%=current_user.last_name%></p>
47                   </div>
48               </div>
49               <div class="form-group">
50                   <label for="identity_url" class="col-sm-3 control-label"> Identity URL </label>
51                   <div class="col-sm-9">
52                     <p class="form-control-static" id="identity_url" name="identity_url"><%=this_user.andand.identity_url%></p>
53                   </div>
54               </div>
55
56               <% profile_config.kind_of?(Array) && profile_config.andand.each do |entry| %>
57                 <% if entry['key'] %>
58                   <%
59                       show_save_button = true
60                       label = entry['required'] ? '* ' : ''
61                       label += entry['form_field_title']
62                       value = current_user_profile[entry['key'].to_sym] if current_user_profile
63                   %>
64                   <div class="form-group">
65                     <label for="<%=entry['key']%>"
66                            class="col-sm-3 control-label"
67                            style=<%="color:red" if entry['required']&&!value%>> <%=label%>
68                     </label>
69                     <% if entry['type'] == 'select' %>
70                       <div class="col-sm-9">
71                         <select class="form-control" id="user[prefs][:profile][:<%=entry['key']%>]" name="user[prefs][:profile][:<%=entry['key']%>]">
72                           <% entry['options'].each do |option| %>
73                             <option value="<%=option%>" <%='selected' if option==value%>><%=option%></option>
74                           <% end %>
75                         </select>
76                       </div>
77                     <% else %>
78                       <div class="col-sm-9">
79                         <input type="text" class="form-control" id="user[prefs][:profile][:<%=entry['key']%>]" name="user[prefs][:profile][:<%=entry['key']%>]" placeholder="<%=entry['form_field_description']%>" value="<%=value%>" ></input>
80                       </div>
81                     <% end %>
82                   </div>
83                 <% end %>
84               <% end %>
85
86               <% if show_save_button %>
87                 <div class="form-group">
88                   <div class="col-sm-offset-3 col-sm-9">
89                     <button type="submit" class="btn btn-primary">Save profile</button>
90                   </div>
91                 </div>
92               <% end %>
93             <% end %>
94           </div>
95         </div>
96     </div>
97 </div>