appraisal button+remove raise

This commit is contained in:
Esraa-Exp 2025-02-24 16:22:33 +02:00
parent 35d56421c5
commit e0289b3642
10 changed files with 49 additions and 60 deletions

View File

@ -18,6 +18,8 @@ class AppraisalPlan(models.Model):
standard_appraisal_id = fields.One2many('standard.appraisal', 'standard_appraisal_line')
manager_appraisal_id = fields.One2many('manager.appraisal', 'manager_appraisal_line')
company_id = fields.Many2one('res.company', string='Company', default=lambda self: self.env.company)
appraisal_result_ids = fields.Many2many("appraisal.result", string="Appraisal Result", required=True)
# Compute total field

View File

@ -12,6 +12,8 @@ class AppraisalResult(models.Model):
result_from = fields.Float()
result_to = fields.Float()
company_id = fields.Many2one('res.company', string='Company', default=lambda self: self.env.company)
appraisal_plan_ids = fields.Many2many("appraisal.plan", string="Appraisal Plan")
# Constrains for result_from and result_to if it's value is less than zero or greater than 100

View File

@ -11,6 +11,7 @@
<group>
<field name="name" string="Plan name" required="1"/>
<field name="department_id" string="Department"/>
<field name="appraisal_result_ids" widget="many2many_tags"/>
<field name="is_manager" string="Is manager?"/>
<field name="company_id" groups="base.group_multi_company" readonly="1"/>
</group>

View File

@ -11,6 +11,7 @@
<field name="name" string="Result name" required="1"/>
<field name="result_from" string="Result from" required="1"/>
<field name="result_to" string="Result to" required="1"/>
<field name="appraisal_plan_ids" widget="many2many_tags"/>
<field name="company_id" groups="base.group_multi_company" readonly="1"/>
</group>
</sheet>

View File

@ -2629,6 +2629,13 @@ msgstr "الدورة التدريبية"
msgid "Appraisal Result"
msgstr "نتيجة التقييم"
#. module: exp_official_mission
#: code:addons/exp_official_mission/models/hr_official_mission.py:0
#: model_terms:ir.ui.view,arch_db:exp_official_mission.employee_training_form_view
#, python-format
msgid "Employees Appraisal"
msgstr "تقييم الموظفين"

View File

@ -55,16 +55,3 @@ class EmployeeAppraisal(models.Model):
res = super(EmployeeAppraisal, self).onchange_appraisal_lines()
return res
class AppraisalResult(models.Model):
_inherit = 'appraisal.result'
appraisal_plan_ids = fields.Many2many("appraisal.plan", string="Appraisal Plan")
class AppraisalPlan(models.Model):
_inherit = 'appraisal.plan'
appraisal_result_ids = fields.Many2many("appraisal.result", string="Appraisal Result", required=True)

View File

@ -95,6 +95,8 @@ class HrOfficialMission(models.Model):
attachment_count = fields.Integer(string="Attachments", compute="_compute_attachment_count")
training_details = fields.Html('Training Details')
trainer_id = fields.Many2one('res.partner', string="Trainer")
appraisal_count = fields.Integer(string="Appraisals", compute="get_employees_appraisal")
@ -182,6 +184,32 @@ class HrOfficialMission(models.Model):
'context': ctx,
}
def get_employees_appraisal(self):
for rec in self:
rec.appraisal_count = 0
employee_ids = rec.employee_ids.mapped('employee_id')
training = rec.env['hr.employee.appraisal'].search(
[('employee_id', 'in', employee_ids.ids), ('state', '=', 'state_done'),('mission_id', '=', rec.id)])
rec.appraisal_count = len(training)
def action_employees_appraisal(self):
employee_ids = self.employee_ids.mapped('employee_id')
training = self.env['hr.employee.appraisal'].search(
[('employee_id', 'in', employee_ids.ids), ('state', '=', 'state_done'), ('mission_id', '=', self.id)])
print(training,"training>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.")
return {
'name': (_("Employees Appraisal")),
'view_mode': 'tree',
'view_id': False,
'res_model': 'hr.employee.appraisal',
'type': 'ir.actions.act_window',
'target': 'current',
'domain': "[('id', 'in', %s)]" % training.ids,
'context': {}
}
def check_appraisal(self):
if any(self.employee_ids.mapped('appraisal_id')):
self.appraisal_found = True

View File

@ -26,48 +26,6 @@
</record>
<record id="employee_appraisal_result_inherit" model="ir.ui.view">
<field name="name">appraisal.result.form.inherit</field>
<field name="model">appraisal.result</field>
<field name="inherit_id" ref="exp_hr_appraisal.appraisal_result_form_view"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='result_to']" position="after">
<field name="appraisal_plan_ids" widget="many2many_tags"/>
</xpath>
</field>
</record>
<record id="employee_appraisal_result_inherit" model="ir.ui.view">
<field name="name">appraisal.result.form.inherit</field>
<field name="model">appraisal.result</field>
<field name="inherit_id" ref="exp_hr_appraisal.appraisal_result_form_view"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='result_to']" position="after">
<field name="appraisal_plan_ids" widget="many2many_tags"/>
</xpath>
</field>
</record>
<record id="employee_appraisal_plan_inherit" model="ir.ui.view">
<field name="name">appraisal.plan.form.inherit</field>
<field name="model">appraisal.plan</field>
<field name="inherit_id" ref="exp_hr_appraisal.appraisal_plan_form_view"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='department_id']" position="after">
<field name="appraisal_result_ids" widget="many2many_tags"/>
</xpath>
</field>
</record>
</data>
</odoo>

View File

@ -60,6 +60,12 @@
<field name="attachment_count" widget="statinfo" string="Attachments"
options="{'reload_on_button': true}"/>
</button>
<button name="action_employees_appraisal" class="oe_stat_button" icon="fa-file-text-o"
type="object">
<field name="appraisal_count" widget="statinfo" string="Employees Appraisal"
options="{'reload_on_button': true}"/>
</button>
</div>
<group>
<group>
@ -180,8 +186,7 @@
<field name="train_cost_emp" string="Training Cost"
groups="hr_base.group_account_manager,hr.group_hr_user,hr_base.group_division_manager"/>
<field name="appraisal_id" string="Appraisal" readonly="1" force_save="1"
attrs="{'column_invisible':[('parent.appraisal_found','=',False)]}"/>
<field name="appraisal_id" string="Appraisal" readonly="1" force_save="1" invisible="1"/>
<field name="appraisal_result" string="Appraisal Result" readonly="1"
force_save="1"
attrs="{'column_invisible':[('parent.appraisal_check','=',False)]}"/>
@ -261,7 +266,7 @@
groups="hr_base.group_account_manager,hr.group_hr_user,hr_base.group_division_manager"/>
<field name="appraisal_id" string="Appraisal" readonly="1"
force_save="1"
attrs="{'column_invisible':[('parent.appraisal_check','=',False)]}"/>
invisible="1"/>
<field name="appraisal_result" string="Appraisal Result" readonly="1"
force_save="1"
attrs="{'column_invisible':[('parent.appraisal_check','=',False)]}"/>

View File

@ -48,8 +48,6 @@ class HrOfficialMission(models.Model):
emp.employee_id.write(
{'work_state': self.mission_type.work_state, 'active_mission_id': emp.id})
self.call_cron_function()
else:
raise exceptions.Warning(_('Training Cost Must be Bigger than Zero'))
else:
res = super(HrOfficialMission, self).approve()