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">
27  <div class="modal-dialog modal-with-loading-spinner">
28   <div class="modal-content">
29
30     <%= form_tag report_issue_path, {name: 'report-issue-form', method: 'post',
31         class: 'form-horizontal', remote: true} do %>
32
33       <%
34         title = 'Version / debugging info'
35         title = 'Report a problem' if @popup_params[:popup_type] == 'report'
36       %>
37
38       <div class="modal-header">
39         <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
40         <div>
41           <div class="col-sm-8"> <h4 class="modal-title"><%=title%></h4> </div>
42           <div class="spinner spinner-32px spinner-h-center col-sm-1" hidden="true"></div>
43         </div>
44         <br/>
45       </div>
46
47       <div class="modal-body" style="overflow-y:scroll">
48         <div class="form-group">
49           <label for="support_email" class="col-sm-4 control-label"> Support email </label>
50           <div class="col-sm-8">
51             <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>
52           </div>
53         </div>
54
55         <div class="form-group">
56           <label for="current_page" class="col-sm-4 control-label"> Current page </label>
57           <div class="col-sm-8">
58             <p class="form-control-static text-overflow-ellipsis" name="current_page"><%=@popup_params[:current_path]%></a></p>
59           </div>
60         </div>
61
62         <% if @popup_params[:popup_type] == 'report' %>
63           <div class="form-group">
64             <label for="report_text_label" class="col-sm-4 control-label"> Found a problem? Tell us what happened </label>
65             <div class="col-sm-8">
66               <textarea class="form-control" rows="4" id="report_issue_text" name="report_issue_text" type="text"/>
67             </div>
68             <input type="hidden" name="report_additional_info" value="<%=additional_info.to_json%>">
69           </div>
70         <% end %>
71
72         <div class="form-group">
73           <label for="server_version" class="col-sm-4 control-label"> API version </label>
74           <div class="col-sm-8">
75             <p class="form-control-static" name="server_version"><%=api_version%></p>
76           </div>
77         </div>
78
79         <div class="form-group">
80           <label for="generated_at" class="col-sm-4 control-label"> API startup time </label>
81           <div class="col-sm-8">
82             <p class="form-control-static" name="generated_at"><%=generated_at%></p>
83           </div>
84         </div>
85
86         <div class="form-group">
87           <label for="wb_version" class="col-sm-4 control-label"> Workbench version </label>
88           <div class="col-sm-8">
89             <p class="form-control-static" name="wb_version"><%=wb_version%></p>
90           </div>
91         </div>
92
93         <div class="form-group">
94           <label for="arvados_base" class="col-sm-4 control-label"> Workbench URI </label>
95           <div class="col-sm-8">
96             <p class="form-control-static" name="arvados_base"><%=arvados_base%></p>
97           </div>
98         </div>
99
100         <% if current_user %>
101           <div class="form-group">
102             <label for="user_uuid" class="col-sm-4 control-label"> User UUID </label>
103             <div class="col-sm-8">
104               <p class="form-control-static" name="user_uuid"><%=current_user.uuid%></p>
105             </div>
106           </div>
107
108           <div class="form-group">
109             <label for="user_email" class="col-sm-4 control-label"> User email </label>
110             <div class="col-sm-8">
111               <p class="form-control-static" name="user_email"><%=current_user.email%></p>
112             </div>
113           </div>
114         <% end %>
115
116         <% if @popup_params[:error_message] %>
117           <div class="form-group">
118             <label for="error_message" class="col-sm-4 control-label"> Error message </label>
119             <div class="col-sm-8">
120               <p class="form-control-static text-overflow-ellipsis" name="error_mesasge"><%=@popup_params[:error_message]%></p>
121             </div>
122           </div>
123         <% end %>
124
125         <% if @popup_params[:api_error_request_url] %>
126           <div class="form-group">
127             <label for="api_error_url" class="col-sm-4 control-label"> API error request url </label>
128             <div class="col-sm-8">
129               <p class="form-control-static text-overflow-ellipsis" name="api_error_url"><%=@popup_params[:api_error_request_url]%></p>
130             </div>
131           </div>
132         <% end %>
133
134         <% if @popup_params[:api_error_response] %>
135           <div class="form-group">
136             <label for="api_error_response" class="col-sm-4 control-label"> API error response </label>
137             <div class="col-sm-8">
138               <p class="form-control-static text-overflow-ellipsis" name="api_error_response"><%=@popup_params[:api_error_response]%></p>
139             </div>
140           </div>
141         <% end %>
142       </div>
143
144       <div class="modal-footer">
145         <% if @popup_params[:popup_type] == 'report' %>
146           <button type="submit" id="report-issue-submit" class="btn btn-primary report-issue-submit" autofocus>Send problem report</button>
147           <button class="btn btn-default report-issue-cancel" id="report-issue-cancel" data-dismiss="modal" aria-hidden="true">Cancel</button>
148         <% else %>
149           <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Close</button>
150         <% end %>
151       </div>
152     <% end #form %>
153   </div>
154  </div>
155 </div>
156