/sql/postgresql/intranet-invoices-drop.sql

https://gitlab.com/project-open/intranet-invoices · SQL · 74 lines · 43 code · 14 blank · 17 comment · 1 complexity · bf4bf9e588c87e23128a81b7162df664 MD5 · raw file

  1. -- /packages/intranet-invoices/sql/oracle/intranet-invoices-drop.sql
  2. --
  3. -- Copyright (C) 2003 - 2009 ]project-open[
  4. --
  5. -- All rights reserved. Please check
  6. -- http://www.project-open.com/license/ for details.
  7. --
  8. -- @author frank.bergmann@project-open.com
  9. -- BEGIN
  10. select im_component_plugin__del_module('intranet-invoices');
  11. select im_menu__del_module('intranet-invoices');
  12. -- END;
  13. --
  14. -- commit;
  15. -- before remove priviliges remove granted permissions
  16. create or replace function inline_revoke_permission (varchar)
  17. returns integer as '
  18. DECLARE
  19. p_priv_name alias for $1;
  20. BEGIN
  21. lock table acs_permissions_lock;
  22. delete from acs_permissions
  23. where privilege = p_priv_name;
  24. delete from acs_privilege_hierarchy
  25. where child_privilege = p_priv_name;
  26. return 0;
  27. end;' language 'plpgsql';
  28. -- begin
  29. select inline_revoke_permission ('view_invoices');
  30. select acs_privilege__drop_privilege ('view_invoices');
  31. select inline_revoke_permission ('add_invoices');
  32. select acs_privilege__drop_privilege ('add_invoices');
  33. select inline_revoke_permission ('view_finance');
  34. select acs_privilege__drop_privilege ('view_finance');
  35. select inline_revoke_permission ('add_finance');
  36. select acs_privilege__drop_privilege ('add_finance');
  37. -- end;
  38. delete from im_biz_object_urls where object_type='im_invoice';
  39. delete from im_biz_object_urls where object_type='im_invoice_items';
  40. delete from acs_rels where object_id_two in (select invoice_id from im_invoices);
  41. delete from im_invoice_items;
  42. delete from im_payments where cost_id in (select invoice_id from im_invoices);
  43. delete from im_costs where cost_id in (select invoice_id from im_invoices);
  44. delete from im_invoices;
  45. delete from acs_objects where object_type = 'im_invoice';
  46. select acs_object_type__drop_type('im_invoice', 'f');
  47. delete from acs_objects where object_type = 'im_invoice_item';
  48. select acs_object_type__drop_type('im_invoice_item', 'f');
  49. delete from im_view_columns where view_id >= 30 and view_id <=39;
  50. delete from im_views where view_id >= 30 and view_id <=39;
  51. -- drop sequence im_invoices_seq;
  52. drop sequence if exists im_invoice_items_seq;
  53. drop table im_invoice_items;
  54. -- drop table im_invoices_audit;
  55. drop view im_invoices_active;
  56. drop table im_invoices;