diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-08-01 16:16:24 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-08-01 16:16:24 +0700 |
| commit | f371d548f434fac43595dffd9125f1d63f978157 (patch) | |
| tree | 66f276000d8f8e7d51799e6721788eb579dc5ef2 | |
| parent | a58a6148cb903cab6f34a4b5084df98436819c85 (diff) | |
Add sequence and for_week on banner
| -rw-r--r-- | indoteknik_api/controllers/api_v1/banner.py | 17 | ||||
| -rwxr-xr-x | indoteknik_custom/models/x_banner_banner.py | 9 | ||||
| -rwxr-xr-x | indoteknik_custom/views/x_banner_banner.xml | 29 |
3 files changed, 37 insertions, 18 deletions
diff --git a/indoteknik_api/controllers/api_v1/banner.py b/indoteknik_api/controllers/api_v1/banner.py index 1bd0fea6..79aa5fa5 100644 --- a/indoteknik_api/controllers/api_v1/banner.py +++ b/indoteknik_api/controllers/api_v1/banner.py @@ -1,6 +1,7 @@ from .. import controller from odoo import http from odoo.http import request +from datetime import datetime class Banner(controller.Controller): @@ -13,14 +14,17 @@ class Banner(controller.Controller): type = kw.get('type') limit = int(kw.get('limit', 0)) offset = int(kw.get('offset', 0)) - order = kw.get('order') - if not order: - order = 'write_date DESC' + order = kw.get('order', 'write_date DESC') query = [('x_status_banner', '=', 'tayang')] 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])] + if manufacture_id: query += [('x_relasi_manufacture', '=', int(manufacture_id))] @@ -35,4 +39,9 @@ class Banner(controller.Controller): 'image': request.env['ir.attachment'].api_image('x_banner.banner', 'x_banner_image', banner.id), }) - return self.response(data, headers=[('Cache-Control', 'max-age=3600, public')])
\ No newline at end of file + return self.response(data, headers=[('Cache-Control', 'max-age=3600, public')]) + + def get_week_number_of_current_month(self): + today = datetime.now().day + week_number = (today - 1) // 7 + 1 + return min(week_number, 4)
\ No newline at end of file diff --git a/indoteknik_custom/models/x_banner_banner.py b/indoteknik_custom/models/x_banner_banner.py index c34b7634..a9de2067 100755 --- a/indoteknik_custom/models/x_banner_banner.py +++ b/indoteknik_custom/models/x_banner_banner.py @@ -16,4 +16,11 @@ class XBannerBanner(models.Model): x_status_banner = fields.Selection([ ('tayang', 'Tayang'), ('tidak_tayang', 'Tidak Tayang') - ], string="Status")
\ No newline at end of file + ], 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 diff --git a/indoteknik_custom/views/x_banner_banner.xml b/indoteknik_custom/views/x_banner_banner.xml index 4f3f1911..10c762af 100755 --- a/indoteknik_custom/views/x_banner_banner.xml +++ b/indoteknik_custom/views/x_banner_banner.xml @@ -5,12 +5,13 @@ <field name="model">x_banner.banner</field> <field name="arch" type="xml"> <tree> - <field name="id"/> - <field name="x_name"/> - <field name="x_banner_category"/> - <field name="x_relasi_manufacture"/> - <field name="x_url_banner"/> - <field name="x_status_banner"/> + <field name="sequence" string="Seq" /> + <field name="x_name" /> + <field name="for_week" /> + <field name="x_banner_category" /> + <field name="x_relasi_manufacture" /> + <field name="x_url_banner" /> + <field name="x_status_banner" /> </tree> </field> </record> @@ -23,15 +24,17 @@ <sheet> <group> <group> - <field name="x_name"/> - <field name="x_banner_category"/> - <field name="x_relasi_manufacture"/> - <field name="x_url_banner"/> - <field name="x_status_banner"/> + <field name="x_name" /> + <field name="x_banner_category" /> + <field name="x_relasi_manufacture" /> + <field name="x_url_banner" /> + <field name="x_status_banner" /> + <field name="sequence" /> + <field name="for_week" /> </group> <group> - <field name="background_color"/> - <field name="x_banner_image" widget="image"/> + <field name="background_color" /> + <field name="x_banner_image" widget="image" /> </group> </group> </sheet> |
