odoo_18_Education_management/controllers/school_login.py

40 lines
1.4 KiB
Python

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,
})