File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11# Copyright 2026 Dixmit
22# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
33
4- from odoo import fields , models
4+ from odoo import api , fields , models
55
66
77class VcpRequest (models .Model ):
@@ -41,6 +41,13 @@ class VcpRequest(models.Model):
4141 related = "organization_id.partner_id" ,
4242 string = "Organization Partner" ,
4343 )
44+ review_ids = fields .One2many (
45+ comodel_name = "vcp.review" ,
46+ string = "Reviews" ,
47+ readonly = True ,
48+ inverse_name = "request_id" ,
49+ )
50+ review_count = fields .Integer (compute = "_compute_review_count" , store = True )
4451 url = fields .Char (readonly = True )
4552 state = fields .Char (readonly = True )
4653 is_merged = fields .Boolean (readonly = True )
@@ -62,3 +69,8 @@ class VcpRequest(models.Model):
6269 _sql_constraints = [
6370 ("external_id_uniq" , "unique(external_id)" , "External ID must be unique." )
6471 ]
72+
73+ @api .depends ("review_ids" )
74+ def _compute_review_count (self ):
75+ for record in self :
76+ record .review_count = len (record .review_ids )
Original file line number Diff line number Diff line change @@ -29,6 +29,8 @@ class VcpReview(models.Model):
2929 request_id = fields .Many2one (
3030 "vcp.request" ,
3131 readonly = True ,
32+ required = True ,
33+ ondelete = "cascade" ,
3234 )
3335 organization_id = fields .Many2one (
3436 related = "request_id.organization_id" ,
Original file line number Diff line number Diff line change 22<!-- Copyright 2026 Dixmit
33 License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
44<odoo >
5+ <record model =" ir.actions.act_window" id =" vcp_request_2_review_act_window" >
6+ <field name =" name" >Reviews</field >
7+ <field name =" res_model" >vcp.review</field >
8+ <field name =" view_mode" >list,form</field >
9+ <field name =" domain" >[("request_id", "=", active_id)]</field >
10+ </record >
11+
512 <record model =" ir.ui.view" id =" vcp_request_form_view" >
613 <field name =" model" >vcp.request</field >
714 <field name =" arch" type =" xml" >
815 <form >
916 <header />
1017 <sheet >
18+ <div name =" button_box" class =" oe_button_box" >
19+ <button
20+ class =" oe_stat_button"
21+ icon =" fa-eye"
22+ type =" action"
23+ name =" %(vcp_request_2_review_act_window)d"
24+ >
25+ <field
26+ name =" review_count"
27+ string =" Reviews"
28+ widget =" statinfo"
29+ />
30+ </button >
31+ </div >
1132 <widget
1233 name =" web_ribbon"
1334 title =" Merged"
6182 <field name =" number" />
6283 <field name =" name" />
6384 <field name =" url" widget =" url" />
85+ <field name =" review_count" optional =" hide" />
6486 </list >
6587 </field >
6688 </record >
You can’t perform that action at this time.
0 commit comments