#
##############################################################################
-import random
import werkzeug
from datetime import datetime
response = request.website.render("website_blog.blog_post_complete", values)
response.set_cookie('visited_blogs', ','.join(map(str, visited_ids)))
- # Increase counter and ranking ratio for order
- d = datetime.now() - datetime.strptime(blog_post.create_date, "%Y-%m-%d %H:%M:%S")
- blog_post_obj.write(cr, SUPERUSER_ID, [blog_post.id], {
- 'visits': blog_post.visits+1,
- 'ranking': blog_post.visits * (0.5+random.random()) / max(3, d.days)
- },context=context)
+ request.session[request.session_id] = request.session.get(request.session_id, [])
+ if not (blog_post.id in request.session[request.session_id]):
+ request.session[request.session_id].append(blog_post.id)
+ # Increase counter
+ blog_post_obj.write(cr, SUPERUSER_ID, [blog_post.id], {
+ 'visits': blog_post.visits+1,
+ },context=context)
return response
def _blog_post_message(self, user, blog_post_id=0, **post):
#
##############################################################################
+import random
+from datetime import datetime
from openerp import tools
from openerp import SUPERUSER_ID
_description = "Blog Post"
_inherit = ['mail.thread', 'website.seo.metadata']
_order = 'id DESC'
+
+ def _compute_ranking(self, cr, uid, ids, name, arg, context=None):
+ res = {}
+ for blog_post in self.browse(cr, uid, ids, context=context):
+ d = datetime.now() - datetime.strptime(blog_post.create_date, tools.DEFAULT_SERVER_DATETIME_FORMAT)
+ res[blog_post.id] = blog_post.visits * (0.5+random.random()) / max(3, d.days)
+ return res
+
_columns = {
'name': fields.char('Title', required=True, translate=True),
'sub_title' : fields.char('Sub Title', translate=True),
select=True, readonly=True,
),
'visits': fields.integer('No of Views', readonly=True),
- 'ranking': fields.float('Ranking', readonly=True),
+ 'ranking': fields.function(_compute_ranking, string='Ranking', type='float'),
}
_defaults = {
'website_published': False,