34 lines
1.3 KiB
HTML
34 lines
1.3 KiB
HTML
{#
|
|
The copy-profile page's body —
|
|
crate::pages::admin::table_definition::ui::CopyFragment.
|
|
#}
|
|
{% include "pages/admin/table_definition/feedback.html" %}
|
|
|
|
<section class="panel">
|
|
<h2>Copy <code>{{ page.selection.profile }}</code> into a new profile</h2>
|
|
<p class="hint">Copies structure — tables, links and scripts — and no rows. Leave every table unticked to copy the whole profile.</p>
|
|
<form hx-post="/admin/profiles/copy"
|
|
hx-target="#table-panel" hx-swap="innerHTML">
|
|
<input type="hidden" name="profile" value="{{ page.selection.profile }}">
|
|
<div class="form-grid">
|
|
<label>New profile name
|
|
<input name="target_profile_name" value="{{ page.copy.target_profile_name }}" placeholder="billing_2027">
|
|
</label>
|
|
</div>
|
|
{% if !page.copy_candidates().is_empty() %}
|
|
<div class="check-group">
|
|
{% for table in page.copy_candidates() %}
|
|
<label class="check">
|
|
<input type="checkbox" name="table_names" value="{{ table.name }}"
|
|
{% if page.copy_selected(table.name.as_str()) %}checked{% endif %}>
|
|
{{ table.name }}
|
|
</label>
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
<div class="form-actions">
|
|
<button type="submit">Copy profile</button>
|
|
</div>
|
|
</form>
|
|
</section>
|