Skip to content
Open
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
404841d
[ADD] estate: init the module
aski97 Aug 17, 2026
d88a5e6
[ADD] estate: init models package and create estate property with bas…
aski97 Aug 17, 2026
6570e15
[ADD] estate: init security giving access rights to base users group
aski97 Aug 17, 2026
16a92c3
[ADD] estate: create menu and actions under the views folder
aski97 Aug 17, 2026
e87b554
[CLN] estate: rename the strings of the estate property fields for a …
aski97 Aug 17, 2026
470a5a7
[IMP] estate: add active and status field to estate property and enha…
aski97 Aug 17, 2026
1aeaf00
[FIX] estate: make date availability not copyable and expected price …
aski97 Aug 17, 2026
2a695bf
[CLN] estate: clean unnecessary single quote in the view file
aski97 Aug 18, 2026
fe65c6e
[ADD] estate: add basic custom views (list, form, search)
aski97 Aug 18, 2026
f69c7ea
[ADD] estate: real estate property type with views and connections to…
aski97 Aug 18, 2026
6760dd3
[ADD] estate: add salesperson and buyer to real estate property.
aski97 Aug 18, 2026
aa68943
[FIX] estate: move the property type id from description page to titl…
aski97 Aug 18, 2026
e998054
[ADD] estate: add property tags model and include it in the property …
aski97 Aug 18, 2026
f8082f9
[ADD] estate: add property offer model and include it in the property…
aski97 Aug 18, 2026
8db5a91
[LINT] estate: add missing end-of-line to files.
aski97 Aug 18, 2026
b8b5eca
[ADD] estate: add total area field (compute) to estate property model…
aski97 Aug 18, 2026
ffd399c
[ADD] estate: add best price field (compute) to estate property model…
aski97 Aug 18, 2026
4040916
[FIX] estate: create property offers form in order to remove property…
aski97 Aug 18, 2026
d0194c0
[ADD] estate: add validity and date deadline fields in the property o…
aski97 Aug 18, 2026
44f9335
[ADD] estate: set default values on garden area and orientation when …
aski97 Aug 18, 2026
1ee002f
[IMP] estate: add cancel and sold buttons in estate property model fo…
aski97 Aug 19, 2026
6592312
[IMP] estate: add accept and refuse buttons in the property offers li…
aski97 Aug 19, 2026
a245293
[FIX] estate: set buyer after accepting a property offer and ensure n…
aski97 Aug 19, 2026
845d23e
[FIX] estate: set property buyer as read-only (it's set through the a…
aski97 Aug 19, 2026
44d5801
[IMP] estate: add application and database constraint levels to field…
aski97 Aug 19, 2026
966bc4c
[LINT] estate: replace self with record inside the loop
aski97 Aug 19, 2026
cd8cbee
[IMP] estate: add inline view in property type in order to show the a…
aski97 Aug 19, 2026
3c4b816
[IMP] estate: add a status bar for the property status in the form view
aski97 Aug 19, 2026
ec66507
[IMP] estate: add ordering rule in models
aski97 Aug 19, 2026
9a349a2
[IMP] estate: add attribute and options to form views for a better UX…
aski97 Aug 19, 2026
3a20c40
[IMP] estate: set decorations and editability to list views
aski97 Aug 19, 2026
d7bacdc
[IMP] estate: add search default for properties list view
aski97 Aug 19, 2026
7ec6b6d
[IMP] estate: add the action connection to offers
aski97 Aug 19, 2026
000a246
[IMP] estate: add domain filter for offers action
aski97 Aug 19, 2026
89adeae
[IMP] estate: add guards when creating an offer and deleting a property
aski97 Aug 20, 2026
2f47002
[IMP] estate: overwrite res users view form in order to add user's pr…
aski97 Aug 20, 2026
2042225
[ADD] estate account: init the new module
aski97 Aug 20, 2026
c9d7d54
[IMP] estate account: create the invoice once the property get sold
aski97 Aug 20, 2026
285812a
[IMP] estate: add the kanban view for the properties
aski97 Aug 20, 2026
c234eff
[IMP] estate: add the not active filter on property search view
aski97 Aug 20, 2026
3a6f55a
[REF] estate: split the estate_property_views in multiple files
aski97 Aug 20, 2026
9e28f16
[LINT] estate: follow the style roles
aski97 Aug 20, 2026
2e5c516
[CLN] estate: remove stale code and optimize business logic
aski97 Aug 20, 2026
9624419
[LINT] estate: fix style
aski97 Aug 21, 2026
dc83b5c
[IMP] estate: add basic tests for estate property model
aski97 Aug 21, 2026
42b6b97
[LINT] estate: fix test style
aski97 Aug 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions estate/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
19 changes: 19 additions & 0 deletions estate/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
'name': 'Real Estate',
'version': '0.1',
'sequence': 100,
'summary': 'Real Estate Advertisement',
'depends': [
'base'
],
'data': [
'views/estate_property_views.xml',
'views/estate_menus.xml',
'security/ir.model.access.csv'

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this normally should come first in this list as security is the most important to be loaded first to apply it to the view while installing the module

],
'installable': True,
'application': True,
'assets': {},
'author': 'Odoo S.A.',
'license': 'LGPL-3',
}
1 change: 1 addition & 0 deletions estate/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import estate_property
36 changes: 36 additions & 0 deletions estate/models/estate_property.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
from dateutil.relativedelta import relativedelta
from odoo import models, fields


class EstateProperty(models.Model):
_name = 'estate.property'
_description = 'Estate Property'

name = fields.Char('Title', required=True, translate=True)
description = fields.Text('Description', translate=True)
postcode = fields.Char('Postcode')
date_availability = fields.Date(
string='Available From',
default=lambda _: fields.Date.today() + relativedelta(months=3),
copy=False
)
expected_price = fields.Float('Expected price', required=True)
selling_price = fields.Float('Selling price', readonly=True, copy=False)
bedrooms = fields.Integer('Bedrooms', default=2)
living_area = fields.Integer('Living area (sqm)')
facades = fields.Integer('Facades')
garage = fields.Boolean('Garage', default=False)
garden = fields.Boolean('Garden', default=False)
garden_area = fields.Integer('Garden area (sqm)')
garden_orientation = fields.Selection(
string='Garden orientation',
selection=[('north', 'North'), ('south', 'South'), ('east', 'East'), ('west', 'West')],
help='Garden orientation is important for determining how much sunlight and warmth the outdoor space receives'
)
active = fields.Boolean('Active', default=False)
status = fields.Selection(
string='Status',
selection=[('new', 'New'), ('offer_received', 'Offer Received'), ('offer_accepted', 'Offer Accepted'), ('sold', 'Sold'), ('cancelled', 'Cancelled')],
default='new',
required=True,
)
2 changes: 2 additions & 0 deletions estate/security/ir.model.access.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_estate_property,estate.property access,model_estate_property,base.group_user,1,1,1,1
8 changes: 8 additions & 0 deletions estate/views/estate_menus.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<menuitem id="estate_menu_root" name="Real Estate">
<menuitem id="estate_menu_advertisements" name="Advertisements">
<menuitem id="estate_menu_properties_action" action="estate_properties_action"/>
</menuitem>
</menuitem>
</odoo>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you already noticed and you changed it yourself multiple times. We have to add an empty line always in the end of each file

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I always forget it, I'll fix it asap!

10 changes: 10 additions & 0 deletions estate/views/estate_property_views.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="estate_properties_action" model="ir.actions.act_window">
<field name="name">Properties</field>
<field name="res_model">estate.property</field>
<field name="view_mode">list,form</field>
</record>
</data>
</odoo>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same ☝️