From e7b71a4b213a12b140e99df13dba12e097fb2a56 Mon Sep 17 00:00:00 2001 From: Jigar Patel <jat@openerp.com> Date: Mon, 17 Apr 2017 15:41:55 +0530 Subject: [PATCH] [IMP] web_settings_dashboard: Add a `Translations` and a `Company` settings block Add blocks on settings dashboard to: - Load a translations - Set up company information --- .../controllers/main.py | 4 ++ .../static/src/js/dashboard.js | 58 ++++++++++++++++++- .../static/src/xml/dashboard.xml | 36 ++++++++++++ 3 files changed, 97 insertions(+), 1 deletion(-) diff --git a/addons/web_settings_dashboard/controllers/main.py b/addons/web_settings_dashboard/controllers/main.py index c1119fe6160f..34e660b0bb09 100644 --- a/addons/web_settings_dashboard/controllers/main.py +++ b/addons/web_settings_dashboard/controllers/main.py @@ -66,5 +66,9 @@ class WebSettingsDashboard(http.Controller): 'server_version': release.version, 'expiration_date': expiration_date, 'debug': request.debug, + }, + 'company': { + 'company_id': request.env.user.company_id.id, + 'company_name': request.env.user.company_id.name } } diff --git a/addons/web_settings_dashboard/static/src/js/dashboard.js b/addons/web_settings_dashboard/static/src/js/dashboard.js index ef049b2acfd0..060f7dca6127 100644 --- a/addons/web_settings_dashboard/static/src/js/dashboard.js +++ b/addons/web_settings_dashboard/static/src/js/dashboard.js @@ -14,7 +14,7 @@ var Dashboard = Widget.extend({ template: 'DashboardMain', init: function(){ - this.all_dashboards = ['apps', 'invitations', 'planner', 'share']; + this.all_dashboards = ['apps', 'invitations', 'planner', 'share', 'translations', 'company']; return this._super.apply(this, arguments); }, @@ -59,6 +59,14 @@ var Dashboard = Widget.extend({ load_planner: function(data){ return new DashboardPlanner(this, data.planner).replace(this.$('.o_web_settings_dashboard_planner')); }, + + load_translations: function (data) { + return new DashboardTranslations(this, data.translations).replace(this.$('.o_web_settings_dashboard_translations')); + }, + + load_company: function (data) { + return new DashboardCompany(this, data.company).replace(this.$('.o_web_settings_dashboard_company')); + } }); var DashboardInvitations = Widget.extend({ @@ -287,6 +295,52 @@ var DashboardShare = Widget.extend({ } }); +var DashboardTranslations = Widget.extend({ + template: 'DashboardTranslations', + + events: { + 'click .o_load_translations': 'on_load_translations' + }, + + on_load_translations: function () { + this.do_action('base.action_view_base_language_install'); + } + +}); + +var DashboardCompany = Widget.extend({ + template: 'DashboardCompany', + + events: { + 'click .o_setup_company': 'on_setup_company' + }, + + init: function (parent, data) { + this.data = data; + this.parent = parent; + this._super.apply(this, arguments); + }, + + on_setup_company: function () { + var self = this; + var action = { + type: 'ir.actions.act_window', + res_model: 'res.company', + view_mode: 'form', + view_type: 'form', + views: [[false, 'form']], + res_id: this.data.company_id + }; + this.do_action(action, { + on_reverse_breadcrumb: function () { return self.reload(); } + }); + }, + + reload: function () { + return this.parent.load(['company']); + } +}); + core.action_registry.add('web_settings_dashboard.main', Dashboard); return { @@ -294,6 +348,8 @@ return { DashboardInvitations: DashboardInvitations, DashboardPlanner: DashboardPlanner, DashboardShare: DashboardShare, + DashboardTranslations: DashboardTranslations, + DashboardCompany: DashboardCompany }; }); diff --git a/addons/web_settings_dashboard/static/src/xml/dashboard.xml b/addons/web_settings_dashboard/static/src/xml/dashboard.xml index ce4b2f2c8ac5..bb819e48a24c 100644 --- a/addons/web_settings_dashboard/static/src/xml/dashboard.xml +++ b/addons/web_settings_dashboard/static/src/xml/dashboard.xml @@ -7,9 +7,11 @@ <div class="o_web_settings_dashboard_enterprise"/> <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12 o_web_settings_dashboard_col"> <div class="text-center o_web_settings_dashboard_apps"></div> + <div class="text-center o_web_settings_dashboard_translations"></div> </div> <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12 o_web_settings_dashboard_col"> <div class="text-center o_web_settings_dashboard_invitations"></div> + <div class="text-center o_web_settings_dashboard_company"></div> </div> <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12 o_web_settings_dashboard_col"> <div class="text-center o_web_settings_dashboard_planner"></div> @@ -187,4 +189,38 @@ </div> </t> + <t t-name="DashboardTranslations"> + <div class="text-center o_web_settings_dashboard_translations mt8"> + <i class="fa fa-globe fa-4x text-muted"></i> + <div class="o_web_settings_dashboard_header"> + Translations + </div> + <div> + <small class="text-muted text-center o_web_settings_dashboard_compact_subtitle"> + Send your documents in your partner's language or set up a language for your users + </small> + </div> + <div class="mt16"> + <a class="btn btn-primary btn-block o_load_translations"><strong>Load a Translation</strong></a> + </div> + </div> + </t> + + <t t-name="DashboardCompany"> + <div class="text-center o_web_settings_dashboard_company mt8"> + <i class="fa fa-suitcase fa-4x text-muted"></i> + <div class="o_web_settings_dashboard_header"> + <t t-esc="widget.data.company_name"></t> + </div> + <div> + <small class="text-muted text-center o_web_settings_dashboard_compact_subtitle"> + Set up your company information + </small> + </div> + <div class="mt16"> + <a class="btn btn-primary btn-block o_setup_company"><strong>Set Up</strong></a> + </div> + </div> + </t> + </templates> -- GitLab