Added gemeinde filter to Dashboard
This commit is contained in:
@@ -75,7 +75,7 @@ $chartColors = [
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
<h4>Filter</h4>
|
||||
<?php if($me->is("Admin")): ?>
|
||||
<h5 class="mt-3">Netzinhaber:</h5>
|
||||
<div class="row mb-2">
|
||||
@@ -95,12 +95,20 @@ $chartColors = [
|
||||
<?php endif; ?>
|
||||
|
||||
<label for="campaign_id">Kampagne:</label>
|
||||
<select name="campaign_id" id="campaign_id" class="form-control">
|
||||
<select name="campaign_id" id="campaign_id" class="form-control mb-2">
|
||||
<option value="0">Alle</option>
|
||||
<?php foreach($campaigns as $c): ?>
|
||||
<option value="<?=$c->id?>" <?=($c->id == $campaign_id) ? 'selected="selected"' : ""?>><?=$c->name?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
|
||||
<label for="gemeinde_id" class="mt-2">Gemeinde:</label>
|
||||
<select name="gemeinde_id" id="gemeinde_id" class="form-control">
|
||||
<option value="0">Alle</option>
|
||||
<?php foreach($gemeinden as $g): ?>
|
||||
<option value="<?=$g->id?>" <?=($g->id == $gemeinde_id) ? 'selected="selected"' : ""?>><?=$g->name?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -268,9 +276,8 @@ $chartColors = [
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$("#campaign_id").select2({
|
||||
|
||||
});
|
||||
$("#campaign_id").select2();
|
||||
$("#gemeinde_id").select2();
|
||||
|
||||
$("#campaign_id").change(function() {
|
||||
var cid = parseInt($(this).val());
|
||||
@@ -287,6 +294,21 @@ $chartColors = [
|
||||
}
|
||||
});
|
||||
|
||||
$("#gemeinde_id").change(function() {
|
||||
var gid = parseInt($(this).val());
|
||||
<?php if($gemeinde_id): ?>
|
||||
if(gid == <?=$gemeinde_id?>) {
|
||||
return;
|
||||
}
|
||||
<?php endif; ?>
|
||||
|
||||
if(gid > 0) {
|
||||
location.href="<?=self::getUrl("Dashboard")?>?gemeinde_id=" + gid;
|
||||
} else {
|
||||
location.href="<?=self::getUrl("Dashboard")?>";
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
<?php if(count($partner_orders)): ?>
|
||||
var providerChart = new Chart(document.getElementById('partner-chart').getContext('2d'), {
|
||||
|
||||
44
application/ADBGemeindeNetzgebiet/ADBGemeindeNetzgebiet.php
Normal file
44
application/ADBGemeindeNetzgebiet/ADBGemeindeNetzgebiet.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
class ADBGemeindeNetzgebiet extends mfBaseModel {
|
||||
private $gemeinde;
|
||||
private $netzgebiet;
|
||||
|
||||
|
||||
protected function init() {
|
||||
$this->db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
$this->table = "GemeindeNetzgebiet";
|
||||
}
|
||||
|
||||
public function getProperty($name) {
|
||||
if($this->$name == null) {
|
||||
|
||||
if($name == "gemeinde") {
|
||||
$gemeinde = new ADBGemeinde($this->gemeinde_id);
|
||||
if(!$gemeinde->id) return null;
|
||||
$this->gemeinde = $gemeinde;
|
||||
return $this->gemeinde;
|
||||
}
|
||||
|
||||
if($name == "netzgebiet") {
|
||||
$netzgebiet = new ADBNetzgebiet($this->netzgebiet_id);
|
||||
if(!$netzgebiet->id) return null;
|
||||
$this->netzgebiet = $netzgebiet;
|
||||
return $this->netzgebiet;
|
||||
}
|
||||
|
||||
$classname = ucfirst($name);
|
||||
$idfield = $name."_id";
|
||||
$this->$name = new $classname($this->$idfield);
|
||||
|
||||
if($this->$name->id) {
|
||||
return $this->$name;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
return $this->$name;
|
||||
}
|
||||
|
||||
}
|
||||
142
application/ADBGemeindeNetzgebiet/ADBGemeindeNetzgebietModel.php
Normal file
142
application/ADBGemeindeNetzgebiet/ADBGemeindeNetzgebietModel.php
Normal file
@@ -0,0 +1,142 @@
|
||||
<?php
|
||||
|
||||
class ADBGemeindeNetzgebietModel {
|
||||
public $name;
|
||||
public $extref;
|
||||
public $source;
|
||||
public $source_id;
|
||||
public $rimo_id;
|
||||
public $freigabe;
|
||||
public $unit_count;
|
||||
|
||||
public $create = null;
|
||||
public $edit = null;
|
||||
|
||||
public static function create(Array $data) {
|
||||
$model = new ADBGemeindeNetzgebiet();
|
||||
|
||||
foreach($data as $field => $value) {
|
||||
if(property_exists(get_called_class(), $field)) {
|
||||
$model ->$field = $value;
|
||||
}
|
||||
}
|
||||
|
||||
$me = mfValuecache::singleton()->get("me");
|
||||
if(!$me) {
|
||||
$me = new User();
|
||||
$me->loadMe();
|
||||
mfValuecache::singleton()->set("me", $me);
|
||||
}
|
||||
/*
|
||||
if($model->create_by === null) {
|
||||
$model->create_by = $me->id;
|
||||
}
|
||||
if($model->edit_by === null) {
|
||||
$model->edit_by = $me->id;
|
||||
}*/
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
public static function getFirst($filter) {
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$res = $db->select("GemeindeNetzgebiet", "*", "$where ORDER BY netzgebiet_id,gemeinde_id LIMIT 1");
|
||||
if($db->num_rows($res)) {
|
||||
$data = $db->fetch_object($res);
|
||||
$item = new ADBGemeindeNetzgebiet($data);
|
||||
if($item->id) {
|
||||
return $item;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function getAll() {
|
||||
$items = [];
|
||||
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$res = $db->select("GemeindeNetzgebiet", "*", "1=1 ORDER BY netzgebiet_id,gemeinde_id");
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new ADBGemeindeNetzgebiet($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static function count($filter) {
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$sql = "SELECT COUNT(*) as cnt FROM GemeindeNetzgebiet
|
||||
WHERE $where
|
||||
";
|
||||
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
$data = $db->fetch_object($res);
|
||||
return $data->cnt;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static function search($filter, $limit = false) {
|
||||
$items = [];
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$sql = "SELECT GemeindeNetzgebiet.* FROM GemeindeNetzgebiet
|
||||
WHERE $where
|
||||
ORDER BY netzgebiet_id,gemeinde_id";
|
||||
|
||||
mfLoghandler::singleton()->debug($sql);
|
||||
if(is_array($limit) && count($limit)) {
|
||||
if(is_numeric($limit['start']) && is_numeric($limit['count'])) {
|
||||
$sql .= " LIMIT ".$limit['start'].", ".$limit['count'];
|
||||
} elseif(is_numeric($count)) {
|
||||
$sql .= " LIMIT ".$limit['count'];
|
||||
}
|
||||
}
|
||||
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new ADBGemeindeNetzgebiet($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
}
|
||||
|
||||
private static function getSqlFilter($filter) {
|
||||
$where = "1=1 ";
|
||||
|
||||
if(array_key_exists("netzgebiet_id", $filter)) {
|
||||
$netzgebiet_id = $filter['netzgebiet_id'];
|
||||
if(is_numeric($netzgebiet_id)) {
|
||||
$where .= " AND GemeindeNetzgebiet.netzgebiet_id=$netzgebiet_id";
|
||||
} elseif(is_array($netzgebiet_id) && count($netzgebiet_id)) {
|
||||
$where .= " AND GemeindeNetzgebiet.netzgebiet_id IN (". implode(",", $netzgebiet_id).")";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("gemeinde_id", $filter)) {
|
||||
$gemeinde_id = $filter['gemeinde_id'];
|
||||
if(is_numeric($gemeinde_id)) {
|
||||
$where .= " AND GemeindeNetzgebiet.gemeinde_id=$gemeinde_id";
|
||||
} elseif(is_array($gemeinde_id) && count($gemeinde_id)) {
|
||||
$where .= " AND GemeindeNetzgebiet.gemeinde_id IN (". implode(",", $gemeinde_id).")";
|
||||
}
|
||||
}
|
||||
|
||||
//var_dump($filter, $where);exit;
|
||||
return $where;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
class ADBNetzgebiet extends mfBaseModel {
|
||||
private $gemeinden;
|
||||
|
||||
protected function init() {
|
||||
$this->db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
@@ -25,14 +26,18 @@ class ADBNetzgebiet extends mfBaseModel {
|
||||
public function getProperty($name) {
|
||||
if($this->$name == null) {
|
||||
|
||||
if($name == "strasse") {
|
||||
$this->strasse = new ADBStrasse($this->strasse_id);
|
||||
return $this->strasse;
|
||||
if($name == "gemeinden") {
|
||||
$gemeinden = [];
|
||||
foreach(ADBGemeindeNetzgebietModel::search(["netzgebiet_id" => $this->id]) as $gem_netz) {
|
||||
$g = $gem_netz->gemeinde;
|
||||
if(!$g || array_key_exists($g->gemeinde_id, $gemeinden)) continue;
|
||||
//var_dump($g);exit;
|
||||
$gemeinden[$g->id] = $g;
|
||||
}
|
||||
|
||||
if($name == "plz") {
|
||||
$this->plz = new ADBPlz($this->plz_id);
|
||||
return $this->plz;
|
||||
if(count($gemeinden)) {
|
||||
$this->gemeinden = $gemeinden;
|
||||
}
|
||||
return $this->gemeinden;
|
||||
}
|
||||
|
||||
$classname = ucfirst($name);
|
||||
|
||||
@@ -40,6 +40,13 @@ class DashboardController extends mfBaseController {
|
||||
$netowner_id = intval($r->netowner_id);
|
||||
$this->layout()->set("netowner_id", $netowner_id);
|
||||
|
||||
$gemeinde_id = intval($r->gemeinde_id);
|
||||
if(!$gemeinde_id) {
|
||||
$gemeinde_id = false;
|
||||
}
|
||||
$this->layout()->set("gemeinde_id", $gemeinde_id);
|
||||
|
||||
|
||||
if($this->me->is("Admin")) {
|
||||
if($netowner_id) {
|
||||
$campaigns = PreordercampaignModel::search(["owner_id" => $netowner_id]);
|
||||
@@ -70,17 +77,25 @@ class DashboardController extends mfBaseController {
|
||||
$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]);
|
||||
if($gemeinde_id) {
|
||||
$count_orders = PreorderModel::countActive(["preordercampaign_id" => $campaign_ids, "gemeinde_id" => $gemeinde_id]);
|
||||
$status_connected_single = PreorderModel::countActive(["preordercampaign_id" => $campaign_ids, "gemeinde_id" => $gemeinde_id, "status_code" => 244]);
|
||||
$status_connected_multi = PreorderModel::countActive(["preordercampaign_id" => $campaign_ids, "gemeinde_id" => $gemeinde_id, "status_code" => 245]);
|
||||
$status_connected = PreorderModel::countActive(["preordercampaign_id" => $campaign_ids, "gemeinde_id" => $gemeinde_id , "status_code" => 500]);
|
||||
} else {
|
||||
$count_orders = PreorderModel::countActive(["preordercampaign_id" => $campaign_ids]);
|
||||
$status_connected_single = PreorderModel::countActive(["preordercampaign_id" => $campaign_ids, "status_code" => 244]);
|
||||
$status_connected_multi = PreorderModel::countActive(["preordercampaign_id" => $campaign_ids, "status_code" => 245]);
|
||||
$status_connected = PreorderModel::countActive(["preordercampaign_id" => $campaign_ids, "status_code" => 500]);
|
||||
}
|
||||
|
||||
$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);
|
||||
$max_connections = $this->getTotalHomes($campaign_ids, $gemeinde_id);
|
||||
$weekly_orders = $this->getWeeklyOrders($campaign_ids, $gemeinde_id);
|
||||
|
||||
$partner_orders = $this->getPartnerOrderCount($campaign_ids, $gemeinde_id);
|
||||
$partner_orders_by_status = $this->getPartnerOrdersByStatus($campaign_ids, $gemeinde_id);
|
||||
|
||||
$total_orders = $partner_orders["total"];
|
||||
unset($partner_orders["total"]);
|
||||
@@ -108,31 +123,88 @@ class DashboardController extends mfBaseController {
|
||||
$this->layout()->set("campaigns", $campaigns);
|
||||
$this->layout()->set("campaign_id", $r->campaign_id);
|
||||
|
||||
$this->layout()->set("gemeinden", $this->getGemeindenFromCampaigns($campaign_ids));
|
||||
|
||||
}
|
||||
|
||||
private function getTotalHomes($preordercampaign_id = []) {
|
||||
private function getGemeindenFromCampaigns($campaignids = []) {
|
||||
$gemeinden = [];
|
||||
|
||||
foreach($campaignids as $campaign_id) {
|
||||
$campaign = new Preordercampaign($campaign_id);
|
||||
if(!$campaign || !$campaign->network_id || !$campaign->network->adb_netzgebiet_id) continue;
|
||||
$gems = $campaign->network->adb_netzgebiet->gemeinden;
|
||||
|
||||
if(!is_array($gems)) continue;
|
||||
|
||||
foreach($gems as $gem) {
|
||||
if(!array_key_exists($gem->name, $gemeinden)) {
|
||||
$gemeinden[$gem->name] = $gem;
|
||||
}
|
||||
}
|
||||
}
|
||||
ksort($gemeinden);
|
||||
|
||||
return $gemeinden;
|
||||
}
|
||||
|
||||
private function getTotalHomes($preordercampaign_id = [], $gemeinde_id = false) {
|
||||
$total_homes = 0;
|
||||
|
||||
if($gemeinde_id) {
|
||||
$sql = "SELECT COUNT(adb_wohneinheit.id) as cnt FROM `".ADDRESSDB_DBNAME."`.Wohneinheit adb_wohneinheit
|
||||
LEFT JOIN `".ADDRESSDB_DBNAME."`.Hausnummer adb_hausnummer ON (adb_wohneinheit.hausnummer_id = adb_hausnummer.id)
|
||||
LEFT JOIN `".ADDRESSDB_DBNAME."`.Strasse adb_strasse ON (adb_hausnummer.strasse_id = adb_strasse.id)
|
||||
WHERE adb_strasse.gemeinde_id = $gemeinde_id
|
||||
";
|
||||
$res = $this->db()->query($sql);
|
||||
if($this->db()->num_rows($res)) {
|
||||
$data = $this->db()->fetch_object($res);
|
||||
return $data->cnt;
|
||||
}
|
||||
} else {
|
||||
foreach($preordercampaign_id as $campaign_id) {
|
||||
$campaign = new Preordercampaign($campaign_id);
|
||||
if($campaign->id) {
|
||||
$total_homes += ($campaign->homes_total) ? $campaign->homes_total : $campaign->total_homes;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return $total_homes;
|
||||
}
|
||||
|
||||
private function getPartnerOrderCount($preordercampaign_id = []) {
|
||||
private function getPartnerOrderCount($preordercampaign_id = [], $gemeinde_id = false) {
|
||||
$orders = [];
|
||||
$totals = 0;
|
||||
|
||||
$where = "(tt_preorder.deleted = 0 OR tt_preorder.deleted IS NULL) AND tt_preorderstatus.code < 899 AND tt_preorder.preordercampaign_id IN (".implode(",", $preordercampaign_id).")";
|
||||
if($gemeinde_id) {
|
||||
$where .= " AND gemeinde_id=$gemeinde_id";
|
||||
}/* else {
|
||||
$sql = "SELECT COUNT(Preorder.id) as cnt, IF(Address.company IS NOT NULL AND Address.company <> '', Address.company, CONCAT(Address.firstname, ' ', Address.lastname)) as partner FROM Preorder
|
||||
LEFT JOIN Preorderstatus ON (Preorderstatus.id = Preorder.status_id)
|
||||
LEFT JOIN Address ON (Preorder.partner_id = Address.id)
|
||||
LEFT JOIN Addresstype ON (Addresstype.address_id = Address.id AND Addresstype.type='salespartner')
|
||||
WHERE Preorder.deleted = 0 AND Preorder.preordercampaign_id IN (".implode(",", $preordercampaign_id).")
|
||||
GROUP BY Address.id
|
||||
WHERE (Preorder.deleted = 0 OR Preorder.deleted IS NULL)
|
||||
AND Preorderstatus.code < 899
|
||||
AND Preorder.preordercampaign_id IN (".implode(",", $preordercampaign_id).")
|
||||
GROUP BY Address.id";
|
||||
}*/
|
||||
|
||||
$sql = "SELECT COUNT(*) as cnt,
|
||||
IF(tt_address.company IS NOT NULL AND tt_address.company <> '', tt_address.company, CONCAT(tt_address.firstname, ' ', tt_address.lastname)) as partner
|
||||
FROM `".FRONKDB_DBNAME."`.Preorder tt_preorder
|
||||
LEFT JOIN `".FRONKDB_DBNAME."`.Preorderstatus tt_preorderstatus ON (tt_preorder.status_id = tt_preorderstatus.id)
|
||||
LEFT JOIN `".ADDRESSDB_DBNAME."`.view_hausnummer as adb_hausnummer ON (tt_preorder.adb_hausnummer_id = adb_hausnummer.hausnummer_id)
|
||||
LEFT JOIN `".FRONKDB_DBNAME."`.Address tt_address ON (tt_preorder.partner_id = tt_address.id)
|
||||
LEFT JOIN `".FRONKDB_DBNAME."`.Addresstype tt_addresstype ON (tt_addresstype.address_id = tt_address.id AND tt_addresstype.type='salespartner')
|
||||
WHERE
|
||||
$where
|
||||
GROUP BY tt_address.id
|
||||
";
|
||||
|
||||
|
||||
|
||||
$this->log->debug($sql);
|
||||
$res = $this->db()->query($sql);
|
||||
if($this->db()->num_rows($res)) {
|
||||
@@ -150,7 +222,7 @@ class DashboardController extends mfBaseController {
|
||||
return $orders;
|
||||
}
|
||||
|
||||
private function getWeeklyOrders($preordercampaign_id = []) {
|
||||
private function getWeeklyOrders($preordercampaign_id = [], $gemeinde_id = false) {
|
||||
$orders = [];
|
||||
|
||||
$week = new DateTime("now - 52 weeks");
|
||||
@@ -166,7 +238,11 @@ class DashboardController extends mfBaseController {
|
||||
|
||||
$where = "AND (tt_preorder.`create` > $start AND tt_preorder.`create` <= $end)";
|
||||
|
||||
$count = PreorderModel::count(["preordercampaign_id" => $preordercampaign_id, "deleted" => 0, "add-where" => $where]);
|
||||
if($gemeinde_id) {
|
||||
$count = PreorderModel::countActive(["preordercampaign_id" => $preordercampaign_id, "gemeinde_id" => $gemeinde_id, "add-where" => $where]);
|
||||
} else {
|
||||
$count = PreorderModel::countActive(["preordercampaign_id" => $preordercampaign_id, "add-where" => $where]);
|
||||
}
|
||||
$orders[$week->getTimestamp()] = $count;
|
||||
$start = $end;
|
||||
}
|
||||
@@ -175,10 +251,16 @@ class DashboardController extends mfBaseController {
|
||||
//var_dump($orders);exit;
|
||||
}
|
||||
|
||||
private function getPartnerOrdersByStatus($preordercampaign_id = []) {
|
||||
private function getPartnerOrdersByStatus($preordercampaign_id = [], $gemeinde_id = false) {
|
||||
$orders = [];
|
||||
|
||||
foreach(PreorderModel::search(["preordercampaign_id" => $preordercampaign_id, "deleted" => 0]) as $preorder) {
|
||||
if($gemeinde_id) {
|
||||
$preorders = PreorderModel::searchActive(["preordercampaign_id" => $preordercampaign_id, "gemeinde_id" => $gemeinde_id]);
|
||||
} else {
|
||||
$preorders = PreorderModel::searchActive(["preordercampaign_id" => $preordercampaign_id]);
|
||||
}
|
||||
|
||||
foreach($preorders as $preorder) {
|
||||
$name = $preorder->partner->getCompanyOrName();
|
||||
if(!$name) $name = "Kein Partner";
|
||||
if(!array_key_exists($name, $orders)) {
|
||||
@@ -195,53 +277,4 @@ class DashboardController extends mfBaseController {
|
||||
return $orders;
|
||||
}
|
||||
|
||||
protected function pdfAction() {
|
||||
$order = new Order(7);
|
||||
$owner = new Address(1);
|
||||
|
||||
$pdf = new Layout();
|
||||
$pdf->setTemplate("Emailtemplates/attachments/new_order.pdf");
|
||||
$pdf->set("ressourcePathPrefix", BASEDIR."/public/");
|
||||
$pdf->set("owner", $owner);
|
||||
$pdf->set("order", $order);
|
||||
|
||||
$pdfpath = $pdf->renderPDF();
|
||||
$tvalue = $pdf->getReturnedValue();
|
||||
$pdfname = $tvalue['filename'];
|
||||
|
||||
echo $pdfname;
|
||||
|
||||
exit;
|
||||
return true;
|
||||
//var_dump($pdfpath);exit;
|
||||
|
||||
// send email to customer
|
||||
|
||||
// TODO template rendern auslagern nach Emailtempate klasse
|
||||
$tpl = new Layout();
|
||||
$tpl->setTemplate("Emailtemplates/customer/new_order");
|
||||
$tpl->set("owner", $owner);
|
||||
$body = $tpl->render();
|
||||
|
||||
$values = $tpl->getReturnedValue();
|
||||
|
||||
$subject = $values['subject'];
|
||||
$from = $values['from_email'];
|
||||
$from_name = $values['from_email_name'];
|
||||
$to = $owner->email;
|
||||
|
||||
if(!$subject || !$from || !$from_name || !$to) {
|
||||
$this->log->warn("Service PIN Email not sent. (subject: '$subject', from: '$from', from_email: '$from_email', to: '$to')");
|
||||
} else {
|
||||
$email = new Emailnotification();
|
||||
$email->setSubject($subject);
|
||||
$email->setBody($body);
|
||||
$email->setFrom($from, $from_name);
|
||||
$email->setTo($to);
|
||||
$email->setHeader("X-".MFAPPNAME."-oid", $order->id);
|
||||
$email->setHeader("X-".MFAPPNAME."-pid", $product->id);
|
||||
$email->addAttachment($pdfpath, null, $pdfname, "application/pdf");
|
||||
$email->send();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,6 +17,8 @@ class PreordercampaignModel {
|
||||
public $exist_is_error;
|
||||
public $require_connectiontype;
|
||||
public $allow_unit_update;
|
||||
public $cifurl;
|
||||
public $cifcableurl;
|
||||
public $banned_rimo_fcp;
|
||||
public $note;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user