IMP benefit
This commit is contained in:
parent
fd4100c5cd
commit
abf0630b28
|
|
@ -1144,6 +1144,7 @@ msgstr "نموذج الأنشطة"
|
|||
#: model:ir.model.fields,field_description:odex_benefit.field_committees_line__active
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_external_benefits__active
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__active
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_visits_types__active
|
||||
msgid "Active"
|
||||
msgstr "نشط"
|
||||
|
||||
|
|
@ -7753,6 +7754,7 @@ msgstr ""
|
|||
#. module: odex_benefit
|
||||
#: model:ir.model.fields.selection,name:odex_benefit.selection__family_member__suspend_method__manual
|
||||
#: model:ir.model.fields.selection,name:odex_benefit.selection__grant_benefit__suspend_method__manual
|
||||
#: model:ir.model.fields.selection,name:odex_benefit.selection__visits_types__creation_method__manual
|
||||
msgid "Manual"
|
||||
msgstr "يدوي"
|
||||
|
||||
|
|
@ -14842,3 +14844,88 @@ msgstr "اسم صاحب الحساب مطلوب لغير أفراد العائل
|
|||
#, python-format
|
||||
msgid "Family Member must be selected."
|
||||
msgstr "يجب اختيار أحد أفراد العائلة."
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_visits_types__creation_method
|
||||
msgid "Creation Method"
|
||||
msgstr "طريقة الإنشاء"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields.selection,name:odex_benefit.selection__visits_types__creation_method__automatic
|
||||
msgid "Automatic"
|
||||
msgstr "تلقائي"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields,help:odex_benefit.field_visits_types__creation_method
|
||||
msgid "Whether the visit is entered manually or created automatically"
|
||||
msgstr "هل يتم إدخال الزيارة يدويًا أو تُنشأ تلقائيًا"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_visits_types__recurrence_interval
|
||||
msgid "Recurrence Interval"
|
||||
msgstr "فترة التكرار"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields,help:odex_benefit.field_visits_types__recurrence_interval
|
||||
msgid "Determines how often visits are created automatically"
|
||||
msgstr "تحدد كل كم يتم إنشاء الزيارة تلقائيًا (مثلاً كل 30 يومًا)"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_visits_types__recurrence_period
|
||||
msgid "Recurrence Period"
|
||||
msgstr "مدة التكرار"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields,help:odex_benefit.field_visits_types__recurrence_period
|
||||
msgid "Time unit for recurrence"
|
||||
msgstr "وحدة الزمن للتكرار"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_visits_types__otp_verification
|
||||
msgid "OTP Verification"
|
||||
msgstr "التحقق عبرOTP"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields,help:odex_benefit.field_visits_types__otp_verification
|
||||
msgid "Whether this visit requires OTP confirmation from the family"
|
||||
msgstr "هل تتطلب هذه الزيارة تأكيد OTP من الأسرة"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_visits_types__otp_validity_minutes
|
||||
msgid "OTP Validity (Minutes)"
|
||||
msgstr "صلاحية OTP بالدقائق"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields,help:odex_benefit.field_visits_types__otp_validity_minutes
|
||||
msgid "OTP code validity duration in minutes"
|
||||
msgstr "مدة صلاحية رمز التحقق (بالدقائق)"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_visits_types__survey_id
|
||||
msgid "Evaluation Survey"
|
||||
msgstr "استمارة التقييم"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields.selection,name:odex_benefit.selection__visits_types__recurrence_period__days
|
||||
msgid "Days"
|
||||
msgstr "أيام"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields.selection,name:odex_benefit.selection__visits_types__recurrence_period__weeks
|
||||
msgid "Weeks"
|
||||
msgstr "أسابيع"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields.selection,name:odex_benefit.selection__visits_types__recurrence_period__months
|
||||
msgid "Months"
|
||||
msgstr "أشهر"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model_terms:ir.ui.view,arch_db:odex_benefit.visit_location_calendar_view
|
||||
msgid "visits"
|
||||
msgstr "الزيارات"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model_terms:ir.ui.view,arch_db:odex_benefit.visit_location_activity_view
|
||||
msgid "Visits Activity"
|
||||
msgstr "أنشطة الزيارات"
|
||||
|
|
@ -36,6 +36,9 @@ class Visit(models.Model):
|
|||
('email', 'Email'),
|
||||
('sms', 'SMS'),
|
||||
], string='Contact Type')
|
||||
priority = fields.Selection(
|
||||
[('0', 'Normal'), ('1', 'Low'), ('2', 'High'), ('3', 'Very High'), ('4', 'Very Very High')],
|
||||
string='Priority')
|
||||
state = fields.Selection([
|
||||
('draft', 'Draft'),
|
||||
('contact', 'Contact'),
|
||||
|
|
@ -43,11 +46,16 @@ class Visit(models.Model):
|
|||
('done', 'Done'),
|
||||
('cancel', 'Cancel'),
|
||||
('close', 'Close'),
|
||||
], string='State',default="draft", tracking=True)
|
||||
], string='State',default="draft", tracking=True, group_expand='_expand_states')
|
||||
color = fields.Integer('Color Index', default=0)
|
||||
family_id = fields.Many2one('benefit.family')
|
||||
reason = fields.Text(string='Reason/Justification')
|
||||
name = fields.Char(string='Reference', required=True, copy=False, readonly=True, index=True,
|
||||
default=lambda self: _('New'))
|
||||
|
||||
def _expand_states(self, states, domain, order):
|
||||
return [key for key, val in type(self).state.selection]
|
||||
|
||||
def unlink(self):
|
||||
for order in self:
|
||||
if order.state not in ['draft']:
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@
|
|||
<record model="ir.actions.act_window" id="visits_action">
|
||||
<field name="name">Visits</field>
|
||||
<field name="res_model">visit.location</field>
|
||||
<field name="view_mode">tree,form,activity,calendar</field>
|
||||
<field name="view_mode">kanban,tree,form,activity,calendar</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">Create the First Visit
|
||||
</p>
|
||||
|
|
|
|||
|
|
@ -1,102 +1,118 @@
|
|||
<odoo>
|
||||
<data>
|
||||
<!-- <record id="visits_form_kanban_view" model="ir.ui.view">-->
|
||||
<!-- <field name="name">visit.location.kanban</field>-->
|
||||
<!-- <field name="model">visit.location</field>-->
|
||||
<!-- <field name="arch" type="xml">-->
|
||||
<!-- <kanban default_group_by="state">-->
|
||||
<!-- <field name="name"/>-->
|
||||
<!-- <field name="visit_date"/>-->
|
||||
<!-- <field name="benefit_id"/>-->
|
||||
<!-- <field name="researcher_team"/>-->
|
||||
<!-- <field name="state"/>-->
|
||||
<!-- <templates>-->
|
||||
<!-- <t t-name="kanban-box">-->
|
||||
<!-- <div t-attf-class="oe_kanban_global_click">-->
|
||||
<!-- <div class="oe_kanban_details">-->
|
||||
<!-- <strong class="o_kanban_record_title">-->
|
||||
<!-- <strong>رقم الزيارة:-->
|
||||
<!-- <field name="name"/>-->
|
||||
<!-- </strong>-->
|
||||
<!-- </strong>-->
|
||||
<!-- <div>-->
|
||||
<!-- <strong>تاريخ الزيارة:-->
|
||||
<!-- <field name="visit_date"/>-->
|
||||
<!-- </strong>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div>-->
|
||||
<!-- <strong>الاسرة:-->
|
||||
<!-- <field name="benefit_id"/>-->
|
||||
<!-- </strong>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div>-->
|
||||
<!-- <strong>الاخصائي:-->
|
||||
<!-- <field name="researcher_team"/>-->
|
||||
<!-- </strong>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div>-->
|
||||
<!-- <strong>الحالة:-->
|
||||
<!-- <field name="state" widget="badge"-->
|
||||
<!-- decoration-success="state in ['done', 'close']"-->
|
||||
<!-- decoration-muted="state in ['draft']"-->
|
||||
<!-- decoration-danger="state in ['cancel']"-->
|
||||
<!-- decoration-warning="state in ['schedule_a_visit']"-->
|
||||
<!-- decoration-info="state not in ('contact')"/>-->
|
||||
<!-- </strong>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div>-->
|
||||
<!-- <strong>نوع الاجراء:-->
|
||||
<!-- <field name="action_type" widget="badge"-->
|
||||
<!-- decoration-muted="action_type in ['new']"-->
|
||||
<!-- decoration-info="action_type in ['edit_info']"-->
|
||||
<!-- decoration-success="action_type in ['approved']"-->
|
||||
<!-- decoration-danger="action_type in ['suspended']"-->
|
||||
<!-- decoration-warning="action_type in ['exception']"/>-->
|
||||
<!-- </strong>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="o_kanban_record_bottom">-->
|
||||
<!-- <div class="oe_kanban_bottom_right">-->
|
||||
<!-- <field name="activity_ids" widget="kanban_activity"/>-->
|
||||
<!-- <field name="kanban_state" widget="state_selection" groups="base.group_user"/>-->
|
||||
<!-- <field name="user_id" widget="many2one_avatar_user"/>-->
|
||||
<!-- </div>-->
|
||||
<!-- -->
|
||||
<!-- </t>-->
|
||||
<!-- </templates>-->
|
||||
<!-- </kanban>-->
|
||||
<!-- </field>-->
|
||||
<!-- </record>-->
|
||||
<record id="visits_form_kanban_view" model="ir.ui.view">
|
||||
<field name="name">visit.location.kanban</field>
|
||||
<field name="model">visit.location</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban default_group_by="state">
|
||||
<field name="name"/>
|
||||
<field name="color"/>
|
||||
<field name="visit_date"/>
|
||||
<field name="benefit_id"/>
|
||||
<field name="researcher_team"/>
|
||||
<field name="state"/>
|
||||
<field name="activity_ids"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div t-attf-class="{{!selection_mode ? 'oe_kanban_color_' + kanban_getcolor(record.color.raw_value) : ''}} oe_kanban_global_click">
|
||||
<div class="o_dropdown_kanban dropdown">
|
||||
|
||||
<a class="dropdown-toggle o-no-caret btn" role="button" data-toggle="dropdown" data-display="static" href="#" aria-label="Dropdown menu" title="Dropdown menu">
|
||||
<span class="fa fa-ellipsis-v"/>
|
||||
</a>
|
||||
<div class="dropdown-menu" role="menu">
|
||||
<t t-if="widget.editable"><a role="menuitem" type="edit" class="dropdown-item">Edit</a></t>
|
||||
<t t-if="widget.deletable"><a role="menuitem" type="delete" class="dropdown-item">Delete</a></t>
|
||||
<ul class="oe_kanban_colorpicker" data-field="color"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oe_kanban_details">
|
||||
<strong class="o_kanban_record_title">
|
||||
<strong>رقم الزيارة:
|
||||
<field name="name"/>
|
||||
</strong>
|
||||
</strong>
|
||||
<div>
|
||||
<strong>تاريخ الزيارة:
|
||||
<field name="visit_date"/>
|
||||
</strong>
|
||||
</div>
|
||||
<div>
|
||||
<strong>الاسرة:
|
||||
<field name="benefit_id"/>
|
||||
</strong>
|
||||
</div>
|
||||
<div>
|
||||
<strong>الاخصائي:
|
||||
<field name="researcher_team"/>
|
||||
</strong>
|
||||
</div>
|
||||
<div>
|
||||
<strong>الحالة:
|
||||
<field name="state" widget="badge"
|
||||
decoration-success="state in ['done', 'close']"
|
||||
decoration-muted="state in ['draft']"
|
||||
decoration-danger="state in ['cancel']"
|
||||
decoration-warning="state in ['schedule_a_visit']"
|
||||
decoration-info="state in ['contact']"/>
|
||||
</strong>
|
||||
</div>
|
||||
</div>
|
||||
<div class="o_kanban_record_bottom">
|
||||
<div class="oe_kanban_bottom_left">
|
||||
<field name="priority" widget="priority" groups="base.group_user"/>
|
||||
<field name="activity_ids" widget="kanban_activity"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
<record id="visits_form" model="ir.ui.view">
|
||||
<field name="name">visit.location.form</field>
|
||||
<field name="model">visit.location</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Visits">
|
||||
<header>
|
||||
<button name="action_contact" string="Family Contact" type="object" class="oe_highlight" states="draft"/>
|
||||
<button name="action_schedule_a_visit" string="Schedule a visit" type="object" class="oe_highlight" states="contact"/>
|
||||
<button name="action_done" string="Done" type="object" class="oe_highlight" states="schedule_a_visit"/>
|
||||
<button name="action_cancel" string="Visit Cancel" type="object" states="contact,schedule_a_visit"/>
|
||||
<header>
|
||||
<button name="action_contact" string="Family Contact" type="object" class="oe_highlight"
|
||||
states="draft"/>
|
||||
<button name="action_schedule_a_visit" string="Schedule a visit" type="object"
|
||||
class="oe_highlight" states="contact"/>
|
||||
<button name="action_done" string="Done" type="object" class="oe_highlight"
|
||||
states="schedule_a_visit"/>
|
||||
<button name="action_cancel" string="Visit Cancel" type="object"
|
||||
states="contact,schedule_a_visit"/>
|
||||
<button name="action_close" string="Close" type="object" states="done"/>
|
||||
<button name="geo_localize" string="Map" type="object" class="oe_highlight" attrs="{'invisible':[('benefit_id', '=', False)]}"/>
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,contact,schedule_a_visit,cancel,done,close"/>
|
||||
<button name="geo_localize" string="Map" type="object" class="oe_highlight"
|
||||
attrs="{'invisible':[('benefit_id', '=', False)]}"/>
|
||||
<field name="state" widget="statusbar"
|
||||
statusbar_visible="draft,contact,schedule_a_visit,cancel,done,close"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="description" invisible="1" attrs="{'readonly':[('state', 'in', ['close','cancel'])]}"/>
|
||||
<field name="visit_types" domain="[('creation_method','=','manual')]" attrs="{'readonly':[('state', 'in', ['close','cancel'])]}"/>
|
||||
<field name="description" invisible="1"
|
||||
attrs="{'readonly':[('state', 'in', ['close','cancel'])]}"/>
|
||||
<field name="visit_types" domain="[('creation_method','=','manual')]"
|
||||
attrs="{'readonly':[('state', 'in', ['close','cancel'])]}"/>
|
||||
<field name="benefit_id" attrs="{'readonly':[('state', 'in', ['close','cancel'])]}"/>
|
||||
<field name="researcher_team" attrs="{'readonly':[('state', 'in', ['close','cancel'])]}"/>
|
||||
<field name="researcher_ids" invisible="1" widget="many2many_tags" attrs="{'readonly':[('state', 'in', ['close','cancel'])]}" force_save="1"/>
|
||||
<field name="message" attrs="{'invisible':[('state', 'not in', ['draft', 'contact'])],'readonly':[('state', 'in', ['close','cancel'])]}"/>
|
||||
<field name="reason" attrs="{'invisible':[('state', 'not in', ['cancel'])],'readonly':[('state', 'in', ['close','cancel'])]}"/>
|
||||
<field name="researcher_team"
|
||||
attrs="{'readonly':[('state', 'in', ['close','cancel'])]}"/>
|
||||
<field name="researcher_ids" invisible="1" widget="many2many_tags"
|
||||
attrs="{'readonly':[('state', 'in', ['close','cancel'])]}" force_save="1"/>
|
||||
<field name="message"
|
||||
attrs="{'invisible':[('state', 'not in', ['draft', 'contact'])],'readonly':[('state', 'in', ['close','cancel'])]}"/>
|
||||
<field name="reason"
|
||||
attrs="{'invisible':[('state', 'not in', ['cancel'])],'readonly':[('state', 'in', ['close','cancel'])]}"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="priority" widget="priority"/>
|
||||
<field name="visit_date" attrs="{'readonly':[('state', 'in', ['close','cancel'])]}"/>
|
||||
<field name="visit_objective" invisible="1" attrs="{'readonly':[('state', 'in', ['close','cancel'])]}"/>
|
||||
<field name="visit_objective" invisible="1"
|
||||
attrs="{'readonly':[('state', 'in', ['close','cancel'])]}"/>
|
||||
<field name="contact_type" attrs="{'readonly':[('state', 'in', ['close','cancel'])]}"/>
|
||||
</group>
|
||||
</group>
|
||||
|
|
@ -118,12 +134,15 @@
|
|||
<field name="benefit_id"/>
|
||||
<field name="researcher_team"/>
|
||||
<field name="visit_date"/>
|
||||
<field name="priority" widget="priority"/>
|
||||
<field name="description" invisible="1"/>
|
||||
<field name="visit_objective" invisible="1"/>
|
||||
<field name="activity_ids" widget="list_activity"/>
|
||||
<field name="visit_types"/>
|
||||
<field name="contact_type"/>
|
||||
<field name="state" widget="badge" decoration-muted="state in ['draft']" decoration-info="state in ['contact']" decoration-warning="state in ['schedule_a_visit']" decoration-success="state in ['done', 'close']" decoration-danger="state in ['cancel']"/>
|
||||
<field name="state" widget="badge" decoration-muted="state in ['draft']"
|
||||
decoration-info="state in ['contact']" decoration-warning="state in ['schedule_a_visit']"
|
||||
decoration-success="state in ['done', 'close']" decoration-danger="state in ['cancel']"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
|
@ -131,7 +150,7 @@
|
|||
<field name="name">visit.location.activity.view</field>
|
||||
<field name="model">visit.location</field>
|
||||
<field name="arch" type="xml">
|
||||
<activity string="Activity">
|
||||
<activity string="Visits Activity">
|
||||
<field name="id"/>
|
||||
<templates>
|
||||
<div t-name="activity-box">
|
||||
|
|
|
|||
Loading…
Reference in New Issue