40 lines
1.4 KiB
Python
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,
|
|
})
|