1: procedure administration_group_add (pretty_name IN varchar, v_short_name IN varchar, v_module IN varchar, v_submodule IN varchar, v_multi_role_p IN varchar, v_url IN varchar )
2: IS
3: v_group_id integer;
4: n_administration_groups integer;
5: v_system_user_id integer;
6: BEGIN
7: if v_submodule is null then
8: select count(group_id) into n_administration_groups
9: from administration_info
10: where module = v_module
11: and submodule is null;
12: else
13: select count(group_id) into n_administration_groups
14: from administration_info
15: where module = v_module
16: and submodule = v_submodule;
17: end if;
18: if n_administration_groups = 0 then
19: -- call procedure defined in community-core.sql to get system user
20: v_system_user_id := system_user_id;
21: select user_group_sequence.nextval into v_group_id from dual;
22: insert into user_groups
23: (group_id, group_type, short_name, group_name, creation_user, creation_ip_address, approved_p, existence_public_p, new_member_policy, multi_role_p)
24: values
25: (v_group_id, 'administration', v_short_name, pretty_name, v_system_user_id, '0.0.0.0', 't', 'f', 'closed', v_multi_role_p);
26: insert into administration_info (group_id, module, submodule, url) values (v_group_id, v_module, v_submodule, v_url);
27: end if;
28: end;
|