*/ | */ | ||||
class CommunicateController extends BackendController | class CommunicateController extends BackendController | ||||
{ | { | ||||
public function behaviors() | public function behaviors() | ||||
{ | { | ||||
return [ | return [ |
{ | { | ||||
$productManager = $this->getProductManager(); | $productManager = $this->getProductManager(); | ||||
$orderManager = $this->getOrderManager(); | $orderManager = $this->getOrderManager(); | ||||
$distributionManager = $this->getDistributionManager(); | |||||
$distributionJsonData = [ | $distributionJsonData = [ | ||||
'id' => $distribution->id, | 'id' => $distribution->id, | ||||
'active' => $distribution->active, | 'active' => $distribution->active, | ||||
'url_export_shopping_cart_labels' => $this->getUrlManagerBackend()->createUrl( | 'url_export_shopping_cart_labels' => $this->getUrlManagerBackend()->createUrl( | ||||
['distribution/export-shopping-cart-labels', 'date' => $distribution->date] | ['distribution/export-shopping-cart-labels', 'date' => $distribution->date] | ||||
), | ), | ||||
'url_order' => $distributionManager->getLinkOrder($distribution), | |||||
]; | ]; | ||||
// montant et poids des commandes | // montant et poids des commandes |
use common\helpers\GlobalParam; | use common\helpers\GlobalParam; | ||||
use common\helpers\Mailjet; | use common\helpers\Mailjet; | ||||
use common\logic\Distribution\Distribution\Model\Distribution; | use common\logic\Distribution\Distribution\Model\Distribution; | ||||
use common\logic\Distribution\Distribution\Wrapper\DistributionManager; | |||||
use common\logic\Producer\Producer\Wrapper\ProducerManager; | use common\logic\Producer\Producer\Wrapper\ProducerManager; | ||||
use common\logic\Product\Product\Model\Product; | use common\logic\Product\Product\Model\Product; | ||||
use common\logic\Product\Product\Wrapper\ProductManager; | use common\logic\Product\Product\Wrapper\ProductManager; | ||||
{ | { | ||||
$productManager = ProductManager::getInstance(); | $productManager = ProductManager::getInstance(); | ||||
$producerManager = ProducerManager::getInstance(); | $producerManager = ProducerManager::getInstance(); | ||||
$distributionManager = DistributionManager::getInstance(); | |||||
$mj = new \Mailjet\Client( | $mj = new \Mailjet\Client( | ||||
Mailjet::getApiKey('public'), | Mailjet::getApiKey('public'), | ||||
if($distribution) { | if($distribution) { | ||||
$linkOrder = Yii::$app->urlManagerProducer->createAbsoluteUrl(['order/order','slug_producer' => GlobalParam::getCurrentProducer()->slug, 'date' => $distribution->date]) ; | |||||
$linkOrder = $distributionManager->getLinkOrder($distribution); | |||||
$dateOrder = strftime('%A %d %B %Y', strtotime($distribution->date)) ; | $dateOrder = strftime('%A %d %B %Y', strtotime($distribution->date)) ; | ||||
$messageAutoHtml .= '<a href="'.$linkOrder.'">Passer ma commande du '.$dateOrder.'</a>' ; | $messageAutoHtml .= '<a href="'.$linkOrder.'">Passer ma commande du '.$dateOrder.'</a>' ; | ||||
$messageAutoText .= 'Suivez ce lien pour passer votre commande du '.$dateOrder.' : | $messageAutoText .= 'Suivez ce lien pour passer votre commande du '.$dateOrder.' : |
<span :class="'info-box-icon '+(distribution.active ? 'bg-green' : 'bg-red')"><i :class="'fa '+(distribution.active ? 'fa-check' : 'fa-remove')"></i></span> | <span :class="'info-box-icon '+(distribution.active ? 'bg-green' : 'bg-red')"><i :class="'fa '+(distribution.active ? 'fa-check' : 'fa-remove')"></i></span> | ||||
<div class="info-box-content"> | <div class="info-box-content"> | ||||
<span class="info-box-text"> | <span class="info-box-text"> | ||||
<h4>Distribution du <strong>{{ dateFormat }}</strong></h4> | |||||
<h4> | |||||
Distribution du <strong>{{ dateFormat }}</strong> | |||||
<a class="btn btn-default" :href="distribution.url_order" @click="copyLinkOrder($event, distribution.url_order)"><span class="glyphicon glyphicon-link"></span></a> | |||||
</h4> | |||||
<a @click="activeWeekDistribution" data-active="0" class="btn btn-default btn-active-week" v-if="oneDistributionWeekActive">Désactiver cette semaine</a> | <a @click="activeWeekDistribution" data-active="0" class="btn btn-default btn-active-week" v-if="oneDistributionWeekActive">Désactiver cette semaine</a> | ||||
<a @click="activeWeekDistribution" data-active="1" class="btn btn-default btn-active-week" v-else>Activer cette semaine</a> | <a @click="activeWeekDistribution" data-active="1" class="btn btn-default btn-active-week" v-else>Activer cette semaine</a> | ||||
} | } | ||||
return null; | return null; | ||||
}, | |||||
copyLinkOrder: function($event, urlOrder) { | |||||
$event.preventDefault(); | |||||
navigator.clipboard.writeText(urlOrder); | |||||
appAlerts.alert('success', 'Lien vers la page de commande de la distribution copié.'); | |||||
return false; | |||||
} | } | ||||
}, | }, | ||||
}); | }); |
return false; | return false; | ||||
} | } | ||||
public function getLinkOrder(Distribution $distribution): string | |||||
{ | |||||
return \Yii::$app->urlManagerProducer->createAbsoluteUrl([ | |||||
'order/order', | |||||
'slug_producer' => $this->getProducerContext()->slug, | |||||
'date' => $distribution->date | |||||
]) ; | |||||
} | |||||
} | } |