-- @author jennie@ybos.net
-- @author wirth@ybos.net
--openacs port @samir.symphinity.com
--drop triggers
drop trigger faq_sc__itrg on faq_q_and_as;
drop trigger faq_sc__dtrg on faq_q_and_as;
drop trigger faq_sc__utrg on faq_q_and_as;
drop function faq_sc__itrg ();
drop function faq_sc__dtrg ();
drop function faq_sc__utrg ();
--drop functions
drop function faq__new_q_and_a (integer,integer,varchar,varchar,integer,varchar,timestamptz,integer,varchar,integer);
drop function faq__delete_q_and_a (integer);
drop function faq__new_faq (integer, varchar, boolean,varchar,timestamptz,integer,varchar,integer );
drop function faq__delete_faq (integer);
drop function faq__name (integer);
drop function faq__clone (integer,integer);
--drop permissions
delete from acs_permissions where object_id in (select entry_id from faq_q_and_as);
delete from acs_permissions where object_id in (select faq_id from faqs);
--
-- procedure inline_0/0
--
CREATE OR REPLACE FUNCTION inline_0(
) RETURNS integer AS $$
DECLARE
object_rec record;
default_context acs_objects.object_id%TYPE;
registered_users acs_objects.object_id%TYPE;
the_public acs_objects.object_id%TYPE;
BEGIN
--drop objects
for object_rec in select object_id from acs_objects where object_type='faq'
loop
PERFORM acs_object__delete( object_rec.object_id );
end loop;
for object_rec in select object_id from acs_objects where object_type='faq_q_and_a'
loop
PERFORM acs_object__delete( object_rec.object_id );
end loop;
-- bind privileges to global names
default_context := acs__magic_object_id('default_context');
registered_users := acs__magic_object_id('registered_users');
the_public := acs__magic_object_id('the_public');
-- revoke from the public the power to view faqs
PERFORM acs_permission__revoke_permission (default_context, the_public, 'faq_view_faq');
-- revoke from the public the power to view q_and_as
PERFORM acs_permission__revoke_permission ( default_context,the_public, 'faq_view_q_and_a');
--drop permissions
PERFORM acs_privilege__remove_child('create','faq_create_faq');
PERFORM acs_privilege__remove_child('create','faq_create_q_and_a');
PERFORM acs_privilege__remove_child('write','faq_modify_faq');
PERFORM acs_privilege__remove_child('write','faq_modify_q_and_a');
PERFORM acs_privilege__remove_child('read','faq_view_faq');
PERFORM acs_privilege__remove_child('read','faq_view_q_and_a');
PERFORM acs_privilege__remove_child('delete','faq_delete_faq');
PERFORM acs_privilege__remove_child('delete','faq_delete_q_and_a');
PERFORM acs_privilege__remove_child('admin','faq_admin_faq');
PERFORM acs_privilege__remove_child('faq_admin_faq', 'faq_view_faq');
PERFORM acs_privilege__remove_child('faq_admin_faq', 'faq_create_faq');
PERFORM acs_privilege__remove_child('faq_admin_faq', 'faq_delete_faq');
PERFORM acs_privilege__remove_child('faq_admin_faq', 'faq_modify_faq');
PERFORM acs_privilege__remove_child('faq_admin_q_and_a', 'faq_view_q_and_a');
PERFORM acs_privilege__remove_child('faq_admin_q_and_a', 'faq_create_q_and_a');
PERFORM acs_privilege__remove_child('faq_admin_q_and_a', 'faq_delete_q_and_a');
PERFORM acs_privilege__remove_child('faq_admin_q_and_a', 'faq_modify_q_and_a');
PERFORM acs_privilege__remove_child('faq_admin_faq', 'faq_admin_q_and_a');
PERFORM acs_privilege__drop_privilege('faq_view_faq');
PERFORM acs_privilege__drop_privilege('faq_create_faq');
PERFORM acs_privilege__drop_privilege('faq_delete_faq');
PERFORM acs_privilege__drop_privilege('faq_modify_faq');
PERFORM acs_privilege__drop_privilege('faq_view_q_and_a');
PERFORM acs_privilege__drop_privilege('faq_create_q_and_a');
PERFORM acs_privilege__drop_privilege('faq_delete_q_and_a');
PERFORM acs_privilege__drop_privilege('faq_modify_q_and_a');
PERFORM acs_privilege__drop_privilege('faq_admin_faq');
PERFORM acs_privilege__drop_privilege('faq_admin_q_and_a');
return 0;
END;
$$ LANGUAGE plpgsql;
select inline_0();
drop function inline_0();
--drop table
drop table faq_q_and_as;
drop table faqs;
--drop type
select acs_object_type__drop_type(
'faq',
't'
);
select acs_object_type__drop_type(
'faq_q_and_a',
't'
);