Skip to content

Conversation

@abpa-odoo
Copy link

…and views

@robodoo
Copy link

robodoo commented Mar 5, 2025

Pull request status dashboard

@abpa-odoo abpa-odoo changed the title [200~[ADD] estate: Initialize estate module with models, security, … [ADD] estate: Initialize estate module with models, security, … Mar 5, 2025
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
@abpa-odoo abpa-odoo force-pushed the 18.0-training-abpa branch from fe015e6 to 06a8605 Compare March 5, 2025 13:25
Copy link

@adsh-odoo adsh-odoo left a 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!!

@abpa-odoo abpa-odoo force-pushed the 18.0-training-abpa branch from 4dabe08 to f9fd187 Compare March 7, 2025 05:33
…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.
@abpa-odoo abpa-odoo force-pushed the 18.0-training-abpa branch from f9fd187 to 9916599 Compare March 7, 2025 05:37
Copy link

@adsh-odoo adsh-odoo left a 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!!

abpa-odoo added 2 commits March 7, 2025 18:52
…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.
Copy link

@adsh-odoo adsh-odoo left a 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.
@abpa-odoo abpa-odoo force-pushed the 18.0-training-abpa branch from 58e7f58 to 9fc0aee Compare March 11, 2025 18:22
- 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.
Copy link

@adsh-odoo adsh-odoo left a 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!!

@abpa-odoo abpa-odoo force-pushed the 18.0-training-abpa branch 6 times, most recently from 2923217 to 9fb9297 Compare March 17, 2025 09:28
- 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
@abpa-odoo abpa-odoo force-pushed the 18.0-training-abpa branch from 9fb9297 to da122a2 Compare March 17, 2025 09:33
- Rearrange the data files in manifest file
Copy link

@adsh-odoo adsh-odoo left a 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!!

abpa-odoo added 2 commits March 18, 2025 18:44
…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 .
@abpa-odoo abpa-odoo force-pushed the 18.0-training-abpa branch from 008421e to 79c237f Compare March 21, 2025 13:28
@abpa-odoo abpa-odoo force-pushed the 18.0-training-abpa branch from 79c237f to d8e2e5c Compare March 21, 2025 13:32
- 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.
@abpa-odoo abpa-odoo force-pushed the 18.0-training-abpa branch from d8e2e5c to 2642b88 Compare March 21, 2025 17:55
abpa-odoo added 3 commits March 25, 2025 10:09
…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.
@abpa-odoo abpa-odoo force-pushed the 18.0-training-abpa branch from ce8bb69 to fb19c4f Compare March 31, 2025 04:35
Copy link

@adsh-odoo adsh-odoo left a 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.
@abpa-odoo abpa-odoo force-pushed the 18.0-training-abpa branch from fb19c4f to 09d005b Compare April 2, 2025 08:40
…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.
@abpa-odoo abpa-odoo force-pushed the 18.0-training-abpa branch 2 times, most recently from 0304161 to 4b74272 Compare April 23, 2025 07:17
…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 (+)
@abpa-odoo abpa-odoo force-pushed the 18.0-training-abpa branch from 4b74272 to cad14ff Compare April 23, 2025 08:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants