This commit is contained in:
Frank Schubert
2022-05-12 17:39:29 +02:00
parent ebf2f808f3
commit 117b56a301
5 changed files with 49 additions and 4 deletions

View File

@@ -138,6 +138,23 @@
</div>
</div>
<?php if(is_array($campaign->setup_products) && count($campaign->setup_products)): ?>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="setup_product_id">Anschlussprodukt (Herstellung) *</label>
<div class="col-lg-10">
<input type="hidden" name="setup_product_id" value="<?=$preorder->setup_product_id?>" />
<input type="text" id="setup_product_id_text" class="form-control <?=(count($campaign->setup_products) == 1) ? "hidden" : "" ?>" value="<?=(count($campaign->setup_products)) ? $campaign->setup_products[0]->name : ""?>" readonly="readonly" />
<select class="form-control <?=(count($setup_products) < 2) ? "hidden" : "" ?>" id="setup_product_id_select" onchange="updateSetupProduct()">
<option value=""></option>
<?php foreach($setup_products as $sp): ?>
<option value="<?=$sp->id?>" <?=($sp->product_id == $sp->id) ? "selected='selected'" : ""?>><?=$sp->name?></option>
<?php endforeach; ?>
</select>
</div>
</div>
<?php endif; ?>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="product_id">Produkt *</label>
<div class="col-lg-10">

View File

@@ -83,14 +83,14 @@
<div class="col-lg-10">
<select class="form-control" name="product_type" id="product_type" data-placeholder="Bitte auswählen ...">
<option value="all" <?=($campaign->product_type == "all") ? "selected='selected'" : ""?>>Alle Produkte im Netzgebiet</option>
<option value="no_setup" <?=($campaign->product_type == "no_setup") ? "selected='selected'" : ""?>>Alle Produkte im Netzgebiet, ohne Herstellungsprodukt</option>
<option value="setup_only" <?=($campaign->product_type == "setup_only") ? "selected='selected'" : ""?>>Nur Anschlussbestellung, keine Produkte</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="types">Erlaubte Anschlusstypen *</label>
<label class="col-lg-2 col-form-label" for="types">Erlaubte Vorbestellungstypen *</label>
<div class="col-lg-10">
<select class="select2 form-control select2-multiple" name="types[]" id="types" multiple="multiple" data-placeholder="Bitte auswählen ...">
<option value="interest" <?=(is_array($campaign->types) && array_key_exists("interest", $campaign->types)) ? "selected='selected'" : ""?>><?=__("interest", "preorder")?></option>
@@ -120,7 +120,7 @@
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="note">Interne Notiz</label>
<div class="col-lg-10">
<textarea class="form-control" style="height:120px;" name="note"><?=$campaign->note?></textarea>
<textarea class="form-control" style="height:120px;" name="note" id="note"><?=$campaign->note?></textarea>
</div>
</div>
</div>

View File

@@ -4,6 +4,7 @@ class Preordercampaign extends mfBaseModel {
private $network;
private $preorders;
private $types;
private $setup_products;
public function addTypes(Array $types) {
@@ -29,7 +30,6 @@ class Preordercampaign extends mfBaseModel {
} else {
if(in_array($atype, $new_types)) {
$data = [];
$data['preordercampaign_id'] = $this->id;
$data['type'] = $atype;
$nt = PreordercampaignTypeModel::create($data);
@@ -58,6 +58,10 @@ class Preordercampaign extends mfBaseModel {
return $this->types;
}
if($name == "setup_products_provision") {
$products = ProductModel::search(["attributename" => "presales", "attributevalue" => "provision"]);
}
if($name == "creator") {
$user = mfValuecache::singleton()->get("Worker-id-".$this->create_by);
if($user) {

View File

@@ -150,6 +150,8 @@ class PreordercampaignController extends mfBaseController {
if($r->product_type == "setup_only") {
$data['product_type'] = "setup_only";
} elseif($r->product_type == "no_setup") {
$data['product_type'] = "no_setup";
} else {
$data['product_type'] = "all";
}

View File

@@ -97,6 +97,14 @@ class ProductModel {
$db = FronkDB::singleton();
$where = self::getSqlFilter($filter);
$sql = "SELECT Product.* FROM `Product`
LEFT JOIN ProductAttribute ON (ProductAttribute.product_id = Product.id)
LEFT JOIN Producttech ON (Product.producttech_id = Producttech.id)
LEFT JOIN ProducttechAttribute ON (ProducttechAttribute.producttech_id = Producttech.id)
WHERE $where
GROUP BY Product.id";
$res = $db->select("Product", "*", "$where ORDER BY name, producttech_id");
if($db->num_rows($res)) {
while($data = $db->fetch_object($res)) {
@@ -140,6 +148,20 @@ class ProductModel {
}
}
if(array_key_exists("attributename", $filter)) {
$attributename = $db->escape($filter['attributename']);
if($attributename) {
$where .= " AND ProductAttribute.name = '$attributename'";
}
}
if(array_key_exists("attributevalue", $filter)) {
$attributevalue = $db->escape($filter['attributevalue']);
if($attributevalue) {
$where .= " AND ProductAttribute.value = '$attributevalue'";
}
}
//var_dump($filter, $where);exit;
return $where;
}