Skip to content
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

[ADD] estate: initial setup of models, fields, views, and constraints #117

Closed
wants to merge 23 commits into from

Conversation

pkgu-odoo
Copy link

@pkgu-odoo pkgu-odoo commented Aug 14, 2024

Set up module configuration and initialization.

  • Implemented the main model with fields.
  • Managed access controls for the estate_property model.
  • Implemented custom list, form, and search views.
  • Implemented property_type and property_tag, and defined relations.
  • Implemented and computed new fields like total_area and best_price.
  • Implemented buttons for actions like Cancel, Sold, Accept, and Refuse.
  • Customized views and Implemented constraints based on state.
  • Implemented computed fields and statistical buttons for offers.
  • Implemented inheritance for extending and customizing functionality.

Purpose of this commit:
1. Create manifest and init file.
2. Added a new model estate_property and added fields.
3. Viewed created fields of model in database.
4. created security file and added estate_property access rights.
After this commit:
-created model security/ir.model.access.csv for access rights
-give the access right to the estate property
- Implemented actions and menus for estate_property model
- Created custom list, form, and search views
- Defined default attributes and field behaviors
After this commit:
-Go through the different relations between the models
-Added property type and property tag model
-Implemented different relations through the different models
After this commit:
- Add total_area field  defined sum of living_area and garden_area
- Add best_price field to estate.property,
 -Add validity and computed date_deadline fields to estate.property.offer,
-Display the validity and date_deadline fields in the form and list views.
-Create an "onchange" method to set garden_area to 10 and orientation to 'North'
…model

-Add 'Cancel' and 'Sold' buttons.
-Add 'Accept' and 'Refuse' buttons.
-When offer is accepted, set the property's buyer and selling price accordingly.
-Ensure only one offer can be accepted per property
…straints

-Add One2many Field: Add property_ids to estate.property.type
-Update property_type_id to prevent creation/editing in the property form view.
-Add Field: Add an Integer field Color to estate.property.tag.
-Use invisible attribute for conditional header buttons based on state.
-Add : Add offer_ids to estate.property.type as the inverse of property_id.
-Add offer_count: Add a computed offer_count field to estate.property.type
-Create stat button on estate.property.type pointing to estate.property.offer
-Add domain to estate.property.offer action to filter offers by property_type_id
@shag-odoo
Copy link

@pkgu-odoo Could you please update your PR title as your module name is incorrect
and in PR description could you replace added with implemented.

Thanks 😇

@pkgu-odoo pkgu-odoo changed the title [ADD] estate_module: Initial setup of models, views, and constraints [ADD] estate: Initial setup of models, views, and constraints Aug 14, 2024
@pkgu-odoo pkgu-odoo changed the title [ADD] estate: Initial setup of models, views, and constraints [ADD] estate: initial setup of models, fields, views, and constraints Aug 14, 2024
After this commit:
-Added python inheritance
-Added Model inheritance
-Added view inheritance
-Initialize the estate_account module with dependencies on estate and account.
-Inherit the estate.property model and override the action_sold method.
-create an account.move with partner_id from the property and move_type.
-Add two invoice line 6% of selling price and additional 100 administrative fees
-Implement Kanban view in estate_property model.
-Add the following fields to the Kanban view:
-name, expected_price, best price, selling price and tags.
Implemented some changes in 'action_set_sold' function
-Changed some attribute names in estate model to better reflect their
functionality.
-Made the 'offer' field editable.
- Updated Kanban view configuration to disable item dragging.
- This change ensures that items cannot be reordered via drag-and-drop.
- Added 'Add Offer' button to the estate property tree view header.
- Created a wizard to facilitate making offers on one or more selected property.
- Wizard includes fields for price, offer status, and buyer details.
- Implemented 'Make an offer' and 'Cancel' buttons in the wizard.
- Used Transient Model for temporary data handling.
- Files added to the Wizard folder.
- Added standard property types: Residential, Commercial, Industrial, and Land.
- Created demo data for the estate module.
- Created demo properties with Property Type set to Residential.
- Added demo offers using partners defined in the base module.
- Validated one of the demo data offers using the “Accept Offer” button.
- Created a new Property with offers directly added inside the One2many field
 linked to the Offers.
- Improved the report by including additional data fields and ensuring the PDF
 output matches the data accurately.
- Implemented conditional logic to handle cases with no offers, displaying a
 message instead of an empty table.
- Inherited and extended the property report to add invoice details.
@pkgu-odoo pkgu-odoo force-pushed the 17.0-training-pkgu branch 2 times, most recently from 7f748b7 to c1a876e Compare September 2, 2024 11:18
…tate module

- Created security.xml with groups for 'Agent' and 'Manager' roles
- Updated __manifest__.py to include category and security XML file
- Configured access rights in ir.model.access.csv to restrict access as follows:
  - Full access to Real Estate Manager
  - Read-only access for Real Estate Agent
  - No delete permissions for properties
- Defined a rule limiting agents to see or modify properties only if they have
  no salesperson or they are the assigned salesperson.
- Added `company_id` field to `estate.property`, set it as required, and default
  it to the current user's company.
- Updated record rules to restrict visibility of company to only relevant agents
- Ensured all agents and managers have appropriate access and verified
  functionality by testing with multiple scenarios.
- Implement 'Properties' menu on the website.
- Display a grid of available  properties that are not sold or canceled.
- Add property images to the grid view.
- Create a dedicated, visually appealing property detail page.
- Ensure the property detail page is mobile-friendly and attractive.
after this commit: -
- implemented models
- implemented views, action , menu for the corresponding models
@pkgu-odoo pkgu-odoo force-pushed the 17.0-training-pkgu branch 6 times, most recently from 945f045 to f533795 Compare September 10, 2024 11:03
- Added DentalPortal controller for managing dental records via the portal.
- Implemented routes for patient details, medical history, medical aid, and
  dental history.
- Updated `portal_my_home` with a dedicated Dental section for easy access.
- Enhanced templates for a user-friendly experience in managing and viewing
  dental records.
@pkgu-odoo pkgu-odoo force-pushed the 17.0-training-pkgu branch 3 times, most recently from f4449b7 to 743be1a Compare September 16, 2024 13:16
After this commit:
- implemented installment module
- added wizard button in subscription module
- implemented business logic
- Implemented cron job functionality in installments_cron.py
- Implemented  configuration settings in res_config_settings.py
- Managed installment-related documents in installments_documents.py
- Created XML views for installments and settings in installments_view.xml and
  res_config_setting_view.xml
@pkgu-odoo pkgu-odoo force-pushed the 17.0-training-pkgu branch 2 times, most recently from 80177b8 to f9495fc Compare September 25, 2024 13:30
…tory

After this commit:

- Added warranty configuration model and settings.
- Extended sale order and sale order line models to include warranty fields.
- Implemented warranty wizard for adding warranties to sale orders.
- Created views for managing warranty settings and applying warranties to
  products.
- Added security rules to control access to warranty features.
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