Enabled soft-delete for preorders
This commit is contained in:
@@ -138,7 +138,7 @@
|
||||
<td><?=date('d.m.Y H:i', $preorder->edit)?></td>
|
||||
<td style="text-align: left; letter-spacing: 4px; font-size: 1.1em;">
|
||||
<a href="<?=self::getUrl("Preorder", "edit", ["id" => $preorder->id])?>"><i class="far fa-edit" title="Vorbestellkampagne Bearbeiten"></i></a>
|
||||
<a href="<?=self::getUrl("Preorder", "delete", ["id" => $preorder->id])?>" class="text-danger" onclick="if(!confirm('Vorbestellung wirklich löschen?')) return false;" title="Vorbestellung Löschen"><i class="fas fa-trash"></i></a>
|
||||
<a href="<?=self::getUrl("Preorder", "delete", ["id" => $preorder->id, "filter" => $filter])?>" class="text-danger" onclick="if(!confirm('Vorbestellung wirklich löschen?')) return false;" title="Vorbestellung Löschen"><i class="fas fa-trash"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
<td><?=$camp->network->name?></td>
|
||||
<td><?=$camp->name?></td>
|
||||
<td><?=$camp->area?></td>
|
||||
<td><a href="<?=self::getUrl("Preorder", "Index", ["filter" => ["preordercampaign_id" => $camp->id]])?>"><?=count($camp->preorders)?></a></td>
|
||||
<td><a href="<?=self::getUrl("Preorder", "Index", ["filter" => ["preordercampaign_id" => $camp->id]])?>"><?=count($camp->active_preorders)?></a></td>
|
||||
<td><?=date('d.m.Y',$camp->from)?></td>
|
||||
<td><?=date('d.m.Y',$camp->to)?></td>
|
||||
<td style="text-align: left; letter-spacing: 4px; font-size: 1.1em;">
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user