diff --git a/appinfo/info.xml b/appinfo/info.xml
index 20a745c..82b72d2 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -5,7 +5,7 @@
Agency
App for managing Agency of DA
- 0.0.2
+ 0.0.3
Agency
tools
diff --git a/appinfo/routes.php b/appinfo/routes.php
index 04b91dd..6f3ab63 100644
--- a/appinfo/routes.php
+++ b/appinfo/routes.php
@@ -16,5 +16,6 @@ return [
['name' => 'group#delagencygroup', 'url' => '/delagencygroup/{id}', 'verb' => 'GET'],
# DEVELOPMENT
['name' => 'migrate#startMigration', 'url' => '/startmigration', 'verb' => 'PUT'],
+ ['name' => 'migrate#getcurrentuser', 'url' => '/getcurrentuser', 'verb' => 'POST'],
]
];
diff --git a/img/cogs-solid.svg b/img/cogs-solid.svg
new file mode 100644
index 0000000..ef6bac8
--- /dev/null
+++ b/img/cogs-solid.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php
new file mode 100644
index 0000000..bc6d020
--- /dev/null
+++ b/lib/AppInfo/Application.php
@@ -0,0 +1,50 @@
+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);
+ }
+
+}
+
+/*
+ LOGOUT DJANGO BY NC
+ Diese Klasse wird erzeugt, wenn das Evenet BeforeUserLoggedOutEvent getriggert wird. Dann wird
+ der User über die Django-API ausgeloggt!
+*/
+class LogoutByNC extends Controller {
+
+ protected $session;
+
+ public function __construct(string $AppName, IRequest $request, IUserSession $session) {
+ parent::__construct($AppName, $request);
+ $this->session = $session;
+ }
+ # Logout the user!
+ public function handle(BeforeUserLoggedOutEvent $event): void {
+ $opts = [
+ "http" => [
+ "method" => "GET",
+ "header" => ""
+ ]
+ ];
+ $context = stream_context_create($opts);
+ $file = file_get_contents('http://host.docker.internal:8000/api/logout/'.$this->session->getUser()->getUID(), false, $context);
+ }
+}
\ No newline at end of file
diff --git a/lib/Controller/MigrateController.php b/lib/Controller/MigrateController.php
index bed6195..9cb86d8 100644
--- a/lib/Controller/MigrateController.php
+++ b/lib/Controller/MigrateController.php
@@ -11,9 +11,9 @@ use OCP\IGroup;
use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Controller;
-
use OCP\IDBConnection;
+
class MigrateController extends Controller {
protected $userSession;
@@ -31,6 +31,7 @@ class MigrateController extends Controller {
$this->connection = $connection;
$this->groupManager = $groupManager;
$this->userManager = $userManager;
+
}
// Return an random Id-Ele for generating single IDs
@@ -45,7 +46,8 @@ class MigrateController extends Controller {
}
/**
- * @NoAdminRequired
+ * @NoCSRFRequired
+ * @NoAdminRequired
*/
public function startMigration(string $agencyid, string $mainurl) {
$json = file_get_contents($mainurl.$agencyid);
@@ -60,9 +62,20 @@ class MigrateController extends Controller {
if($this->userManager->userExists($ele['userid']) == false){
$tempuser = $this->userManager->createUser($ele['userid'], $this->generateRandomPassword());
$tempuser->setEmailAddress($ele['userid']);
+ $tempuser->setDisplayName($ele['displayname']);
}
}
return $feedbackstring;
}
-}
\ No newline at end of file
+
+ /**
+ * @PublicPage
+ * @NoCSRFRequired
+ * @NoAdminRequired
+ */
+ public function getcurrentuser(){
+ #return $this->userSession->getUser()->getUID();
+ return $this->userSession->getSession();
+ }
+}
diff --git a/src/router/routes.js b/src/router/routes.js
index 86c4ec1..dd73f5f 100644
--- a/src/router/routes.js
+++ b/src/router/routes.js
@@ -19,3 +19,4 @@ export default [
component: Migrate,
},
]
+// TODO: Hier migrate usw. auf den richtigen Pfad setzen und agencydata auch wieder auf agencydata usw.