From 17b4a0f3f2a03d9ebc9ba85ee12869dd77bbd234 Mon Sep 17 00:00:00 2001 From: Luca Haid Date: Mon, 18 Aug 2025 18:47:00 +0200 Subject: [PATCH] added new menu point and added new permission --- Layout/default/User/Form.php | 9 +++++++ Layout/default/menu.php | 5 +++- application/User/UserController.php | 1 + ...00_rmlworkorder_add_company_permission.php | 27 +++++++++++++++++++ 4 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 db/migrations/20250818180000_rmlworkorder_add_company_permission.php diff --git a/Layout/default/User/Form.php b/Layout/default/User/Form.php index d2aa08e8a..90945f6e6 100644 --- a/Layout/default/User/Form.php +++ b/Layout/default/User/Form.php @@ -500,6 +500,15 @@ $siteTitle = "Benutzer"; + +
+
+ can("RMLCompany")) ? "checked='checked'" : ""?> /> + +
+

diff --git a/Layout/default/menu.php b/Layout/default/menu.php index 36e4c4a43..ed26aa373 100644 --- a/Layout/default/menu.php +++ b/Layout/default/menu.php @@ -124,7 +124,7 @@ - is(["Admin","netowner","lineplanner","pipeplanner","pipeworker","lineworker"]) && ($me->is("employee") || $me->can(["Building","Pipework","Linework","Patching","Filestore"]))): ?> + is(["Admin","netowner","lineplanner","pipeplanner","pipeworker","lineworker"]) && ($me->is("employee") || $me->can(["Building","Pipework","Linework","Patching","Filestore", "RMLCompany"]))): ?>
  • Netzbau
    @@ -139,6 +139,9 @@ is(["Admin","netowner","pipeplanner","pipeplanner"]) && $me->is("employee")): ?>
  • "> Verteiler und Schächte
  • is(["Admin","netowner","lineplanner","lineworker"]) && $me->is("employee")): ?>
  • "> Rohrverzeichnis
  • is(["Admin","netowner","lineplanner","lineworker"]) && $me->is("employee")): ?>
  • "> Kabelverzeichnis
  • + + can("RMLCompany")): ?>
  • "> Arbeitsaufträge
  • + can("RMLAdmin")): ?>
  • "> Arbeitsaufträge-Management
  • diff --git a/application/User/UserController.php b/application/User/UserController.php index d3e2e3320..7869c1e3b 100644 --- a/application/User/UserController.php +++ b/application/User/UserController.php @@ -265,6 +265,7 @@ class UserController extends mfBaseController $user->permissions->canADBExtended = "false"; $user->permissions->canAssetAdmin = "false"; $user->permissions->canRMLAdmin = "false"; + $user->permissions->canRMLCompany = "false"; if($r->get("can") && is_array($r->can)) { foreach($r->can as $key => $can) { diff --git a/db/migrations/20250818180000_rmlworkorder_add_company_permission.php b/db/migrations/20250818180000_rmlworkorder_add_company_permission.php new file mode 100644 index 000000000..6c2d39578 --- /dev/null +++ b/db/migrations/20250818180000_rmlworkorder_add_company_permission.php @@ -0,0 +1,27 @@ +getEnvironment() == "thetool") { + $table = $this->table("WorkerPermission"); + $table->addColumn("canRMLCompany", "enum", ["null" => false, "values" => ['false', 'true'], "default" => "false", "after" => "canSuperexpert"]); + $table->update(); + + // ALTER TABLE `WorkerPermission` ADD COLUMN `canRMLCompany` ENUM('false', 'true') NOT NULL DEFAULT 'false' AFTER `canSuperexpert`; + } + } + + public function down(): void + { + if ($this->getEnvironment() == "thetool") { + $table = $this->table("WorkerPermission"); + $table->removeColumn("canRMLCompany"); + $table->save(); + } + } +}