-
Notifications
You must be signed in to change notification settings - Fork 2.8k
[ADD] estate: Initialize estate module with models, security, … #544
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 18.0
Are you sure you want to change the base?
Conversation
Initialize the *Estate* module, setting up its foundational structure with models, security rules, and views. - **Core Initialization:** - `__init__.py` to define module imports. - `__manifest__.py` to configure module metadata. - **Models:** - `models/__init__.py` to load model files. - `models/estate_property.py` define the real estate property model. - **Security:** - `security/ir.model.access.csv` to manage user access rights for estate properties. - **Views:** - `views/estate_menus.xml` configure menu structures. - `views/estate_property_views.xml` define property management views. This update establishes the groundwork for managing real estate properties efficiently within the system. 1. Added list view and form view . 2. Implemented search functionalities and created filter with specific name
fe015e6 to
06a8605
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello @abpa-odoo
Some comments, mostly related to code formatting.
Ans also update the Pr message.
Thanks!!
4dabe08 to
f9fd187
Compare
…isibility Created `estate.property.tag` model for property tags - Added Many2many relation with `estate.property` - Included in the form view with widget `many2many_tags` - Created `estate.property.type` model for property classification - Linked `property_type_id` to `estate.property` - Added necessary fields and views - Created `estate.property.offer` model to handle property offers - Implemented relationship with `estate.property` - Added computed field `validity_date` with inverse logic - Integrated offer listing in the property form view - Added computed fields in `estate.property` - `total_area`: Sum of `living_area` and `garden_area` - `best_price`: Maximum offer price from `estate.property.offer` - Fixed `partner_id` issue in `estate.property.offer` - Resolved database integrity issue preventing `NOT NULL` constraint - Updated model definition with `required=True` for `partner_id` These updates improve the property module by adding tagging, property types, and an offer system while ensuring proper computed field calculations and database integrity.
f9fd187 to
9916599
Compare
adsh-odoo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello @abpa-odoo
Some comments/questions
Thanks!!
…ancements
Created `estate.property.tag` model for property tags
- Added Many2many relation with `estate.property`
- Included in the form view with widget `Many2many_tags`
- Implemented onchange methods for business logic triggers
- Linked actions to buttons for better UX (e.g., accept/refuse
offer, mark sold/cancel)
- Enforced constraints to prevent invalid data (e.g., negative prices)
- Set default ordering for models:
- `estate.property`: Descending ID
- `estate.property.offer`: Descending Price
- `estate.property.tag`: Name
- `estate.property.type`: Name
- Added manual ordering for `estate.property.type` using a sequence field
- Improved UI by conditionally displaying buttons and adding styling
…stat button - Added widget options to prevent creation/edit of property types in form views. - Introduced color field for estate.property.tag to enable tag colorization. - Implemented conditional visibility for buttons based on property state. - Made garden-related fields invisible when no garden is present. - Restricted offer creation if state is 'Offer Accepted', 'Sold', or 'Cancelled' - Enabled inline editing for property.offer and property.tag list views. - Made date_availability field optional and hidden by default in list views. - Applied color decorations to list views for better visual differentiation. - Set 'Available' filter as default in estate.property search view. - Updated living area filter to include properties with equal or greater area. - Added stat button on property type form to list related offers. - Defined related fields to link offers with property types , and compute offer counts. These enhancements improve the user experience by streamlining data entry, enhancing UI clarity, and refining search/filtering capabilities.
adsh-odoo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello @abpa-odoo
Some comments.
Thanks!
…e module - Prevent deletion of properties unless their state is 'New' or 'Cancelled'. - Update property state to 'Offer Received' when an offer is created. - Enforce validation to prevent offers lower than existing ones. - Extend `res.users` model to include `property_ids` (One2many). - Modify user form view to display associated properties. - Created `estate_account` module to integrate invoicing with estate module. - Override `action_sold` method to generate customer invoices. - Generate invoices automatically when a property is sold - Add invoice lines for 6% selling price commission and €100 admin fee.
58e7f58 to
9fc0aee
Compare
- Created a minimal Kanban view for properties displaying the name field. - Extended the view to include expected price, best price (if offer received), selling price (if accepted), and tags. - Implemented conditional rendering based on property state. - Configured default grouping by property type and disabled drag & drop.
adsh-odoo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello @abpa-odoo
Some comments, also not able to install module on runbot.
Can you please have a look?
Thanks!!
2923217 to
9fb9297
Compare
- Added standard demo property types: Residential, Commercial, Industrial, and Land - Created demo properties: Big Villa and Trailer Home with detailed attributes - Added demo offers linked to properties using existing partners - Accepted one demo offer while rejecting others via function execution - Created a new property with offers directly using One2many field commands
9fb9297 to
da122a2
Compare
- Rearrange the data files in manifest file
adsh-odoo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello @abpa-odoo
Some comments/questions.
Cheers!!
…ions - Created security.xml with two new groups Agent and Manager - Updated __manifest__.py, category to 'Real Estate/Brokerage' - Configured access rights:1.Full CRUD for managers 2. Restricted Agents to cannot delete properties. - Added a record rule restricting agents to only view/modify properties with no salesperson or assigned to them. - Modified estate_account to bypass security (use sudo) during invoice creation - Introduced multi-company support by adding a required company_id field . - Adjusted UI visibility: property types and tags menus are hidden from agents, and the Settings menu is only visible to managers
- used mixins and classes for messaging, activity tracking, and Chatter integration in the form view to track the activity . - Implement web controllers with route decorators for properties menu. - Create a properties menu at website menu, featuring grid layout, image support, and pagination with max view with 6 property only . - add PDF reports with sub-templates, conditional logic for offers, and inherited invoice details when property is sold .
008421e to
79c237f
Compare
79c237f to
d8e2e5c
Compare
- Introduce an 'Add Offer' wizard in the estate property list view to allow selecting multiple properties and making bulk offers. - Add a button in the tree view header to trigger the wizard. - Implement wizard fields: price, offer status, and buyer selection. - Enforce business rules: - Prevent creating offers for sold properties. - Restrict selling properties without accepted offers. - Ensure properties marked as sold are correctly updated. - resets of Garden Area & Orientation when unchecking the Garden checkbox. - Split tests into multiple files for better readability and maintainability.
d8e2e5c to
2642b88
Compare
…ercises - Implement a `Counter` component with state management and event handling. - Extract `Counter` logic into a reusable sub-component . - Create a `Card` component with props and Bootstrap styling. - Enable dynamic HTML rendering in `Card` using `t-out` and `markup` for safe content display. - Implement a sum counter using callback props for communication between `Counter` and `Playground`. - Develop a TodoList and TodoItem component with state management .
…d slots - Add dynamic attributes to visually indicate completed todos. - Implement todo addition feature with input field and event handling. - Use useRef and onMounted to auto-focus input on component mount. - Enable toggling todo completion state using a callback prop. - Implement todo deletion with a remove callback prop. - Refactor Card`component to use slots for flexible content rendering. - Add a collapsible feature to Card, allowing toggling of content visibility
…tatistics - Implement new dashboard layout using the Layout component with custom styling. - Add quick navigation buttons (Customers & Leads) via the action service. - Create a generic DashboardItem component with configurable sizing. - Integrate RPC calls for fetching business statistics and cache them using a custom statistics service. - Display a pie chart with lazy-loaded Chart.js to show t-shirt sales . - Enhance the statistics service to update data reactively every 10 min.
ce8bb69 to
fb19c4f
Compare
adsh-odoo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello @abpa-odoo
Some comments/questions
Please update Pr message with brief introduction.
Side note: in commit message header no need to start with capital letter. Need to fix some commit messages also.
Cheers!!!
…tomization - Lazy load dashboard assets using LazyComponent and a dedicated assets bundle. - Refactor dashboard to iterate over dynamic items with configurable size, dynamic components, and dynamic props. - Register dashboard items via a registry for extensibility . - Add a settings dialog for adding/removing dashboard items with configuration with in local storage. - Introduce further improvements for translation and responsive design.
fb19c4f to
09d005b
Compare
…t customer. - Override the default name search method for product selection. - Retrieve and sort products by most recent invoice date for selected customer. - Display these recently invoiced products at the top of the product dropdown.
0304161 to
4b74272
Compare
…endor. - Override default name search method for product selection in product.product. - Retrieve and sort products by most recent invoice date for selected vendor. - Display these recently billed products at the top of the product dropdown . - in product kanban catalog view add the last invoice time . - add the forecasted qty - on hand qty next to on hand qty with red (-) or green (+)
4b74272 to
cad14ff
Compare

…and views