def custom_prep(r): # Call standard postp if callable(standard_prep): result = standard_prep(r) if r.method == "create": incident_report_id = r.get_vars.get("incident_report_id") if incident_report_id: if r.http == "GET": from s3 import s3_truncate rtable = s3db.event_incident_report incident_report = current.db( rtable.id == incident_report_id).select( rtable.name, rtable.incident_type_id, rtable.location_id, limitby=(0, 1), ).first() table = r.table table.name.default = s3_truncate( incident_report.name, 64) table.incident_type_id.default = incident_report.incident_type_id table.location_id.default = incident_report.location_id elif r.http == "POST": def create_onaccept(form): s3db.event_incident_report_incident.insert( incident_id=form.vars.id, incident_report_id=incident_report_id, ) r.resource.configure(create_onaccept=create_onaccept, ) return True
def custom_prep(r): # Call standard postp if callable(standard_prep): result = standard_prep(r) if r.method == "create": incident_report_id = r.get_vars.get("incident_report_id") if incident_report_id: if r.http == "GET": from s3 import s3_truncate rtable = s3db.event_incident_report incident_report = current.db(rtable.id == incident_report_id).select(rtable.name, rtable.incident_type_id, rtable.location_id, limitby = (0, 1), ).first() table = r.table table.name.default = s3_truncate(incident_report.name, 64) table.incident_type_id.default = incident_report.incident_type_id table.location_id.default = incident_report.location_id elif r.http == "POST": def create_onaccept(form): s3db.event_incident_report_incident.insert(incident_id = form.vars.id, incident_report_id = incident_report_id, ) r.resource.configure(create_onaccept = create_onaccept, ) return True
def custom_prep(r): # Call standard postp if callable(standard_prep): result = standard_prep(r) if not result: return False resource = r.resource # Redirect to action plan after create resource.configure(create_next=URL(c="event", f="incident", args=["[id]", "plan"]), ) if r.method == "create": incident_report_id = r.get_vars.get("incident_report_id") if incident_report_id: # Got here from incident report assign => "New Incident" # - prepopulate incident name from report title # - copy incident type and location from report # - onaccept: link the incident report to the incident if r.http == "GET": from s3 import s3_truncate rtable = s3db.event_incident_report incident_report = current.db( rtable.id == incident_report_id).select( rtable.name, rtable.incident_type_id, rtable.location_id, limitby=(0, 1), ).first() table = r.table table.name.default = s3_truncate( incident_report.name, 64) table.incident_type_id.default = incident_report.incident_type_id table.location_id.default = incident_report.location_id elif r.http == "POST": def create_onaccept(form): s3db.event_incident_report_incident.insert( incident_id=form.vars.id, incident_report_id=incident_report_id, ) s3db.add_custom_callback( "event_incident", "create_onaccept", create_onaccept, ) return True
def custom_prep(r): # Call standard postp if callable(standard_prep): result = standard_prep(r) if not result: return False resource = r.resource # Redirect to action plan after create resource.configure(create_next = URL(c="event", f="incident", args = ["[id]", "plan"]), ) if r.method == "create": incident_report_id = r.get_vars.get("incident_report_id") if incident_report_id: # Got here from incident report assign => "New Incident" # - prepopulate incident name from report title # - copy incident type and location from report # - onaccept: link the incident report to the incident if r.http == "GET": from s3 import s3_truncate rtable = s3db.event_incident_report incident_report = current.db(rtable.id == incident_report_id).select(rtable.name, rtable.incident_type_id, rtable.location_id, limitby = (0, 1), ).first() table = r.table table.name.default = s3_truncate(incident_report.name, 64) table.incident_type_id.default = incident_report.incident_type_id table.location_id.default = incident_report.location_id elif r.http == "POST": def create_onaccept(form): s3db.event_incident_report_incident.insert(incident_id = form.vars.id, incident_report_id = incident_report_id, ) s3db.add_custom_callback("event_incident", "create_onaccept", create_onaccept, ) return True