From bdcd76b6964a8cf0990af897eff9cb9fc8efd288 Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Sun, 5 Oct 2014 15:57:37 +0200
Subject: [PATCH] [IMP] name is name (and not URL in case of links
---
addons/website_forum/controllers/main.py | 24 ++++++++----------------
addons/website_forum/data/forum_demo.xml | 4 ++--
addons/website_forum/models/forum.py | 14 ++++++++------
addons/website_forum/views/website_forum.xml | 6 +++---
4 files changed, 21 insertions(+), 27 deletions(-)
diff --git a/addons/website_forum/controllers/main.py b/addons/website_forum/controllers/main.py
index 68fae56..00311eb 100644
--- a/addons/website_forum/controllers/main.py
+++ b/addons/website_forum/controllers/main.py
@@ -79,7 +79,7 @@ class WebsiteForum(http.Controller):
'''/forum//tag//questions''',
'''/forum//tag//questions/page/''',
], type='http', auth="public", website=True)
- def questions(self, forum, tag=None, page=1, filters='all', sorting='relevancy', search='', post_type='all', **post):
+ def questions(self, forum, tag=None, page=1, filters='all', sorting=None, search='', post_type='all', **post):
cr, uid, context = request.cr, request.uid, request.context
Post = request.registry['forum.post']
user = request.registry['res.users'].browse(cr, uid, uid, context=context)
@@ -103,17 +103,8 @@ class WebsiteForum(http.Controller):
elif post_type == 'discussion':
domain += [('type', '=', 'discussion')]
- if sorting == 'answered':
- order = 'child_count desc'
- elif sorting == 'vote':
- order = 'vote_count desc'
- elif sorting == 'date':
- order = 'write_date desc'
- elif sorting == 'creation':
- order = 'create_date desc'
- else:
- sorting == 'relevancy'
- order = 'relevancy'
+ if not sorting:
+ sorting = forum.default_order
question_count = Post.search(cr, uid, domain, count=True, context=context)
if tag:
@@ -121,18 +112,18 @@ class WebsiteForum(http.Controller):
else:
url = "/forum/%s" % slug(forum)
- url_args = {}
+ url_args = {
+ 'sorting': sorting
+ }
if search:
url_args['search'] = search
if filters:
url_args['filters'] = filters
- if sorting:
- url_args['sorting'] = sorting
pager = request.website.pager(url=url, total=question_count, page=page,
step=self._post_per_page, scope=self._post_per_page,
url_args=url_args)
- obj_ids = Post.search(cr, uid, domain, limit=self._post_per_page, offset=pager['offset'], order=order, context=context)
+ obj_ids = Post.search(cr, uid, domain, limit=self._post_per_page, offset=pager['offset'], order=sorting, context=context)
question_ids = Post.browse(cr, uid, obj_ids, context=context)
values = self._prepare_forum_values(forum=forum, searches=post)
@@ -296,6 +287,7 @@ class WebsiteForum(http.Controller):
'forum_id': forum.id,
'name': post.get('post_name', ''),
'content': post.get('content'),
+ 'content_link': post.get('content_link', False),
'parent_id': post_parent and post_parent.id or False,
'tag_ids': post_tag_ids,
'type': post_parent and post_parent.type or post_type,
diff --git a/addons/website_forum/data/forum_demo.xml b/addons/website_forum/data/forum_demo.xml
index a5a5540..2cd6c48 100644
--- a/addons/website_forum/data/forum_demo.xml
+++ b/addons/website_forum/data/forum_demo.xml
@@ -65,8 +65,8 @@ In simple words does Odoo became CMS+ERP platform?
]]>
- https://www.odoo.com/forum/how-to/developers-13/the-different-openerp-model-inheritance-mechanisms-whats-the-difference-between-them-and-when-should-they-be-used-46
- OpenERP S.A. - The different "openerp model inheritance" mechanisms: what's the difference between them, and when should they be used ?
+ https://www.odoo.com
+ Discover Odoo, an open source ERP.
link
6
diff --git a/addons/website_forum/models/forum.py b/addons/website_forum/models/forum.py
index cb89609..5b1baa4 100644
--- a/addons/website_forum/models/forum.py
+++ b/addons/website_forum/models/forum.py
@@ -30,10 +30,11 @@ class Forum(osv.Model):
'relevancy_option_first': fields.float('First Relevancy Parameter'),
'relevancy_option_second': fields.float('Second Relevancy Parameter'),
'default_order': fields.selection([
- ('creation','Newest'),
- ('date','Last Updated'),
- ('vote','Most Voted'),
- ('relevancy','Relevancy'),
+ ('create_date desc','Newest'),
+ ('write_date desc','Last Updated'),
+ ('vote_count desc','Most Voted'),
+ ('relevancy desc','Relevancy'),
+ ('child_count desc','Answered'),
], 'Default Order', required=True),
'default_allow': fields.selection([('post_link','Link'),('ask_question','Question'),('post_discussion','Discussion')], 'Default Post', required=True),
'allow_link': fields.boolean('Links', help="When clicking on the post, it redirects to an external link"),
@@ -80,14 +81,14 @@ class Forum(osv.Model):
return False
_defaults = {
- 'default_order': 'date',
+ 'default_order': 'write_date desc',
'allow_question': True,
'default_allow': 'ask_question',
'allow_link': False,
'allow_discussion': False,
'description': 'This community is for professionals and enthusiasts of our products and services.',
'faq': _get_default_faq,
- 'introduction_message': """Welcome to Odoo Forum
+ 'introduction_message': """Welcome!
This community is for professionals and enthusiasts of our products and services.
Share and discuss the best content and new marketing ideas,
build your professional profile and become a better marketer together.
@@ -249,6 +250,7 @@ class Post(osv.Model):
'name': fields.char('Title'),
'forum_id': fields.many2one('forum.forum', 'Forum', required=True),
'content': fields.html('Content'),
+ 'content_link': fields.char('URL', help="URL of Link Articles"),
'tag_ids': fields.many2many('forum.tag', 'forum_tag_rel', 'forum_id', 'forum_tag_id', 'Tags'),
'state': fields.selection([('active', 'Active'), ('close', 'Close'), ('offensive', 'Offensive')], 'Status'),
'views': fields.integer('Number of Views'),
diff --git a/addons/website_forum/views/website_forum.xml b/addons/website_forum/views/website_forum.xml
index 47e0b90..00fdc59 100644
--- a/addons/website_forum/views/website_forum.xml
+++ b/addons/website_forum/views/website_forum.xml
@@ -349,7 +349,7 @@