mirror of
https://github.com/SARL-PACIFIC-ERP/odoo-sh-test.git
synced 2025-06-25 09:32:22 +00:00
Merge pull request #5 from SARL-PACIFIC-ERP/staging
End of Server 101 tuto
This commit is contained in:
commit
f61a5c1ed6
|
@ -14,7 +14,7 @@
|
|||
'views/estate_property_tag_views.xml',
|
||||
'views/estate_property_views.xml',
|
||||
'views/res_users_views.xml',
|
||||
'views/estate_menus_view.xml',
|
||||
'views/estate_menus.xml',
|
||||
'security/ir.model.access.csv',
|
||||
],
|
||||
'license': 'AGPL-3',
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from odoo import api, fields, models, exceptions
|
||||
from dateutil.relativedelta import relativedelta
|
||||
|
||||
from odoo import api, exceptions, fields, models
|
||||
from odoo.tools import float_utils as floatTool
|
||||
|
||||
class EstateProperty(models.Model):
|
||||
|
@ -18,12 +20,15 @@ class EstateProperty(models.Model):
|
|||
|
||||
# ------------- Fields ------------------------- #
|
||||
|
||||
def _default_date_availability(self):
|
||||
return fields.Date.context_today(self) + relativedelta(months=3)
|
||||
|
||||
name = fields.Char(required=True)
|
||||
description = fields.Text()
|
||||
active = fields.Boolean(default=True)
|
||||
state = fields.Selection(selection=[('new','New'), ('offer_received', 'Offer Received'), ('offer_accepted', 'Offer Accepted'), ('sold', 'Sold'), ('cancelled', 'Cancelled')], required=True, copy=False, default='new')
|
||||
postcode = fields.Char()
|
||||
date_availability = fields.Date(copy=False, default=fields.Date.add(fields.Date.today(), months=3))
|
||||
date_availability = fields.Date(copy=False, default=lambda self: self._default_date_availability())
|
||||
expected_price = fields.Float(required=True)
|
||||
selling_price = fields.Float(readonly=True, copy=False)
|
||||
bedrooms = fields.Integer(default=2)
|
||||
|
@ -41,6 +46,7 @@ class EstateProperty(models.Model):
|
|||
total_area = fields.Integer(compute="_get_total_area", readonly=True)
|
||||
best_price = fields.Float(compute="_compute_best_price")
|
||||
|
||||
|
||||
# ----------------- CRUD methods --------------------------- #
|
||||
|
||||
@api.ondelete(at_uninstall=False)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from odoo import api, fields, models, exceptions
|
||||
from odoo import api, exceptions, fields, models
|
||||
from odoo.tools import float_utils as floatTool
|
||||
|
||||
class EstatePropertyOffer(models.Model):
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from itertools import count
|
||||
from odoo import fields, models, api
|
||||
from odoo import api, fields, models
|
||||
|
||||
class EstatePropertyType(models.Model):
|
||||
|
||||
|
|
10
estate/views/estate_menus.xml
Normal file
10
estate/views/estate_menus.xml
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0"?>
|
||||
<odoo>
|
||||
<menuitem id="estate_menu_root" name="Real Estate" />
|
||||
<menuitem id="estate_property_menu" name="Advertisements" parent="estate_menu_root" />
|
||||
<menuitem id="estate_property_menu_action" action="estate_property_action" parent="estate_property_menu"/>
|
||||
|
||||
<menuitem id="estate_property_menu_settings" name="Settings" parent="estate_menu_root" />
|
||||
<menuitem id="estate_property_type_menu_action" action="estate_property_type_action" name="Property Types" parent="estate_property_menu_settings"/>
|
||||
<menuitem id="estate_property_tag_menu_action" action="estate_property_tag_action" name="Property Tags" parent="estate_property_menu_settings"/>
|
||||
</odoo>
|
|
@ -3,7 +3,7 @@
|
|||
<record id="estate_property_action" model="ir.actions.act_window">
|
||||
<field name="name">Properties</field>
|
||||
<field name="res_model">estate.property</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">tree,form,kanban</field>
|
||||
<field name="context">{'search_default_available': True}</field>
|
||||
</record>
|
||||
|
||||
|
@ -101,4 +101,26 @@
|
|||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="estate_property_view_kanban" model="ir.ui.view">
|
||||
<field name="name">estate.property.kanban</field>
|
||||
<field name="model">estate.property</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban default_group_by="property_type_id" records_draggable="False">
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div class="oe_kanban_global_click">
|
||||
<h3><field name="name"/></h3>
|
||||
<p>
|
||||
Expected price : <field name="expected_price" /><br />
|
||||
<t t-if="record.best_price.raw_value > 0.00">Best offer : <field name="best_price" /><br /></t>
|
||||
<t t-if="record.selling_price.raw_value > 0.00">Accepted offer : <field name="selling_price" /><br /></t>
|
||||
</p>
|
||||
<field name="tag_ids" widget="kanban.many2many_tags" options="{'color_field': 'color'}" />
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="res_users_view_form" model="ir.ui.view">
|
||||
<field name="name">res.users.view.form.inherit.estate</field>
|
||||
<field name="name">res.users.view.form.inherit.estate.properties</field>
|
||||
<field name="model">res.users</field>
|
||||
<field name="inherit_id" ref="base.view_users_form"/>
|
||||
<field name="arch" type="xml">
|
||||
|
|
Loading…
Reference in a new issue