More entry code and some fixups.

This commit is contained in:
Yaro Kasear 2025-09-22 14:08:24 -05:00
parent 2ae96e5c80
commit d8e8790987
7 changed files with 233 additions and 57 deletions

View file

@ -21,35 +21,65 @@ def init_entry_routes(app):
fields_spec = []
layout = []
if model == "inventory":
fields["fields"] = ["label", "name", "barcode", "serial"]
fields["fields"] = ["label", "name", "serial", "barcode", "brand", "model", "device_type", "owner", "location", "condition", "image"]
fields_spec = [
{"name": "label", "label": "", "row": "label", "wrap": {"class": "col"}},
{"name": "name", "label": "Name", "row": "identification", "wrap": {"class": "col"}},
{"name": "barcode", "label": "Bar Code #", "row": "identification", "wrap": {"class": "col"}},
{"name": "serial", "label": "Serial #", "row": "identification", "wrap": {"class": "col"}},
{"name": "label", "type": "display", "label": "",
"label_attrs": {"class": "display-6 me-2"}, "row": "label",
"attrs": {"class": "display-6 mb-3"}},
{"name": "name", "row": "names", "label": "Name", "wrap": {"class": "col-3"},
"attrs": {"class": "form-control"}, "label_attrs": {"class": "form-label"}},
{"name": "serial", "row": "names", "label": "Serial #", "wrap": {"class": "col"},
"attrs": {"class": "form-control"}, "label_attrs": {"class": "form-label"}},
{"name": "barcode", "row": "names", "label": "Barcode #", "wrap": {"class": "col"},
"attrs": {"class": "form-control"}, "label_attrs": {"class": "form-label"}},
{"name": "brand", "label_spec": "{name}", "row": "device", "wrap": {"class": "col"},
"attrs": {"class": "form-control"}, "label": "Brand", "label_attrs": {"class": "form-label"}},
{"name": "model", "row": "device", "wrap": {"class": "col"}, "attrs": {"class": "form-control"},
"label": "Model #", "label_attrs": {"class": "form-label"}},
{"name": "device_type", "label_spec": "{description}", "row": "device", "wrap": {"class": "col"},
"attrs": {"class": "form-control"}, "label": "Device Type", "label_attrs": {"class": "form-label"}},
{"name": "owner", "row": "status", "label": "Contact", "wrap": {"class": "col"},
"attrs": {"class": "form-control"}, "label_attrs": {"class": "form-label"},
"label_spec": "{first_name} {last_name}"},
{"name": "location", "row": "status", "label": "Location", "wrap": {"class": "col"},
"attrs": {"class": "form-control"}, "label_attrs": {"class": "form-label"},
"label_spec": "{name} - {room_function.description}"},
{"name": "condition", "row": "status", "label": "Condition", "wrap": {"class": "col"},
"attrs": {"class": "form-control"}, "label_attrs": {"class": "form-label"}},
{"name": "image", "label": "", "row": "image", "type": "template", "label_spec": "{filename}",
"template": "image_display.html", "attrs": {"class": "img-fluid img-thumbnail"}}
]
layout = [
{"name": "label", "order": 10, "attrs": {"class": "row"}},
{"name": "identification", "order": 20, "attrs": {"class": "row"}},
{"name": "label", "order": 5},
{"name": "kitchen_sink", "order": 6, "attrs": {"class": "row"}},
{"name": "everything", "order": 10, "attrs": {"class": "col"}, "parent": "kitchen_sink"},
{"name": "names", "order": 20, "attrs": {"class": "row"}, "parent": "everything"},
{"name": "device", "order": 30, "attrs": {"class": "row mt-2"}, "parent": "everything"},
{"name": "status", "order": 40, "attrs": {"class": "row mt-2"}, "parent": "everything"},
{"name": "image", "order": 50, "attrs": {"class": "col-4"}, "parent": "kitchen_sink"}
]
elif model.lower() == 'user':
fields["fields"] = ["label", "first_name", "last_name", "title", "active", "staff", "location", "supervisor"]
fields_spec = [
{"name": "label", "row": "label", "label": "User Record",
"label_attrs": {"class": "display-6"}, "type": "display",
"attrs": {"class": "display-4 mb-3"}, "wrap": {"class": "text-center"}},
{"name": "label", "row": "label", "label": "",
"label_attrs": {"class": "display-6 me-2"}, "type": "display",
"attrs": {"class": "display-6 mb-3"}},
{"name": "last_name", "label": "Last Name", "label_attrs": {"class": "form-label"},
"attrs": {"placeholder": "Doe", "class": "form-control"},
"row": "name", "wrap": {"class": "col-2"}},
"row": "name", "wrap": {"class": "col-3"}},
{"name": "first_name", "label": "First Name", "label_attrs": {"class": "form-label"},
"attrs": {"placeholder": "John", "class": "form-control"},
"row": "name", "wrap": {"class": "col-2"}},
"row": "name", "wrap": {"class": "col-3"}},
{"name": "title", "label": "Title", "label_attrs": {"class": "form-label"},
"attrs": {"placeholder": "President of the Universe", "class": "form-control"},
"row": "name", "wrap": {"class": "col-2"}},
"row": "name", "wrap": {"class": "col-3"}},
{"name": "supervisor", "label": "Supervisor", "label_attrs": {"class": "form-label"},
"label_spec": "{first_name} {last_name}", "row": "details", "wrap": {"class": "col-3"},
@ -67,8 +97,8 @@ def init_entry_routes(app):
]
layout = [
{"name": "label", "order": 0},
{"name": "name", "order": 10, "attrs": {"class": "row mb-3"}},
{"name": "details", "order": 20, "attrs": {"class": "row"}},
{"name": "name", "order": 10, "attrs": {"class": "row"}},
{"name": "details", "order": 20, "attrs": {"class": "row mt-2"}},
{"name": "checkboxes", "order": 30, "parent": "name", "attrs": {"class": "col d-flex flex-column justify-content-end"}}
]
elif model == "worklog":
@ -85,7 +115,7 @@ def init_entry_routes(app):
instance=obj,
fields_spec=fields_spec,
layout=layout,
submit_attrs={"class": "btn btn-primary"}
submit_attrs={"class": "btn btn-primary mt-3"}
)
return render_template("entry.html", form=form)