/** * @param $savedCalendar * @return Report */ public static function makeReportBySavedCalendar(SavedCalendar $savedCalendar) { $report = new Report(); if ($savedCalendar->id > 0) { $report->setId((int) $savedCalendar->id); } $report->setDescription($savedCalendar->description); if ($savedCalendar->moduleClassName != null) { $report->setModuleClassName($savedCalendar->moduleClassName); } if ($savedCalendar->name != null) { $report->setName($savedCalendar->name); } $report->setOwner($savedCalendar->owner); $report->setType(Report::TYPE_ROWS_AND_COLUMNS); $explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::makeBySecurableItem($savedCalendar); $report->setExplicitReadWriteModelPermissions($explicitReadWriteModelPermissions); if ($savedCalendar->serializedData != null) { $unserializedData = unserialize($savedCalendar->serializedData); if (isset($unserializedData['filtersStructure'])) { $report->setFiltersStructure($unserializedData['filtersStructure']); } CalendarUtil::makeComponentFormAndPopulateReportFromData($unserializedData[ComponentForReportForm::TYPE_FILTERS], $report, 'Filter'); } return $report; }