From ae2bc4aa114bbdcf350654b86661394f20d9634b Mon Sep 17 00:00:00 2001 From: TheCoreDev Date: Sun, 16 May 2021 18:18:26 +0200 Subject: [PATCH 1/4] =?UTF-8?q?L'ajout=20des=20=C3=A9tapes=20de=20recette?= =?UTF-8?q?=20fonctionne.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reste à faire : - suppression d'étape - déplacement d'étape --- local/modules/Recettes/Config/routing.xml | 3 ++ .../Recettes/Controller/BackController.php | 33 +++++++++++++++++++ .../modules/Recettes/Form/StepCreateForm.php | 26 ++++++++++++--- local/modules/Recettes/I18n/fr_FR.php | 2 ++ .../backOffice/default/includes/steps.html | 23 +------------ .../backOffice/default/modal/step-edit.html | 17 +++++++--- .../backOffice/default/recette-tab.html | 25 +++++++++++++- .../custom/assets/src/css/custom.css | 3 ++ templates/frontOffice/custom/recette.html | 2 +- 9 files changed, 101 insertions(+), 33 deletions(-) diff --git a/local/modules/Recettes/Config/routing.xml b/local/modules/Recettes/Config/routing.xml index 056eb3cd..57513eb0 100644 --- a/local/modules/Recettes/Config/routing.xml +++ b/local/modules/Recettes/Config/routing.xml @@ -24,5 +24,8 @@ Recettes\Controller\BackController::addProduct \d+ + + Recettes\Controller\BackController::addStep + diff --git a/local/modules/Recettes/Controller/BackController.php b/local/modules/Recettes/Controller/BackController.php index aeb0d9d5..129277ab 100755 --- a/local/modules/Recettes/Controller/BackController.php +++ b/local/modules/Recettes/Controller/BackController.php @@ -7,6 +7,7 @@ use Propel\Runtime\ActiveQuery\Criteria; use Propel\Runtime\Exception\PropelException; use Propel\Runtime\Propel; use Recettes\Form\RecetteCreateForm; +use Recettes\Form\StepCreateForm; use Recettes\Model\Recipe; use Recettes\Model\RecipeProducts; use Recettes\Model\RecipeProductsQuery; @@ -181,4 +182,36 @@ class BackController extends BaseAdminController return $this->render('includes/related-products', [ 'content_id' => $contentId ]); } + + public function addStep(Request $request) + { + $form = new StepCreateForm($request); + $errorUrl = ""; + try { + $formValidate = $this->validateForm($form); + $data = $formValidate->getData(); + + $recipeId = $data['recipe_id']; + $step = $data['step']; + $description = $data['description']; + $errorUrl = $data['error_url']; + $successUrl = $data['success_url']; + if ($recipeId && $step && $description) { + (new RecipeSteps()) + ->setRecipeId($recipeId) + ->setStep($step) + ->setDescription($description) + ->save(); + + return new RedirectResponse(URL::getInstance()->absoluteUrl($successUrl)); + } + else + return new RedirectResponse(URL::getInstance()->absoluteUrl($errorUrl)); + + } catch (\Exception $e) { + $error = $e->getMessage(); + } + + } + } diff --git a/local/modules/Recettes/Form/StepCreateForm.php b/local/modules/Recettes/Form/StepCreateForm.php index 4544d6f5..daca93fb 100644 --- a/local/modules/Recettes/Form/StepCreateForm.php +++ b/local/modules/Recettes/Form/StepCreateForm.php @@ -2,6 +2,8 @@ namespace Recettes\Form; +use Recettes\Recettes; +use Thelia\Core\Translation\Translator; use Thelia\Form\BaseForm; /** @@ -16,12 +18,18 @@ class StepCreateForm extends BaseForm protected function buildForm() { $this->formBuilder + ->add( + "recipe_id", + "integer", + [ + "required" => true + ]) ->add( "step", - "number", + "integer", [ "required" => true, - "label" => "Step", + "label" => $this->trans("Step"), "label_attr" => ['for' => 'step'] ]) ->add( @@ -29,8 +37,8 @@ class StepCreateForm extends BaseForm "textarea", [ "required" => true, - "label" => "Description", - "label_attr" => ['for' => 'description'] + "label" => $this->trans("Description"), + "label_attr" => ['for' => 'description'], ]); } @@ -41,4 +49,14 @@ class StepCreateForm extends BaseForm { return "recette-step-create"; } + + + protected function trans($id, $parameters = []) + { + if (null === $this->translator) { + $this->translator = Translator::getInstance(); + } + + return $this->translator->trans($id, $parameters, Recettes::MESSAGE_DOMAIN); + } } diff --git a/local/modules/Recettes/I18n/fr_FR.php b/local/modules/Recettes/I18n/fr_FR.php index 2132dd59..a43d1ee0 100644 --- a/local/modules/Recettes/I18n/fr_FR.php +++ b/local/modules/Recettes/I18n/fr_FR.php @@ -26,4 +26,6 @@ return array( 'Created on' => 'Rédigée le', 'Save recipe' => 'Sauvegarder la recette', 'Create a new step' => 'Ajouter une étape à votre recette', + 'No need to step number' => 'Inutile de saisir le numéro de l\'étape dans la description ci-dessus : il sera automatiquement rajouté !', + ); diff --git a/local/modules/Recettes/templates/backOffice/default/includes/steps.html b/local/modules/Recettes/templates/backOffice/default/includes/steps.html index 2c543ca5..dc4caf2b 100644 --- a/local/modules/Recettes/templates/backOffice/default/includes/steps.html +++ b/local/modules/Recettes/templates/backOffice/default/includes/steps.html @@ -4,7 +4,6 @@ {intl l="Detail" d="recettes"} - {assign var="last_step" value="0"} {loop name="steps-loop" type="recipe_steps" recipe_id=$recipe_id} @@ -15,12 +14,11 @@ {if $LOOP_COUNT < $LOOP_TOTAL} {/if} - {$DESCRIPTION} + {$DESCRIPTION|unescape:"html" nofilter} - {if $LOOP_COUNT=$LOOP_TOTAL}{assign var="last_step" value="$STEP"}{/if} {/loop} @@ -30,22 +28,3 @@ data-target="#add-step-modal" data-toggle="modal"> - -{form name="recette-step-create"} - {capture "step_create"} - {include file="modal/step-edit.html" form_name="recette-step-create" next_step=($last_step+1)} - {/capture} - - {include file="includes/generic-create-dialog.html" - - dialog_id = "add-step-modal" - dialog_title = {intl l="Create a new step" d="recettes"} - dialog_body = {$smarty.capture.step_create nofilter} - - dialog_ok_label = {intl l="Create"} - dialog_cancel_label = {intl l="Cancel"} - - form_action = {$current_url} - form_enctype = {form_enctype form=$form} - } -{/form} \ No newline at end of file diff --git a/local/modules/Recettes/templates/backOffice/default/modal/step-edit.html b/local/modules/Recettes/templates/backOffice/default/modal/step-edit.html index 10bc56a1..c7bc1308 100644 --- a/local/modules/Recettes/templates/backOffice/default/modal/step-edit.html +++ b/local/modules/Recettes/templates/backOffice/default/modal/step-edit.html @@ -2,12 +2,19 @@ {form_hidden_fields form=$form} - {render_form_field form=$form field="success_url" value={$success_url|default:{url path="/admin/content/update/$contentId?current_tab=recipe"}}} + {render_form_field form=$form field="success_url" value={url path="/admin/content/update/$content_id?current_tab=recipe"}} + {render_form_field form=$form field="error_url" value={url path="/admin/content/update/$content_id?current_tab=recipe"}} + + {form_field form=$form field="recipe_id"} + + {/form_field} {form_field form=$form field="step"}
- +
{/form_field} @@ -17,10 +24,10 @@ {intl l=$label d="recettes"} {if $required}*{/if} - {form_error form=$form field="description"}{$message}{/form_error} - + + {intl l="No need to step number" d="recettes"} {/form_field} -{/form} \ No newline at end of file +{/form} diff --git a/local/modules/Recettes/templates/backOffice/default/recette-tab.html b/local/modules/Recettes/templates/backOffice/default/recette-tab.html index ccdc9da4..734598aa 100644 --- a/local/modules/Recettes/templates/backOffice/default/recette-tab.html +++ b/local/modules/Recettes/templates/backOffice/default/recette-tab.html @@ -9,6 +9,12 @@ {assign var="other_ingredients" value=$OTHER_INGREDIENTS} {/loop} +{assign var="last_step" value="0"} +{loop name="steps-loop" type="recipe_steps" recipe_id=$recipe_id} + {if $LOOP_COUNT=$LOOP_TOTAL}{assign var="last_step" value="$STEP"}{/if} +{/loop} + +
{form name="recette_create_form"}
@@ -129,4 +135,21 @@
{/form} - \ No newline at end of file + + +{* CREATE Modal *} +{form name="recette-step-create"} + {capture "step_create"} + {include file="modal/step-edit.html" form_name="recette-step-create" next_step=($last_step+1) recipe_id=$recipe_id content_id=$content_id} + {/capture} + + {include file="includes/generic-create-dialog.html" + dialog_id = "add-step-modal" + dialog_title = {intl l="Create a new step" d="recettes"} + dialog_body = {$smarty.capture.step_create nofilter} + dialog_ok_label = {intl l="Create"} + dialog_cancel_label = {intl l="Cancel"} + form_action = {url path="/admin/module/Recettes/add-step"} + form_enctype = {form_enctype form=$form} + } +{/form} \ No newline at end of file diff --git a/templates/frontOffice/custom/assets/src/css/custom.css b/templates/frontOffice/custom/assets/src/css/custom.css index cf16f5a1..14b3f9e7 100644 --- a/templates/frontOffice/custom/assets/src/css/custom.css +++ b/templates/frontOffice/custom/assets/src/css/custom.css @@ -347,4 +347,7 @@ span.product-categorie { margin: auto !important; line-height: 1rem !important; height: 1.5rem; +} +.autres-ingredients { + text-align: left; } \ No newline at end of file diff --git a/templates/frontOffice/custom/recette.html b/templates/frontOffice/custom/recette.html index b0cdc66d..13c42fca 100644 --- a/templates/frontOffice/custom/recette.html +++ b/templates/frontOffice/custom/recette.html @@ -99,7 +99,7 @@ {loop type="recipe_steps" name="steps-loop" recipe_id=$ID} {$STEP} - {$DESCRIPTION} + {$DESCRIPTION|unescape:"html" nofilter} {/loop} From 117c916707cf558e55d9e27dc2fb18fe9e73a961 Mon Sep 17 00:00:00 2001 From: TheCoreDev Date: Mon, 17 May 2021 11:36:48 +0200 Subject: [PATCH 2/4] Quelques modifs de design sur la liste des produits --- templates/frontOffice/custom/I18n/fr_FR.php | 153 ------------------ .../custom/assets/dist/css/custom.min.css | 2 +- .../custom/assets/src/css/custom.css | 9 +- .../frontOffice/custom/includes/pictos.html | 7 +- 4 files changed, 13 insertions(+), 158 deletions(-) diff --git a/templates/frontOffice/custom/I18n/fr_FR.php b/templates/frontOffice/custom/I18n/fr_FR.php index 7e74dcb1..57b9c7f1 100644 --- a/templates/frontOffice/custom/I18n/fr_FR.php +++ b/templates/frontOffice/custom/I18n/fr_FR.php @@ -1,146 +1,62 @@ '%nb élément', - '%nb Items' => '%nb éléments', '+' => '+', - '404' => '404', - 'Sorry! We are not able to give you a delivery method for your order.' => 'Désolé !Nous ne pouvons pas trouver de mode de livraison pour votre commande.', - 'A new password has been sent to your e-mail address. Please check your mailbox.' => 'Un nouveau mot de passe vient d\'être envoyé à votre adresse e-mail. Merci de vérifier votre boite de réception.', - 'A problem occured' => 'Un problème est survenu', - 'A summary of your order has been sent to the following address' => 'Un récapitulatif de commande vous a été envoyé par e-mail à l\'adresse suivante', - 'Account' => 'Mon compte', 'Add a new address' => 'Ajouter une nouvelle adresse', 'Add to cart' => 'Ajouter au panier', 'Additional Info' => 'Informations complémentaires', - 'Address' => 'Adresse', 'Address %nb' => 'Adresse n°', - 'Address Update' => 'Mise à jour de l\'adresse', - 'All' => 'Tout', 'All brands' => 'Toutes les marques', - 'All brands in %store' => 'Toutes les marques %store', 'All contents' => 'Tous les contenus', - 'All contents in' => 'tous les contenus de', - 'All product in brand %title' => 'Tous les produits de la marque %title', 'All products' => 'Tous les produits', - 'All products for brand %title in %store' => 'Tous les produits %title de %store', 'All products in' => 'Tous les produits de', - 'Amount' => 'Montant', - 'An error occurred' => 'Une erreur est survenue', 'Availability' => 'Disponibilité', 'Available' => 'Disponible', 'Back' => 'Retour', - 'Billing' => 'Facturation', - 'Billing Mode' => 'Mode de facturation', - 'Billing address' => 'Adresse de facturation', 'Billing and delivery' => 'Facturation et livraison', 'Brand information' => 'Marque', - 'Brands' => 'Marques', - 'Cancel' => 'Annuler', - 'Cancel Newsletter Subscription' => 'Annuler l\'abonnement à la Newsletter', 'Cart' => 'Panier', - 'Cart total excl. taxes' => 'Total articles HT', - 'Cart total incl. taxes' => 'Total articles TTC', 'Categories' => 'Rubriques', - 'Change Password' => 'Modifier mon mot de passe', - 'Change address' => 'Changer d\'adresse', - 'Change my account information' => 'Modifier mes informations personnelles', - 'Change my password' => 'Changer mon mot de passe', - 'Check my order' => 'Vérifier ma commande', 'Choose your delivery address' => 'Choisissez une adresse de livraison', 'Choose your delivery method' => 'Choisissez votre moyen de livraison', - 'Choose your payment method' => 'Choisissez votre moyen de paiement', 'Code :' => 'Code :', - 'Connecting to the secure payment server, please wait a few seconds...' => 'Connexion au serveur sécurisé, merci de patienter quelques secondes.', 'Contact Us' => 'Contactez-nous', - 'Contact page' => 'Page contact', 'Continue Shopping' => 'Continuer mes achats', 'Copyright' => 'Copyright', 'Coupon code' => 'Code promo', - 'Create' => 'Créer', 'Create New Account' => 'Créer un nouveau compte', - 'Create New Address' => 'Créer une nouvelle adresse', - 'Created' => 'Créée le', - 'Currency' => 'Devise', - 'Customer Number' => 'Numéro de client', - 'Date' => 'Date', 'Delete' => 'Supprimer', - 'Delivery' => 'Bon de livraison', 'Delivery Information' => 'Information de livraison', - 'Delivery Mode' => 'Mode de livraison', - 'Delivery REF' => 'Référence livraison', - 'Delivery address' => 'Adresse de livraison', - 'Demo product description' => 'Descrption produit de démo', - 'Demo product title' => 'Titre produit de démo', 'Description' => 'Description', 'Discount incl. taxes' => 'Remise TTC', - 'Discount with tax' => 'Remise TTC', - 'Do you have an account?' => 'Avez-vous un compte ?', 'Do you really want to delete this address ?' => 'Voulez-vous vraiment supprimer cette adresse ?', 'Documents' => 'Documents', - 'Download' => 'Télécharger', 'Edit' => 'Modifier', 'Edit this address' => 'Editer cette adresse', 'Estimated shipping ' => 'Estimation des frais de port', - 'Expected delivery date: %delivery_date' => 'Date de livraison estimée :', 'Forgot your Password?' => 'Mot de passe oublié ?', 'Free shipping' => 'Livraison gratuite', 'From %price' => 'A partir de %price', - 'Go back to the previous page' => 'Retour à la page précédente', - 'Go home' => 'Retour à l\'accueil', - 'Grid' => 'Grille', 'Home' => 'Accueil', - 'I\'ve read and agreed on Terms & Conditions' => 'J\'ai lu et j\'accepte les conditions générales de vente', - 'If nothing happens within 10 seconds, please click here.' => 'Si rien ne se passe dans les 10 secondes, merci de cliquer ici. ', - 'If you want to change your email, please contact us.' => 'Pour changer votre email, merci de nous contacter', 'In Stock' => 'Disponible', - 'Including %tax tax' => 'Dont taxes %tax', - 'Invoice REF' => 'Numéro de facture', - 'Invoice date' => 'Date de facturation', - 'Language' => 'Langue', - 'Latest' => 'Nouveautés', - 'Latest products' => 'Derniers produits', - 'List' => 'Liste', - 'List of orders' => 'Liste de mes commandes', - 'Login' => 'Connexion', 'Login Information' => 'Informations de connexion', 'Main Address' => 'Adresse Principale', 'More information about this brand' => 'Plus de détails sur cette marque', 'Multi-payment platform' => 'Plateforme de paiement multiple', 'My Account' => 'Mon compte', - 'My Address Books' => 'Mes carnets d\'adresses', - 'My Address book' => 'Mon carnet d\'adresses', - 'My Orders' => 'Mes commandes', - 'My order' => 'Ma commande', 'Name' => 'Nom', - 'Name ascending' => 'Nom croissant', - 'Name descending' => 'Nom décroissant', 'Need help ?' => 'Besoin d\'aide ?', - 'Newsletter' => 'Lettre d\'information', - 'Newsletter Subscription' => 'Inscription à la newsletter', - 'Next' => 'Suivant', 'Next Step' => 'Etape suivante', 'Next product' => 'Produit suivant.', - 'No Contents in this folder.' => 'Aucun contenu pour ce dossier.', 'No deliveries available for this cart and this country' => 'Aucun mode de livraison disponible pour ce panier et ce pays', - 'No products available in this brand' => 'Aucun produit de cette marque n\'est disponible', 'No products available in this category' => 'Aucun produit dans cette catégorie.', - 'No results found' => 'Aucun résultat', 'No.' => 'N°', 'Ok' => 'Ok', 'Options' => 'Options', - 'Order details' => 'Détail de la commande', - 'Order details %ref' => 'Détail de la commande %ref', - 'Order number' => 'Commande numéro', 'Orders over $50' => 'Commande supérieure à 50€', 'Out of Stock' => 'Hors stock', - 'PDF invoice' => 'Facture PDF', - 'Pagination' => 'Pagination', 'Password' => 'Mot de passe', - 'Password Forgotten' => 'Mot de passe oublié', - 'Pay with %module_title' => 'Payer avec %module_title ', 'Personal Information' => 'Informations personnelles', - 'Placeholder address label' => 'Maison, Domicile, Travail...', 'Placeholder address1' => 'Adresse', 'Placeholder address2' => 'Adresse', 'Placeholder cellphone' => 'Numéro de portable', @@ -156,117 +72,48 @@ return array( 'Placeholder lastname' => 'Nom de famille', 'Placeholder phone' => 'Numéro de téléphone', 'Placeholder zipcode' => 'Code postal', - 'Please enter your email address below.' => 'Veuillez saisir votre adresse e-mail ci-dessous.', - 'Please try again to order' => 'Merci de réessayer', - 'Position' => 'Position', - 'Postage' => 'Frais de livraison TTC', - 'Previous' => 'Précédent', 'Previous product' => 'Produit précédent.', 'Price' => 'Prix', - 'Price ascending' => 'Prix croissant', - 'Price descending' => 'Prix décroissant', 'Proceed checkout' => 'Continuer la commande', - 'Product Empty Button' => 'Bouton produit vide', - 'Product Empty Message' => 'Message produit vide', - 'Product Empty Title' => 'Titre produit vide', 'Product Name' => 'Nom du produit', - 'Product Offers' => 'Offre spéciale', 'Qty' => 'Qté', 'Quantity' => 'Quantité', 'Questions ? See our F.A.Q.' => 'Questions ? Voir notre FAQ', - 'REF' => 'REF', - 'Rating' => 'Avis', - 'Redirect to bank service' => 'Redirection vers le service bancaire', 'Ref.' => 'Réf.', 'Register' => 'S\'inscrire', 'Regular Price:' => 'Prix normal', - 'Related' => 'Liés', 'Remove' => 'Supprimer', 'Remove this address' => 'Supprimer cette adresse', - 'SELECT YOUR CURRENCY' => 'Sélectionnez votre devise', - 'SELECT YOUR LANGUAGE' => 'Sélectionnez votre langue', - 'Sale was not found' => 'La promotion n\'a pas été trouvée', - 'Save %amount%sign on these products' => 'Economisez %amount%sign sur ces produits', 'Save %amount%sign on this product' => 'Economisez %amount%sign sur ce produit', 'Search' => 'Recherche', - 'Search Result for' => 'Résultat de recherche pour', - 'Secondary Navigation' => 'Navigation secondaire', - 'Secure Payment' => 'Paiement sécurisé', 'Secure payment' => 'Paiement sécurisé', 'Select Country' => 'Choisissez un pays', 'Select State' => 'Sélectionnez un Etat', 'Select Title' => 'Civilité', 'Select your country:' => 'Sélectionnez votre pays :', 'Send' => 'Envoyer', - 'Send new password again' => 'Renvoyer un mot de passe', 'Send us a message' => 'Envoyez nous un message.', - 'Shipping' => 'Frais de livraison TTC', - 'Show' => 'Voir', - 'Sign in' => 'Se connecter', 'Skip to content' => 'Aller au contenu', 'Sorry but this combination does not exist.' => 'Désolé, cette déclinaison n\'existe pas.', - 'Sorry, your cart is empty. There\'s nothing to pay.' => 'Désolé, votre panier est vide. Il n\'y a rien à payer.', - 'Sort By' => 'Trier par', 'Special Price:' => 'Prix promo', - 'Status' => 'Etat', - 'Subscribe' => 'Inscription', - 'Tax %name: %tax' => 'Dont %name: %tax', - 'Tax: %tax' => 'Dont taxe %tax', - 'Taxed Price' => 'Prix TTC', - 'Taxes total' => 'Total des taxes', - 'Thank you for the trust you place in us.' => 'Merci pour votre confiance. ', - 'Thanks !' => 'Merci !', - 'Thanks for signing up! We\'ll keep you posted whenever we have any new updates.' => 'Merci de votre inscription ! Nous vous tiendrons informé dès qu\'il y aura des nouveautés.', - 'Thanks for your message, we will contact as soon as possible.' => 'Merci de votre message, nous vous contacterons dès que possible.', - 'The page cannot be found' => 'La page ne peut pas être trouvée', 'The product has been added to your cart' => 'Le produit a été ajouté à votre panier', 'Thelia V2' => 'Thelia v2', 'This offer is valid until %date' => 'Cette offre est valide jusqu\'au %date', - 'To cancel your subscription to our newsletter, please enter your email address below.' => 'Pour annuler votre abonnement à notre newsletter, veuillez entrer votre adresse email ci-dessous.', 'Toggle navigation' => 'Basculer la navigation', 'Total' => 'Total', - 'Total incl. tax' => 'Total TTC', 'Total incl. taxes' => 'Total TTC', - 'Total incl.tax' => 'Total HT', - 'Total with tax' => 'Total TTC', - 'Total without tax' => 'Total HT', - 'Transaction REF : %ref' => 'Référence transaction', - 'Try again' => 'Ré-essayer le paiement', - 'Unit Price' => 'Prix unitaire', 'Unit Price incl. taxes' => 'Prix unitaire TTC', - 'Unit Taxed Price' => 'Prix unitaire TTC', - 'Unsubscribe' => 'Me désabonner', - 'Update' => 'Mettre à jour', - 'Update Profile' => 'Mettre à jour votre profil', 'Update Quantity' => 'Mettre à jour la quantité', 'Upsell Products' => 'Produits liés', - 'View' => 'Voir', 'View Cart' => 'Voir le panier', - 'View all' => ' Voir tout', - 'View as' => 'Voir en tant que', - 'View order %ref details' => 'Voir le détail de la commande %ref', 'View product' => 'Voir le produit', 'Warning' => 'Attention', 'We apologize but some of the ordered products are not available any more.' => 'Nous sommes désolés, certains des produits que vous avez commandé ne sont plus disponibles.', - 'We\'re sorry but an error occured. Please try to contact the site administrator' => 'Nous sommes désolés mais une erreur est survenue. Veuillez contacter l\'administrateur', - 'We\'re sorry, a problem occured and your payment was not successful.' => 'Nous sommes désolés, un problème est survenu lors du paiement.', - 'You are here:' => 'Vous êtes ici :', - 'You choose' => 'Vous avez choisi ', - 'You choose to pay by' => 'Vous avez choisi de payer par', - 'You don\'t have orders yet.' => 'Vous n\'avez pas encore de commande.', 'You have no items in your shopping cart.' => 'Vous n\'avez pas de produit dans votre panier.', - 'You may have a coupon ?' => 'Avez-vous un code promo ?', - 'You want to subscribe to the newsletter? Please enter your email address below.' => 'Vous voulez vous inscrire à la newsletter ? Veuillez saisir votre adresse e-mail ci-dessous.', - 'You will receive a link to reset your password.' => 'Vous recevrez un lien pour réinitialiser votre mot de passe.', 'Your Cart' => 'Votre panier', - 'Your customer account was successfully activated, you can now login.' => 'Votre compte client a bien été activé, vous pouvez maintenant vous connecter.', - 'Your order payment' => 'Votre paiement', - 'Your order will be confirmed by us upon receipt of your payment.' => 'Votre commande sera confirmée à réception de votre paiement.', - 'Your subscription to our newsletter has been canceled.' => 'Votre inscription à notre newsletter a été annulée.', 'for' => 'pour', 'instead of' => 'au lieu de', 'missing or invalid data' => 'Information erronée ou incomplète', - 'per page' => 'par page', 'update' => 'mettre à jour', 'with:' => 'avec :', ); diff --git a/templates/frontOffice/custom/assets/dist/css/custom.min.css b/templates/frontOffice/custom/assets/dist/css/custom.min.css index 672c3d30..b22722ac 100644 --- a/templates/frontOffice/custom/assets/dist/css/custom.min.css +++ b/templates/frontOffice/custom/assets/dist/css/custom.min.css @@ -1 +1 @@ -.btn,.tag-produit{border-radius:5px}@font-face{font-family:sofia_prolight;src:url(../fonts/sofiapro/sofiapro-light-webfont.woff2) format('woff2'),url(../fonts/sofiapro/sofiapro-light-webfont.woff) format('woff');font-weight:400;font-style:normal}#product-details .product-info .sku,aside.col-left,div.product-options,footer.footer-info,section.category-description,ul.pager{display:none}html{font-family:sofia_prolight,sans-serif!important}#products-new .overlay:after,#products-offer .overlay:after,#products-upsell .overlay:after,body{font-family:sofia_prolight,'Open Sans',sans-serif!important}div.container{width:90%!important}@media (min-width:992px){.header__main{width:90%}}@media (min-width:768px){.header__content{flex-direction:column}}.header__content{display:flex}.header__main{align-items:center;display:flex;flex-direction:row;justify-content:space-between}.header__secondary{display:inline-flex}.overlay:before{background-color:rgba(128,189,138,.4)}.navbar-default{background-color:transparent}.navbar li>a.home:before{display:none}.navbar li{font-size:1.72rem}.nav>li{text-transform:uppercase}.navbar-customer{display:flex;flex-direction:column;text-align:center}#search-button:before,address.adr span.street-address,article.col-main div#google-map{display:none}.navbar-customer>li>a{text-transform:none}.header__content .container-fluid{padding-left:0;padding-right:0}.navbar-form .form-control{width:150px}.navbar-form{margin:auto}.logo-boutique{width:160px}.navbar{margin-bottom:0}.glyphicon,a{color:#95c11e}.btn{border-color:#95c11e;border-left:1px solid #95c11e}.btn-default{color:#3c3c3b;background-color:#fff}.btn-default:active,.btn-default:focus,.btn-default:hover{color:#fff;background-color:#3c3c3b;text-decoration:none}.btn-primary{background-color:#95c11e;color:#fff}.btn-primary:active,.btn-primary:focus,.btn-primary:hover{background-color:#fff;border-color:#95c11e;color:#95c11e}.btn-primary[disabled]:focus,.btn-primary[disabled]:hover{background-color:#95c11e;border-color:#95c11e;color:#fff}.btn-link:focus,.btn-link:hover{color:#95c11e}.navbar-default .navbar-nav>li>a{color:#3c3c3b}.nav>li>a:focus,.nav>li>a:hover,.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{background-color:#95c11e;color:#fff}.breadcrumb{text-align:center;font-size:large;margin-bottom:30px}.checkout-progress .btn-step.active{background:#95c11e}.toolbar .amount{color:#95c11e}.grid #category-products .item>article .product-info .name{height:1.5em}.product-title,.product-title:active,.product-title:hover{text-decoration:none;color:#3c3c3b}.price,.table-cart tbody td.subprice .price,.table-cart thead th.subprice,.table-order tbody td.subprice .price,.table-order thead th.subprice{color:#95c11e}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{background-color:#95c11e;border-color:#95c11e}.products-heading{text-transform:uppercase;text-align:center}.products-heading>h2{color:#3c3c3b;font-weight:900}.fa-cart-plus,.fa-user,.glyphicon-search{font-size:2rem!important}#search-button{padding-top:6px}.footer-container .footer-block{background-color:rgba(128,189,138,.08)}.block.block-contact .block-content ul>li:before{color:#95c11e}.block.block-contact .block-content ul>li.contact-address:before{font-size:26px}.block .block-title{color:#3c3c3b}.block .block-content .block-subtitle,.block-default .block-content li:before{color:#95c11e}.tag-produit{transform:rotate(-10deg);padding:0 5px;text-align:center;position:absolute;z-index:300;bottom:5px;right:10px}.tag-bio{background-color:#95c11e;color:#fff}.tag-local{background-color:red;color:#fff}.product-provenance{text-align:center;line-height:1rem;padding:5px 0 2px;border:1px solid #95c11e;border-radius:8px}.texte-provenance{color:#95c11e}.inline-flex{display:inline-flex;flex-wrap:nowrap;align-items:center;margin-left:5px}.table-pictos{margin-bottom:0!important}.table-pictos td.ligne{border:none!important;vertical-align:baseline!important}.image-auxbieauxlegumes{width:30px;height:auto}.bio{background-color:#95c11e;color:#fff;padding:0 2px;border-radius:3px;cursor:default}.grid #category-products .item{line-height:6.5rem}.texte-normal{font-family:inherit;line-height:1.1;color:inherit}.texte-normal:link{text-decoration:none}span.product-categorie{margin:auto!important;line-height:1rem!important;height:1.5rem} \ No newline at end of file +.btn,.tag-produit{border-radius:5px}@font-face{font-family:sofia_prolight;src:url(../fonts/sofiapro/sofiapro-light-webfont.woff2) format('woff2'),url(../fonts/sofiapro/sofiapro-light-webfont.woff) format('woff');font-weight:400;font-style:normal}#product-details .product-info .sku,aside.col-left,div.product-options,footer.footer-info,section.category-description,ul.pager{display:none}html{font-family:sofia_prolight,sans-serif!important}#products-new .overlay:after,#products-offer .overlay:after,#products-upsell .overlay:after,body{font-family:sofia_prolight,'Open Sans',sans-serif!important}div.container{width:90%!important}@media (min-width:992px){.header__main{width:90%}}@media (min-width:768px){.header__content{flex-direction:column}}.header__content{display:flex}.header__main{align-items:center;display:flex;flex-direction:row;justify-content:space-between}.header__secondary,.inline-flex{display:inline-flex}.overlay:before{background-color:rgba(128,189,138,.4)}.navbar-default{background-color:transparent}.navbar li>a.home:before{display:none}.navbar li{font-size:1.72rem}.nav>li{text-transform:uppercase}.navbar-customer{display:flex;flex-direction:column;text-align:center}#search-button:before,address.adr span.street-address,article.col-main div#google-map{display:none}.navbar-customer>li>a{text-transform:none}.header__content .container-fluid{padding-left:0;padding-right:0}.navbar-form .form-control{width:150px}.navbar-form{margin:auto}.logo-boutique{width:160px}.navbar{margin-bottom:0}.glyphicon,a{color:#95c11e}.btn{border-color:#95c11e;border-left:1px solid #95c11e}.btn-default{color:#3c3c3b;background-color:#fff}.btn-default:active,.btn-default:focus,.btn-default:hover{color:#fff;background-color:#3c3c3b;text-decoration:none}.btn-primary{background-color:#95c11e;color:#fff}.btn-primary:active,.btn-primary:focus,.btn-primary:hover{background-color:#fff;border-color:#95c11e;color:#95c11e}.btn-primary[disabled]:focus,.btn-primary[disabled]:hover{background-color:#95c11e;border-color:#95c11e;color:#fff}.btn-link:focus,.btn-link:hover{color:#95c11e}.navbar-default .navbar-nav>li>a{color:#3c3c3b}.nav>li>a:focus,.nav>li>a:hover,.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{background-color:#95c11e;color:#fff}.breadcrumb{text-align:center;font-size:large;margin-bottom:30px}.checkout-progress .btn-step.active{background:#95c11e}.toolbar .amount{color:#95c11e}.grid #category-products .item>article .product-info .name{height:1.5em}.product-title,.product-title:active,.product-title:hover{text-decoration:none;color:#3c3c3b}.price,.table-cart tbody td.subprice .price,.table-cart thead th.subprice,.table-order tbody td.subprice .price,.table-order thead th.subprice{color:#95c11e}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{background-color:#95c11e;border-color:#95c11e}.products-heading{text-transform:uppercase;text-align:center}.products-heading>h2{color:#3c3c3b;font-weight:900}.fa-cart-plus,.fa-user,.glyphicon-search{font-size:2rem!important}#search-button{padding-top:6px}.footer-container .footer-block{background-color:rgba(128,189,138,.08)}.block.block-contact .block-content ul>li:before{color:#95c11e}.block.block-contact .block-content ul>li.contact-address:before{font-size:26px}.block .block-title{color:#3c3c3b}.block .block-content .block-subtitle,.block-default .block-content li:before{color:#95c11e}.tag-produit{transform:rotate(-10deg);padding:0 5px;text-align:center;position:absolute;z-index:300;bottom:5px;right:10px}.tag-bio{background-color:#95c11e;color:#fff}.tag-local{background-color:red;color:#fff}.product-provenance{text-align:center;line-height:1rem;padding:5px 0 2px;border:1px solid #95c11e;border-radius:8px}.texte-provenance{color:#95c11e}.inline-flex{flex-wrap:nowrap;align-items:center;margin-left:5px}.table-pictos{margin-bottom:0!important}.table-pictos td.ligne{border:none!important;vertical-align:baseline!important}.produit-bio,.produit-local{color:#fff;padding:0 2px;border-radius:3px;cursor:default}.image-auxbieauxlegumes{width:30px;height:auto}.produit-bio{background-color:#95c11e}.produit-local{background-color:red}.grid #category-products .item{line-height:6.5rem}.texte-normal{font-family:inherit;line-height:1.1;color:inherit}.texte-normal:link{text-decoration:none}span.product-categorie{margin:auto!important;line-height:1rem!important;height:1.5rem}.autres-ingredients{text-align:left} \ No newline at end of file diff --git a/templates/frontOffice/custom/assets/src/css/custom.css b/templates/frontOffice/custom/assets/src/css/custom.css index 14b3f9e7..9fc04a1d 100644 --- a/templates/frontOffice/custom/assets/src/css/custom.css +++ b/templates/frontOffice/custom/assets/src/css/custom.css @@ -323,13 +323,20 @@ article.col-main div#google-map { width: 30px; height: auto; } -.bio { +.produit-bio { background-color: #95c11e; color: white; padding: 0 2px; border-radius: 3px; cursor: default; } +.produit-local { + background-color: red; + color: white; + padding: 0 2px; + border-radius: 3px; + cursor: default; +} .grid #category-products .item { line-height: 6.5rem; diff --git a/templates/frontOffice/custom/includes/pictos.html b/templates/frontOffice/custom/includes/pictos.html index 9c7e3380..4763e11c 100644 --- a/templates/frontOffice/custom/includes/pictos.html +++ b/templates/frontOffice/custom/includes/pictos.html @@ -1,4 +1,4 @@ -
+
{loop name="features-list" type="feature" product=$product_id} @@ -13,10 +13,11 @@ {$TITLE} {else} {if $TITLE eq "Local"} - {$TITLE} + {$TITLE} + {else} {if $TITLE eq "Bio"} - {$TITLE} + {$TITLE} {else} {$TITLE} {/if} From 454a3b079ed241c687e6762fc7376d6625fd4697 Mon Sep 17 00:00:00 2001 From: TheCoreDev Date: Mon, 17 May 2021 17:33:47 +0200 Subject: [PATCH 3/4] Ca a l'air OK pour la partie backOffice du module Recettes --- local/modules/Recettes/Config/routing.xml | 17 ++++- .../Recettes/Controller/BackController.php | 76 +++++++++++++++++++ .../backOffice/default/includes/steps.html | 12 +-- .../backOffice/default/recette-tab.html | 6 ++ .../custom/assets/dist/css/custom.min.css | 2 +- .../custom/assets/src/css/custom.css | 20 ++--- 6 files changed, 107 insertions(+), 26 deletions(-) diff --git a/local/modules/Recettes/Config/routing.xml b/local/modules/Recettes/Config/routing.xml index 57513eb0..5a7367d3 100644 --- a/local/modules/Recettes/Config/routing.xml +++ b/local/modules/Recettes/Config/routing.xml @@ -11,21 +11,36 @@ Recettes\Controller\BackController::saveRecipe + Recettes\Controller\BackController::removeProduct \d+ \d+ \d+ + Recettes\Controller\BackController::searchProduct + Recettes\Controller\BackController::addProduct \d+ + Recettes\Controller\BackController::addStep - + + Recettes\Controller\BackController::removeStep + \d+ + \d+ + \d+ + + + + Recettes\Controller\BackController::updatePosition + + + \ No newline at end of file diff --git a/local/modules/Recettes/Controller/BackController.php b/local/modules/Recettes/Controller/BackController.php index 129277ab..930987b9 100755 --- a/local/modules/Recettes/Controller/BackController.php +++ b/local/modules/Recettes/Controller/BackController.php @@ -211,7 +211,83 @@ class BackController extends BaseAdminController } catch (\Exception $e) { $error = $e->getMessage(); } + } + + public function removeStep($step, $recipeId, $contentId) + { + $con = Propel::getConnection(); + + $foundStep = RecipeStepsQuery::create() + ->filterByRecipeId($recipeId) + ->findOneByStep($step); + $nextSteps = RecipeStepsQuery::create() + ->filterByRecipeId($recipeId) + ->filterByStep($step, Criteria::GREATER_THAN) + ->orderByStep() + ->find($con); + + if ($foundStep) { + $foundStep->delete(); + + foreach ($nextSteps as $next) { + $nouveauNumero = $next->getStep()-1; + (new RecipeSteps()) + ->setRecipeId($recipeId) + ->setStep($nouveauNumero) + ->setDescription($next->getDescription()) + ->save(); + $next->delete(); + } + } + + return new RedirectResponse(URL::getInstance()->absoluteUrl("/admin/content/update/" . $contentId . "?current_tab=recipe")); + } + + + public function updatePosition() + { + $step = $this->getRequest()->get('step'); + + $mode = $this->getRequest()->get('mode'); + if ($mode === "up") $replacedStep = $step - 1; + else $replacedStep = $step + 1; + + $recipeId = $this->getRequest()->get('recipe_id'); + $contentId = $this->getRequest()->get('content_id'); + + $current = RecipeStepsQuery::create() + ->filterByRecipeId($recipeId) + ->findOneByStep($step); + + $replaced = RecipeStepsQuery::create() + ->filterByRecipeId($recipeId) + ->findOneByStep($replacedStep); + + // On supprime les 2 étapes (celle que l'on déplace et celle que l'on remplace) pour les recréer par la suite. + RecipeStepsQuery::create() + ->filterByRecipeId($recipeId) + ->findOneByStep($step) + ->delete(); + + RecipeStepsQuery::create() + ->filterByRecipeId($recipeId) + ->findOneByStep($replacedStep) + ->delete(); + + (new RecipeSteps()) + ->setRecipeId($recipeId) + ->setStep($step) + ->setDescription($replaced->getDescription()) + ->save(); + + (new RecipeSteps()) + ->setRecipeId($recipeId) + ->setStep($replacedStep) + ->setDescription($current->getDescription()) + ->save(); + + return new RedirectResponse(URL::getInstance()->absoluteUrl("/admin/content/update/" . $contentId . "?current_tab=recipe")); } } diff --git a/local/modules/Recettes/templates/backOffice/default/includes/steps.html b/local/modules/Recettes/templates/backOffice/default/includes/steps.html index dc4caf2b..af3787db 100644 --- a/local/modules/Recettes/templates/backOffice/default/includes/steps.html +++ b/local/modules/Recettes/templates/backOffice/default/includes/steps.html @@ -9,10 +9,10 @@ {/loop} -
{$STEP} {if $LOOP_COUNT > 1} - + {/if} {if $LOOP_COUNT < $LOOP_TOTAL} - + {/if} {$DESCRIPTION|unescape:"html" nofilter} @@ -21,10 +21,4 @@
- - - - + \ No newline at end of file diff --git a/local/modules/Recettes/templates/backOffice/default/recette-tab.html b/local/modules/Recettes/templates/backOffice/default/recette-tab.html index 734598aa..0a31a4f2 100644 --- a/local/modules/Recettes/templates/backOffice/default/recette-tab.html +++ b/local/modules/Recettes/templates/backOffice/default/recette-tab.html @@ -24,6 +24,7 @@ {form_field form=$form field="content_id"} {/form_field} +
@@ -125,6 +126,11 @@

+
+ + + +
{include file="includes/steps.html" recipe_id="$recipe_id"}
diff --git a/templates/frontOffice/custom/assets/dist/css/custom.min.css b/templates/frontOffice/custom/assets/dist/css/custom.min.css index b22722ac..bee708cf 100644 --- a/templates/frontOffice/custom/assets/dist/css/custom.min.css +++ b/templates/frontOffice/custom/assets/dist/css/custom.min.css @@ -1 +1 @@ -.btn,.tag-produit{border-radius:5px}@font-face{font-family:sofia_prolight;src:url(../fonts/sofiapro/sofiapro-light-webfont.woff2) format('woff2'),url(../fonts/sofiapro/sofiapro-light-webfont.woff) format('woff');font-weight:400;font-style:normal}#product-details .product-info .sku,aside.col-left,div.product-options,footer.footer-info,section.category-description,ul.pager{display:none}html{font-family:sofia_prolight,sans-serif!important}#products-new .overlay:after,#products-offer .overlay:after,#products-upsell .overlay:after,body{font-family:sofia_prolight,'Open Sans',sans-serif!important}div.container{width:90%!important}@media (min-width:992px){.header__main{width:90%}}@media (min-width:768px){.header__content{flex-direction:column}}.header__content{display:flex}.header__main{align-items:center;display:flex;flex-direction:row;justify-content:space-between}.header__secondary,.inline-flex{display:inline-flex}.overlay:before{background-color:rgba(128,189,138,.4)}.navbar-default{background-color:transparent}.navbar li>a.home:before{display:none}.navbar li{font-size:1.72rem}.nav>li{text-transform:uppercase}.navbar-customer{display:flex;flex-direction:column;text-align:center}#search-button:before,address.adr span.street-address,article.col-main div#google-map{display:none}.navbar-customer>li>a{text-transform:none}.header__content .container-fluid{padding-left:0;padding-right:0}.navbar-form .form-control{width:150px}.navbar-form{margin:auto}.logo-boutique{width:160px}.navbar{margin-bottom:0}.glyphicon,a{color:#95c11e}.btn{border-color:#95c11e;border-left:1px solid #95c11e}.btn-default{color:#3c3c3b;background-color:#fff}.btn-default:active,.btn-default:focus,.btn-default:hover{color:#fff;background-color:#3c3c3b;text-decoration:none}.btn-primary{background-color:#95c11e;color:#fff}.btn-primary:active,.btn-primary:focus,.btn-primary:hover{background-color:#fff;border-color:#95c11e;color:#95c11e}.btn-primary[disabled]:focus,.btn-primary[disabled]:hover{background-color:#95c11e;border-color:#95c11e;color:#fff}.btn-link:focus,.btn-link:hover{color:#95c11e}.navbar-default .navbar-nav>li>a{color:#3c3c3b}.nav>li>a:focus,.nav>li>a:hover,.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{background-color:#95c11e;color:#fff}.breadcrumb{text-align:center;font-size:large;margin-bottom:30px}.checkout-progress .btn-step.active{background:#95c11e}.toolbar .amount{color:#95c11e}.grid #category-products .item>article .product-info .name{height:1.5em}.product-title,.product-title:active,.product-title:hover{text-decoration:none;color:#3c3c3b}.price,.table-cart tbody td.subprice .price,.table-cart thead th.subprice,.table-order tbody td.subprice .price,.table-order thead th.subprice{color:#95c11e}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{background-color:#95c11e;border-color:#95c11e}.products-heading{text-transform:uppercase;text-align:center}.products-heading>h2{color:#3c3c3b;font-weight:900}.fa-cart-plus,.fa-user,.glyphicon-search{font-size:2rem!important}#search-button{padding-top:6px}.footer-container .footer-block{background-color:rgba(128,189,138,.08)}.block.block-contact .block-content ul>li:before{color:#95c11e}.block.block-contact .block-content ul>li.contact-address:before{font-size:26px}.block .block-title{color:#3c3c3b}.block .block-content .block-subtitle,.block-default .block-content li:before{color:#95c11e}.tag-produit{transform:rotate(-10deg);padding:0 5px;text-align:center;position:absolute;z-index:300;bottom:5px;right:10px}.tag-bio{background-color:#95c11e;color:#fff}.tag-local{background-color:red;color:#fff}.product-provenance{text-align:center;line-height:1rem;padding:5px 0 2px;border:1px solid #95c11e;border-radius:8px}.texte-provenance{color:#95c11e}.inline-flex{flex-wrap:nowrap;align-items:center;margin-left:5px}.table-pictos{margin-bottom:0!important}.table-pictos td.ligne{border:none!important;vertical-align:baseline!important}.produit-bio,.produit-local{color:#fff;padding:0 2px;border-radius:3px;cursor:default}.image-auxbieauxlegumes{width:30px;height:auto}.produit-bio{background-color:#95c11e}.produit-local{background-color:red}.grid #category-products .item{line-height:6.5rem}.texte-normal{font-family:inherit;line-height:1.1;color:inherit}.texte-normal:link{text-decoration:none}span.product-categorie{margin:auto!important;line-height:1rem!important;height:1.5rem}.autres-ingredients{text-align:left} \ No newline at end of file +.btn,.tag-produit{border-radius:5px}@font-face{font-family:sofia_prolight;src:url(../fonts/sofiapro/sofiapro-light-webfont.woff2) format('woff2'),url(../fonts/sofiapro/sofiapro-light-webfont.woff) format('woff');font-weight:400;font-style:normal}#product-details .product-info .sku,aside.col-left,div.product-options,footer.footer-info,section.category-description,ul.pager{display:none}html{font-family:sofia_prolight,sans-serif!important}#products-new .overlay:after,#products-offer .overlay:after,#products-upsell .overlay:after,body{font-family:sofia_prolight,'Open Sans',sans-serif!important}div.container{width:90%!important}@media (min-width:992px){.header__main{width:90%}}@media (min-width:768px){.header__content{flex-direction:column}}.header__content{display:flex}.header__main{align-items:center;display:flex;flex-direction:row;justify-content:space-between}.header__secondary,.inline-flex{display:inline-flex}.overlay:before{background-color:rgba(128,189,138,.4)}.navbar-default{background-color:transparent}.navbar li>a.home:before{display:none}.navbar li{font-size:1.72rem}.nav>li{text-transform:uppercase}.navbar-customer{display:flex;flex-direction:column;text-align:center}#search-button:before,address.adr span.street-address,article.col-main div#google-map{display:none}.navbar-customer>li>a{text-transform:none}.header__content .container-fluid{padding-left:0;padding-right:0}.navbar-form .form-control{width:150px}.navbar-form{margin:auto}.logo-boutique{width:160px}.navbar{margin-bottom:0}.glyphicon,a{color:#95c11e}.btn{border-color:#95c11e;border-left:1px solid #95c11e}.btn-default{color:#3c3c3b;background-color:#fff}.btn-default:active,.btn-default:focus,.btn-default:hover{color:#fff;background-color:#3c3c3b;text-decoration:none}.btn-primary{background-color:#95c11e;color:#fff}.btn-primary:active,.btn-primary:focus,.btn-primary:hover{background-color:#fff;border-color:#95c11e;color:#95c11e}.btn-primary[disabled]:focus,.btn-primary[disabled]:hover{background-color:#95c11e;border-color:#95c11e;color:#fff}.btn-link:focus,.btn-link:hover{color:#95c11e}.navbar-default .navbar-nav>li>a{color:#3c3c3b}.nav>li>a:focus,.nav>li>a:hover,.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{background-color:#95c11e;color:#fff}.breadcrumb{text-align:center;font-size:large;margin-bottom:30px}.checkout-progress .btn-step.active{background:#95c11e}.toolbar .amount{color:#95c11e}.grid #category-products .item>article .product-info .name{height:1.5em}.product-title,.product-title:active,.product-title:hover{text-decoration:none;color:#3c3c3b}.price,.table-cart tbody td.subprice .price,.table-cart thead th.subprice,.table-order tbody td.subprice .price,.table-order thead th.subprice{color:#95c11e}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{background-color:#95c11e;border-color:#95c11e}.products-heading{text-transform:uppercase;text-align:center}.products-heading>h2{color:#3c3c3b;font-weight:900}.fa-cart-plus,.fa-user,.glyphicon-search{font-size:2rem!important}#search-button{padding-top:6px}.footer-container .footer-block{background-color:rgba(128,189,138,.08)}.block.block-contact .block-content ul>li:before{color:#95c11e}.block.block-contact .block-content ul>li.contact-address:before{font-size:26px}.block .block-title{color:#3c3c3b}.block .block-content .block-subtitle,.block-default .block-content li:before{color:#95c11e}.tag-produit{transform:rotate(-10deg);padding:0 5px;text-align:center;position:absolute;z-index:300;bottom:5px;right:10px}.tag-bio{background-color:#95c11e;color:#fff}.tag-local{background-color:red;color:#fff}.product-provenance{text-align:center;line-height:1rem;padding:5px 0 2px;border:1px solid #95c11e;border-radius:8px}.texte-provenance{color:#95c11e}.inline-flex{flex-wrap:nowrap;align-items:center;margin-left:5px}.table-pictos{margin-bottom:0!important}.table-pictos td.ligne{border:none!important;vertical-align:baseline!important}.produit-bio,.produit-local{color:#fff;padding:0 2px;border-radius:3px;cursor:default}.image-auxbieauxlegumes{width:30px;height:auto}.produit-bio{background-color:#95c11e}.produit-local{background-color:red}.grid #category-products .item{line-height:6.5rem}.texte-normal{font-family:inherit;line-height:1.1;color:inherit}.texte-normal:link{text-decoration:none}span.product-categorie{margin:auto!important;line-height:1rem!important;height:1.5rem}.autres-ingredients,.table-steps .description{text-align:left}div.add-step-button{display:inline-block;margin-left:100px!important} \ No newline at end of file diff --git a/templates/frontOffice/custom/assets/src/css/custom.css b/templates/frontOffice/custom/assets/src/css/custom.css index 9fc04a1d..29583ad5 100644 --- a/templates/frontOffice/custom/assets/src/css/custom.css +++ b/templates/frontOffice/custom/assets/src/css/custom.css @@ -238,20 +238,7 @@ article.col-main div#google-map { color: #95c11e; } -/* -.boutons-plusmoins { - display: inline-grid !important; - margin-right: 20px; -} -.bouton-plus { - font-family: FontAwesome; - content: "f067"; -} -.bouton-moins { - font-family: FontAwesome; - content: "f067"; -} -*/ + .tag-produit { transform: rotate(-10deg); padding: 0 5px; @@ -357,4 +344,7 @@ span.product-categorie { } .autres-ingredients { text-align: left; -} \ No newline at end of file +} +.table-steps .description { + text-align: left; +} From f289a6e16955d7107f8a0cb5347293b261f73e23 Mon Sep 17 00:00:00 2001 From: TheCoreDev Date: Mon, 17 May 2021 20:55:10 +0200 Subject: [PATCH 4/4] =?UTF-8?q?Recettes=20:=20Listener=20pour=20supprimer?= =?UTF-8?q?=20la=20recette=20en=20m=C3=AAme=20temps=20que=20le=20Content?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../images/content/tiramisu_banoffee-2.jpeg | Bin 128854 -> 0 bytes local/modules/Recettes/Config/config.xml | 6 ++ .../EventListener/ContentListener.php | 61 ++++++++++++++++++ 3 files changed, 67 insertions(+) delete mode 100644 local/media/images/content/tiramisu_banoffee-2.jpeg create mode 100644 local/modules/Recettes/EventListener/ContentListener.php diff --git a/local/media/images/content/tiramisu_banoffee-2.jpeg b/local/media/images/content/tiramisu_banoffee-2.jpeg deleted file mode 100644 index b0fb24f4dc073cce6df051d463223af9d5e509bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128854 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诔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 + + + + + + diff --git a/local/modules/Recettes/EventListener/ContentListener.php b/local/modules/Recettes/EventListener/ContentListener.php new file mode 100644 index 00000000..c3fea7b5 --- /dev/null +++ b/local/modules/Recettes/EventListener/ContentListener.php @@ -0,0 +1,61 @@ +request = $request; + } + + + public static function getSubscribedEvents() + { + return [ + ContentEvent::PRE_DELETE => [ "deleteRecipeBeforeContent", 100 ] + ]; + } + + + public function deleteRecipeBeforeContent(ContentEvent $event) + { + $con = Propel::getConnection(); + + $contentId = $this->request->request->get('content_id'); + $recipeId = RecipeQuery::create() + ->findOneByContentId($contentId) + ->getId(); + + if ($recipeId) + { + RecipeStepsQuery::create() + ->filterByRecipeId($recipeId) + ->find($con) + ->delete(); + + RecipeProductsQuery::create() + ->filterByRecipeId($recipeId) + ->find($con) + ->delete(); + + RecipeQuery::create() + ->findOneByContentId($contentId) + ->delete(); + } + } + +}