Redesign1 #1

Merged
yaro merged 36 commits from Redesign1 into main 2025-09-22 14:12:39 -05:00
5 changed files with 23 additions and 2 deletions
Showing only changes of commit 40e727f5bf - Show all commits

2
.gitignore vendored
View file

@ -10,4 +10,4 @@ inventory/static/uploads/*
alembic.ini
alembic/
*.egg-info/
test-app/
test_app/

View file

@ -27,3 +27,5 @@ def generate_crud_blueprint(model, service):
def delete_item(id):
service.delete(id)
return '', 204
return bp

View file

@ -11,3 +11,16 @@ def render_field(field_name, value):
def render_table(objects):
template = env.get_template('table.html')
return template.render(objects=objects)
def render_form(model_cls, values):
template = env.get_template('form.html')
fields = []
for col in model_cls.__table__.columns:
if col.name == 'id':
continue
if col.default or col.server_default or col.onupdate:
continue
if col.name in ('created_at', 'updated_at'):
continue
fields.append(col)
return template.render(fields=fields, values=values, render_field=render_field)

View file

@ -0,0 +1,6 @@
<form method="POST">
{% for field in fields %}
{{ render_field(field.name, values.get(field.name, '')) }}
{% endfor %}
<button type="submit">Create</button>
</form>

View file

@ -3,6 +3,6 @@
{% for field in objects[0].__table__.columns %}<th>{{ field.name }}</th>{% endfor %}
</tr>
{% for obj in objects %}
<tr>{% for field in obj.__table__columns %}<td>{{ getattr(obj, field.name) }}</td>{% endfor %}</tr>
<tr>{% for field in obj.__table__.columns %}<td>{{ obj[field.name] }}</td>{% endfor %}</tr>
{% endfor %}
</table>