Adaptation de la recherche des utilisateurs pour uniquement se baser sur UserPointSalerefactoring
if(isset($this->id_point_sale) && $this->id_point_sale) { | if(isset($this->id_point_sale) && $this->id_point_sale) { | ||||
$pointSale = PointSale::findOne(['id' => $this->id_point_sale]) ; | $pointSale = PointSale::findOne(['id' => $this->id_point_sale]) ; | ||||
if($pointSale->restricted_access) { | |||||
$query->innerJoin('user_point_sale','user.id = user_point_sale.id_user AND user_point_sale.id_point_sale = :id_point_sale',[':id_point_sale' => $this->id_point_sale]) ; | |||||
} | |||||
else { | |||||
$query->innerJoin( | |||||
'order', | |||||
'user.id = order.id_user AND order.id_point_sale = :id_point_sale', | |||||
[':id_point_sale' => $this->id_point_sale] | |||||
)->groupBy('user.id') ; | |||||
} | |||||
$query->innerJoin('user_point_sale','user.id = user_point_sale.id_user AND user_point_sale.id_point_sale = :id_point_sale',[':id_point_sale' => $this->id_point_sale]) ; | |||||
} | } | ||||
if(isset($this->inactive) && $this->inactive) { | if(isset($this->inactive) && $this->inactive) { |
<?php | |||||
use yii\db\Migration; | |||||
class m190226_084104_lien_utilisateur_point_de_vente extends Migration | |||||
{ | |||||
public function up() | |||||
{ | |||||
$producersArray = \common\models\Producer::find()->all() ; | |||||
foreach($producersArray as $producer) { | |||||
$pointsSaleArray = common\models\PointSale::find() | |||||
->where([ | |||||
'id_producer' => $producer->id | |||||
]) | |||||
->all(); | |||||
foreach($pointsSaleArray as $pointSale) { | |||||
$usersArray = common\models\User::find()->innerJoin( | |||||
'order', | |||||
'user.id = order.id_user AND order.id_point_sale = :id_point_sale', | |||||
[':id_point_sale' => $pointSale->id] | |||||
) | |||||
->groupBy('user.id') | |||||
->all(); | |||||
foreach($usersArray as $user) { | |||||
$userPointSale = \common\models\UserPointSale::find() | |||||
->where([ | |||||
'id_user' => $user->id, | |||||
'id_point_sale' => $pointSale->id | |||||
])->one() ; | |||||
if(!$userPointSale) { | |||||
$userPointSale = new \common\models\UserPointSale() ; | |||||
$userPointSale->id_user = $user->id ; | |||||
$userPointSale->id_point_sale = $pointSale->id ; | |||||
$userPointSale->save() ; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
public function down() | |||||
{ | |||||
echo "m190226_084104_lien_utilisateur_point_de_vente cannot be reverted.\n"; | |||||
return false; | |||||
} | |||||
} |