You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
180 lines
7.1 KiB
180 lines
7.1 KiB
<form class="rte_form" action="{{ url('/database/routines') }}" method="post"> |
|
<input name="{{ is_edit_mode ? 'edit_item' : 'add_item' }}" type="hidden" value="1"> |
|
{% if is_edit_mode %} |
|
<input name="item_original_name" type="hidden" value="{{ routine.item_original_name }}"> |
|
<input name="item_original_type" type="hidden" value="{{ routine.item_original_type }}"> |
|
{% endif %} |
|
{{ get_hidden_inputs(db) }} |
|
|
|
<div class="card"> |
|
<div class="card-header"> |
|
{% trans 'Details' %} |
|
{% if not is_edit_mode %} |
|
{{ show_mysql_docu('CREATE_PROCEDURE') }} |
|
{% endif %} |
|
</div> |
|
|
|
<div class="card-body"> |
|
<table class="rte_table table table-borderless table-sm"> |
|
<tr> |
|
<td>{% trans 'Routine name' %}</td> |
|
<td> |
|
<input type="text" name="item_name" maxlength="64" value="{{ routine.item_name }}"> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td>{% trans 'Type' %}</td> |
|
<td> |
|
{% if is_ajax %} |
|
<select name="item_type"> |
|
<option value="PROCEDURE"{{ routine.item_type == 'PROCEDURE' ? ' selected' }}>PROCEDURE</option> |
|
<option value="FUNCTION"{{ routine.item_type == 'FUNCTION' ? ' selected' }}>FUNCTION</option> |
|
</select> |
|
{% else %} |
|
<input name="item_type" type="hidden" value="{{ routine.item_type }}"> |
|
<div class="fw-bold text-center w-50"> |
|
{{ routine['item_type'] }} |
|
</div> |
|
<input type="submit" name="routine_changetype" value="{{ 'Change to %s'|trans|format(routine.item_type_toggle) }}"> |
|
{% endif %} |
|
</td> |
|
</tr> |
|
<tr> |
|
<td>{% trans 'Parameters' %}</td> |
|
<td> |
|
<table class="routine_params_table table table-borderless table-sm"> |
|
<thead> |
|
<tr> |
|
<td></td> |
|
<th class="routine_direction_cell{{ routine.item_type == 'FUNCTION' ? ' hide' }}">{% trans 'Direction' %}</th> |
|
<th>{% trans 'Name' %}</th> |
|
<th>{% trans 'Type' %}</th> |
|
<th>{% trans 'Length/Values' %}</th> |
|
<th colspan="2">{% trans 'Options' %}</th> |
|
<th class="routine_param_remove hide"></th> |
|
</tr> |
|
</thead> |
|
<tbody> |
|
{{ parameter_rows|raw }} |
|
</tbody> |
|
</table> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td></td> |
|
<td> |
|
<input type="button" class="btn btn-primary" name="routine_addparameter" value="{% trans 'Add parameter' %}"> |
|
<input type="submit" name="routine_removeparameter" value="{% trans 'Remove last parameter' %}"{{ not routine.item_num_params ? ' disabled' }}> |
|
</td> |
|
</tr> |
|
<tr class="routine_return_row{{ routine.item_type == 'PROCEDURE' ? ' hide' }}"> |
|
<td>{% trans 'Return type' %}</td> |
|
<td> |
|
<select name="item_returntype"> |
|
{{ get_supported_datatypes(true, routine.item_returntype) }} |
|
</select> |
|
</td> |
|
</tr> |
|
<tr class="routine_return_row{{ routine.item_type == 'PROCEDURE' ? ' hide' }}"> |
|
<td>{% trans 'Return length/values' %}</td> |
|
<td> |
|
<input type="text" name="item_returnlength" value="{{ routine.item_returnlength }}"> |
|
</td> |
|
<td class="hide no_len">---</td> |
|
</tr> |
|
<tr class="routine_return_row{{ routine.item_type == 'PROCEDURE' ? ' hide' }}"> |
|
<td>{% trans 'Return options' %}</td> |
|
<td> |
|
<div> |
|
<select lang="en" dir="ltr" name="item_returnopts_text"> |
|
<option value="">{% trans 'Charset' %}</option> |
|
<option value=""></option> |
|
{% for charset in charsets %} |
|
<option value="{{ charset.getName() }}" title="{{ charset.getDescription() }}"{{ routine.item_returnopts_text == charset.getName() ? ' selected' }}>{{ charset.getName() }}</option> |
|
{% endfor %} |
|
</select> |
|
</div> |
|
<div> |
|
<select name="item_returnopts_num"> |
|
<option value=""></option> |
|
{% for numeric_option in numeric_options %} |
|
<option value="{{ numeric_option }}"{{ routine.item_returnopts_num == numeric_option ? ' selected' }}>{{ numeric_option }}</option> |
|
{% endfor %} |
|
</select> |
|
</div> |
|
<div class="hide no_opts">---</div> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td>{% trans 'Definition' %}</td> |
|
<td> |
|
<textarea name="item_definition" rows="15" cols="40">{{ routine.item_definition }}</textarea> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td>{% trans 'Is deterministic' %}</td> |
|
<td> |
|
<input type="checkbox" name="item_isdeterministic"{{ routine.item_isdeterministic|raw }}> |
|
</td> |
|
</tr> |
|
|
|
{% if is_edit_mode %} |
|
<tr> |
|
<td> |
|
{% trans 'Adjust privileges' %} |
|
{{ show_docu('faq', 'faq6-39') }} |
|
</td> |
|
<td> |
|
{% if has_privileges %} |
|
<input type="checkbox" name="item_adjust_privileges" value="1" checked> |
|
{% else %} |
|
<input type="checkbox" name="item_adjust_privileges" value="1" title="{% trans 'You do not have sufficient privileges to perform this operation; Please refer to the documentation for more details.' %}" disabled> |
|
{% endif %} |
|
</td> |
|
</tr> |
|
{% endif %} |
|
|
|
<tr> |
|
<td>{% trans 'Definer' %}</td> |
|
<td> |
|
<input type="text" name="item_definer" value="{{ routine.item_definer }}"> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td>{% trans 'Security type' %}</td> |
|
<td> |
|
<select name="item_securitytype"> |
|
<option value="DEFINER"{{ routine.item_securitytype_definer|raw }}>DEFINER</option> |
|
<option value="INVOKER"{{ routine.item_securitytype_invoker|raw }}>INVOKER</option> |
|
</select> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td>{% trans 'SQL data access' %}</td> |
|
<td> |
|
<select name="item_sqldataaccess"> |
|
{% for value in sql_data_access %} |
|
<option value="{{ value }}"{{ routine.item_sqldataaccess == value ? ' selected' }}>{{ value }}</option> |
|
{% endfor %} |
|
</select> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td>{% trans 'Comment' %}</td> |
|
<td> |
|
<input type="text" name="item_comment" maxlength="64" value="{{ routine.item_comment }}"> |
|
</td> |
|
</tr> |
|
</table> |
|
</div> |
|
|
|
{% if is_ajax %} |
|
<input type="hidden" name="{{ is_edit_mode ? 'editor_process_edit' : 'editor_process_add' }}" value="true"> |
|
<input type="hidden" name="ajax_request" value="true"> |
|
{% else %} |
|
<div class="card-footer"> |
|
<input class="btn btn-primary" type="submit" name="{{ is_edit_mode ? 'editor_process_edit' : 'editor_process_add' }}" value="{% trans 'Go' %}"> |
|
</div> |
|
{% endif %} |
|
</div> |
|
</form>
|
|
|