});
/*
-- * ApplicationTiles
-- * This client action designed to be used as a dashboard widget display
-- * either a list of application to install (if none is installed yet) or
-- * a list of root menu
-- */
--openerp.web.client_actions.add( 'board.home.applications', 'openerp.web_dashboard.ApplicationTiles');
--openerp.web_dashboard.apps = {
-- applications: [
-- [
-- {
- module: 'crm', name: 'CRM',
- help: "Acquire leads, follow opportunities, manage prospects and phone calls, \u2026"
- }, {
- module: 'sale', name: 'Sales',
- help: "Do quotations, follow sales orders, invoice and control deliveries"
- }, {
- module: 'account_voucher', name: 'Invoicing',
- help: "Send invoice, track payments and reminders"
- }, {
- module: 'point_of_sale', name: 'Point of Sales',
- help: "Manage shop sales, use touch-screen POS"
- }
- ], [
- {
- module: 'purchase', name: 'Purchase',
- help: "Do purchase orders, control invoices and reception, follow your suppliers, \u2026"
- }, {
- module: 'stock', name: 'Warehouse',
- help: "Track your stocks, schedule product moves, manage incoming and outgoing shipments, \u2026"
- }, {
- module: 'mrp', name: 'Manufacturing',
- help: "Manage your manufacturing, control your supply chain, personalize master data, \u2026"
- }, {
- module: 'account_accountant', name: 'Accounting and Finance',
- help: "Record financial operations, automate followup, manage multi-currency, \u2026"
- }
- ], [
- {
- module: 'project', name: 'Projects',
- help: "Manage projects, track tasks, invoice task works, follow issues, \u2026"
- }, {
- module: 'hr', name: 'Human Resources',
- help: "Manage employees and their contracts, follow laves, recruit people, \u2026"
- }, {
- module: 'marketing', name: 'Marketing',
- help: "Manage campaigns, follow activities, automate emails, \u2026"
- }, {
- module: 'knowledge', name: 'Knowledge',
- help: "Track your documents, browse your files, \u2026"
- }
- ]
- ]
- };
- openerp.web_dashboard.ApplicationTiles = openerp.web.View.extend({
- template: 'ApplicationTiles',
- start: function () {
- this._super();
- $('.secondary_menu', this.$element.closest('.openerp')).hide();
- return this.do_display_root_menu();
- },
- stop: function () {
- $('.secondary_menu', this.$element.closest('.openerp')).show();
- this._super();
- },
- do_display_root_menu: function() {
- var self = this;
- return new openerp.web.DataSetSearch( this, 'ir.ui.menu', null, [['parent_id', '=', false]])
- .read_slice( ['name', 'web_icon_data', 'web_icon_hover_data'], {}, function (applications) {
- // Create a matrix of 3*x applications
- var rows = [];
- while (applications.length) {
- rows.push(applications.splice(0, 3));
- }
- var tiles = QWeb.render( 'ApplicationTiles.content', {rows: rows});
- self.$element.append(tiles)
- .find('.oe-dashboard-home-tile')
- .click(function () {
- openerp.webclient.menu.on_menu_click(null, $(this).data('menuid'))
- });
- });
- }
- });
-
- /*
- module: 'crm', name: 'CRM', menu: 'Sales',
- help: "Acquire leads, follow opportunities, manage prospects and phone calls, \u2026"
- }, {
- module: 'sale', name: 'Sales', menu: 'Sales',
- help: "Do quotations, follow sales orders, invoice and control deliveries"
- }, {
- module: 'account_voucher', name: 'Invoicing', menu: 'Accounting',
- help: "Send invoice, track payments and reminders"
- }, {
- module: 'point_of_sale', name: 'Point of Sale', menu: 'Point of Sale',
- help: "Manage shop sales, use touch-screen POS"
- }
- ], [
- {
- module: 'purchase', name: 'Purchase', menu: 'Sales',
- help: "Do purchase orders, control invoices and reception, follow your suppliers, \u2026"
- }, {
- module: 'stock', name: 'Warehouse', menu: 'Warehouse',
- help: "Track your stocks, schedule product moves, manage incoming and outgoing shipments, \u2026"
- }, {
- module: 'mrp', name: 'Manufacturing', menu: 'Manufacturing',
- help: "Manage your manufacturing, control your supply chain, personalize master data, \u2026"
- }, {
- module: 'account_accountant', name: 'Accounting and Finance', menu: 'Accounting',
- help: "Record financial operations, automate followup, manage multi-currency, \u2026"
- }
- ], [
- {
- module: 'project', name: 'Projects', menu: 'Project',
- help: "Manage projects, track tasks, invoice task works, follow issues, \u2026"
- }, {
- module: 'hr', name: 'Human Resources', menu: 'Human Resources',
- help: "Manage employees and their contracts, follow laves, recruit people, \u2026"
- }, {
- module: 'marketing', name: 'Marketing', menu: 'Marketing',
- help: "Manage campaigns, follow activities, automate emails, \u2026"
- }, {
- module: 'knowledge', name: 'Knowledge', menu: 'Knowledge',
- help: "Track your documents, browse your files, \u2026"
- }
- ]
- ]
-};
-openerp.web_dashboard.ApplicationTiles = openerp.web.View.extend({
- template: 'ApplicationTiles',
- start: function () {
- var self = this;
- this._super();
- var dss = new openerp.web.DataSetSearch( this, 'ir.ui.menu', null, [['parent_id', '=', false]]);
- var r = dss.read_slice( ['name', 'web_icon_data', 'web_icon_hover_data'], {}, function (applications) {
- // Create a matrix of 3*x applications
- var rows = [];
- while (applications.length) {
- rows.push(applications.splice(0, 3));
- }
- var tiles = QWeb.render( 'ApplicationTiles.content', {rows: rows});
- self.$element.append(tiles).find('.oe-dashboard-home-tile').click(function () {
- openerp.webclient.menu.on_menu_click(null, $(this).data('menuid'))
- });
- });
- }
-});
-
-/*
* Widgets
* This client action designed to be used as a dashboard widget display
* the html content of a res_widget given as argument
}
});
++/*
++ * HomeTiles this client action display either the list of application to
++ * install (if none is installed yet) or a list of root menu items
++ */
++openerp.web.client_actions.add('default_home', 'session.web_dashboard.ApplicationTiles');
++openerp.web_dashboard.ApplicationTiles = openerp.web.Widget.extend({
++ template: 'web_dashboard.ApplicationTiles',
++ init: function(parent) {
++ this._super(parent);
++ },
++ start: function() {
++ var self = this;
++ var applications = [
++ {module: 'crm', name: 'CRM', menu: 'Sales', help: "Acquire leads, follow opportunities, manage prospects and phone calls, \u2026"},
++ ];
++ var domain = [['core','=',true],['state','=','installed']];
++ var ds = new openerp.web.DataSetSearch(this, 'ir.module.module',{},domain);
++ ds.read_slice(['id'], {}, function(result) {
++ if(result.length) {
++ self.on_installed_database();
++ } else {
++ self.on_uninstalled_database();
++ }
++ });
++ },
++ on_uninstalled_database: function() {
++ console.log("UNINSTALLED");
++ this.$element.html("ApplicationInstaller");
++ installer = new openerp.web_dashboard.ApplicationInstaller(this);
++ installer.appendTo(this.$element);
++ },
++ on_installed_database: function() {
++ console.log("INSTALLED");
++ this.$element.html("ApplicationTiles");
++ var self = this;
++ var ds = new openerp.web.DataSetSearch( this, 'ir.ui.menu', null, [['parent_id', '=', false]]);
++ var r = ds.read_slice( ['name', 'web_icon_data', 'web_icon_hover_data'], {}, function (applications) {
++ // Create a matrix of 3*x applications
++ var rows = [];
++ while (applications.length) {
++ rows.push(applications.splice(0, 3));
++ }
++ var tiles = QWeb.render( 'ApplicationTiles.content', {rows: rows});
++ self.$element.append(tiles).find('.oe-dashboard-home-tile').click(function () {
++ openerp.webclient.menu.on_menu_click(null, $(this).data('menuid'))
++ });
++ });
++ }
++});
++
++/**
++ * ApplicationInstaller
++ * This client action display a list of applications to install.
++ */
++openerp.web.client_actions.add( 'board.application.installer', 'openerp.web_dashboard.ApplicationInstaller');
++openerp.web_dashboard.ApplicationInstaller = openerp.web.View.extend({
++ template: 'web_dashboard.ApplicationInstaller',
++ start: function () {
++ this._super();
++ $('.secondary_menu', this.$element.closest('.openerp')).hide();
++ this.$element.append("Display ir module module kanban view");
++ },
++ /* currenlt unused */
++ on_install_clicked: function() {
++ var Installer = new openerp.web.DataSet(this, 'base.setup.installer');
++ Installer.call('default_get', [], function (installed_modules) {
++ console.log(installed_modules);
++ self.$element.html(QWeb.render('Welcome-Page', {'applications': applications}));
++ self.$element.find('.install-module-link').click(function () {
++ self.install_module($(this).data('module'), $(this).data('menu'));
++ return false;
++ });
++ });
++ },
++ install_module: function (module_name, menu_name) {
++ var self = this;
++ var Modules = new openerp.web.DataSetSearch(
++ this, 'ir.module.module', null,
++ [['name', '=', module_name], ['state', '=', 'uninstalled']]);
++ var Upgrade = new openerp.web.DataSet(this, 'base.module.upgrade');
++
++ $.blockUI();
++ Modules.read_slice(['id'], {}, function (records) {
++ if (!(records.length === 1)) { $.unblockUI(); return; }
++ Modules.call('state_update',
++ [_.pluck(records, 'id'), 'to install', ['uninstalled']],
++ function () {
++ Upgrade.call('upgrade_module', [[]], function () {
++ self.run_configuration_wizards(menu_name);
++ });
++ }
++ )
++ });
++ },
++ run_configuration_wizards: function (menu_name) {
++ var self = this;
++ new openerp.web.DataSet(this, 'res.config').call('start', [[]], function (action) {
++ self.widget_parent.widget_parent.do_action(action, function () {
++ openerp.webclient.do_reload();
++ });
++ self.$element.empty();
++ var dss = new openerp.web.DataSetSearch(this, 'ir.ui.menu', null, [['parent_id', '=', false], ['name', '=', menu_name]]);
++ dss.read_slice(['id'], {}, function(menus) {
++ if(!(menus.length === 1)) { $.unblockUI(); return; }
++ $.when(openerp.webclient.menu.on_menu_click(null, menus[0].id)).then($.unblockUI);
++ });
++ });
++ }
++});
++
++
};
</dl>
</t>
--<div t-name="ApplicationTiles" class="oe-dashboard-home-tiles"/>
++
++<div t-name="HomeWidget" class="oe-dashboard-home-widget"/>
++<t t-name="HomeWidget.content">
++ <h3><t t-esc="widget.title"/></h3>
++ <iframe width="100%" frameborder="0" t-att-src="url"/>
++</t>
++
++<div t-name="web_dashboard.ApplicationTiles.old" class="oe-dashboard-home-tiles"/>
<table t-name="ApplicationTiles.content" width="100%">
<tr t-foreach="rows" t-as="row">
<td t-foreach="row" t-as="application" width="33.3%">
<div class="oe-dashboard-home-tile"
t-att-data-menuid="application.id">
<div class="oe-dashboard-home-tile-icon">
-- <img t-if="application.web_icon_data"
-- t-att-src="'data:image/png;base64,' + application.web_icon_data"
-- /><img t-if="application.web_icon_hover_data" class="hover"
-- t-att-src="'data:image/png;base64,' + application.web_icon_hover_data"/>
++ <img t-if="application.web_icon_data" t-att-src="'data:image/png;base64,' + application.web_icon_data"
++ /><img t-if="application.web_icon_hover_data" class="hover" t-att-src="'data:image/png;base64,' + application.web_icon_hover_data"/>
</div>
<span><t t-esc="application.name"/></span>
</div>
</td>
</tr>
</table>
--<div t-name="HomeWidget" class="oe-dashboard-home-widget"/>
--<t t-name="HomeWidget.content">
-- <h3><t t-esc="widget.title"/></h3>
-- <iframe width="100%" frameborder="0" t-att-src="url"/>
-</t>
-<div t-name="StaticHome" class="oe-static-home">
- <h1>Welcome to your new OpenERP instance.</h1>
- <div class="oe-static-home-banner">
- <li>Remember to bookmark this page.</li>
- <li>Remember your login: <t t-esc="session.username"/></li>
- <li>Choose the first OpenERP Application you want to install..</li>
++
++<t t-name="web_dashboard.ApplicationTiles">
++ <div class="oe_installer">
++ <h1>Welcome to OpenERP</h1>
++ <ul>
++ <t t-foreach="applications" t-as="application" >
++ <li>
++ <a href="#" class="oe_install-module-link" t-att-data-module="application.module" t-att-data-menu="application.menu" >
++ <img t-att-src="'/web_dashboard/static/src/img/installer_' + application.module + '.png'"/>
++ <div><t t-esc="application.name"/></div>
++ </a>
++ </li>
++ </t>
++ </ul>
+ </div>
- <div class="oe-static-home-tiles">
- <table width="100%">
- <tr t-foreach="rows" t-as="row">
- <td t-foreach="row" t-as="application" width="25%">
- <table class="oe-static-home-tile">
- <tr>
- <td>
- <div class="oe-static-home-tile-logo">
- <img t-att-src="'/web_dashboard/static/src/img/installer_' + application.module + '.png'"/>
- </div>
- </td>
- <td>
- <div class="oe-static-home-tile-text">
- <h2><t t-esc="application.name"/></h2>
- <p><t t-esc="application.help"/></p>
- <button type="button" t-att-value="application.module" t-att-data-menu="application.menu">Install</button>
- </div>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
+</t>
++
++<t t-name="web_dashboard.ApplicationInstaller">
++ <div class="oe_installer">
++ <h1>Welcome to OpenERP</h1>
++ <li>Remember to bookmark this page.</li>
++ <li>Remember your login: <t t-esc="session.username"/></li>
++ <li>Choose the first OpenERP Application you want to install..</li>
++ <h3>Please choose the first application to install.</h3>
++ KANBAN HERE
+ </div>
-</div>
++</t>
++
</template>