From 722517321148665fa38e522723bf55d2473416cd Mon Sep 17 00:00:00 2001 From: Andrew McMillan Date: Fri, 11 Dec 2009 12:13:56 +1300 Subject: [PATCH] Correctly create a principal record for the administrator. --- dba/base-data.sql | 5 ++++- dba/sample-data.sql | 9 ++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/dba/base-data.sql b/dba/base-data.sql index 35509ea1..d3a2cb61 100644 --- a/dba/base-data.sql +++ b/dba/base-data.sql @@ -10,7 +10,7 @@ INSERT INTO roles ( role_no, role_name ) VALUES( 4, 'Resource'); SELECT setval('roles_role_no_seq', (SELECT 10 UNION SELECT role_no FROM roles ORDER BY 1 DESC LIMIT 1) ); INSERT INTO usr ( user_no, active, email_ok, updated, username, password, fullname, email ) - VALUES ( 1, TRUE, current_date, current_date, 'admin', '**nimda', 'Calendar Administrator', 'calendars@example.net' ); + VALUES ( 1, TRUE, current_date, current_date, 'admin', '**nimda', 'DAViCal Administrator', 'calendars@example.net' ); INSERT INTO role_member (user_no, role_no) VALUES(1, 1); @@ -33,6 +33,9 @@ INSERT INTO principal_type (principal_type_id, principal_type_desc) VALUES( 1, ' INSERT INTO principal_type (principal_type_id, principal_type_desc) VALUES( 2, 'Resource' ); INSERT INTO principal_type (principal_type_id, principal_type_desc) VALUES( 3, 'Group' ); +INSERT INTO principal ( type_id, user_no, displayname, default_privileges ) + VALUES ( 1, 1, 'DAViCal Administrator', 0::BIT(24) ); + -- Set the insert sequence to the next number, with a minimum of 1000 SELECT setval('relationship_type_rt_id_seq', (SELECT 10 UNION SELECT rt_id FROM relationship_type ORDER BY 1 DESC LIMIT 1) ); diff --git a/dba/sample-data.sql b/dba/sample-data.sql index 86d1764e..ce3d06d0 100644 --- a/dba/sample-data.sql +++ b/dba/sample-data.sql @@ -56,15 +56,18 @@ INSERT INTO collection (user_no, parent_container, dav_name, dav_etag, INSERT INTO principal (type_id, user_no, displayname, default_privileges) SELECT 1, user_no, fullname, privilege_to_bits(ARRAY['read-free-busy','schedule-send','schedule-deliver']) FROM usr WHERE NOT EXISTS(SELECT 1 FROM role_member JOIN roles USING(role_no) WHERE role_name = 'Group' AND role_member.user_no = usr.user_no) - AND NOT EXISTS(SELECT 1 FROM role_member JOIN roles USING(role_no) WHERE role_name = 'Resource' AND role_member.user_no = usr.user_no) ; + AND NOT EXISTS(SELECT 1 FROM role_member JOIN roles USING(role_no) WHERE role_name = 'Resource' AND role_member.user_no = usr.user_no) + AND NOT EXISTS(SELECT 1 FROM principal WHERE principal.user_no = usr.user_no); INSERT INTO principal (type_id, user_no, displayname, default_privileges) SELECT 2, user_no, fullname, privilege_to_bits(ARRAY['read','schedule-send','schedule-deliver']) FROM usr - WHERE EXISTS(SELECT 1 FROM role_member JOIN roles USING(role_no) WHERE role_name = 'Resource' AND role_member.user_no = usr.user_no); + WHERE EXISTS(SELECT 1 FROM role_member JOIN roles USING(role_no) WHERE role_name = 'Resource' AND role_member.user_no = usr.user_no) + AND NOT EXISTS(SELECT 1 FROM principal WHERE principal.user_no = usr.user_no); INSERT INTO principal (type_id, user_no, displayname, default_privileges) SELECT 3, user_no, fullname, privilege_to_bits(ARRAY['read-free-busy','schedule-send','schedule-deliver']) FROM usr - WHERE EXISTS(SELECT 1 FROM role_member JOIN roles USING(role_no) WHERE role_name = 'Group' AND role_member.user_no = usr.user_no); + WHERE EXISTS(SELECT 1 FROM role_member JOIN roles USING(role_no) WHERE role_name = 'Group' AND role_member.user_no = usr.user_no) + AND NOT EXISTS(SELECT 1 FROM principal WHERE principal.user_no = usr.user_no); SELECT setval('dav_id_seq', 1000);