mirror of
https://gitlab.com/sonalarora/tra_backend.git
synced 2025-12-17 18:29:08 +02:00
add new module
This commit is contained in:
60
attendance_regularization/models/regularization.py
Executable file
60
attendance_regularization/models/regularization.py
Executable file
@@ -0,0 +1,60 @@
|
||||
from odoo import fields, api, models
|
||||
|
||||
|
||||
class Regular(models.Model):
|
||||
_name = 'attendance.regular'
|
||||
_rec_name = 'employee_id'
|
||||
_description = 'Approval Request'
|
||||
_inherit = ['mail.thread', 'mail.activity.mixin']
|
||||
|
||||
def _get_employee_id(self):
|
||||
employee_rec = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
|
||||
return employee_rec.id
|
||||
|
||||
reg_category = fields.Many2one('reg.categories', string='Regularization Category', required=True,
|
||||
help='Choose the category of attendance regularization')
|
||||
from_date = fields.Datetime(string='From Date', required=True, help='Start Date')
|
||||
to_date = fields.Datetime(string='To Date', required=True, help='End Date')
|
||||
reg_reason = fields.Text(string='Reason', required=True, help='Reason for the attendance regularization')
|
||||
employee_id = fields.Many2one('hr.employee', string="Employee", default=_get_employee_id, readonly=True,
|
||||
required=True, help='Employee')
|
||||
state_select = fields.Selection([('draft', 'Draft'), ('requested', 'Requested'), ('reject', 'Rejected'),
|
||||
('approved', 'Approved')
|
||||
], default='draft', track_visibility='onchange', string='State',
|
||||
help='State')
|
||||
|
||||
|
||||
def submit_reg(self):
|
||||
self.ensure_one()
|
||||
self.sudo().write({
|
||||
'state_select': 'requested'
|
||||
})
|
||||
return
|
||||
|
||||
|
||||
def regular_approval(self):
|
||||
self.write({
|
||||
'state_select': 'approved'
|
||||
})
|
||||
vals = {
|
||||
'check_in': self.from_date,
|
||||
'check_out': self.to_date,
|
||||
'employee_id': self.employee_id.id,
|
||||
'regularization': True
|
||||
}
|
||||
approve = self.env['hr.attendance'].sudo().create(vals)
|
||||
return
|
||||
|
||||
|
||||
def regular_rejection(self):
|
||||
self.write({
|
||||
'state_select': 'reject'
|
||||
})
|
||||
return
|
||||
|
||||
|
||||
class Category(models.Model):
|
||||
_name = 'reg.categories'
|
||||
_rec_name = 'type'
|
||||
|
||||
type = fields.Char(string='Category', help='Type of regularization')
|
||||
Reference in New Issue
Block a user