120 lines
4.6 KiB
HTML
120 lines
4.6 KiB
HTML
{% extends "sqladmin/layout.html" %}
|
||
{% block content %}
|
||
<style>
|
||
/* 调整详情页顶部动作按钮间距(Go Back/Retry/Delete/Edit/自定义 Action) */
|
||
.connecthub-action-row .btn {
|
||
margin-right: 0.5rem;
|
||
}
|
||
</style>
|
||
|
||
<div class="col-12">
|
||
<div class="card">
|
||
<div class="card-header">
|
||
<h3 class="card-title">
|
||
{% for pk in model_view.pk_columns -%}
|
||
{{ pk.name }}
|
||
{%- if not loop.last %};{% endif -%}
|
||
{% endfor %}: {{ get_object_identifier(model) }}
|
||
</h3>
|
||
</div>
|
||
<div class="card-body border-bottom py-3">
|
||
<div class="table-responsive">
|
||
<table class="table card-table table-vcenter text-nowrap table-hover table-bordered">
|
||
<thead>
|
||
<tr>
|
||
<th class="w-1">字段</th>
|
||
<th class="w-1">值</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
{% for name in model_view._details_prop_names %}
|
||
{% set label = model_view._column_labels.get(name, name) %}
|
||
<tr>
|
||
<td>{{ label }}</td>
|
||
{% set value, formatted_value = model_view.get_detail_value(model, name) %}
|
||
{% if name in model_view._relation_names %}
|
||
{% if is_list( value ) %}
|
||
<td>
|
||
{% for elem, formatted_elem in zip(value, formatted_value) %}
|
||
{% if model_view.show_compact_lists %}
|
||
<a href="{{ model_view._build_url_for('admin:details', request, elem) }}">({{ formatted_elem }})</a>
|
||
{% else %}
|
||
<a href="{{ model_view._build_url_for('admin:details', request, elem) }}">{{ formatted_elem }}</a><br/>
|
||
{% endif %}
|
||
{% endfor %}
|
||
</td>
|
||
{% else %}
|
||
<td><a href="{{ model_view._url_for_details_with_prop(request, model, name) }}">{{ formatted_value }}</a></td>
|
||
{% endif %}
|
||
{% else %}
|
||
<td>{{ formatted_value }}</td>
|
||
{% endif %}
|
||
</tr>
|
||
{% endfor %}
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<div class="card-footer container">
|
||
<div class="row connecthub-action-row">
|
||
<div class="col-md-1">
|
||
<a href="{{ url_for('admin:list', identity=model_view.identity) }}" class="btn">
|
||
返回
|
||
</a>
|
||
</div>
|
||
<div class="col-md-1">
|
||
<form method="post" action="/admin/joblogs/{{ get_object_identifier(model) }}/retry" style="display:inline;" onsubmit="return confirm('确认重试该任务日志?');">
|
||
<button type="submit" class="btn btn-warning">重试</button>
|
||
</form>
|
||
</div>
|
||
{% if model_view.can_delete %}
|
||
<div class="col-md-1">
|
||
<a href="#" data-name="{{ model_view.name }}" data-pk="{{ get_object_identifier(model) }}"
|
||
data-url="{{ model_view._url_for_delete(request, model) }}" data-bs-toggle="modal"
|
||
data-bs-target="#modal-delete" class="btn btn-danger">
|
||
删除
|
||
</a>
|
||
</div>
|
||
{% endif %}
|
||
{% if model_view.can_edit %}
|
||
<div class="col-md-1">
|
||
<a href="{{ model_view._build_url_for('admin:edit', request, model) }}" class="btn btn-primary">
|
||
编辑
|
||
</a>
|
||
</div>
|
||
{% endif %}
|
||
{% for custom_action,label in model_view._custom_actions_in_detail.items() %}
|
||
<div class="col-md-1">
|
||
{% if custom_action in model_view._custom_actions_confirmation %}
|
||
<a href="#" class="btn btn-secondary" data-bs-toggle="modal"
|
||
data-bs-target="#modal-confirmation-{{ custom_action }}">
|
||
{{ label }}
|
||
</a>
|
||
{% else %}
|
||
<a href="{{ model_view._url_for_action(request, custom_action) }}?pks={{ get_object_identifier(model) }}"
|
||
class="btn btn-secondary">
|
||
{{ label }}
|
||
</a>
|
||
{% endif %}
|
||
</div>
|
||
{% endfor %}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{% if model_view.can_delete %}
|
||
{% include 'sqladmin/modals/delete.html' %}
|
||
{% endif %}
|
||
|
||
{% for custom_action in model_view._custom_actions_in_detail %}
|
||
{% if custom_action in model_view._custom_actions_confirmation %}
|
||
{% with confirmation_message = model_view._custom_actions_confirmation[custom_action], custom_action=custom_action,
|
||
url=model_view._url_for_action(request, custom_action) + '?pks=' + (get_object_identifier(model) | string) %}
|
||
{% include 'sqladmin/modals/details_action_confirmation.html' %}
|
||
{% endwith %}
|
||
{% endif %}
|
||
{% endfor %}
|
||
{% endblock %}
|
||
|
||
|