From 02a8ad9046db635c7dac9cac08ff3d4ad54cd204 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 31 Jul 2022 14:32:27 +0200 Subject: [PATCH] snippet evt --- controllers/kalachakra.py | 15 ++++++++++++++- views/website_snippets.xml | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/controllers/kalachakra.py b/controllers/kalachakra.py index 99e094f..25e6677 100644 --- a/controllers/kalachakra.py +++ b/controllers/kalachakra.py @@ -4,7 +4,7 @@ from odoo.http import request import logging from odoo import models, fields, api import werkzeug -from datetime import datetime +from datetime import datetime,timedelta from odoo.tools import format_datetime, format_date, is_html_empty from dateutil.relativedelta import relativedelta from odoo.exceptions import UserError @@ -100,7 +100,9 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing): events = Event.search(domain + ['&','|', ('address_id', '=', None), ('country_id.code', '=', country_code), ('date_begin', '>=', '%s 00:00:00' % fields.Date.today()),('booking_event','=',False)], order="date_begin") if not events: events = Event.search(domain + [('booking_event','=',False),('date_begin', '>=', '%s 00:00:00' % fields.Date.today())], order="date_begin") + result['date_next_week']=self.onDay(datetime.today(),6) for event in events: + if country_code and event.country_id.code == country_code: result['country'] = country result['events'].append({ @@ -109,6 +111,17 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing): "url": event.website_url}) return request.env['ir.ui.view']._render_template("website_event.country_events_list", result) + def onDay(self,date, day): + """ + Returns the date of the next given weekday after + the given date. For example, the date of next Monday. + + NB: if it IS the day we're looking for, this returns 0. + consider then doing onDay(foo, day + 1). + """ + days = (day - date.weekday() + 7) % 7 + return date + timedelta(days=days) + def get_formated_date2(self, event): start_date = fields.Datetime.from_string(event.date_begin).date() end_date = fields.Datetime.from_string(event.date_end).date() diff --git a/views/website_snippets.xml b/views/website_snippets.xml index 1b55fd7..1098adf 100644 --- a/views/website_snippets.xml +++ b/views/website_snippets.xml @@ -56,6 +56,7 @@ View all +