Merge branch 'master' into 3112-report-bug
[arvados.git] / apps / workbench / app / views / application / _report_issue_popup.html.erb
1 <%
2   api_version = arvados_api_client.discovery[:source_version]
3   generated_at = arvados_api_client.discovery[:generatedAt]
4   wb_version = Rails.configuration.source_version
5   wb_version += Rails.configuration.local_modified if Rails.configuration.local_modified
6   arvados_base = Rails.configuration.arvados_v1_base
7   support_email = Rails.configuration.support_email_address
8
9   additional_info = {}
10   additional_info['Current location'] = @popup_params[:current_location]
11   additional_info['User UUID'] = current_user.uuid if current_user
12   additional_info['User email'] = current_user.email if current_user
13
14   additional_info_str = additional_info.map {|k,v| "#{k}=#{v}"}.join("\n")
15
16   additional_info['api_version'] = api_version
17   additional_info['generated_at'] = generated_at
18   additional_info['workbench_version'] = wb_version
19   additional_info['arvados_base'] = arvados_base
20   additional_info['support_email'] = support_email
21   additional_info['error_message'] = @popup_params[:error_message] if @popup_params[:error_message]
22   additional_info['api_error_request_url'] = @popup_params[:api_error_request_url] if @popup_params[:api_error_request_url]
23   additional_info['api_error_response'] = @popup_params[:api_error_response] if @popup_params[:api_error_response]
24 %>
25
26 <div class="modal-dialog modal-with-loading-spinner">
27   <div class="modal-content">
28
29     <%= form_tag report_issue_path, {name: 'report-issue-form', method: 'post',
30         class: 'form-horizontal', remote: true} do %>
31
32       <%
33         title = 'Version / debugging info'
34         title = 'Report a problem' if @popup_params[:popup_type] == 'report'
35       %>
36
37       <div class="modal-header">
38         <button type="button" class="close" onClick="reset_form()" data-dismiss="modal" aria-hidden="true">&times;</button>
39         <div>
40           <div class="col-sm-8"> <h4 class="modal-title"><%=title%></h4> </div>
41           <div class="spinner spinner-32px spinner-h-center col-sm-1" hidden="true"></div>
42         </div>
43         <br/>
44       </div>
45
46       <div class="modal-body" style="overflow-y:scroll">
47         <div class="form-group">
48           <label for="support_email" class="col-sm-4 control-label"> Support email </label>
49           <div class="col-sm-8">
50             <p class="form-control-static" name="support_version"><a href="mailto:<%=support_email%>?subject=Workbench problem report&body=Problem while viewing page <%=@popup_params[:current_location]%>"><%=support_email%></a></p>
51           </div>
52         </div>
53
54         <div class="form-group">
55           <label for="current_page" class="col-sm-4 control-label"> Current page </label>
56           <div class="col-sm-8">
57             <p class="form-control-static" name="current_page"><%=@popup_params[:current_location]%></a></p>
58           </div>
59         </div>
60
61         <% if @popup_params[:popup_type] == 'report' %>
62           <div class="form-group">
63             <label for="report_text_label" class="col-sm-4 control-label"> Found a problem? Tell us what happened </label>
64             <div class="col-sm-8">
65               <textarea class="form-control" rows="4" id="report_issue_text" name="report_issue_text" type="text"/>
66             </div>
67             <input type="hidden" name="report_additional_info" value="<%=additional_info.to_json%>">
68           </div>
69         <% end %>
70
71         <div class="form-group">
72           <label for="server_version" class="col-sm-4 control-label"> API version </label>
73           <div class="col-sm-8">
74             <p class="form-control-static" name="server_version"><%=api_version%></p>
75           </div>
76         </div>
77
78         <div class="form-group">
79           <label for="generated_at" class="col-sm-4 control-label"> API startup time </label>
80           <div class="col-sm-8">
81             <p class="form-control-static" name="generated_at"><%=generated_at%></p>
82           </div>
83         </div>
84
85         <div class="form-group">
86           <label for="wb_version" class="col-sm-4 control-label"> Workbench version </label>
87           <div class="col-sm-8">
88             <p class="form-control-static" name="wb_version"><%=wb_version%></p>
89           </div>
90         </div>
91
92         <div class="form-group">
93           <label for="arvados_base" class="col-sm-4 control-label"> Workbench URI </label>
94           <div class="col-sm-8">
95             <p class="form-control-static" name="arvados_base"><%=arvados_base%></p>
96           </div>
97         </div>
98
99         <% if current_user %>
100           <div class="form-group">
101             <label for="user_uuid" class="col-sm-4 control-label"> User UUID </label>
102             <div class="col-sm-8">
103               <p class="form-control-static" name="user_uuid"><%=current_user.uuid%></p>
104             </div>
105           </div>
106
107           <div class="form-group">
108             <label for="user_email" class="col-sm-4 control-label"> User email </label>
109             <div class="col-sm-8">
110               <p class="form-control-static" name="user_email"><%=current_user.email%></p>
111             </div>
112           </div>
113         <% end %>
114
115         <% if @popup_params[:error_message] %>
116           <div class="form-group">
117             <label for="error_message" class="col-sm-4 control-label"> Error message </label>
118             <div class="col-sm-8">
119               <p class="form-control-static" name="error_mesasge"><%=@popup_params[:error_message]%></p>
120             </div>
121           </div>
122         <% end %>
123
124         <% if @popup_params[:api_error_request_url] %>
125           <div class="form-group">
126             <label for="api_error_url" class="col-sm-4 control-label"> API error request url </label>
127             <div class="col-sm-8">
128               <p class="form-control-static" name="api_error_url"><%=@popup_params[:api_error_request_url]%></p>
129             </div>
130           </div>
131         <% end %>
132
133         <% if @popup_params[:api_error_response] %>
134           <div class="form-group">
135             <label for="api_error_response" class="col-sm-4 control-label"> API error response </label>
136             <div class="col-sm-8">
137               <p class="form-control-static" name="api_error_response"><%=@popup_params[:api_error_response]%></p>
138             </div>
139           </div>
140         <% end %>
141       </div>
142
143       <div class="modal-footer">
144         <% if @popup_params[:popup_type] == 'report' %>
145           <button type="submit" id="report-issue-submit" class="btn btn-primary report-issue-submit" autofocus>Report a problem</button>
146           <button class="btn btn-default report-issue-cancel" id="report-issue-cancel" onClick="reset_form()" data-dismiss="modal" aria-hidden="true">Cancel</button>
147         <% else %>
148           <button class="btn btn-default" onClick="reset_form()" data-dismiss="modal" aria-hidden="true">Close</button>
149         <% end %>
150       </div>
151     <% end #form %>
152   </div>
153 </div>