From 99472ddaffde552ce071911cb49a58fa0d5e9efa Mon Sep 17 00:00:00 2001 From: Holger Trampe Date: Thu, 16 Sep 2021 14:44:08 +0200 Subject: [PATCH] Registrierung fertig --- .DS_Store | Bin 10244 -> 10244 bytes js/tm.js | 8 ++++++-- lib/AppInfo/Application.php | 11 +++++++---- lib/Controller/PageController.php | 1 + lib/Controller/PublicController.php | 29 +++++++++++++++++++--------- 5 files changed, 34 insertions(+), 15 deletions(-) diff --git a/.DS_Store b/.DS_Store index 135422bea55365f6c0ee61e7b2872e0973e0ab1b..e565e0c99b45ec7d1653e758cc698c3f35232a6a 100644 GIT binary patch delta 52 zcmZn(XbITREyQ?oa*t30w?uWdk+F%6g0X?wWC>we#+j4Ngyk7$Z4MLO$g`PE;Wx`> ICQ)W)0Kc*ilmGw# delta 52 zcmZn(XbITREyQ?ga*t30k7RYVp_#dfj)H}`(PVL9S;kqDO@-wdXKxM_-pI3=UEvqY ICQ)W)0Kdl%)Bpeg diff --git a/js/tm.js b/js/tm.js index cbf1307..db02b6c 100644 --- a/js/tm.js +++ b/js/tm.js @@ -65,7 +65,7 @@ function addTMDiv(){ responsedata = JSON.parse(response); $("#actualTime").html(responsedata['actualtime']); // No workday found - if(responsedata['workdaydata_workday'] == 0){ + if(responsedata['workdaydata_workday'] == 0 || response == false){ starttime_view = false; startbreaktime_view = false; isbreak = false; @@ -284,4 +284,8 @@ function realTimeBreakClock(){ $("#realtimeclock_break").html(convertMS(startbreaktime_view)); } -var html_content = '
'; \ No newline at end of file +var html_content = '
'; + + + + diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php index 963187f..2372864 100644 --- a/lib/AppInfo/Application.php +++ b/lib/AppInfo/Application.php @@ -22,14 +22,15 @@ class Application extends App { public function __construct() { parent::__construct($this->AppName); + $dispatcher = $this->getContainer()->query(IEventDispatcher::class); # Adding the Pre-Logout-Event for logging a User out of Django when user is atempt to logout from the cloud $dispatcher->addServiceListener(BeforeUserLoggedOutEvent::class, LogoutByNC::class); - # ADding the Event, that User has Changed - update the logged User by Django. Works only by personal informations of the User! + # Adding the Event, that User has Changed - update the logged User by Django. Works only by personal informations of the User! $dispatcher->addServiceListener(UserChangedEvent::class, UserChangedByNC::class); - + # Checking, if a user logged in in Django and which user is logged in in Django. $dispatcher->addServiceListener(BeforeTemplateRenderedEvent::class, LoginByNC::class); @@ -148,8 +149,10 @@ class UserChangedByNC extends Controller { "verify_peer_name"=>false, ), ]; - $context = stream_context_create($opts); - $file = file_get_contents($this->nclink.'/api/uschanged/'.$this->session->getUser()->getUID().'/'.$this->request->getCookie('nc_session_id'), false, $context); + if($this->session->getUser() != null){ + $context = stream_context_create($opts); + $file = file_get_contents($this->nclink.'/api/uschanged/'.$this->session->getUser()->getUID().'/'.$this->request->getCookie('nc_session_id'), false, $context); + } } } diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php index 2811511..2a7a3fc 100644 --- a/lib/Controller/PageController.php +++ b/lib/Controller/PageController.php @@ -136,6 +136,7 @@ class PageController extends Controller { /** * @NoCSRFRequired + * @NoAdminRequired * * Gibt alle notwendigen Daten zurück für die Zeiterfassung */ diff --git a/lib/Controller/PublicController.php b/lib/Controller/PublicController.php index 779bffc..06d303d 100644 --- a/lib/Controller/PublicController.php +++ b/lib/Controller/PublicController.php @@ -36,15 +36,26 @@ class PublicController extends OCSController { * * @NoCSRFRequired */ - public function createGroupFolder(string $gid, string $aid): DataResponse{ - $folderManager = new FolderManager($this->connection, $this->groupManager); - $newFolderIdAG = $folderManager->createFolder('Agenturdaten_'.$aid); - ## Hinzufügen der Mitarbeitergruppe der entsprechenden Agentur - $folderManager->addApplicableGroup($newFolderIdAG, $gid); - $folderManager->setGroupPermissions($newFolderIdAG, $gid, '31'); - ## Hinzufügen der Admingruppe, damit die weitere Dateien und Ordneraktionen bei der #Migration klappen - $folderManager->addApplicableGroup($newFolderIdAG, "admin"); - $folderManager->setGroupPermissions($newFolderIdAG, "admin", '31'); + public function createGroupFolder(string $gid, string $aid, bool $newagency=false): DataResponse{ + if($newagency == false){ + $folderManager = new FolderManager($this->connection, $this->groupManager); + $newFolderIdAG = $folderManager->createFolder('Agenturdaten_'.$aid); + ## Hinzufügen der Mitarbeitergruppe der entsprechenden Agentur + $folderManager->addApplicableGroup($newFolderIdAG, $gid); + $folderManager->setGroupPermissions($newFolderIdAG, $gid, '31'); + ## Hinzufügen der Admingruppe, damit die weitere Dateien und Ordneraktionen bei der #Migration klappen + $folderManager->addApplicableGroup($newFolderIdAG, "admin"); + $folderManager->setGroupPermissions($newFolderIdAG, "admin", '31'); + + } + // Groupfolder, when a new Agency is registered + else{ + $folderManager = new FolderManager($this->connection, $this->groupManager); + $newFolderIdAG = $folderManager->createFolder('Agenturdaten'); + ## Hinzufügen der Mitarbeitergruppe der entsprechenden Agentur + $folderManager->addApplicableGroup($newFolderIdAG, $gid); + $folderManager->setGroupPermissions($newFolderIdAG, $gid, '31'); + } return new DataResponse(array("status" => $aid)); }