-- -- Copyright (C) 2001, 2002 OpenForce, Inc. -- -- This file is part of dotLRN. -- -- dotLRN is free software; you can redistribute it and/or modify it under the -- terms of the GNU General Public License as published by the Free Software -- Foundation; either version 2 of the License, or (at your option) any later -- version. -- -- dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY -- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -- details. -- -- -- The DotLRN memberships packages -- copyright 2001, OpenForce, Inc. -- distributed under the GNU GPL v2 -- -- for Oracle 8/8i. (We're guessing 9i works, too). -- -- ben@openforce.net -- started November 6th, 2001 -- -- -- Basic dotLRN membership rel -- create or replace package dotlrn_member_rel is function new ( rel_id in dotlrn_member_rels.rel_id%TYPE default NULL, rel_type in acs_rels.rel_type%TYPE default 'dotlrn_member_rel', portal_id in dotlrn_member_rels.portal_id%TYPE default NULL, community_id in dotlrn_communities.community_id%TYPE, user_id in users.user_id%TYPE, member_state in membership_rels.member_state%TYPE default 'approved', creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null ) return dotlrn_member_rels.rel_id%TYPE; procedure delete ( rel_id in dotlrn_member_rels.rel_id%TYPE ); end; / show errors; create or replace package body dotlrn_member_rel is function new ( rel_id in dotlrn_member_rels.rel_id%TYPE default NULL, rel_type in acs_rels.rel_type%TYPE default 'dotlrn_member_rel', portal_id in dotlrn_member_rels.portal_id%TYPE default NULL, community_id in dotlrn_communities.community_id%TYPE, user_id in users.user_id%TYPE, member_state in membership_rels.member_state%TYPE default 'approved', creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null ) return dotlrn_member_rels.rel_id%TYPE is v_rel_id membership_rels.rel_id%TYPE; begin v_rel_id:= membership_rel.new( rel_id => rel_id, rel_type => rel_type, object_id_one => community_id, object_id_two => user_id, member_state => dotlrn_member_rel.new.member_state, creation_user => creation_user, creation_ip => creation_ip ); insert into dotlrn_member_rels (rel_id, portal_id) values (v_rel_id, portal_id); return v_rel_id; end; procedure delete ( rel_id in dotlrn_member_rels.rel_id%TYPE ) is begin delete from dotlrn_member_rels where rel_id = dotlrn_member_rel.delete.rel_id; membership_rel.delete(rel_id); end; end; / show errors; create or replace package dotlrn_admin_rel is function new ( rel_id in dotlrn_admin_rels.rel_id%TYPE default NULL, rel_type in acs_rels.rel_type%TYPE default 'dotlrn_admin_rel', community_id in dotlrn_communities.community_id%TYPE, user_id in users.user_id%TYPE, member_state in membership_rels.member_state%TYPE default 'approved', portal_id in dotlrn_member_rels.portal_id%TYPE default null, creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null ) return dotlrn_admin_rels.rel_id%TYPE; procedure delete ( rel_id in dotlrn_admin_rels.rel_id%TYPE ); end; / show errors; create or replace package body dotlrn_admin_rel is function new ( rel_id in dotlrn_admin_rels.rel_id%TYPE default NULL, rel_type in acs_rels.rel_type%TYPE default 'dotlrn_admin_rel', community_id in dotlrn_communities.community_id%TYPE, user_id in users.user_id%TYPE, member_state in membership_rels.member_state%TYPE default 'approved', portal_id in dotlrn_member_rels.portal_id%TYPE default null, creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null ) return dotlrn_admin_rels.rel_id%TYPE is v_rel_id dotlrn_admin_rels.rel_id%TYPE; begin v_rel_id:= dotlrn_member_rel.new( rel_id => rel_id, rel_type => rel_type, community_id => community_id, user_id => user_id, member_state => dotlrn_admin_rel.new.member_state, portal_id => portal_id, creation_user => creation_user, creation_ip => creation_ip ); insert into dotlrn_admin_rels (rel_id) values (v_rel_id); return v_rel_id; end; procedure delete ( rel_id in dotlrn_admin_rels.rel_id%TYPE ) is begin delete from dotlrn_admin_rels where rel_id = dotlrn_admin_rel.delete.rel_id; dotlrn_member_rel.delete(rel_id); end; end; / show errors; create or replace package dotlrn_student_rel is function new ( rel_id in dotlrn_student_rels.rel_id%TYPE default NULL, rel_type in acs_rels.rel_type%TYPE default 'dotlrn_student_rel', portal_id in dotlrn_member_rels.portal_id%TYPE default NULL, class_instance_id in dotlrn_class_instances.class_instance_id%TYPE, user_id in users.user_id%TYPE, member_state in membership_rels.member_state%TYPE default 'approved', creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null ) return dotlrn_student_rels.rel_id%TYPE; procedure delete ( rel_id in dotlrn_student_rels.rel_id%TYPE ); end; / show errors; create or replace package body dotlrn_student_rel is function new ( rel_id in dotlrn_student_rels.rel_id%TYPE default NULL, rel_type in acs_rels.rel_type%TYPE default 'dotlrn_student_rel', portal_id in dotlrn_member_rels.portal_id%TYPE default NULL, class_instance_id in dotlrn_class_instances.class_instance_id%TYPE, user_id in users.user_id%TYPE, member_state in membership_rels.member_state%TYPE default 'approved', creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null ) return dotlrn_student_rels.rel_id%TYPE is v_rel_id dotlrn_student_rels.rel_id%TYPE; begin v_rel_id:= dotlrn_member_rel.new( rel_id => rel_id, rel_type => rel_type, portal_id => portal_id, community_id => class_instance_id, user_id => user_id, member_state => dotlrn_student_rel.new.member_state, creation_user => creation_user, creation_ip => creation_ip ); insert into dotlrn_student_rels (rel_id) values (v_rel_id); return v_rel_id; end; procedure delete ( rel_id in dotlrn_student_rels.rel_id%TYPE ) is begin delete from dotlrn_student_rels where rel_id = dotlrn_student_rel.delete.rel_id; dotlrn_member_rel.delete(rel_id); end; end; / show errors; create or replace package dotlrn_ta_rel is function new ( rel_id in dotlrn_ta_rels.rel_id%TYPE default NULL, rel_type in acs_rels.rel_type%TYPE default 'dotlrn_ta_rel', class_instance_id in dotlrn_class_instances.class_instance_id%TYPE, user_id in users.user_id%TYPE, member_state in membership_rels.member_state%TYPE default 'approved', portal_id in dotlrn_member_rels.portal_id%TYPE, creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null ) return dotlrn_ta_rels.rel_id%TYPE; procedure delete ( rel_id in dotlrn_ta_rels.rel_id%TYPE ); end; / show errors; create or replace package body dotlrn_ta_rel is function new ( rel_id in dotlrn_ta_rels.rel_id%TYPE default NULL, rel_type in acs_rels.rel_type%TYPE default 'dotlrn_ta_rel', class_instance_id in dotlrn_class_instances.class_instance_id%TYPE, user_id in users.user_id%TYPE, member_state in membership_rels.member_state%TYPE default 'approved', portal_id in dotlrn_member_rels.portal_id%TYPE, creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null ) return dotlrn_ta_rels.rel_id%TYPE is v_rel_id dotlrn_ta_rels.rel_id%TYPE; begin v_rel_id:= dotlrn_admin_rel.new( rel_id => rel_id, rel_type => rel_type, community_id => class_instance_id, user_id => user_id, member_state => dotlrn_ta_rel.new.member_state, portal_id => portal_id, creation_user => creation_user, creation_ip => creation_ip ); insert into dotlrn_ta_rels (rel_id) values (v_rel_id); return v_rel_id; end; procedure delete ( rel_id in dotlrn_ta_rels.rel_id%TYPE ) is begin delete from dotlrn_ta_rels where rel_id = dotlrn_ta_rel.delete.rel_id; dotlrn_admin_rel.delete(rel_id); end; end; / show errors; create or replace package dotlrn_ca_rel is function new ( rel_id in dotlrn_ca_rels.rel_id%TYPE default NULL, rel_type in acs_rels.rel_type%TYPE default 'dotlrn_ca_rel', class_instance_id in dotlrn_class_instances.class_instance_id%TYPE, user_id in users.user_id%TYPE, member_state in membership_rels.member_state%TYPE default 'approved', portal_id in dotlrn_member_rels.portal_id%TYPE, creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null ) return dotlrn_ca_rels.rel_id%TYPE; procedure delete ( rel_id in dotlrn_ca_rels.rel_id%TYPE ); end; / show errors; create or replace package body dotlrn_ca_rel is function new ( rel_id in dotlrn_ca_rels.rel_id%TYPE default NULL, rel_type in acs_rels.rel_type%TYPE default 'dotlrn_ca_rel', class_instance_id in dotlrn_class_instances.class_instance_id%TYPE, user_id in users.user_id%TYPE, member_state in membership_rels.member_state%TYPE default 'approved', portal_id in dotlrn_member_rels.portal_id%TYPE, creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null ) return dotlrn_ca_rels.rel_id%TYPE is v_rel_id dotlrn_ca_rels.rel_id%TYPE; begin v_rel_id:= dotlrn_admin_rel.new( rel_id => rel_id, rel_type => rel_type, community_id => class_instance_id, user_id => user_id, member_state => dotlrn_ca_rel.new.member_state, portal_id => portal_id, creation_user => creation_user, creation_ip => creation_ip ); insert into dotlrn_ca_rels (rel_id) values (v_rel_id); return v_rel_id; end; procedure delete ( rel_id in dotlrn_ca_rels.rel_id%TYPE ) is begin delete from dotlrn_ca_rels where rel_id = dotlrn_ca_rel.delete.rel_id; dotlrn_admin_rel.delete(rel_id); end; end; / show errors; create or replace package dotlrn_cadmin_rel is function new ( rel_id in dotlrn_cadmin_rels.rel_id%TYPE default NULL, rel_type in acs_rels.rel_type%TYPE default 'dotlrn_cadmin_rel', class_instance_id in dotlrn_class_instances.class_instance_id%TYPE, user_id in users.user_id%TYPE, member_state in membership_rels.member_state%TYPE default 'approved', portal_id in dotlrn_member_rels.portal_id%TYPE, creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null ) return dotlrn_cadmin_rels.rel_id%TYPE; procedure delete ( rel_id in dotlrn_cadmin_rels.rel_id%TYPE ); end; / show errors; create or replace package body dotlrn_cadmin_rel is function new ( rel_id in dotlrn_cadmin_rels.rel_id%TYPE default NULL, rel_type in acs_rels.rel_type%TYPE default 'dotlrn_cadmin_rel', class_instance_id in dotlrn_class_instances.class_instance_id%TYPE, user_id in users.user_id%TYPE, member_state in membership_rels.member_state%TYPE default 'approved', portal_id in dotlrn_member_rels.portal_id%TYPE, creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null ) return dotlrn_cadmin_rels.rel_id%TYPE is v_rel_id dotlrn_cadmin_rels.rel_id%TYPE; begin v_rel_id:= dotlrn_admin_rel.new( rel_id => rel_id, rel_type => rel_type, community_id => class_instance_id, user_id => user_id, member_state => dotlrn_cadmin_rel.new.member_state, portal_id => portal_id, creation_user => creation_user, creation_ip => creation_ip ); insert into dotlrn_cadmin_rels (rel_id) values (v_rel_id); return v_rel_id; end; procedure delete ( rel_id in dotlrn_cadmin_rels.rel_id%TYPE ) is begin delete from dotlrn_cadmin_rels where rel_id = dotlrn_cadmin_rel.delete.rel_id; dotlrn_admin_rel.delete(rel_id); end; end; / show errors; create or replace package dotlrn_instructor_rel is function new ( rel_id in dotlrn_instructor_rels.rel_id%TYPE default NULL, rel_type in acs_rels.rel_type%TYPE default 'dotlrn_instructor_rel', class_instance_id in dotlrn_class_instances.class_instance_id%TYPE, user_id in users.user_id%TYPE, member_state in membership_rels.member_state%TYPE default 'approved', portal_id in dotlrn_member_rels.portal_id%TYPE, creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null ) return dotlrn_instructor_rels.rel_id%TYPE; procedure delete ( rel_id in dotlrn_instructor_rels.rel_id%TYPE ); end; / show errors; create or replace package body dotlrn_instructor_rel is function new ( rel_id in dotlrn_instructor_rels.rel_id%TYPE default NULL, rel_type in acs_rels.rel_type%TYPE default 'dotlrn_instructor_rel', class_instance_id in dotlrn_class_instances.class_instance_id%TYPE, user_id in users.user_id%TYPE, member_state in membership_rels.member_state%TYPE default 'approved', portal_id in dotlrn_member_rels.portal_id%TYPE, creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null ) return dotlrn_instructor_rels.rel_id%TYPE is v_rel_id dotlrn_instructor_rels.rel_id%TYPE; begin v_rel_id:= dotlrn_admin_rel.new( rel_id => rel_id, rel_type => rel_type, community_id => class_instance_id, user_id => user_id, member_state => dotlrn_instructor_rel.new.member_state, portal_id => portal_id, creation_user => creation_user, creation_ip => creation_ip ); insert into dotlrn_instructor_rels (rel_id) values (v_rel_id); return v_rel_id; end; procedure delete ( rel_id in dotlrn_instructor_rels.rel_id%TYPE ) is begin delete from dotlrn_instructor_rels where rel_id = dotlrn_instructor_rel.delete.rel_id; dotlrn_admin_rel.delete(rel_id); end; end; / show errors;