diff --git a/models/res_partner_release.py b/models/res_partner_release.py index b32e56253602f8b711941896c581df154fb58167..1240407eaf0706a63dbd07d91a979b4c13f062ec 100644 --- a/models/res_partner_release.py +++ b/models/res_partner_release.py @@ -49,6 +49,7 @@ class PartnerRelease(models.Model): string="Lien de partage client", compute="_compute_release_share_link", ) + release_number = fields.Integer(compute="_compute_release_number") # ------------------------------------------------------ # SQL Constraints @@ -91,6 +92,13 @@ class PartnerRelease(models.Model): else: release.release_share_link = "" + def _compute_release_number(self): + for release in self: + release_ids = self.search( + [("partner_id", "=", release.partner_id.id)], order="release_date" + ) + release.release_number = release_ids.ids.index(release.id) + 1 + # ------------------------------------------------------ # Onchange / Constraints # ------------------------------------------------------ diff --git a/models/res_partner_release_module.py b/models/res_partner_release_module.py index 965a833d6643ebe63e9ab4b1e78010af19a1f3ef..7d1585e2c785ff70d4279b86e56a638dcb60c1f7 100644 --- a/models/res_partner_release_module.py +++ b/models/res_partner_release_module.py @@ -1,6 +1,7 @@ # Copyright 2022 Le Filament (https://le-filament.com) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + from odoo import fields, models @@ -58,11 +59,6 @@ class PartnerReleaseModule(models.Model): # ------------------------------------------------------ # Onchange / Constraints # ------------------------------------------------------ - # @api.onchange("release_id") - # def _onchange_release_id(self): - # return { - # "domain": [(modu)] - # } # ------------------------------------------------------ # CRUD methods (ORM overrides) diff --git a/static/src/css/portal.css b/static/src/css/portal.css index 309dd6bc04819e0a493ef9130e8ae66fbf4e4cbe..7df4dea21be7c2f4a0d30af006f04c2cb82b0b86 100644 --- a/static/src/css/portal.css +++ b/static/src/css/portal.css @@ -37,12 +37,10 @@ Raleway Lato Open Sans font-size: 0.9rem; } .lefilament-release .list-group { - font-size: 0.9rem; + font-size: 0.7rem; } .lefilament-release .card-header { - font-size: 0.9rem; - border-top-right-radius: 10px; - border-top-left-radius: 10px; + font-size: 0.8rem; } .lefilament-release .table i.fa { font-size: 0.8rem; @@ -55,8 +53,6 @@ Raleway Lato Open Sans } .lefilament-release .list-group-item:last-child { margin-bottom: 10px; - border-bottom-right-radius: 10px; - border-bottom-left-radius: 10px; } .release-detail { background-color: #fff; diff --git a/templates/partner_release_detail.xml b/templates/partner_release_detail.xml index 420015ec779dcba8c20ade83081bf6435242a138..3f4727266b09de396c7af95d44f7d0d456e995dc 100644 --- a/templates/partner_release_detail.xml +++ b/templates/partner_release_detail.xml @@ -4,102 +4,87 @@ <odoo> <!-- Template Order sans Détail de la commande --> <template id="partner_release_detail_template" name="Detail release"> - <t t-call="portal.portal_layout"> - <t t-set="breadcrumbs_searchbar" t-value="False" /> - <t t-set="no_breadcrumbs" t-value="True" /> - <div class="release-header"> - <!-- Titre + retour Accueil --> - <div class="row"> - <div class="col-12 mt16"> - <t t-if="release.partner_id.release_share_link"> - <a t-att-href="release.partner_id.release_share_link"><i - class="fa fa-chevron-circle-left" - /> Retour à la liste</a> - </t> - </div> - <div class="col-12 mt16"> - <h1 class="card-title tc1"> - <t t-esc="release.name" /> - </h1> - </div> - </div> - </div> - <div class="release-detail"> - <!-- Header release --> - <div class="row"> - <!-- Client --> - <div class="col-3 text-center align-self-center"> - Client : <br /> - <strong><span t-field="release.partner_id.name" /></strong> - </div> - <!-- Day --> - <div class="col-3 text-center align-self-center"> - <span - t-field="release.release_date" - t-options="{'widget': 'date', 'format': 'dd'}" - /><br /> - <span - t-field="release.release_date" - t-options="{'widget': 'date', 'format': 'MMMM'}" - class="big-number" - /><br /> - <span - t-field="release.release_date" - t-options="{'widget': 'date', 'format': 'YYYY'}" - /> - </div> - <!-- Hours --> - <div class="col-3 text-center align-self-center"> - <span - t-field="release.release_date" - class="big-number" - t-options="{'widget': 'datetime', 'format': 'HH:mm'}" - /> - </div> - <!-- Utilisateur --> - <div class="col-3 align-self-center text-center"> - Responsable : <br /> - <span t-field="release.user_id.name" /> - </div> - </div> - <hr /> - <div class="row"> - <div class="col-12"> - <t t-if="release.description"> - <h4 class="tc1 mt32">Description</h4> - <p class="mb64"> + <t t-call="web.frontend_layout"> + <div class="container" style="max-width: 800px;"> + <div class="release-header"> + <!-- Titre + retour Accueil --> + <div class="row"> + <div class="col-12 mt16"> + <t t-if="release.partner_id.release_share_link"> + <a t-att-href="release.partner_id.release_share_link"><i + class="fa fa-chevron-circle-left" + /> Retour à la liste</a> + </t> + </div> + <div class="col-12 mt32"> + <h1> + <span + t-field="release.partner_id.name" + /> - Release #<span t-field="release.release_number" /> + </h1> + </div> + <!-- Description --> + <div class="col-12 mt32"> + <h2>Détail</h2> + <table class="table table-sm table-hover mt32"> + <tr> + <th>Date</th> + <td><span + t-field="release.release_date" + t-options="{'widget': 'date', 'format': 'dd/MM/YYYY'}" + /></td> + </tr> + <tr> + <th>Heure</th> + <td><span + t-field="release.release_date" + t-options="{'widget': 'datetime', 'format': 'HH:mm'}" + /></td> + </tr> + <tr> + <th>Responsable</th> + <td><span t-field="release.user_id.name" /></td> + </tr> + </table> + </div> + + <!-- Description --> + <div class="col-12 mt32" t-if="release.description"> + <h2>Description</h2> + <p class="mt16"> <span t-field="release.description" /> </p> - </t> - <t t-if="release.release_module_ids"> - <h4 class="tc1">Modules mis à jour</h4> - <table class="table table-hover"> - <thead class=""> - <tr> - <th>Type</th> - <th>Module</th> - <th>Détail</th> - </tr> - </thead> - <tbody> - <tr + </div> + + <!-- Modules mis à jour --> + <div class="col-12 mt32 mb64"> + <h2>Modules mis à jour</h2> + <table class="table table-hover mt32"> + <thead> + <tr> + <th>Module</th> + <th>Type</th> + <th>Détail</th> + </tr> + </thead> + <tbody> + <tr t-foreach="release.release_module_ids.sorted(key=lambda r: r.release_type)" t-as="module" > - <td><span - t-field="module.release_type" - t-att-class="'badge badge-pill badge-warning' if module.release_type == 'fix' else 'badge badge-pill badge-info'" - /></td> - <td> - <strong><span + <td> + <strong><span t-field="module.module_id.name" /></strong> - </td> - <td><span t-field="module.log" /></td> - </tr> - </tbody> - </table> - </t> + </td> + <td><span + t-field="module.release_type" + /></td> + <td><span t-field="module.log" /></td> + </tr> + </tbody> + </table> + </div> </div> </div> </div> diff --git a/templates/partner_release_list.xml b/templates/partner_release_list.xml index b679a18db0fcadabde9436474d7fcef20f059bf6..2e073b0eec8f5eaf76a4d78eb1b3254101cb19a8 100644 --- a/templates/partner_release_list.xml +++ b/templates/partner_release_list.xml @@ -1,14 +1,12 @@ <?xml version="1.0" encoding="utf-8" ?> <odoo> <template id="partner_release_list_portal_template" name="Mes Releases"> - <t t-call="portal.portal_layout"> - <t t-set="breadcrumbs_searchbar" t-value="False" /> - <t t-set="no_breadcrumbs" t-value="True" /> - <div class="lefilament-release"> + <t t-call="portal.frontend_layout"> + <div class="container lefilament-release" style="max-width: 800px;"> <div class="row"> <div class="col-12 mt16"> - <h1 class="card-title tc1 mt16 mb32"> - <t t-esc="company" /> - Liste de mises à jour + <h1 class="mt16 mb32"> + <t t-esc="company" /> - Liste des releases </h1> <t t-call="lefilament_release.release_list_template" /> </div> @@ -19,42 +17,39 @@ <template id="release_list_template"> <t t-if="release_ids"> - <ul class="list-group"> - <div class="list-group-item card-header bc3 d-flex"> - <div class="col-1 font-weight-bold">Date</div> - <div class="col-1 font-weight-bold">Heure</div> - <div class="col-2 font-weight-bold">Utilisateur</div> - <div class="col-4 font-weight-bold">Commentaire</div> - <div class="col-4 font-weight-bold">Modules</div> + <ul class="list-group list-group-flush"> + <div + class="list-group-item card-header list-group-item-secondary d-flex" + > + <div class="col-1 font-weight-bold">N°</div> + <div class="col-2 font-weight-bold">Date</div> + <div class="col-2 font-weight-bold">Heure</div> + <div class="col-3 font-weight-bold">Utilisateur</div> + <div class="col-4 font-weight-bold">Description</div> </div> <t t-foreach="release_ids" t-as="release"> <a t-att-href="release.release_share_link" class="list-group-item list-group-item-action d-flex" > - <div class="col-1"><span + <div class="col-1">#<span + t-field="release.release_number" + /></div> + <div class="col-2"><span t-field="release.release_date" t-options="{'widget': 'date', 'format': 'dd/MM/YYYY'}" /></div> - <div class="col-1"><span + <div class="col-2"><span t-field="release.release_date" t-options="{'widget': 'datetime', 'format': 'HH:mm'}" /></div> - <div class="col-2"><span + <div class="col-3"><span t-field="release.user_id.name" /></div> <div class="col-4" style="text-overflow: ellipsis; white-space: nowrap; overflow: hidden;" ><t t-esc="release.description" /></div> - <div class="col-4"> - <t t-foreach="release.release_module_ids" t-as="module"> - <span - class="'badge badge-pill badge-light" - t-field="module.module_id.name" - /> - </t> - </div> </a> </t> </ul>