diff --git a/.DS_Store b/.DS_Store index 135422b..e565e0c 100644 Binary files a/.DS_Store and b/.DS_Store differ 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)); }