Gruppenstuff

This commit is contained in:
holger.trampe 2021-07-28 16:26:08 +02:00
parent 92c0e0f7c9
commit 89b48ed761
4 changed files with 47 additions and 4 deletions

View File

@ -10,15 +10,21 @@ return [
['name' => 'agency#updateagencydata', 'url' => '/updateagencydata', 'verb' => 'PUT'], ['name' => 'agency#updateagencydata', 'url' => '/updateagencydata', 'verb' => 'PUT'],
['name' => 'agency#getagencycontributors', 'url' => '/getagencycontributors', 'verb' => 'GET'], ['name' => 'agency#getagencycontributors', 'url' => '/getagencycontributors', 'verb' => 'GET'],
['name' => 'agency#updateagencygroupcontributors', 'url' => '/updateagencygroupcontributors/{gid}', 'verb' => 'PUT'], ['name' => 'agency#updateagencygroupcontributors', 'url' => '/updateagencygroupcontributors/{gid}', 'verb' => 'PUT'],
['name' => 'agency#updateagencygroup', 'url' => '/updateagencygroup', 'verb' => 'POST'],
['name' => 'agency#deleteagencygroup', 'url' => '/delagencygroup', 'verb' => 'POST'],
# GROUPS # GROUPS
['name' => 'group#getagencygroups', 'url' => '/getagencygroups', 'verb' => 'GET'], ['name' => 'group#getagencygroups', 'url' => '/getagencygroups', 'verb' => 'GET'],
['name' => 'group#addagencygroup', 'url' => '/addagencygroup', 'verb' => 'PUT'], ['name' => 'group#addagencygroup', 'url' => '/addagencygroup', 'verb' => 'PUT'],
['name' => 'group#delagencygroup', 'url' => '/delagencygroup/{id}', 'verb' => 'GET'], ['name' => 'group#delagencygroup', 'url' => '/delagencygroup/{id}', 'verb' => 'GET'],
# MIGRATIN # MIGRATIN
['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' => 'POST'], ['name' => 'migrate#createAGGroupFolder', 'url' => '/createagf', 'verb' => 'POST'],
] ]
]; ];

View File

@ -9,6 +9,7 @@ use OCP\IUserManager;
use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\Http\JSONResponse; use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Controller; use OCP\AppFramework\Controller;
use OCP\IGroupManager;
use OCA\Agency\Service\AgencyService; use OCA\Agency\Service\AgencyService;
use OCA\Agency\Agency\AgencyManager; use OCA\Agency\Agency\AgencyManager;
@ -21,15 +22,17 @@ class AgencyController extends Controller {
protected $userSession; protected $userSession;
protected $request; protected $request;
protected $agencyManager; protected $agencyManager;
protected $groupManager;
use Errors; use Errors;
public function __construct(string $AppName, IRequest $request, IUserSession $userSession, AgencyService $service, IDBConnection $connection, AgencyManager $agencymanager){ public function __construct(string $AppName, IRequest $request, IUserSession $userSession, AgencyService $service, IDBConnection $connection, AgencyManager $agencymanager, IGroupManager $groupManager){
parent::__construct($AppName, $request); parent::__construct($AppName, $request);
$this->service = $service; $this->service = $service;
$this->userSession = $userSession; $this->userSession = $userSession;
$this->request = $request; $this->request = $request;
$this->agencyManager = $agencymanager; $this->agencyManager = $agencymanager;
$this->groupManager = $groupManager;
} }
/** /**
@ -113,4 +116,34 @@ class AgencyController extends Controller {
return $this->agencyManager->updateagencygroupcontributors($gid, $users); return $this->agencyManager->updateagencygroupcontributors($gid, $users);
} }
/**
* @PublicPage
* @NoCSRFRequired
*
* @param:
* groupid - string, groupid in NC to update
* newvalue - string, new groupname
*
*/
public function updateagencygroup(string $groupid, string $newvalue){
$this->groupManager->get($groupid)->setDisplayName($newvalue);
//return "OK!";
}
/**
* @PublicPage
* @NoCSRFRequired
*
* @param:
* groupid - string, groupid in NC to update
* newvalue - string, new groupname
*
*/
public function deleteagencygroup(string $groupid){
$this->groupManager->get($groupid)->delete();
//return "OK!";
}
} }

View File

@ -128,4 +128,5 @@ class GroupController extends Controller {
} }
return $result; return $result;
} }
} }

View File

@ -14,7 +14,6 @@ use OCP\AppFramework\Controller;
use OCP\IDBConnection; use OCP\IDBConnection;
use OCA\GroupFolders\Folder\FolderManager; use OCA\GroupFolders\Folder\FolderManager;
class MigrateController extends Controller { class MigrateController extends Controller {
protected $userSession; protected $userSession;
@ -95,11 +94,15 @@ class MigrateController extends Controller {
* @PublicPage * @PublicPage
* @NoCSRFRequired * @NoCSRFRequired
*/ */
public function createAGGroupFolder(string $gid){ public function createAGGroupFolder(string $gid, string $aid){
$folderManager = new FolderManager($this->connection, $this->groupManager); $folderManager = new FolderManager($this->connection, $this->groupManager);
$newFolderIdAG = $folderManager->createFolder('Agenturdaten'); $newFolderIdAG = $folderManager->createFolder('Agenturdaten_'.$aid);
# Hinzufügen der Mitarbeitergruppe der entsprechenden Agentur
$folderManager->addApplicableGroup($newFolderIdAG, $gid); $folderManager->addApplicableGroup($newFolderIdAG, $gid);
$folderManager->setGroupPermissions($newFolderIdAG, $gid, '31'); $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 "OK!"; return "OK!";
} }
} }