odex30_standard/odex30_base/hr_holidays_community/controllers/main.py

30 lines
1.2 KiB
Python

from odoo import http
from odoo.http import request
from odoo.exceptions import AccessError, UserError
class HrHolidaysController(http.Controller):
@http.route('/hr_holidays/validate', type='http', auth='public', methods=['GET'])
def hr_holidays_validate(self, res_id, token, **kwargs):
record = request.env['hr.holidays'].sudo().browse(int(res_id))
if not record.exists():
return request.redirect('/mail/view')
try:
record.check_access_token(token)
record.action_approve()
except (AccessError, UserError, Exception):
return request.redirect('/mail/view')
return request.redirect('/mail/view')
@http.route('/hr_holidays/refuse', type='http', auth='public', methods=['GET'])
def hr_holidays_refuse(self, res_id, token, **kwargs):
record = request.env['hr.holidays'].sudo().browse(int(res_id))
if not record.exists():
return request.redirect('/mail/view')
try:
record.check_access_token(token)
record.action_refuse()
except (AccessError, UserError, Exception):
return request.redirect('/mail/view')
return request.redirect('/mail/view')