diff options
Diffstat (limited to 'pages/shop/_product')
| -rw-r--r-- | pages/shop/_product/edit.fnl | 2 | ||||
| -rw-r--r-- | pages/shop/_product/index.fnl | 21 |
2 files changed, 16 insertions, 7 deletions
diff --git a/pages/shop/_product/edit.fnl b/pages/shop/_product/edit.fnl index 3995096..2568aff 100644 --- a/pages/shop/_product/edit.fnl +++ b/pages/shop/_product/edit.fnl @@ -63,7 +63,7 @@ (values 302 {:Location "/shop"} "") (if request.form (let [data (forms.html-form->data product-form request.form db) - errors (forms.validate-form product-form data) + errors (forms.validate product-form data) has-errors? (not (lib.empty-table? errors))] (if has-errors? (values 400 {} (templates.base (content product-form data errors diff --git a/pages/shop/_product/index.fnl b/pages/shop/_product/index.fnl index 0dd5ff9..aabd713 100644 --- a/pages/shop/_product/index.fnl +++ b/pages/shop/_product/index.fnl @@ -41,7 +41,7 @@ [name])) 1)) -(fn content [product basket authenticated?] +(fn content [product basket agreed-to-cookies? authenticated?] (local redirect-url (.. "/shop/" product.name)) (local images []) (for [i 1 5] @@ -50,9 +50,13 @@ [(HTML [:aside {} (templates.header "/shop" authenticated?) - (if (< 0 (# basket)) (templates.basket basket redirect-url) "")]) + (if (< 0 (# basket)) (templates.basket basket redirect-url) "") + (templates.address-block) + (templates.conditions-block) + (templates.contact-block)]) (HTML [:div {:class "content"} + (if (not agreed-to-cookies?) (templates.cookies-agreement) "") [:div {:class "back"} [:a {:href "/shop"} "⟵ Обратно к списку"]] [:div {:class "product-page-layout"} @@ -64,8 +68,8 @@ [:a {:href (.. "/shop/" product.name "/edit")} "% Редактировать"]]) "") + (templates.product-overview product "mb-0-25") (templates.add-to-basket-form product basket "mb-0-5" redirect-url) - (templates.product-overview product "mb-0-5") [:div {:class "mb-1" :style "font-style: italic;"} product.short-description] @@ -93,11 +97,16 @@ (HTML [:img {:class "product-page-img" :src (.. link "-thumbnail.jpg")}]))]))))]]])]) (fn render [request db authenticated?] - (let [product (find-product db request.params._product) - order-id (shop.order-id request) + (let [agreed-to-cookies? request.cookies.agreed-to-cookies + product (find-product db request.params._product) + order-id request.cookies.order basket (if order-id (shop.basket db order-id) [])] (if (and product (or product.published authenticated?)) - (values 200 {} (templates.base (content product basket authenticated?))) + (values 200 {} + (templates.base + (content product basket agreed-to-cookies? authenticated?) + product.title + (.. "Купить " product.title " в Омске: " product.short-description))) (values 404 {} "not found")))) {: render} |
