diff --git a/real_estate/README.rst b/real_estate/README.rst new file mode 100644 index 0000000..cd7b51d --- /dev/null +++ b/real_estate/README.rst @@ -0,0 +1,81 @@ +=========== +Real Estate +=========== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:18d99736753d76e4714d005187a5a0451b3d70ab139355a143b85ceba38e8467 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png + :target: https://odoo-community.org/page/development-status + :alt: Alpha +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fvertical--realestate-lightgray.png?logo=github + :target: https://github.com/OCA/vertical-realestate/tree/16.0/real_estate + :alt: OCA/vertical-realestate +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/vertical-realestate-16-0/vertical-realestate-16-0-real_estate + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/vertical-realestate&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Module to manage Real Estates. + +.. IMPORTANT:: + This is an alpha version, the data model and design can change at any time without warning. + Only for development or testing purpose, do not use in production. + `More details on development status `_ + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Binhex + +Contributors +~~~~~~~~~~~~ + +* Denis Roussel + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/vertical-realestate `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/real_estate/__init__.py b/real_estate/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/real_estate/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/real_estate/__manifest__.py b/real_estate/__manifest__.py new file mode 100644 index 0000000..2c58194 --- /dev/null +++ b/real_estate/__manifest__.py @@ -0,0 +1,22 @@ +# Copyright 2020 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Real Estate", + "summary": """ + Adds the estate management to realestate""", + "version": "16.0.1.0.0", + "license": "AGPL-3", + "development_status": "Alpha", + "author": "Binhex, " "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/vertical-realestate", + "depends": ["base", "mail", "contacts"], + "data": [ + "security/security.xml", + "security/ir.model.access.csv", + "views/menus.xml", + "views/real_estate_type.xml", + "views/realestate_estate.xml", + "data/ir_sequence.xml", + ], +} diff --git a/real_estate/data/ir_sequence.xml b/real_estate/data/ir_sequence.xml new file mode 100644 index 0000000..01a3817 --- /dev/null +++ b/real_estate/data/ir_sequence.xml @@ -0,0 +1,14 @@ + + + + + Real Estate + real.estate + RE/ + 5 + 1 + 1 + + + diff --git a/real_estate/i18n/es.po b/real_estate/i18n/es.po new file mode 100644 index 0000000..a202761 --- /dev/null +++ b/real_estate/i18n/es.po @@ -0,0 +1,482 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * real_estate +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-23 15:45+0000\n" +"PO-Revision-Date: 2024-05-23 09:53-0600\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.4\n" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__message_needaction +msgid "Action Needed" +msgstr "Acción necesaria" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__active +msgid "Active" +msgstr "Activo" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__activity_ids +msgid "Activities" +msgstr "Actividades" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__activity_state +msgid "Activity State" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: real_estate +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_form_view +msgid "Address" +msgstr "Dirección" + +#. module: real_estate +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_form_view +msgid "Archived" +msgstr "Archivado" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__city +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_form_view +msgid "City" +msgstr "Ciudad" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate_type__code +msgid "Code" +msgstr "Código" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__company_id +msgid "Company" +msgstr "Compañía" + +#. module: real_estate +#: model:ir.ui.menu,name:real_estate.real_estate_configuration_menu +msgid "Configuration" +msgstr "Configuración" + +#. module: real_estate +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_form_view +msgid "Contact Information" +msgstr "Información de contacto" + +#. module: real_estate +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_form_view +msgid "Contacts & Addresses" +msgstr "Contactos y direcciones" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__country_id +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_form_view +msgid "Country" +msgstr "País" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__country_code +msgid "Country Code" +msgstr "Código país" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__create_uid +#: model:ir.model.fields,field_description:real_estate.field_real_estate_type__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__create_date +#: model:ir.model.fields,field_description:real_estate.field_real_estate_type__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__description +msgid "Description" +msgstr "Descripción" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__display_name +#: model:ir.model.fields,field_description:real_estate.field_real_estate_type__display_name +msgid "Display Name" +msgstr "" + +#. module: real_estate +#: model:ir.ui.menu,name:real_estate.real_estate_menu +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_view_kanban +msgid "Estates" +msgstr "Unidades" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,help:real_estate.field_real_estate__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: real_estate +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_form_view +msgid "General Information" +msgstr "Información general" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__real_estate_latitude +msgid "Geo Latitude" +msgstr "Latitud" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__real_estate_longitude +msgid "Geo Longitude" +msgstr "Longitud" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__google_maps_url +msgid "Google Maps Url" +msgstr "URL Mapa" + +#. module: real_estate +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_search_view +msgid "Group By..." +msgstr "Agrupar por" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__has_message +msgid "Has Message" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__id +#: model:ir.model.fields,field_description:real_estate.field_real_estate_type__id +msgid "ID" +msgstr "" + +#. module: real_estate +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_form_view +msgid "ID & Notes" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,help:real_estate.field_real_estate__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,help:real_estate.field_real_estate__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,help:real_estate.field_real_estate__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__image +msgid "Image" +msgstr "" + +#. module: real_estate +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_form_view +msgid "Internal Note..." +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate____last_update +#: model:ir.model.fields,field_description:real_estate.field_real_estate_type____last_update +msgid "Last Modified on" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__write_uid +#: model:ir.model.fields,field_description:real_estate.field_real_estate_type__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__write_date +#: model:ir.model.fields,field_description:real_estate.field_real_estate_type__write_date +msgid "Last Updated on" +msgstr "" + +#. module: real_estate +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_form_view +msgid "Location" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__message_ids +msgid "Messages" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__name +#: model:ir.model.fields,field_description:real_estate.field_real_estate_type__name +msgid "Name" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__comment +msgid "Notes" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: real_estate +#: model:ir.model.fields,help:real_estate.field_real_estate__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Número de mensajes que requieren acción" + +#. module: real_estate +#: model:ir.model.fields,help:real_estate.field_real_estate__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Número de mensajes con error de entrega" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__owner_ids +msgid "Owners" +msgstr "Propietarios" + +#. module: real_estate +#: model:ir.actions.act_window,name:real_estate.real_estate_act_window +#: model:ir.model,name:real_estate.model_real_estate +#: model:ir.module.category,name:real_estate.module_category_realestate +#: model:ir.ui.menu,name:real_estate.menu_real_estate +msgid "Real Estate" +msgstr "Bienes raíces" + +#. module: real_estate +#: model:res.groups,name:real_estate.group_real_estate_manager +msgid "Real Estate Manager" +msgstr "Gerente de bienes raíces" + +#. module: real_estate +#: model:ir.actions.act_window,name:real_estate.real_estate_type_act_window +#: model:ir.model,name:real_estate.model_real_estate_type +msgid "Real Estate Type" +msgstr "Tipo de Bienes Raíces" + +#. module: real_estate +#: model:res.groups,name:real_estate.group_real_estate_user +msgid "Real Estate User" +msgstr "Usuario inmobiliario" + +#. module: real_estate +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_search_view +msgid "RealEstate Entities" +msgstr "" + +#. module: real_estate +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_form_view +msgid "RealEstate Entity" +msgstr "Entidad Inmobiliaria" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__ref +msgid "Reference" +msgstr "Referencia" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__activity_user_id +msgid "Responsible User" +msgstr "Responsable" + +#. module: real_estate +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_form_view +msgid "Shipping Method" +msgstr "Método de envío" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__short_description +msgid "Short Description" +msgstr "Descripción corta" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__state_id +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_form_view +msgid "State" +msgstr "Estado" + +#. module: real_estate +#: model:ir.model.fields,help:real_estate.field_real_estate__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Estado basado en actividades.\n" +"Vencido: la fecha de vencimiento ya pasó\n" +"Hoy: la fecha de la actividad es hoy.\n" +"Planificado: Actividades futuras." + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__street +msgid "Street" +msgstr "Calle " + +#. module: real_estate +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_form_view +msgid "Street 2..." +msgstr "Calle 2" + +#. module: real_estate +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_form_view +msgid "Street..." +msgstr "Calle" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__street2 +msgid "Street2" +msgstr "Calle 2" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__surface +msgid "Surface" +msgstr "Superficie" + +#. module: real_estate +#: model:ir.model.fields,help:real_estate.field_real_estate__country_code +msgid "" +"The ISO country code in two chars. \n" +"You can use this field for quick search." +msgstr "" +"El código ISO de país en dos caracteres. \n" +"Puede utilizar este campo para una búsqueda rápida." + +#. module: real_estate +#: model:ir.model.constraint,message:real_estate.constraint_real_estate_type_code_uniq +msgid "The code has to be unique!" +msgstr "¡El código tiene que ser único!" + +#. module: real_estate +#: model:ir.model.fields,help:real_estate.field_real_estate__company_id +msgid "The default company for this user." +msgstr "La asociación predeterminada para este usuario." + +#. module: real_estate +#: model:res.groups,comment:real_estate.group_real_estate_manager +msgid "The user will be able to use and add config." +msgstr "El usuario podrá usar y agregar configuraciones." + +#. module: real_estate +#: model:res.groups,comment:real_estate.group_real_estate_user +msgid "The user will be able to use realestate." +msgstr "El usuario podrá utilizar realestate." + +#. module: real_estate +#: model:ir.model.fields,help:real_estate.field_real_estate__image +msgid "This field holds the image used for the real estate" +msgstr "Este campo contiene la imagen utilizada para el inmueble." + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__type_id +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_search_view +msgid "Type" +msgstr "Tipo" + +#. module: real_estate +#: model:ir.model.fields,help:real_estate.field_real_estate__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo de actividad de excepción registrada." + +#. module: real_estate +#: model:ir.ui.menu,name:real_estate.real_estate_type_menu +msgid "Types" +msgstr "Tipos" + +#. module: real_estate +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_form_view +msgid "ZIP" +msgstr "CP" + +#. module: real_estate +#: model:ir.model.fields,field_description:real_estate.field_real_estate__zip +msgid "Zip" +msgstr "CP" + +#. module: real_estate +#: model_terms:ir.ui.view,arch_db:real_estate.real_estate_form_view +msgid "e.g. 0001 Apartment" +msgstr "e.j. 0001 Apartamento" diff --git a/real_estate/models/__init__.py b/real_estate/models/__init__.py new file mode 100644 index 0000000..6c9ec41 --- /dev/null +++ b/real_estate/models/__init__.py @@ -0,0 +1,2 @@ +from . import real_estate +from . import real_estate_type diff --git a/real_estate/models/real_estate.py b/real_estate/models/real_estate.py new file mode 100644 index 0000000..199877b --- /dev/null +++ b/real_estate/models/real_estate.py @@ -0,0 +1,64 @@ +# Copyright 2020 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class RealEstate(models.Model): + _name = "real.estate" + _inherit = ["mail.thread", "mail.activity.mixin"] + _description = "Real Estate" + + name = fields.Char(required=True, translate=True, index=True) + type_id = fields.Many2one( + comodel_name="real.estate.type", + required=True, + ondelete="restrict", + index=True, + ) + active = fields.Boolean(default=True) + image = fields.Image( + max_width=256, + max_height=256, + help="This field holds the image used for the real estate", + ) + ref = fields.Char( + default=lambda self: self.env["ir.sequence"].next_by_code("real.estate"), + index=True, + copy=False, + readonly=True, + ) + short_description = fields.Char( + translate=True, + size=50, + ) + description = fields.Text( + translate=True, + ) + surface = fields.Float(default=0.0) + google_maps_url = fields.Text() + + street = fields.Char() + street2 = fields.Char() + zip = fields.Char(change_default=True) + city = fields.Char() + state_id = fields.Many2one( + "res.country.state", + ondelete="restrict", + domain="[('country_id', '=?', country_id)]", + ) + country_id = fields.Many2one("res.country", ondelete="restrict") + country_code = fields.Char( + related="country_id.code", + ) + real_estate_latitude = fields.Float(digits=(10, 7)) + real_estate_longitude = fields.Float(digits=(10, 7)) + comment = fields.Html() + owner_ids = fields.Many2many( + "res.partner", + ) + company_id = fields.Many2one( + comodel_name="res.company", + default=lambda self: self.env.company.id, + help="The default company for this user.", + ) diff --git a/real_estate/models/real_estate_type.py b/real_estate/models/real_estate_type.py new file mode 100644 index 0000000..ed870b0 --- /dev/null +++ b/real_estate/models/real_estate_type.py @@ -0,0 +1,20 @@ +# Copyright 2020 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class RealEstateType(models.Model): + + _name = "real.estate.type" + _description = "Real Estate Type" + + name = fields.Char(required=True, translate=True) + code = fields.Char( + required=True, + index=True, + ) + + _sql_constraints = [ + ("code_uniq", "unique (code)", "The code has to be unique!"), + ] diff --git a/real_estate/readme/CONTRIBUTORS.rst b/real_estate/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..9179ee4 --- /dev/null +++ b/real_estate/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Denis Roussel diff --git a/real_estate/readme/DESCRIPTION.rst b/real_estate/readme/DESCRIPTION.rst new file mode 100644 index 0000000..e5b017d --- /dev/null +++ b/real_estate/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +Module to manage Real Estates. diff --git a/real_estate/security/ir.model.access.csv b/real_estate/security/ir.model.access.csv new file mode 100644 index 0000000..f02841c --- /dev/null +++ b/real_estate/security/ir.model.access.csv @@ -0,0 +1,4 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_real_estate_user,real.estate,real_estate.model_real_estate,real_estate.group_real_estate_user,1,1,1,1 +access_real_estate_manager,real.estate,real_estate.model_real_estate,real_estate.group_real_estate_manager,1,1,1,1 +access_real_estate_type_manager,real.estate.type,real_estate.model_real_estate_type,real_estate.group_real_estate_manager,1,1,1,1 diff --git a/real_estate/security/security.xml b/real_estate/security/security.xml new file mode 100644 index 0000000..1db4573 --- /dev/null +++ b/real_estate/security/security.xml @@ -0,0 +1,24 @@ + + + + + Real Estate + + + + Real Estate User + + The user will be able to use realestate. + + + Real Estate Manager + + + The user will be able to use and add config. + + + diff --git a/real_estate/static/description/icon.png b/real_estate/static/description/icon.png new file mode 100644 index 0000000..1d12dc5 Binary files /dev/null and b/real_estate/static/description/icon.png differ diff --git a/real_estate/static/description/index.html b/real_estate/static/description/index.html new file mode 100644 index 0000000..e6584c5 --- /dev/null +++ b/real_estate/static/description/index.html @@ -0,0 +1,426 @@ + + + + + +Real Estate + + + +
+

Real Estate

+ + +

Alpha License: AGPL-3 OCA/vertical-realestate Translate me on Weblate Try me on Runboat

+

Module to manage Real Estates.

+
+

Important

+

This is an alpha version, the data model and design can change at any time without warning. +Only for development or testing purpose, do not use in production. +More details on development status

+
+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Binhex
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/vertical-realestate project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/real_estate/views/menus.xml b/real_estate/views/menus.xml new file mode 100644 index 0000000..867a755 --- /dev/null +++ b/real_estate/views/menus.xml @@ -0,0 +1,17 @@ + + + + + + Configuration + + + + diff --git a/real_estate/views/real_estate_type.xml b/real_estate/views/real_estate_type.xml new file mode 100644 index 0000000..d171235 --- /dev/null +++ b/real_estate/views/real_estate_type.xml @@ -0,0 +1,52 @@ + + + + + real.estate.type.form (in realestate_estate) + real.estate.type + +
+ + + + + + +
+
+
+ + real.estate.type.search (in realestate_estate) + + real.estate.type + + + + + + + + + real.estate.type.tree (in realestate_estate) + real.estate.type + + + + + + + + Real Estate Type + real.estate.type + tree,form + [] + {} + + + Types + + + + +
diff --git a/real_estate/views/realestate_estate.xml b/real_estate/views/realestate_estate.xml new file mode 100644 index 0000000..99e3120 --- /dev/null +++ b/real_estate/views/realestate_estate.xml @@ -0,0 +1,227 @@ + + + + + real.estate.tree + real.estate + + + + + + + + + real.estate.form + real.estate + +
+
+ +
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+ + + real.estate.kanban + real.estate + kanban + + + + + + + + + + + + +
+ +
+ + + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+
+
+
+ + real.estate.search + real.estate + + + + + + + + + + + + Real Estate + real.estate + tree,form + [] + {} + + + + + + Estates + + + + + + diff --git a/setup/real_estate/odoo/addons/real_estate b/setup/real_estate/odoo/addons/real_estate new file mode 120000 index 0000000..197356b --- /dev/null +++ b/setup/real_estate/odoo/addons/real_estate @@ -0,0 +1 @@ +../../../../real_estate \ No newline at end of file diff --git a/setup/real_estate/setup.py b/setup/real_estate/setup.py new file mode 100644 index 0000000..28c57bb --- /dev/null +++ b/setup/real_estate/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)