diff --git a/addons/website_blog/controllers/main.py b/addons/website_blog/controllers/main.py index 34a117505a5..cb655585d04 100644 --- a/addons/website_blog/controllers/main.py +++ b/addons/website_blog/controllers/main.py @@ -41,7 +41,7 @@ class WebsiteBlog(http.Controller): '/blog/cat//page//', '/blog/tag/', '/blog/tag//', - ], type='http', auth="public") + ], type='http', auth="public", multilang=True) def blog(self, category_id=None, blog_post_id=None, tag_id=None, page=1, **post): """ Prepare all values to display the blog. @@ -159,7 +159,8 @@ class WebsiteBlog(http.Controller): return request.website.render("website_blog.index", values) - @website.route(['/blog/nav'], type='http', auth="public") + # TODO: Refactor (used in website_blog.js for archive links) + @website.route(['/blog/nav'], type='http', auth="public", multilang=True) def nav(self, **post): cr, uid, context = request.cr, request.uid, request.context blog_post_ids = request.registry['blog.post'].search( @@ -171,9 +172,10 @@ class WebsiteBlog(http.Controller): blog_post_data = [ { 'id': blog_post.id, - 'name': blog_post.name, 'website_published': blog_post.website_published, - 'category_id': blog_post.category_id and blog_post.category_id.id or False, + 'fragment': request.website.render("website_blog.blog_archive_link", { + 'blog_post': blog_post + }), } for blog_post in request.registry['blog.post'].browse(cr, uid, blog_post_ids, context=context) ] diff --git a/addons/website_blog/static/src/js/website_blog.js b/addons/website_blog/static/src/js/website_blog.js index ef26187f3c2..84e40ec3f12 100644 --- a/addons/website_blog/static/src/js/website_blog.js +++ b/addons/website_blog/static/src/js/website_blog.js @@ -8,15 +8,14 @@ $(document).ready(function () { e.preventDefault(); var $ul = $(this).next("ul"); if (!$ul.find('li').length) { + // TODO: Why POST? A GET would be more appropriate... + // This should be done server side anyway... $.post('/blog/nav', {'domain': $(this).data("domain")}, function (result) { var blog_id = +window.location.pathname.split("/").pop(); $(JSON.parse(result)).each(function () { - var $a = $('').text(this.name); - var $li = $("
  • ").append($a); - if (blog_id == this.id) - $li.addClass("active"); - if (!this.website_published) - $a.css("color", "red"); + var $li = $($.parseHTML(this.fragment)); + if (blog_id == this.id) $li.addClass("active"); + if (!this.website_published) $li.find('a').css("color", "red"); $ul.append($li); }); @@ -38,4 +37,4 @@ $(document).ready(function () { }); } }); -}); +}); \ No newline at end of file diff --git a/addons/website_blog/views/website_blog_templates.xml b/addons/website_blog/views/website_blog_templates.xml index 642fe8ed180..313e223c229 100644 --- a/addons/website_blog/views/website_blog_templates.xml +++ b/addons/website_blog/views/website_blog_templates.xml @@ -4,7 +4,7 @@ @@ -21,17 +21,17 @@ - +

    - +

    @@ -87,7 +87,7 @@ - + + + diff --git a/addons/website_event/controllers/main.py b/addons/website_event/controllers/main.py index 16b76c58213..5e22a3fc592 100644 --- a/addons/website_event/controllers/main.py +++ b/addons/website_event/controllers/main.py @@ -182,7 +182,10 @@ class website_event(http.Controller): _values = None for key, value in post.items(): - quantity = int(value) + try: + quantity = int(value) + except: + quantity = None ticket_id = key.split("-")[0] == 'ticket' and int(key.split("-")[1]) or None if not ticket_id or not quantity: continue diff --git a/addons/website_event/views/website_event.xml b/addons/website_event/views/website_event.xml index d7ca1db38fe..4b9ae3311b1 100644 --- a/addons/website_event/views/website_event.xml +++ b/addons/website_event/views/website_event.xml @@ -9,7 +9,7 @@ - +