WIP Preorder readonly user (meridiam)
This commit is contained in:
@@ -147,6 +147,14 @@
|
||||
<small>Beschränkt Benutzer auf Netzgebiete. Überschreibt Netzgebiete der Firma. Wenn leer werden Netzgebiete der Firma angezeigt</small>
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="preorderreadonly-container">
|
||||
<label for="preorderreadonly">Preorder Readonly:</label>
|
||||
<select name="preorderreadonly" id="preorderreadonly" class="form-control">
|
||||
<option value="false" <?=(isset($user) && !$user->is("preorderreadonly")) ? "selected='selected'" : ""?>>Read/Write</option>
|
||||
<option value="true" <?=(isset($user) && $user->is("preorderreadonly")) ? "selected='selected'" : ""?>>Readonly</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<h4 class="card-title mb-3">Modulberechtigungen</h4>
|
||||
|
||||
@@ -117,12 +117,6 @@ $pagination_entity_name = "Benutzer";
|
||||
style="text-align: left; letter-spacing: 4px; font-size: 1.1em;">
|
||||
<a href="<?= self::getUrl("User", "edit", ['id' => $user->id]) ?>"
|
||||
title="User bearbeiten"><i class="far fa-edit"></i></a>
|
||||
<?php if ($user->id > 1): ?>
|
||||
<a href="<?= self::getUrl("User", "delete", ['id' => $user->id]) ?>"
|
||||
class="text-danger" title="User löschen"
|
||||
onclick="if(!confirm('Benutzer wirklich löschen?')) return false;"><i
|
||||
class="fas fa-trash"></i></a>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
|
||||
@@ -46,6 +46,7 @@ class PreorderApicontroller extends mfBaseApicontroller {
|
||||
|
||||
$this->addRoute("/preorder", "submitPreorder", "POST");
|
||||
$this->addRoute("/preorder/open", "getOpenPreorders", "GET");
|
||||
$this->addRoute("/preorder/all", "getAllPreorders", "GET");
|
||||
$this->addRoute("/preorder/customerInstallationFeedback", [$modules["Cif"], "getCifData"], "GET");
|
||||
$this->addRoute("/preorder/customerInstallationFeedback", [$modules["Cif"], "userSetCif"], "POST");
|
||||
$this->addRoute("/preorder/fullexport", "exportPreorders", "GET");
|
||||
@@ -191,7 +192,10 @@ class PreorderApicontroller extends mfBaseApicontroller {
|
||||
}*/
|
||||
|
||||
$preorder_search = [];
|
||||
$preorder_search['partner_id'] = $this->me->address_id;
|
||||
if(!$this->me->preorderaddressreporting) {
|
||||
$preorder_search['partner_id'] = $this->me->address_id;
|
||||
}
|
||||
|
||||
if($update_ts) {
|
||||
$preorder_search['add-where'] = "AND tt_preorder.`edit` > $update_ts";
|
||||
} else {
|
||||
@@ -204,11 +208,41 @@ class PreorderApicontroller extends mfBaseApicontroller {
|
||||
foreach(PreorderModel::searchActive($preorder_search) as $preorder) {
|
||||
$return[] = $preorder->getApiArray();
|
||||
}
|
||||
|
||||
$this->requestLog->debug(print_r($return, true));
|
||||
return mfResponse::Ok(["preorders" => $return]);
|
||||
|
||||
}
|
||||
|
||||
protected function getAllPreorders() {
|
||||
|
||||
// nicht auf cluster einschränken, sondern auf partner_id
|
||||
/*
|
||||
$preorder_search = [];
|
||||
if(count($this->filter_salescluster_ids)) {
|
||||
$preorder_search['netzgebiet_id'] = $this->filter_salescluster_ids;
|
||||
}*/
|
||||
|
||||
$preorder_search = [];
|
||||
if($this->me->preorderaddressreporting) {
|
||||
|
||||
} else {
|
||||
// providers see their own orders
|
||||
$preorder_search['partner_id'] = $this->me->address_id;
|
||||
}
|
||||
|
||||
// if no timestamp, return only open orders (500 == finished)
|
||||
$preorder_search['<status_code'] = 500;
|
||||
|
||||
$return = [];
|
||||
|
||||
foreach(PreorderModel::searchActive($preorder_search) as $preorder) {
|
||||
$return[] = $preorder->getApiArray();
|
||||
}
|
||||
|
||||
$this->requestLog->debug(print_r($return, true));
|
||||
return mfResponse::Ok(["preorders" => $return]);
|
||||
}
|
||||
|
||||
protected function getPreorder($code) {
|
||||
$code = trim($code);
|
||||
if(!$code) {
|
||||
|
||||
@@ -988,7 +988,7 @@ class PreordercampaignController extends mfBaseController {
|
||||
|
||||
|
||||
if($oaid->adb_wohneinheit_id != $wohneinheit->id) {
|
||||
$rimo = new OpenAccessId_Helper_Rimo($oaid->oaid);
|
||||
//$rimo = new OpenAccessId_Helper_Rimo($oaid->oaid);
|
||||
|
||||
$unit_ftu_data = $wohneinheit->ftu_data;
|
||||
//var_dump($unit_ftu_data);
|
||||
@@ -999,8 +999,8 @@ class PreordercampaignController extends mfBaseController {
|
||||
$oaid_ftu = $oaid->getExportData("rimo");
|
||||
//var_dump($oaid_ftu);
|
||||
if($oaid_ftu->ftu_id) {
|
||||
$rimo->unassignOaid($oaid_ftu->ftu_id);
|
||||
$rimo->assignOaid($unit_ftu_data["id"]);
|
||||
Rimoapi::unassignOaid($oaid->oaid, $oaid_ftu->ftu_id);
|
||||
Rimoapi::assignOaid($oaid->oaid, $unit_ftu_data["id"]);
|
||||
|
||||
$oaid->updateExportData("rimo", "ftu_id", $unit_ftu_data["id"]);
|
||||
$oaid->updateExportData("rimo", "ftu_name", $unit_ftu_data["name"]);
|
||||
|
||||
@@ -80,7 +80,7 @@ class UserController extends mfBaseController
|
||||
$this->layout()->set("addresses", $addresses);
|
||||
}
|
||||
|
||||
protected function generateApikey($request)
|
||||
protected function generateApikeyAction($request)
|
||||
{
|
||||
if (!$this->isAdmin()) {
|
||||
$this->redirect("Dashboard");
|
||||
@@ -220,6 +220,17 @@ class UserController extends mfBaseController
|
||||
$user->permissions->preorderlogistics = "false";
|
||||
}
|
||||
|
||||
if ($r->preorderaddressreporting == "true") {
|
||||
$user->permissions->preorderaddressreporting = "true";
|
||||
} else {
|
||||
$user->permissions->preorderaddressreporting = "false";
|
||||
}
|
||||
|
||||
if ($r->preorderreadonly == "true") {
|
||||
$user->permissions->preorderreadonly = "true";
|
||||
} else {
|
||||
$user->permissions->preorderreadonly = "false";
|
||||
}
|
||||
|
||||
// set can permissions
|
||||
$user->permissions->canBuilding = "false";
|
||||
@@ -272,8 +283,6 @@ class UserController extends mfBaseController
|
||||
$enum->delete();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
$this->layout()->setFlash("Benutzer gespeichert.", "success");
|
||||
@@ -282,8 +291,11 @@ class UserController extends mfBaseController
|
||||
|
||||
protected function deleteAction($request)
|
||||
{
|
||||
$this->layout()->setFlash("nope");
|
||||
$this->redirect("User");
|
||||
|
||||
if (!$this->isAdmin()) {
|
||||
$this->redirect("Bridge");
|
||||
$this->redirect("Dashboard");
|
||||
}
|
||||
$id = $request['id'];
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ class WorkerPermission extends mfBaseModel {
|
||||
public $isPreorderfront = false;
|
||||
public $isPreorderaddressreporting = false;
|
||||
public $isPreorderlogistics = false;
|
||||
public $isPreorderreadonly = false;
|
||||
|
||||
public function loadByUserId($userid) {
|
||||
$res = $this->db->select($this->table,"*","worker_id=$userid");
|
||||
@@ -41,6 +42,9 @@ class WorkerPermission extends mfBaseModel {
|
||||
if($this->preorderlogistics == 'true') {
|
||||
$this->isPreorderlogistics = true;
|
||||
}
|
||||
if($this->preorderreadonly == 'true') {
|
||||
$this->isPreorderreadonly = true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
use Phinx\Migration\AbstractMigration;
|
||||
|
||||
final class AddPreorderReadonlyPermission extends AbstractMigration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
if($this->getEnvironment() == "thetool") {
|
||||
$table = $this->table ("WorkerPermission");
|
||||
$table->addColumn("preorderreadonly", "enum", ["null" => false, "values" => 'false,true', "default" => "false", "after" => "preorderlogistics"]);
|
||||
$table->update();
|
||||
}
|
||||
|
||||
if($this->getEnvironment() == "addressdb") {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public function down(): void
|
||||
{
|
||||
if($this->getEnvironment() == "thetool") {
|
||||
$this->table ("WorkerPermission")->removeColumn("preorderreadonly");
|
||||
}
|
||||
|
||||
if($this->getEnvironment() == "addressdb") {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user