Ich habe Probleme einen Eintrag aus dem Kalender zu löschen. Über das Webfrontend kommt die Meldung "Failed not delete event".
Wenn ich das Event über CalDav aus Thunderbird lösche, dann verschwindet es zunächst, ist aber beim nächsten Sync wieder da.
Version: Milan
In den Logs habe ich folgendens gefunden:
- Code: Select all
bda56 -- none -- - 2012-09-25T13:33:31+02:00 INFO (6): Tinebase_Core::setupLogger::484 Logger initialized
bda56 -- none -- - 2012-09-25T13:33:31+02:00 DEBUG (7): Tinebase_Config_Abstract::_loadAllAppConfigsInCache::278 Loading all configs for app Tinebase
bda56 -- none -- - 2012-09-25T13:33:31+02:00 DEBUG (7): Tinebase_Config_Abstract::_loadAllAppConfigsInCache::285 Found 18 configs.
bda56 -- none -- - 2012-09-25T13:33:31+02:00 INFO (6): Tinebase_Core::setupLogger::484 Logger initialized
bda56 -- none -- - 2012-09-25T13:33:31+02:00 INFO (6): Tinebase_Core::dispatchRequest::175 Client transaction 1a9f93f3b66ed3abd741a6f288ec0a27b81c95ca
bda56 1a9f9 -- none -- - 2012-09-25T11:33:31+00:00 INFO (6): Tinebase_Core::setupCache::550 cache of backend type 'File' enabled
bda56 1a9f9 -- none -- - 2012-09-25T11:33:31+00:00 INFO (6): Tinebase_Core::setSessionBackend::764 Session of backend type 'File' configured.
bda56 1a9f9 michael - 2012-09-25T11:33:31+00:00 DEBUG (7): Tinebase_Auth_CredentialCache::setCacheAdapter::98 Using credential cache apapter: Tinebase_Auth_CredentialCache_Adapter_Cookie
bda56 1a9f9 michael - 2012-09-25T11:33:31+00:00 DEBUG (7): Tinebase_Core::setupUserLocale::911 given localeString 'auto'
bda56 1a9f9 michael - 2012-09-25T11:33:31+00:00 DEBUG (7): Tinebase_Core::setupUserLocale::920 session value: de
bda56 1a9f9 michael - 2012-09-25T11:33:31+00:00 INFO (6): Tinebase_Core::setupUserLocale::950 Setting user locale: de
bda56 1a9f9 michael - 2012-09-25T11:33:31+00:00 INFO (6): Tinebase_User::setBackendType::234 Setting backend type to Sql
bda56 1a9f9 michael - 2012-09-25T11:33:31+00:00 DEBUG (7): Tinebase_Group::getInstance::71 groups backend: Sql
bda56 1a9f9 michael - 2012-09-25T11:33:31+00:00 DEBUG (7): Tinebase_Core::setupUserLocale::962 Setting CTYPE locale from "C" to "en_US.UTF8".
bda56 1a9f9 michael - 2012-09-25T11:33:31+00:00 DEBUG (7): Tinebase_Server_Json::handle::60 is JSON request. rawdata: Array
(
[0] => Array
(
[jsonrpc] => 2.0
[method] => Calendar.deleteEvents
[params] => Array
(
[ids] => Array
(
[0] => c99ea899-6192-444c-8039-485ceea91568
)
)
[id] => 132
)
)
bda56 1a9f9 michael - 2012-09-25T11:33:31+00:00 INFO (6): Tinebase_Server_Json::_handle::152 is JSON request. method: Calendar.deleteEvents
bda56 1a9f9 michael - 2012-09-25T11:33:32+00:00 DEBUG (7): Tinebase_Controller_Record_Abstract::_deleteAlarmsForIds::1313 Deleting alarms for records Array
(
[0] => c99ea899-6192-444c-8039-485ceea91568
)
bda56 1a9f9 michael - 2012-09-25T11:33:32+00:00 INFO (6): Tinebase_Controller_Record_Abstract::delete::935 Deleting 0 records ...
bda56 1a9f9 michael - 2012-09-25T11:33:32+00:00 INFO (6): Tinebase_Controller_Record_Abstract::delete::935 Deleting 1 records ...
bda56 1a9f9 michael - 2012-09-25T11:33:32+00:00 ERR (3): Tinebase_Controller_Record_Abstract::delete::958 Calendar_Model_Event record with id c99ea899-6192-444c-8039-485ceea91568 not found!
bda56 1a9f9 michael - 2012-09-25T11:33:32+00:00 ERR (3): Tinebase_Controller_Record_Abstract::delete::959 #0 /home/michael/public_html/tine_stable/Tinebase/Backend/Sql/Abstract.php(202): Calendar_Backend_Sql->getByProperty('c99ea899-6192-4...', 'id', true)
#1 /home/michael/public_html/tine_stable/Tinebase/Backend/Sql/Abstract.php(984): Tinebase_Backend_Sql_Abstract->get('c99ea899-6192-4...', true)
#2 /home/michael/public_html/tine_stable/Calendar/Backend/Sql.php(301): Tinebase_Backend_Sql_Abstract->update(Object(Calendar_Model_Event))
#3 /home/michael/public_html/tine_stable/Tinebase/Controller/Record/Abstract.php(1064): Calendar_Backend_Sql->update(Object(Calendar_Model_Event))
#4 /home/michael/public_html/tine_stable/Tinebase/Controller/Record/Abstract.php(944): Tinebase_Controller_Record_Abstract->_deleteRecord(Object(Calendar_Model_Event))
#5 /home/michael/public_html/tine_stable/Calendar/Controller/Event.php(530): Tinebase_Controller_Record_Abstract->delete(Object(Calendar_Model_Event))
#6 /home/michael/public_html/tine_stable/Tinebase/Frontend/Json/Abstract.php(263): Calendar_Controller_Event->delete(Array)
#7 /home/michael/public_html/tine_stable/Calendar/Frontend/Json.php(52): Tinebase_Frontend_Json_Abstract->_delete(Array, Object(Calendar_Controller_Event))
#8 [internal function]: Calendar_Frontend_Json->deleteEvents(Array)
#9 /home/michael/public_html/tine_stable/library/Zend/Server/Abstract.php(232): call_user_func_array(Array, Array)
#10 /home/michael/public_html/tine_stable/Zend/Json/Server.php(558): Zend_Server_Abstract->_dispatch(Object(Zend_Server_Method_Definition), Array)
#11 /home/michael/public_html/tine_stable/Zend/Json/Server.php(197): Zend_Json_Server->_handle()
#12 /home/michael/public_html/tine_stable/Tinebase/Server/Json.php(196): Zend_Json_Server->handle(Object(Zend_Json_Server_Request))
#13 /home/michael/public_html/tine_stable/Tinebase/Server/Json.php(71): Tinebase_Server_Json->_handle(Object(Zend_Json_Server_Request))
#14 /home/michael/public_html/tine_stable/Tinebase/Core.php(247): Tinebase_Server_Json->handle()
#15 /home/michael/public_html/tine_stable/index.php(57): Tinebase_Core::dispatchRequest()
#16 {main}
bda56 1a9f9 michael - 2012-09-25T11:33:32+00:00 WARN (4): Tinebase_Server_Json::_handleException::219 Tinebase_Exception_NotFound -> Calendar_Model_Event record with id c99ea899-6192-444c-8039-485ceea91568 not found!
bda56 1a9f9 michael - 2012-09-25T11:33:32+00:00 NOTICE (5): Tinebase_Server_Json::_logExceptionTrace::286 #0 .../Tinebase/Backend/Sql/Abstract.php(202): Calendar_Backend_Sql->getByProperty('c99ea899-6192-4...', 'id', true)
#1 .../Tinebase/Backend/Sql/Abstract.php(984): Tinebase_Backend_Sql_Abstract->get('c99ea899-6192-4...', true)
#2 .../Calendar/Backend/Sql.php(301): Tinebase_Backend_Sql_Abstract->update(Object(Calendar_Model_Event))
#3 .../Tinebase/Controller/Record/Abstract.php(1064): Calendar_Backend_Sql->update(Object(Calendar_Model_Event))
#4 .../Tinebase/Controller/Record/Abstract.php(944): Tinebase_Controller_Record_Abstract->_deleteRecord(Object(Calendar_Model_Event))
#5 .../Calendar/Controller/Event.php(530): Tinebase_Controller_Record_Abstract->delete(Object(Calendar_Model_Event))
#6 .../Tinebase/Frontend/Json/Abstract.php(263): Calendar_Controller_Event->delete(Array)
#7 .../Calendar/Frontend/Json.php(52): Tinebase_Frontend_Json_Abstract->_delete(Array, Object(Calendar_Controller_Event))
#8 [internal function]: Calendar_Frontend_Json->deleteEvents(Array)
#9 .../library/Zend/Server/Abstract.php(232): call_user_func_array(Array, Array)
#10 .../Zend/Json/Server.php(558): Zend_Server_Abstract->_dispatch(Object(Zend_Server_Method_Definition), Array)
#11 .../Zend/Json/Server.php(197): Zend_Json_Server->_handle()
#12 .../Tinebase/Server/Json.php(196): Zend_Json_Server->handle(Object(Zend_Json_Server_Request))
#13 .../Tinebase/Server/Json.php(71): Tinebase_Server_Json->_handle(Object(Zend_Json_Server_Request))
#14 .../Tinebase/Core.php(247): Tinebase_Server_Json->handle()
#15 .../index.php(57): Tinebase_Core::dispatchRequest()
#16 {main}
bda56 1a9f9 michael - 2012-09-25T11:33:32+00:00 INFO (6): index.php (75) TIME: 0.28178095817566 seconds MEMORY: 18.5 MBytes REALPATHCACHESIZE: 0
Das SQL-Statement finde ich noch verwirrender:
- Code: Select all
SELECT `cal_events`.*,
MAX(
/* physgrant */(((`physgrants`.`account_type` = 'user' AND `physgrants`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200') OR (`physgrants`.`account_type` = 'group' AND `groupmemberships`.`group_id` = `physgrants`.`account_id`) OR (`physgrants`.`account_type` = 'anyone')) AND `physgrants`.`account_grant` IN ('readGrant')) OR
/* implicit */((`cal_events`.`organizer` = '6f01f5f72d4e7361ac4c5dd207ed382a9d5e6493') OR (`attendeeaccounts`.`id` = 'f669bf61a13ac79125bb5dfac65747939f91d200' AND (`attendee`.`user_type` = 'user' OR `attendee`.`user_type` = 'groupmember'))) OR
/* inherited */((((`dispgrants`.`account_type` = 'user' AND `dispgrants`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200') OR (`dispgrants`.`account_type` = 'group' AND `groupmemberships`.`group_id` = `dispgrants`.`account_id`) OR (`dispgrants`.`account_type` = 'anyone')) AND `dispgrants`.`account_grant` IN ('readGrant')))
) AS `readGrant`,
MAX(
/* physgrant */(((`physgrants`.`account_type` = 'user' AND `physgrants`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200') OR (`physgrants`.`account_type` = 'group' AND `groupmemberships`.`group_id` = `physgrants`.`account_id`) OR (`physgrants`.`account_type` = 'anyone')) AND `physgrants`.`account_grant` IN ('addGrant'))
) AS `addGrant`,
MAX(
/* physgrant */(((`physgrants`.`account_type` = 'user' AND `physgrants`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200') OR (`physgrants`.`account_type` = 'group' AND `groupmemberships`.`group_id` = `physgrants`.`account_id`) OR (`physgrants`.`account_type` = 'anyone')) AND `physgrants`.`account_grant` IN ('editGrant')) OR
/* implicit */(`cal_events`.`organizer` = '6f01f5f72d4e7361ac4c5dd207ed382a9d5e6493') OR
/* inherited */(((((`dispgrants`.`account_type` = 'user' AND `dispgrants`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200') OR (`dispgrants`.`account_type` = 'group' AND `groupmemberships`.`group_id` = `dispgrants`.`account_id`) OR (`dispgrants`.`account_type` = 'anyone')) AND `dispgrants`.`account_grant` IN ('editGrant'))) AND ((((`physgrants`.`account_type` = 'user' AND `physgrants`.`account_id` = `attendeeaccounts`.`id`) OR (`physgrants`.`account_type` = 'group' AND `attendeegroupmemberships`.`group_id` = `physgrants`.`account_id`) OR (`physgrants`.`account_type` = 'anyone')) AND `physgrants`.`account_grant` IN ('editGrant'))))
) AS `editGrant`,
MAX(
/* physgrant */(((`physgrants`.`account_type` = 'user' AND `physgrants`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200') OR (`physgrants`.`account_type` = 'group' AND `groupmemberships`.`group_id` = `physgrants`.`account_id`) OR (`physgrants`.`account_type` = 'anyone')) AND `physgrants`.`account_grant` IN ('deleteGrant')) OR
/* implicit */1=0 OR
/* inherited */(((((`dispgrants`.`account_type` = 'user' AND `dispgrants`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200') OR (`dispgrants`.`account_type` = 'group' AND `groupmemberships`.`group_id` = `dispgrants`.`account_id`) OR (`dispgrants`.`account_type` = 'anyone')) AND `dispgrants`.`account_grant` IN ('deleteGrant'))) AND ((((`physgrants`.`account_type` = 'user' AND `physgrants`.`account_id` = `attendeeaccounts`.`id`) OR (`physgrants`.`account_type` = 'group' AND `attendeegroupmemberships`.`group_id` = `physgrants`.`account_id`) OR (`physgrants`.`account_type` = 'anyone')) AND `physgrants`.`account_grant` IN ('deleteGrant'))))
) AS `deleteGrant`,
MAX(
/* physgrant */(((`physgrants`.`account_type` = 'user' AND `physgrants`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200') OR (`physgrants`.`account_type` = 'group' AND `groupmemberships`.`group_id` = `physgrants`.`account_id`) OR (`physgrants`.`account_type` = 'anyone')) AND `physgrants`.`account_grant` IN ('privateGrant')) OR
/* implicit */((`cal_events`.`organizer` = '6f01f5f72d4e7361ac4c5dd207ed382a9d5e6493') OR (`attendeeaccounts`.`id` = 'f669bf61a13ac79125bb5dfac65747939f91d200' AND (`attendee`.`user_type` = 'user' OR `attendee`.`user_type` = 'groupmember'))) OR
/* inherited */(((((`dispgrants`.`account_type` = 'user' AND `dispgrants`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200') OR (`dispgrants`.`account_type` = 'group' AND `groupmemberships`.`group_id` = `dispgrants`.`account_id`) OR (`dispgrants`.`account_type` = 'anyone')) AND `dispgrants`.`account_grant` IN ('privateGrant'))) AND ((((`physgrants`.`account_type` = 'user' AND `physgrants`.`account_id` = `attendeeaccounts`.`id`) OR (`physgrants`.`account_type` = 'group' AND `attendeegroupmemberships`.`group_id` = `physgrants`.`account_id`) OR (`physgrants`.`account_type` = 'anyone')) AND `physgrants`.`account_grant` IN ('privateGrant'))))
) AS `privateGrant`,
MAX(
/* physgrant */(((`physgrants`.`account_type` = 'user' AND `physgrants`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200') OR (`physgrants`.`account_type` = 'group' AND `groupmemberships`.`group_id` = `physgrants`.`account_id`) OR (`physgrants`.`account_type` = 'anyone')) AND `physgrants`.`account_grant` IN ('exportGrant')) OR
/* implicit */((`cal_events`.`organizer` = '6f01f5f72d4e7361ac4c5dd207ed382a9d5e6493') OR (`attendeeaccounts`.`id` = 'f669bf61a13ac79125bb5dfac65747939f91d200' AND (`attendee`.`user_type` = 'user' OR `attendee`.`user_type` = 'groupmember'))) OR
/* inherited */(((((`dispgrants`.`account_type` = 'user' AND `dispgrants`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200') OR (`dispgrants`.`account_type` = 'group' AND `groupmemberships`.`group_id` = `dispgrants`.`account_id`) OR (`dispgrants`.`account_type` = 'anyone')) AND `dispgrants`.`account_grant` IN ('exportGrant'))) AND ((((`physgrants`.`account_type` = 'user' AND `physgrants`.`account_id` = `attendeeaccounts`.`id`) OR (`physgrants`.`account_type` = 'group' AND `attendeegroupmemberships`.`group_id` = `physgrants`.`account_id`) OR (`physgrants`.`account_type` = 'anyone')) AND `physgrants`.`account_grant` IN ('exportGrant'))))
) AS `exportGrant`,
MAX(
/* physgrant */(((`physgrants`.`account_type` = 'user' AND `physgrants`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200') OR (`physgrants`.`account_type` = 'group' AND `groupmemberships`.`group_id` = `physgrants`.`account_id`) OR (`physgrants`.`account_type` = 'anyone')) AND `physgrants`.`account_grant` IN ('syncGrant')) OR
/* implicit */((`cal_events`.`organizer` = '6f01f5f72d4e7361ac4c5dd207ed382a9d5e6493') OR (`attendeeaccounts`.`id` = 'f669bf61a13ac79125bb5dfac65747939f91d200' AND (`attendee`.`user_type` = 'user' OR `attendee`.`user_type` = 'groupmember'))) OR
/* inherited */(((((`dispgrants`.`account_type` = 'user' AND `dispgrants`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200') OR (`dispgrants`.`account_type` = 'group' AND `groupmemberships`.`group_id` = `dispgrants`.`account_id`) OR (`dispgrants`.`account_type` = 'anyone')) AND `dispgrants`.`account_grant` IN ('syncGrant'))) AND ((((`physgrants`.`account_type` = 'user' AND `physgrants`.`account_id` = `attendeeaccounts`.`id`) OR (`physgrants`.`account_type` = 'group' AND `attendeegroupmemberships`.`group_id` = `physgrants`.`account_id`) OR (`physgrants`.`account_type` = 'anyone')) AND `physgrants`.`account_grant` IN ('syncGrant'))))
) AS `syncGrant`,
MAX(
/* physgrant */(((`physgrants`.`account_type` = 'user' AND `physgrants`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200') OR (`physgrants`.`account_type` = 'group' AND `groupmemberships`.`group_id` = `physgrants`.`account_id`) OR (`physgrants`.`account_type` = 'anyone')) AND `physgrants`.`account_grant` IN ('adminGrant'))
) AS `adminGrant`,
MAX(
/* physgrant */(((`physgrants`.`account_type` = 'user' AND `physgrants`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200') OR (`physgrants`.`account_type` = 'group' AND `groupmemberships`.`group_id` = `physgrants`.`account_id`) OR (`physgrants`.`account_type` = 'anyone')) AND `physgrants`.`account_grant` IN ('freebusyGrant')) OR
/* implicit */(`cal_events`.`organizer` = '6f01f5f72d4e7361ac4c5dd207ed382a9d5e6493') OR
/* inherited */((((`dispgrants`.`account_type` = 'user' AND `dispgrants`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200') OR (`dispgrants`.`account_type` = 'group' AND `groupmemberships`.`group_id` = `dispgrants`.`account_id`) OR (`dispgrants`.`account_type` = 'anyone')) AND `dispgrants`.`account_grant` IN ('freebusyGrant')))
) AS `freebusyGrant` FROM `tine20_cal_events` AS `cal_events`
LEFT JOIN `tine20_group_members` AS `groupmemberships` ON `groupmemberships`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200'
LEFT JOIN `tine20_cal_attendee` AS `attendee` ON `attendee`.`cal_event_id` = `cal_events`.`id`
LEFT JOIN `tine20_accounts` AS `attendeeaccounts` ON `attendeeaccounts`.`contact_id` = `attendee`.`user_id` AND (`attendee`.`user_type`= 'user' OR `attendee`.`user_type`= 'groupmember')
LEFT JOIN `tine20_group_members` AS `attendeegroupmemberships` ON `attendeegroupmemberships`.`account_id` = `attendeeaccounts`.`contact_id`
LEFT JOIN `tine20_container_acl` AS `dispgrants` ON `dispgrants`.`container_id` = `attendee`.`displaycontainer_id` AND ((`dispgrants`.`account_type` = 'user' AND `dispgrants`.`account_id` = 'f669bf61a13ac79125bb5dfac65747939f91d200') OR (`dispgrants`.`account_type` = 'group' AND `groupmemberships`.`group_id` = `dispgrants`.`account_id`) OR (`dispgrants`.`account_type` = 'anyone'))
LEFT JOIN `tine20_container_acl` AS `physgrants` ON `physgrants`.`container_id` = `cal_events`.`container_id` WHERE (`cal_events`.`is_deleted` = 0) AND (`cal_events`.`id` IN (' ')) GROUP BY `cal_events`.`id`
Hoffentlich ist mir noch zu helfen
Edit: Ja das sind zwei verscheidene IDs. Das Ergebnis ist aber das gleiche....
Der User hat alle Rechte auf dem Kalender.


