Merge branch 'fronkdev' into 'master'

Fixed not being able to order mgmt service from Citycom

See merge request fronk/thetool!1895
This commit is contained in:
Frank Schubert
2025-11-20 13:41:58 +00:00
7 changed files with 19 additions and 4 deletions

View File

@@ -1075,6 +1075,8 @@ $pagination_entity_name = "Vorbestellungen";
<?php if(!$me->is(["preorderfront"]) && !$me->is("preorderreadonly")): ?>
<a href="#" data-home-id="<?=$preorder->adb_wohneinheit_id?>" data-home-contact title="Kontakte bearbeiten"><i class="fas fa-users-cog text-primary"></i></a>
<a href="<?=self::getUrl("Preorder", "edit", ["id" => $preorder->id])?>"><i class="far fa-edit" title="Vorbestellung Bearbeiten"></i></a>
<?php endif; ?>
<?php if($me->isAdmin()): ?>
<a href="<?=self::getUrl("Preorder", "delete", ["id" => $preorder->id, "filter" => $filter])?>" class="text-danger" onclick="if(!confirm('Vorbestellung wirklich löschen?')) return false;" title="Vorbestellung Löschen"><i class="fas fa-trash"></i></a>
<?php endif; ?>
</div>

View File

@@ -791,6 +791,10 @@ class PreorderController extends mfBaseController {
$qs = http_build_query($qs);
}
if(!$this->me->isAdmin()) {
$this->redirect("Preorder", "Index", $qs);
}
$id = $this->request->id;
if(!is_numeric($id) || $id < 1) {
$this->layout()->setFlash("Vorbestellung nicht gefunden!", "error");

View File

@@ -22,6 +22,7 @@ final class ConstructionConsentChangeStatusAndResult extends AbstractMigration
$cco = $this->table("ConstructionConsentOwner");
$cco->changeColumn("status", "enum", ["null" => true, "default" => null, "values" => "new,requested,answered"]);
$cco->changeColumn("result", "enum", ["null" => true, "default" => null, "values" => "success,failure"]);
$cco->update();
$this->execute("UPDATE ConstructionConsentOwner SET status=NULL, result=NULL");
$cco->changeColumn("status", "enum", ["null" => true, "default" => null, "values" => "new,sent,returned,outstanding"]);

View File

@@ -5,7 +5,12 @@ use Phinx\Migration\AbstractMigration;
final class WarehouseModify10 extends AbstractMigration {
public function up(): void {
if ($this->getEnvironment() == "thetool") {
// Drop the existing tables
// Remove foreign keys and drop the existing tables
$this->table("WarehouseOrderItem")
->dropForeignKey("orderId")
->dropForeignKey("articleId")
->update();
$this->table("WarehouseOrder")->drop()->save();
$this->table("WarehouseOrderItem")->drop()->save();

View File

@@ -14,7 +14,7 @@ final class AddNewIndexesAdb extends AbstractMigration
->save();
$wohneinheit->removeIndexByName('extref')
->addIndex('extref', ['name' => 'idx_extref_full'])
->addIndex('extref', ['name' => 'idx_extref_full', 'limit' => 32])
->save();
}

View File

@@ -49,6 +49,7 @@ final class WarehouseOfferVersioning extends AbstractMigration
// Use Phinx schema builder to add columns to the WarehouseOffer table
$warehouseOffer = $this->table('WarehouseOffer');
$warehouseOffer
->addColumn('contactPerson', 'string', ['limit' => 255, 'null' => true, "after" => 'customerName'])
->addColumn('contactPersonEmail', 'string', ['limit' => 255, 'null' => true, 'after' => 'contactPerson'])
->addColumn('lastSentDate', 'integer', ['null' => true, 'after' => 'status'])
->addColumn('version', 'integer', ['default' => 1, 'after' => 'id'])

View File

@@ -116,10 +116,12 @@ class Citycom_OanApiHelper {
$this->log->debug(print_r($want_services, true));
$allowed_service_types = array_merge(CITYCOM_OAN_API_SERVICES_FOR_ORDER, CITYCOM_OAN_API_SERVICES_FOR_RESERVATION);
// check if we have these services already
foreach($cc_service_types as $stype) {
if(!in_array($stype->name, CITYCOM_OAN_API_SERVICES_FOR_ORDER)) continue;
$ctag_service_type = array_flip(CITYCOM_OAN_API_SERVICES_FOR_ORDER)[$stype->name];
if(!in_array($stype->name, $allowed_service_types)) continue;
$ctag_service_type = array_flip($allowed_service_types)[$stype->name];
if(PreorderCtag::getFirstActive(["preorder_id" => $preorder->id, "service_type" => $ctag_service_type])) {
// service was ordered already, remove from want_services
unset($want_services[$ctag_service_type]);