Added exist_is_error flag and showing api_request in Preorder

This commit is contained in:
Frank Schubert
2022-11-29 15:14:46 +01:00
parent b9db22d0b7
commit 9a87c00abb
6 changed files with 49 additions and 6 deletions

View File

@@ -293,9 +293,18 @@
</div>
</div>
</form>
<?php if($preorder->submit_type == "api" && $preorder->submit_request): ?>
<div class="card">
<div class="card-body">
<div class="form-group row">
<label class="col-lg-2 col-form-label">Raw API Request</label>
<div class="col-lg-10 text-monospace border" style="max-height: 512px; line-break: auto; overflow: auto; white-space: pre"><script>document.write(JSON.stringify(JSON.parse('<?=str_replace(["\n","\r"],"",$preorder->submit_request)?>'), null, "\t"));</script></div>
</div>
</div>
</div>
<?php endif; ?>
</div>
</div>

View File

@@ -145,7 +145,7 @@
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="district_is_city">Ortsteil ist Ort</label>
<label class="col-lg-2 col-form-label" for="district_is_city">Ortsteil ist Ort:</label>
<div class="col-lg-10">
<select class="form-control" name="district_is_city" id="district_is_city">
<option value="0" <?=(!$campaign->district_is_city) ? "selected='selected'" : ""?>>Nein</option>
@@ -156,7 +156,7 @@
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="hausnummer_add_zusatz">Adresszusatz an Hausnummer anhängen</label>
<label class="col-lg-2 col-form-label" for="hausnummer_add_zusatz">Adresszusatz an Hausnummer anhängen:</label>
<div class="col-lg-10">
<select class="form-control" name="hausnummer_add_zusatz" id="hausnummer_add_zusatz">
<option value="0" <?=(!$campaign->hausnummer_add_zusatz) ? "selected='selected'" : ""?>>Nein</option>
@@ -165,6 +165,17 @@
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="exist_is_error">Erlaubte Vorbestellungen pro Wohneinheit (API):</label>
<div class="col-lg-10">
<select class="form-control" name="exist_is_error" id="exist_is_error">
<option value="0" <?=(!$campaign->exist_is_error) ? "selected='selected'" : ""?>>Mehr als eine</option>
<option value="1" <?=($campaign->exist_is_error) ? "selected='selected'" : ""?>>Maximal eine</option>
</select>
<small>Weiterer Bestellversuch liefert Fehler zurück</small>
</div>
</div>
</div>
</div>

View File

@@ -12,6 +12,7 @@ class PreorderApicontroller extends mfBaseApicontroller {
private $allowed_preordertypes = [];
private $district_is_city = false;
private $hausnummer_add_zusatz = false;
private $exist_is_error = false;
protected function init() {
$db = $this->db(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
@@ -47,10 +48,12 @@ class PreorderApicontroller extends mfBaseApicontroller {
if($campaign->district_is_city == 1) {
$this->district_is_city = true;
}
if($campaign->hausnummer_add_zusatz == 1) {
$this->hausnummer_add_zusatz = true;
}
if($campaign->exist_is_error == 1) {
$this->exist_is_error = true;
}
}
@@ -240,6 +243,19 @@ class PreorderApicontroller extends mfBaseApicontroller {
}
}
if($this->exist_is_error) {
/*
* check if there is an existing preorder for this unit already
*/
if($unit) {
$existing_preorder = PreorderModel::getFirst(['adb_wohneinheit_id' => $unit->wohneinheit_id]);
if($existing_preorder) {
return mfResponse::Forbidden(['message' => "Für diese Wohneinheit liegt bereits eine Bestellung vor"]);
}
}
}
$address_info = $this->db()->escape(trim($this->post['address_info']));
// get correct campaign by salescluster

View File

@@ -94,7 +94,7 @@ class PreorderModel {
}
public static function getFirst() {
public static function getFirst($filter = false) {
$db = FronkDB::singleton();
$where = self::getSqlFilter($filter);

View File

@@ -249,6 +249,12 @@ class PreordercampaignController extends mfBaseController {
$data['hausnummer_add_zusatz'] = 0;
}
if($r->exist_is_error == 1) {
$data['exist_is_error'] = 1;
} else {
$data['exist_is_error'] = 0;
}
$data['edit_by'] = $this->me->id;
if($mode == "add") {

View File

@@ -13,6 +13,7 @@ class PreordercampaignModel {
public $required_preorder_fields;
public $district_is_city;
public $hausnummer_add_zusatz;
public $exist_is_error;
public $note;
public $create_by;