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 | |
| parent | 4a670f1f85848ef46c605fd67ff4e3d305571522 (diff) | |
Update for_week to group_by_week on banner model, view, API
| -rw-r--r-- | indoteknik_api/controllers/api_v1/banner.py | 24 | ||||
| -rwxr-xr-x | indoteknik_custom/models/x_banner_banner.py | 12 | ||||
| -rwxr-xr-x | indoteknik_custom/views/x_banner_banner.xml | 4 |
3 files changed, 25 insertions, 15 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 diff --git a/indoteknik_custom/models/x_banner_banner.py b/indoteknik_custom/models/x_banner_banner.py index a9de2067..d6884c9b 100755 --- a/indoteknik_custom/models/x_banner_banner.py +++ b/indoteknik_custom/models/x_banner_banner.py @@ -18,9 +18,9 @@ class XBannerBanner(models.Model): ('tidak_tayang', 'Tidak Tayang') ], string="Status") sequence = fields.Integer(string='Sequence') - for_week = fields.Selection([ - ('1', 1), - ('2', 2), - ('3', 3), - ('4', 4) - ], string='For Week')
\ No newline at end of file + group_by_week = fields.Selection([ + ('1', '1'), + ('2', '2'), + ('3', '3'), + ('4', '4') + ], string='Group by Week')
\ No newline at end of file diff --git a/indoteknik_custom/views/x_banner_banner.xml b/indoteknik_custom/views/x_banner_banner.xml index 10c762af..5e6526e0 100755 --- a/indoteknik_custom/views/x_banner_banner.xml +++ b/indoteknik_custom/views/x_banner_banner.xml @@ -7,7 +7,7 @@ <tree> <field name="sequence" string="Seq" /> <field name="x_name" /> - <field name="for_week" /> + <field name="group_by_week" /> <field name="x_banner_category" /> <field name="x_relasi_manufacture" /> <field name="x_url_banner" /> @@ -30,7 +30,7 @@ <field name="x_url_banner" /> <field name="x_status_banner" /> <field name="sequence" /> - <field name="for_week" /> + <field name="group_by_week" /> </group> <group> <field name="background_color" /> |
