From d7d30f69d78e75cb859ec6b5e70b91d78c6e4eaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Maes?= Date: Thu, 17 Aug 2017 09:38:16 +0200 Subject: [PATCH] [REM] website_rating_project: move feature in project Displaying the rating of project is moved directly in project module, since it does not depends on website. User may want to display rating of its support project even without website. --- .tx/config | 7 +- addons/project/__manifest__.py | 3 +- addons/project/controllers/__init__.py | 1 + .../main.py => project/controllers/rating.py} | 6 +- addons/project/models/project.py | 15 ++- .../static/src/js/portal_rating.js} | 6 +- .../static/src/less/portal_rating.less} | 2 +- ...oject_templates.xml => project_assets.xml} | 8 ++ .../views/project_rating_templates.xml} | 36 ++---- addons/project/views/project_views.xml | 1 + addons/website_rating_project/__init__.py | 5 - addons/website_rating_project/__manifest__.py | 21 ---- .../controllers/__init__.py | 2 - addons/website_rating_project/i18n/ar.po | 97 ---------------- addons/website_rating_project/i18n/bg.po | 107 ----------------- addons/website_rating_project/i18n/bs.po | 95 --------------- addons/website_rating_project/i18n/ca.po | 94 --------------- addons/website_rating_project/i18n/cs.po | 96 ---------------- addons/website_rating_project/i18n/da.po | 98 ---------------- addons/website_rating_project/i18n/de.po | 98 ---------------- addons/website_rating_project/i18n/el.po | 96 ---------------- addons/website_rating_project/i18n/en_AU.po | 103 ----------------- addons/website_rating_project/i18n/es.po | 100 ---------------- addons/website_rating_project/i18n/es_AR.po | 94 --------------- addons/website_rating_project/i18n/es_CO.po | 105 ----------------- addons/website_rating_project/i18n/es_CR.po | 94 --------------- addons/website_rating_project/i18n/es_DO.po | 104 ----------------- addons/website_rating_project/i18n/es_EC.po | 106 ----------------- addons/website_rating_project/i18n/es_PE.po | 104 ----------------- addons/website_rating_project/i18n/es_VE.po | 94 --------------- addons/website_rating_project/i18n/et.po | 94 --------------- addons/website_rating_project/i18n/fa.po | 95 --------------- addons/website_rating_project/i18n/fi.po | 99 ---------------- addons/website_rating_project/i18n/fr.po | 99 ---------------- addons/website_rating_project/i18n/he.po | 91 --------------- addons/website_rating_project/i18n/hr.po | 100 ---------------- addons/website_rating_project/i18n/hu.po | 96 ---------------- addons/website_rating_project/i18n/id.po | 97 ---------------- addons/website_rating_project/i18n/it.po | 104 ----------------- addons/website_rating_project/i18n/ja.po | 96 ---------------- addons/website_rating_project/i18n/kab.po | 96 ---------------- addons/website_rating_project/i18n/ko.po | 99 ---------------- addons/website_rating_project/i18n/lt.po | 96 ---------------- addons/website_rating_project/i18n/lv.po | 91 --------------- addons/website_rating_project/i18n/mk.po | 108 ------------------ addons/website_rating_project/i18n/mn.po | 91 --------------- addons/website_rating_project/i18n/nb.po | 97 ---------------- addons/website_rating_project/i18n/nl.po | 94 --------------- addons/website_rating_project/i18n/nl_BE.po | 94 --------------- addons/website_rating_project/i18n/pl.po | 96 ---------------- addons/website_rating_project/i18n/pt.po | 104 ----------------- addons/website_rating_project/i18n/pt_BR.po | 98 ---------------- addons/website_rating_project/i18n/ro.po | 95 --------------- addons/website_rating_project/i18n/ru.po | 98 ---------------- addons/website_rating_project/i18n/sk.po | 103 ----------------- addons/website_rating_project/i18n/sl.po | 91 --------------- addons/website_rating_project/i18n/sr.po | 94 --------------- .../website_rating_project/i18n/sr@latin.po | 94 --------------- addons/website_rating_project/i18n/sv.po | 96 ---------------- addons/website_rating_project/i18n/ta.po | 99 ---------------- addons/website_rating_project/i18n/th.po | 100 ---------------- addons/website_rating_project/i18n/tr.po | 100 ---------------- addons/website_rating_project/i18n/uk.po | 97 ---------------- addons/website_rating_project/i18n/vi.po | 95 --------------- .../i18n/website_rating_project.pot | 92 --------------- addons/website_rating_project/i18n/zh_CN.po | 98 ---------------- addons/website_rating_project/i18n/zh_TW.po | 97 ---------------- .../website_rating_project/models/__init__.py | 4 - .../website_rating_project/models/project.py | 25 ---- .../static/description/icon.png | Bin 1565 -> 0 bytes .../views/project_project_view.xml | 15 --- 71 files changed, 43 insertions(+), 5383 deletions(-) rename addons/{website_rating_project/controllers/main.py => project/controllers/rating.py} (95%) rename addons/{website_rating_project/static/src/js/website_rating_project.js => project/static/src/js/portal_rating.js} (77%) rename addons/{website_rating_project/static/src/less/website_rating_project.less => project/static/src/less/portal_rating.less} (95%) rename addons/project/views/{project_templates.xml => project_assets.xml} (70%) rename addons/{website_rating_project/views/website_rating_project.xml => project/views/project_rating_templates.xml} (87%) delete mode 100644 addons/website_rating_project/__init__.py delete mode 100644 addons/website_rating_project/__manifest__.py delete mode 100644 addons/website_rating_project/controllers/__init__.py delete mode 100644 addons/website_rating_project/i18n/ar.po delete mode 100644 addons/website_rating_project/i18n/bg.po delete mode 100644 addons/website_rating_project/i18n/bs.po delete mode 100644 addons/website_rating_project/i18n/ca.po delete mode 100644 addons/website_rating_project/i18n/cs.po delete mode 100644 addons/website_rating_project/i18n/da.po delete mode 100644 addons/website_rating_project/i18n/de.po delete mode 100644 addons/website_rating_project/i18n/el.po delete mode 100644 addons/website_rating_project/i18n/en_AU.po delete mode 100644 addons/website_rating_project/i18n/es.po delete mode 100644 addons/website_rating_project/i18n/es_AR.po delete mode 100644 addons/website_rating_project/i18n/es_CO.po delete mode 100644 addons/website_rating_project/i18n/es_CR.po delete mode 100644 addons/website_rating_project/i18n/es_DO.po delete mode 100644 addons/website_rating_project/i18n/es_EC.po delete mode 100644 addons/website_rating_project/i18n/es_PE.po delete mode 100644 addons/website_rating_project/i18n/es_VE.po delete mode 100644 addons/website_rating_project/i18n/et.po delete mode 100644 addons/website_rating_project/i18n/fa.po delete mode 100644 addons/website_rating_project/i18n/fi.po delete mode 100644 addons/website_rating_project/i18n/fr.po delete mode 100644 addons/website_rating_project/i18n/he.po delete mode 100644 addons/website_rating_project/i18n/hr.po delete mode 100644 addons/website_rating_project/i18n/hu.po delete mode 100644 addons/website_rating_project/i18n/id.po delete mode 100644 addons/website_rating_project/i18n/it.po delete mode 100644 addons/website_rating_project/i18n/ja.po delete mode 100644 addons/website_rating_project/i18n/kab.po delete mode 100644 addons/website_rating_project/i18n/ko.po delete mode 100644 addons/website_rating_project/i18n/lt.po delete mode 100644 addons/website_rating_project/i18n/lv.po delete mode 100644 addons/website_rating_project/i18n/mk.po delete mode 100644 addons/website_rating_project/i18n/mn.po delete mode 100644 addons/website_rating_project/i18n/nb.po delete mode 100644 addons/website_rating_project/i18n/nl.po delete mode 100644 addons/website_rating_project/i18n/nl_BE.po delete mode 100644 addons/website_rating_project/i18n/pl.po delete mode 100644 addons/website_rating_project/i18n/pt.po delete mode 100644 addons/website_rating_project/i18n/pt_BR.po delete mode 100644 addons/website_rating_project/i18n/ro.po delete mode 100644 addons/website_rating_project/i18n/ru.po delete mode 100644 addons/website_rating_project/i18n/sk.po delete mode 100644 addons/website_rating_project/i18n/sl.po delete mode 100644 addons/website_rating_project/i18n/sr.po delete mode 100644 addons/website_rating_project/i18n/sr@latin.po delete mode 100644 addons/website_rating_project/i18n/sv.po delete mode 100644 addons/website_rating_project/i18n/ta.po delete mode 100644 addons/website_rating_project/i18n/th.po delete mode 100644 addons/website_rating_project/i18n/tr.po delete mode 100644 addons/website_rating_project/i18n/uk.po delete mode 100644 addons/website_rating_project/i18n/vi.po delete mode 100644 addons/website_rating_project/i18n/website_rating_project.pot delete mode 100644 addons/website_rating_project/i18n/zh_CN.po delete mode 100644 addons/website_rating_project/i18n/zh_TW.po delete mode 100644 addons/website_rating_project/models/__init__.py delete mode 100644 addons/website_rating_project/models/project.py delete mode 100644 addons/website_rating_project/static/description/icon.png delete mode 100644 addons/website_rating_project/views/project_project_view.xml diff --git a/.tx/config b/.tx/config index 9b4495da31c..d73573536ab 100644 --- a/.tx/config +++ b/.tx/config @@ -882,12 +882,7 @@ file_filter = addons/website_rating/i18n/.po source_file = addons/website_rating/i18n/website_rating.pot source_lang = en -[odoo-11.website_rating_project] -file_filter = addons/website_rating_project/i18n/.po -source_file = addons/website_rating_project/i18n/website_rating_project.pot -source_lang = en - -[odoo-11.website_sale] +[odoo-master.website_sale] file_filter = addons/website_sale/i18n/.po source_file = addons/website_sale/i18n/website_sale.pot source_lang = en diff --git a/addons/project/__manifest__.py b/addons/project/__manifest__.py index 43b36689d88..e80837b5631 100644 --- a/addons/project/__manifest__.py +++ b/addons/project/__manifest__.py @@ -29,8 +29,9 @@ 'views/project_views.xml', 'views/res_partner_views.xml', 'views/res_config_settings_views.xml', - 'views/project_templates.xml', + 'views/project_assets.xml', 'views/project_portal_templates.xml', + 'views/project_rating_templates.xml', 'data/project_mail_template_data.xml', 'wizard/project_task_merge_wizard_views.xml', ], diff --git a/addons/project/controllers/__init__.py b/addons/project/controllers/__init__.py index 903b755e71e..10825353c81 100644 --- a/addons/project/controllers/__init__.py +++ b/addons/project/controllers/__init__.py @@ -2,3 +2,4 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from . import portal +from . import rating diff --git a/addons/website_rating_project/controllers/main.py b/addons/project/controllers/rating.py similarity index 95% rename from addons/website_rating_project/controllers/main.py rename to addons/project/controllers/rating.py index 98c6cacc057..3343674c0e8 100644 --- a/addons/website_rating_project/controllers/main.py +++ b/addons/project/controllers/rating.py @@ -7,13 +7,13 @@ from odoo import http from odoo.http import request -class WebsiteRatingProject(http.Controller): +class RatingProject(http.Controller): @http.route(['/project/rating/'], type='http', auth="public", website=True) def index(self, **kw): projects = request.env['project.project'].sudo().search([('rating_status', '!=', 'no'), ('portal_show_rating', '=', True)]) values = {'projects': projects} - return request.render('website_rating_project.index', values) + return request.render('project.rating_index', values) def _calculate_period_partner_stats(self, project_id): # get raw data: number of rating by rated partner, by rating value, by period @@ -85,7 +85,7 @@ class WebsiteRatingProject(http.Controller): if not ((project.rating_status != 'no') and project.portal_show_rating) and not user.sudo(user).has_group('project.group_project_manager'): raise NotFound() - return request.render('website_rating_project.project_rating_page', { + return request.render('project.rating_project_rating_page', { 'project': project, 'ratings': request.env['rating.rating'].sudo().search([('consumed', '=', True), ('parent_res_model', '=', 'project.project'), ('parent_res_id', '=', project_id)], order='write_date DESC', limit=50), 'statistics': self._calculate_period_partner_stats(project_id), diff --git a/addons/project/models/project.py b/addons/project/models/project.py index c1e802839da..1df6bbad540 100644 --- a/addons/project/models/project.py +++ b/addons/project/models/project.py @@ -235,9 +235,11 @@ class Project(models.Model): "- Periodical Rating: Email will be sent periodically\n\n" "Don't forget to set up the mail templates on the stages for which you want to get the customer's feedbacks.", default="no", required=True) rating_status_period = fields.Selection([ - ('daily', 'Daily'), ('weekly', 'Weekly'), ('bimonthly', 'Twice a Month'), - ('monthly', 'Once a Month'), ('quarterly', 'Quarterly'), ('yearly', 'Yearly') - ], 'Rating Frequency') + ('daily', 'Daily'), ('weekly', 'Weekly'), ('bimonthly', 'Twice a Month'), + ('monthly', 'Once a Month'), ('quarterly', 'Quarterly'), ('yearly', 'Yearly') + ], 'Rating Frequency') + + portal_show_rating = fields.Boolean('Rating visible publicly', copy=False, oldname='website_published') _sql_constraints = [ ('project_date_greater', 'check(date >= date_start)', 'Error! project start-date must be lower than project end-date.') @@ -405,6 +407,13 @@ class Project(models.Model): @api.multi def action_view_all_rating(self): """ return the action to see all the rating of the project, and activate default filters """ + if self.portal_show_rating: + return { + 'type': 'ir.actions.act_url', + 'name': "Redirect to the Website Projcet Rating Page", + 'target': 'self', + 'url': "/project/rating/%s" % (self.id,) + } action = self.env['ir.actions.act_window'].for_xml_id('project', 'rating_rating_action_view_project_rating') action['name'] = _('Ratings of %s') % (self.name,) action_context = safe_eval(action['context']) if action['context'] else {} diff --git a/addons/website_rating_project/static/src/js/website_rating_project.js b/addons/project/static/src/js/portal_rating.js similarity index 77% rename from addons/website_rating_project/static/src/js/website_rating_project.js rename to addons/project/static/src/js/portal_rating.js index 44c91980ae7..12740b9bbba 100644 --- a/addons/website_rating_project/static/src/js/website_rating_project.js +++ b/addons/project/static/src/js/portal_rating.js @@ -4,14 +4,14 @@ odoo.define('website_rating_project.rating', function (require) { var time = require('web.time'); require('web.dom_ready'); - if(!$('.o_website_rating_project').length) { - return $.Deferred().reject("DOM doesn't contain '.o_website_rating_project'"); + if(!$('.o_portal_project_rating').length) { + return $.Deferred().reject("DOM doesn't contain '.o_portal_project_rating'"); } /** * Rating popover with some informations */ - $('.o_website_rating_project .o_rating_image').popover({ + $('.o_portal_project_rating .o_rating_image').popover({ placement: 'bottom', trigger: 'hover', html: 'true', diff --git a/addons/website_rating_project/static/src/less/website_rating_project.less b/addons/project/static/src/less/portal_rating.less similarity index 95% rename from addons/website_rating_project/static/src/less/website_rating_project.less rename to addons/project/static/src/less/portal_rating.less index e95b1dbfac7..4ae3290a75b 100644 --- a/addons/website_rating_project/static/src/less/website_rating_project.less +++ b/addons/project/static/src/less/portal_rating.less @@ -1,4 +1,4 @@ -.o_website_rating_project { +.o_portal_project_rating { .thumbnail{ height: 240px; } diff --git a/addons/project/views/project_templates.xml b/addons/project/views/project_assets.xml similarity index 70% rename from addons/project/views/project_templates.xml rename to addons/project/views/project_assets.xml index 9b6d13d2582..7a2c4647984 100644 --- a/addons/project/views/project_templates.xml +++ b/addons/project/views/project_assets.xml @@ -8,6 +8,14 @@ + +