/** * Save default RoomRolePermissions * * @param Model $model Model using this behavior * @param array $data Room data * @return bool True on success * @throws InternalErrorException */ public function saveDefaultPage(Model $model, $data) { $model->loadModels(['Page' => 'Pages.Page']); $slug = $model->generateKey(); $page = Hash::merge(array('Page' => array('slug' => $slug, 'permalink' => $slug, 'room_id' => $data['Room']['id'], 'parent_id' => $data['Page']['parent_id']), 'LanguagesPage' => array('language_id' => Configure::read('Config.languageId'), 'name' => __d('rooms', 'Top'))), $data); if (!($page = $model->Page->savePage($page, array('atomic' => false)))) { throw new InternalErrorException(__d('net_commons', 'Internal Server Error')); } if (!$model->Room->updateAll(array($model->Room->alias . '.page_id_top' => $page['Page']['id']), array($model->Room->alias . '.id' => $data['Room']['id']))) { throw new InternalErrorException(__d('net_commons', 'Internal Server Error')); } return true; }