From c31abad957725f4492a8a095a16a97983e9d5c19 Mon Sep 17 00:00:00 2001 From: XuanHuyen Date: Sat, 5 Apr 2025 09:31:24 +0700 Subject: [PATCH] api course --- academy_management/__init__.py | 1 + academy_management/__manifest__.py | 3 +++ academy_management/controllers/__init__.py | 1 + .../controllers/academy_course_api.py | 18 ++++++++++++++++++ 4 files changed, 23 insertions(+) create mode 100644 academy_management/controllers/__init__.py create mode 100644 academy_management/controllers/academy_course_api.py diff --git a/academy_management/__init__.py b/academy_management/__init__.py index cde864b..c3d410e 100644 --- a/academy_management/__init__.py +++ b/academy_management/__init__.py @@ -1,3 +1,4 @@ # -*- coding: utf-8 -*- from . import models +from . import controllers diff --git a/academy_management/__manifest__.py b/academy_management/__manifest__.py index 7e24564..1d485aa 100644 --- a/academy_management/__manifest__.py +++ b/academy_management/__manifest__.py @@ -35,5 +35,8 @@ Academy Management 'data/scheduled_action_cron.xml', 'views/academy_menus.xml', ], + 'controllers': [ + 'controllers/academy_course_api.py', + ] } diff --git a/academy_management/controllers/__init__.py b/academy_management/controllers/__init__.py new file mode 100644 index 0000000..7a9016d --- /dev/null +++ b/academy_management/controllers/__init__.py @@ -0,0 +1 @@ +from . import academy_course_api \ No newline at end of file diff --git a/academy_management/controllers/academy_course_api.py b/academy_management/controllers/academy_course_api.py new file mode 100644 index 0000000..bb0d1f1 --- /dev/null +++ b/academy_management/controllers/academy_course_api.py @@ -0,0 +1,18 @@ +from odoo import http +from odoo.http import request +import json + +class AcademyCourseAPI(http.Controller): + @http.route('/academy/courses', type='http', auth='public', methods=['GET']) + def get_courses(self, **kwargs): + + courses = request.env['academy.course'].sudo().search([]) + course_list = [] + + for course in courses: + course_list.append({ + 'name': course.name, + 'description': course.description, + }) + + return json.dumps({'courses': course_list}, ensure_ascii=False) \ No newline at end of file