104 lines
4.1 KiB
Twig
104 lines
4.1 KiB
Twig
{{ header }}{{ column_left }}
|
|
<div id="content">
|
|
<div class="page-header">
|
|
<div class="container-fluid">
|
|
<div class="float-end">
|
|
<button type="submit" form="form-cron" formaction="{{ delete }}" data-bs-toggle="tooltip" title="{{ button_delete }}" onclick="return confirm('{{ text_confirm }}');" class="btn btn-danger"><i class="fa-regular fa-trash-can"></i></button>
|
|
</div>
|
|
<h1>{{ heading_title }}</h1>
|
|
<ol class="breadcrumb">
|
|
{% for breadcrumb in breadcrumbs %}
|
|
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
|
|
{% endfor %}
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
<div class="container-fluid">
|
|
<div class="card mb-3">
|
|
<div class="card-header"><i class="fa-solid fa-question-circle"></i> {{ text_instruction }}</div>
|
|
<div class="card-body">
|
|
<p>{{ text_cron_1 }}</p>
|
|
<p>{{ text_cron_2 }}</p>
|
|
<div class="mb-3">
|
|
<div class="input-group">
|
|
<div class="input-group-text">{{ entry_cron }}</div>
|
|
<input type="text" value="wget "{{ cron }}" --read-timeout=5400" id="input-cron" class="form-control"/>
|
|
<button type="button" id="button-copy" data-bs-toggle="tooltip" title="{{ button_copy }}" class="btn btn-light"><i class="fa-regular fa-copy"></i></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card">
|
|
<div class="card-header"><i class="fa-solid fa-list"></i> {{ text_list }}</div>
|
|
<div id="cron" class="card-body">{{ list }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript"><!--
|
|
$('#cron').on('click', 'thead a, .pagination a', function (e) {
|
|
e.preventDefault();
|
|
|
|
$('#cron').load(this.href);
|
|
});
|
|
|
|
$('#cron').on('click', '.btn-success, .btn-warning, .btn-danger', function () {
|
|
var element = this;
|
|
|
|
$.ajax({
|
|
url: $(element).val(),
|
|
dataType: 'json',
|
|
beforeSend: function () {
|
|
$(element).button('loading');
|
|
},
|
|
complete: function () {
|
|
$(element).button('reset');
|
|
},
|
|
success: function (json) {
|
|
if (json['error']) {
|
|
$('#alert').prepend('<div class="alert alert-danger alert-dismissible"><i class="fa-solid fa-circle-exclamation"></i> ' + json['error'] + ' <button type="button" class="btn-close" data-bs-dismiss="alert"></button></div>');
|
|
}
|
|
|
|
if (json['success']) {
|
|
$('#alert').prepend('<div class="alert alert-success alert-dismissible"><i class="fa-solid fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="btn-close" data-bs-dismiss="alert"></button></div>');
|
|
|
|
$('#cron').load($('#form-cron').attr('data-oc-load'));
|
|
}
|
|
},
|
|
error: function (xhr, ajaxOptions, thrownError) {
|
|
console.log(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
|
|
}
|
|
});
|
|
});
|
|
|
|
$('#cron').on('click', '.btn-info', function () {
|
|
var element = this;
|
|
|
|
$('#modal-cron').remove();
|
|
|
|
html = '<div id="modal-cron" class="modal">';
|
|
html += ' <div class="modal-dialog">';
|
|
html += ' <div class="modal-content">';
|
|
html += ' <div class="modal-header">';
|
|
html += ' <h5 class="modal-title">{{ text_info|escape('js') }}</h5>';
|
|
html += ' <button type="button" class="btn-close" data-bs-dismiss="modal"></button>';
|
|
html += ' </div>';
|
|
html += ' <div class="modal-body">';
|
|
html += ' <div class="mb-3">';
|
|
html += ' <label for="input-description" class="form-label">{{ entry_description|escape('js') }}</label>';
|
|
html += ' <textarea placeholder="{{ entry_description|escape('js') }}" id="input-description" rows="5" class="form-control" disabled>' + $(element).attr('data-oc-description') + '</textarea>';
|
|
html += ' </div>';
|
|
html += ' </div>';
|
|
html += ' </div>';
|
|
html += ' </div>';
|
|
html += ' </div>';
|
|
html += '</div>';
|
|
|
|
$('body').append(html);
|
|
|
|
var modal = new bootstrap.Modal(document.querySelector('#modal-cron'));
|
|
|
|
modal.show();
|
|
});
|
|
//--></script>
|
|
{{ footer }}
|