diff --git a/odex25_ensan/odex_benefit/__manifest__.py b/odex25_ensan/odex_benefit/__manifest__.py index 7a7bd9684..ee2451b69 100644 --- a/odex25_ensan/odex_benefit/__manifest__.py +++ b/odex25_ensan/odex_benefit/__manifest__.py @@ -61,6 +61,7 @@ 'wizards/service_refuse_reason_wizard.xml', 'wizards/reason_for_return_wizard.xml', 'wizards/visit_location_otp_wizard_view.xml', + 'views/benefit_vehicle_model.xml', 'views/actions_and_menus.xml', ], 'external_dependencies': { diff --git a/odex25_ensan/odex_benefit/i18n/ar_001.po b/odex25_ensan/odex_benefit/i18n/ar_001.po index f4e7a3c69..47c8d2474 100644 --- a/odex25_ensan/odex_benefit/i18n/ar_001.po +++ b/odex25_ensan/odex_benefit/i18n/ar_001.po @@ -7924,6 +7924,7 @@ msgstr "الاجتماعات" #: model:ir.model.fields,field_description:odex_benefit.field_exception_wizard__member_id #: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__member_ids #: model:ir.model.fields,field_description:odex_benefit.field_ir_attachment__member_id +#: model:ir.model.fields,field_description:odex_benefit.field_cars_line__member_id #: model:ir.model.fields,field_description:odex_benefit.field_member_disabilities__member_id #: model:ir.model.fields,field_description:odex_benefit.field_member_diseases__member_id #: model:ir.model.fields,field_description:odex_benefit.field_member_hobbies__member_id @@ -8410,6 +8411,7 @@ msgstr "نهاية الوقت المعين للنشاط" #: model:ir.model.fields,field_description:odex_benefit.field_receive_food_surplus__name #: model:ir.model.fields,field_description:odex_benefit.field_res_city__name #: model:ir.model.fields,field_description:odex_benefit.field_res_country_city__name +#: model:ir.model.fields,field_description:odex_benefit.field_benefit_vehicle_model__name #: model:ir.model.fields,field_description:odex_benefit.field_res_districts__name #: model:ir.model.fields,field_description:odex_benefit.field_rooms_categories__name #: model:ir.model.fields,field_description:odex_benefit.field_rooms_items__name @@ -8427,6 +8429,7 @@ msgstr "نهاية الوقت المعين للنشاط" #: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_form #: model_terms:ir.ui.view,arch_db:odex_benefit.view_benefit_category_form #: model_terms:ir.ui.view,arch_db:odex_benefit.view_benefit_housing_form +#: model_terms:ir.ui.view,arch_db:odex_benefit.benefit_vehicle_model_form_view msgid "Name" msgstr "الاسم" @@ -15148,4 +15151,49 @@ msgstr "هل لديه إعاقة؟" #. module: odex_benefit #: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_form msgid "Basic Information" -msgstr "المعلومات الأساسية" \ No newline at end of file +msgstr "المعلومات الأساسية" + +#. module: odex_benefit +#: model:ir.actions.act_window,name:odex_benefit.benefit_vehicle_model_action +#: model:ir.model,name:odex_benefit.model_benefit_vehicle_model +#: model:ir.ui.menu,name:odex_benefit.benefit_vehicle_model_menu +#: model_terms:ir.ui.view,arch_db:odex_benefit.benefit_vehicle_model_form_view +#: model_terms:ir.ui.view,arch_db:odex_benefit.benefit_vehicle_model_tree +msgid "Vehicle Model" +msgstr "موديل المركبات" + +#. module: odex_benefit +#: code:addons/odex_benefit/models/benefit_vehicle_model.py:0 +#: model:ir.model.constraint,message:odex_benefit.constraint_benefit_vehicle_model_name_unique +#, python-format +msgid "The name must be unique." +msgstr "يجب أن يكون اسم الموديل فريداً." + +#. module: odex_benefit +#: model_terms:ir.actions.act_window,help:odex_benefit.benefit_vehicle_model_action +msgid "Create the First Vehicle Model" +msgstr "إنشاء أول موديل للمركبات" + +#. module: odex_benefit +#: model:ir.ui.menu,name:odex_benefit.benefit_vehicle_model_settings_menu +msgid "Vehicle Settings" +msgstr "إعدادات المركبات" + +#. module: odex_benefit +#: model:ir.model.fields,field_description:odex_benefit.field_cars_line__application_form +#: model:ir.model.fields,field_description:odex_benefit.field_cars_line__application_form_filename +msgid "Application Form" +msgstr "الاستمارة" + +#. module: odex_benefit +#: model:ir.model.fields,field_description:odex_benefit.field_cars_line__driving_license +#: model:ir.model.fields,field_description:odex_benefit.field_cars_line__driving_license_filename +msgid "Driving License" +msgstr "رخصة القيادة" + +#. module: odex_benefit +#: model:ir.model.fields,field_description:odex_benefit.field_cars_line__owner_identity +#: model:ir.model.fields,field_description:odex_benefit.field_cars_line__owner_identity_filename +msgid "Owner Identity" +msgstr "هوية المالك" + diff --git a/odex25_ensan/odex_benefit/models/__init__.py b/odex25_ensan/odex_benefit/models/__init__.py index 8ffe33a41..225a10fae 100644 --- a/odex25_ensan/odex_benefit/models/__init__.py +++ b/odex25_ensan/odex_benefit/models/__init__.py @@ -36,4 +36,5 @@ from . import seasonal_service from . import res_users from . import res_partner from . import job_settings -from . import death_reason_settings \ No newline at end of file +from . import death_reason_settings +from . import benefit_vehicle_model \ No newline at end of file diff --git a/odex25_ensan/odex_benefit/models/benefit_config.py b/odex25_ensan/odex_benefit/models/benefit_config.py index 20333f233..0d4483b5e 100644 --- a/odex25_ensan/odex_benefit/models/benefit_config.py +++ b/odex25_ensan/odex_benefit/models/benefit_config.py @@ -591,15 +591,22 @@ class Cars(models.Model): name = fields.Char() benefit_id = fields.Many2one('grant.benefit') - car_model = fields.Char() + member_id = fields.Many2one('family.member',domain="[('benefit_id','=',benefit_id)]", string="Member") + car_model = fields.Many2one('benefit.vehicle.model', ondelete='restrict') status = fields.Selection( string='', selection=[('good', 'Good'), ('bad', 'bad'), ], required=False, ) # TODO - image_1 = fields.Binary(string="", ) - image_2 = fields.Binary(string="", ) - image_3 = fields.Binary(string="", ) + + application_form = fields.Binary(string="Application Form", attachment=True) + application_form_filename = fields.Char(string="Application Form") + + driving_license = fields.Binary(string="Driving License", attachment=True) + driving_license_filename = fields.Char(string="Driving License") + + owner_identity = fields.Binary(string="Owner Identity", attachment=True) + owner_identity_filename = fields.Char(string="Owner Identity") class TrainingType(models.Model): diff --git a/odex25_ensan/odex_benefit/models/benefit_vehicle_model.py b/odex25_ensan/odex_benefit/models/benefit_vehicle_model.py new file mode 100644 index 000000000..af69bc4d9 --- /dev/null +++ b/odex25_ensan/odex_benefit/models/benefit_vehicle_model.py @@ -0,0 +1,14 @@ +from odoo import fields, models,api,_ +from odoo.exceptions import UserError, ValidationError + +class BenefitVehicleModel(models.Model): + _name = 'benefit.vehicle.model' + _description = "Vehicle Model" + _inherit = ['mail.thread', 'mail.activity.mixin'] + + name = fields.Char(string="Name", required=True, tracking=True) + active = fields.Boolean(default=True) + + _sql_constraints = [ + ("name_unique", "unique(name)", _("The name must be unique.")), + ] \ No newline at end of file diff --git a/odex25_ensan/odex_benefit/security/ir.model.access.csv b/odex25_ensan/odex_benefit/security/ir.model.access.csv index a597636b2..2b9d60f28 100644 --- a/odex25_ensan/odex_benefit/security/ir.model.access.csv +++ b/odex25_ensan/odex_benefit/security/ir.model.access.csv @@ -158,4 +158,5 @@ access_death_reason_settings,access_death_reason_settings,model_death_reason_set access_death_reason_settings_manager,access_death_reason_settings.manager,model_death_reason_settings,odex_benefit.group_benefit_manager,1,1,1,1 access_grant_benefit_portal_user,access_grant_benefit_portal_user,model_grant_benefit,base.group_portal,1,1,1,1 access_visit_location_otp_wizard,access_visit_location_otp_wizard,model_visit_location_otp_wizard,,1,1,1,1 -access_visit_skip_otp_wizard,access_visit_skip_otp_wizard,model_visit_skip_otp_wizard,,1,1,1,1 \ No newline at end of file +access_visit_skip_otp_wizard,access_visit_skip_otp_wizard,model_visit_skip_otp_wizard,,1,1,1,1 +access_benefit_vehicle_model,access_benefit_vehicle_model,model_benefit_vehicle_model,,1,1,1,1 \ No newline at end of file diff --git a/odex25_ensan/odex_benefit/views/actions_and_menus.xml b/odex25_ensan/odex_benefit/views/actions_and_menus.xml index e799f0c0e..45dfae070 100644 --- a/odex25_ensan/odex_benefit/views/actions_and_menus.xml +++ b/odex25_ensan/odex_benefit/views/actions_and_menus.xml @@ -333,6 +333,15 @@

+ + + Vehicle Model + benefit.vehicle.model + tree,form + +

Create the First Vehicle Model

+
+
Attachments Settings @@ -787,6 +796,9 @@ + + + diff --git a/odex25_ensan/odex_benefit/views/benefit_vehicle_model.xml b/odex25_ensan/odex_benefit/views/benefit_vehicle_model.xml new file mode 100644 index 000000000..f0812c955 --- /dev/null +++ b/odex25_ensan/odex_benefit/views/benefit_vehicle_model.xml @@ -0,0 +1,44 @@ + + + + benefit.vehicle.model.form + benefit.vehicle.model + +
+ +
+

+

+ +

+ +
+
+
+ + + +
+
+
+
+ + benefit.vehicle.model.tree + benefit.vehicle.model + + + + + + + + benefit.vehicle.model.search + benefit.vehicle.model + + + + + + +
+
diff --git a/odex25_ensan/odex_benefit/views/benefit_view.xml b/odex25_ensan/odex_benefit/views/benefit_view.xml index bb665f298..c7ab381e4 100644 --- a/odex25_ensan/odex_benefit/views/benefit_view.xml +++ b/odex25_ensan/odex_benefit/views/benefit_view.xml @@ -741,7 +741,8 @@ - + - - - -
- + + + + - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - -