3296: add "message" to profile config
[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 %>
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.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 update_profile_path, {method: 'put', id: 'save_profile_form', name: 'save_profile_form', class: 'form-horizontal', remote: true} do %>
28               <div class="form-group">
29                   <label for="email" class="col-sm-3 control-label"> Email </label>
30                   <div class="col-sm-9">
31                     <p class="form-control-static" id="email" name="email"><%=current_user.email%></p>
32                   </div>
33               </div>
34               <div class="form-group">
35                   <label for="first_name" class="col-sm-3 control-label"> First name </label>
36                   <div class="col-sm-9">
37                     <p class="form-control-static" id="first_name" name="first_name"><%=current_user.first_name%></p>
38                   </div>
39               </div>
40               <div class="form-group">
41                   <label for="last_name" class="col-sm-3 control-label"> Last name </label>
42                   <div class="col-sm-9">
43                     <p class="form-control-static" id="last_name" name="last_name"><%=current_user.last_name%></p>
44                   </div>
45               </div>
46               <div class="form-group">
47                   <label for="identity_url" class="col-sm-3 control-label"> Identity URL </label>
48                   <div class="col-sm-9">
49                     <p class="form-control-static" id="identity_url" name="identity_url"><%=this_user.andand.identity_url%></p>
50                   </div>
51               </div>
52
53               <% profile_config.andand.each do |entry| %>
54                 <% if entry['key'] %>
55                   <%
56                       label = entry['required'] ? '* ' : ''
57                       label += entry['form_field_title']
58                       value = current_user_profile[entry['key'].to_sym] if current_user_profile
59                   %>
60                   <div class="form-group">
61                     <label for="<%=entry['key']%>"
62                            class="col-sm-3 control-label"
63                            style=<%="color:red" if entry['required']&&!value%>> <%=label%>
64                     </label>
65                     <% if entry['type'] == 'select' %>
66                       <div class="col-sm-9">
67                         <select class="form-control" id="<%=entry['key']%>" name="<%=entry['key']%>">
68                           <% entry['options'].each do |option| %>
69                             <option value="<%=option%>" <%='selected' if option==value%>><%=option%></option>
70                           <% end %>
71                         </select>
72                       </div>
73                     <% else %>
74                       <div class="col-sm-9">
75                         <input type="text" class="form-control" id="<%=entry['key']%>" name="<%=entry['key']%>" placeholder="<%=entry['form_field_description']%>" value="<%=value%>" ></input>
76                       </div>
77                     <% end %>
78                   </div>
79                 <% end %>
80               <% end %>
81
82               <div class="form-group">
83                 <div class="col-sm-offset-3 col-sm-9">
84                   <button type="submit" class="btn btn-primary">Save profile</button>
85                 </div>
86               </div>
87             <% end %>
88           </div>
89         </div>
90     </div>
91 </div>