summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-08-03 13:57:58 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-08-03 13:57:58 +0700
commit295dabd27518f3947994fb7cab39f6448db7aafa (patch)
tree36a41eb8ece2970e20729283bc00cd09bee26f96
parent4a670f1f85848ef46c605fd67ff4e3d305571522 (diff)
Update for_week to group_by_week on banner model, view, API
-rw-r--r--indoteknik_api/controllers/api_v1/banner.py24
-rwxr-xr-xindoteknik_custom/models/x_banner_banner.py12
-rwxr-xr-xindoteknik_custom/views/x_banner_banner.xml4
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" />