Skip to content

Commit 546ed78

Browse files
committed
[IMP] estate: Set garden_area and garden_orientation in Settings
1 parent 2faaaee commit 546ed78

File tree

7 files changed

+57
-7
lines changed

7 files changed

+57
-7
lines changed

estate/__manifest__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@
55
],
66
'data': [
77
'security/ir.model.access.csv',
8-
8+
'data/ir_config_parameter_data.xml',
99
'views/estate_property_views.xml',
1010
'views/estate_property_offer_views.xml',
1111
'views/estate_property_type_views.xml',
1212
'views/estate_property_tag_views.xml',
1313
'views/estate_res_user_views.xml',
1414
'views/estate_menu_views.xml',
15+
'views/res_config_settings_views.xml'
1516
],
1617
'application': True,
1718
'author': 'Odoo S.A.',
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<odoo>
2+
<data noupdate="1">
3+
<record id="ir_config_parameter_estate_garden_area" model="ir.config_parameter" forcecreate="False">
4+
<field name="key">estate.default_garden_area</field>
5+
<field name="value">10</field>
6+
</record>
7+
<record id="ir_config_parameter_estate_garden_orientation" model="ir.config_parameter" forcecreate="False">
8+
<field name="key">estate.default_garden_orientation</field>
9+
<field name="value">north</field>
10+
</record>
11+
</data>
12+
</odoo>

estate/models/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
from . import estate_property_tag
44
from . import estate_property_offer
55
from . import res_user
6+
from . import res_config_settings

estate/models/estate_property.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22
from odoo.exceptions import UserError, ValidationError
33
from odoo.tools import float_compare
44

5-
DEFAULT_GARDEN_AREA = 10
6-
DEFAULT_GARDEN_ORIENTATION = "north"
7-
85

96
class PropertyModel(models.Model):
107
_name = "estate.property"
@@ -71,8 +68,8 @@ def _compute_highest_price(self):
7168
@api.onchange("garden")
7269
def _update_garden_area_and_orientation(self):
7370
if self.garden:
74-
self.garden_area = DEFAULT_GARDEN_AREA
75-
self.garden_orientation = DEFAULT_GARDEN_ORIENTATION
71+
self.garden_area = self.env["ir.config_parameter"].get_param("estate.default_garden_area")
72+
self.garden_orientation = self.env["ir.config_parameter"].get_param("estate.default_garden_orientation")
7673
else:
7774
self.garden_area = 0
7875
self.garden_orientation = None
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
from odoo import fields, models
2+
3+
class ResConfigSettings(models.TransientModel):
4+
_inherit = "res.config.settings"
5+
6+
garden_area = fields.Integer(default=10, config_parameter="estate.default_garden_area")
7+
garden_orientation = fields.Selection(
8+
selection=[('north', 'North'), ('south', 'South'), ('east', 'East'), ('west', 'West')],
9+
config_parameter="estate.default_garden_orientation"
10+
)

estate/views/estate_menu_views.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
<menuitem id="estate_advertisements_menu" name="Advertisements">
44
<menuitem id="estate_model_menu_action" action="estate_property_action"/>
55
</menuitem>
6-
<menuitem id="estate_settings_menu" name="Settings">
6+
<menuitem id="estate_settings_menu" name="Configuration">
7+
<menuitem id="estate_propery_configuration_menu" action="estate_config_settings_action" sequence="1"/>
78
<menuitem id="estate_property_types_menu" action="estate_property_type_action"/>
89
<menuitem id="estate_property_tags_menu" action="estate_property_tag_action"/>
910
</menuitem>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<odoo>
2+
<record id="estate_config_settings_action" model="ir.actions.act_window">
3+
<field name="name">Settings</field>
4+
<field name="res_model">res.config.settings</field>
5+
<field name="view_mode">form</field>
6+
</record>
7+
8+
<record id="res_config_settings_view_form" model="ir.ui.view">
9+
<field name="name">res.config.settings.view.form.inherit.estate</field>
10+
<field name="model">res.config.settings</field>
11+
<field name="inherit_id" ref="base.res_config_settings_view_form"/>
12+
<field name="arch" type="xml">
13+
<xpath expr="//form" position="inside">
14+
<app data-string="Estate" string="Estate" name="estate">
15+
<block title="Estate">
16+
<setting help="Define the default value for a property's garden area.">
17+
<field name="garden_area" string="Default Garden Area"/>
18+
<span>sqm</span>
19+
</setting>
20+
<setting help="Define the default value for a property's garden orientation.">
21+
<field name="garden_orientation" string="Default Garden Orientation"/>
22+
</setting>
23+
</block>
24+
</app>
25+
</xpath>
26+
</field>
27+
</record>
28+
</odoo>

0 commit comments

Comments
 (0)