From 4d2f6477238a3b7d9fd8d39174e2cd069370bfdc Mon Sep 17 00:00:00 2001
From: Michael Meisinger Associations
")
fragments.append("FROM
")
fragments.append("")
- fragments.append("
")
+ fragments.append("Type Name ID Predicate ")
obj_list, assoc_list = Container.instance.resource_registry.find_subjects(object=resid, id_only=False)
for obj,assoc in zip(obj_list,assoc_list):
fragments.append("Type Name ID Predicate Command ")
- fragments.append(" " % (
- build_type_link(obj._get_type()), obj.name, build_link(assoc.s, "/view/%s" % assoc.s), build_link(assoc.p, "/assoc?predicate=%s" % assoc.p)))
+ fragments.append("%s %s %s %s %s %s %s %s %s " % (
+ build_type_link(obj._get_type()), obj.name, build_link(assoc.s, "/view/%s" % assoc.s),
+ build_link(assoc.p, "/assoc?predicate=%s" % assoc.p), build_link("Delete", "/cmd/delete?rid=%s" % assoc._id)))
fragments.append("
Type | Name | ID | Predicate | |
---|---|---|---|---|
Type | Name | ID | Predicate | Command |
%s | %s | %s | %s | %s | %s | %s | %s | %s | " % ( + build_type_link(obj._get_type()), obj.name, build_link(assoc.o, "/view/%s" % assoc.o), + build_link(assoc.p, "/assoc?predicate=%s" % assoc.p), build_link("Delete", "/cmd/delete?rid=%s" % assoc._id))) fragments.append("
", ] @@ -338,12 +362,27 @@ def process_command(cmd): return build_page(content) except Exception, e: - return build_simple_page("Error: %s" % traceback.format_exc()) + return build_error_page(traceback.format_exc()) def _process_cmd_delete(resource_id): Container.instance.resource_registry.delete(resource_id) return "OK" +def _process_cmd_link_model(resource_id): + model_id = get_arg('model') + from interface.services.sa.iinstrument_management_service import InstrumentManagementServiceClient + ims_cl = InstrumentManagementServiceClient() + ims_cl.assign_instrument_model_to_instrument_device(model_id, resource_id) + redir_link = flask.redirect("/") + return "OK" + +def _process_cmd_unlink_model(resource_id): + model_id = get_arg('model') + from interface.services.sa.iinstrument_management_service import InstrumentManagementServiceClient + ims_cl = InstrumentManagementServiceClient() + ims_cl.unassign_instrument_model_from_instrument_device(model_id, resource_id) + redir_link = flask.redirect("/") + return "OK" # ---------------------------------------------------------------------------------------- @@ -375,7 +414,7 @@ def process_assoc_list(): except NotFound: return flask.redirect("/") except Exception, e: - return build_simple_page("Error: %s" % traceback.format_exc()) + return build_error_page(traceback.format_exc()) # ---------------------------------------------------------------------------------------- @@ -395,7 +434,7 @@ def process_nested(rid): return build_page(content) except Exception, e: - return build_simple_page("Error: %s" % traceback.format_exc()) + return build_error_page(traceback.format_exc()) def find_subordinate_entity(self, parent_resource_id='', child_resource_type_list=None): @@ -472,7 +511,7 @@ def process_dir_path(path): except NotFound: return flask.redirect("/") except Exception, e: - return build_simple_page("Error: %s" % traceback.format_exc()) + return build_error_page(traceback.format_exc()) def build_dir_path(path): if path.startswith('/'): @@ -524,7 +563,7 @@ def process_events(): except NotFound: return flask.redirect("/") except Exception, e: - return build_simple_page("Error: %s" % traceback.format_exc()) + return build_error_page(traceback.format_exc()) def build_events_table(events_list): fragments = [ @@ -558,6 +597,15 @@ def build_link(text, link): def build_standard_menu(): return "
" +def build_error_page(msg): + fragments = [ + build_standard_menu(), + "%s" % msg, + ] + content = "\n".join(fragments) + return build_page(content) + def build_simple_page(content): return build_page("
" + content + "") @@ -569,13 +617,25 @@ def build_page(content, title=""): "table,th,td {font-size:small;border: 1px solid black;border-collapse:collapse;padding-left:3px;padding-right:3px;vertical-align:top;}", "th {background-color:lightgray;}", ".preform {white-space:pre;font-family:monospace;font-size:120%;}", - "", + "", + "" "", content, "