Update website

This commit is contained in:
Guilhem Lavaux 2025-03-24 09:27:39 +01:00
parent a0b0d3dae7
commit ae7ef6ad45
3151 changed files with 566766 additions and 48 deletions

View file

@ -0,0 +1,110 @@
<form class="rte_form" action="{{ url('/database/events') }}" method="post">
{{ get_hidden_inputs(db) }}
<input name="{{ mode }}_item" type="hidden" value="1">
{% if mode == 'edit' %}
<input name="item_original_name" type="hidden" value="{{ event.item_original_name }}">
{% endif %}
<fieldset>
<legend>{% trans 'Details' %}</legend>
<table class="rte_table table table-borderless table-sm">
<tr>
<td>{% trans 'Event name' %}</td>
<td>
<input type="text" name="item_name" value="{{ event.item_name }}" maxlength="64">
</td>
</tr>
<tr>
<td>{% trans 'Status' %}</td>
<td>
<select name="item_status">
{% for status in status_display %}
<option value="{{ status }}"{{ status == event.item_status ? ' selected' }}>{{ status }}</option>
{% endfor %}
</select>
</td>
</tr>
<tr>
<td>{% trans 'Event type' %}</td>
<td>
{% if is_ajax %}
<select name="item_type">
{% for type in event_type %}
<option value="{{ type }}"{{ type == event.item_type ? ' selected' }}>{{ type }}</option>
{% endfor %}
</select>
{% else %}
<input name="item_type" type="hidden" value="{{ event.item_type }}">
<div class="font_weight_bold text-center w-50">
{{ event.item_type }}
</div>
<input type="submit" name="item_changetype" class="w-50" value="{{ 'Change to %s'|trans|format(event.item_type_toggle) }}">
{% endif %}
</td>
</tr>
<tr class="onetime_event_row{{ event.item_type != 'ONE TIME' ? ' hide' }}">
<td>{% trans 'Execute at' %}</td>
<td class="nowrap">
<input type="text" name="item_execute_at" value="{{ event.item_execute_at }}" class="datetimefield">
</td>
</tr>
<tr class="recurring_event_row{{ event.item_type != 'RECURRING' ? ' hide' }}">
<td>{% trans 'Execute every' %}</td>
<td>
<input class="w-50" type="text" name="item_interval_value" value="{{ event.item_interval_value }}">
<select class="w-50" name="item_interval_field">
{% for interval in event_interval %}
<option value="{{ interval }}"{{ interval == event.item_interval_field ? ' selected' }}>{{ interval }}</option>
{% endfor %}
</select>
</td>
</tr>
<tr class="recurring_event_row{{ event.item_type != 'RECURRING' ? ' hide' }}">
<td>{% trans %}Start{% context %}Start of recurring event{% endtrans %}</td>
<td class="nowrap">
<input type="text" name="item_starts" value="{{ event.item_starts }}" class="datetimefield">
</td>
</tr>
<tr class="recurring_event_row{{ event.item_type != 'RECURRING' ? ' hide' }}">
<td>{% trans %}End{% context %}End of recurring event{% endtrans %}</td>
<td class="nowrap">
<input type="text" name="item_ends" value="{{ event.item_ends }}" class="datetimefield">
</td>
</tr>
<tr>
<td>{% trans 'Definition' %}</td>
<td>
<textarea name="item_definition" rows="15" cols="40">
{{- event.item_definition -}}
</textarea>
</td>
</tr>
<tr>
<td>{% trans 'On completion preserve' %}</td>
<td>
<input type="checkbox" name="item_preserve"{{ event.item_preserve|raw }}>
</td>
</tr>
<tr>
<td>{% trans 'Definer' %}</td>
<td>
<input type="text" name="item_definer" value="{{ event.item_definer }}">
</td>
</tr>
<tr>
<td>{% trans 'Comment' %}</td>
<td>
<input type="text" name="item_comment" value="{{ event.item_comment }}" maxlength="64">
</td>
</tr>
</table>
</fieldset>
{% if is_ajax %}
<input type="hidden" name="editor_process_{{ mode }}" value="true">
<input type="hidden" name="ajax_request" value="true">
{% else %}
<fieldset class="tblFooters">
<input type="submit" name="editor_process_{{ mode }}" value="{% trans 'Go' %}">
</fieldset>
{% endif %}
</form>

View file

@ -0,0 +1,161 @@
<form id="rteListForm" class="ajax" action="{{ url('/database/events') }}">
{{ get_hidden_inputs(db) }}
<fieldset>
<legend>
{% trans 'Events' %}
{{ show_mysql_docu('EVENTS') }}
</legend>
<div id="nothing2display"{{ items is not empty ? ' class="hide"' }}>
{% trans 'There are no events to display.' %}
</div>
<table id="eventsTable" class="table table-light table-striped table-hover{{ items is empty ? ' hide' }} w-auto data">
<thead class="thead-light">
<tr>
<th></th>
<th>{% trans 'Name' %}</th>
<th>{% trans 'Status' %}</th>
<th colspan="3">{% trans 'Action' %}</th>
<th>{% trans 'Type' %}</th>
</tr>
</thead>
<tbody>
<tr class="hide">{% for i in 0..6 %}<td></td>{% endfor %}</tr>
{% for event in items %}
<tr{{ is_ajax ? ' class="ajaxInsert hide"' }}>
<td>
<input type="checkbox" class="checkall" name="item_name[]" value="{{ event.name }}">
</td>
<td>
<span class="drop_sql hide">{{ 'DROP EVENT IF EXISTS %s'|format(backquote(event.name)) }}</span>
<strong>{{ event.name }}</strong>
</td>
<td>
{{ event.status }}
</td>
<td>
{% if has_privilege %}
<a class="ajax edit_anchor" href="{{ url('/database/events', {
'db': db,
'edit_item': true,
'item_name': event.name
}) }}">
{{ get_icon('b_edit', 'Edit'|trans) }}
</a>
{% else %}
{{ get_icon('bd_edit', 'Edit'|trans) }}
{% endif %}
</td>
<td>
<a class="ajax export_anchor" href="{{ url('/database/events', {
'db': db,
'export_item': true,
'item_name': event.name
}) }}">
{{ get_icon('b_export', 'Export'|trans) }}
</a>
</td>
<td>
{% if has_privilege %}
{{ link_or_button(
url('/sql', {
'db': db,
'sql_query': 'DROP EVENT IF EXISTS %s'|format(backquote(event.name)),
'goto': url('/database/events', {'db': db})
}),
get_icon('b_drop', 'Drop'|trans),
{'class': 'ajax drop_anchor'}
) }}
{% else %}
{{ get_icon('bd_drop', 'Drop'|trans) }}
{% endif %}
</td>
<td>
{{ event.type }}
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% if items is not empty %}
<div class="withSelected">
<img class="selectallarrow" src="{{ select_all_arrow_src }}" width="38" height="22" alt="{% trans 'With selected:' %}">
<input type="checkbox" id="rteListForm_checkall" class="checkall_box" title="{% trans 'Check all' %}">
<label for="rteListForm_checkall">{% trans 'Check all' %}</label>
<em class="with-selected">{% trans 'With selected:' %}</em>
<button class="btn btn-link mult_submit" type="submit" name="submit_mult" value="export" title="{% trans 'Export' %}">
{{ get_icon('b_export', 'Export'|trans) }}
</button>
<button class="btn btn-link mult_submit" type="submit" name="submit_mult" value="drop" title="{% trans 'Drop' %}">
{{ get_icon('b_drop', 'Drop'|trans) }}
</button>
</div>
{% endif %}
</fieldset>
</form>
<div class="doubleFieldset">
<fieldset class="left">
<legend>{% trans %}New{% context %}Create new event{% endtrans %}</legend>
<div class="wrap">
{% if has_privilege %}
<a class="ajax add_anchor" href="{{ url('/database/events', {'db': db, 'add_item': true}) }}">
{{ get_icon('b_event_add') }}
{% trans 'Add event' %}
</a>
{% else %}
{{ get_icon('bd_event_add') }}
{% trans 'Add event' %}
{% endif %}
{{ show_mysql_docu('CREATE_EVENT') }}
</div>
</fieldset>
<fieldset class="right">
<legend>{% trans 'Event scheduler status' %}</legend>
<div class="wrap">
<div class="wrapper toggleAjax hide">
<div class="toggleButton">
<div title="{% trans 'Click to toggle' %}" class="toggle-container {{ scheduler_state ? 'on' : 'off' }}">
<img src="{{ theme_image_path }}toggle-{{ text_dir }}.png">
<table class="pma-table nospacing nopadding">
<tbody>
<tr>
<td class="toggleOn">
<span class="hide">
{{- url('/sql', {
'db': db,
'goto': url('/database/events', {'db': db}),
'sql_query': 'SET GLOBAL event_scheduler="ON"',
}) -}}
</span>
<div>{% trans 'ON' %}</div>
</td>
<td><div>&nbsp;</div></td>
<td class="toggleOff">
<span class="hide">
{{- url('/sql', {
'db': db,
'goto': url('/database/events', {'db': db}),
'sql_query': 'SET GLOBAL event_scheduler="OFF"',
}) -}}
</span>
<div>{% trans 'OFF' %}</div>
</td>
</tr>
</tbody>
</table>
<span class="hide callback">Functions.slidingMessage(data.sql_query);</span>
<span class="hide text_direction">{{ text_dir }}</span>
</div>
</div>
</div>
</div>
</fieldset>
<div class="clearfloat"></div>
</div>

View file

@ -0,0 +1,55 @@
<tr{% if row_class is not empty %} class="{{ row_class }}"{% endif %}>
<td>
<input type="checkbox" class="checkall" name="item_name[]" value="{{ event.name }}">
</td>
<td>
<span class='drop_sql hide'>{{ sql_drop }}</span>
<strong>{{ event.name }}</strong>
</td>
<td>
{{ event.status }}
</td>
<td>
{% if has_privilege %}
<a class="ajax edit_anchor" href="{{ url('/database/events', {
'db': db,
'table': table,
'edit_item': true,
'item_name': event.name
}) }}">
{{ get_icon('b_edit', 'Edit'|trans) }}
</a>
{% else %}
{{ get_icon('bd_edit', 'Edit'|trans) }}
{% endif %}
</td>
<td>
<a class="ajax export_anchor" href="{{ url('/database/events', {
'db': db,
'table': table,
'export_item': true,
'item_name': event.name
}) }}">
{{ get_icon('b_export', 'Export'|trans) }}
</a>
</td>
<td>
{% if has_privilege %}
{{ link_or_button(
url('/sql', {
'db': db,
'table': table,
'sql_query': sql_drop,
'goto': url('/database/events', {'db': db})
}),
get_icon('b_drop', 'Drop'|trans),
{'class': 'ajax drop_anchor'}
) }}
{% else %}
{{ get_icon('bd_drop', 'Drop'|trans) }}
{% endif %}
</td>
<td>
{{ event.type }}
</td>
</tr>