diff options
Diffstat (limited to 'addons/hr_holidays/controllers/main.py')
| -rw-r--r-- | addons/hr_holidays/controllers/main.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/addons/hr_holidays/controllers/main.py b/addons/hr_holidays/controllers/main.py new file mode 100644 index 00000000..3c991502 --- /dev/null +++ b/addons/hr_holidays/controllers/main.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo.addons.mail.controllers.main import MailController +from odoo import http + + +class HrHolidaysController(http.Controller): + + @http.route('/leave/validate', type='http', auth='user', methods=['GET']) + def hr_holidays_request_validate(self, res_id, token): + comparison, record, redirect = MailController._check_token_and_record_or_redirect('hr.leave', int(res_id), token) + if comparison and record: + try: + record.action_approve() + except Exception: + return MailController._redirect_to_messaging() + return redirect + + @http.route('/leave/refuse', type='http', auth='user', methods=['GET']) + def hr_holidays_request_refuse(self, res_id, token): + comparison, record, redirect = MailController._check_token_and_record_or_redirect('hr.leave', int(res_id), token) + if comparison and record: + try: + record.action_refuse() + except Exception: + return MailController._redirect_to_messaging() + return redirect + + @http.route('/allocation/validate', type='http', auth='user', methods=['GET']) + def hr_holidays_allocation_validate(self, res_id, token): + comparison, record, redirect = MailController._check_token_and_record_or_redirect('hr.leave.allocation', int(res_id), token) + if comparison and record: + try: + record.action_approve() + except Exception: + return MailController._redirect_to_messaging() + return redirect + + @http.route('/allocation/refuse', type='http', auth='user', methods=['GET']) + def hr_holidays_allocation_refuse(self, res_id, token): + comparison, record, redirect = MailController._check_token_and_record_or_redirect('hr.leave.allocation', int(res_id), token) + if comparison and record: + try: + record.action_refuse() + except Exception: + return MailController._redirect_to_messaging() + return redirect |
