From b451f9d9d9ba10576687763349a69c9b57574480 Mon Sep 17 00:00:00 2001 From: Andrew McMillan Date: Sun, 22 Nov 2009 00:22:01 +1300 Subject: [PATCH] Don't expect an active column on principal. --- dba/sample-data.sql | 12 ++++++------ inc/DAVResource.php | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/dba/sample-data.sql b/dba/sample-data.sql index 6c9f7509..e140b2b6 100644 --- a/dba/sample-data.sql +++ b/dba/sample-data.sql @@ -53,17 +53,17 @@ INSERT INTO collection (user_no, parent_container, dav_name, dav_etag, FALSE, FALSE, user_no, '' FROM usr; -INSERT INTO principal (type_id, user_no, displayname, active, default_privileges) - SELECT 1, user_no, fullname, active, privilege_to_bits(ARRAY['read-free-busy','schedule-send','schedule-deliver']) FROM usr +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) ; -INSERT INTO principal (type_id, user_no, displayname, active, default_privileges) - SELECT 2, user_no, fullname, active, privilege_to_bits(ARRAY['read','schedule-send','schedule-deliver']) FROM usr +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); -INSERT INTO principal (type_id, user_no, displayname, active, default_privileges) - SELECT 3, user_no, fullname, active, privilege_to_bits(ARRAY['read-free-busy','schedule-send','schedule-deliver']) FROM usr +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); SELECT setval('dav_id_seq', 1000); diff --git a/inc/DAVResource.php b/inc/DAVResource.php index 2de0ff66..106290f2 100644 --- a/inc/DAVResource.php +++ b/inc/DAVResource.php @@ -368,17 +368,17 @@ class DAVResource ); $base_sql = 'SELECT collection.*, path_privileges(:session_principal, collection.dav_name), '; - $base_sql .= 'p.principal_id, p.type_id AS principal_type_id, p.active AS principal_active, '; + $base_sql .= 'p.principal_id, p.type_id AS principal_type_id, '; $base_sql .= 'p.displayname AS principal_displayname, p.default_privileges AS principal_default_privileges '; $base_sql .= 'FROM collection LEFT JOIN principal p USING (user_no) WHERE '; - $sql = $base_sql .'dav_name = :raw_path '; + $sql = $base_sql .'collection.dav_name = :raw_path '; $params = array( ':raw_path' => $this->dav_name, ':session_principal' => $session->principal_id ); if ( !preg_match( '#/$#', $this->dav_name ) ) { - $sql .= ' OR dav_name = :up_to_slash OR dav_name = :plus_slash '; + $sql .= ' OR collection.dav_name = :up_to_slash OR collection.dav_name = :plus_slash '; $params[':up_to_slash'] = preg_replace( '#[^/]*$#', '', $this->dav_name); $params[':plus_slash'] = $this->dav_name.'/'; } - $sql .= 'ORDER BY LENGTH(dav_name) DESC LIMIT 1'; + $sql .= 'ORDER BY LENGTH(collection.dav_name) DESC LIMIT 1'; $qry = new AwlQuery( $sql, $params ); if ( $qry->Exec('DAVResource') && $qry->rows() == 1 && ($row = $qry->Fetch()) ) { $this->collection = $row;