[webui] XSS fix in error view.
[opensuse:build-service.git] / src / webui / app / views / error.html.erb
1 <% if local_assigns[:api_exception] -%>
2   <h1>OBS API Error:</h1>
3 <% else -%>
4   <h1>OBS Web Interface Error:</h1>
5 <% end -%>
6
7 <% case status
8 when 401 -%>
9   <h2>Unauthorized Access</h2>
10   <p>You need to log in to perform the operation.<br/>
11   Please contact the openSUSE admin to get an account.</p>
12 <% when 403 -%>
13   <h2>Permission denied</h2>
14   <p>The account that is logged into the system lacks proper permissions to perform
15     the operation.<br />
16   Please contact the openSUSE admin to get proper permissions for the user account.</p>
17 <% when 404 -%>
18   <h2>Target not found</h2>
19   <p>A non existing page was requested.</p>
20 <% end if local_assigns[:status] -%>
21
22 <h3>Error Details:</h3>
23 <p>
24   <% if local_assigns[:code] %>
25     Errorcode: <strong><%= h(code) %></strong>
26   <% end %>
27   <% if local_assigns[:message] %>
28     Message: <strong><%= h(message) %></strong>
29   <% end %>
30 </p>
31
32
33 <% if local_assigns[:api_exception] -%>
34
35   <h3>Exception from API:</h3>
36
37   <p><strong><%=h api_exception.get_text 'type' %></strong>: <%=h api_exception.get_text 'message' %></p>
38   <h4>Stack Trace:</h4>
39   <pre>
40   <%=h api_exception.get_elements( '//backtrace/line' ).map {|e| e.text }.join("\n") %>
41   </pre>
42
43 <% end -%>
44
45 <% if  local_assigns[:exception] -%>
46
47   <h3>Exception from Webclient:</h3>
48   <p><strong><%=h exception.class.name %></strong>: <%=h exception.message %></p>
49   <h4>Stack Trace:</h4>
50   <pre>
51   <%=h(exception.backtrace.join("\n")) %>
52   </pre>
53
54 <% end -%>
55