fixed multiple stuff

This commit is contained in:
Luca Haid
2025-04-23 13:32:39 +02:00
parent b9ce99d710
commit 092e9c558a
6 changed files with 65 additions and 21 deletions

View File

@@ -165,7 +165,7 @@ $pagination_entity_name = "Zustimmungserklärungen";
<button type="submit" class="btn btn-primary"><i class="far fa-search fa-fw"></i> Filter anwenden</button>
<a class="btn btn-secondary" href="<?=self::getUrl("ConstructionConsent", "", ["resetFilter" => 1, "filter" => ["project_id" => (is_array($filter) && array_key_exists("project_id", $filter) ? $filter["project_id"] : "")]])?>"><i class="far fa-xmark fa-fw"></i> Filter zurücksetzen</a>
<input type="file" id="csvFileInput" accept=".csv" class="d-none">
<?php if ($me->isAdmin() && is_array($filter) && array_key_exists("project_id", $filter) && !empty($filter["project_id"])): ?>
<?php if (is_array($filter) && array_key_exists("project_id", $filter) && !empty($filter["project_id"])): ?>
<label style="margin-bottom: 0; cursor: pointer" for="csvFileInput" class="btn btn-info"><i class="fas fa-upload fa-fw"></i> Eigentümer-CSV Import</label>
<?php endif; ?>
</div>

View File

@@ -375,7 +375,9 @@ $pagination_entity_name = "Adressen";
<div>
<?php if(is_array($owner->files) && count($owner->files)): foreach($owner->files as $file): ?>
<a href="<?=self::getUrl("File", "download", ["id" => $file->file_id])?>"><i class="far fa-fw fa-file"></i> <?=$file->filename?></a><br />
<a href="<?=self::getUrl("File", "download", ["id" => $file->file_id])?>"><i class="far fa-fw fa-file"></i> <?=$file->filename?></a>
<a class="text-danger" href="<?=self::getUrl("ConstructionConsentOwner", "deleteFile", ["id" => $file->id])?>" onclick="if(!confirm('Datei wirklich löschen?')) return false;" title="Datei Löschen"><i class="far fa-fw fa-trash-alt"></i></a>
<br />
<?php endforeach; endif; ?>
</div>

View File

@@ -156,6 +156,50 @@ class ConstructionConsentOwnerController extends mfBaseController
}
protected function deleteFileAction() {
// display errors
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$id = $this->request->id;
$file = new ConstructionConsentOwnerFile($id);
if(!$file->id) {
$this->layout()->setFlash("Datei nicht gefunden!", "error");
$this->redirect("ConstructionConsent");
}
$owner = new ConstructionConsentOwner($file->constructionconsentowner_id);
if(!$owner->id) {
$this->layout()->setFlash("Besitzer nicht gefunden!", "error");
$this->redirect("ConstructionConsent");
}
$consent = $owner->consent;
if(!$consent->id) {
$this->layout()->setFlash("Zustimmungserklärung nicht gefunden!", "error");
$this->redirect("ConstructionConsent");
}
$project = new ConstructionConsentProject($consent->constructionconsentproject_id);
if(!$project->id) {
$this->layout()->setFlash("Zustimmungserklärungsprojekt nicht gefunden!", "error");
$this->redirect("ConstructionConsent");
}
if (!in_array($project->id, $this->constructionConsentProjects)) {
$this->layout()->setFlash("Sie sind nicht berechtigt, diese Zustimmungserklärung zu bearbeiten", "error");
$this->redirect("ConstructionConsent");
}
$file->file->delete();
$file->delete();
$this->layout()->setFlash("Datei gelöscht!", "success");
$this->redirect("ConstructionConsent", "View", ["id" => $owner->constructionconsent_id]);
}
protected function apiAction() {
$do = $this->request->do;
$data = [];

View File

@@ -343,7 +343,7 @@ class WarehouseEShopOrderController extends TTCrud {
$id = WarehouseEShopOrderModel::create(['status' => 'new',
'extRef' => $json['extRef'],
'deliveryMode' => $json['deliveryMode'],
'deliveryAddressAdditional' => $json['deliveryAddressAdditional'],
'deliveryAddressAdditional' => $json['deliveryAddressAdditional'] ?? '',
'deliveryAddressName' => $json['deliveryAddressName'],
'deliveryAddressLine' => $json['deliveryAddressLine'],
'deliveryAddressPLZ' => $json['deliveryAddressPLZ'],
@@ -388,21 +388,19 @@ class WarehouseEShopOrderController extends TTCrud {
$user = UserModel::getOne($json['createBy']);
foreach (["eshop-versand@xinon.at", $user->email] as $emailAddr) {
$email = new Emailnotification();
$email->setSubject("Bestellbestätigung Bestellung #$subjectId - Referenz: " . $json['extRef']);
$email->setBody($body);
$email->setFrom(TT_OUTGOING_EMAIL_2FA, TT_OUTGOING_EMAIL_2FA);
$email->setTo($emailAddr);
$email->send();
}
if ($_SERVER['HTTP_HOST'] !== 'localhost')
foreach (["eshop-versand@xinon.at", $user->email] as $emailAddr) {
$email = new Emailnotification();
$email->setSubject("Bestellbestätigung Bestellung #$subjectId - Referenz: " . $json['extRef']);
$email->setBody($body);
$email->setFrom(TT_OUTGOING_EMAIL_2FA, TT_OUTGOING_EMAIL_2FA);
$email->setTo($emailAddr);
$email->send();
}
self::returnJson(['success' => true,
'message' => $this->infoMessages['create'],
'id' => $id]);
$json['id'] = $id;
die(json_encode($json));
}
protected function beforeCreate(): bool {

View File

@@ -19,7 +19,7 @@ class WarehouseEShopOrderModel extends TTCrudBaseModel {
public string $status;
public string $deliveryMode;
public string $deliveryAddressName;
public string $deliveryAddressAdditional;
public ?string $deliveryAddressAdditional;
public string $deliveryAddressLine;
public string $deliveryAddressPLZ;
public string $deliveryAddressCity;

View File

@@ -65,12 +65,12 @@ Vue.component('warehouse-e-shop', {
const response = await axios.post(`${window['TT_CONFIG']['BASE_PATH']}/WarehouseEShopOrder/createOrder`, {
shoppingCart: this.shoppingCart,
deliveryMode: this.createOrderDialogData.deliveryMode,
extRef: this.createOrderDialogData.extRef.trim(),
deliveryAddressName: this.createOrderDialogData.deliveryAddressName.trim(),
deliveryAddressAdditional: this.createOrderDialogData.deliveryAddressAdditional.trim(),
deliveryAddressLine: this.createOrderDialogData.deliveryAddressLine.trim(),
deliveryAddressPLZ: this.createOrderDialogData.deliveryAddressPLZ.trim(),
deliveryAddressCity: this.createOrderDialogData.deliveryAddressCity.trim(),
extRef: this.createOrderDialogData.extRef?.trim(),
deliveryAddressName: this.createOrderDialogData.deliveryAddressName?.trim(),
deliveryAddressAdditional: this.createOrderDialogData.deliveryAddressAdditional?.trim(),
deliveryAddressLine: this.createOrderDialogData.deliveryAddressLine?.trim(),
deliveryAddressPLZ: this.createOrderDialogData.deliveryAddressPLZ?.trim(),
deliveryAddressCity: this.createOrderDialogData.deliveryAddressCity?.trim(),
});
if (response.data.success) {
this.window.notify('success', response.data.message || 'Erfolgreich gespeichert');