diff --git a/odex25_mobile/odex_mobile/__manifest__.py b/odex25_mobile/odex_mobile/__manifest__.py index 2ed08dbf2..3dc96814c 100644 --- a/odex25_mobile/odex_mobile/__manifest__.py +++ b/odex25_mobile/odex_mobile/__manifest__.py @@ -23,6 +23,7 @@ }, 'data': [ 'security/ir.model.access.csv', + 'data/data.xml', 'views/attendance_zone_config_view.xml', 'views/hr_employee_view.xml', 'views/firebase_notifications.xml', diff --git a/odex25_mobile/odex_mobile/controllers/rest_api_v2/official_mission.py b/odex25_mobile/odex_mobile/controllers/rest_api_v2/official_mission.py index fc89ebdca..fe0064ee8 100644 --- a/odex25_mobile/odex_mobile/controllers/rest_api_v2/official_mission.py +++ b/odex25_mobile/odex_mobile/controllers/rest_api_v2/official_mission.py @@ -7,6 +7,7 @@ from odoo.http import request from ...http_helper import http_helper from ...validator import validator from datetime import date, datetime +from ast import literal_eval _logger = logging.getLogger(__name__) @@ -651,7 +652,16 @@ class HrOfficialMissionRelatedModelsController(http.Controller): # 2.2 Mission Destination @http.route(['/api/mission_destination'], type='http', auth='none', csrf=False, methods=['GET']) def get_mission_destination_list(self, **kw): - destinations = request.env["mission.destination"].sudo().search([]) + param = request.env['ir.config_parameter'].sudo().get_param('mission.destination.domain', '[]') + + # evaluate the string into a domain list + try: + domain = literal_eval(param) + if not isinstance(domain, list): + domain = [] + except Exception: + domain = [] + destinations = request.env["mission.destination"].sudo().search(domain) data = [] for dest in destinations: data.append({ diff --git a/odex25_mobile/odex_mobile/data/data.xml b/odex25_mobile/odex_mobile/data/data.xml new file mode 100644 index 000000000..2ff394af0 --- /dev/null +++ b/odex25_mobile/odex_mobile/data/data.xml @@ -0,0 +1,9 @@ + + + + + mission.destination.domain + [] + + + \ No newline at end of file