8
8
{% extends "authed.twig" %}
10
10
{% block pageContent %}
13
11
<div class="widget">
14
12
<div class="widget-title">{% trans "Report Fault" %}</div>
15
13
<div class="widget-body">
18
<div class="board-inner">
19
<ul class="nav fault nav-tabs" id="fault">
20
<div class="liner"></div>
22
<a href="#home" data-toggle="tab">
23
<span class="round-tabs one"> <i class="glyphicon glyphicon-home"></i> </span> </a>
26
<a href="#checklist" data-toggle="tab">
27
<span class="round-tabs two"> <i class="fa fa-check-square-o" aria-hidden="true"></i> </span>
31
<a href="#turnons" data-toggle="tab">
32
<span class="round-tabs three"> <i class="fa fa-bug" aria-hidden="true"></i> </span>
36
<a href="#replicate" data-toggle="tab">
37
<span class="round-tabs four"> <i class="fa fa-clone" aria-hidden="true"></i> </span>
41
<a href="#collect" data-toggle="tab">
42
<span class="round-tabs five"> <i class="fa fa-floppy-o" aria-hidden="true"></i> </span>
46
<a href="#turnoff" data-toggle="tab">
47
<span class="round-tabs six"> <span><i class="fa fa-bug"></i><i class="fa fa-ban fa-stack-2x"></i></span> </span>
51
<a href="#ask" data-toggle="tab">
52
<span class="round-tabs seven"><i class="fa fa-question-circle" aria-hidden="true"></i></span>
57
<div class="tab-content">
58
<div class="tab-pane fade in active" id="home">
59
<h3 class="head text-center">{% trans "Report an application fault" %}
60
<span style="color:#f48260;"></span>
64
<p class="alert alert-info">{% trans "The CMS may not be working as expected because MySQL BINLOG format is set to STATEMENT. This can effect sessions and should be set to ROW or MIXED." %}</p>
67
<p class="narrow text-center">{% trans "Before reporting a fault it would be appreciated if you follow the steps. Click start " %}</p>
69
<form class="form-horizontal text-center" id="home_form" name="home_form" role="form">
71
<button type="submit" href="#checklist" name="home_form" class="btn-submit btn btn-success">
73
<i class="fa fa-chevron-circle-right" aria-hidden="true"></i></button>
77
<div class="tab-pane fade" id="checklist">
78
<p class="text-center">{% trans "Check that the Environment passes all the CMS Environment checks." %}</p>
80
{% if environmentFault %}
81
<p class="alert alert-danger narrow text-center">{% trans "There is a critical error that you should resolve first." %}</p>
82
{% elseif environmentWarning %}
83
<p class="alert alert-warning narrow text-center">{% trans "There is a warning on the checklist that you should resolve." %}</p>
85
<p class="alert alert-success narrow text-center">{% trans "All checks pass. Click next to continue" %}</p>
89
{% if environmentFault or environmentWarning %}
90
<table id="checksWithFaults" class="table table-striped">
15
<div class="col-md-12">
16
<h2>{% trans "Report an application fault" %}</h2>
18
{% if environmentFault %}
19
<p class="alert alert-danger">{% trans "There is a critical error listed below that you should resolve first." %}</p>
20
{% elseif environmentWarning %}
21
<p class="alert alert-warning">{% trans "There is a warning listed below that you should resolve first." %}</p>
24
<p>{% trans "Before reporting a fault it would be appreciated if you follow the below steps." %}</p>
26
<div class="ReportFault">
29
<p>{% trans "Check that the Environment passes all the CMS Environment checks." %}</p>
30
<table id="sessions" class="table table-striped">
93
33
<th>{% trans "Item" %}</th>
99
{% for check in environmentCheck %}
100
{% if check.status != 1 %}
39
{% for check in environmentCheck %}
102
41
<td>{{ check.item }}</td>
104
43
{% if check.status == 0 %}
105
44
<span class="fa fa-times"></span>
45
{% elseif check.status == 1 %}
46
<span class="fa fa-check"></span>
107
48
<span class="fa fa-exclamation"></span>
110
51
<td>{{ check.advice }}</td>
117
<p class="text-center"><b>{% trans "All other checks passed" %}</b></p>
120
<div class="row text-center">
121
<a id="toggler" href="#" class="btn btn-info">{% trans "I want to see the list anyway." %}</a>
124
{% if environmentCheck %}
125
<table id="checksWithSuccess" class="table table-striped hide-table">
128
<th>{% trans "Item" %}</th>
129
<th>{% trans "Status" %}</th>
130
<th>{% trans "Advice" %}</th>
134
{% for check in environmentCheck %}
135
{% if check.status == 1 %}
137
<td>{{ check.item }}</td>
139
{% if check.status == 1 %}
140
<span class="fa fa-check fa-2x text-success"></span>
143
<td>{{ check.advice }}</td>
152
<form class="form-horizontal text-center" id="checklist_form" name="checklist_form" role="form">
154
<button type="submit" href="#home" name="home_form" class="btn-submit btn btn-info">
155
<i class="fa fa-chevron-circle-left" aria-hidden="true"></i> {% trans "Previous" %}
157
<button type="submit" href="#turnons" name="checklist_form" class="btn-submit btn btn-primary">
158
{% trans "Next" %} <i class="fa fa-chevron-circle-right" aria-hidden="true"></i>
164
<div class="tab-pane fade" id="turnons">
166
<p class="narrow text-center">{% trans "Turn ON full auditing and debugging." %}</p>
167
<form id="1" class="XiboAutoForm text-center " action="{{ urlFor("fault.debug.on") }}" method="put" onsubmit="return checkFormOn(this);">
168
<input class="btn btn-success" type="submit" name="onDeb" value="{% trans " Turn ON Debugging" %}"></input>
171
<form class="form-horizontal text-center" id="turnons_form" name="turnons_form" role="form">
173
<button type="submit" href="#checklist" name="turnons_form" class="btn-submit btn btn-info">
174
<i class="fa fa-chevron-circle-left" aria-hidden="true"></i> {% trans "Previous" %}
176
<button type="submit" href="#replicate" name="turnons_form" class="btn-submit btn btn-primary">
177
{% trans "Next" %} <i class="fa fa-chevron-circle-right" aria-hidden="true"></i>
185
<div class="tab-pane fade text-center" id="replicate">
186
<p class="narrow">{% trans "Recreate the Problem in a new window." %}</p>
187
<p class="narrow">{% trans "Please open a new window and recreate the problem. While you do that we are going to log all of the actions taken in a text based log. We won't capture screenshots or videos, so if you feel that this would be useful please capture those manually and add them to the zip file you will download in the next step." %}</p>
189
<a href="{{ urlFor("home") }}" target="_blank" class="btn btn-success"><i class="fa fa-external-link"></i> {% trans "Open a new window" %}</a>
192
<form class="form-horizontal text-center" id="replicate_form" name="replicate_form" role="form">
194
<button type="submit" href="#turnons" name="replicate_form" class="btn-submit btn btn btn-info">
195
<i class="fa fa-chevron-circle-left" aria-hidden="true"></i> {% trans "Previous" %}
197
<button type="submit" href="#collect" name="replicate_form" class="btn-submit btn btn-primary">
198
{% trans "Next" %} <i class="fa fa-chevron-circle-right" aria-hidden="true"></i>
204
<div class="tab-pane fade" id="collect">
205
<p class="narrow text-center">
206
{% trans "Automatically collect and export relevant information into a text file." %}
207
{% trans "Please save this file to your PC." %}
209
<p class="narrow text-center">
210
{% trans "What items would you like to save?" %}
212
<div class="col-md-6 col-md-offset-3 ">
213
<div class="funkyradio">
214
<div class="funkyradio-primary">
215
<input type="checkbox" name="outputVersion" id="outputVersion" checked/>
216
<label for="outputVersion">{% trans "Version Information" %}</label>
218
<div class="funkyradio-primary">
219
<input type="checkbox" name="outputLog" id="outputLog" checked/>
220
<label for="outputLog">{% trans "Log" %}</label>
222
<div class="funkyradio-primary">
223
<input type="checkbox" name="outputEnvCheck" id="outputEnvCheck" checked/>
224
<label for="outputEnvCheck">{% trans "Environment Check" %}</label>
226
<div class="funkyradio-primary">
227
<input type="checkbox" name="outputSettings" id="outputSettings" checked/>
228
<label for="outputSettings">{% trans "Settings" %}</label>
230
<div class="funkyradio-primary">
231
<input type="checkbox" name="outputDisplays" id="outputDisplays" checked/>
232
<label for="outputDisplays">{% trans "Display List" %}</label>
234
<div class="funkyradio-primary">
235
<input type="checkbox" name="outputDisplayProfile" id="outputDisplayProfile" checked/>
236
<label for="outputDisplayProfile">{% trans "Display Settings Profile (included with each display)" %}</label>
241
<div class="col-md-12 text-center">
242
<a id="dldata" class="btn btn-success text-center" type="submit" href="#" data-base-href="{{ urlFor("fault.collect") }}">
243
<i class="fa fa-floppy-o" aria-hidden="true"></i> {% trans "Collect and Save Data" %}
245
<form class="form-horizontal text-center" id="collect_form" name="collect_form" role="form">
246
<button type="submit" href="#replicate" name="collect_form" class="btn-submit btn btn-info">
247
<i class="fa fa-chevron-circle-left" aria-hidden="true"></i>{% trans "Previous" %}
249
<button type="submit" href="#turnoff" name="collect_form" class="btn-submit btn btn-primary">
250
{% trans "Next" %} <i class="fa fa-chevron-circle-right" aria-hidden="true"></i>
258
<div class="tab-pane fade text-center" id="turnoff">
259
<p class="narrow">{% trans "Turn full auditing and debugging OFF." %}</p>
261
<form id="2" class="XiboAutoForm text-center " action="{{ urlFor("fault.debug.off") }}" method="put" onsubmit="return checkFormOff(this);">
262
<input class="btn btn-danger" type="submit" name="offDeb" value="{% trans " Turn OFF Debugging" %}"></input>
265
<form class="form-horizontal text-center" id="turnoff_form" name="turnoff_form" role="form">
267
<button type="submit" href="#collect" name="turnoff_form" class="btn-submit btn btn-info">
268
<i class="fa fa-chevron-circle-left" aria-hidden="true"></i> {% trans "Previous" %}
270
<button type="submit" href="#ask" name="turnoff_form" class="btn-submit btn btn-primary">
271
{% trans "Next" %} <i class="fa fa-chevron-circle-right" aria-hidden="true"></i>
278
<div class="tab-pane fade" id="ask">
279
<div class="text-center"><i class="img-intro icon-checkmark-circle"></i></div>
280
<h3 class="head text-center">
281
{% trans "That's it!" %}
283
<p class="narrow text-center">
284
{% trans "Click on the below link to open the bug report page for this release." %}
285
{% trans "Describe the problem and upload the file you obtained earlier." %}
287
<form class="text-center">
289
<a class="btn btn-success" href="{{ theme.getThemeConfig("product_support_url", "https://community.xibo.org.uk/c/support") }}" target="_blank">
290
<i class="fa fa-question" aria-hidden="true"></i> {% trans "Ask a question" %}
292
<button type="submit" href="#home" name="turnoff_form" class="btn-submit btn btn-info">
293
<i class="fa fa-home" aria-hidden="true"></i> {% trans "Start again" %}
59
<p>{% trans "Turn ON full auditing and debugging." %}</p>
60
<form id="1" class="XiboAutoForm" action="{{ urlFor("fault.debug.on") }}" method="put">
61
<input class="btn btn-default" type="submit" value="{% trans "Turn ON Debugging" %}" />
66
<p>{% trans "Recreate the Problem in a new window." %}</p>
71
{% trans "Automatically collect and export relevant information into a text file." %}
72
{% trans "Please save this file to your PC." %}
74
<a class="btn btn-default" href="{{ urlFor("fault.collect") }}">{% trans "Collect and Save Data" %}</a>
78
<p>{% trans "Turn full auditing and debugging OFF." %}</p>
79
<form id="2" class="XiboAutoForm" action="{{ urlFor("fault.debug.off") }}" method="put">
80
<input class="btn btn-default" type="submit" value="{% trans "Turn OFF Debugging" %}" />
86
{% trans "Click on the below link to open the bug report page for this release." %}
87
{% trans "Describe the problem and upload the file you obtained earlier." %}
89
<a class="btn btn-default" href="https://community.xibo.org.uk/c/support" target="_blank">{% trans "Ask a question" %}</a>
307
{% block javaScript %}
308
<script type="text/javascript">
309
// Fault Page List switcher
311
$('a[title]').tooltip();
312
$('.btn-submit').on('click', function (e) {
313
var formname = $(this).attr('name');
314
var tabname = $(this).attr('href');
315
if ($('#' + formname)[0].checkValidity()) { /* Only works in Firefox/Chrome need polyfill for IE9, Safari. */
317
$('ul.nav li a[href="' + tabname + '"]').parent().removeClass('disabled');
318
$('ul.nav li a[href="' + tabname + '"]').trigger('click');
321
$('ul.nav li').on('click', function (e) {
322
if ($(this).hasClass('disabled')) {
332
<script type="text/javascript">
335
$('[data-toggle="popover"]').popover()
339
function checkFormOn(form) {
340
form.onDeb.disabled = true;
341
form.onDeb.value = "Debugging mode ON";
345
function checkFormOff(form) {
346
form.offDeb.disabled = true;
347
form.offDeb.value = "Debugging mode Off";
351
$("#dldata").on("click", function (event) {
352
if ($(this).hasClass("disabled")) {
353
event.preventDefault();
356
// Disable download button when downloading
357
$(this).addClass("btn-success disabled");
358
$("#dldata").text('{% trans "Downloading file" %}');
359
$("#dldata").prop("href", $("#dldata").data().baseHref + "?" + $(".funkyradio").find("input[type=checkbox]").serialize());
362
//Re Enables download button after new checkbox selection
363
$('.funkyradio').click(function () {
364
if ($(this).is(':checked')) {
365
$('#dldata').removeClass('disabled');
368
$('#dldata').removeClass('disabled').attr('enabled');
370
$("#dldata").text('{% trans "Download selected items" %}');
380
$("#toggler").click(function () {
381
$(this).text(function (i, v) {
382
return v === '{% trans "Hide Environment checks" %}' ? '{% trans "Show Environment checks" %}' : '{% trans "Hide Environment checks" %}'
384
$("#checksWithSuccess").toggle();
b'\\ No newline at end of file'
b'\\ No newline at end of file'