code: list+create improvements, expanded notes, added logging

This commit is contained in:
2024-02-07 13:37:35 +01:00
parent fdbc37db06
commit 1c6317808a
18 changed files with 293 additions and 90 deletions

View 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 %}

View 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>

View File

@@ -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 %}

View File

@@ -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.