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