code: list+create improvements, expanded notes, added logging
This commit is contained in:
10
templates/admin/items/item_change.jinja
Normal file
10
templates/admin/items/item_change.jinja
Normal file
@@ -0,0 +1,10 @@
|
||||
{% extends base|none("admin/base.jinja") %}
|
||||
|
||||
{% block content %}
|
||||
<div class="ui container">
|
||||
<h1>Update {{item_model.name}} in {{item_info.name}}</h1>
|
||||
{% set fields = item_info.fields %}
|
||||
{% set form = { 'action': item.change_url } %}
|
||||
{% include "/admin/items/item_change_form.jinja" %}
|
||||
</div>
|
||||
{% endblock content %}
|
||||
16
templates/admin/items/item_change_form.jinja
Normal file
16
templates/admin/items/item_change_form.jinja
Normal file
@@ -0,0 +1,16 @@
|
||||
<form action="{{form.action}}" method="{{form.method|default('POST')}}" class="ui form">
|
||||
<!--noformat-->
|
||||
{% from "/admin/items/items.jinja" import field_widget %}
|
||||
{% for field_name, field_defs in fields %}
|
||||
{% if item %}
|
||||
{% set field_value = item.fields[field_name]|none("") %}
|
||||
{% else %}
|
||||
{% set field_value = "" %}
|
||||
{% endif %}
|
||||
<div class="field">
|
||||
{{ field_widget(field_name, field_defs, field_value) }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
<!--noformat-->
|
||||
<button class="ui button" type="submit">Create</button>
|
||||
</form>
|
||||
@@ -1,22 +1,17 @@
|
||||
{% extends base|none("admin/base.jinja") %}
|
||||
|
||||
{% block content %}
|
||||
{% from "/admin/items/items.jinja" import field_widget %}
|
||||
<div class="ui container">
|
||||
<h1>Create {{item_model.name}} in {{item_info.name}}</h1>
|
||||
|
||||
<form action="{{item_model.add_url}}" method="POST" class="ui form">
|
||||
<!--noformat-->
|
||||
{% set fields = item_info.fields %}
|
||||
{% for field_name, field_defs in fields %}
|
||||
{% if item %}
|
||||
{% set field_value = item.fields[field_name]|none("") %}
|
||||
{% else %}
|
||||
{% set field_value = "" %}
|
||||
{% endif %}
|
||||
{{ field_widget(field_name, field_defs, field_value) }}
|
||||
{% endfor %}
|
||||
<button class="ui button" type="submit">Create</button>
|
||||
</form>
|
||||
{% block navigation_bar %}
|
||||
<div class="ui container">
|
||||
<button hx-get="{{ item_model.admin_url }}" hx-target="#main" hx-push-url="true">List Items</button>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% set fields = item_info.fields %}
|
||||
{% set form = { 'action': item_model.add_url } %}
|
||||
{% include "/admin/items/item_change_form.jinja" %}
|
||||
</div>
|
||||
{% endblock content %}
|
||||
@@ -1,57 +1,84 @@
|
||||
{% extends base|none("admin/base.jinja") %}
|
||||
|
||||
{% block content %}
|
||||
<div class="ui container">
|
||||
<h1>List of {{ item_info.name }}</h1>
|
||||
|
||||
{% block search_bar %}
|
||||
<div class="ui icon input">
|
||||
<input type="text" placeholder="Search...">
|
||||
<i class="circular search link icon"></i>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block navigation_bar %}
|
||||
<div class="ui container">
|
||||
<button hx-get="{{ item_model.add_url }}" hx-target="#main" hx-push-url="true">Create New</button>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% if item_list %}
|
||||
{% set item_keys = item_info.display_list or item_list|table_keys %}
|
||||
{% block search_bar %}
|
||||
<div class="ui icon input">
|
||||
<input type="text" placeholder="Search...">
|
||||
<i class="circular search link icon"></i>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% if item_info.lookup_key in item_keys %}
|
||||
{% set primary_key = item_info.lookup_key %}
|
||||
{% endif %}
|
||||
{% if item_list %}
|
||||
{% set item_keys = item_info.display_list or item_list|table_keys %}
|
||||
|
||||
<div class="ui basic container">
|
||||
<table class="ui very compact celled table head stuck unstackable">
|
||||
<caption>{{ item_info.name|none(content) }}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
{% for key in item_keys %}
|
||||
{% if key==primary_key %}
|
||||
<th class="blue"><i class="key icon"></i>
|
||||
{{ key|capitalize }}
|
||||
</th>
|
||||
{% else %}
|
||||
<th>{{ key|capitalize }}</th>
|
||||
{% endif %}
|
||||
{% if item_info.lookup_key in item_keys %}
|
||||
{% set primary_key = item_info.lookup_key %}
|
||||
{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</thead>
|
||||
<div class="ui basic container">
|
||||
<table class="ui very compact celled table head stuck unstackable">
|
||||
<caption>{{ item_info.name }}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="collapsing grey"></th>
|
||||
{% for key in item_keys %}
|
||||
{% if key==primary_key %}
|
||||
<th class="blue"><i class="key icon"></i>
|
||||
{{ key|capitalize }}
|
||||
</th>
|
||||
{% else %}
|
||||
<th>{{ key|capitalize }}</th>
|
||||
{% endif %}
|
||||
|
||||
<tbody>
|
||||
{% for item in item_list %}
|
||||
<tr>
|
||||
{% for key in item_keys %}
|
||||
{% if key==primary_key %}
|
||||
<td class="selectable warning">{% if item.detail_url %}<a href="{{item.detail_url}}"
|
||||
hx-get="{{item.detail_url}}" hx-target="#main" hx-push-url="true">{{
|
||||
{% endfor %}
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{% for item in item_list %}
|
||||
<tr>
|
||||
<td class="collapsing">
|
||||
<div class="ui buttons">
|
||||
<button class="ui compact icon button left attached" {% if item.detail_url %} hx-get="{{item.detail_url}}"
|
||||
hx-target="#main" hx-push-url="true" {% endif %}>
|
||||
<i class="eye icon"></i>
|
||||
|
||||
</button>
|
||||
<button class="ui compact icon button right attached" {% if item.change_url %}
|
||||
hx-get="{{item.change_url}}" hx-target="#main" hx-push-url="true" {% endif %}>
|
||||
<i class="edit icon"></i>
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
{% for key in item_keys %}
|
||||
{% if key==primary_key %}
|
||||
<td class="selectable warning">{% if item.change_url %}<a href="{{item.change_url}}"
|
||||
hx-get="{{item.change_url}}" hx-target="#main" hx-push-url="true">{{
|
||||
item.fields[key] }}</a>{%
|
||||
else %}{{item.fields[key] }}{% endif %}</td>
|
||||
{% else %}
|
||||
<td>{{ item.fields[key] }}</td>{% endif %}
|
||||
else %}{{item.fields[key] }}{% endif %}</td>
|
||||
{% else %}
|
||||
<td>{{ item.fields[key] }}</td>{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
</tfoot>
|
||||
</table>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
No Items found.
|
||||
|
||||
Reference in New Issue
Block a user