diff --git a/controllers/portal.py b/controllers/portal.py index df0e483d5fb5460a7093a7d8944ca7e31523bac8..64cf7ad56c3e0e5a576849d0d57bc263cfd1d1eb 100644 --- a/controllers/portal.py +++ b/controllers/portal.py @@ -7,11 +7,18 @@ from odoo.addons.scopext_portal.controllers.portal import Extranet class ExtranetBlog(Extranet): + def _prepare_portal_ur_home_values(self): + parent_values = super()._prepare_portal_values() + values = { + "title": "Extranet CGScop - Union Régionale", + } + return parent_values | values + # ------------------------------------------------------ # Routes # ------------------------------------------------------ @route( - ["/coop/ur", "/coop/ur/<model('scop.portal.blog'):blog_page>"], + ["/ur", "/ur/<model('scop.portal.blog'):blog_page>"], type="http", auth="user", methods=["GET"], @@ -25,9 +32,9 @@ class ExtranetBlog(Extranet): category_ids = request.env[ "scop.portal.blog.category" ].get_portal_blog_categories(ur_id) - values = { - "category_ids": category_ids, - } + + values = self._prepare_portal_ressource_home_values() + values["category_ids"] = category_ids if not category_ids: return request.render("http_routing.404") if blog_page: diff --git a/templates/blog_templates.xml b/templates/blog_templates.xml index a7bb1d10ef649d01a7a338e9f8801feee0953228..98c2890be06d0838edfaf54a7fa0073d67293bbe 100644 --- a/templates/blog_templates.xml +++ b/templates/blog_templates.xml @@ -4,26 +4,43 @@ <odoo> <!-- Blog Home --> <template id="blog_home" name="CGScop Extranet Blog list"> - <t t-call="scopext_portal.extranet_layout"> - <section class="flex h-full p-10 even:bg-white w-svw shadow-background first:rounded-tl-[30px] odd:bg-surface"> - <div class="w-full"> - <div class="container relative gap-y-8 mx-auto mb-auto default-grid"> - <div class="col-span-12"> - <div t-foreach="category_ids" t-as="category"> - <h3 t-out="category.name" class="typo-caption" t-attf-style="color: {{category.color}};" /> - <ul> - <li t-foreach="category.page_ids.filtered(lambda p: p.is_published)" t-as="page"> - <a t-attf-href="/coop/ur/{{slug(page)}}"> - <t t-out="page.name" /> - </a> - </li> - </ul> - </div> - </div> - </div> + <t t-call="scopext_portal.extranet_layout"> + <section class="section"> + <div class="section-inner max-lg:px-4"> + + <div class="container relative gap-y-8 mx-auto mb-auto default-grid"> + + <div class="col-span-full max-lg:hidden"> + <t t-call="scopext_portal.component_breadcrumb"> + <t t-set="items" t-value="['Accueil', 'Union régionale']"/> + </t> + </div> + + <div class="flex col-span-full items-center px-10 pt-5 pb-7 rounded-2xl bg-light shadow-card"> + <h1 class="inline-flex items-center typo-h1 text-primary"> + <svg class="inline-flex mr-4 size-[2.625rem] fill-secondary"> + <use href="#icon-book"></use> + </svg> + Union régionale + </h1> + </div> + + <div class="col-span-full p-6 rounded-2xl lg:col-span-6 lg:p-10 shadow-card bg-light"> + <div t-foreach="category_ids" t-as="category"> + <h3 t-out="category.name" class="typo-caption" t-attf-style="color: {{category.color}};" /> + <ul> + <li t-foreach="category.page_ids.filtered(lambda p: p.is_published)" t-as="page"> + <a t-attf-href="/ur/{{slug(page)}}"> + <t t-out="page.name" /> + </a> + </li> + </ul> </div> - </section> - </t> + </div> + </div> + </div> + </section> + </t> </template> <!-- Blog Page --> diff --git a/templates/portal_layout.xml b/templates/portal_layout.xml index a2642ab544f77d590c585e1998395653e169d4fa..a103bd733ca419425b7f23931be1ffab6837ca32 100644 --- a/templates/portal_layout.xml +++ b/templates/portal_layout.xml @@ -7,16 +7,16 @@ id="blog_nav_lvl1" name="blog_scop_nav_lvl1" > - <xpath expr="//nav" position="inside"> - <t t-set="ur_id" t-value="request.env.user.partner_id.ur_id" /> - <t t-if="ur_id and request.env['scop.portal.blog.category'].get_portal_blog_categories(ur_id)"> - <t t-call="scopext_portal.nav_lvl1_item"> - <t t-set="link" t-value="'/coop/ur'" /> - <t t-set="name" t-value="'blog_ur'" /> - <t t-set="display_name" t-value="'Extranet UR'" /> - <t t-set="icon_id" t-value="'icon-book'" /> - </t> + <xpath expr="//nav/t[@id='coop']" position="after"> + <t t-set="ur_id" t-value="request.env.user.partner_id.ur_id" /> + <t t-if="ur_id and request.env['scop.portal.blog.category'].get_portal_blog_categories(ur_id)"> + <t id="home" t-call="scopext_portal.nav_lvl1_item"> + <t t-set="link" t-value="'/ur'" /> + <t t-set="name" t-value="'ur'" /> + <t t-set="display_name" t-value="'Extranet UR'" /> + <t t-set="icon_id" t-value="'icon-book'" /> </t> + </t> </xpath> </template> </odoo>