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
declare(strict_types=1);
return [
'ocs' => [
// Apps
['name' => 'public#publicresponse', 'url' => '/api/v1/creategf', 'verb' => 'POST'],
],
//'resources' => [
// 'agency' => ['url' => '/agencys'],
//],
@ -28,8 +34,6 @@ return [
['name' => 'migrate#startMigration', 'url' => '/startmigration', 'verb' => 'PUT'],
['name' => 'migrate#getcurrentuser', 'url' => '/getcurrentuser', '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!
$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);
}
}
/*
CHANGED USER IN DJANGO BY NC
User logged in, save Session-ID and login the User in Django
*/
class LoginByNC extends Controller {
protected $session;
protected $request;
private $nclink = 'https://test.app.digitale-agentur.com';
//private $nclink = 'http://host.docker.internal:8000';
//private $nclink = 'https://test.app.digitale-agentur.com';
private $nclink = 'http://host.docker.internal:8000';
public function __construct(string $AppName, IRequest $request, IUserSession $session) {
$this->request = $request;
@ -90,8 +91,8 @@ class UserChangedByNC extends Controller {
protected $session;
protected $request;
private $nclink = 'https://test.app.digitale-agentur.com';
//private $nclink = 'http://host.docker.internal:8000';
//private $nclink = 'https://test.app.digitale-agentur.com';
private $nclink = 'http://host.docker.internal:8000';
public function __construct(string $AppName, IRequest $request, IUserSession $session) {
$this->request = $request;
@ -123,8 +124,8 @@ class UserChangedByNC extends Controller {
class LogoutByNC extends Controller {
protected $session;
private $nclink = 'https://test.app.digitale-agentur.com';
//private $nclink = 'http://host.docker.internal:8000';
//private $nclink = 'https://test.app.digitale-agentur.com';
private $nclink = 'http://host.docker.internal:8000';
public function __construct(string $AppName, IRequest $request, IUserSession $session) {
parent::__construct($AppName, $request);

View File

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

View File

@ -1,6 +1,4 @@
<?php
declare(strict_types=1);
namespace OCA\Agency\Controller;
use OCP\IRequest;
@ -75,8 +73,7 @@ class MigrateController extends Controller {
* @NoAdminRequired
*/
public function getcurrentuser(){
#return $this->userSession->getUser()->getUID();
return $this->userSession->getSession();
return $this->userSession->getUser()->getUID();
}
/**
* Method change the GroupName - ADMIN NEED!
@ -91,31 +88,27 @@ class MigrateController extends Controller {
}
/**
* @PublicPage
* @NoCSRFRequired
*
* @param:
* $id - id of a group
* $aid - agencyid
* $sk - security-key
* @return DataResponse
*/
public function createAGGroupFolder(string $gid, string $aid, string $sk){
return array('test' => 'hi');
#if($sk == "lkjahstaszd76uhjNJABHM65rftzvb323ADSD567tzu9ztz"){
# echo "groupfolder created";
#$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');
#echo "groupfolder created";
#}
#else{
# echo "FAILED";
* @NoAdminRequired
*/
public function createAGGroupFolder(string $gid, string $aid){
//if($sk == "lkjahstaszd76uhjNJABHM65rftzvb323ADSD567tzu9ztz"){
#$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 JSONResponse([
'status' => 'error',
'data' => [
'message' => 'Folder not found'
],
]);
// }
//else{
// return var_dump("FAIL GF CREATING");
#}
}
}

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));
}
}