Skip to content

Commit c2f889b

Browse files
[IMP] estate: Server101 WIP Chapter 11
1 parent 5275915 commit c2f889b

File tree

6 files changed

+41
-7
lines changed

6 files changed

+41
-7
lines changed

estate/models/estate_property.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
class EstateProperty(models.Model):
88
_name = "estate.property"
99
_description = "Property"
10+
_order = "id desc"
11+
1012
_positif_expected_price = models.Constraint("CHECK (expected_price > 0)","A price can't be negatif");
1113
_positif_selling_price = models.Constraint("CHECK (selling_price > 0)","A price can't be negatif");
1214

@@ -77,6 +79,6 @@ def _garden_pre_fill(self):
7779
def _check_prices(self):
7880
for record in self:
7981
if float_is_zero(record.selling_price,2):
80-
return;
82+
continue;
8183
if(float_compare(record.selling_price,record.expected_price*.8,2) == -1):
8284
raise ValidationError(f"Selling price is too low {record.selling_price}");

estate/models/estate_property_offer.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@
66
class EstatePropertyOffer(models.Model):
77
_name = "estate.property.offer"
88
_description = "Property Offer"
9-
_postif_price = models.Constraint("CHECK (price > 0)", "A price can't be negatif");
9+
_order = "price desc"
10+
11+
_postif_price = models.Constraint("CHECK (price > 0)", "A price can't be negatif")
12+
1013
price = fields.Float(string="Price")
1114
status = fields.Selection(copy=False,selection = [("Accepted","Accepted"),("Refused","Refused")])
1215
partner_id = fields.Many2one('res.partner',required=True)

estate/models/estate_property_tag.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,8 @@
44
class EstatePropertyTag(models.Model):
55
_name = "estate.property.tag"
66
_description = "Property Tag"
7+
_order = "name asc"
8+
79
_unique_tag = models.UniqueIndex("(name)","Tag name must be unique in database")
8-
name = fields.Char(required=True, unique=True)
10+
11+
name = fields.Char(required=True)

estate/models/estate_property_type.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,12 @@
44
class EstatePropertyType(models.Model):
55
_name = "estate.property.type"
66
_description = "Property Type"
7+
_order = "sequence, name asc"
8+
9+
_unique_type = models.UniqueIndex("(name)","Property type name must be unique in database")
10+
711
name = fields.Char(required=True)
8-
_unique_type = models.UniqueIndex("(name)","Property type name must be unique in database")
12+
property_ids = fields.One2many("estate.property","property_type_id")
13+
sequence = fields.Integer('Sequence',default=1,help="use to order the list inside the type view")
14+
15+

estate/views/estate_property_type_views.xml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,34 @@
1111
<field name ="name">estate.property.type.form</field>
1212
<field name="model">estate.property.type</field>
1313
<field name="arch" type="xml">
14-
<form string="Property list">
14+
<form string="Property type Form">
1515
<sheet>
1616
<group>
1717
<h1 class="mb32">
1818
<field name="name"/>
1919
</h1>
2020
</group>
21+
<field name="property_ids">
22+
<list>
23+
<field name="name"/>
24+
<field name="expected_price"/>
25+
<field name="state"/>
26+
</list>
27+
</field>
2128
</sheet>
2229
</form>
2330
</field>
2431
</record>
2532

33+
<record id="estate_property_type_model_list" model="ir.ui.view">
34+
<field name ="name">estate.property.type.list</field>
35+
<field name="model">estate.property.type</field>
36+
<field name="arch" type="xml">
37+
<list string="Property type list">
38+
<field name="sequence" widget="handle"/>
39+
<field name="name"/>
40+
</list>
41+
</field>
42+
</record>
43+
2644
</odoo>

estate/views/estate_property_views.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
<header>
3030
<button name="sell_property" type="object" string="Sell"/>
3131
<button name="cancel_property" type="object" string="Cancel"/>
32+
<field name="state" widget="statusbar" statusbar_visible="New,Offer_Received,Offer_Accepted,Sold,Cancelled"/>
3233
</header>
3334
<sheet>
3435
<group>
@@ -38,11 +39,11 @@
3839
</group>
3940
<group>
4041
<field name="tag_ids" widget="many2many_tags"/>
41-
<field name="state"/>
42+
4243
</group>
4344
<group>
4445
<group>
45-
<field name="property_type_id"/>
46+
<field name="property_type_id" options="{'no_create_edit': true}"/>
4647
<field name="postcode"/>
4748
<field name="date_availability"/>
4849
</group>

0 commit comments

Comments
 (0)