diff --git a/.tx/config b/.tx/config index cd90a6286c7..6007fc5b600 100644 --- a/.tx/config +++ b/.tx/config @@ -1211,8 +1211,3 @@ source_lang = en file_filter = addons/website_twitter/i18n/.po source_file = addons/website_twitter/i18n/website_twitter.pot source_lang = en - -[odoo-9.website_version] -file_filter = addons/website_version/i18n/.po -source_file = addons/website_version/i18n/website_version.pot -source_lang = en diff --git a/addons/website_version/__init__.py b/addons/website_version/__init__.py deleted file mode 100644 index 5f0b88de2d8..00000000000 --- a/addons/website_version/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -import models -import controllers -import tests diff --git a/addons/website_version/__openerp__.py b/addons/website_version/__openerp__.py deleted file mode 100644 index a6e9f0059e9..00000000000 --- a/addons/website_version/__openerp__.py +++ /dev/null @@ -1,26 +0,0 @@ -{ - 'name': 'Website Versioning', - 'category': 'Website', - 'summary': 'Allow to save all the versions of your website and allow to perform AB testing.', - 'version': '1.0', - 'description': """ -OpenERP Website CMS -=================== - - """, - 'depends': ['website','marketing','google_account'], - 'installable': True, - 'data': [ - 'security/ir.model.access.csv', - 'views/website_version_templates.xml', - 'views/marketing_view.xml', - 'views/website_version_views.xml', - 'views/res_config.xml', - 'data/data.xml', - ], - 'demo': [ - 'data/demo.xml', - ], - 'qweb': ['static/src/xml/*.xml'], - 'application': False, -} \ No newline at end of file diff --git a/addons/website_version/controllers/__init__.py b/addons/website_version/controllers/__init__.py deleted file mode 100644 index 1842f3e35a7..00000000000 --- a/addons/website_version/controllers/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -# -*- coding: utf-8 -*- -import main \ No newline at end of file diff --git a/addons/website_version/controllers/main.py b/addons/website_version/controllers/main.py deleted file mode 100644 index fffecd74d9a..00000000000 --- a/addons/website_version/controllers/main.py +++ /dev/null @@ -1,147 +0,0 @@ -# -*- coding: utf-8 -*- -import datetime -from openerp import http -from openerp.http import request -from openerp.addons.website.controllers.main import Website -from openerp.tools.misc import DEFAULT_SERVER_DATETIME_FORMAT - -GOOGLE_ANALYTICS_CONFIGURED = 2 -GOOGLE_ANALYTICS_PARTIALLY_CONFIGURED = 1 -GOOGLE_ANALYTICS_NOT_CONFIGURED = 0 - - -class Versioning_Controller(Website): - - @http.route('/website_version/change_version', type='json', auth="user", website=True) - def change_version(self, version_id): - request.session['version_id'] = version_id - return version_id - - @http.route('/website_version/create_version', type='json', auth="user", website=True) - def create_version(self, name, version_id=None): - if not name: - name = datetime.datetime.now().strftime(DEFAULT_SERVER_DATETIME_FORMAT) - new_version = request.env['website_version.version'].create({'name': name, 'website_id': request.website.id}) - if version_id: - request.env['website_version.version'].browse(version_id).copy_version(new_version.id) - request.session['version_id'] = new_version.id - return new_version.id - - @http.route('/website_version/delete_version', type='json', auth="user", website=True) - def delete_version(self, version_id): - version = request.env['website_version.version'].browse(version_id) - name = version.name - version.unlink() - current_id = request.context.get('version_id') - if version_id == current_id: - request.session['version_id'] = 0 - return name - - @http.route('/website_version/check_version', type='json', auth="user", website=True) - def check_version(self, version_id): - #To check if the version is in a running or paused experiment - Exp = request.env['website_version.experiment'] - return bool(Exp.search(['|', ('state', '=', 'running'), ('state', '=', 'paused'), ('experiment_version_ids.version_id', '=', version_id)], limit=1)) - - @http.route('/website_version/all_versions', type='json', auth="public", website=True) - def all_versions(self, view_id): - #To get all versions in the menu - view = request.env['ir.ui.view'].browse(view_id) - Version = request.env['website_version.version'] - website_id = request.website.id - versions = Version.search([('website_id', '=', website_id), '|', ('view_ids.key', '=', view.key), ('view_ids.key', '=', 'website.footer_default')]) - current_version_id = request.context.get('version_id') - check = False - result = [] - for ver in versions: - if ver.id == current_version_id: - #To show in bold the current version in the menu - result.append({'id': ver.id, 'name': ver.name, 'bold': 1}) - check = True - else: - result.append({'id': ver.id, 'name': ver.name, 'bold': 0}) - #To always show in the menu the current version - if not check and current_version_id: - result.append({'id': current_version_id, 'name': Version.browse(current_version_id).name, 'bold': 1}) - return result - - @http.route('/website_version/has_experiments', type='json', auth="user", website=True) - def has_experiments(self, view_id): - v = request.env['ir.ui.view'].browse(view_id) - website_id = request.context.get('website_id') - return bool(request.env["website_version.experiment.version"].search([('version_id.view_ids.key', '=', v.key), ('experiment_id.website_id.id', '=', website_id)], limit=1)) - - @http.route('/website_version/publish_version', type='json', auth="user", website=True) - def publish_version(self, version_id, save_master, copy_master_name): - request.session['version_id'] = 0 - return request.env['website_version.version'].browse(version_id).publish_version(save_master, copy_master_name) - - @http.route('/website_version/diff_version', type='json', auth="user", website=True) - def diff_version(self, version_id): - mod_version = request.env['website_version.version'] - version = mod_version.browse(version_id) - name_list = [] - for view in version.view_ids: - name_list.append({'name': view.name, 'url': '/page/' + view.name.replace(' ', '').lower()}) - return name_list - - @http.route('/website_version/google_access', type='json', auth="user") - def google_authorize(self, **kw): - #Check if client_id and client_secret are set to get the authorization from Google - gs_obj = request.env['google.service'] - gm_obj = request.env['google.management'] - - client_id = gs_obj.get_client_id('management', context=kw.get('local_context')) - client_secret = gs_obj.get_client_secret('management', context=kw.get('local_context')) - if not client_id or not client_secret: - dummy, action = request.registry.get('ir.model.data').get_object_reference(request.cr, request.uid, 'website_version', 'action_config_settings_google_management') - return { - "status": "need_config_from_admin", - "url": '', - "action": action - } - url = gm_obj.authorize_google_uri(from_url=kw.get('fromurl'), context=kw.get('local_context')) - return { - "status": "need_auth", - "url": url - } - - @http.route('/website_version/set_google_access', type='json', auth="user", website=True) - def set_google_access(self, ga_key, view_id, client_id, client_secret): - #To set ga_key, view_id, client_id, client_secret - website_id = request.context.get('website_id') - web = request.env['website'].browse(website_id) - web.write({'google_analytics_key': ga_key.strip(), 'google_analytics_view_id': view_id.strip()}) - if client_id and client_secret: - icp = request.env['ir.config_parameter'] - icp.set_param('google_management_client_id', client_id.strip() or '', groups=['base.group_system']) - icp.set_param('google_management_client_secret', client_secret.strip() or '', groups=['base.group_system']) - - @http.route('/website_version/all_versions_all_goals', type='json', auth="user", website=True) - def all_versions_all_goals(self, view_id): - #To get all versions and all goals to create an experiment - view = request.env['ir.ui.view'] - version = request.env['website_version.version'] - goal = request.env['website_version.goals'] - icp = request.env['ir.config_parameter'] - v = view.browse(view_id) - website_id = request.website.id - tab_version = version.search_read([('website_id', '=', website_id), '|', ('view_ids.key', '=', v.key), ('view_ids.key', '=', 'website.footer_default')], ['id', 'name']) - tab_goal = goal.search_read([], ['id', 'name']) - #Check if all the parameters are set to communicate with Google analytics - if icp.get_param('google_management_token'): - check_conf = GOOGLE_ANALYTICS_CONFIGURED - if request.website.google_analytics_key and request.website.google_analytics_view_id: - check_conf = GOOGLE_ANALYTICS_PARTIALLY_CONFIGURED - else: - check_conf = GOOGLE_ANALYTICS_NOT_CONFIGURED - return {'tab_version': tab_version, 'tab_goal': tab_goal, 'check_conf': check_conf} - - @http.route('/website_version/launch_experiment', type='json', auth="user", website=True) - def launch_experiment(self, name, version_ids, goal_id): - existing_experiment = request.env['website_version.experiment'].check_no_overlap(version_ids) - if not existing_experiment['existing']: - vals = {'name': name, 'google_id': False, 'state': 'running', 'website_id': request.context.get('website_id'), 'experiment_version_ids': [[0, False, {'frequency': '50', 'version_id': int(version_ids[i]), 'google_index': i+1}] for i in range(len(version_ids))], 'goal_id': int(goal_id)} - exp_obj = request.env['website_version.experiment'] - exp_obj.create(vals) - return existing_experiment diff --git a/addons/website_version/data/data.xml b/addons/website_version/data/data.xml deleted file mode 100644 index 083ef5c3fb4..00000000000 --- a/addons/website_version/data/data.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - Page Views - ga:pageviews - - - - Decrease Bounces - ga:bounces - - - - Session Duration - ga:sessionDuration - - - - \ No newline at end of file diff --git a/addons/website_version/data/demo.xml b/addons/website_version/data/demo.xml deleted file mode 100644 index 204ae5401b4..00000000000 --- a/addons/website_version/data/demo.xml +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - Default_1 - - - - - Default_2 - - - - - version localhost - - - - - version 0.0.0.0 - - - - - Homepage - qweb - website.homepage - - - - - -
- -
-
-
-
-
- - - Homepage - qweb - website.homepage - - - - - -
- -
-
-
-
-
- - - Homepage - qweb - website.homepage - - - - - - -
- -
-
-
-
-
- -
-
\ No newline at end of file diff --git a/addons/website_version/i18n/website_version.pot b/addons/website_version/i18n/website_version.pot deleted file mode 100644 index 264c4e8f1bf..00000000000 --- a/addons/website_version/i18n/website_version.pot +++ /dev/null @@ -1,1640 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * website_version -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-08-25 09:00+0000\n" -"PO-Revision-Date: 2015-08-25 09:00+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/menu_version.js:205 -#, python-format -msgid " Now you can manage this experiment by clicking on Manage A/B tests." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:211 -#, python-format -msgid "\"/google_account/authentication\"" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:136 -#: code:addons/website_version/static/src/xml/version_templates.xml:148 -#, python-format -msgid "\"Admin\"" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:193 -#, python-format -msgid "\"Analytics API\"" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:194 -#, python-format -msgid "\"Calendar API\"" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:187 -#, python-format -msgid "\"Create Project\"" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:210 -#, python-format -msgid "\"Redirect RI\"" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:140 -#, python-format -msgid "\"Tracking Code\"" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:144 -#, python-format -msgid "\"Tracking ID\"" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:152 -#, python-format -msgid "\"View ID\"" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:148 -#, python-format -msgid "\"View Settings\"" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:57 -#: code:addons/website_version/static/src/xml/version_templates.xml:296 -#: code:addons/website_version/static/src/xml/version_templates.xml:311 -#: code:addons/website_version/static/src/xml/version_templates.xml:330 -#: code:addons/website_version/static/src/xml/version_templates.xml:361 -#: code:addons/website_version/static/src/xml/version_templates.xml:379 -#: code:addons/website_version/static/src/xml/version_templates.xml:396 -#: code:addons/website_version/static/src/xml/version_templates.xml:441 -#, python-format -msgid "×" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:212 -#, python-format -msgid "'Create Client ID'" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:203 -#, python-format -msgid "'Create New Client ID'" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:203 -#, python-format -msgid "'Credentials'" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:209 -#, python-format -msgid "'Web Application'" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.experiment_form_view -msgid "(Sync)" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:203 -#, python-format -msgid "(from menu APIs and auth) and click on button" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:216 -#, python-format -msgid ") that you need to insert in the 2 fields below !" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_website_form_extend -msgid "7654321" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.user_navbar_version -msgid "Master" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:445 -#, python-format -msgid "A version allows to modify several pages, without publishing the changes directly.\n" -" You can also launch A/B tests to analyse the performance of different versions." -msgstr "" - -#. module: website_version -#: model:ir.actions.act_window,name:website_version.action_config_settings_google_management -msgid "API Management Configuration" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:57 -#, python-format -msgid "All the modifications you will do, will be saved in this version." -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.user_navbar_version -msgid "All versions" -msgstr "" - -#. module: website_version -#: code:addons/website_version/models/google_management.py:47 -#, python-format -msgid "An exception occured during the google analytics rquest: %s" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/edit_version.js:58 -#, python-format -msgid "Are you sure you want to publish your modifications." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:48 -#, python-format -msgid "Authorize google" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.homepage_default_2 -msgid "Banner Odoo Image" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:400 -#, python-format -msgid "By publishing this version, you will overwrite the following master pages:" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:285 -#: code:addons/website_version/static/src/xml/version_templates.xml:367 -#: code:addons/website_version/static/src/xml/version_templates.xml:385 -#: code:addons/website_version/static/src/xml/version_templates.xml:430 -#: code:addons/website_version/static/src/xml/version_templates.xml:461 -#, python-format -msgid "Cancel" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:72 -#, python-format -msgid "Click in the text and start editing it." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:135 -#: code:addons/website_version/static/src/xml/version_templates.xml:139 -#: code:addons/website_version/static/src/xml/version_templates.xml:147 -#: code:addons/website_version/static/src/xml/version_templates.xml:186 -#, python-format -msgid "Click on" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_website_form_extend -msgid "Click on \"Admin\" and click on \"View Settings\".\n" -"

" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_website_form_extend -msgid "Click on \"Admin\".\n" -"

" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_analytics_config_settings -msgid "Click on \"Create Project\" and enter a project name.\n" -"

" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_website_form_extend -msgid "Click on \"Tracking Code\".\n" -"

" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_analytics_config_settings -msgid "Click on Apply\n" -"

" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_website_form_extend -msgid "Click on Authorize google.\n" -"

" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:29 -#, python-format -msgid "Click on New version" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:129 -#, python-format -msgid "Click on Publish Version" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:136 -#, python-format -msgid "Click on Publish button" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_website_form_extend -msgid "Click on Save.\n" -"

" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:23 -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:123 -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:158 -#, python-format -msgid "Click on Version" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:170 -#, python-format -msgid "Click on delete version button" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:78 -#: model:ir.ui.view,arch_db:website_version.homepage_default_2 -#: model:ir.ui.view,arch_db:website_version.homepage_localhost -#: model:ir.ui.view,arch_db:website_version.website2_homepage_other -#, python-format -msgid "Click to customize this text" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:216 -#: code:addons/website_version/static/src/xml/version_templates.xml:226 -#: model:ir.model.fields,field_description:website_version.field_base_config_settings_ga_client_id -#, python-format -msgid "Client ID" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:216 -#: code:addons/website_version/static/src/xml/version_templates.xml:232 -#: model:ir.model.fields,field_description:website_version.field_base_config_settings_ga_client_secret -#, python-format -msgid "Client Secret" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:350 -#, python-format -msgid "Close" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_color -msgid "Color Index" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:280 -#, python-format -msgid "Configure" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:49 -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:142 -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:177 -#, python-format -msgid "Confirm" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:185 -#: model:ir.ui.view,arch_db:website_version.view_analytics_config_settings -#, python-format -msgid "Connect on your google account and go to" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.homepage_default_2 -#: model:ir.ui.view,arch_db:website_version.homepage_localhost -#: model:ir.ui.view,arch_db:website_version.website2_homepage_other -msgid "Contact us" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:90 -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:111 -#, python-format -msgid "Continue" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:143 -#: code:addons/website_version/static/src/xml/version_templates.xml:151 -#, python-format -msgid "Copy the" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_website_form_extend -msgid "Copy the \"Tracking ID\" and paste it in the field Google Analytics key.\n" -"

" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_website_form_extend -msgid "Copy the \"View ID\" and paste it in the field View ID.\n" -"

" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:460 -#, python-format -msgid "Create" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_version_create_date -msgid "Create Date" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_create_uid -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_version_create_uid -#: model:ir.model.fields,field_description:website_version.field_website_version_goals_create_uid -#: model:ir.model.fields,field_description:website_version.field_website_version_version_create_uid -msgid "Created by" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_create_date -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_version_create_date -#: model:ir.model.fields,field_description:website_version.field_website_version_goals_create_date -msgid "Created on" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_experiment_kanban -msgid "Creation :" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:89 -#, python-format -msgid "Customize any block through this menu. Try to change the background of the banner." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:71 -#, python-format -msgid "Customize banner's text" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:88 -#, python-format -msgid "Customize the banner" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,help:website_version.field_website_version_experiment_message_last_post -msgid "Date of the last message posted on the record." -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_experiment_kanban -msgid "Delete" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:365 -#, python-format -msgid "Delete Version" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:164 -#, python-format -msgid "Delete Version Test" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:151 -#, python-format -msgid "Delete the version" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_google_management_display_name -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_display_name -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_version_display_name -#: model:ir.model.fields,field_description:website_version.field_website_version_goals_display_name -#: model:ir.model.fields,field_description:website_version.field_website_version_version_display_name -msgid "Display Name" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:95 -#, python-format -msgid "Drag & Drop This Block" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:63 -#, python-format -msgid "Drag & Drop a Banner" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:96 -#, python-format -msgid "Drag the 'Features' block and drop it below the banner." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:64 -#, python-format -msgid "Drag the Banner block and drop it in your page." -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.user_navbar_version -msgid "Duplicate Version" -msgstr "" - -#. module: website_version -#: model:ir.model,name:website_version.model_website_version_experiment -msgid "Email Thread" -msgstr "" - -#. module: website_version -#: selection:website_version.experiment,state:0 -msgid "Ended" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.experiment_form_view -msgid "Exp" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_version_experiment_id -msgid "Experiment" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.experiment_form_view -msgid "Experiment Form" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:64 -#, python-format -msgid "Experiment Name" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_experiment_version_ids -msgid "Experiment Version" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.experiment_tree_view -msgid "Experiment tree" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.experiment_version_form_view -msgid "Experiment_page Form" -msgstr "" - -#. module: website_version -#: model:ir.actions.act_window,name:website_version.action_experiment -#: model:ir.ui.menu,name:website_version.menu_action_experiment -#: model:ir.ui.view,arch_db:website_version.view_experiment_kanban -msgid "Experiments" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.experiment_version_form_view -msgid "Features" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:185 -#, python-format -msgid "Felicitation, now you are able to edit and manage your versions." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:209 -#, python-format -msgid "Fill in the Name of application and check that the platform is well on" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_analytics_config_settings -msgid "Fill in the Name of application and check that the platform is well on 'Web Application'.
\n" -"
You should now configure the allowed pages on which you will be redirected. To do it, you need to complete the field \"Redirect RI\"\n" -" and set as value (your own domain followed by \"/google_account/authentication\") :\n" -"
You can now click on 'Create Client ID'\n" -"

" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:184 -#, python-format -msgid "Finish" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_message_follower_ids -msgid "Followers" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_message_channel_ids -msgid "Followers (Channels)" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_message_partner_ids -msgid "Followers (Partners)" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_version_frequency -msgid "Frequency" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:161 -#: code:addons/website_version/static/src/xml/version_templates.xml:246 -#, python-format -msgid "GA Key" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:81 -#, python-format -msgid "Get banner properties" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:36 -#, python-format -msgid "Give a clever name to retrieve it easily." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:35 -#, python-format -msgid "Give a version name" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:129 -#: model:ir.ui.view,arch_db:website_version.view_website_form_extend -#, python-format -msgid "Go to" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:109 -#, python-format -msgid "Good Job!" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_analytics_config_settings -msgid "Google Analytics" -msgstr "" - -#. module: website_version -#: model:ir.actions.act_window,name:website_version.google_analytics_configuration -msgid "Google Analytics Configuration" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_analytics_config_settings -msgid "Google Client ID" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_analytics_config_settings -msgid "Google Client Secret" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_goals_google_ref -msgid "Google Reference" -msgstr "" - -#. module: website_version -#: model:ir.actions.act_url,name:website_version.action_analytic -msgid "Google analytics" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_base_config_settings_google_management_authorization -#: model:ir.model.fields,field_description:website_version.field_website_google_management_authorization -msgid "Google authorization" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_google_id -msgid "Google id" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_version_google_index -msgid "Google index" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.experiment_search -#: model:ir.ui.view,arch_db:website_version.version_search -msgid "Group By" -msgstr "" - -#. module: website_version -#: model:ir.model,name:website_version.model_ir_http -msgid "HTTP routing" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_tuto_google_analytics -msgid "How to get GA key and View ID" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_website_form_extend -msgid "How to get the Google Analytics Key and the View ID" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_google_management_id -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_id -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_version_id -#: model:ir.model.fields,field_description:website_version.field_website_version_goals_id -#: model:ir.model.fields,field_description:website_version.field_website_version_version_id -msgid "ID" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,help:website_version.field_website_version_experiment_message_needaction -#: model:ir.model.fields,help:website_version.field_website_version_experiment_message_unread -msgid "If checked new messages require your attention." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:202 -#, python-format -msgid "In the menu on left side, select the sub menu" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_analytics_config_settings -msgid "In the menu on left side, select the sub menu 'Credentials' (from menu APIs and auth) and click on button 'Create New Client ID'\n" -"

" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:193 -#, python-format -msgid "In the menu on left side, select the sub menu APIs (from menu APIs and auth) and activate" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_analytics_config_settings -msgid "In the menu on left side, select the sub menu APIs (from menu APIs and auth) and activate \"Analytics API\" by clicking on button \"OFF\".\n" -"
When it's done, check that the button of \"Calendar API\" is well in green and with text \"ON\"\n" -"

" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_message_is_follower -msgid "Is Follower" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_message_last_post -msgid "Last Message Date" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_google_management___last_update -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment___last_update -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_version___last_update -#: model:ir.model.fields,field_description:website_version.field_website_version_goals___last_update -#: model:ir.model.fields,field_description:website_version.field_website_version_version___last_update -msgid "Last Modified on" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_version_write_uid -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_write_uid -#: model:ir.model.fields,field_description:website_version.field_website_version_goals_write_uid -#: model:ir.model.fields,field_description:website_version.field_website_version_version_write_uid -msgid "Last Updated by" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_version_write_date -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_write_date -#: model:ir.model.fields,field_description:website_version.field_website_version_goals_write_date -#: model:ir.model.fields,field_description:website_version.field_website_version_version_write_date -msgid "Last Updated on" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:264 -#, python-format -msgid "Launch" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:58 -#, python-format -msgid "Launch A/B Tests" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.user_navbar_version -msgid "Launch A/B tests" -msgstr "" - -#. module: website_version -#: selection:website_version.experiment.version,frequency:0 -msgid "Less" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.user_navbar_version -msgid "List Modified Pages" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:340 -#, python-format -msgid "List of pages that have been modified in version" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:42 -#, python-format -msgid "Manage A/B tests" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:86 -#: model:ir.ui.view,arch_db:website_version.homepage_default_2 -#: model:ir.ui.view,arch_db:website_version.user_navbar_version -#, python-format -msgid "Master" -msgstr "" - -#. module: website_version -#: selection:website_version.experiment.version,frequency:0 -msgid "Medium" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_message_ids -msgid "Messages" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,help:website_version.field_website_version_experiment_message_ids -msgid "Messages and communication history" -msgstr "" - -#. module: website_version -#: selection:website_version.experiment.version,frequency:0 -msgid "More" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_goals_name -msgid "Name" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_message_needaction -msgid "Need Action" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_message_needaction_counter -msgid "Need Action Counter" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:442 -#: code:addons/website_version/static/src/xml/version_templates.xml:451 -#: model:ir.ui.view,arch_db:website_version.user_navbar_version -#, python-format -msgid "New Version" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:152 -#, python-format -msgid "Now we will delete the version you have just published." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:118 -#, python-format -msgid "Now we will publish your version in production." -msgstr "" - -#. module: website_version -#: model:ir.model.fields,help:website_version.field_website_version_experiment_message_needaction_counter -msgid "Number of needaction messages" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,help:website_version.field_website_version_experiment_message_unread_counter -msgid "Number of unread messages" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_goal_id -msgid "Objective" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:72 -#, python-format -msgid "Objective:" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:113 -#: code:addons/website_version/static/src/xml/version_templates.xml:242 -#, python-format -msgid "Odoo uses Google Analytics to track the performances of an A/B testing experiment comparing several versions." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:300 -#: code:addons/website_version/static/src/xml/version_templates.xml:319 -#, python-format -msgid "Ok" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:216 -#, python-format -msgid "Once done, you will have the both informations (" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_analytics_config_settings -msgid "Once done, you will have the both informations (Client ID and Client Secret) that you need to insert in the 2 fields below !\n" -"

" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.experiment_form_view -msgid "PPP" -msgstr "" - -#. module: website_version -#: selection:website_version.experiment,state:0 -msgid "Paused" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:383 -#: code:addons/website_version/static/src/xml/version_templates.xml:429 -#: model:ir.ui.view,arch_db:website_version.version_form_view -#: model:ir.ui.view,arch_db:website_version.view_view_form_extend -#, python-format -msgid "Publish" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.user_navbar_version -msgid "Publish Version" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:421 -#, python-format -msgid "Publish and copy the current version" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:117 -#, python-format -msgid "Publish the version" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:415 -#, python-format -msgid "Publish version" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:104 -#, python-format -msgid "Publish your page by clicking on the 'Save' button." -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_analytics_config_settings -#: model:ir.ui.view,arch_db:website_version.view_website_form_extend -msgid "Return at Top" -msgstr "" - -#. module: website_version -#: selection:website_version.experiment,state:0 -msgid "Running" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:19 -#, python-format -msgid "Save" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:26 -#, python-format -msgid "Save as New Version" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/edit_version.js:48 -#, python-format -msgid "Save on %s" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:103 -#, python-format -msgid "Save your modifications" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.experiment_search -msgid "Search Experiment" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.version_search -msgid "Search version" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:82 -#, python-format -msgid "Select the parent container to get the global options of the banner." -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_sequence -msgid "Sequence" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_base_config_settings_ga_sync -msgid "Show tutorial to know how to get my 'Client ID' and my 'Client Secret'" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:20 -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:119 -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:154 -#, python-format -msgid "Skip It" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.version_form_view -msgid "Snap" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:20 -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:119 -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:154 -#, python-format -msgid "Start Tutorial" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.experiment_search -msgid "State" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:43 -#: model:ir.ui.view,arch_db:website_version.view_website_form_extend -#, python-format -msgid "Statistics" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_state -msgid "Status" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/menu_version.js:254 -#: code:addons/website_version/static/src/js/widget.js:32 -#, python-format -msgid "The Google Management API key needs to be configured before you can use it, do you want to do it now?" -msgstr "" - -#. module: website_version -#: code:addons/website_version/models/experiment.py:121 -#, python-format -msgid "The experiment you try to create has a bad format." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:345 -#: code:addons/website_version/static/src/xml/version_templates.xml:409 -#, python-format -msgid "There is no difference with Master" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/edit_version.js:23 -#: code:addons/website_version/static/src/js/menu_version.js:53 -#: code:addons/website_version/static/src/js/menu_version.js:126 -#: code:addons/website_version/static/src/js/menu_version.js:195 -#, python-format -msgid "This field is required" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/edit_version.js:37 -#: code:addons/website_version/static/src/js/menu_version.js:67 -#, python-format -msgid "This name already exists." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:19 -#, python-format -msgid "This tutorial will guide you to build a version of your home page." -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_name -#: model:ir.model.fields,field_description:website_version.field_website_version_version_name -msgid "Title" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:176 -#, python-format -msgid "To get your Client ID and your Client Secret, follow these steps" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:120 -#, python-format -msgid "To get your GA Key and your View ID" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_analytics_config_settings -msgid "To setup the signin process with Google, first you have to perform the following steps" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:22 -#: code:addons/website_version/static/src/xml/version_templates.xml:277 -#, python-format -msgid "Toggle Dropdown" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_message_unread -msgid "Unread Messages" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_message_unread_counter -msgid "Unread Messages Counter" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:270 -#: code:addons/website_version/static/src/xml/version_templates.xml:273 -#, python-format -msgid "Validate" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:43 -#, python-format -msgid "Validate the version name" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_ir_ui_view_version_id -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_version_version_id -#: model:ir.ui.view,arch_db:website_version.user_navbar_version -msgid "Version" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_version_number -msgid "Version Number" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:331 -#, python-format -msgid "Version:" -msgstr "" - -#. module: website_version -#: model:ir.ui.menu,name:website_version.menu_website_version_root -msgid "Versionning" -msgstr "" - -#. module: website_version -#: model:ir.actions.act_window,name:website_version.action_version -#: model:ir.ui.menu,name:website_version.menu_action_version -#: model:ir.ui.view,arch_db:website_version.experiment_form_view -msgid "Versions" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.experiment_form_view -msgid "Versions in experiment" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_version_view_ids -msgid "View" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:167 -#: code:addons/website_version/static/src/xml/version_templates.xml:252 -#: model:ir.model.fields,field_description:website_version.field_website_google_analytics_view_id -#, python-format -msgid "View ID" -msgstr "" - -#. module: website_version -#: model:ir.model,name:website_version.model_website -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_website_id -#: model:ir.model.fields,field_description:website_version.field_website_version_version_website_id -#: model:ir.ui.view,arch_db:website_version.experiment_search -#: model:ir.ui.view,arch_db:website_version.version_search -msgid "Website" -msgstr "" - -#. module: website_version -#: model:ir.ui.menu,name:website_version.menu_website_view -msgid "Website Domain" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,field_description:website_version.field_website_version_experiment_website_message_ids -msgid "Website Messages" -msgstr "" - -#. module: website_version -#: model:ir.model.fields,help:website_version.field_website_version_experiment_website_message_ids -msgid "Website communication history" -msgstr "" - -#. module: website_version -#: model:ir.actions.act_window,name:website_version.action_website_view -msgid "Websites" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:18 -#, python-format -msgid "Welcome to the tutorial" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:110 -#, python-format -msgid "Well done, you created a version of your homepage." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:194 -#, python-format -msgid "When it's done, check that the button of" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:56 -#, python-format -msgid "You are on your new version" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:24 -#, python-format -msgid "You can create a version for every page of your website." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:212 -#, python-format -msgid "You can now click on" -msgstr "" - -#. module: website_version -#: code:addons/website_version/models/version.py:28 -#, python-format -msgid "You cannot delete a version which is in a running or paused experiment." -msgstr "" - -#. module: website_version -#: code:addons/website_version/models/version.py:20 -#: sql_constraint:website_version.version:0 -#, python-format -msgid "You cannot have multiple versions with the same name in the same domain!" -msgstr "" - -#. module: website_version -#: code:addons/website_version/models/experiment.py:132 -#, python-format -msgid "You cannot modify an ended experiment." -msgstr "" - -#. module: website_version -#: code:addons/website_version/models/google_management.py:119 -#, python-format -msgid "You must configure your account." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/menu_version.js:236 -#: code:addons/website_version/static/src/js/menu_version.js:267 -#, python-format -msgid "You must fill all the fields." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:107 -#, python-format -msgid "You must have at least one version for this page to create a new experiment." -msgstr "" - -#. module: website_version -#: code:addons/website_version/models/experiment.py:123 -#, python-format -msgid "You must select at least one version in your experiment." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/menu_version.js:199 -#, python-format -msgid "You must select at least one version which is not Master." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:210 -#, python-format -msgid "You should now configure the allowed pages on which you will be redirected. To do it, you need to complete the field" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/menu_version.js:246 -#: code:addons/website_version/static/src/js/widget.js:28 -#, python-format -msgid "You will be redirected to Google to authorize access to your Analytics Account!" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/js/website_version.tour.versioning.js:77 -#, python-format -msgid "Your Banner Title" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:216 -#, python-format -msgid "and" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:148 -#, python-format -msgid "and click on" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:129 -#, python-format -msgid "and connect you." -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_website_form_extend -msgid "and connect you.\n" -"

" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:187 -#, python-format -msgid "and enter a project name." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:144 -#, python-format -msgid "and paste it in the field Google Analytics key." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:152 -#, python-format -msgid "and paste it in the field View ID." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:210 -#, python-format -msgid "and set as value (your own domain followed by" -msgstr "" - -#. module: website_version -#: model:ir.model,name:website_version.model_base_config_settings -msgid "base.config.settings" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:193 -#, python-format -msgid "by clicking on button \"OFF\"." -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:340 -#, python-format -msgid "compared to master. If you publish this version, all pages will be updated at once." -msgstr "" - -#. module: website_version -#: model:ir.model,name:website_version.model_google_management -msgid "google.management" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:185 -#: model:ir.ui.view,arch_db:website_version.view_analytics_config_settings -#, python-format -msgid "https://console.developers.google.com" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:129 -#: model:ir.ui.view,arch_db:website_version.view_website_form_extend -#, python-format -msgid "https://www.google.com/analytics/" -msgstr "" - -#. module: website_version -#: model:ir.model,name:website_version.model_ir_qweb -msgid "ir.qweb" -msgstr "" - -#. module: website_version -#: model:ir.model,name:website_version.model_ir_ui_view -msgid "ir.ui.view" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:194 -#, python-format -msgid "is well in green and with text \"ON\"" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_experiment_kanban -msgid "on" -msgstr "" - -#. module: website_version -#. openerp-web -#: code:addons/website_version/static/src/xml/version_templates.xml:267 -#: code:addons/website_version/static/src/xml/version_templates.xml:365 -#: code:addons/website_version/static/src/xml/version_templates.xml:383 -#, python-format -msgid "or" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.website2_homepage_other -msgid "version 0.0.0.0" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.version_form_view -msgid "version Form" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.homepage_localhost -msgid "version localhost" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.version_tree_view -msgid "version tree" -msgstr "" - -#. module: website_version -#: model:ir.ui.view,arch_db:website_version.view_experiment_kanban -msgid "versions" -msgstr "" - -#. module: website_version -#: model:ir.model,name:website_version.model_website_version_experiment_version -msgid "website_version.experiment.version" -msgstr "" - -#. module: website_version -#: model:ir.model,name:website_version.model_website_version_goals -msgid "website_version.goals" -msgstr "" - -#. module: website_version -#: model:ir.model,name:website_version.model_website_version_version -msgid "website_version.version" -msgstr "" - diff --git a/addons/website_version/models/__init__.py b/addons/website_version/models/__init__.py deleted file mode 100644 index 6100ac7304d..00000000000 --- a/addons/website_version/models/__init__.py +++ /dev/null @@ -1,8 +0,0 @@ -import ir_ui_view -import version -import website -import experiment -import ir_qweb -import res_config -import ir_http -import google_management \ No newline at end of file diff --git a/addons/website_version/models/experiment.py b/addons/website_version/models/experiment.py deleted file mode 100644 index cfed7fd5af1..00000000000 --- a/addons/website_version/models/experiment.py +++ /dev/null @@ -1,176 +0,0 @@ -# -*- coding: utf-8 -*- - -from openerp.exceptions import Warning -from openerp import models, fields, api -from openerp.exceptions import ValidationError -from openerp.tools.translate import _ - -TOO_MUCH_EXPERIMENTS = 2 -OVERLAP_EXPERIMENT = 1 -CREATE_EXPERIMENT = 0 - - -class Experiment_version(models.Model): - """ Allow to define the versions contained in an experiment. - The frequency is a ponderation to determine the probability to visit a version in an experiment. - The googe_index is the index of a version in an experiment, used to send data to Google Analytics. - """ - - _name = "website_version.experiment.version" - _rec_name = "version_id" - - version_id = fields.Many2one('website_version.version', string="Version", required=True, ondelete='cascade') - experiment_id = fields.Many2one('website_version.experiment', string="Experiment", required=True, ondelete='cascade') - frequency = fields.Selection([('10', 'Less'), ('50', 'Medium'), ('80', 'More')], string='Frequency', default='50') - google_index = fields.Integer(string='Google index') - - -class Goals(models.Model): - """ Allow to define the goal of an experiment. - The goals are defined in the Google Analytics account and can be synchronised in backend. - """ - _name = "website_version.goals" - - name = fields.Char(string="Name", required=True) - google_ref = fields.Char(string="Google Reference", required=True) - - -class Experiment(models.Model): - """An experiment pointed to some experiment_versions and dispatch each website visitor to a version. - """ - - _name = "website_version.experiment" - _inherit = ['mail.thread'] - _order = 'sequence' - - @api.multi - @api.constrains('state') - def _check_view(self): - #No overlap for running experiments - for exp in self: - if exp.state == 'running': - for exp_ver in exp.experiment_version_ids: - if exp_ver.search([('version_id.view_ids.key', 'in', [v.key for v in exp_ver.version_id.view_ids]), ('experiment_id', '!=', exp_ver.experiment_id.id), ('experiment_id.website_id', '=', exp_ver.experiment_id.website_id.id), ('experiment_id.state', '=', 'running')]): - raise ValidationError('This experiment contains a view which is already used in another running experience') - return True - - @api.multi - @api.constrains('website_id', 'experiment_version_ids') - def _check_website(self): - for exp in self: - for exp_ver in exp.experiment_version_ids: - if not exp_ver.version_id.website_id.id == exp.website_id.id: - raise ValidationError('This experiment must have versions which are in the same website') - - def read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False, lazy=True): - """ Override read_group to always display all states. """ - if groupby and groupby[0] == "state": - # Default result structure - # states = self._get_state_list(cr, uid, context=context) - states = [('running', 'Running'), ('paused', 'Paused'), ('ended', 'Ended')] - read_group_all_states = [{ - '__context': {'group_by': groupby[1:]}, - '__domain': domain + [('state', '=', state_value)], - 'state': state_value, - 'state_count': 0, - } for state_value, state_name in states] - # Get standard results - read_group_res = super(Experiment, self).read_group(cr, uid, domain, fields, groupby, offset=offset, limit=limit, context=context, orderby=orderby) - # Update standard results with default results - result = [] - for state_value, state_name in states: - res = filter(lambda x: x['state'] == state_value, read_group_res) - if not res: - res = filter(lambda x: x['state'] == state_value, read_group_all_states) - res[0]['state'] = [state_value, state_name] - result.append(res[0]) - return result - else: - return super(Experiment, self).read_group(cr, uid, domain, fields, groupby, offset=offset, limit=limit, context=context, orderby=orderby) - - @api.one - def _get_version_number(self): - for exp in self: - exp.version_number = len(exp.experiment_version_ids) + 1 - - name = fields.Char(string="Title", required=True) - experiment_version_ids = fields.One2many('website_version.experiment.version', 'experiment_id', string="Experiment Version") - website_id = fields.Many2one('website', string="Website", required=True) - state = fields.Selection([('running', 'Running'), ('paused', 'Paused'), ('ended', 'Ended')], 'Status', required=True, copy=False, track_visibility='onchange', default='running') - goal_id = fields.Many2one('website_version.goals', string="Objective", required=True) - color = fields.Integer('Color Index') - version_number = fields.Integer(compute=_get_version_number, string='Version Number') - sequence = fields.Integer('Sequence', required=True, default=1) - google_id = fields.Char(string="Google id") - - @api.model - def create(self, vals): - exp = { - 'name': vals['name'], - 'objectiveMetric': self.env['website_version.goals'].browse([vals['goal_id']])[0].google_ref, - 'status': vals['state'], - 'variations': [{'name': 'master', 'url': 'http://localhost/master'}] - } - version_list = vals.get('experiment_version_ids', []) - for version in version_list: - if version[0] == 0: - name = self.env['website_version.version'].browse([version[2]['version_id']])[0].name - #We must give a URL for each version in the experiment - exp['variations'].append({'name': name, 'url': 'http://localhost/' + name}) - else: - raise Warning(_("The experiment you try to create has a bad format.")) - if not version_list: - raise Warning(_("You must select at least one version in your experiment.")) - vals['google_id'] = self.env['google.management'].create_an_experiment(exp, vals['website_id']) - return super(Experiment, self).create(vals) - - @api.multi - def write(self, vals): - state = vals.get('state') - for exp in self: - if state and exp.state == 'ended': - raise Warning(_("You cannot modify an ended experiment.")) - elif state == 'ended': - #google_data is the data to send to Googe - google_data = { - 'name': exp.name, - 'status': state, - 'variations': [{'name': 'master', 'url': 'http://localhost/master'}], - } - for exp_v in exp.experiment_version_ids: - google_data['variations'].append({'name': exp_v.version_id.name, 'url': 'http://localhost/'+exp_v.version_id.name}) - #to check the constraints before to write on the google analytics account - self.env['google.management'].update_an_experiment(google_data, exp.google_id, exp.website_id.id) - return super(Experiment, self).write(vals) - - @api.multi - def unlink(self): - for exp in self: - self.env['google.management'].delete_an_experiment(exp.google_id, exp.website_id.id) - return super(Experiment, self).unlink() - - @api.multi - def update_goals(self): - gm_obj = self.env['google.management'] - goals_obj = self.env['website_version.goals'] - website_id = self.env.context.get('website_id') - if not website_id: - raise Warning("You must specify the website.") - for goal in gm_obj.get_goal_info(website_id)[1]['items']: - if not goals_obj.search([('name', '=', goal['name'])]): - vals = {'name': goal['name'], 'google_ref': 'ga:goal' + goal['id'] + 'Completions'} - goals_obj.create(vals) - - def check_no_overlap(self, version_ids): - if self.search_count(['|', ('state', '=', 'running'), ('state', '=', 'paused')]) >= 24: - return {'existing': TOO_MUCH_EXPERIMENTS, 'name': ""} - #Check if version_ids don't overlap with running experiments and return the name of the experiment if there 's an overlap - version_keys = set([v['key'] for v in self.env['ir.ui.view'].search_read([('version_id', 'in', version_ids)], ['key'])]) - exp_mod = self.env['website_version.experiment'] - exps = exp_mod.search([('state', '=', 'running'), ('website_id', '=', self.env.context.get('website_id'))]) - for exp in exps: - for exp_ver in exp.experiment_version_ids: - for view in exp_ver.version_id.view_ids: - if view.key in version_keys: - return {'existing': OVERLAP_EXPERIMENT, 'name': exp.name} - return {'existing': CREATE_EXPERIMENT, 'name': ""} diff --git a/addons/website_version/models/google_management.py b/addons/website_version/models/google_management.py deleted file mode 100644 index 61aaea564da..00000000000 --- a/addons/website_version/models/google_management.py +++ /dev/null @@ -1,157 +0,0 @@ -# -*- coding: utf-8 -*- -from datetime import datetime, timedelta -import logging -from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT -from openerp.exceptions import Warning -from openerp import models, exceptions, api -from openerp.tools.translate import _ -import simplejson - -_logger = logging.getLogger(__name__) - - -class google_management(models.AbstractModel): - - STR_SERVICE = 'management' - - _name = 'google.%s' % STR_SERVICE - - @api.model - def generate_data(self, experiment, isCreating=False): - - return { - 'name': experiment['name'], - 'status': experiment['status'], - 'variations': experiment['variations'] - } - - @api.model - def create_an_experiment(self, data, website_id): - gs_pool = self.env['google.service'] - website = self.env['website'].browse(website_id)[0] - webPropertyId = website.google_analytics_key - action_id = self.env['ir.model.data'].xmlid_to_res_id('website_version.action_website_view') - if not webPropertyId: - raise exceptions.RedirectWarning('Click on the website you want to make A/B testing and configure the Google Analytics Key and View ID', action_id, 'go to the websites menu') - accountId = webPropertyId.split('-')[1] - profileId = website.google_analytics_view_id - if not profileId: - raise exceptions.RedirectWarning('Click on the website you want to make A/B testing and configure the Google Analytics Key and View ID', action_id, 'go to the websites menu') - url = '/analytics/v3/management/accounts/%s/webproperties/%s/profiles/%s/experiments?access_token=%s' % (accountId, webPropertyId, profileId, self.get_token()) - headers = {'Content-type': 'application/json', 'Accept': 'text/plain'} - data_json = simplejson.dumps(data) - try: - x = gs_pool._do_request(url, data_json, headers, type='POST') - result = x[1]['id'] - except Exception, e: - _logger.info(_('An exception occured during the google analytics rquest: %s') % e) - raise - return result - - @api.model - def update_an_experiment(self, data, google_id, website_id): - gs_pool = self.env['google.service'] - website = self.env['website'].browse(website_id)[0] - webPropertyId = website.google_analytics_key - accountId = webPropertyId.split('-')[1] - profileId = website.google_analytics_view_id - - url = '/analytics/v3/management/accounts/%s/webproperties/%s/profiles/%s/experiments/%s?access_token=%s' % (accountId, webPropertyId, profileId, google_id, self.get_token()) - headers = {'Content-type': 'application/json', 'Accept': 'text/plain'} - data_json = simplejson.dumps(data) - - return gs_pool._do_request(url, data_json, headers, type='PUT') - - @api.model - def get_experiment_info(self, google_id, website_id): - gs_pool = self.env['google.service'] - website = self.env['website'].browse(website_id)[0] - webPropertyId = website.google_analytics_key - accountId = webPropertyId.split('-')[1] - profileId = website.google_analytics_view_id - - params = { - 'access_token': self.get_token(), - } - - headers = {'Content-type': 'application/json', 'Accept': 'text/plain'} - url = '/analytics/v3/management/accounts/%s/webproperties/%s/profiles/%s/experiments/%s' % (accountId, webPropertyId, profileId, google_id) - return gs_pool._do_request(url, params, headers, type='GET') - - @api.model - def get_goal_info(self, website_id): - gs_pool = self.env['google.service'] - website = self.env['website'].browse(website_id)[0] - webPropertyId = website.google_analytics_key - accountId = webPropertyId.split('-')[1] - profileId = website.google_analytics_view_id - - params = { - 'access_token': self.get_token(), - } - - headers = {'Content-type': 'application/json', 'Accept': 'text/plain'} - - url = '/analytics/v3/management/accounts/%s/webproperties/%s/profiles/%s/goals' % (accountId, webPropertyId, profileId) - return gs_pool._do_request(url, params, headers, type='GET') - - @api.model - def delete_an_experiment(self, google_id, website_id): - gs_pool = self.env['google.service'] - website = self.env['website'].browse(website_id)[0] - webPropertyId = website.google_analytics_key - accountId = webPropertyId.split('-')[1] - profileId = website.google_analytics_view_id - params = { - 'access_token': self.get_token() - } - headers = {'Content-type': 'application/json', 'Accept': 'text/plain'} - url = '/analytics/v3/management/accounts/%s/webproperties/%s/profiles/%s/experiments/%s' % (accountId, webPropertyId, profileId, google_id) - - return gs_pool._do_request(url, params, headers, type='DELETE') - - @api.model - def get_token(self): - icp = self.env['ir.config_parameter'].sudo() - validity = icp.get_param('google_%s_token_validity' % self.STR_SERVICE) - token = icp.get_param('google_%s_token' % self.STR_SERVICE) - if not (validity and token): - raise Warning(_("You must configure your account.")) - if datetime.strptime(validity.split('.')[0], DEFAULT_SERVER_DATETIME_FORMAT) < (datetime.now() + timedelta(minutes=3)): - token = self.do_refresh_token() - return token - - @api.model - def do_refresh_token(self): - gs_pool = self.env['google.service'] - icp = self.env['ir.config_parameter'].sudo() - - rtoken = icp.get_param('google_%s_rtoken' % self.STR_SERVICE) - all_token = gs_pool._refresh_google_token_json(rtoken, self.STR_SERVICE) - - icp.set_param('google_%s_token_validity' % self.STR_SERVICE, datetime.now() + timedelta(seconds=all_token.get('expires_in'))) - icp.set_param('google_%s_token' % self.STR_SERVICE, all_token.get('access_token')) - return all_token.get('access_token') - - # Should be called at configuration - def get_management_scope(self): - return 'https://www.googleapis.com/auth/analytics https://www.googleapis.com/auth/analytics.edit' - - @api.model - def authorize_google_uri(self, from_url='http://www.odoo.com', context=None): - url = self.pool['google.service']._get_authorize_uri(self.env.cr, self.env.uid, from_url, self.STR_SERVICE, scope=self.get_management_scope(), context=self.env.context) - return url - - # convert code from authorize into token - @api.model - def set_all_tokens(self, authorization_code): - gs_pool = self.env['google.service'] - all_token = gs_pool._get_google_token_json(authorization_code, self.STR_SERVICE) - vals = {} - vals['google_%s_rtoken' % self.STR_SERVICE] = all_token.get('refresh_token') - vals['google_%s_token_validity' % self.STR_SERVICE] = datetime.now() + timedelta(seconds=all_token.get('expires_in')) - vals['google_%s_token' % self.STR_SERVICE] = all_token.get('access_token') - icp = self.env['ir.config_parameter'].sudo() - icp.set_param('google_%s_rtoken' % self.STR_SERVICE, all_token.get('refresh_token')) - icp.set_param('google_%s_token_validity' % self.STR_SERVICE, datetime.now() + timedelta(seconds=all_token.get('expires_in'))) - icp.set_param('google_%s_token' % self.STR_SERVICE, all_token.get('access_token')) diff --git a/addons/website_version/models/ir_http.py b/addons/website_version/models/ir_http.py deleted file mode 100644 index 22b84b578b3..00000000000 --- a/addons/website_version/models/ir_http.py +++ /dev/null @@ -1,16 +0,0 @@ -# -*- coding: utf-8 -*- - -from openerp.http import request -from openerp.osv import orm -import json - -class ir_http(orm.AbstractModel): - _inherit = 'ir.http' - - def _dispatch(self): - x = super(ir_http, self)._dispatch() - if request.context.get('website_version_experiment'): - data=json.dumps(request.context['website_version_experiment'], ensure_ascii=False) - x.set_cookie('website_version_experiment', data) - return x - diff --git a/addons/website_version/models/ir_qweb.py b/addons/website_version/models/ir_qweb.py deleted file mode 100644 index 5b9d5167a93..00000000000 --- a/addons/website_version/models/ir_qweb.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Website-context rendering needs to add some metadata to rendered fields, -as well as render a few fields differently. - -Also, adds methods to convert values back to openerp models. -""" - -from openerp import models - - -class QWeb(models.AbstractModel): - """ QWeb object for rendering stuff in the website context - """ - _inherit = 'ir.qweb' - - def render(self, cr, uid, id_or_xml_id, qwebcontext=None, loader=None, context=None): - if context is None: - context = {} - website_id = context.get('website_id') - if website_id: - if 'experiment_id' in context: - #Is there a version which have the view.key == id_or_xml_id and which is in a running experiment? - exp_ver_id = self.pool["website_version.experiment.version"].search(cr, uid, [('version_id.view_ids.key', '=', id_or_xml_id), ('experiment_id.state', '=', 'running'), ('experiment_id.website_id.id', '=', website_id)], context=context) - if exp_ver_id: - #If yes take the first because there is no overlap between running experiments. - exp_version = self.pool["website_version.experiment.version"].browse(cr, uid, [exp_ver_id[0]], context=context) - exp = exp_version.experiment_id - #We set the google_id as key in the dictionnary to avoid problem when reinitializating the db, exp.google_id is unique - version_id = context.get('website_version_experiment').get(str(exp.google_id)) - if version_id: - context['version_id'] = int(version_id) - - if isinstance(id_or_xml_id, (int, long)): - id_or_xml_id = self.pool["ir.ui.view"].browse(cr, uid, id_or_xml_id, context=context).key - - domain = [('key', '=', id_or_xml_id), '|', ('website_id', '=', website_id), ('website_id', '=', False)] - version_id = context.get('version_id') - domain += version_id and ['|', ('version_id', '=', False), ('version_id', '=', version_id)] or [('version_id', '=', False)] - - id_or_xml_id = self.pool["ir.ui.view"].search(cr, uid, domain, order='website_id, version_id', limit=1, context=context)[0] - - return super(QWeb, self).render(cr, uid, id_or_xml_id, qwebcontext, loader=loader, context=context) diff --git a/addons/website_version/models/ir_ui_view.py b/addons/website_version/models/ir_ui_view.py deleted file mode 100644 index 048757c14d1..00000000000 --- a/addons/website_version/models/ir_ui_view.py +++ /dev/null @@ -1,160 +0,0 @@ -# -*- coding: utf-8 -*- -from lxml import etree -from openerp import tools, fields, models, api - - -class view(models.Model): - - _inherit = "ir.ui.view" - - version_id = fields.Many2one('website_version.version', ondelete='cascade', string="Version") - - @api.multi - def write(self, vals): - if self.env.context is None: - self.env.context = {} - - version_id = self.env.context.get('version_id') - #If you write on a shared view, your modifications will be seen on every website wich uses these view. - #To dedicate a view for a specific website, you must create a version and publish these version. - if version_id and not self.env.context.get('write_on_view') and not 'active' in vals: - self.env.context = dict(self.env.context, write_on_view=True) - version = self.env['website_version.version'].browse(version_id) - website_id = version.website_id.id - version_view_ids = self.env['ir.ui.view'] - for current in self: - #check if current is in version - if current.version_id.id == version_id: - version_view_ids += current - else: - new_v = self.search([('website_id', '=', website_id), ('version_id', '=', version_id), ('key', '=', current.key)]) - if new_v: - version_view_ids += new_v - else: - copy_v = current.copy({'version_id': version_id, 'website_id': website_id}) - version_view_ids += copy_v - super(view, version_view_ids).write(vals) - else: - self.env.context = dict(self.env.context, write_on_view=True) - super(view, self).write(vals) - - @api.one - def publish(self): - #To delete and replace views which are in the website( in fact with website_id) - master_record = self.search([('key', '=', self.key), ('version_id', '=', False), ('website_id', '=', self.website_id.id)]) - if master_record: - master_record.unlink() - self.copy({'version_id': None}) - - #To publish a view in backend - @api.multi - def action_publish(self): - self.publish() - - @api.model - def get_view_id(self, xml_id): - if self.env.context and 'website_id' in self.env.context and not isinstance(xml_id, (int, long)): - domain = [('key', '=', xml_id), '|', ('website_id', '=', self.env.context['website_id']), ('website_id', '=', False)] - if 'version_id' in self.env.context: - domain += ['|', ('version_id', '=', self.env.context['version_id']), ('version_id', '=', False)] - xml_id = self.search(domain, order='website_id,version_id', limit=1).id - else: - xml_id = super(view, self).get_view_id(xml_id) - return xml_id - - @tools.ormcache_context('uid', 'view_id', - keys=('lang', 'inherit_branding', 'editable', 'translatable', 'edit_translations', 'website_id', 'version_id')) - def _read_template(self, cr, uid, view_id, context=None): - arch = self.read_combined(cr, uid, view_id, fields=['arch'], context=context)['arch'] - arch_tree = etree.fromstring(arch) - - if 'lang' in context: - arch_tree = self.translate_qweb(cr, uid, view_id, arch_tree, context['lang'], context) - - self.distribute_branding(arch_tree) - root = etree.Element('templates') - root.append(arch_tree) - arch = etree.tostring(root, encoding='utf-8', xml_declaration=True) - return arch - - #To take the right inheriting views - @api.model - def get_inheriting_views_arch(self, view_id, model): - arch = super(view, self).get_inheriting_views_arch(view_id, model) - vw = self.browse(view_id) - if not (self.env.context and self.env.context.get('website_id') and vw.type == 'qweb'): - return arch - #right_ids to collect the right ids according to the key - right_ids = {} - priority = {} - #To create a dico called view_arch where v(key) is the id and a the arch(value) - view_arch = dict([(v, a) for a, v in arch]) - keys = self.browse(view_arch.keys()) - #The view to take depends of the context - context_version_id = self.env.context.get('version_id') - context_website_id = self.env.context.get('website_id') - for k in keys: - #priority:1(with context_version_id) take the view which is in the same version - if context_version_id and k.version_id.id and k.version_id.id == context_version_id: - right_ids[k.key] = k.id - priority[k.key] = 3 - #priority:2(context_version_id) take the view which is just in the same website - elif context_version_id and k.version_id.id is False and k.website_id.id and k.website_id.id == context_website_id: - if not priority.get(k.key) or priority.get(k.key) < 3: - right_ids[k.key] = k.id - priority[k.key] = 2 - #priority:3(context_version_id) take the original view - elif context_version_id and k.version_id.id is False and k.website_id.id is False: - if not priority.get(k.key) or priority.get(k.key) < 2: - right_ids[k.key] = k.id - priority[k.key] = 1 - #priority:1(without context_version_id) take the view which is just in the same website - elif not context_version_id and k.version_id.id is False and k.website_id.id and k.website_id.id == context_website_id: - right_ids[k.key] = k.id - priority[k.key] = 2 - #priority:2(without context_version_id) take the original view - elif not context_version_id and k.version_id.id is False and k.website_id.id is False: - if not priority.get(k.key) or priority.get(k.key) < 2: - right_ids[k.key] = k.id - priority[k.key] = 1 - return [x for x in arch if x[1] in right_ids.values()] - - #To active or desactive the right views according to the key - def toggle(self, cr, uid, ids, context=None): - """ Switches between enabled and disabled statuses - """ - for view in self.browse(cr, uid, ids, context=dict(context or {}, active_test=False)): - all_id = self.search(cr, uid, [('key', '=', view.key)], context=dict(context or {}, active_test=False)) - for v in self.browse(cr, uid, all_id, context=dict(context or {}, active_test=False)): - v.write({'active': not v.active}) - - @api.model - def translate_qweb(self, id_, arch, lang): - view = self.browse(id_) - if not view.key: - return super(view, self).translate_qweb(id_, arch, lang) - views = self.search([('key', '=', view.key), '|', - ('website_id', '=', view.website_id.id), ('website_id', '=', False)]) - fallback_views = self - for v in views: - if v.mode == 'primary' and v.inherit_id.mode == 'primary': - # template is `cloned` from parent view - fallback_views += view.inherit_id - views += fallback_views - def translate_func(term): - Translations = self.env['ir.translation'] - trans = Translations._get_source('website', 'view', lang, term, views.ids) - return trans - self._translate_qweb(arch, translate_func) - return arch - - @api.model - def customize_template_get(self, key, full=False, bundles=False, **kw): - result = super(view, self).customize_template_get(key, full=full, bundles=bundles, **kw) - check = [] - res = [] - for data in result: - if data['name'] not in check: - check.append(data['name']) - res.append(data) - return res diff --git a/addons/website_version/models/res_config.py b/addons/website_version/models/res_config.py deleted file mode 100644 index 9fd20885464..00000000000 --- a/addons/website_version/models/res_config.py +++ /dev/null @@ -1,25 +0,0 @@ -from openerp import fields, models, api - - -class analytics_config_settings(models.TransientModel): - - _inherit = 'base.config.settings' - - ga_sync = fields.Boolean("Show tutorial to know how to get my 'Client ID' and my 'Client Secret'") - ga_client_id = fields.Char('Client ID') - ga_client_secret = fields.Char('Client Secret') - google_management_authorization = fields.Char('Google authorization') - - @api.model - def set_analytics(self, ids): - params = self.env['ir.config_parameter'] - myself = self.browse(ids[0]) - params.set_param('google_management_client_id', myself.ga_client_id or '', groups=['base.group_system']) - params.set_param('google_management_client_secret', myself.ga_client_secret or '', groups=['base.group_system']) - - @api.model - def get_analytics(self, ids): - params = self.env.get('ir.config_parameter') - ga_client_id = params.get_param('google_management_client_id', default='') - ga_client_secret = params.get_param('google_management_client_secret', default='') - return dict(ga_client_id=ga_client_id, ga_client_secret=ga_client_secret) diff --git a/addons/website_version/models/version.py b/addons/website_version/models/version.py deleted file mode 100644 index 0dfe2a796cd..00000000000 --- a/addons/website_version/models/version.py +++ /dev/null @@ -1,74 +0,0 @@ -# -*- coding: utf-8 -*- -from openerp import fields, models, api -from openerp.exceptions import Warning -from openerp.http import request -from openerp.tools.translate import _ - - -class version(models.Model): - """ A version is a set of qweb views which differs from the qweb views in production for the website. - """ - - _name = "website_version.version" - - name = fields.Char(string="Title", required=True) - view_ids = fields.One2many('ir.ui.view', 'version_id', string="View", copy=True) - website_id = fields.Many2one('website', ondelete='cascade', string="Website") - create_date = fields.Datetime('Create Date') - - _sql_constraints = [ - ('name_uniq', 'unique(name, website_id)', _('You cannot have multiple versions with the same name in the same domain!')), - ] - - @api.multi - def unlink(self): - for id in self.ids: - result = self.env['website_version.experiment'].search(['|', ('state', '=', 'running'), ('state', '=', 'paused'), ('experiment_version_ids.version_id', '=', id)]) - if result: - raise Warning(_("You cannot delete a version which is in a running or paused experiment.")) - #To avoid problem when we delete versions in Backend - if request: - request.session['version_id'] = 0 - return super(version, self).unlink() - - @api.multi - def action_publish(self): - for version in self: - self.view_ids.publish() - - @api.one - def publish_version(self, save_master, copy_master_name): - del_l = self.env['ir.ui.view'] - copy_l = self.env['ir.ui.view'] - ir_ui_view = self.env['ir.ui.view'] - for view in self.view_ids: - master_id = ir_ui_view .search([('key', '=', view.key), ('version_id', '=', False), ('website_id', '=', view.website_id.id)]) - if master_id: - #Delete all the website views having a key which is in the version published - del_l += master_id - copy_l += master_id - else: - #Views that have no website_id, must be copied because they can be shared with another website - master_id = ir_ui_view.search([('key', '=', view.key), ('version_id', '=', False), ('website_id', '=', False)]) - copy_l += master_id - if copy_l: - if save_master: - #To check if the name of the version to copy master already exists - check_id = self.search([('name', '=', copy_master_name), ('website_id', '=', self.website_id.id)]) - #If it already exists, we delete the old to make the new - if check_id: - check_id.unlink() - copy_version_id = self.create({'name': copy_master_name, 'website_id': self.website_id.id}) - copy_l.copy({'version_id': copy_version_id.id, 'website_id': self.website_id.id}) - del_l.unlink() - #All the views in the version published are copied without version_id - for view in self.view_ids: - view.copy({'version_id': None}) - return self.name - - #To make a version of a version - @api.one - def copy_version(self, new_version_id): - for view in self.view_ids: - view.copy({'version_id': new_version_id}) - diff --git a/addons/website_version/models/website.py b/addons/website_version/models/website.py deleted file mode 100644 index af768aa6b3b..00000000000 --- a/addons/website_version/models/website.py +++ /dev/null @@ -1,83 +0,0 @@ -# -*- coding: utf-8 -*- -import json -from openerp import fields, models, api -from openerp.http import request -import random - - -class NewWebsite(models.Model): - - _inherit = "website" - - tuto_google_analytics = fields.Boolean("How to get GA key and View ID") - google_analytics_view_id = fields.Char('View ID') - google_management_authorization = fields.Char('Google authorization') - - @api.model - def get_current_version(self, context=None): - Version = request.env['website_version.version'] - version_id = request.context.get('version_id') - - if not version_id: - request.context['version_id'] = 0 - return (0, '') - return (version_id, Version.browse(version_id).name) - - @api.model - def get_current_website(self): - website = super(NewWebsite, self).get_current_website() - #We just set the cookie for the first visit - if 'website_version_experiment' in request.httprequest.cookies: - EXP = json.loads(request.httprequest.cookies.get('website_version_experiment')) - else: - EXP = request.context.get('website_version_experiment', {}) - exps = self.env["website_version.experiment"].search([('state', '=', 'running'), ('website_id.id', '=', website.id), ('google_id', 'not in', EXP.keys())]) - for exp in exps: - result = [] - pond_sum = 0 - for exp_snap in exp.experiment_version_ids: - result.append([int(exp_snap.frequency)+pond_sum, exp_snap.version_id.id]) - pond_sum += int(exp_snap.frequency) - if pond_sum: - #by default master has a frequency of 50 - pond_sum = pond_sum + 50 - #by default on master - #We set the google_id as key in the cookie to avoid problem when reinitializating the db - EXP[exp.google_id] = str(0) - x = random.randint(0, pond_sum-1) - for res in result: - if x < res[0]: - EXP[exp.google_id] = str(res[1]) - break - request.context['website_version_experiment'] = EXP - request.context['website_id'] = website.id - - if 'version_id' in request.session: - request.context['version_id'] = request.session.get('version_id') - elif self.env['res.users'].has_group('base.group_website_publisher'): - request.context['version_id'] = 0 - else: - request.context['experiment_id'] = 1 - return website - - @api.model - def google_analytics_data(self, main_object): - #To get the ExpId and the VarId of the view if it is in a running experiment - result = {} - if main_object and main_object._name == 'ir.ui.view': - view = main_object - #search all the running experiments with the key of view - exp_ids = self.env['website_version.experiment'].search([('experiment_version_ids.version_id.view_ids.key', '=', view.key), ('state', '=', 'running'), ('experiment_version_ids.version_id.website_id', '=', self.env.context.get('website_id'))]) - if exp_ids: - #No overlap between running experiments then we can take the first one - result['expId'] = exp_ids[0].google_id - version_id = self.env.context.get('version_id') or self.env.context['website_version_experiment'].get(exp_ids[0].google_id) - if version_id: - exp_ver_ids = self.env['website_version.experiment.version'].search([('experiment_id', '=', exp_ids[0].id), ('version_id', '=', int(version_id))], limit=1) - if exp_ver_ids: - result['expVar'] = exp_ver_ids[0].google_index - else: - result['expVar'] = 0 - return result - - diff --git a/addons/website_version/security/ir.model.access.csv b/addons/website_version/security/ir.model.access.csv deleted file mode 100644 index c30a072c44d..00000000000 --- a/addons/website_version/security/ir.model.access.csv +++ /dev/null @@ -1,6 +0,0 @@ -id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink -access_website_version_version,access_website_version_version,model_website_version_version,,1,0,0,0 -access_website_version_version_admin,access_website_version_version_admin,model_website_version_version,base.group_website_designer,1,1,1,1 -access_website_version_experiment,access_website_version_experiment,model_website_version_experiment,,1,1,1,1 -access_website_version_experiment_version,access_website_version_experiment_version,model_website_version_experiment_version,,1,1,1,1 -access_website_version_goals,access_website_version_goals,model_website_version_goals,,1,1,1,1 diff --git a/addons/website_version/static/description/icon.png b/addons/website_version/static/description/icon.png deleted file mode 100644 index a34f97bd676..00000000000 Binary files a/addons/website_version/static/description/icon.png and /dev/null differ diff --git a/addons/website_version/static/description/index.html b/addons/website_version/static/description/index.html deleted file mode 100644 index 27345c721ef..00000000000 --- a/addons/website_version/static/description/index.html +++ /dev/null @@ -1,48 +0,0 @@ -
-
-

Website Versioning

-

Save all the versions of your website with Website Versioning

-
-
- -
-
-
-

-Never loss any data on your website when you are editing pages. With Website Versioning you can save all the modification you realised and retrieve all of them through the versions. -

-
-
-
- -
-
-
-

Features

-

-Quickly create different versions of your website, organize all versions with date or name and update all your website in just one click. -

-
-
-

Save a modification as a draft version

-

- People used to modify their website instinctively. Sometimes it is great but sometimes it is also bad. With Website Versioning, delete the bad and save the great through versions. -

-
-
-

Publish a draft version you like

-

- When you decide that a version seems to be the good one to illustrate your website, you can simply publish this version in one click. -

-
-
-

Travel in the past

-

- With Website Versioning, you can easily retrieve your old versions thanks to their name. Just choose the right one to begin the edition of a new great version. -

-
-
-
- -
-
\ No newline at end of file diff --git a/addons/website_version/static/description/presentation.png b/addons/website_version/static/description/presentation.png deleted file mode 100644 index fa9b5bde76b..00000000000 Binary files a/addons/website_version/static/description/presentation.png and /dev/null differ diff --git a/addons/website_version/static/src/css/google_analytics.css b/addons/website_version/static/src/css/google_analytics.css deleted file mode 100644 index 55697370e03..00000000000 --- a/addons/website_version/static/src/css/google_analytics.css +++ /dev/null @@ -1,7 +0,0 @@ -@charset "utf-8"; - -img.analytics_img_tuto { - margin-left : 50px; - margin-bottom : 10px; - border: 2px solid grey; -} \ No newline at end of file diff --git a/addons/website_version/static/src/css/menu_version.css b/addons/website_version/static/src/css/menu_version.css deleted file mode 100644 index 79cf3616c98..00000000000 --- a/addons/website_version/static/src/css/menu_version.css +++ /dev/null @@ -1,16 +0,0 @@ -.dropdown-menu .o_version > a:after { - margin-right: 10px; -} - -.navbar-inverse .btn-link.o_version:hover { - color: #000; - -} - -.btn.o_version { - text-align: left; -} - -.o_required_field{ - background-color: #d2d2ff; -} \ No newline at end of file diff --git a/addons/website_version/static/src/img/Admin.png b/addons/website_version/static/src/img/Admin.png deleted file mode 100644 index eb905dec70f..00000000000 Binary files a/addons/website_version/static/src/img/Admin.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GA/GA_admin.png b/addons/website_version/static/src/img/GA/GA_admin.png deleted file mode 100644 index 63405513001..00000000000 Binary files a/addons/website_version/static/src/img/GA/GA_admin.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GA/GA_authorize.png b/addons/website_version/static/src/img/GA/GA_authorize.png deleted file mode 100644 index 291ac68f7b2..00000000000 Binary files a/addons/website_version/static/src/img/GA/GA_authorize.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GA/GA_login.png b/addons/website_version/static/src/img/GA/GA_login.png deleted file mode 100644 index 4df15e3821e..00000000000 Binary files a/addons/website_version/static/src/img/GA/GA_login.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GA/GA_save.png b/addons/website_version/static/src/img/GA/GA_save.png deleted file mode 100644 index 1a3e8ff8231..00000000000 Binary files a/addons/website_version/static/src/img/GA/GA_save.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GA/GA_tracking_code.png b/addons/website_version/static/src/img/GA/GA_tracking_code.png deleted file mode 100644 index f54e68f0464..00000000000 Binary files a/addons/website_version/static/src/img/GA/GA_tracking_code.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GA/GA_tracking_id.png b/addons/website_version/static/src/img/GA/GA_tracking_id.png deleted file mode 100644 index 6844b474787..00000000000 Binary files a/addons/website_version/static/src/img/GA/GA_tracking_id.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GA/GA_view_id.png b/addons/website_version/static/src/img/GA/GA_view_id.png deleted file mode 100644 index d3cdf05484e..00000000000 Binary files a/addons/website_version/static/src/img/GA/GA_view_id.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GA/GA_view_settings.png b/addons/website_version/static/src/img/GA/GA_view_settings.png deleted file mode 100644 index 78faeb64878..00000000000 Binary files a/addons/website_version/static/src/img/GA/GA_view_settings.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GC/GC_API.png b/addons/website_version/static/src/img/GC/GC_API.png deleted file mode 100644 index c882baf2494..00000000000 Binary files a/addons/website_version/static/src/img/GC/GC_API.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GC/GC_Apply.png b/addons/website_version/static/src/img/GC/GC_Apply.png deleted file mode 100644 index b868c0622e9..00000000000 Binary files a/addons/website_version/static/src/img/GC/GC_Apply.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GC/GC_Project.png b/addons/website_version/static/src/img/GC/GC_Project.png deleted file mode 100644 index eddafe80008..00000000000 Binary files a/addons/website_version/static/src/img/GC/GC_Project.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GC/GC_client_id.png b/addons/website_version/static/src/img/GC/GC_client_id.png deleted file mode 100644 index 14c661ecab5..00000000000 Binary files a/addons/website_version/static/src/img/GC/GC_client_id.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GC/GC_copy.png b/addons/website_version/static/src/img/GC/GC_copy.png deleted file mode 100644 index 40c2d812b0d..00000000000 Binary files a/addons/website_version/static/src/img/GC/GC_copy.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GC/GC_create_new_client_id.png b/addons/website_version/static/src/img/GC/GC_create_new_client_id.png deleted file mode 100644 index e87deb78362..00000000000 Binary files a/addons/website_version/static/src/img/GC/GC_create_new_client_id.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GC/GC_create_project.png b/addons/website_version/static/src/img/GC/GC_create_project.png deleted file mode 100644 index 1ec1ae0a64f..00000000000 Binary files a/addons/website_version/static/src/img/GC/GC_create_project.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GC/GC_credentials.png b/addons/website_version/static/src/img/GC/GC_credentials.png deleted file mode 100644 index 7e524335d4c..00000000000 Binary files a/addons/website_version/static/src/img/GC/GC_credentials.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GC/GC_enable_api.png b/addons/website_version/static/src/img/GC/GC_enable_api.png deleted file mode 100644 index cd538cc98c9..00000000000 Binary files a/addons/website_version/static/src/img/GC/GC_enable_api.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GC/GC_new_project.png b/addons/website_version/static/src/img/GC/GC_new_project.png deleted file mode 100644 index 20cc99edb88..00000000000 Binary files a/addons/website_version/static/src/img/GC/GC_new_project.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GC/GC_off_api.png b/addons/website_version/static/src/img/GC/GC_off_api.png deleted file mode 100644 index 440ceb64076..00000000000 Binary files a/addons/website_version/static/src/img/GC/GC_off_api.png and /dev/null differ diff --git a/addons/website_version/static/src/img/GC/GC_on_api.png b/addons/website_version/static/src/img/GC/GC_on_api.png deleted file mode 100644 index f9caa7fb1ad..00000000000 Binary files a/addons/website_version/static/src/img/GC/GC_on_api.png and /dev/null differ diff --git a/addons/website_version/static/src/img/Home.png b/addons/website_version/static/src/img/Home.png deleted file mode 100644 index 18caa6e1358..00000000000 Binary files a/addons/website_version/static/src/img/Home.png and /dev/null differ diff --git a/addons/website_version/static/src/img/Login.png b/addons/website_version/static/src/img/Login.png deleted file mode 100644 index 9381e81f2c5..00000000000 Binary files a/addons/website_version/static/src/img/Login.png and /dev/null differ diff --git a/addons/website_version/static/src/img/ODOO/ODOO_authorize.png b/addons/website_version/static/src/img/ODOO/ODOO_authorize.png deleted file mode 100644 index 5850c0434b7..00000000000 Binary files a/addons/website_version/static/src/img/ODOO/ODOO_authorize.png and /dev/null differ diff --git a/addons/website_version/static/src/img/ODOO/ODOO_client.png b/addons/website_version/static/src/img/ODOO/ODOO_client.png deleted file mode 100644 index 46ed511edf4..00000000000 Binary files a/addons/website_version/static/src/img/ODOO/ODOO_client.png and /dev/null differ diff --git a/addons/website_version/static/src/img/ODOO/ODOO_key.png b/addons/website_version/static/src/img/ODOO/ODOO_key.png deleted file mode 100644 index db966c0116a..00000000000 Binary files a/addons/website_version/static/src/img/ODOO/ODOO_key.png and /dev/null differ diff --git a/addons/website_version/static/src/img/ODOO/ODOO_login.png b/addons/website_version/static/src/img/ODOO/ODOO_login.png deleted file mode 100644 index 4df15e3821e..00000000000 Binary files a/addons/website_version/static/src/img/ODOO/ODOO_login.png and /dev/null differ diff --git a/addons/website_version/static/src/img/Property.png b/addons/website_version/static/src/img/Property.png deleted file mode 100644 index 447fcab84df..00000000000 Binary files a/addons/website_version/static/src/img/Property.png and /dev/null differ diff --git a/addons/website_version/static/src/img/Tracking_ID.png b/addons/website_version/static/src/img/Tracking_ID.png deleted file mode 100644 index 4c136d2a3c5..00000000000 Binary files a/addons/website_version/static/src/img/Tracking_ID.png and /dev/null differ diff --git a/addons/website_version/static/src/img/View.png b/addons/website_version/static/src/img/View.png deleted file mode 100644 index bdf19cea9a0..00000000000 Binary files a/addons/website_version/static/src/img/View.png and /dev/null differ diff --git a/addons/website_version/static/src/img/View_ID.png b/addons/website_version/static/src/img/View_ID.png deleted file mode 100644 index b9352566a7f..00000000000 Binary files a/addons/website_version/static/src/img/View_ID.png and /dev/null differ diff --git a/addons/website_version/static/src/js/edit_version.js b/addons/website_version/static/src/js/edit_version.js deleted file mode 100644 index 4a2cbe9576a..00000000000 --- a/addons/website_version/static/src/js/edit_version.js +++ /dev/null @@ -1,90 +0,0 @@ -odoo.define('website_version.edit', function (require) { -'use strict'; - -var ajax = require('web.ajax'); -var core = require('web.core'); -var base = require('web_editor.base'); -var editor = require('web_editor.editor'); - -var _t = core._t; -var qweb = core.qweb; - -editor.Class.include({ - start: function() { - var self = this; - this.$el.on('click', '#save_as_new_version', function() { - - var wizardA = $(qweb.render("website_version.new_version",{'default_name': moment().format('L')})); - wizardA.appendTo($('body')).modal({"keyboard" :true}); - wizardA.on('click','.o_create', function(){ - wizardA.find('.o_message').remove(); - var version_name = wizardA.find('.o_version_name').val(); - if(version_name.length == 0){ - wizardA.find(".o_version_name").after("

*"+_t("This field is required")+"

"); - } - else{ - wizardA.modal("hide"); - ajax.jsonRpc( '/website_version/create_version', 'call', { 'name': version_name, 'version_id': 0}).then(function (result) { - $('html').data('version_id', result); - var wizard = $(qweb.render("website_version.dialogue",{message:_.str.sprintf("You are now working on version: %s.", version_name), - dialogue:_.str.sprintf("If you edit this page or others, all changes will be recorded in the version. It will not be visible by visitors until you publish the version.")})); - wizard.appendTo($('body')).modal({"keyboard" :true}); - wizard.on('click','.o_confirm', function(){ - self.save(); - }); - wizard.on('hidden.bs.modal', function () {$(this).remove();}); - }).fail(function(){ - var wizard = $(qweb.render("website_version.message",{message:_t("This name already exists.")})); - wizard.appendTo($('body')).modal({"keyboard" :true}); - wizard.on('hidden.bs.modal', function () {$(this).remove();}); - }); - } - }); - wizardA.on('hidden.bs.modal', function () {$(this).remove();}); - - }); - var ver_name = $('#version-menu-button').data('version_name'); - if(ver_name){ - this.$el.find('button[data-action="save"]').text(_.str.sprintf(_t("Save on %s"), ver_name)); - } - this.$el.on('click', '#save_and_publish', function() { - var version_id = base.get_context().version_id; - if(version_id) - { - self.save(); - } - else - { - var wizard = $(qweb.render("website_version.publish",{message:_t("Are you sure you want to publish your modifications.")})); - wizard.appendTo($('body')).modal({"keyboard" :true}); - wizard.on('click','.o_confirm', function(){ - self.save(); - }); - wizard.on('hidden.bs.modal', function () {$(this).remove();}); - } - - }); - - $('.option_choice').click(function() { - self.$el.find(".o_second_choice").remove(); - var name = $('#version-menu-button').data('version_name'); - if(name){ - self.$el.find(".o_first_choice").before(qweb.render("website_version.all_options", {version:'Save on '+name})); - } - else{ - self.$el.find(".o_first_choice").before(qweb.render("website_version.all_options", {version:'Save and Publish'})); - } - - }); - - this.$('button[data-action=save]').parent().find("button, a").prop('disabled', true); - - return this._super(); - }, - rte_changed: function () { - this.$('button[data-action=save]').parent().find("button, a").prop('disabled', false); - return this._super(); - }, -}); - -}); diff --git a/addons/website_version/static/src/js/menu_version.js b/addons/website_version/static/src/js/menu_version.js deleted file mode 100644 index a1655279635..00000000000 --- a/addons/website_version/static/src/js/menu_version.js +++ /dev/null @@ -1,295 +0,0 @@ -odoo.define('website_version.menu', function (require) { -'use strict'; - -var ajax = require('web.ajax'); -var core = require('web.core'); -var Widget = require('web.Widget'); -var base = require('web_editor.base'); - -var _t = core._t; -var qweb = core.qweb; - -var _get_context = base.get_context; -base.get_context = function (dict) { - return _.extend({ 'version_id': $("#version-menu-button").data("version_id")|0 }, _get_context(dict)); -}; - -ajax.loadXML('/website_version/static/src/xml/version_templates.xml', qweb); - -var EditorVersion = Widget.extend({ - start: function() { - var self = this; - self.$el.on('click', 'a[data-action]', function(ev) { - ev.preventDefault(); - self[$(this).data('action')](ev); - }); - - this.$el.find('#version-menu-button').click(function() { - var view_id = parseInt($('html').attr('data-view-xmlid')); - ajax.jsonRpc( '/website_version/all_versions', 'call', {'view_id': view_id}).then(function (result) { - self.$el.find(".o_version_choice").remove(); - self.$el.find(".first_divider").before(qweb.render("website_version.all_versions", {versions:result})); - - }); - ajax.jsonRpc( '/website_version/has_experiments', 'call', {'view_id': view_id}).then(function (result) { - self.$el.find(".o_experiment").remove(); - if(result){ - self.$el.find(".create_experiment").after(qweb.render("website_version.experiment_menu")); - } - }); - - }); - return this._super(); - }, - - duplicate_version: function(event) { - var version_id = base.get_context().version_id; - var wizardA = $(qweb.render("website_version.new_version",{'default_name': moment().format('L')})); - wizardA.appendTo($('body')).modal({"keyboard" :true}); - wizardA.on('click','.o_create', function(){ - wizardA.find('.o_message').remove(); - var version_name = wizardA.find('.o_version_name').val(); - if(version_name.length == 0){ - wizardA.find(".o_version_name").after("

*"+_t("This field is required")+"

"); - } - else{ - wizardA.modal("hide"); - ajax.jsonRpc( '/website_version/create_version', 'call', { 'name': version_name, 'version_id': version_id}).then(function (result) { - - var wizard = $(qweb.render("website_version.dialogue",{message:_.str.sprintf("You are now working on version: %s.", version_name), - dialogue:_.str.sprintf("If you edit this page or others, all changes will be recorded in the version. It will not be visible by visitors until you publish the version.")})); - wizard.appendTo($('body')).modal({"keyboard" :true}); - wizard.on('click','.o_confirm', function(){ - window.location.href = '\?enable_editor'; - }); - wizard.on('hidden.bs.modal', function () {$(this).remove();}); - }).fail(function(){ - var wizard = $(qweb.render("website_version.message",{message:_t("This name already exists.")})); - wizard.addClass("o_error"); - wizard.appendTo($('body')).modal({"keyboard" :true}); - wizard.on('hidden.bs.modal', function () {$(this).remove();}); - }); - } - }); - wizardA.on('hidden.bs.modal', function () {$(this).remove();}); - }, - - change_version: function(event) { - var version_id = parseInt($(event.target).closest("li").data("version_id")); - if(! version_id){ - version_id = 0;//By default master - } - ajax.jsonRpc( '/website_version/change_version', 'call', { 'version_id':version_id }).then(function (result) { - location.reload(); - }); - }, - - delete_version: function(event) { - var version_id = parseInt($(event.target).closest("li").data("version_id")); - var name = $(event.currentTarget).parent().children(':last-child').text(); - ajax.jsonRpc( '/website_version/check_version', 'call', { 'version_id':version_id }).then(function (result) { - if (result){ - var wizard = $(qweb.render("website_version.message",{message:_.str.sprintf("You cannot delete the %s version because it is in a running or paused experiment", name)})); - wizard.appendTo($('body')).modal({"keyboard" :true}); - wizard.on('hidden.bs.modal', function () {$(this).remove();}); - } - else{ - var wizardA = $(qweb.render("website_version.delete_message",{message:_.str.sprintf("Are you sure you want to delete the %s version ?", name)})); - wizardA.appendTo($('body')).modal({"keyboard" :true}); - wizardA.on('click','.o_confirm', function(){ - ajax.jsonRpc( '/website_version/delete_version', 'call', { 'version_id':version_id }).then(function (result) { - var wizardB = $(qweb.render("website_version.message",{message:_.str.sprintf("The %s version has been deleted.", result)})); - wizardB.appendTo($('body')).modal({"keyboard" :true}); - wizardB.on('click','.o_confirm', function(){ - location.reload(); - wizardB.on('hidden.bs.modal', function () {$(this).remove();}); - }); - }); - }); - wizardA.on('hidden.bs.modal', function () {$(this).remove();}); - } - }); - }, - - publish_version: function(event) { - var version_id = base.get_context().version_id; - var name = $('#version-menu-button').attr('data-version_name'); - ajax.jsonRpc( '/website_version/diff_version', 'call', { 'version_id':version_id}).then(function (result) { - var wizardA = $(qweb.render("website_version.publish_message",{message:_.str.sprintf("Publish Version %s", name), list:result})); - wizardA.appendTo($('body')).modal({"keyboard" :true}); - wizardA.on('click','.o_confirm', function(){ - wizardA.find('.o_message').remove(); - var check = wizardA.find('.o_check').is(':checked'); - var copy_master_name = wizardA.find('.o_name').val(); - if(check){ - if(copy_master_name.length == 0){ - wizardA.find(".o_name").after("

*"+_t("This field is required")+"

"); - } - else{ - ajax.jsonRpc( '/website_version/publish_version', 'call', { 'version_id':version_id, 'save_master':true, 'copy_master_name':copy_master_name}).then(function (result) { - var wizardB = $(qweb.render("website_version.dialogue",{message:_.str.sprintf("The %s version has been published", result), dialogue:_.str.sprintf("The master has been saved on a new version called %s.",copy_master_name)})); - wizardB.appendTo($('body')).modal({"keyboard" :true}); - wizardB.on('click','.o_confirm', function(){ - location.reload(); - }); - wizardB.on('hidden.bs.modal', function () {$(this).remove();}); - }); - } - } - else{ - ajax.jsonRpc( '/website_version/publish_version', 'call', { 'version_id':version_id, 'save_master':false, 'copy_master_name':""}).then(function (result) { - var wizardC = $(qweb.render("website_version.message",{message:_.str.sprintf("The %s version has been published.", result)})); - wizardC.appendTo($('body')).modal({"keyboard" :true}); - wizardC.on('click','.o_confirm', function(){ - location.reload(); - }); - wizardC.on('hidden.bs.modal', function () {$(this).remove();}); - }); - } - }); - wizardA.on('click','input[name="optionsRadios"]', function(){ - wizardA.find('.o_message').remove(); - wizardA.find('.o_name').toggle( wizardA.find('.o_check').is(':checked') ); - }); - wizardA.on('hidden.bs.modal', function () {$(this).remove();}); - }); - }, - - diff_version: function(event) { - var version_id = base.get_context().version_id; - var name = $('#version-menu-button').data('version_name'); - ajax.jsonRpc( '/website_version/diff_version', 'call', { 'version_id':version_id}).then(function (result) { - var wizard = $(qweb.render("website_version.diff",{list:result, version_name:name})); - wizard.appendTo($('body')).modal({"keyboard" :true}); - wizard.on('click','.o_confirm', function(){}); - wizard.on('hidden.bs.modal', function () {$(this).remove();}); - }); - }, - - google_analytics: function(event){ - window.location.href = 'https://www.google.com/analytics/web'; - - }, - - create_experiment: function() { - var self = this; - var view_id = parseInt($('html').attr('data-view-xmlid')); - ajax.jsonRpc( '/website_version/all_versions_all_goals', 'call', { 'view_id': view_id }).then(function (result) { - var wizardA = $(qweb.render("website_version.create_experiment",{versions:result.tab_version, goals:result.tab_goal, config:result.check_conf})); - wizardA.appendTo($('body')).modal({"keyboard" :true}); - - wizardA.on('click','.o_launch', function(){ - wizardA.find('.o_message').remove(); - var name = wizardA.find('.o_name').val(); - var tab = wizardA.find('.o_version'); - var result = []; - var i; - for (var i = 0; i < tab.length; i++){ - if ($(tab[i]).is(':checked')) { - result.push(parseInt($(tab[i]).attr('data-version_id'))); - } - } - var goal_id = wizardA.find('.box').val(); - var check = true; - if (name.length == 0){ - wizardA.find(".o_name").after("

*"+_t("This field is required")+"

"); - check = false; - } - if (result.length == 0 && check){ - wizardA.find(".o_versions").after("

*"+_t("You must select at least one version which is not Master.")+"

"); - check = false; - } - if(check){ - ajax.jsonRpc( '/website_version/launch_experiment', 'call', { 'name':name, 'version_ids':result, 'goal_id':goal_id }).then(function (existing_experiment) { - if (!existing_experiment['existing']){ - var wizardB = $(qweb.render("website_version.dialogue",{message:_.str.sprintf("Your %s experiment is created.", name), dialogue:_t(" Now you can manage this experiment by clicking on Manage A/B tests.")})); - wizardB.appendTo($('body')).modal({"keyboard" :true}); - wizardB.on('click','.o_confirm', function(){ - location.reload(); - }); - wizardB.on('hidden.bs.modal', function () {$(this).remove();}); - - } - else{ - if(existing_experiment['existing'] == 1){ - wizardA.find(".o_versions").after("

*"+_.str.sprintf("Your %s experiment cannot be launched because this experiment contains a view which is already used in the running %s experiment.", name, existing_experiment['name'])+"

"); - } - else{ - wizardA.find(".o_versions").after("

*"+_.str.sprintf("You cannot have more then 24 running/paused experiments.")+"

"); - } - } - }); - } - }); - wizardA.on('click','.o_configure', function(){ - var website_id = $('html').attr('data-website-id'); - window.location.href ='/web#id='+website_id+'&view_type=form&model=website&action=website_version.action_website_view'; - }); - wizardA.on('click','.o_validate_0', function(){ - wizardA.find('.o_message').remove(); - var website_id = $('html').attr('data-website-id'); - var ga_key = wizardA.find('.o_ga_key').val(); - var view_id = wizardA.find('.o_view_id').val(); - var client_id = wizardA.find('.o_client_id').val(); - var client_secret = wizardA.find('.o_client_secret').val(); - if(ga_key.length == 0 || view_id.length == 0 || client_id.length == 0 || client_secret.length == 0){ - wizardA.find(".o_configure_ab").after("

*"+_t("You must fill all the fields.")+"

"); - } - else{ - ajax.jsonRpc( '/website_version/set_google_access', 'call', {'ga_key':ga_key, 'view_id':view_id, 'client_id':client_id, 'client_secret':client_secret}).then(function (result) { - var context = base.get_context(); - ajax.jsonRpc( '/website_version/google_access', 'call', { - fromurl: window.location.href, - local_context: context - }).done(function(o) { - if (o.status === "need_auth") { - var wizardC = $(qweb.render("website_version.message",{message:_t("You will be redirected to Google to authorize access to your Analytics Account!")})); - wizardC.appendTo($('body')).modal({"keyboard" :true}); - wizardC.on('click','.o_confirm', function(){ - window.location.href = o.url; - }); - wizardC.on('hidden.bs.modal', function () {$(this).remove();}); - } - else if (o.status === "need_config_from_admin"){ - if (confirm(_t("The Google Management API key needs to be configured before you can use it, do you want to do it now?"))) { - window.location.href = o.action; - } - } - }).always(function() { $('button.GoogleAccess').prop('disabled', false); }); - }); - } - }); - wizardA.on('click','.o_validate_2', function(){ - var website_id = $('html').attr('data-website-id'); - var ga_key = wizardA.find('.o_ga_key').val(); - var view_id = wizardA.find('.o_view_id').val(); - if(ga_key.length == 0 || view_id.length == 0){ - wizardA.find(".o_configure_ab").after("

*"+_t("You must fill all the fields.")+"

"); - } - else{ - ajax.jsonRpc( '/website_version/set_google_access', 'call', {'ga_key':ga_key, 'view_id':view_id, 'client_id':0, 'client_secret':0}); - } - }); - wizardA.on('hidden.bs.modal', function () {$(this).remove();}); - }); - }, - - manage_experiment: function() { - window.location.href = '/web#return_label=Website&action=website_version.action_experiment'; - }, - - statistics: function() { - window.open('https://www.google.com/analytics/web/?authuser=0#report/siteopt-experiments/','_blank'); - } - -}); - -$(document).ready(function() { - var version = new EditorVersion(); - version.setElement($("#version-menu")); - version.start(); -}); - -return EditorVersion; - -}); diff --git a/addons/website_version/static/src/js/website_version.tour.versioning.js b/addons/website_version/static/src/js/website_version.tour.versioning.js deleted file mode 100644 index 7b96ea118e0..00000000000 --- a/addons/website_version/static/src/js/website_version.tour.versioning.js +++ /dev/null @@ -1,192 +0,0 @@ -odoo.define('website_version.tour', function (require) { -'use strict'; - -var core = require('web.core'); -var Tour = require('web.Tour'); - -var _t = core._t; - -Tour.register({ - id: 'versioning', - name: "Tutorial versioning", - path: '/', - mode: 'tutorial', - steps: [ - //1. - - { - title: _t("Welcome to the tutorial"), - content: _t("This tutorial will guide you to build a version of your home page."), - popover: { next: _t("Start Tutorial"), end: _t("Skip It") }, - }, - { - title: _t("Click on Version"), - content: _t("You can create a version for every page of your website."), - popover: { fixed: true }, - element: 'a#version-menu-button', - }, - { - title: _t("Click on New version"), - popover: { fixed: true }, - placement: 'left', - element: 'a[data-action="duplicate_version"]:first', - }, - { - title: _t("Give a version name"), - content: _t("Give a clever name to retrieve it easily."), - popover: { fixed: true }, - waitFor: '.modal button.btn-primary.o_create', - element: '.modal input.o_version_name[type="text"]', - sampleText: 'Test', - }, - { - title: _t("Validate the version name"), - placement: 'right', - popover: { fixed: true }, - element: '.modal button.btn-primary.o_create', - }, - { - title: _t("Confirm"), - placement: 'right', - popover: { fixed: true }, - waitNot: '.modal input.form-control[type=text]', - element: '.modal button.o_confirm', - }, - { - title: _t("You are on your new version"), - content: _t("All the modifications you will do, will be saved in this version."), - waitNot: '.modal button.o_confirm', - }, - { - snippet: '#snippet_structure .oe_snippet:first', - placement: 'bottom', - title: _t("Drag & Drop a Banner"), - content: _t("Drag the Banner block and drop it in your page."), - popover: { fixed: true }, - }, - { - waitFor: '.oe_overlay_options .oe_options:visible', - element: '#wrapwrap .carousel:first div.carousel-content', - placement: 'top', - title: _t("Customize banner's text"), - content: _t("Click in the text and start editing it."), - sampleText: 'Here, a customized text', - }, - { - waitNot: '#wrap .carousel:first div.carousel-content:has(h2:'+ - 'containsExact('+_t('Your Banner Title')+')):has(h3:'+ - 'containsExact('+_t('Click to customize this text')+'))', - element: '.oe_snippet_parent:visible', - placement: 'bottom', - title: _t("Get banner properties"), - content: _t("Select the parent container to get the global options of the banner."), - popover: { fixed: true }, - }, - { - element: '.oe_overlay_options .oe_options:visible', - placement: 'left', - title: _t("Customize the banner"), - content: _t("Customize any block through this menu. Try to change the background of the banner."), - popover: { next: _t("Continue") }, - }, - { - snippet: '#snippet_structure .oe_snippet:eq(7)', - placement: 'bottom', - title: _t("Drag & Drop This Block"), - content: _t("Drag the 'Features' block and drop it below the banner."), - popover: { fixed: true }, - }, - { - waitFor: '.oe_overlay_options .oe_options:visible', - element: 'button[data-action=save]', - placement: 'right', - title: _t("Save your modifications"), - content: _t("Publish your page by clicking on the 'Save' button."), - popover: { fixed: true }, - }, - { - waitNot: 'button[data-action=save]:visible', - title: _t("Good Job!"), - content: _t("Well done, you created a version of your homepage."), - popover: { next: _t("Continue") }, - }, - - //2. - - { - title: _t("Publish the version"), - content: _t("Now we will publish your version in production."), - popover: { next: _t("Start Tutorial"), end: _t("Skip It") }, - }, - - { - title: _t("Click on Version"), - element: 'a#version-menu-button', - popover: { fixed: true }, - }, - - { - title: _t("Click on Publish Version"), - placement: 'left', - element: 'a[data-action="publish_version"]:first', - popover: { fixed: true }, - }, - - { - title: _t("Click on Publish button"), - element: '.modal button.o_confirm', - placement: 'right', - }, - - { - title: _t("Confirm"), - placement: 'right', - element: '.modal button.o_confirm[data-dismiss]', - popover: { fixed: true }, - }, - - - //3. - { - title: _t("Delete the version"), - content: _t("Now we will delete the version you have just published."), - waitNot: '.modal button.o_confirm[data-dismiss]', - popover: { next: _t("Start Tutorial"), end: _t("Skip It") }, - }, - - { - title: _t("Click on Version"), - element: 'a#version-menu-button', - popover: { fixed: true }, - }, - - { - title: _t("Delete Version Test"), - element: 'li > a[data-action="delete_version"]:last', - popover: { fixed: true }, - }, - - { - title: _t("Click on delete version button"), - placement: 'right', - element: '.modal:has(.cancel) button.o_confirm', - popover: { fixed: true }, - }, - - { - title: _t("Confirm"), - placement: 'right', - element: '.modal:not(:has(.cancel)) button.o_confirm[data-dismiss]', - popover: { fixed: true }, - }, - - { - title: _t("Finish"), - content: _t("Felicitation, now you are able to edit and manage your versions."), - waitNot: '.modal button.o_confirm[data-dismiss]', - }, - - ] -}); - -}); diff --git a/addons/website_version/static/src/js/widget.js b/addons/website_version/static/src/js/widget.js deleted file mode 100644 index d9fb6d8e5f4..00000000000 --- a/addons/website_version/static/src/js/widget.js +++ /dev/null @@ -1,43 +0,0 @@ -odoo.define('website_version.widget', function (require) { -"use strict"; - -var core = require('web.core'); -var form_common = require('web.form_common'); -var framework = require('web.framework'); -var pyeval = require('web.pyeval'); - -var _t = core._t; - -var rtoken = form_common.AbstractField.extend({ - template: 'website_version.GoogleAccess', - start: function() { - var self = this; - this.$el.on('click', 'button.GoogleAccess', function() { - self.allow_google(); - }); - }, - allow_google: function() { - var self = this; - $('button.GoogleAccess').prop('disabled', true); - var context = pyeval.eval('context'); - self.rpc('/website_version/google_access', { - fromurl: window.location.href, - local_context: context - }).done(function(o) { - if (o.status === "need_auth") { - alert(_t("You will be redirected to Google to authorize access to your Analytics Account!")); - framework.redirect(o.url); - } - else if (o.status === "need_config_from_admin"){ - if (confirm(_t("The Google Management API key needs to be configured before you can use it, do you want to do it now?"))) { - self.do_action(o.action); - } - } - }).always(function() { $('button.GoogleAccess').prop('disabled', false); }); - } - -}); -core.form_widget_registry.add('rtoken', rtoken); - - -}); diff --git a/addons/website_version/static/src/xml/version_templates.xml b/addons/website_version/static/src/xml/version_templates.xml deleted file mode 100644 index a910a91a506..00000000000 --- a/addons/website_version/static/src/xml/version_templates.xml +++ /dev/null @@ -1,467 +0,0 @@ - - - - - -
  • - - - - - -
  • -
    -
    - - - -
    - - - -
    - -
    -
    - - -
  • - -
  • -
    - - -
  • Manage A/B tests
  • -
  • Statistics
  • -
    - - -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    \ No newline at end of file diff --git a/addons/website_version/tests/__init__.py b/addons/website_version/tests/__init__.py deleted file mode 100644 index 2db65ae4ed5..00000000000 --- a/addons/website_version/tests/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from . import test_website_version_all, test_ui diff --git a/addons/website_version/tests/test_ui.py b/addons/website_version/tests/test_ui.py deleted file mode 100644 index cfd8e542c30..00000000000 --- a/addons/website_version/tests/test_ui.py +++ /dev/null @@ -1,8 +0,0 @@ -import openerp.tests - - -@openerp.tests.common.at_install(False) -@openerp.tests.common.post_install(True) -class TestUi(openerp.tests.HttpCase): - def test_01_versioning(self): - self.phantom_js("/", "odoo.__DEBUG__.services['web.Tour'].run('versioning', 'test')", "odoo.__DEBUG__.services['web.Tour'].tours.versioning", login='admin') \ No newline at end of file diff --git a/addons/website_version/tests/test_website_version_all.py b/addons/website_version/tests/test_website_version_all.py deleted file mode 100644 index 177fa8606db..00000000000 --- a/addons/website_version/tests/test_website_version_all.py +++ /dev/null @@ -1,15 +0,0 @@ -from . import test_website_version_base - - -class TestWebsiteVersionAll(test_website_version_base.TestWebsiteVersionBase): - - def test_copy_version(self): - """ Testing version_copy""" - view_0_0_0_0_id, version_id, website_id = self.view_0_0_0_0.id, self.version.id, self.website.id - - copy_version = self.website_version_version.create({'name': 'copy_version_0_0_0_0', 'website_id': website_id}) - self.version.copy_version(copy_version.id) - view_copy_version = copy_version.view_ids[0] - self.env.context = {'version_id': version_id} - view_0_0_0_0 = self.ir_ui_view.browse(view_0_0_0_0_id) - self.assertEqual(view_copy_version.arch, view_0_0_0_0.arch, 'website_version: copy_version: website_version must have in snpashot_copy the same views then in version_0_0_0_0') diff --git a/addons/website_version/tests/test_website_version_base.py b/addons/website_version/tests/test_website_version_base.py deleted file mode 100644 index 115de9b9c58..00000000000 --- a/addons/website_version/tests/test_website_version_base.py +++ /dev/null @@ -1,22 +0,0 @@ -from openerp.tests import common - - -class TestWebsiteVersionBase(common.TransactionCase): - - def setUp(self): - super(TestWebsiteVersionBase, self).setUp() - cr, uid = self.cr, self.uid - - # Usefull models - self.ir_ui_view = self.env['ir.ui.view'] - self.website_version_version = self.env['website_version.version'] - self.website = self.env['website'] - self.ir_model_data = self.env['ir.model.data'] - - #Usefull objects - master_view = self.registry('ir.model.data').xmlid_to_object(cr, uid, 'website.website2_homepage', context=None) - self.arch_master = master_view.arch - self.version = self.registry('ir.model.data').xmlid_to_object(cr, uid, 'website_version.version_0_0_0_0', context=None) - self.website = self.registry('ir.model.data').xmlid_to_object(cr, uid, 'website.website2', context=None) - self.view_0_0_0_0 = self.registry('ir.model.data').xmlid_to_object(cr, uid, 'website_version.website2_homepage_other', context=None) - self.arch_0_0_0_0 = self.view_0_0_0_0.arch diff --git a/addons/website_version/views/marketing_view.xml b/addons/website_version/views/marketing_view.xml deleted file mode 100644 index dbd087bce22..00000000000 --- a/addons/website_version/views/marketing_view.xml +++ /dev/null @@ -1,239 +0,0 @@ - - - - - - Experiments - website_version.experiment - ir.actions.act_window - form - kanban,tree,form - {} - - - - Experiment Kanban - website_version.experiment - - - - - - - - - - - -
    - - -
    - - on -
    -
    -
    versions
    -
    Creation :
    -
    - - - -
    -
    -
    -
    -
    -
    -
    -
    - - - Google analytics - https://www.google.com/analytics/web/?authuser=0#report/siteopt-experiments/ - self - - - - experiment.form - website_version.experiment - -
    -
    - -
    - -