added sparkline to order count on dashboard

This commit is contained in:
Frank Schubert
2024-01-11 22:47:26 +01:00
parent ea8fd727f6
commit bb93587135
2 changed files with 111 additions and 16 deletions
+30 -1
View File
@@ -53,6 +53,7 @@ class DashboardController extends mfBaseController {
$max_connections = $this->getTotalHomes($campaign_ids);
$count_orders = PreorderModel::count(["preordercampaign_id" => $campaign_ids, "deleted" => 0]);
$weekly_orders = $this->getWeeklyOrders($campaign_ids);
$status_connected_single = PreorderModel::count(["preordercampaign_id" => $campaign_ids, "deleted" => 0, "status_code" => 244]);
$status_connected_multi = PreorderModel::count(["preordercampaign_id" => $campaign_ids, "deleted" => 0, "status_code" => 245]);
@@ -71,7 +72,8 @@ class DashboardController extends mfBaseController {
$max_connections = $this->getTotalHomes($campaign_ids);
$count_orders = PreorderModel::count(["preordercampaign_id" => $campaign_ids, "deleted" => 0]);
$weekly_orders = $this->getWeeklyOrders($campaign_ids);
$status_connected_single = PreorderModel::count(["preordercampaign_id" => $campaign_ids, "deleted" => 0, "status_code" => 244]);
$status_connected_multi = PreorderModel::count(["preordercampaign_id" => $campaign_ids, "deleted" => 0, "status_code" => 245]);
@@ -86,6 +88,8 @@ class DashboardController extends mfBaseController {
$this->layout()->set("max_connections", $max_connections);
$this->layout()->set("count_orders", $count_orders);
$this->layout()->set("weekly_orders", $weekly_orders);
$this->layout()->set("status_connected_single", $status_connected_single);
$this->layout()->set("status_connected_multi", $status_connected_multi);
$this->layout()->set("status_connected", $status_connected);
@@ -132,6 +136,31 @@ class DashboardController extends mfBaseController {
return $orders;
}
private function getWeeklyOrders($preordercampaign_id = []) {
$orders = [];
$week = new DateTime("now - 52 weeks");
$start = $week->getTimestamp();
for($w = 1; $w <= 52; $w++) {
$week->modify("+1 week");
$end = $week->getTimestamp();
/*$week = $now->modify("-$w weeks");
$week_before = $week->modify("-1 weeks");
$this->log->debug("now: ".$now->getTimestamp()." | week ".$week->getTimestamp()." | before: ".$week_before->getTimestamp());*/
$where = "AND (tt_preorder.`create` > $start AND tt_preorder.`create` <= $end)";
$count = PreorderModel::count(["preordercampaign_id" => $preordercampaign_id, "deleted" => 0, "add-where" => $where]);
$orders[$week->getTimestamp()] = $count;
$start = $end;
}
return $orders;
//var_dump($orders);exit;
}
protected function pdfAction() {
$order = new Order(7);
$owner = new Address(1);