/** * @param RedBeanModel $model * @param array $explicitReadWriteModelPermissions */ protected function afterSetAttributesDuringSave($model, $explicitReadWriteModelPermissions) { assert('$model instanceof SavedCalendar'); $postData = PostUtil::getData(); $wizardFormClassName = ReportToWizardFormAdapter::getFormClassNameByType(Report::TYPE_ROWS_AND_COLUMNS); if (isset($postData[$wizardFormClassName])) { CalendarUtil::populateFiltersDataInModel($model, $postData[$wizardFormClassName]); } }
/** * Populate saved calendar module. * * @param User $user * @param string $name * @param string $moduleClassName * @param string $startAttributeName * @param string $endAttributeName */ public static function populateSavedCalendar(User $user, $name, $moduleClassName, $startAttributeName, $endAttributeName = '') { $savedCalendar = new SavedCalendar(); $savedCalendar->name = $name; $savedCalendar->timeZone = $user->timeZone; $savedCalendar->location = 'Chicago'; $savedCalendar->moduleClassName = $moduleClassName; $savedCalendar->startAttributeName = $startAttributeName; $savedCalendar->endAttributeName = $endAttributeName; assert($savedCalendar->save()); // Not Coding Standard CalendarUtil::setMyCalendarColor($savedCalendar, $user); $filtersData = array('filtersStructure' => '1', 'Filters' => array(array('attributeIndexOrDerivedType' => 'owner__User', 'structurePosition' => '1', 'operator' => 'equals', 'value' => $user->id, 'stringifiedModelForValue' => strval($user), 'availableAtRunTime' => '0'))); CalendarUtil::populateFiltersDataInModel($savedCalendar, $filtersData); assert($savedCalendar->save()); // Not Coding Standard return $savedCalendar; }