Browse Source

[Administration] Distribution : affichage lien à communiquer aux clients #1335

feature/souke
Guillaume Bourgeois 1 year ago
parent
commit
df95ccbe77
6 changed files with 24 additions and 3 deletions
  1. +0
    -1
      backend/controllers/CommunicateController.php
  2. +3
    -0
      backend/controllers/DistributionController.php
  3. +3
    -1
      backend/models/MailForm.php
  4. +4
    -1
      backend/views/distribution/index.php
  5. +6
    -0
      backend/web/js/vuejs/distribution-index.js
  6. +8
    -0
      common/logic/Distribution/Distribution/Service/DistributionSolver.php

+ 0
- 1
backend/controllers/CommunicateController.php View File

*/ */
class CommunicateController extends BackendController class CommunicateController extends BackendController
{ {

public function behaviors() public function behaviors()
{ {
return [ return [

+ 3
- 0
backend/controllers/DistributionController.php View File

{ {
$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

+ 3
- 1
backend/models/MailForm.php View File

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.' :

+ 4
- 1
backend/views/distribution/index.php View File

<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>

+ 6
- 0
backend/web/js/vuejs/distribution-index.js View File

} }


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;
} }
}, },
}); });

+ 8
- 0
common/logic/Distribution/Distribution/Service/DistributionSolver.php View File

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
]) ;
}
} }

Loading…
Cancel
Save