from odoo import http from odoo.http import request class SchoolLogin(http.Controller): @http.route('/school/login', type='http', auth='public', website=True) def school_login_page(self, **kwargs): return request.render("school_management.school_login_template") @http.route('/school/do_login', type='http', auth='public', website=True, csrf=False) def school_do_login(self, **post): login = post.get('login') password = post.get('password') user = request.env['school.user'].sudo().search([ ('login', '=', login), ('password', '=', password) ], limit=1) if user: request.session['school_user_id'] = user.id request.session['school_user_role'] = user.role return request.redirect('/school/dashboard') else: return request.render("school_management.school_login_template", { 'error': "Invalid login or password" }) @http.route('/school/dashboard', type='http', auth='public', website=True) def school_dashboard(self, **kwargs): user_id = request.session.get('school_user_id') user_role = request.session.get('school_user_role') if not user_id: return request.redirect('/school/login') return request.render("school_management.school_dashboard", { 'role': user_role, })