authen
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
sp_tr_reports_update_permission
Parameters
Name
Type
Mode
Definition
DECLARE report_category TEXT; BEGIN IF NEW.report_type = 'report' THEN report_category := CASE NEW.category WHEN 'financial' THEN 'Reports/Financial' WHEN 'reservation' THEN 'Reports/Reservation' WHEN 'registration' THEN 'Reports/Registration' WHEN 'marketing_analysis' THEN 'Reports/Marketing' WHEN 'masterfile' THEN 'Reports/Masterfile' END; CASE TG_OP WHEN 'INSERT' THEN INSERT INTO "permission"(code, name, category) VALUES ('8'||lpad(NEW.id::TEXT, 4, '0'), NEW.report_name, report_category) ON CONFLICT DO NOTHING; WHEN 'UPDATE' THEN UPDATE "permission" SET code = '8'||lpad(NEW.id::TEXT, 4, '0'), name = NEW.report_name, category = report_category WHERE code = '8'||lpad(OLD.id::TEXT, 4, '0'); WHEN 'DELETE' THEN DELETE FROM "permission" WHERE code = '8'||lpad(OLD.id::TEXT, 4, '0'); ELSE END CASE; END IF; RETURN NULL; END