Working on improving form logic.
This commit is contained in:
parent
86c4f88b78
commit
260411d4ee
5 changed files with 158 additions and 77 deletions
|
|
@ -9,6 +9,9 @@ from crudkit.core.base import Base, CRUDMixin
|
|||
|
||||
class Inventory(Base, CRUDMixin):
|
||||
__tablename__ = "inventory"
|
||||
__crudkit_field_requires__ = {
|
||||
"label": ["name", "barcode", "serial"],
|
||||
}
|
||||
|
||||
barcode: Mapped[Optional[str]] = mapped_column(Unicode(255), index=True)
|
||||
name: Mapped[Optional[str]] = mapped_column(Unicode(255), index=True)
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ def init_entry_routes(app):
|
|||
fields_spec = []
|
||||
layout = []
|
||||
if model == "inventory":
|
||||
fields["fields"] = ["label", "name", "serial", "barcode", "brand", "model", "device_type", "owner", "location", "condition", "image"]
|
||||
fields["fields"] = ["label", "name", "serial", "barcode", "brand", "model", "device_type", "owner", "location", "condition", "image", "notes"]
|
||||
fields_spec = [
|
||||
{"name": "label", "type": "display", "label": "", "row": "label",
|
||||
"attrs": {"class": "display-6 mb-3"}},
|
||||
|
|
@ -50,7 +50,10 @@ def init_entry_routes(app):
|
|||
"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"}}
|
||||
"template": "image_display.html", "attrs": {"class": "img-fluid img-thumbnail"}},
|
||||
|
||||
{"name": "notes", "type": "textarea", "label": "Notes", "row": "notes", "wrap": {"class": "col"},
|
||||
"attrs": {"class": "form-control", "rows": 10}},
|
||||
]
|
||||
layout = [
|
||||
{"name": "label", "order": 5},
|
||||
|
|
@ -59,7 +62,8 @@ def init_entry_routes(app):
|
|||
{"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"}
|
||||
{"name": "notes", "order": 45, "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"]
|
||||
|
|
@ -91,7 +95,7 @@ def init_entry_routes(app):
|
|||
"row": "checkboxes", "attrs": {"class": "form-check-input"}, "wrap": {"class": "form-check"}},
|
||||
|
||||
{"name": "staff", "label": "Staff Member", "label_attrs": {"class": "form-check-label"},
|
||||
"row": "checkboxes", "attrs": {"class": "form-check-input"}, "wrap": {"class": "form-check"}},
|
||||
"row": "checkboxes", "attrs": {"class": "form-check-input"}, "wrap": {"class": "form-check"}}
|
||||
]
|
||||
layout = [
|
||||
{"name": "label", "order": 0},
|
||||
|
|
@ -109,13 +113,13 @@ def init_entry_routes(app):
|
|||
"label_spec": "{first_name} {last_name}", "attrs": {"class": "form-control"},
|
||||
"label_attrs": {"class": "form-label"}},
|
||||
{"name": "work_item", "row": "ownership", "wrap": {"class": "col"}, "label": "Work Item",
|
||||
"label_spec": "{name}", "attrs": {"class": "form-control"}, "label_attrs": {"class": "form-label"}},
|
||||
"label_spec": "{label}", "attrs": {"class": "form-control"}, "label_attrs": {"class": "form-label"}},
|
||||
|
||||
{"name": "start_time", "type": "datetime", "attrs": {"class": "form-control"}, "row": "timestamps",
|
||||
"wrap": {"class": "col"}, "label_attrs": {"class": "form-label"}},
|
||||
"wrap": {"class": "col"}, "label_attrs": {"class": "form-label"}, "label": "Start"},
|
||||
{"name": "end_time", "type": "datetime", "attrs": {"class": "form-control"}, "row": "timestamps",
|
||||
"wrap": {"class": "col"}, "label_attrs": {"class": "form-label"}},
|
||||
{"name": "complete", "label": "Complete", "label-attrs": {"class": "form-check-label"},
|
||||
"wrap": {"class": "col"}, "label_attrs": {"class": "form-label"}, "label": "End"},
|
||||
{"name": "complete", "label": "Complete", "label_attrs": {"class": "form-check-label"},
|
||||
"attrs": {"class": "form-check-input"}, "row": "timestamps", "wrap": {"class": "col form-check"}},
|
||||
|
||||
{"name": "updates", "label": "Updates", "row": "updates", "label_attrs": {"class": "form-label"},
|
||||
|
|
@ -123,7 +127,7 @@ def init_entry_routes(app):
|
|||
]
|
||||
layout = [
|
||||
{"name": "label", "order": 0},
|
||||
{"name": "ownership", "order": 10, "attrs": {"class": "row"}},
|
||||
{"name": "ownership", "order": 10, "attrs": {"class": "row mb-2"}},
|
||||
{"name": "timestamps", "order": 20, "attrs": {"class": "row d-flex align-items-center"}},
|
||||
{"name": "updates", "order": 30, "attrs": {"class": "row"}}
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue