path_filter = ""
domain = []
-
if blog:
- path_filter += "%s" % blog.id
- domain += [("id", "in", [post.id for post in blog.blog_post_ids])]
+ path_filter += "%s/" % blog.id
+ domain += [("blog_id", "=", [blog.id])]
if tag:
- path_filter += 'tag/%s' % tag.id
- domain += [("id", "in", [post.id for post in tag.blog_post_ids])]
+ path_filter += 'tag/%s/' % tag.id
+ domain += [("tag_ids", "in", [tag.id])]
if date:
- path_filter += "date/%s/" % date
+ path_filter += "date/%s" % date
domain += [("create_date", ">=", date.split("_")[0]), ("create_date", "<=", date.split("_")[1])]
- blog_post_ids = blog_post_obj.search(cr, uid, domain, context=context)
- blog_posts = blog_post_obj.browse(cr, uid, blog_post_ids, context=context)
-
+ blog_post_count = blog_post_obj.search(cr, uid, domain, count=True, context=context)
pager = request.website.pager(
url="/blog/%s" % path_filter,
- total=len(blog_posts),
+ total=blog_post_count,
page=page,
step=self._blog_post_per_page,
- scope=BYPAGE
+ scope=10
)
- pager_begin = (page - 1) * self._blog_post_per_page
- pager_end = page * self._blog_post_per_page
- blog_posts = blog_posts[pager_begin:pager_end]
+ blog_post_ids = blog_post_obj.search(cr, uid, domain, context=context, limit=self._blog_post_per_page, offset=pager['offset'])
+ blog_posts = blog_post_obj.browse(cr, uid, blog_post_ids, context=context)
tag_obj = request.registry['blog.tag']
tag_ids = tag_obj.search(cr, uid, [], context=context)
"""
cr, uid, context = request.cr, request.uid, request.context
create_context = dict(context, mail_create_nosubscribe=True)
- new_blog_post_id = request.registry['blog.post'].copy(cr, uid, blog_post_id, {}, context=create_context)
- return werkzeug.utils.redirect("/blogpost/%s?enable_editor=1" % new_blog_post_id)
+ nid = request.registry['blog.post'].copy(cr, uid, blog_post_id, {}, context=create_context)
+ post = request.registry['blog.post'].browse(cr, uid, nid, context)
+ return werkzeug.utils.redirect("/blog/%s/post/%s/?enable_editor=1" % (post.blog_id.id, nid))
+
+ @http.route('/blogpost/get_discussion/', type='json', auth="public", website=True)
+ def discussion(self, post_id=0, discussion=None, count=False, **post):
+ cr, uid, context = request.cr, request.uid, request.context
+ mail_obj = request.registry.get('mail.message')
+ domain = [('res_id', '=', int(post_id)) ,('model','=','blog.post'), ('discussion', '=', discussion)]
+ #check current user belongs to website publisher group
+ publish = request.registry['res.users'].has_group(cr, uid, 'base.group_website_publisher')
+ if not publish:
+ domain.append(('website_published', '=', True))
+ ids = mail_obj.search(cr, SUPERUSER_ID, domain, count=count)
+ if count:
+ return ids
+ return self._get_discussion_detail(ids, publish, **post)
+
+ @http.route('/blogpsot/change_background', type='json', auth="public", website=True)
+ def change_bg(self, post_id=0, image=None, **post):
+ post_obj = request.registry.get('blog.post')
+ values = {'content_image' : image}
+
+ ids = post_obj.write(request.cr, request.uid, [int(post_id)], values, request.context)
+ return []
+
+ @http.route('/blog/get_user/', type='json', auth="public", website=True)
+ def get_user(self, **post):
+ return [False if request.session.uid else True]
-