예제 #1
0
 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());
 }
예제 #2
0
 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());
 }