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
10 <div class="panel panel-default">
11 <div class="panel-heading">
12 <h4 class="panel-title">
16 <div class="panel-body">
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|
22 profile_message = entry['message']
26 <p> <%=profile_message%> </p><br/>
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>
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>
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>
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>
56 <% profile_config.kind_of?(Array) && profile_config.andand.each do |entry| %>
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
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%>
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>
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>
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>