diff --git a/crudkit/ui/fragments.py b/crudkit/ui/fragments.py index ddef704..0fda60a 100644 --- a/crudkit/ui/fragments.py +++ b/crudkit/ui/fragments.py @@ -677,8 +677,9 @@ def _build_href(spec: Dict[str, Any], row: Dict[str, Any], obj) -> Optional[str] if any(v is None for v in params.values()): return None try: - return url_for('crudkit.' + spec["endpoint"], **params) + return url_for(spec["endpoint"], **params) except Exception as e: + print(f"Cannot create endpoint for {spec['endpoint']}: {str(e)}") return None def _humanize(field: str) -> str: @@ -725,7 +726,6 @@ def get_crudkit_template(env, name): def render_field(field, value): env = get_env() - print(field) # 1) custom template field field_type = field.get('type', 'text') diff --git a/inventory/routes/listing.py b/inventory/routes/listing.py index 3c31b8c..1cac645 100644 --- a/inventory/routes/listing.py +++ b/inventory/routes/listing.py @@ -43,7 +43,7 @@ def init_listing_routes(app): {"field": "model"}, {"field": "device_type.description", "label": "Device Type"}, {"field": "condition"}, - {"field": "owner.label", "label": "Contact", "link": {"endpoint": "user.get_item", "params": {"id": "{owner.id}"}}}, + {"field": "owner.label", "label": "Contact", "link": {"endpoint": "entry.entry", "params": {"id": "{owner.id}", "model": "user"}}}, {"field": "location.label", "label": "Room"}, ] elif model.lower() == 'user': @@ -60,7 +60,7 @@ def init_listing_routes(app): {"field": "label", "label": "Full Name"}, {"field": "last_name"}, {"field": "first_name"}, - {"field": "supervisor.label", "label": "Supervisor", "link": {"endpoint": "user.get_item", "params": {"id": "{supervisor.id}"}}}, + {"field": "supervisor.label", "label": "Supervisor", "link": {"endpoint": "entry.entry", "params": {"id": "{supervisor.id}", "model": "user"}}}, {"field": "staff", "format": "yesno"}, {"field": "active", "format": "yesno"}, ] @@ -80,8 +80,8 @@ def init_listing_routes(app): "complete", ]} columns = [ - {"field": "work_item.label", "label": "Work Item", "link": {"endpoint": "inventory.get_item", "params": {"id": "{work_item.id}"}}}, - {"field": "contact.label", "label": "Contact", "link": {"endpoint": "user.get_item", "params": {"id": "{contact.id}"}}}, + {"field": "work_item.label", "label": "Work Item", "link": {"endpoint": "entry.entry", "params": {"id": "{work_item.id}", "model": "inventory"}}}, + {"field": "contact.label", "label": "Contact", "link": {"endpoint": "entry.entry", "params": {"id": "{contact.id}", "model": "user"}}}, {"field": "start_time", "format": "datetime"}, {"field": "end_time", "format": "datetime"}, {"field": "complete", "format": "yesno"}, diff --git a/inventory/templates/crudkit/table.html b/inventory/templates/crudkit/table.html index f7e1bb5..2e12374 100644 --- a/inventory/templates/crudkit/table.html +++ b/inventory/templates/crudkit/table.html @@ -10,7 +10,7 @@
{% if rows %} {% for row in rows %} -