This commit is contained in:
holger.trampe 2021-08-08 13:10:40 +02:00
parent f0dc3c3f8b
commit 0a29d15e09
5 changed files with 93 additions and 47 deletions

View File

@ -1,5 +1,11 @@
<?php <?php
declare(strict_types=1);
return [ return [
'ocs' => [
// Apps
['name' => 'public#publicresponse', 'url' => '/api/v1/creategf', 'verb' => 'POST'],
],
//'resources' => [ //'resources' => [
// 'agency' => ['url' => '/agencys'], // 'agency' => ['url' => '/agencys'],
//], //],
@ -28,8 +34,6 @@ return [
['name' => 'migrate#startMigration', 'url' => '/startmigration', 'verb' => 'PUT'], ['name' => 'migrate#startMigration', 'url' => '/startmigration', 'verb' => 'PUT'],
['name' => 'migrate#getcurrentuser', 'url' => '/getcurrentuser', 'verb' => 'POST'], ['name' => 'migrate#getcurrentuser', 'url' => '/getcurrentuser', 'verb' => 'POST'],
['name' => 'migrate#renameGroup', 'url' => '/regr', 'verb' => 'POST'], ['name' => 'migrate#renameGroup', 'url' => '/regr', 'verb' => 'POST'],
['name' => 'migrate#createAGGroupFolder', 'url' => '/createagf', 'verb' => 'GET'], //['name' => 'migrate#createAGGroupFolder', 'url' => '/createagf', 'verb' => 'GET'],
] ]
]; ];

View File

@ -28,19 +28,20 @@ class Application extends App {
# 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); $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); $dispatcher->addServiceListener(BeforeTemplateRenderedEvent::class, LoginByNC::class);
} }
} }
/* /*
CHANGED USER IN DJANGO BY NC User logged in, save Session-ID and login the User in Django
*/ */
class LoginByNC extends Controller { class LoginByNC extends Controller {
protected $session; protected $session;
protected $request; protected $request;
private $nclink = 'https://test.app.digitale-agentur.com'; //private $nclink = 'https://test.app.digitale-agentur.com';
//private $nclink = 'http://host.docker.internal:8000'; private $nclink = 'http://host.docker.internal:8000';
public function __construct(string $AppName, IRequest $request, IUserSession $session) { public function __construct(string $AppName, IRequest $request, IUserSession $session) {
$this->request = $request; $this->request = $request;
@ -90,8 +91,8 @@ class UserChangedByNC extends Controller {
protected $session; protected $session;
protected $request; protected $request;
private $nclink = 'https://test.app.digitale-agentur.com'; //private $nclink = 'https://test.app.digitale-agentur.com';
//private $nclink = 'http://host.docker.internal:8000'; private $nclink = 'http://host.docker.internal:8000';
public function __construct(string $AppName, IRequest $request, IUserSession $session) { public function __construct(string $AppName, IRequest $request, IUserSession $session) {
$this->request = $request; $this->request = $request;
@ -123,8 +124,8 @@ class UserChangedByNC extends Controller {
class LogoutByNC extends Controller { class LogoutByNC extends Controller {
protected $session; protected $session;
private $nclink = 'https://test.app.digitale-agentur.com'; //private $nclink = 'https://test.app.digitale-agentur.com';
//private $nclink = 'http://host.docker.internal:8000'; private $nclink = 'http://host.docker.internal:8000';
public function __construct(string $AppName, IRequest $request, IUserSession $session) { public function __construct(string $AppName, IRequest $request, IUserSession $session) {
parent::__construct($AppName, $request); parent::__construct($AppName, $request);

View File

@ -143,15 +143,13 @@ class AgencyController extends Controller {
$this->groupManager->get($groupid)->delete(); $this->groupManager->get($groupid)->delete();
//return "OK!"; //return "OK!";
} }
/**
/** * @NoAdminRequired
* @PublicPage * @NoCSRFRequired
* @NoCSRFRequired * @CORS
* @NoAdminRequired */
*
*/
public function getlogdata(){ public function getlogdata(){
echo "THIS IS AWESOME"; refickdichscheissnextclouidturn "NIX!";
} }

View File

@ -1,6 +1,4 @@
<?php <?php
declare(strict_types=1);
namespace OCA\Agency\Controller; namespace OCA\Agency\Controller;
use OCP\IRequest; use OCP\IRequest;
@ -75,8 +73,7 @@ class MigrateController extends Controller {
* @NoAdminRequired * @NoAdminRequired
*/ */
public function getcurrentuser(){ public function getcurrentuser(){
#return $this->userSession->getUser()->getUID(); return $this->userSession->getUser()->getUID();
return $this->userSession->getSession();
} }
/** /**
* Method change the GroupName - ADMIN NEED! * Method change the GroupName - ADMIN NEED!
@ -91,31 +88,27 @@ class MigrateController extends Controller {
} }
/** /**
* @PublicPage * @NoAdminRequired
* @NoCSRFRequired */
* public function createAGGroupFolder(string $gid, string $aid){
* @param: //if($sk == "lkjahstaszd76uhjNJABHM65rftzvb323ADSD567tzu9ztz"){
* $id - id of a group #$folderManager = new FolderManager($this->connection, $this->groupManager);
* $aid - agencyid #$newFolderIdAG = $folderManager->createFolderss('Agenturdaten_'.$aid);
* $sk - security-key ## Hinzufügen der Mitarbeitergruppe der entsprechenden Agentur
* @return DataResponse #$folderManager->addApplicableGroup($newFolderIdAG, $gid);
*/ #$folderManager->setGroupPermissions($newFolderIdAG, $gid, '31');
public function createAGGroupFolder(string $gid, string $aid, string $sk){ ## Hinzufügen der Admingruppe, damit die weitere Dateien und Ordneraktionen bei der #Migration klappen
return array('test' => 'hi'); #$folderManager->addApplicableGroup($newFolderIdAG, "admin");
#if($sk == "lkjahstaszd76uhjNJABHM65rftzvb323ADSD567tzu9ztz"){ #$folderManager->setGroupPermissions($newFolderIdAG, "admin", '31');
# echo "groupfolder created"; return new JSONResponse([
#$folderManager = new FolderManager($this->connection, $this->groupManager); 'status' => 'error',
#$newFolderIdAG = $folderManager->createFolder('Agenturdaten_'.$aid); 'data' => [
## Hinzufügen der Mitarbeitergruppe der entsprechenden Agentur 'message' => 'Folder not found'
#$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"); //else{
#$folderManager->setGroupPermissions($newFolderIdAG, "admin", '31'); // return var_dump("FAIL GF CREATING");
#echo "groupfolder created";
#}
#else{
# echo "FAILED";
#} #}
} }
} }

View File

@ -0,0 +1,50 @@
<?php
declare(strict_types=1);
namespace OCA\Agency\Controller;
use OCP\AppFramework\OCSController;
use OCP\IRequest;
use OCP\AppFramework\Http\DataResponse;
use OCP\IDBConnection;
use OCP\IUserSession;
use OCP\IGroupManager;
use OCP\IUserManager;
use OCP\IGroup;
use OCA\GroupFolders\Folder\FolderManager;
class PublicController extends OCSController {
protected $userSession;
protected $request;
protected $connection;
protected $groupManager;
protected $userManager;
public function __construct(string $AppName, IRequest $request, IUserSession $userSession,IDBConnection $connection, IGroupManager $groupManager, IUserManager $userManager){
parent::__construct($AppName, $request);
$this->userSession = $userSession;
$this->request = $request;
$this->connection = $connection;
$this->groupManager = $groupManager;
$this->userManager = $userManager;
}
/**
* @NoAdminRequired
* @NoCSRFRequired
*/
public function publicresponse(string $gid, string $aid): DataResponse{
$folderManager = new FolderManager($this->connection, $this->groupManager);
#$newFolderIdAG = $folderManager->createFolderss('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');
return new DataResponse(array("status" => $aid));
}
}