public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $emptyName = false; $allScreens = $this->getRepository(Screen::class)->getAll($session->get('client/id')); $allOperations = $this->getRepository(SystemOperation::class)->getAll(); if ($request->request->has('new_screen_scheme')) { $name = Util::cleanRegularInputField($request->request->get('name')); $description = Util::cleanRegularInputField($request->request->get('description')); $screenId = Util::cleanRegularInputField($request->request->get('screen')); $currentDate = Util::getServerCurrentDateTime(); if (empty($name)) { $emptyName = true; } if (!$emptyName) { $screenScheme = new ScreenScheme($session->get('client/id'), $name, $description); $screenSchemeId = $screenScheme->save($currentDate); while ($operation = $allOperations->fetch_array(MYSQLI_ASSOC)) { $operationId = $operation['id']; $this->getRepository(ScreenScheme::class)->addData($screenSchemeId, $operationId, $screenId, $currentDate); } $this->getLogger()->addInfo('ADD Yongo Screen Scheme ' . $name, $this->getLoggerContext()); return new RedirectResponse('/yongo/administration/screens/schemes'); } } $sectionPageTitle = $session->get('client/settings/title_name') . ' / ' . SystemProduct::SYS_PRODUCT_YONGO_NAME . ' / Create Screen Scheme'; return $this->render(__DIR__ . '/../../../../Resources/views/administration/screen/scheme/Add.php', get_defined_vars()); }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $screenSchemeId = $request->get('id'); $screenScheme = $this->getRepository(ScreenScheme::class)->getMetaDataById($screenSchemeId); if ($screenScheme['client_id'] != $session->get('client/id')) { return new RedirectResponse('/general-settings/bad-link-access-denied'); } $emptyName = false; $duplicateName = false; if ($request->request->has('copy_screen_scheme')) { $name = Util::cleanRegularInputField($request->request->get('name')); $description = Util::cleanRegularInputField($request->request->get('description')); if (empty($name)) { $emptyName = true; } $duplicateScreen = $this->getRepository(ScreenScheme::class)->getMetaDataByNameAndClientId($session->get('client/id'), mb_strtolower($name)); if ($duplicateScreen) { $duplicateName = true; } if (!$emptyName && !$duplicateName) { $copiedScreenScheme = new ScreenScheme($session->get('client/id'), $name, $description); $currentDate = Util::getServerCurrentDateTime(); $copiedScreenSchemeId = $copiedScreenScheme->save($currentDate); $screenSchemeData = $this->getRepository(ScreenScheme::class)->getDataByScreenSchemeId($screenSchemeId); while ($data = $screenSchemeData->fetch_array(MYSQLI_ASSOC)) { $copiedScreenScheme->addData($copiedScreenSchemeId, $data['sys_operation_id'], $data['screen_id'], $currentDate); } $this->getLogger()->addInfo('Copy Yongo Screen Scheme ' . $screenScheme['name'], $this->getLoggerContext()); return new RedirectResponse('/yongo/administration/screens/schemes'); } } $menuSelectedCategory = 'issue'; $sectionPageTitle = $session->get('client/settings/title_name') . ' / ' . SystemProduct::SYS_PRODUCT_YONGO_NAME . ' / Copy Screen Scheme'; return $this->render(__DIR__ . '/../../../../Resources/views/administration/screen/scheme/Copy.php', get_defined_vars()); }