diff --git a/Layout/default/Preorder/Form.php b/Layout/default/Preorder/Form.php index cd4e7a86d..0d0ab1a66 100644 --- a/Layout/default/Preorder/Form.php +++ b/Layout/default/Preorder/Form.php @@ -138,6 +138,23 @@ + setup_products) && count($campaign->setup_products)): ?> +
+ +
+ + " value="setup_products)) ? $campaign->setup_products[0]->name : ""?>" readonly="readonly" /> + + +
+
+ +
diff --git a/Layout/default/Preordercampaign/Form.php b/Layout/default/Preordercampaign/Form.php index b8226e397..5d2e3f00d 100644 --- a/Layout/default/Preordercampaign/Form.php +++ b/Layout/default/Preordercampaign/Form.php @@ -83,14 +83,14 @@
- +
+
diff --git a/application/Preordercampaign/Preordercampaign.php b/application/Preordercampaign/Preordercampaign.php index 61dc1fbcf..c4afa0130 100644 --- a/application/Preordercampaign/Preordercampaign.php +++ b/application/Preordercampaign/Preordercampaign.php @@ -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) { diff --git a/application/Preordercampaign/PreordercampaignController.php b/application/Preordercampaign/PreordercampaignController.php index 12c264aac..18ec3840d 100644 --- a/application/Preordercampaign/PreordercampaignController.php +++ b/application/Preordercampaign/PreordercampaignController.php @@ -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"; } diff --git a/application/Product/ProductModel.php b/application/Product/ProductModel.php index d5e95f2a6..9999567e8 100644 --- a/application/Product/ProductModel.php +++ b/application/Product/ProductModel.php @@ -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; }