[FIX] rating, rating_{*}: translations
Several translation issues are faced with the rating module: - the feedback page is always displayed in the admin language - the feedback emails are always sent in the user's language One would expect these to be in the partner language. opw-694718
This commit is contained in:
@@ -21,8 +21,9 @@ class Rating(http.Controller):
|
||||
1: _("highly dissatisfied"),
|
||||
10: _("satisfied")
|
||||
}
|
||||
rating.sudo().write({'rating': rate, 'consumed': True})
|
||||
return request.render('rating.rating_external_page_submit', {
|
||||
rating.write({'rating': rate, 'consumed': True})
|
||||
lang = rating.partner_id.lang or 'en_US'
|
||||
return request.env['ir.ui.view'].with_context(lang=lang).render_template('rating.rating_external_page_submit', {
|
||||
'rating': rating, 'token': token,
|
||||
'rate_name': rate_names[rate], 'rate': rate
|
||||
})
|
||||
@@ -37,7 +38,8 @@ class Rating(http.Controller):
|
||||
# redirect to the form view if logged person
|
||||
if request.session.uid:
|
||||
return werkzeug.utils.redirect('/web#model=%s&id=%s&view_type=form' % (record_sudo._name, record_sudo.id))
|
||||
return request.render('rating.rating_external_page_view', {
|
||||
lang = rating.partner_id.lang or 'en_US'
|
||||
return request.env['ir.ui.view'].with_context(lang=lang).render_template('rating.rating_external_page_view', {
|
||||
'web_base_url': request.env['ir.config_parameter'].sudo().get_param('web.base.url'),
|
||||
'rating': rating,
|
||||
})
|
||||
|
||||
@@ -92,8 +92,10 @@ class RatingMixin(models.AbstractModel):
|
||||
def rating_send_request(self, template, partner=None, rated_partner=None, reuse_rating=True, force_send=True):
|
||||
""" This method send rating request by email, using a template given
|
||||
in parameter. """
|
||||
partner = (partner or self.env['res.partner']).sudo()
|
||||
for record in self:
|
||||
template.send_mail(record.id, force_send=force_send)
|
||||
lang = partner.lang or 'en_US'
|
||||
template.with_context(lang=lang).send_mail(record.id, force_send=force_send)
|
||||
|
||||
@api.multi
|
||||
def rating_apply(self, rate, token=None, feedback=None, subtype=None):
|
||||
|
||||
@@ -41,7 +41,7 @@ class Task(models.Model):
|
||||
rating_template = task.stage_id.rating_template_id
|
||||
if rating_template:
|
||||
force_send = self.env.context.get('force_send', True)
|
||||
task.rating_send_request(rating_template, reuse_rating=False, force_send=force_send)
|
||||
task.rating_send_request(rating_template, partner=task.partner_id, reuse_rating=False, force_send=force_send)
|
||||
|
||||
def rating_get_partner_id(self):
|
||||
res = super(Task, self).rating_get_partner_id()
|
||||
|
||||
@@ -22,7 +22,7 @@ class ProjectIssue(models.Model):
|
||||
for issue in self:
|
||||
rating_template = issue.stage_id.rating_template_id
|
||||
if rating_template:
|
||||
issue.rating_send_request(rating_template, reuse_rating=False)
|
||||
issue.rating_send_request(rating_template, partner=issue.partner_id, reuse_rating=False)
|
||||
|
||||
@api.multi
|
||||
def rating_apply(self, rate, token=None, feedback=None, subtype=None):
|
||||
|
||||
Reference in New Issue
Block a user