Skip to content

Conversation

pamd-odoo
Copy link

Introduce a new module estate for real estate management as part of the Server Framework 101 onboarding exercise.

The module includes:

  • Models: estate.property, estate.property.type
  • Views: form, tree, and search for both models
  • Menus: "Advertisement > Properties" and "Settings > Property Types"
  • Access rights for the new models

This commit sets the foundation for further training tasks

Introduce a new module `estate` for real estate management as part of the
Server Framework 101 onboarding exercise.

The module includes:
- Models: `estate.property`, `estate.property.type`
- Views: form, tree, and search for both models
- Menus: "Advertisement > Properties" and "Settings > Property Types"
- Access rights for the new models

This commit sets the foundation for further training tasks
@robodoo
Copy link

robodoo commented Sep 16, 2025

Pull request status dashboard

Copy link

@bit-odoo bit-odoo left a comment

Choose a reason for hiding this comment

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

@@ -0,0 +1,2 @@
# -*- coding: utf-8 -*-

Choose a reason for hiding this comment

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

No need to declare.

@@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-

Choose a reason for hiding this comment

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

No need to declare.

@@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-

Choose a reason for hiding this comment

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

No need to declare here.

@@ -0,0 +1,54 @@
# -*- coding: utf-8 -*-

Choose a reason for hiding this comment

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

No need to declare.

@@ -0,0 +1,9 @@
# -*- coding: utf-8 -*-

Choose a reason for hiding this comment

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

No need to declare.

</form>
</field>
</record>
<record id="estate_property_view_search" model="ir.ui.view">

Choose a reason for hiding this comment

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

Should be one empty line before it.

</list>
</field>
</record>
<record id="estate_property_view_form" model="ir.ui.view">

Choose a reason for hiding this comment

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

Should be one empty line before it.

</list>
</field>
</record>
<record id="estate_property_type_view_form" model="ir.ui.view">

Choose a reason for hiding this comment

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

Should be one empty line before it.

</form>
</field>
</record>
<record id="estate_property_type_view_search" model="ir.ui.view">

Choose a reason for hiding this comment

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

Should be one empty line before it.

</search>
</field>
</record>
<record id="estate_property_type_action" model="ir.actions.act_window">

Choose a reason for hiding this comment

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

Should be one empty line before it.

This update enhances the Estate module with several new functional features:

- Introduced Property Tags with dedicated menu and view, including color
  customization for better organization.
- Added access rights for the new models and restricted property records
  so users only see their own.
- Improved property list view with visual decorations to highlight status
  (success, warning, danger, muted).
- Added buttons to mark properties as Sold or Cancelled, visible only under
  the right conditions.
- Enforced data integrity with new computed values, onchange behavior,
  and validation rules on property records.
….property

This update enhances the Estate module with several new functional features:

- Inherited the res.users model to add a custom field, displayed in the user form view.
- Added a kanban view for estate.property to provide a visual overview of properties.
This update introduces a new module `estate_account` to streamline invoicing directly from the Estate Property form:

- Allows creating invoices with pre-filled partner information.
- Supports setting the move type automatically.
- Adds invoice lines based on selected product, quantity, and price.
- Simplifies the workflow by linking property management with accounting operations
…mponents

- Implemented Playground component containing:
  - Counter component with increment functionality
  - Card component with subcomponent using slots for flexible content
- Built TodoList component:
  - Toggle todo completion
  - Remove todo items
  - Integrated TodoItem as a subcomponent
- Exercises follow the Owl documentation for hands-on learning and practice
'name': "Awesome Owl",

'summary': """
"name": "Awesome Owl",

Choose a reason for hiding this comment

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

unnecessary changes.

Starting module for "Discover the JS framework, chapter 1: Owl components"
""",

'description': """
"description": """

Choose a reason for hiding this comment

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

unnecessary changes.

Comment on lines +9 to +10
"author": "Odoo",
"website": "https://www.odoo.com",

Choose a reason for hiding this comment

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

unnecessary changes.

onToggle() {
this.toggle.value = !this.toggle.value;
}
}

Choose a reason for hiding this comment

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

Should be one empty line at the end of the file.

onRemove(todoId) {
this.props.removeTodo(todoId);
}
}

Choose a reason for hiding this comment

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

Should be one empty line at the end of the file.

const index = this.todos.findIndex(item => item.id === todoId);
this.todos.splice(index, 1);
}
}

Choose a reason for hiding this comment

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

Should be one empty line at the end of the file.

onMounted(() => {
ref.el.focus();
});
}

Choose a reason for hiding this comment

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

Should be one empty line at the end of the file.

<field name="code">model._auto_reject_offer()</field>
<field name="state">code</field>
</record>
</odoo>

Choose a reason for hiding this comment

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

Should be one empty line at the end of the file.

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