diff --git a/student_management/__manifest__.py b/student_management/__manifest__.py index 6e07f04..bd1c6c8 100644 --- a/student_management/__manifest__.py +++ b/student_management/__manifest__.py @@ -27,6 +27,7 @@ Long description of module's purpose 'views/student_course_views.xml', 'reports/student_report_template.xml', 'reports/student_report.xml', + 'data/student_cron.xml', 'views/student_menus.xml', ], # only loaded in demonstration mode diff --git a/student_management/controllers/__init__.py b/student_management/controllers/__init__.py index b0f26a9..d531337 100644 --- a/student_management/controllers/__init__.py +++ b/student_management/controllers/__init__.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -from . import controllers +from . import student_api diff --git a/student_management/controllers/student_api.py b/student_management/controllers/student_api.py new file mode 100644 index 0000000..546df3a --- /dev/null +++ b/student_management/controllers/student_api.py @@ -0,0 +1,29 @@ +from odoo import http +from odoo.http import request +import json + +class StudentAPI(http.Controller): + @http.route('/student/students', type='http', auth='none', methods=['GET']) + def get_students(self, **kwargs): + token = kwargs.get('token') + valid_token = 'token_123' + + if not token or token != valid_token: + return { + 'error': 'Unauthorized', + "message": "Invalid API token" + }, 401 + + students = request.env['student.student'].sudo().search([]) + student_list = [] + + for student in students: + student_list.append({ + 'id': student.id, + 'name': student.name, + 'email': student.email, + 'gender': student.gender, + 'phone': student.phone, + }) + + return json.dumps({'students': student_list}, ensure_ascii=False) \ No newline at end of file diff --git a/student_management/data/student_cron.xml b/student_management/data/student_cron.xml new file mode 100644 index 0000000..10e124f --- /dev/null +++ b/student_management/data/student_cron.xml @@ -0,0 +1,14 @@ + + + + + Import Students + + 1 + days + code + + + + +