Browse Source

snippet evt

dev-rcn
root 3 years ago
parent
commit
02a8ad9046
2 changed files with 15 additions and 1 deletions
  1. +14
    -1
      controllers/kalachakra.py
  2. +1
    -0
      views/website_snippets.xml

+ 14
- 1
controllers/kalachakra.py View File

@ -4,7 +4,7 @@ from odoo.http import request
import logging import logging
from odoo import models, fields, api from odoo import models, fields, api
import werkzeug import werkzeug
from datetime import datetime
from datetime import datetime,timedelta
from odoo.tools import format_datetime, format_date, is_html_empty from odoo.tools import format_datetime, format_date, is_html_empty
from dateutil.relativedelta import relativedelta from dateutil.relativedelta import relativedelta
from odoo.exceptions import UserError 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") 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: if not events:
events = Event.search(domain + [('booking_event','=',False),('date_begin', '>=', '%s 00:00:00' % fields.Date.today())], order="date_begin") 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: for event in events:
if country_code and event.country_id.code == country_code: if country_code and event.country_id.code == country_code:
result['country'] = country result['country'] = country
result['events'].append({ result['events'].append({
@ -109,6 +111,17 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing):
"url": event.website_url}) "url": event.website_url})
return request.env['ir.ui.view']._render_template("website_event.country_events_list", result) 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): def get_formated_date2(self, event):
start_date = fields.Datetime.from_string(event.date_begin).date() start_date = fields.Datetime.from_string(event.date_begin).date()
end_date = fields.Datetime.from_string(event.date_end).date() end_date = fields.Datetime.from_string(event.date_end).date()


+ 1
- 0
views/website_snippets.xml View File

@ -56,6 +56,7 @@
<a style="font-size: 18px;" href="/event" class="small"><b>View all</b></a> <a style="font-size: 18px;" href="/event" class="small"><b>View all</b></a>
</t> </t>
</div> </div>
<span t-esc="date_next_week"/>
</t> </t>
</div> </div>
</xpath> </xpath>


Loading…
Cancel
Save