Browse Source

Merge branch 'develop'

master
Fabien Normand 1 year ago
parent
commit
9ae3420ef4
3 changed files with 61 additions and 47 deletions
  1. +5
    -2
      Builder/User/VisitorBuilder.php
  2. +54
    -43
      Controller/Product/FavoriteController.php
  3. +2
    -2
      Resources/translations/admin.fr.yaml

+ 5
- 2
Builder/User/VisitorBuilder.php View File



$visitor->setLastAccess(new \DateTime()); $visitor->setLastAccess(new \DateTime());


$this->entityManager->update($visitor);
$this->entityManager->flush();
// Erreur : The EntityManager is closed. #713
if($this->entityManager->isOpen()) {
$this->entityManager->update($visitor);
$this->entityManager->flush();
}
} }


// setCookieVisitor // setCookieVisitor

+ 54
- 43
Controller/Product/FavoriteController.php View File

*/ */
public function toggle(Request $request) public function toggle(Request $request)
{ {
$user = $this->_getUser();
$user = $this->getUserCurrent();
$productFamily = $this->_getProductFamily($request); $productFamily = $this->_getProductFamily($request);


if ($user->getFavoriteProductFamilies()->contains($productFamily)) {
$user->removeFavoriteProductFamily($productFamily);
$isFavorite = false;
$message = 'Le produit a bien été supprimé de vos favoris';
} else {
$user->addFavoriteProductFamily($productFamily);
$isFavorite = true;
$message = 'Le produit a bien été ajouté à vos favoris';
if($user && $productFamily) {
if ($user->getFavoriteProductFamilies()->contains($productFamily)) {
$user->removeFavoriteProductFamily($productFamily);
$isFavorite = false;
$message = 'Le produit a bien été supprimé de vos favoris';
} else {
$user->addFavoriteProductFamily($productFamily);
$isFavorite = true;
$message = 'Le produit a bien été ajouté à vos favoris';
}

$this->_saveUser($user);

return new JsonResponse([
'return' => 'success',
'is_favorite' => $isFavorite,
'message' => $message
]);
}
else {
return $this->_errorResponse();
} }

$this->_saveUser($user);

return new JsonResponse([
'return' => 'success',
'is_favorite' => $isFavorite,
'message' => $message
]);
} }


/** /**
*/ */
public function add(Request $request) public function add(Request $request)
{ {
$user = $this->_getUser();
$user = $this->getUserCurrent();
$productFamily = $this->_getProductFamily($request); $productFamily = $this->_getProductFamily($request);


$user->addFavoriteProductFamily($productFamily);
$this->_saveUser($user);
if($user && $productFamily) {
$user->addFavoriteProductFamily($productFamily);
$this->_saveUser($user);


return new JsonResponse([
'return' => 'success',
'message' => 'Le produit a bien été ajouté à vos favoris'
]);
return new JsonResponse([
'return' => 'success',
'message' => 'Le produit a bien été ajouté à vos favoris'
]);
}
else {
return $this->_errorResponse();
}
} }


/** /**
*/ */
public function delete(Request $request) public function delete(Request $request)
{ {
$user = $this->_getUser();
$user = $this->getUserCurrent();
$productFamily = $this->_getProductFamily($request); $productFamily = $this->_getProductFamily($request);


$user->removeFavoriteProductFamily($productFamily);
$this->_saveUser($user);

return new JsonResponse([
'return' => 'success',
'message' => 'Le produit a bien été supprimé de vos favoris'
]);
}
if($user && $productFamily) {
$user->removeFavoriteProductFamily($productFamily);
$this->_saveUser($user);


private function _getUser()
{
$user = $this->getUserCurrent();
if (!$user) {
throw new \ErrorException('Vous devez être connecté pour gérer vos favoris');
return new JsonResponse([
'return' => 'success',
'message' => 'Le produit a bien été supprimé de vos favoris'
]);
}
else {
return $this->_errorResponse();
} }

return $user;
} }


private function _saveUser($user) private function _saveUser($user)
{ {
$entityManager = $this->getEntityManager(); $entityManager = $this->getEntityManager();
$entityManager->persist($user);
$entityManager->update($user);
$entityManager->flush(); $entityManager->flush();
} }




if (isset($productFamily) && $productFamily) { if (isset($productFamily) && $productFamily) {
return $productFamily; return $productFamily;
} else {
throw new \ErrorException('Ce produit est introuvable');
} }
} }

private function _errorResponse()
{
return new JsonResponse([
'return' => 'error',
'message' => 'Une erreur est survenue.'
]);
}
} }

+ 2
- 2
Resources/translations/admin.fr.yaml View File

settings: settings:
orderReferencePrefix: Préfixe référence commandes orderReferencePrefix: Préfixe référence commandes
orderState: Statut d'ouverture des commandes orderState: Statut d'ouverture des commandes
orderClosedStart: Période commandes fermées (début)
orderClosedEnd: Période commandes fermées (fin)
orderClosedStart: "Période commandes fermées (début : définir comme date le lendemain du jour de fermeture de la section)"
orderClosedEnd: "Période commandes fermées (fin : définir comme date la veille du jour de ré-ouverture de la section)"
orderMaximumPerCycle: Nombre maximum de commande par cycle de vente orderMaximumPerCycle: Nombre maximum de commande par cycle de vente
colorPrimary: Couleur primaire colorPrimary: Couleur primaire
colorSecondary: Couleur secondaire colorSecondary: Couleur secondaire

Loading…
Cancel
Save