[IMP] website_event, website_event_track, website_event_sale : prepare migration
- change method decorator (api.one -> api.multi) for `_set_show_menu` and `_set_show_menu` - rename controller class
This commit is contained in:
@@ -14,7 +14,8 @@ from openerp.http import request
|
||||
from openerp.tools.translate import _
|
||||
|
||||
|
||||
class website_event(http.Controller):
|
||||
class WebsiteEventController(http.Controller):
|
||||
|
||||
@http.route(['/event', '/event/page/<int:page>', '/events', '/events/page/<int:page>'], type='http', auth="public", website=True)
|
||||
def events(self, page=1, **searches):
|
||||
cr, uid, context = request.cr, request.uid, request.context
|
||||
|
||||
@@ -47,8 +47,10 @@ class event(models.Model):
|
||||
" of the event on the website.", store=True)
|
||||
menu_id = fields.Many2one('website.menu', 'Event Menu', copy=False)
|
||||
|
||||
@api.one
|
||||
@api.multi
|
||||
def _get_new_menu_pages(self):
|
||||
""" Retuns a list of tuple ('Page name', 'relative page url') for the event """
|
||||
self.ensure_one()
|
||||
todo = [
|
||||
(_('Introduction'), 'website_event.template_intro'),
|
||||
(_('Location'), 'website_event.template_location')
|
||||
@@ -62,27 +64,29 @@ class event(models.Model):
|
||||
result.append((_('Register'), '/event/%s/register' % slug(self)))
|
||||
return result
|
||||
|
||||
@api.one
|
||||
@api.multi
|
||||
def _set_show_menu(self):
|
||||
if self.menu_id and not self.show_menu:
|
||||
self.menu_id.unlink()
|
||||
elif self.show_menu and not self.menu_id:
|
||||
root_menu = self.env['website.menu'].create({'name': self.name})
|
||||
to_create_menus = self._get_new_menu_pages()[0] # TDE CHECK api.one -> returns a list with one item ?
|
||||
seq = 0
|
||||
for name, url in to_create_menus:
|
||||
self.env['website.menu'].create({
|
||||
'name': name,
|
||||
'url': url,
|
||||
'parent_id': root_menu.id,
|
||||
'sequence': seq,
|
||||
})
|
||||
seq += 1
|
||||
self.menu_id = root_menu
|
||||
for event in self:
|
||||
if event.menu_id and not event.show_menu:
|
||||
event.menu_id.unlink()
|
||||
elif event.show_menu and not event.menu_id:
|
||||
root_menu = self.env['website.menu'].create({'name': event.name})
|
||||
to_create_menus = event._get_new_menu_pages()
|
||||
seq = 0
|
||||
for name, url in to_create_menus:
|
||||
self.env['website.menu'].create({
|
||||
'name': name,
|
||||
'url': url,
|
||||
'parent_id': root_menu.id,
|
||||
'sequence': seq,
|
||||
})
|
||||
seq += 1
|
||||
event.menu_id = root_menu
|
||||
|
||||
@api.one
|
||||
@api.multi
|
||||
def _get_show_menu(self):
|
||||
self.show_menu = bool(self.menu_id)
|
||||
for event in self:
|
||||
event.show_menu = bool(event.menu_id)
|
||||
|
||||
def google_map_img(self, cr, uid, ids, zoom=8, width=298, height=298, context=None):
|
||||
event = self.browse(cr, uid, ids[0], context=context)
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from openerp.addons.website_event.controllers.main import website_event
|
||||
from openerp.addons.website_event.controllers.main import WebsiteEventController
|
||||
|
||||
|
||||
class website_event(website_event):
|
||||
class website_event(WebsiteEventController):
|
||||
|
||||
def _process_registration_details(self, details):
|
||||
''' Process data posted from the attendee details form. '''
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
from openerp import SUPERUSER_ID
|
||||
from openerp.addons.web import http
|
||||
from openerp.addons.web.http import request
|
||||
from openerp.addons.website_event.controllers.main import website_event
|
||||
from openerp.addons.website_event.controllers.main import WebsiteEventController
|
||||
from openerp.tools.translate import _
|
||||
|
||||
|
||||
class website_event(website_event):
|
||||
class website_event(WebsiteEventController):
|
||||
|
||||
@http.route(['/event/<model("event.event"):event>/register'], type='http', auth="public", website=True)
|
||||
def event_register(self, event, **post):
|
||||
|
||||
@@ -153,9 +153,10 @@ class event_event(models.Model):
|
||||
tracks_tag_ids = fields.Many2many('event.track.tag', relation='event_track_tags_rel', string='Track Tags', compute='_get_tracks_tag_ids', store=True)
|
||||
count_sponsor = fields.Integer('# Sponsors', compute='_count_sponsor')
|
||||
|
||||
@api.one
|
||||
@api.multi
|
||||
def _get_new_menu_pages(self):
|
||||
result = super(event_event, self)._get_new_menu_pages()[0] # TDE CHECK api.one -> returns a list with one item ?
|
||||
self.ensure_one()
|
||||
result = super(event_event, self)._get_new_menu_pages()
|
||||
if self.show_tracks:
|
||||
result.append((_('Talks'), '/event/%s/track' % slug(self)))
|
||||
result.append((_('Agenda'), '/event/%s/agenda' % slug(self)))
|
||||
@@ -163,14 +164,15 @@ class event_event(models.Model):
|
||||
result.append((_('Talk Proposals'), '/event/%s/track_proposal' % slug(self)))
|
||||
return result
|
||||
|
||||
@api.one
|
||||
@api.multi
|
||||
def _set_show_menu(self):
|
||||
# if the number of menu items have changed, then menu items must be regenerated
|
||||
if self.menu_id:
|
||||
nbr_menu_items = len(self._get_new_menu_pages()[0])
|
||||
if nbr_menu_items != len(self.menu_id.child_id):
|
||||
self.menu_id.unlink()
|
||||
return super(event_event, self)._set_show_menu()[0]
|
||||
for event in self:
|
||||
# if the number of menu items have changed, then menu items must be regenerated
|
||||
if event.menu_id:
|
||||
nbr_menu_items = len(event._get_new_menu_pages())
|
||||
if nbr_menu_items != len(event.menu_id.child_id):
|
||||
event.menu_id.unlink()
|
||||
return super(event_event, self)._set_show_menu()
|
||||
|
||||
|
||||
class event_sponsors_type(models.Model):
|
||||
|
||||
Reference in New Issue
Block a user