Service Request Task

This commit is contained in:
eman 2024-10-15 15:29:42 +03:00
parent 6927886e67
commit 62b1797fa8
8 changed files with 137 additions and 19 deletions

View File

@ -36,6 +36,7 @@
'views/benefit_services_view.xml',
'views/family_expense_view.xml',
'views/services_settings.xml',
'views/service_request.xml',
'views/benefit_config_view.xml',
'views/generate_reports.xml',
'views/actions_and_menus.xml',

View File

@ -6,7 +6,7 @@
<field name="model_id" ref="odex_benefit.model_grant_benefit"/>
<field name="email_from">
<![CDATA[${user.company_id.name} <${(user.company_id.email or user.partner_id.email or 'noreply@localhost')|safe}>]]></field>
<field name="email_to">${(object.email and object.researcher_id.employee_id[0].work_email)|safe}</field>
<field name="email_to">${(object.get_researchers_email())|safe}</field>
<field name="email_cc">${(object.email)|safe}</field>
<field name="subject"> Attachment Expiration </field>
<field name="body_html" type="html">

View File

@ -24,4 +24,5 @@ from . import account_move_line
from . import family_expense
from . import services_settings
from . import res_country_inherit
from . import service_request
# from . import res_config_settings

View File

@ -5,9 +5,31 @@ class ServiceRequest(models.Model):
_name = 'service.request'
name = fields.Char(string='Name')
# family_id = fields.Many2one('grant.benefit',string='Family')
# is_main_service = fields.Boolean(string='Is Main Service?')
# service_type = fields.Selection([('rent', 'Rent')],string='Service Type')
# max_amount_for_student = fields.Float(string='Max Amount for Student')
# raise_amount_for_orphan = fields.Float(string='Raise Amount For Orphan')
# rent_lines = fields.One2many('rent.lines','services_settings_id')
benefit_type = fields.Selection(string='Benefit Type',selection=[('family', 'Family'),('member', 'Member')])
date = fields.Datetime(string='Date')
family_id = fields.Many2one('grant.benefit',string='Family')
is_main_service = fields.Boolean(string='Is Main Service?')
service_type = fields.Selection([('rent', 'Rent')],string='Service Type')
max_amount_for_student = fields.Float(string='Max Amount for Student')
raise_amount_for_orphan = fields.Float(string='Raise Amount For Orphan')
rent_lines = fields.One2many('rent.lines','services_settings_id')
family_category = fields.Many2one('benefit.category',string='Family Category',related='family_id.benefit_category_id')
benefit_member_count = fields.Integer(string="Benefit Member count", related='family_id.benefit_member_count')
branch_custom_id = fields.Many2one('branch.settings', string="Branch",related='family_id.branch_custom_id')
member_id = fields.Many2one('family.member',string='Member',domain="[('benefit_id','=',family_id)]")
description = fields.Char(string='Description')
need_status = fields.Selection(string='Need Status',selection=[('urgent', 'urgent'),('not_urgent', 'Not urgent')])
main_service_category = fields.Many2one('services.settings',domain="[('is_main_service','=',True)]",string="Main Service Category")
sub_service_category = fields.Many2one('services.settings',domain="[('is_main_service','=',False),('service_type','=',False),('parent_service','=',main_service_category)]",string='Sub Service Category')
service_cat = fields.Many2one('services.settings',domain="[('is_main_service','=',False),('service_type','!=',False),('parent_service','=',sub_service_category)]",string='Service Cat.')
service_attach = fields.Binary(string="Service Attach")
state = fields.Selection([
('draft', 'Draft'),
('sent', 'sent'),
('review', 'Under Review'),
('approve', 'Approved'),
('published', 'Published'),
('refused', 'Refused'),
('done', 'Done'),
], string='state', default="draft", tracking=True)

View File

@ -121,4 +121,5 @@ access_hobbies_settings,access_hobbies_settings,model_hobbies_settings,base.grou
access_disabilities_settings,access_disabilities_settings,model_disabilities_settings,base.group_user,1,1,1,1
access_diseases_settings,access_diseases_settings,model_diseases_settings,base.group_user,1,1,1,1
access_exception_wizard,access_exception_wizard,model_exception_wizard,base.group_user,1,1,1,1
access_exception_reason,access_exception_reason,model_exception_reason,base.group_user,1,1,1,1
access_exception_reason,access_exception_reason,model_exception_reason,base.group_user,1,1,1,1
access_service_request,access_service_request,model_service_request,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
121 access_disabilities_settings access_disabilities_settings model_disabilities_settings base.group_user 1 1 1 1
122 access_diseases_settings access_diseases_settings model_diseases_settings base.group_user 1 1 1 1
123 access_exception_wizard access_exception_wizard model_exception_wizard base.group_user 1 1 1 1
124 access_exception_reason access_exception_reason model_exception_reason base.group_user 1 1 1 1
125 access_service_request access_service_request model_service_request base.group_user 1 1 1 1

View File

@ -34,7 +34,7 @@
<field name="name">Beneficiaries Manager</field>
<field name="category_id" ref="module_category_benefit"/>
<field name="users" eval="[(4, ref('base.user_root'))]"/>
<field name="implied_ids" eval="[(4, ref('base.group_erp_manager')),(4, ref('group_benefit_info'))]"/>
<field name="implied_ids" eval="[(4, ref('group_benefit_info'))]"/>
<field name="comment">the user will be able to approve Beneficiaries requests.</field>
</record>
<record id="group_benefit_researcher" model="res.groups">

View File

@ -212,15 +212,15 @@
</p>
</field>
</record>
<record model="ir.actions.act_window" id="main_service_action">
<field name="name">Service Types</field>
<field name="res_model">main.service</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">Create the First Service
</p>
</field>
</record>
<!-- <record model="ir.actions.act_window" id="main_service_action">-->
<!-- <field name="name">Service Types</field>-->
<!-- <field name="res_model">main.service</field>-->
<!-- <field name="view_mode">tree,form</field>-->
<!-- <field name="help" type="html">-->
<!-- <p class="oe_view_nocontent_create">Create the First Service-->
<!-- </p>-->
<!-- </field>-->
<!-- </record>-->
<record model="ir.actions.act_window" id="exception_reason_action">
<field name="name">Exception Reason</field>
<field name="res_model">exception.reason</field>
@ -518,6 +518,15 @@
<p class="oe_view_nocontent_create">Create the Service Setting
</p>
</field>
</record>
<record model="ir.actions.act_window" id="service_request_action">
<field name="name">Services Requests</field>
<field name="res_model">service.request</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">Create the Service Request
</p>
</field>
</record>
<record model="ir.actions.act_window" id="benefit_need_action">
<field name="name">Benefit Need</field>
@ -913,8 +922,8 @@
parent="benefit_tools"
sequence="6"
/>
<menuitem id="main_service_menu" name="Service Types" parent="benefit_tools"
action="main_service_action" sequence="7"/>
<!-- <menuitem id="main_service_menu" name="Service Types" parent="benefit_tools"-->
<!-- action="main_service_action" sequence="7"/>-->
<menuitem id="exception_reason_menu" name="Exception Reason" parent="menu_benefits_config_others"
action="exception_reason_action" sequence="8"/>
<menuitem id="other_associations_menu" name="Other Associations"
@ -926,6 +935,8 @@
parent="odex_benefit.benefit_services"/>
<menuitem id="services_settings_menu" name="Services Settings" sequence="1"
parent="odex_benefit.benefit_services" action="services_settings_action"/>
<menuitem id="services_requests_menu" name="Services Requests" sequence="2"
parent="odex_benefit.benefit_services" action="service_request_action"/>
<!-- <menuitem id="benefit_need_menu" name="Benefit Need" sequence="1"-->
<!-- parent="odex_benefit.benefit_services" action="benefit_need_action"/>-->
<!-- <menuitem id="benefit_zkat_main_menu" name="Benefit Zkat" sequence="2"-->

View File

@ -0,0 +1,82 @@
<odoo>
<data>
<!--Service Request-->
<record id="service_request_form" model="ir.ui.view">
<field name="name">service.request.form</field>
<field name="model">service.request</field>
<field name="arch" type="xml">
<form string="Service Request">
<!-- <header>-->
<!-- <button name="action_submit" type="object" states="draft"-->
<!-- string="submit" class="oe_highlight"/>-->
<!-- <button name="action_approve" type="object"-->
<!-- string="Accept" class="oe_highlight"-->
<!-- confirm="Are you sure you want to accept ?"-->
<!-- states="sent"/>-->
<!-- <button name="action_review" type="object"-->
<!-- string="review" class="oe_highlight"-->
<!-- confirm="Are you sure you want to review?"-->
<!-- states="sent"/>-->
<!-- <button name="action_published" type="object"-->
<!-- string="published" class="oe_highlight"-->
<!-- confirm="Are you sure you want to published?"-->
<!-- states="approve"/>-->
<!-- <button name="action_refused" type="object"-->
<!-- string="refused" class="oe_highlight"-->
<!-- confirm="Are you sure you want to refused?"-->
<!-- states="approve"/>-->
<!-- <button name="action_done" type="object" states="waiting_delivery"-->
<!-- string="Done" class="oe_highlight"/>-->
<!-- <field name="state" widget="statusbar"/>-->
<!-- </header>-->
<sheet>
<group>
<group>
<field name="name"/>
<field name="benefit_type"/>
<field name="family_id" attrs="{'invisible':[('benefit_type','!=','family')]}"/>
<field name="family_category" attrs="{'invisible':[('benefit_type','!=','family')]}"/>
<field name="benefit_member_count" attrs="{'invisible':[('benefit_type','!=','family')]}"/>
<field name="branch_custom_id" attrs="{'invisible':[('benefit_type','!=','family')]}"/>
<field name="member_id" attrs="{'invisible':[('benefit_type','!=','member')]}"/>
</group>
<group>
<field name="need_status"/>
<field name="main_service_category"/>
<field name="sub_service_category"/>
<field name="service_cat"/>
<field name="date"/>
<field name="description"/>
<field name="service_attach"/>
</group>
</group>
</sheet>
<!-- <div class="oe_chatter">-->
<!-- <field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>-->
<!-- <field name="message_ids" widget="mail_thread"/>-->
<!-- </div>-->
</form>
</field>
</record>
<record model="ir.ui.view" id="service_request_tree">
<field name="name">service.request.tree</field>
<field name="model">service.request</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="state"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="service_request_tree">
<field name="name">service.request.tree</field>
<field name="model">service.request</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="state"/>
</tree>
</field>
</record>
</data>
</odoo>