Preorder statistics update
This commit is contained in:
@@ -39,50 +39,51 @@ class DashboardController extends mfBaseController {
|
||||
$campaign_ids = [$campaign_ids];
|
||||
}
|
||||
|
||||
|
||||
$netowner_id = intval($r->netowner_id);
|
||||
$this->layout()->set("netowner_id", $netowner_id);
|
||||
|
||||
if($this->me->is("Admin")) {
|
||||
$campaigns = PreordercampaignModel::getAll();
|
||||
if($netowner_id) {
|
||||
$campaigns = PreordercampaignModel::search(["owner_id" => $netowner_id]);
|
||||
} else {
|
||||
$campaigns = PreordercampaignModel::getAll();
|
||||
}
|
||||
|
||||
if(!$campaign_ids) {
|
||||
foreach(PreordercampaignModel::getAll() as $campaign) {
|
||||
$campaign_filter = [];
|
||||
if($netowner_id) {
|
||||
$campaign_filter['owner_id'] = $netowner_id;
|
||||
}
|
||||
foreach(PreordercampaignModel::search($campaign_filter) as $campaign) {
|
||||
$campaign_ids[] = $campaign->id;
|
||||
}
|
||||
}
|
||||
|
||||
$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]);
|
||||
|
||||
$status_connected = PreorderModel::count(["preordercampaign_id" => $campaign_ids, "deleted" => 0, "status_code" => 500]);
|
||||
|
||||
$partner_orders = $this->getPartnerOrderCount($campaign_ids);
|
||||
$partner_orders_by_status = $this->getPartnerOrdersByStatus($campaign_ids);
|
||||
} else {
|
||||
$campaigns = PreordercampaignModel::search(["owner_id" => $this->me->address_id]);
|
||||
|
||||
$campaign_filter = ["preordercampaign_id" => $campaign_ids];
|
||||
if(!$campaign_ids) {
|
||||
foreach(PreordercampaignModel::search(["owner_id" => $this->me->address_id]) as $campaign) {
|
||||
$campaign_ids[] = $campaign->id;
|
||||
}
|
||||
}
|
||||
|
||||
$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]);
|
||||
|
||||
$status_connected = PreorderModel::count(["preordercampaign_id" => $campaign_ids, "deleted" => 0, "status_code" => 500]);
|
||||
|
||||
$partner_orders = $this->getPartnerOrderCount($campaign_ids);
|
||||
$partner_orders_by_status = $this->getPartnerOrdersByStatus($campaign_ids);
|
||||
}
|
||||
|
||||
if(!$campaign_ids) {
|
||||
$campaign_ids = [0];
|
||||
}
|
||||
|
||||
$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]);
|
||||
|
||||
$status_connected = PreorderModel::count(["preordercampaign_id" => $campaign_ids, "deleted" => 0, "status_code" => 500]);
|
||||
|
||||
$partner_orders = $this->getPartnerOrderCount($campaign_ids);
|
||||
$partner_orders_by_status = $this->getPartnerOrdersByStatus($campaign_ids);
|
||||
|
||||
$total_orders = $partner_orders["total"];
|
||||
unset($partner_orders["total"]);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
class Preorder extends mfBaseModel {
|
||||
protected $forcestr = ['street','company','zip','phone','email','note'];
|
||||
private $in_after_save = false;
|
||||
private $in_after_save = 0;
|
||||
|
||||
private $status;
|
||||
private $campaign;
|
||||
@@ -38,7 +38,7 @@ class Preorder extends mfBaseModel {
|
||||
|
||||
// prevent potential infinite loop
|
||||
if($this->in_after_save) return true;
|
||||
$this->in_after_save = true;
|
||||
$this->in_after_save++;
|
||||
// update preorder OAID if it's different from the unit OAID
|
||||
// but only if the unit OAID is of the same origin as the campaign
|
||||
$old_oaid = $this->oaid;
|
||||
@@ -52,6 +52,8 @@ class Preorder extends mfBaseModel {
|
||||
$this->cascadeStatus();
|
||||
// Cascade status changes down all active preorders with the same hausnummer
|
||||
$this->cascadeStatusToPreorders();
|
||||
|
||||
$this->in_after_save--;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user