<?php
namespace App\Controller\Kernel;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use App\Service\Kernel\UserService;
use App\Service\Kernel\KernelService;
use App\Service\Kernel\MailService;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
/**
* @Route("/{_locale}/home")
*/
class AppController extends AbstractController
{
/**
* @Route("/", name="app_home", methods={"GET"})
*/
public function home(Request $request, UserService $userService, SessionInterface $session, KernelService $kernelservice, MailService $mailservice): Response
{
$classname = explode("\\", get_class($this));
$arraysize = count($classname);
$attribute = str_replace("Controller", "", $classname[$arraysize-1]) . ":" . str_replace("Action", "", __FUNCTION__);
$this->denyAccessUnlessGranted($attribute);
$showconfig = $userService->HasAccess("App:configuration");
$session->set('showfileuploads', $userService->HasAccess("FileUpload:index"));
/*if ($session->get('firstpage') == null)
{
$organization = $this->getUser()->getOrganization();
$loginmail = $kernelservice->getApplicationInfoValue("Kernel.LoginMail", $organization);
$applicationname = $kernelservice->getApplicationInfoValue("Kernel.Applicationame", $organization);
if($loginmail == true)
{
//$this->get('session')->getFlashBag()->add('error', "firstlogin");
$tomail = $kernelservice->getApplicationInfoValue("Kernel.Loginemail", $organization);
$mailservice->createMail($tomail, "Login in " . $applicationname, 'login from '. $this->getUser(). ' using ip:'.$request->getClientIp(), null, null, null, $organization);
}
$session->set('firstpage', 'no');
}*/
return $this->render('kernel/app/home.html.twig', [
'showconfig' => $showconfig
]);
}
/**
* @Route("/innerhome", name="app_innerhome", methods={"GET"})
*/
public function innerhome(UserService $userService): Response
{
$classname = explode("\\", get_class($this));
$arraysize = count($classname);
$attribute = str_replace("Controller", "", $classname[$arraysize-1]) . ":" . str_replace("Action", "", __FUNCTION__);
$this->denyAccessUnlessGranted($attribute);
$user = $this->getUser();
$template = $user->getUserFunction()->getUiTemplate();
if ($template != null)
{
/*if ($template->getName() == "UITemplate.User")
{
return $this->redirectToRoute('user_home', array('id' => $user->getId()));
}*/
return $this->redirectToRoute('user_home', array('id' => $user->getId()));
}
//return $this->redirectToRoute('plant_overview');
return $this->render('kernel/app/innerhome.html.twig', [
]);
}
/**
* @Route("/configuration", name="app_configuration", methods={"GET"})
*/
public function configuration(UserService $userService, SessionInterface $session): Response
{
$classname = explode("\\", get_class($this));
$arraysize = count($classname);
$attribute = str_replace("Controller", "", $classname[$arraysize-1]) . ":" . str_replace("Action", "", __FUNCTION__);
$this->denyAccessUnlessGranted($attribute);
$session->set('showusers', $userService->HasAccess("User:index"));
$session->set('showorganizations', $userService->HasAccess("Organization:index"));
$session->set('showfolders', $userService->HasAccess("Folder:index"));
$session->set('showsettings', $userService->HasAccess("Setting:index"));
$session->set('showconfigurablelists', $userService->HasAccess("ConfigurableList:index"));
$session->set('showuserfunctions', $userService->HasAccess("UserFunction:index"));
$session->set('showroles', $userService->HasAccess("Role:index"));
$session->set('showprofiles', $userService->HasAccess("Profile:index"));
$session->set('showactionprofiles', $userService->HasAccess("ActionProfile:index"));
$session->set('showsecurityactions', $userService->HasAccess("SecurityAction:index"));
$session->set('showbatchjobs', $userService->HasAccess("BatchJob:index"));
//$session->set('showcontacts', $userService->HasAccess("Contact:index"));
$session->set('showcontacts', $userService->HasAccess("BatchJob:index"));
//$session->set('showmailings', $userService->HasAccess("Mailing:index"));
$session->set('showmailings', $userService->HasAccess("BatchJob:index"));
//$session->set('showcustomization', $userService->HasAccess("CustomizedEntity:index"));
$session->set('showcustomization', $userService->HasAccess("BatchJob:index"));
$session->set('showmails', $userService->HasAccess("Mail:index"));
$session->set('showuserlogs', $userService->HasAccess("UserLog:index"));
$session->set('showscreenconfigurations', $userService->HasAccess("ScreenConfiguration:index"));
$session->set('showwidgets', $userService->HasAccess("Widget:index"));
$session->set('showdocumenttemplategroups', $userService->HasAccess("DocumentTemplateGroup:index"));
$session->set('showtemplatetypes', $userService->HasAccess("TemplateType:index"));
$session->set('showintegrationmessages', $userService->HasAccess("IntegrationMessage:index"));
$session->set('showdestinations', $userService->HasAccess("Destination:index"));
$session->set('showintegrationexecutions', $userService->HasAccess("IntegrationExecution:index"));
$session->set('showintegrations', $userService->HasAccess("Integration:index"));
return $this->render('kernel/app/configuration.html.twig', [
]);
}
}