diff --git a/Layout/default/Preorder/Index.php b/Layout/default/Preorder/Index.php
index f1348e3b4..289f7ea67 100644
--- a/Layout/default/Preorder/Index.php
+++ b/Layout/default/Preorder/Index.php
@@ -138,7 +138,7 @@
=date('d.m.Y H:i', $preorder->edit)?> |
$preorder->id])?>">
- $preorder->id])?>" class="text-danger" onclick="if(!confirm('Vorbestellung wirklich löschen?')) return false;" title="Vorbestellung Löschen">
+ $preorder->id, "filter" => $filter])?>" class="text-danger" onclick="if(!confirm('Vorbestellung wirklich löschen?')) return false;" title="Vorbestellung Löschen">
|
diff --git a/Layout/default/Preordercampaign/Index.php b/Layout/default/Preordercampaign/Index.php
index 3a5afe44b..f16b5eaa1 100644
--- a/Layout/default/Preordercampaign/Index.php
+++ b/Layout/default/Preordercampaign/Index.php
@@ -98,7 +98,7 @@
=$camp->network->name?> |
=$camp->name?> |
=$camp->area?> |
- ["preordercampaign_id" => $camp->id]])?>">=count($camp->preorders)?> |
+ ["preordercampaign_id" => $camp->id]])?>">=count($camp->active_preorders)?> |
=date('d.m.Y',$camp->from)?> |
=date('d.m.Y',$camp->to)?> |
diff --git a/application/Preorder/PreorderController.php b/application/Preorder/PreorderController.php
index 8c514c0a9..741ba7029 100644
--- a/application/Preorder/PreorderController.php
+++ b/application/Preorder/PreorderController.php
@@ -49,7 +49,7 @@ class PreorderController extends mfBaseController {
$this->layout()->set("campaign", $campaign);
}
}
- //var_dump($campaign_filter);exit;
+ //var_dump($filter);exit;
$preorders = PreorderModel::search($filter);
$this->layout()->set("preorders", $preorders);
}
@@ -60,10 +60,13 @@ class PreorderController extends mfBaseController {
if(array_key_exists("show_deleted", $filter)) {
if($filter['show_deleted'] == "show") {
$new_filter['deleted'] = null;
- }
- if($filter['show_deleted'] == "only") {
+ } elseif($filter['show_deleted'] == "only") {
$new_filter['deleted'] = 1;
+ } else {
+ $new_filter['deleted'] = 0;
}
+ } else {
+ $new_filter['deleted'] = 0;
}
if(is_array($filter) && count($filter)) {
@@ -326,4 +329,33 @@ class PreorderController extends mfBaseController {
}
+ public function deleteAction() {
+ $qs = "";
+
+ if(is_array($this->request->filter) && count($this->request->filter)) {
+ $qs = ['filter' => $this->request->filter];
+ $qs = http_build_query($qs);
+ }
+
+ $id = $this->request->id;
+ if(!is_numeric($id) || $id < 1) {
+ $this->layout()->setFlash("Vorbestellung nicht gefunden!", "error");
+ $this->redirect("Preorder", "Index", $qs);
+ }
+
+ $preorder = new Preorder($id);
+ if(!$preorder->id) {
+ $this->layout()->setFlash("Vorbestellung nicht gefunden!", "error");
+ $this->redirect("Preorder", "Index", $qs);
+ }
+
+ $preorder->deleted = date('U');
+ $preorder->deleted_by = $this->me->id;
+ $preorder->save();
+
+ $this->layout()->setFlash("Vorbestellung erfolgreich gelöscht!", "success");
+ $this->redirect("Preorder", "Index", $qs);
+
+ }
+
}
\ No newline at end of file
diff --git a/application/Preorder/PreorderModel.php b/application/Preorder/PreorderModel.php
index 768e6e744..350acd774 100644
--- a/application/Preorder/PreorderModel.php
+++ b/application/Preorder/PreorderModel.php
@@ -125,6 +125,17 @@ class PreorderModel {
$where = "1=1 ";
//var_dump($filter);exit;
+
+ if(array_key_exists("deleted", $filter)) {
+ $deleted = $filter['deleted'];
+ if(is_numeric($deleted)) {
+ $where .= " AND deleted=$deleted";
+ }
+ if($deleted === null) {
+ $where .= " AND deleted IS NULL";
+ }
+ }
+
if(array_key_exists("preordercampaign_id", $filter)) {
$preordercampaign_id = $filter['preordercampaign_id'];
if(is_numeric($preordercampaign_id)) {
@@ -185,6 +196,8 @@ class PreorderModel {
}
+
+
//var_dump($filter, $where);exit;
return $where;
}
diff --git a/application/Preordercampaign/Preordercampaign.php b/application/Preordercampaign/Preordercampaign.php
index 2c421543f..485f23d46 100644
--- a/application/Preordercampaign/Preordercampaign.php
+++ b/application/Preordercampaign/Preordercampaign.php
@@ -3,6 +3,7 @@
class Preordercampaign extends mfBaseModel {
private $network;
private $preorders;
+ private $active_preorders;
private $types;
private $setup_products;
private $salesclusters;
@@ -74,6 +75,11 @@ class Preordercampaign extends mfBaseModel {
return $this->preorders;
}
+ if($name == "active_preorders") {
+ $this->active_preorders = PreorderModel::search(['preordercampaign_id' => $this->id, 'deleted' => 0]);
+ return $this->active_preorders;
+ }
+
if($name == "types") {
$types = PreordercampaignTypeModel::search(['preordercampaign_id' => $this->id]);
foreach($types as $type) {
|