diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index bf6ef242cc8..ccc0cbd5396 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -167,9 +167,6 @@ class crm_lead(format_address, osv.osv):
"""
:return dict: difference between current date and log date
"""
- cal_obj = self.pool.get('resource.calendar')
- res_obj = self.pool.get('resource.resource')
-
res = {}
for lead in self.browse(cr, uid, ids, context=context):
for field in fields:
@@ -181,39 +178,14 @@ class crm_lead(format_address, osv.osv):
date_create = datetime.strptime(lead.create_date, "%Y-%m-%d %H:%M:%S")
date_open = datetime.strptime(lead.date_open, "%Y-%m-%d %H:%M:%S")
ans = date_open - date_create
- date_until = lead.date_open
elif field == 'day_close':
if lead.date_closed:
date_create = datetime.strptime(lead.create_date, "%Y-%m-%d %H:%M:%S")
date_close = datetime.strptime(lead.date_closed, "%Y-%m-%d %H:%M:%S")
- date_until = lead.date_closed
ans = date_close - date_create
if ans:
- resource_id = False
- if lead.user_id:
- resource_ids = res_obj.search(cr, uid, [('user_id','=',lead.user_id.id)])
- if len(resource_ids):
- resource_id = resource_ids[0]
-
- duration = float(ans.days)
- if lead.section_id and lead.section_id.resource_calendar_id:
- duration = float(ans.days) * 24
- new_dates = cal_obj.interval_get(cr,
- uid,
- lead.section_id.resource_calendar_id and lead.section_id.resource_calendar_id.id or False,
- datetime.strptime(lead.create_date, '%Y-%m-%d %H:%M:%S'),
- duration,
- resource=resource_id
- )
- no_days = []
- date_until = datetime.strptime(date_until, '%Y-%m-%d %H:%M:%S')
- for in_time, out_time in new_dates:
- if in_time.date not in no_days:
- no_days.append(in_time.date)
- if out_time > date_until:
- break
- duration = len(no_days)
- res[lead.id][field] = abs(int(duration))
+ duration = abs(int(ans.days))
+ res[lead.id][field] = duration
return res
_columns = {
@@ -253,7 +225,7 @@ class crm_lead(format_address, osv.osv):
'day_open': fields.function(_compute_day, string='Days to Open', \
multi='day_open', type="float", store=True),
'day_close': fields.function(_compute_day, string='Days to Close', \
- multi='day_close', type="float", store=True),
+ multi='day_open', type="float", store=True),
'date_last_stage_update': fields.datetime('Last Stage Update', select=True),
# Messaging and marketing
diff --git a/addons/website_forum/controllers/main.py b/addons/website_forum/controllers/main.py
index 4f99cadb08a..332cfd4bb41 100644
--- a/addons/website_forum/controllers/main.py
+++ b/addons/website_forum/controllers/main.py
@@ -73,7 +73,7 @@ class WebsiteForum(http.Controller):
forums = Forum.browse(cr, uid, obj_ids, context=context)
return request.website.render("website_forum.forum_all", {'forums': forums})
- @http.route('/forum/new', type='http', auth="user", multilang=True, website=True)
+ @http.route('/forum/new', type='http', auth="user", methods=['POST'], multilang=True, website=True)
def forum_create(self, forum_name="New Forum", **kwargs):
forum_id = request.registry['forum.forum'].create(request.cr, request.uid, {
'name': forum_name,
@@ -220,7 +220,7 @@ class WebsiteForum(http.Controller):
request.registry['forum.post'].write(request.cr, request.uid, [question.id], {'favourite_ids': favourite_ids}, context=request.context)
return favourite
- @http.route('/forum//question//ask_for_close', type='http', auth="user", multilang=True, website=True)
+ @http.route('/forum//question//ask_for_close', type='http', auth="user", methods=['POST'], multilang=True, website=True)
def question_ask_for_close(self, forum, question, **post):
check_res = self._has_enough_karma(question.create_uid.id == request.uid and '_karma_modo_close_own' or '_karma_modo_close_all')
if not check_res[0]:
@@ -261,7 +261,7 @@ class WebsiteForum(http.Controller):
}, context=request.context)
return werkzeug.utils.redirect("/forum/%s/question/%s" % (slug(forum), slug(question)))
- @http.route('/forum//question//reopen', type='http', auth="user", multilang=True, website=True)
+ @http.route('/forum//question//reopen', type='http', auth="user", methods=['POST'], multilang=True, website=True)
def question_reopen(self, forum, question, **kwarg):
check_res = self._has_enough_karma(question.create_uid.id == request.uid and '_karma_modo_close_own' or '_karma_modo_close_all')
if not check_res[0]:
@@ -270,7 +270,7 @@ class WebsiteForum(http.Controller):
request.registry['forum.post'].write(request.cr, request.uid, [question.id], {'state': 'active'}, context=request.context)
return werkzeug.utils.redirect("/forum/%s/question/%s" % (slug(forum), slug(question)))
- @http.route('/forum//question//delete', type='http', auth="user", multilang=True, website=True)
+ @http.route('/forum//question//delete', type='http', auth="user", methods=['POST'], multilang=True, website=True)
def question_delete(self, forum, question, **kwarg):
check_res = self._has_enough_karma(question.create_uid.id == request.uid and '_karma_modo_unlink_own' or '_karma_modo_unlink_all')
if not check_res[0]:
@@ -279,7 +279,7 @@ class WebsiteForum(http.Controller):
request.registry['forum.post'].write(request.cr, request.uid, [question.id], {'active': False}, context=request.context)
return werkzeug.utils.redirect("/forum/%s/question/%s" % (slug(forum), slug(question)))
- @http.route('/forum//question//undelete', type='http', auth="user", multilang=True, website=True)
+ @http.route('/forum//question//undelete', type='http', auth="user", methods=['POST'], multilang=True, website=True)
def question_undelete(self, forum, question, **kwarg):
check_res = self._has_enough_karma(question.create_uid.id == request.uid and '_karma_modo_unlink_own' or '_karma_modo_unlink_all')
if not check_res[0]:
@@ -338,7 +338,7 @@ class WebsiteForum(http.Controller):
request.registry['forum.post'].write(cr, uid, [post.id], {'is_correct': not post.is_correct}, context=context)
return not post.is_correct
- @http.route('/forum//post//delete', type='http', auth="user", multilang=True, website=True)
+ @http.route('/forum//post//delete', type='http', auth="user", methods=['POST'], multilang=True, website=True)
def post_delete(self, forum, post, **kwargs):
check_res = self._has_enough_karma(post.create_uid.id == request.uid and '_karma_modo_unlink_own' or '_karma_modo_unlink_all')
if not check_res[0]:
@@ -548,7 +548,7 @@ class WebsiteForum(http.Controller):
})
return request.website.render("website_forum.edit_profile", values)
- @http.route('/forum//user//save', type='http', auth="user", multilang=True, website=True)
+ @http.route('/forum//user//save', type='http', auth="user", methods=['POST'], multilang=True, website=True)
def save_edited_profile(self, forum, user, **kwargs):
request.registry['res.users'].write(request.cr, request.uid, [user.id], {
'name': kwargs.get('name'),
@@ -589,7 +589,7 @@ class WebsiteForum(http.Controller):
# Messaging
# --------------------------------------------------
- @http.route('/forum//post//comment//convert_to_answer', type='http', auth="public", multilang=True, website=True)
+ @http.route('/forum//post//comment//convert_to_answer', type='http', auth="public", methods=['POST'], multilang=True, website=True)
def convert_comment_to_answer(self, forum, post, comment, **kwarg):
body = comment.body
request.registry['mail.message'].unlink(request.cr, request.uid, [comment.id], context=request.context)
@@ -599,7 +599,7 @@ class WebsiteForum(http.Controller):
return self.post_comment(forum, answer, comment=html2plaintext(body))
return self.post_new(forum, question, content=body)
- @http.route('/forum//post//convert_to_comment', type='http', auth="user", multilang=True, website=True)
+ @http.route('/forum//post//convert_to_comment', type='http', auth="user", methods=['POST'], multilang=True, website=True)
def convert_answer_to_comment(self, forum, post, **kwarg):
values = {
'comment': html2plaintext(post.content),
diff --git a/addons/website_forum/views/website_forum.xml b/addons/website_forum/views/website_forum.xml
index 75b9fcbd7e7..0e0ada6df48 100644
--- a/addons/website_forum/views/website_forum.xml
+++ b/addons/website_forum/views/website_forum.xml
@@ -21,9 +21,9 @@
-
+
@@ -440,7 +440,11 @@
on
-
Reopen
+
+
+ Reopen
+ fa-arrow-right
+
@@ -460,19 +464,39 @@
- Close
+
+
+ Close
+ text-muted fa-times
+
- Reopen
+
+
+ Reopen
+ text-muted fa-undo
+
- Edit
+
+
+ Edit
+ text-muted fa-edit
+
- Delete
+
+
+ Delete
+ text-muted fa-trash-o
+
- Undelete
+
+
+ Undelete
+ text-muted fa-trash-o
+
@@ -519,17 +543,17 @@
Edit
-
+
Delete
- fa-trash-o
+ text-muted fa-trash-o
-
+
Convert as a comment
- fa-magic
+ text-muted fa-magic
@@ -574,10 +598,10 @@
style="display: inline-block;"/>
on
-
+
Convert as an answer
- fa-magic pull-right
+ text-muted fa-magic pull-right
diff --git a/addons/website_membership/controllers/main.py b/addons/website_membership/controllers/main.py
index 11e764f0eac..810fd7dac14 100644
--- a/addons/website_membership/controllers/main.py
+++ b/addons/website_membership/controllers/main.py
@@ -1,6 +1,5 @@
# -*- coding: utf-8 -*-
-import openerp
from openerp import SUPERUSER_ID
from openerp.addons.web import http
from openerp.addons.web.http import request
@@ -39,7 +38,7 @@ class WebsiteMembership(http.Controller):
current_country = None
# base domain for groupby / searches
- base_line_domain = [("partner.website_published", "=", True),('state', 'in', ['free', 'paid'])]
+ base_line_domain = [("partner.website_published", "=", True), ('state', 'in', ['free', 'paid'])]
if membership_id:
base_line_domain.append(('membership_id', '=', membership_id))
membership = product_obj.browse(cr, uid, membership_id, context=context)
@@ -76,12 +75,10 @@ class WebsiteMembership(http.Controller):
membership_line_ids = membership_line_obj.search(cr, uid, line_domain, context=context)
membership_lines = membership_line_obj.browse(cr, uid, membership_line_ids, context=context)
membership_lines.sort(key=lambda x: x.membership_id.website_sequence)
- partner_ids = [m.partner and m.partner.id for m in membership_lines]
+ partner_ids = [m.partner.id for m in membership_lines]
google_map_partner_ids = ",".join(map(str, partner_ids))
- partners_data = {}
- for partner in partner_obj.read(cr, openerp.SUPERUSER_ID, partner_ids, request.website.get_partner_white_list_fields(), context=context):
- partners_data[partner.get("id")] = partner
+ partners = dict((p.id, p) for p in partner_obj.browse(request.cr, SUPERUSER_ID, partner_ids, request.context))
# format domain for group_by and memberships
membership_ids = product_obj.search(cr, uid, [('membership', '=', True)], order="website_sequence", context=context)
@@ -91,7 +88,7 @@ class WebsiteMembership(http.Controller):
pager = request.website.pager(url="/members", total=len(membership_line_ids), page=page, step=self._references_per_page, scope=7, url_args=post)
values = {
- 'partners_data': partners_data,
+ 'partners': partners,
'membership_lines': membership_lines,
'memberships': memberships,
'membership': membership,
@@ -107,8 +104,7 @@ class WebsiteMembership(http.Controller):
@http.route(['/members/', '/members/-'], type='http', auth="public", website=True, multilang=True)
def partners_ref(self, partner_id, **post):
- partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context)
- values = website_partner.get_partner_template_value(partner)
+ values = website_partner.get_partner_template_value(partner_id)
if not values:
return self.members(**post)
values['main_object'] = values['partner']
diff --git a/addons/website_membership/views/website_membership.xml b/addons/website_membership/views/website_membership.xml
index 6b7f8c088b6..ca38873c0d0 100644
--- a/addons/website_membership/views/website_membership.xml
+++ b/addons/website_membership/views/website_membership.xml
@@ -59,14 +59,17 @@
-
+