diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-08-03 13:57:58 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-08-03 13:57:58 +0700 |
| commit | 295dabd27518f3947994fb7cab39f6448db7aafa (patch) | |
| tree | 36a41eb8ece2970e20729283bc00cd09bee26f96 /indoteknik_api/controllers/api_v1 | |
| parent | 4a670f1f85848ef46c605fd67ff4e3d305571522 (diff) | |
Update for_week to group_by_week on banner model, view, API
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
| -rw-r--r-- | indoteknik_api/controllers/api_v1/banner.py | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/indoteknik_api/controllers/api_v1/banner.py b/indoteknik_api/controllers/api_v1/banner.py index 79aa5fa5..d1ebf573 100644 --- a/indoteknik_api/controllers/api_v1/banner.py +++ b/indoteknik_api/controllers/api_v1/banner.py @@ -20,26 +20,36 @@ class Banner(controller.Controller): if type: query += [('x_banner_category.x_studio_field_KKVl4', '=', type)] - week_number = self.get_week_number_of_current_month() if type == 'index-a-1': - order = 'sequence ASC' - query += [('for_week', 'in', [week_number, False])] + order = 'group_by_week ASC, sequence ASC' if manufacture_id: query += [('x_relasi_manufacture', '=', int(manufacture_id))] banners = request.env['x_banner.banner'].search(query, limit=limit, offset=offset, order=order) - data = [] + week_number = self.get_week_number_of_current_month() + + end_datas = [] + datas = [] for banner in banners: - data.append({ + data = { 'name': banner.x_name, 'url': banner.x_url_banner, 'background_color': banner.background_color, + 'sequence': banner.sequence, + 'group_by_week': banner.group_by_week, 'image': request.env['ir.attachment'].api_image('x_banner.banner', 'x_banner_image', banner.id), - }) + } + + if banner.group_by_week and int(banner.group_by_week) < week_number and type == 'index-a-1': + end_datas.append(data) + continue + + datas.append(data) - return self.response(data, headers=[('Cache-Control', 'max-age=3600, public')]) + datas += end_datas + return self.response(datas, headers=[('Cache-Control', 'max-age=3600, public')]) def get_week_number_of_current_month(self): today = datetime.now().day |
