/** * inspect update of one record * * @param Tinebase_Record_Interface $_record the update record * @param Tinebase_Record_Interface $_oldRecord the current persistent record * @return void */ protected function _inspectBeforeUpdate($_record, $_oldRecord) { if (!empty($_record->group_id)) { // first check if something changed that requires special rights $changeGroup = false; foreach (Addressbook_Model_List::getManageAccountFields() as $field) { if ($_record->{$field} != $_oldRecord->{$field}) { $changeGroup = true; break; } } // then do the update, the group controller will check manage accounts right if ($changeGroup) { $groupController = Admin_Controller_Group::getInstance(); $group = $groupController->get($_record->group_id); foreach (Addressbook_Model_List::getManageAccountFields() as $field) { $group->{$field} = $_record->{$field}; } $groupController->update($group, false); } } }