public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $emptyName = false; $duplicateName = false; $name = Util::cleanRegularInputField($request->request->get('name')); $description = Util::cleanRegularInputField($request->request->get('description')); if (empty($name)) { $emptyName = true; } $notebookSameName = $this->getRepository(Notebook::class)->getByName($session->get('user/id'), $name); if ($notebookSameName) { $duplicateName = true; } if (!$emptyName && !$duplicateName) { $currentDate = Util::getServerCurrentDateTime(); $defaultFlag = 0; // get the default notebook $defaultNotebook = $this->getRepository(Notebook::class)->getDefaultByUserId($session->get('user/id')); if (!$defaultNotebook) { $defaultFlag = 1; } $notebookId = $this->getRepository(Notebook::class)->save($session->get('user/id'), $name, $description, $defaultFlag, $currentDate); $this->getLogger()->addInfo('ADD QUICK NOTES notebook ' . $name, $this->getLoggerContext()); } return new Response(''); }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $Id = $request->get('id'); $resolutions = $this->getRepository(IssueSettings::class)->getAllIssueSettings('resolution', $session->get('client/id')); return $this->render(__DIR__ . '/../../../../Resources/views/administration/issue/resolution/DeleteConfirm.php', get_defined_vars()); }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $projectId = $request->get('id'); $project = $this->getRepository(YongoProject::class)->getById($projectId); $emptyName = false; $alreadyExists = false; if ($request->request->has('confirm_new_release')) { $name = Util::cleanRegularInputField($request->request->get('name')); $description = Util::cleanRegularInputField($request->request->get('description')); if (empty($name)) { $emptyName = true; } $releasesDuplicate = $this->getRepository(YongoProject::class)->getVersionByName($projectId, $name); if ($releasesDuplicate) { $alreadyExists = true; } if (!$emptyName && !$alreadyExists) { $currentDate = Util::getServerCurrentDateTime(); $this->getRepository(YongoProject::class)->addVersion($projectId, $name, $description, $currentDate); $this->getLogger()->addInfo('ADD Project Version ' . $name, $this->getLoggerContext()); return new RedirectResponse('/yongo/administration/project/versions/' . $projectId); } } $menuSelectedCategory = 'project'; $sectionPageTitle = $session->get('client/settings/title_name') . ' / ' . SystemProduct::SYS_PRODUCT_YONGO_NAME . ' / Create Project Version'; return $this->render(__DIR__ . '/../../../../Resources/views/administration/project/version/Add.php', get_defined_vars()); }
/** * @param string $type * @param string $eventName * @param array $params * * @return mixed */ public function setFlash($type, $eventName, $params = array()) { /** @var FlashBag $flashBag */ $flashBag = $this->session->getBag('flashes'); $flashBag->add($type, $this->generateFlashMessage($eventName, $params)); return $this; }
/** * @param \Symfony\Component\Form\FormView $view * @param \Symfony\Component\Form\FormInterface $form * @param array $options */ public function buildView(FormView $view, FormInterface $form, array $options) { if ($options['reload'] && !$options['as_url']) { throw new \InvalidArgumentException('GregwarCaptcha: The reload option cannot be set without as_url, see the README for more information'); } $sessionKey = sprintf('gcb_%s', $form->getName()); $isHuman = false; if ($options['humanity'] > 0) { $humanityKey = sprintf('%s_humanity', $sessionKey); if ($this->session->get($humanityKey, 0) > 0) { $isHuman = true; } } if ($options['as_url']) { $keys = $this->session->get($options['whitelist_key'], array()); if (!in_array($sessionKey, $keys)) { $keys[] = $sessionKey; } $this->session->set($options['whitelist_key'], $keys); $options['session_key'] = $sessionKey; } $view->vars = array_merge($view->vars, array('captcha_width' => $options['width'], 'captcha_height' => $options['height'], 'reload' => $options['reload'], 'image_id' => uniqid('captcha_'), 'captcha_code' => $this->generator->getCaptchaCode($options), 'value' => '', 'is_human' => $isHuman)); $persistOptions = array(); foreach (array('phrase', 'width', 'height', 'distortion', 'length', 'quality', 'background_color', 'text_color') as $key) { $persistOptions[$key] = $options[$key]; } $this->session->set($sessionKey, $persistOptions); }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $menuSelectedCategory = 'system'; $emptyName = false; $eventId = $request->get('id'); $event = $this->getRepository(IssueEvent::class)->getById($eventId); if ($event['client_id'] != $session->get('client/id')) { return new RedirectResponse('/general-settings/bad-link-access-denied'); } if ($request->request->has('edit_event')) { $name = Util::cleanRegularInputField($request->request->get('name')); $description = Util::cleanRegularInputField($request->request->get('description')); if (empty($name)) { $emptyName = true; } if (!$emptyName) { $currentDate = Util::getServerCurrentDateTime(); $this->getRepository(IssueEvent::class)->updateById($eventId, $name, $description, $currentDate); $this->getLogger()->addInfo('UPDATE Yongo Event ' . $name, $this->getLoggerContext()); return new RedirectResponse('/yongo/administration/events'); } } $sectionPageTitle = $session->get('client/settings/title_name') . ' / ' . SystemProduct::SYS_PRODUCT_YONGO_NAME . ' / Update Event'; return $this->render(__DIR__ . '/../../../Resources/views/administration/event/edit.php', get_defined_vars()); }
/** * @return \PHPSC\Conference\Domain\Entity\User */ public function getLoggedUser() { if (!$this->isLogged() && $this->session->has('loggedUser')) { $this->loggedUser = $this->userManager->getById($this->session->get('loggedUser')); } return $this->loggedUser; }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $smtpServerId = $request->get('id'); $smtpServer = $this->getRepository(SMTPServer::class)->getById($smtpServerId); $session->set('selected_product_id', -1); $menuSelectedCategory = 'general_mail'; $emptyName = false; $emptyFromAddress = false; $emptyEmailPrefix = false; $emptyHostname = false; if ($request->request->has('edit_smtp')) { $name = Util::cleanRegularInputField($request->request->get('name')); $description = Util::cleanRegularInputField($request->request->get('description')); $fromAddress = Util::cleanRegularInputField($request->request->get('from_address')); $emailPrefix = Util::cleanRegularInputField($request->request->get('email_prefix')); $protocol = Util::cleanRegularInputField($request->request->get('protocol')); $hostname = Util::cleanRegularInputField($request->request->get('hostname')); $port = Util::cleanRegularInputField($request->request->get('port')); $timeout = Util::cleanRegularInputField($request->request->get('timeout')); $tls = $request->request->has('tls') ? 1 : 0; $username = Util::cleanRegularInputField($request->request->get('username')); $password = Util::cleanRegularInputField($request->request->get('password')); $date = Util::getServerCurrentDateTime(); $this->getRepository(SMTPServer::class)->updateById($smtpServerId, $name, $description, $fromAddress, $emailPrefix, $protocol, $hostname, $port, $timeout, $tls, $username, $password, $date); $this->getLogger()->addInfo('UPDATE SMTP Server ' . $name, $this->getLoggerContext()); $session->set('client/settings/smtp', $this->getRepository(SMTPServer::class)->getById($smtpServerId)); return new RedirectResponse('/general-settings/smtp-settings'); } $sectionPageTitle = $session->get('client/settings/title_name') . ' / GeneralSettings Settings / Update SMTP Server Settings'; return $this->render(__DIR__ . '/../../Resources/views/smtp/Edit.php', get_defined_vars()); }
public function indexAction(Request $request, SessionInterface $session) { if (Util::checkUserIsLoggedIn()) { $clientId = $session->get('client/id'); $loggedInUserId = $session->get('user/id'); $clientSettings = $session->get('client/settings'); } else { $clientId = $this->getRepository(UbirimiClient::class)->getClientIdAnonymous(); $loggedInUserId = null; $clientSettings = $this->getRepository(UbirimiClient::class)->getSettings($clientId); } $projectId = $request->get('id'); $month = $request->get('month'); $year = $request->get('year'); $project = $this->getRepository(YongoProject::class)->getById($projectId); if ($project['client_id'] != $clientId) { return new RedirectResponse('/general-settings/bad-link-access-denied'); } $session->set('selected_project_id', $projectId); $menuSelectedCategory = 'project'; $hasGlobalAdministrationPermission = $this->getRepository(UbirimiUser::class)->hasGlobalPermission($clientId, $loggedInUserId, GlobalPermission::GLOBAL_PERMISSION_YONGO_ADMINISTRATORS); $hasGlobalSystemAdministrationPermission = $this->getRepository(UbirimiUser::class)->hasGlobalPermission($clientId, $loggedInUserId, GlobalPermission::GLOBAL_PERMISSION_YONGO_SYSTEM_ADMINISTRATORS); $hasAdministerProjectsPermission = $this->getRepository(UbirimiClient::class)->getProjectsByPermission($clientId, $loggedInUserId, Permission::PERM_ADMINISTER_PROJECTS); $hasAdministerProject = $hasGlobalSystemAdministrationPermission || $hasGlobalAdministrationPermission || $hasAdministerProjectsPermission; $previousMonthName = date("F", mktime(0, 0, 0, $month - 1)); $currentMonthName = date("F", mktime(0, 0, 0, $month)); $nextMonthName = date("F", mktime(0, 0, 0, $month + 1)); $sectionPageTitle = $clientSettings['title_name'] . ' / ' . SystemProduct::SYS_PRODUCT_YONGO_NAME . ' / ' . $project['name'] . ' / Calendar (due date)'; return $this->render(__DIR__ . '/../../Resources/views/project/ViewCalendar.php', get_defined_vars()); }
public function indexAction(Request $request, SessionInterface $session) { if (Util::checkUserIsLoggedIn()) { $loggedInUserId = $session->get('user/id'); $clientId = $session->get('client/id'); $clientSettings = $session->get('client/settings'); } else { $clientId = $this->getRepository(UbirimiClient::class)->getClientIdAnonymous(); $loggedInUserId = null; $clientSettings = $this->getRepository(UbirimiClient::class)->getSettings($clientId); } $versionId = $request->get('id'); $version = $this->getRepository(YongoProject::class)->getVersionById($versionId); $projectId = $version['project_id']; $project = $this->getRepository(YongoProject::class)->getById($projectId); if ($project['client_id'] != $clientId) { return new RedirectResponse('/general-settings/bad-link-access-denied'); } $menuSelectedCategory = 'project'; $sectionPageTitle = $clientSettings['title_name'] . ' / ' . SystemProduct::SYS_PRODUCT_YONGO_NAME . ' / Version: ' . $version['name'] . ' / Summary'; $issuesResult = $this->getRepository(Issue::class)->getByParameters(array('project' => $projectId, 'resolution' => array(-2), 'page' => 1, 'version' => array($versionId), 'issues_per_page' => 10), $loggedInUserId); $issues = $issuesResult[0]; $issuesResultUpdatedRecently = $this->getRepository(Issue::class)->getByParameters(array('project' => $projectId, 'resolution' => array(-2), 'page' => 1, 'issues_per_page' => 10, 'sort' => 'updated', 'version' => array($versionId), 'sort_order' => 'desc'), $loggedInUserId); $issuesUpdatedRecently = $issuesResultUpdatedRecently[0]; return $this->render(__DIR__ . '/../../Resources/views/project/ViewVersionSummary.php', get_defined_vars()); }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $settings = $this->getRepository(UbirimiUser::class)->getYongoSettings($session->get('user/id')); $countries = Util::getCountries(); return $this->render(__DIR__ . '/../../Resources/views/user/UpdatePreferencesConfirm.php', get_defined_vars()); }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $clientYongoSettings = $this->getRepository(UbirimiClient::class)->getYongoSettings($session->get('client/id')); $menuSelectedCategory = 'system'; return $this->render(__DIR__ . '/../../../Resources/views/administration/general_configuration/View.php', get_defined_vars()); }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $emptyName = false; $allIssueTypes = $this->getRepository(IssueType::class)->getAll($session->get('client/id')); if ($request->request->has('new_issue_type_screen_scheme')) { $name = Util::cleanRegularInputField($request->request->get('name')); $description = Util::cleanRegularInputField($request->request->get('description')); if (empty($name)) { $emptyName = true; } if (!$emptyName) { $issueTypeScreenScheme = new IssueTypeScreenScheme($session->get('client/id'), $name, $description); $currentDate = Util::getServerCurrentDateTime(); $issueTypeScreenSchemeId = $issueTypeScreenScheme->save($currentDate); $issueTypes = $this->getRepository(IssueType::class)->getAll($session->get('client/id')); while ($issueType = $issueTypes->fetch_array(MYSQLI_ASSOC)) { $this->getRepository(IssueTypeScreenScheme::class)->addData($issueTypeScreenSchemeId, $issueType['id'], $currentDate); } $this->getLogger()->addInfo('ADD Yongo Issue Type Screen Scheme ' . $name, $this->getLoggerContext()); return new RedirectResponse('/yongo/administration/screens/issue-types'); } } $sectionPageTitle = $session->get('client/settings/title_name') . ' / ' . SystemProduct::SYS_PRODUCT_YONGO_NAME . ' / Create Issue Type Screen Scheme'; return $this->render(__DIR__ . '/../../../../Resources/views/administration/screen/issue_type_scheme/Add.php', get_defined_vars()); }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $Id = $request->get('id'); $issueType = $this->getRepository(IssueType::class)->getById($Id); if ($issueType['client_id'] != $session->get('client/id')) { return new RedirectResponse('/general-settings/bad-link-access-denied'); } $emptyName = false; $typeExists = false; if ($request->request->has('edit_type')) { $name = Util::cleanRegularInputField($request->request->get('name')); $description = Util::cleanRegularInputField($request->request->get('description')); if (empty($name)) { $emptyName = true; } // check for duplication $type = $this->getRepository(IssueSettings::class)->getByName($session->get('client/id'), 'type', mb_strtolower($name), $Id); if ($type) { $typeExists = true; } if (!$typeExists && !$emptyName) { $currentDate = Util::getServerCurrentDateTime(); $this->getRepository(IssueType::class)->updateById($Id, $name, $description, $currentDate); $this->getLogger()->addInfo('UPDATE Yongo Issue Type ' . $name, $this->getLoggerContext()); return new RedirectResponse('/yongo/administration/issue-sub-tasks'); } } $menuSelectedCategory = 'issue'; $sectionPageTitle = $session->get('client/settings/title_name') . ' / ' . SystemProduct::SYS_PRODUCT_YONGO_NAME . ' / Update Issue Type'; return $this->render(__DIR__ . '/../../../../Resources/views/administration/issue/type/Edit.php', get_defined_vars()); }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $emptyPriorityName = false; $priorityExists = false; if ($request->request->has('new_priority')) { $name = Util::cleanRegularInputField($request->request->get('name')); $description = Util::cleanRegularInputField($request->request->get('description')); $color = Util::cleanRegularInputField($request->request->get('color')); if (empty($name)) { $emptyPriorityName = true; } // check for duplication $priority = $this->getRepository(IssueSettings::class)->getByName($session->get('client/id'), 'priority', mb_strtolower($name)); if ($priority) { $priorityExists = true; } if (!$priorityExists && !$emptyPriorityName) { $iconName = 'generic.png'; $currentDate = Util::getServerCurrentDateTime(); $this->getRepository(IssueSettings::class)->create('issue_priority', $session->get('client/id'), $name, $description, $iconName, $color, $currentDate); $this->getLogger()->addInfo('ADD Yongo Issue Priority ' . $name, $this->getLoggerContext()); return new RedirectResponse('/yongo/administration/issue/priorities'); } } $menuSelectedCategory = 'issue'; $sectionPageTitle = $session->get('client/settings/title_name') . ' / ' . SystemProduct::SYS_PRODUCT_YONGO_NAME . ' / Create Issue Priority'; return $this->render(__DIR__ . '/../../../../Resources/views/administration/issue/priority/Add.php', get_defined_vars()); }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $loggedInUserId = $session->get('user/id'); $issueId = $request->request->get('id'); $timeSpentPost = trim(str_replace(" ", '', $request->request->get('time_spent'))); $dateStartedString = $request->request->get('date_started'); $remainingTime = $request->request->get('remaining'); $comment = $request->request->get('comment'); $dateStarted = \DateTime::createFromFormat('d-m-Y H:i', $dateStartedString); $dateStartedString = date_format($dateStarted, 'Y-m-d H:i'); if (is_numeric($timeSpentPost)) { $timeSpentPost = $timeSpentPost . $session->get('yongo/settings/time_tracking_default_unit'); } if ($timeSpentPost) { $currentDate = Util::getServerCurrentDateTime(); $issueQueryParameters = array('issue_id' => $issueId); $issue = $this->getRepository(Issue::class)->getByParameters($issueQueryParameters, $loggedInUserId); $this->getRepository(WorkLog::class)->addLog($issueId, $loggedInUserId, $timeSpentPost, $dateStartedString, $comment, $currentDate); $remainingTime = $this->getRepository(WorkLog::class)->adjustRemainingEstimate($issue, $timeSpentPost, $remainingTime, $session->get('yongo/settings/time_tracking_hours_per_day'), $session->get('yongo/settings/time_tracking_days_per_week'), $loggedInUserId); $fieldChanges = array(array('time_spent', null, $timeSpentPost), array('remaining_estimate', $issue['remaining_estimate'], $remainingTime)); $this->getRepository(Issue::class)->updateHistory($issue['id'], $loggedInUserId, $fieldChanges, $currentDate); // update the date_updated field $this->getRepository(Issue::class)->updateById($issueId, array('date_updated' => $currentDate), $currentDate); $project = $this->getRepository(YongoProject::class)->getById($issue['issue_project_id']); $issueEventData = array('user_id' => $loggedInUserId, 'comment' => $comment, 'date_started' => $dateStartedString, 'time_spent' => $timeSpentPost); $issueEvent = new IssueEvent($issue, $project, IssueEvent::STATUS_UPDATE, $issueEventData); UbirimiContainer::get()['dispatcher']->dispatch(YongoEvents::YONGO_ISSUE_WORK_LOGGED, $issueEvent); } if (null == $remainingTime || '' == $remainingTime) { $remainingTime = -1; } return new Response($remainingTime); }
public function indexAction(Request $request, SessionInterface $session) { $entityId = $request->get('id'); if (Util::checkUserIsLoggedIn()) { $session->set('selected_product_id', SystemProduct::SYS_PRODUCT_DOCUMENTADOR); $loggedInUserId = $session->get('user/id'); $page = $this->getRepository(Entity::class)->getById($entityId, $loggedInUserId); if ($page) { $spaceId = $page['space_id']; } $sectionPageTitle = $session->get('client/settings/title_name') . ' / ' . SystemProduct::SYS_PRODUCT_DOCUMENTADOR_NAME . ' / ' . $page['name'] . ' / Attachments'; } else { $httpHOST = Util::getHttpHost(); $clientId = $this->getRepository(UbirimiClient::class)->getByBaseURL($httpHOST, 'array', 'id'); $loggedInUserId = null; $settingsDocumentador = $this->getRepository(UbirimiClient::class)->getDocumentadorSettings($clientId); $documentatorUseAnonymous = $settingsDocumentador['anonymous_use_flag']; $page = $this->getRepository(Entity::class)->getById($entityId, $loggedInUserId); if ($page) { $spaceId = $page['space_id']; $spaceHasAnonymousAccess = $this->getRepository(Space::class)->hasAnonymousAccess($spaceId); if (!($documentatorUseAnonymous && $spaceHasAnonymousAccess)) { Util::signOutAndRedirect(); die; } } $sectionPageTitle = SystemProduct::SYS_PRODUCT_DOCUMENTADOR_NAME . ' / ' . $page['name'] . ' / Attachments'; } $menuSelectedCategory = 'documentator'; if ($page) { $attachments = $this->getRepository(EntityAttachment::class)->getByEntityId($entityId); } return $this->render(__DIR__ . '/../../../Resources/views/page/attachment/View.php', get_defined_vars()); }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $menuSelectedCategory = 'issue'; $emptyName = false; $fields = $this->getRepository(Field::class)->getByClient($session->get('client/id')); if ($request->request->has('add_screen')) { $name = Util::cleanRegularInputField($request->request->get('name')); $description = Util::cleanRegularInputField($request->request->get('description')); $currentDate = Util::getServerCurrentDateTime(); if (empty($name)) { $emptyName = true; } if (!$emptyName) { $screen = new Screen($session->get('client/id'), $name, $description); $screenId = $screen->save($currentDate); $order = 0; foreach ($request->request as $key => $value) { if (substr($key, 0, 6) == 'field_') { $order++; $fieldId = str_replace('field_', '', $key); $this->getRepository(Screen::class)->addData($screenId, $fieldId, $order, $currentDate); } } $this->getLogger()->addInfo('ADD Yongo Screen ' . $name, $this->getLoggerContext()); return new RedirectResponse('/yongo/administration/screens'); } } $sectionPageTitle = $session->get('client/settings/title_name') . ' / ' . SystemProduct::SYS_PRODUCT_YONGO_NAME . ' / Create Screen'; return $this->render(__DIR__ . '/../../../Resources/views/administration/screen/Add.php', get_defined_vars()); }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $clientId = $session->get('client/id'); $clientSettings = $this->getRepository(UbirimiClient::class)->getSettings($clientId); $name = Util::cleanRegularInputField($request->request->get('name')); $description = $request->request->get('description'); $location = $request->request->get('location'); $calendarId = $request->request->get('calendar'); $start = $request->request->get('start'); $end = $request->request->get('end'); $color = '#' . $request->request->get('color'); $repeatData = $request->request->get('repeat_data'); if (!empty($name)) { $date = Util::getServerCurrentDateTime(); ini_set('memory_limit', '1024M'); $eventId = $this->getRepository(CalendarEvent::class)->add($calendarId, $session->get('user/id'), $name, $description, $location, $start, $end, $color, $date, $repeatData, $clientSettings); // add the default reminders $reminders = $this->getRepository(UbirimiCalendar::class)->getReminders($calendarId); while ($reminders && ($reminder = $reminders->fetch_array(MYSQLI_ASSOC))) { $this->getRepository(CalendarEvent::class)->addReminder($eventId, $reminder['cal_event_reminder_type_id'], $reminder['cal_event_reminder_period_id'], $reminder['value']); } $this->getLogger()->addInfo('ADD EVENTS event ' . $name, $this->getLoggerContext()); } return new Response(''); }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $calendarId = $request->get('id'); $calendar = $this->getRepository(UbirimiCalendar::class)->getById($calendarId); $defaultReminders = $this->getRepository(UbirimiCalendar::class)->getReminders($calendarId); if ($calendar['client_id'] != $session->get('client/id')) { return new RedirectResponse('/general-settings/bad-link-access-denied'); } if ($request->request->has('edit_calendar_settings')) { $date = Util::getServerCurrentDateTime(); $this->getRepository(UbirimiCalendar::class)->deleteReminders($calendarId); $this->getRepository(UbirimiCalendar::class)->deleteSharesByCalendarId($calendarId); // reminder information foreach ($request->request as $key => $value) { if (strpos($key, 'reminder_type_') !== false) { $indexReminder = str_replace('reminder_type_', '', $key); $reminderType = Util::cleanRegularInputField($request->request->get($key)); $reminderValue = $request->request->get('value_reminder_' . $indexReminder); $reminderPeriod = $request->request->get('reminder_period_' . $indexReminder); // add the reminder if (is_numeric($reminderValue)) { $this->getRepository(UbirimiCalendar::class)->addReminder($calendarId, $reminderType, $reminderPeriod, $reminderValue); } } } $this->getLogger()->addInfo('UPDATE Calendar Default Reminders ' . $calendar['name'], $this->getLoggerContext()); return new RedirectResponse('/calendar/calendars'); } $menuSelectedCategory = 'calendar'; $sectionPageTitle = $session->get('client/settings/title_name') . ' / ' . SystemProduct::SYS_PRODUCT_CALENDAR_NAME . ' / Calendar: ' . $calendar['name'] . ' / Settings'; return $this->render(__DIR__ . '/../Resources/views/Settings.php', get_defined_vars()); }
public function setUp() { $this->flashBag = m::mock('Symfony\\Component\\HttpFoundation\\Session\\Flash\\FlashBagInterface'); $this->session = m::mock('Symfony\\Component\\HttpFoundation\\Session\\SessionInterface'); $this->session->shouldReceive('getFlashBag')->withNoArgs()->atLeast()->once()->andReturn($this->flashBag); $this->flash = new FlashMessage($this->session); }
public function indexAction(Request $request, SessionInterface $session) { if (Util::checkUserIsLoggedIn()) { $selectedProjectId = $session->get('selected_project_id'); } else { $httpHOST = Util::getHttpHost(); $clientId = $this->getRepository(UbirimiClient::class)->getByBaseURL($httpHOST, 'array', 'id'); $loggedInUserId = null; $selectedProjectId = null; } if ($session->get('selected_product_id') == SystemProduct::SYS_PRODUCT_YONGO) { $urlPrefix = '/yongo/project/'; $projectsMenu = $this->getRepository(UbirimiClient::class)->getProjectsByPermission($session->get('client/id'), $session->get('user/id'), Permission::PERM_BROWSE_PROJECTS, 'array'); } else { $urlPrefix = '/helpdesk/customer-portal/project/'; $projectsMenu = $this->getRepository(UbirimiClient::class)->getProjects($session->get('client/id'), 'array', null, 1); } $selectedProjectMenu = null; if ($selectedProjectId) { $selectedProjectMenu = $this->getRepository(YongoProject::class)->getById($selectedProjectId); } $hasGlobalAdministrationPermission = $this->getRepository(UbirimiUser::class)->hasGlobalPermission($session->get('client/id'), $session->get('user/id'), GlobalPermission::GLOBAL_PERMISSION_YONGO_ADMINISTRATORS); $hasGlobalSystemAdministrationPermission = $this->getRepository(UbirimiUser::class)->hasGlobalPermission($session->get('client/id'), $session->get('user/id'), GlobalPermission::GLOBAL_PERMISSION_YONGO_SYSTEM_ADMINISTRATORS); return $this->render(__DIR__ . '/../../Resources/views/menu/Projects.php', get_defined_vars()); }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $tagId = $request->get('id'); $tag = $this->getRepository(Tag::class)->getById($tagId); if ($tag['user_id'] != $session->get('user/id')) { return new RedirectResponse('/general-settings/bad-link-access-denied'); } $emptyName = false; $tagExists = false; if ($request->request->has('edit_tag')) { $name = Util::cleanRegularInputField($request->request->get('name')); $description = Util::cleanRegularInputField($request->request->get('description')); if (empty($name)) { $emptyName = true; } // check for duplication $tagDuplicate = $this->getRepository(Tag::class)->getByNameAndUserId($session->get('user/id'), mb_strtolower($name), $tagId); if ($tagDuplicate) { $tagExists = true; } if (!$tagExists && !$emptyName) { $date = Util::getServerCurrentDateTime(); $this->getRepository(Tag::class)->updateById($tagId, $name, $description, $date); $this->getLogger()->addInfo('UPDATE NOTEBOOK tag ' . $name, $this->getLoggerContext()); return new RedirectResponse('/quick-notes/tag/all'); } } $menuSelectedCategory = 'tags'; $sectionPageTitle = $session->get('client/settings/title_name') . ' / ' . SystemProduct::SYS_PRODUCT_QUICK_NOTES_NAME . ' / Notebook: ' . $tag['name'] . ' / Update'; return $this->render(__DIR__ . '/../../Resources/views/Tag/Edit.php', get_defined_vars()); }
/** * @param string $id * @return void */ public function remove($id) { if (!is_string($id)) { throw InvalidArgumentException::invalidType('string', 'uuid', $id); } return $this->session->remove(sprintf('%s:%s', $this->namespace, $id)); }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $screenId = $request->get('id'); $screenMetadata = $this->getRepository(Screen::class)->getMetaDataById($screenId); if ($screenMetadata['client_id'] != $session->get('client/id')) { return new RedirectResponse('/general-settings/bad-link-access-denied'); } $position = $request->get('position'); $fieldId = $request->get('field_id'); if ($fieldId && $position) { $this->getRepository(Screen::class)->updatePositionForField($screenId, $fieldId, $position); return new RedirectResponse('/yongo/administration/screen/configure/' . $screenId); } $fields = $this->getRepository(Field::class)->getByClient($session->get('client/id')); if ($request->request->has('add_screen_field')) { $fieldId = Util::cleanRegularInputField($request->request->get('field')); if ($fieldId != -1) { $currentDate = Util::getServerCurrentDateTime(); $lastOrder = $this->getRepository(Screen::class)->getLastOrderNumber($screenId); $this->getRepository(Screen::class)->addData($screenId, $fieldId, $lastOrder + 1, $currentDate); $this->getLogger()->addInfo('UPDATE Yongo Screen Data ' . $screenMetadata['name'], $this->getLoggerContext()); return new RedirectResponse('/yongo/administration/screen/configure/' . $screenId); } } $screenData = $this->getRepository(Screen::class)->getDataById($screenId); $menuSelectedCategory = 'issue'; $source = $request->get('source'); $projectId = null; if ($source == 'project_screen' || $source == 'project_field') { $projectId = $request->get('project_id'); } $sectionPageTitle = $session->get('client/settings/title_name') . ' / ' . SystemProduct::SYS_PRODUCT_YONGO_NAME . ' / Update Screen'; return $this->render(__DIR__ . '/../../../Resources/views/administration/screen/Configure.php', get_defined_vars()); }
public function indexAction(Request $request, SessionInterface $session) { if (Util::checkUserIsLoggedIn()) { $clientSettings = $session->get('client/settings'); $session->set('selected_product_id', SystemProduct::SYS_PRODUCT_DOCUMENTADOR); $clientId = $session->get('client/id'); } else { $httpHOST = Util::getHttpHost(); $clientId = $this->getRepository(UbirimiClient::class)->getByBaseURL($httpHOST, 'array', 'id'); $clientSettings = $this->getRepository(UbirimiClient::class)->getById($clientId); $loggedInUserId = null; $settingsDocumentador = $this->getRepository(UbirimiClient::class)->getDocumentadorSettings($clientId); $documentatorUseAnonymous = $settingsDocumentador['anonymous_use_flag']; $documentatorAnonymousViewUserProfiles = $settingsDocumentador['anonymous_view_user_profile_flag']; if (!($documentatorUseAnonymous && $documentatorAnonymousViewUserProfiles)) { Util::signOutAndRedirect(); die; } } $userId = $request->get('id'); $user = $this->getRepository(UbirimiUser::class)->getById($userId); if ($user['client_id'] != $clientId) { return new RedirectResponse('/general-settings/bad-link-access-denied'); } $menuSelectedCategory = 'documentator'; $activities = $this->getRepository(UbirimiUser::class)->getDocumentadorActivityStream($userId); $sectionPageTitle = $session->get('client/settings/title_name') . ' / ' . SystemProduct::SYS_PRODUCT_DOCUMENTADOR_NAME . ' / ' . $user['first_name'] . ' ' . $user['last_name'] . ' / Activity'; return $this->render(__DIR__ . '/../../Resources/views/user/Activity.php', get_defined_vars()); }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $clientId = $session->get('client/id'); $workflowId = $request->get('id'); $stepIdFrom = $request->get('step_id_from'); $stepIdTo = $request->get('step_id_to'); $projectId = $request->get('project_id'); $issueId = $request->get('issue_id'); $assignableUsers = $this->getRepository(YongoProject::class)->getUsersWithPermission($projectId, Permission::PERM_ASSIGNABLE_USER); $projectData = $this->getRepository(YongoProject::class)->getById($projectId); $issue = $this->getRepository(Issue::class)->getByIdSimple($issueId); $workflowData = $this->getRepository(Workflow::class)->getDataByStepIdFromAndStepIdTo($workflowId, $stepIdFrom, $stepIdTo); $screenId = $workflowData['screen_id']; $allUsers = $this->getRepository(UbirimiUser::class)->getByClientId($session->get('client/id')); $screenData = $this->getRepository(Screen::class)->getDataById($screenId); $screenMetadata = $this->getRepository(Screen::class)->getMetaDataById($screenId); $resolutions = $this->getRepository(IssueSettings::class)->getAllIssueSettings('resolution', $clientId); $projectComponents = $this->getRepository(YongoProject::class)->getComponents($projectId); $projectVersions = $this->getRepository(YongoProject::class)->getVersions($projectId); $htmlOutput = ''; $htmlOutput .= '<table class="modal-table">'; $reporterUsers = $this->getRepository(YongoProject::class)->getUsersWithPermission($projectId, Permission::PERM_CREATE_ISSUE); $fieldCodeNULL = null; $fieldData = $this->getRepository(YongoProject::class)->getFieldInformation($projectData['issue_type_field_configuration_id'], $issue['type_id'], 'array'); return $this->render(__DIR__ . '/../../Resources/views/issue/TransitionDialog.php', get_defined_vars()); }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $menuSelectedCategory = 'user'; $sectionPageTitle = $session->get('client/settings/title_name') . ' / ' . SystemProduct::SYS_PRODUCT_YONGO_NAME . ' / Roles'; return $this->render(__DIR__ . '/../../../Resources/views/administration/role/List.php', get_defined_vars()); }
/** * {@inheritdoc} */ public function collect() { $request = $this->request; $response = $this->response; $responseHeaders = $response->headers->all(); $cookies = array(); foreach ($response->headers->getCookies() as $cookie) { $cookies[] = $this->getCookieHeader($cookie->getName(), $cookie->getValue(), $cookie->getExpiresTime(), $cookie->getPath(), $cookie->getDomain(), $cookie->isSecure(), $cookie->isHttpOnly()); } if (count($cookies) > 0) { $responseHeaders['Set-Cookie'] = $cookies; } $statusCode = $response->getStatusCode(); $data = array('format' => $request->getRequestFormat(), 'content_type' => $response->headers->get('Content-Type') ? $response->headers->get('Content-Type') : 'text/html', 'status_text' => isset(Response::$statusTexts[$statusCode]) ? Response::$statusTexts[$statusCode] : '', 'status_code' => $statusCode, 'request_query' => $request->query->all(), 'request_request' => $request->request->all(), 'request_headers' => $request->headers->all(), 'request_server' => $request->server->all(), 'request_cookies' => $request->cookies->all(), 'response_headers' => $responseHeaders, 'path_info' => $request->getPathInfo()); if ($this->session) { $sessionAttributes = array(); foreach ($this->session->all() as $key => $value) { $sessionAttributes[$key] = $value; } $data['session_attributes'] = $sessionAttributes; } if (isset($data['request_headers']['php-auth-pw'])) { $data['request_headers']['php-auth-pw'] = '******'; } if (isset($data['request_server']['PHP_AUTH_PW'])) { $data['request_server']['PHP_AUTH_PW'] = '******'; } foreach ($data as $key => $var) { if (!is_string($data[$key])) { $data[$key] = $this->formatVar($var); } } return $data; }
public function indexAction(Request $request, SessionInterface $session) { Util::checkUserIsLoggedInAndRedirect(); $clientSettings = $session->get('client/settings'); $slaId = $request->get('id'); $dateFrom = $request->get('date_from'); $dateTo = $request->get('date_to'); $issues = $this->getRepository(Sla::class)->getIssues($slaId, $dateFrom, $dateTo); $dates = array(); $succeeded = array(); $breached = array(); $dateTemporary = new \DateTime($dateFrom, new \DateTimeZone($clientSettings['timezone'])); while (date_format($dateTemporary, 'Y-m-d') <= $dateTo) { $dates[] = date_format($dateTemporary, 'Y-m-d'); $succeeded[end($dates)] = 0; $breached[end($dates)] = 0; date_add($dateTemporary, date_interval_create_from_date_string('1 days')); } while ($issues && ($issue = $issues->fetch_array(MYSQLI_ASSOC))) { if ($issue['sla_value'] >= 0) { $succeeded[substr($issue['stopped_date'], 0, 10)]++; } else { $breached[substr($issue['stopped_date'], 0, 10)]++; } } $data = array('dates' => $dates, 'succeeded' => $succeeded, 'breached' => $breached); return new JsonResponse($data); }