[IMP] merged application tile with default home
bzr revid: al@openerp.com-20111011233627-6nxfbs64lwzszh7t
@@ -74,6 +74,7 @@ openerp.web.qweb.debug = (window.location.search.indexOf('?debug') !== -1);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
// This should NOT be used, like callbackenable it's too hackish not enough javasish
|
||||
Class.include = function (properties) {
|
||||
for (var name in properties) {
|
||||
if (typeof properties[name] !== 'function'
|
||||
|
||||
@@ -22,7 +22,11 @@ class Widgets(openerpweb.Controller):
|
||||
_cp_path = '/web_dashboard/widgets'
|
||||
|
||||
@openerpweb.httprequest
|
||||
def content(self, request, widget_id):
|
||||
return WIDGET_CONTENT_PATTERN % request.session.model('res.widget').read(
|
||||
[widget_id], ['content'], request.session.eval_context(request.context)
|
||||
)[0]
|
||||
def content(self, req, widget_id):
|
||||
Widget = req.session.model('res.widget')
|
||||
w = Widget.read([widget_id], ['content'], req.session.eval_context(req.context))
|
||||
if w:
|
||||
r = WIDGET_CONTENT_PATTERN % w[0]
|
||||
else:
|
||||
r = "Widget unavailable"
|
||||
return r
|
||||
|
||||
@@ -257,3 +257,46 @@
|
||||
.openerp .oe-dashboard-action .view-manager-main-content {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.oe-static-home {
|
||||
padding: 0.5em 0.5em;
|
||||
text-align: center;
|
||||
}
|
||||
.oe-static-home h1 {
|
||||
margin: 0 0 0.3em
|
||||
}
|
||||
.oe-static-home-banner {
|
||||
display: inline-block;
|
||||
margin: auto 0;
|
||||
padding: 0.5em 5em;
|
||||
text-align: left;
|
||||
}
|
||||
.oe-static-home-banner li {
|
||||
font-size: 150%;
|
||||
font-weight: bold;
|
||||
}
|
||||
.oe-static-home address {
|
||||
font-style: normal;
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
.oe-static-home-tiles {
|
||||
text-align: left;
|
||||
}
|
||||
.oe-static-home-tiles td {
|
||||
vertical-align: top;
|
||||
}
|
||||
.oe-static-home-tile {
|
||||
margin: 0.5em;
|
||||
padding: 0 1em;
|
||||
}
|
||||
.oe-static-home-tile-logo {
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
.oe-static-home-tile-text h2 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
.oe-static-home-tile-text p {
|
||||
margin: 0.5em 0;
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
@@ -2,6 +2,11 @@ openerp.web_dashboard = function(openerp) {
|
||||
var QWeb = openerp.web.qweb;
|
||||
QWeb.add_template('/web_dashboard/static/src/xml/web_dashboard.xml');
|
||||
|
||||
if (!openerp.web_dashboard) {
|
||||
/** @namespace */
|
||||
openerp.web_dashboard = {};
|
||||
}
|
||||
|
||||
openerp.web.form.DashBoard = openerp.web.form.Widget.extend({
|
||||
init: function(view, node) {
|
||||
this._super(view, node);
|
||||
@@ -285,13 +290,12 @@ openerp.web.form.widgets.add('hpaned', 'openerp.web.form.DashBoardLegacy');
|
||||
openerp.web.form.widgets.add('vpaned', 'openerp.web.form.DashBoardLegacy');
|
||||
openerp.web.form.widgets.add('board', 'openerp.web.form.DashBoard');
|
||||
|
||||
openerp.web.client_actions.add(
|
||||
'board.config.overview', 'openerp.web_dashboard.ConfigOverview'
|
||||
);
|
||||
if (!openerp.web_dashboard) {
|
||||
/** @namespace */
|
||||
openerp.web_dashboard = {};
|
||||
}
|
||||
/*
|
||||
* ConfigOverview
|
||||
* This client action designed to be used as a dashboard widget display
|
||||
* ir.actions.todo in a fancy way
|
||||
*/
|
||||
openerp.web.client_actions.add( 'board.config.overview', 'openerp.web_dashboard.ConfigOverview');
|
||||
openerp.web_dashboard.ConfigOverview = openerp.web.View.extend({
|
||||
template: 'ConfigOverview',
|
||||
init: function (parent) {
|
||||
@@ -354,35 +358,152 @@ openerp.web_dashboard.ConfigOverview = openerp.web.View.extend({
|
||||
}
|
||||
});
|
||||
|
||||
openerp.web.client_actions.add(
|
||||
'board.home.applications', 'openerp.web_dashboard.ApplicationTiles');
|
||||
/*
|
||||
* 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: 'project', name: 'Projects',
|
||||
help: "Manage projects, track tasks, invoice task works, follow issues, \u2026"
|
||||
}
|
||||
], [
|
||||
{
|
||||
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: 'hr', name: 'Human Resources',
|
||||
help: "Manage employees and their contracts, follow laves, recruit people, \u2026"
|
||||
}, {
|
||||
module: 'point_of_sale', name: 'Point of Sales',
|
||||
help: "Manage shop sales, use touch-screen POS"
|
||||
}
|
||||
], [
|
||||
{
|
||||
module: 'profile_tools', name: 'Extra Tools',
|
||||
help: "Track ideas, manage lunch, create surveys, share data"
|
||||
}, {
|
||||
module: 'mrp', name: 'Manufacturing',
|
||||
help: "Manage your manufacturing, control your supply chain, personalize master data, \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();
|
||||
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));
|
||||
this._super();
|
||||
// Check for installed application
|
||||
var Installer = new openerp.web.DataSet(this, 'base.setup.installer');
|
||||
Installer.call('default_get', [], function (installed_modules) {
|
||||
var installed = false;
|
||||
_.each(installed_modules, function(v,k) {
|
||||
if(_.startsWith(k,"cat")) {
|
||||
installed =installed || v;
|
||||
}
|
||||
self.$element
|
||||
.append(QWeb.render(
|
||||
'ApplicationTiles.content', {rows: rows}))
|
||||
.find('.oe-dashboard-home-tile')
|
||||
.click(function () {
|
||||
var $this = $(this);
|
||||
$this.closest('.openerp')
|
||||
.find('.menu a[data-menu=' + $this.data('menuid') + ']')
|
||||
.click();});
|
||||
});
|
||||
if(installed) {
|
||||
self.do_display_root_menu();
|
||||
} else {
|
||||
self.do_display_installer();
|
||||
}
|
||||
} );
|
||||
},
|
||||
do_display_root_menu: function() {
|
||||
var self = this;
|
||||
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 () {
|
||||
var $this = $(this);
|
||||
$this.closest('.openerp')
|
||||
.find('.menu a[data-menu=' + $this.data('menuid') + ']')
|
||||
.click();});
|
||||
});
|
||||
return r;
|
||||
},
|
||||
do_display_installer: function() {
|
||||
var self = this;
|
||||
var render_ctx = {
|
||||
url: window.location.protocol + '//' + window.location.host + window.location.pathname,
|
||||
session: self.session,
|
||||
rows: openerp.web_dashboard.apps.applications
|
||||
};
|
||||
var installer = QWeb.render('StaticHome', render_ctx);
|
||||
self.$element.append(installer);
|
||||
this.$element.delegate('.oe-static-home-tile-text button', 'click', function () {
|
||||
self.install_module($(this).val());
|
||||
});
|
||||
},
|
||||
install_module: function (module_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({message:'<img src="/web/static/src/img/throbber2.gif">'});
|
||||
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();
|
||||
});
|
||||
}
|
||||
)
|
||||
});
|
||||
},
|
||||
run_configuration_wizards: function () {
|
||||
var self = this;
|
||||
new openerp.web.DataSet(this, 'res.config').call('start', [[]], function (action) {
|
||||
$.unblockUI();
|
||||
self.do_action(action, function () {
|
||||
// TODO: less brutal reloading
|
||||
window.location.reload(true);
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
openerp.web.client_actions.add(
|
||||
'board.home.widgets', 'openerp.web_dashboard.Widget');
|
||||
|
||||
/*
|
||||
* Widgets
|
||||
* This client action designed to be used as a dashboard widget display
|
||||
* the html content of a res_widget given as argument
|
||||
*/
|
||||
openerp.web.client_actions.add( 'board.home.widgets', 'openerp.web_dashboard.Widget');
|
||||
openerp.web_dashboard.Widget = openerp.web.View.extend(/** @lends openerp.web_dashboard.Widgets# */{
|
||||
template: 'HomeWidget',
|
||||
/**
|
||||
@@ -416,4 +537,5 @@ openerp.web_dashboard.Widget = openerp.web.View.extend(/** @lends openerp.web_da
|
||||
}));
|
||||
}
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
@@ -111,4 +111,36 @@
|
||||
<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: <i><t t-esc="session.login"/></i></li>
|
||||
<li>Choose the first OpenERP Application you want to install..</li>
|
||||
</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"> Install</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"name" : "OpenERP Web installer home",
|
||||
"category" : "Hidden",
|
||||
"version" : "2.0",
|
||||
"depends" : ['web'],
|
||||
'active': True,
|
||||
'js': ['static/src/js/home.js'],
|
||||
'css': ['static/src/css/home.css']
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
# German translation for openerp-web
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
|
||||
"PO-Revision-Date: 2011-10-10 12:40+0000\n"
|
||||
"Last-Translator: Felix Schubert <Unknown>\n"
|
||||
"Language-Team: German <de@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-10-11 05:42+0000\n"
|
||||
"X-Generator: Launchpad (build 14123)\n"
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Welcome to your new OpenERP instance."
|
||||
msgstr "Willkommen zu Ihrer neuen OpenERP Instanz."
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Remember to bookmark this page."
|
||||
msgstr "Denken Sie daran ein Lesezeichen für diese Seite zu setzen."
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Remember your login:"
|
||||
msgstr "Anmeldung speichern"
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Choose the first OpenERP Application you want to install.."
|
||||
msgstr "Wählen Sie die erste OpenERP Anwendung die Sie installieren möchten."
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Install"
|
||||
msgstr "Installieren"
|
||||
@@ -1,38 +0,0 @@
|
||||
# Spanish (Ecuador) translation for openerp-web
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
|
||||
"PO-Revision-Date: 2011-10-07 16:00+0000\n"
|
||||
"Last-Translator: Cristian Salamea (Gnuthink) <ovnicraft@gmail.com>\n"
|
||||
"Language-Team: Spanish (Ecuador) <es_EC@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-10-08 05:30+0000\n"
|
||||
"X-Generator: Launchpad (build 14110)\n"
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Welcome to your new OpenERP instance."
|
||||
msgstr "Bienvenido a tu nueva instancia de OpenERP"
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Remember to bookmark this page."
|
||||
msgstr "Recuerda marcar esta página"
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Remember your login:"
|
||||
msgstr "Recordar tu inicio de sesión"
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Choose the first OpenERP Application you want to install.."
|
||||
msgstr "Escoge la primea Aplicación OpenERP que deseas instalar..."
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Install"
|
||||
msgstr "Instalar"
|
||||
@@ -1,38 +0,0 @@
|
||||
# Estonian translation for openerp-web
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
|
||||
"PO-Revision-Date: 2011-10-10 19:29+0000\n"
|
||||
"Last-Translator: Aare Vesi <Unknown>\n"
|
||||
"Language-Team: Estonian <et@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-10-11 05:42+0000\n"
|
||||
"X-Generator: Launchpad (build 14123)\n"
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Welcome to your new OpenERP instance."
|
||||
msgstr ""
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Remember to bookmark this page."
|
||||
msgstr ""
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Remember your login:"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Choose the first OpenERP Application you want to install.."
|
||||
msgstr ""
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Install"
|
||||
msgstr "Paigalda"
|
||||
@@ -1,38 +0,0 @@
|
||||
# Italian translation for openerp-web
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
|
||||
"PO-Revision-Date: 2011-10-08 13:41+0000\n"
|
||||
"Last-Translator: Nicola Riolini - Micronaet <Unknown>\n"
|
||||
"Language-Team: Italian <it@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-10-09 05:22+0000\n"
|
||||
"X-Generator: Launchpad (build 14110)\n"
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Welcome to your new OpenERP instance."
|
||||
msgstr "Benvenuto nella nuova istanza di OpenERP"
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Remember to bookmark this page."
|
||||
msgstr "Ricordarsi di aggiungere ai preferiti questa pagina"
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Remember your login:"
|
||||
msgstr "Ricordare il proprio login:"
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Choose the first OpenERP Application you want to install.."
|
||||
msgstr "Scegliere la prima applicazione OpenERP che volete installare..."
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Install"
|
||||
msgstr "Installa"
|
||||
@@ -1,38 +0,0 @@
|
||||
# Dutch (Belgium) translation for openerp-web
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
|
||||
"PO-Revision-Date: 2011-10-07 09:07+0000\n"
|
||||
"Last-Translator: Niels Huylebroeck <Unknown>\n"
|
||||
"Language-Team: Dutch (Belgium) <nl_BE@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-10-08 05:30+0000\n"
|
||||
"X-Generator: Launchpad (build 14110)\n"
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Welcome to your new OpenERP instance."
|
||||
msgstr "Welkom bij uw nieuwe OpenERP."
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Remember to bookmark this page."
|
||||
msgstr "Gelieve een bookmark voor deze pagina te maken."
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Remember your login:"
|
||||
msgstr "Vergeet je login niet:"
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Choose the first OpenERP Application you want to install.."
|
||||
msgstr "Kies welke OpenERP Applicatie je wilt installeren..."
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Install"
|
||||
msgstr "Installeer"
|
||||
@@ -1,39 +0,0 @@
|
||||
# Translations template for PROJECT.
|
||||
# Copyright (C) 2011 ORGANIZATION
|
||||
# This file is distributed under the same license as the PROJECT project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 0.9.6\n"
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Welcome to your new OpenERP instance."
|
||||
msgstr ""
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Remember to bookmark this page."
|
||||
msgstr ""
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Remember your login:"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Choose the first OpenERP Application you want to install.."
|
||||
msgstr ""
|
||||
|
||||
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
|
||||
msgid "Install"
|
||||
msgstr ""
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
.oe-static-home {
|
||||
padding: 0.5em 0.5em;
|
||||
text-align: center;
|
||||
}
|
||||
.oe-static-home h1 {
|
||||
margin: 0 0 0.3em
|
||||
}
|
||||
.oe-static-home-banner {
|
||||
display: inline-block;
|
||||
margin: auto 0;
|
||||
padding: 0.5em 5em;
|
||||
text-align: left;
|
||||
}
|
||||
.oe-static-home-banner li {
|
||||
font-size: 150%;
|
||||
font-weight: bold;
|
||||
}
|
||||
.oe-static-home address {
|
||||
font-style: normal;
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
.oe-static-home-tiles {
|
||||
text-align: left;
|
||||
}
|
||||
.oe-static-home-tiles td {
|
||||
vertical-align: top;
|
||||
}
|
||||
.oe-static-home-tile {
|
||||
margin: 0.5em;
|
||||
padding: 0 1em;
|
||||
}
|
||||
.oe-static-home-tile-logo {
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
.oe-static-home-tile-text h2 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
.oe-static-home-tile-text p {
|
||||
margin: 0.5em 0;
|
||||
}
|
||||
@@ -1,127 +0,0 @@
|
||||
openerp.web_default_home = function (openerp) {
|
||||
var QWeb = openerp.web.qweb;
|
||||
QWeb.add_template('/web_default_home/static/src/xml/web_default_home.xml');
|
||||
|
||||
openerp.web_default_home = {
|
||||
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: 'project', name: 'Projects',
|
||||
help: "Manage projects, track tasks, invoice task works, follow issues, \u2026"
|
||||
}
|
||||
], [
|
||||
{
|
||||
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: 'hr', name: 'Human Resources',
|
||||
help: "Manage employees and their contracts, follow laves, recruit people, \u2026"
|
||||
}, {
|
||||
module: 'point_of_sale', name: 'Point of Sales',
|
||||
help: "Manage shop sales, use touch-screen POS"
|
||||
}
|
||||
], [
|
||||
{
|
||||
module: 'profile_tools', name: 'Extra Tools',
|
||||
help: "Track ideas, manage lunch, create surveys, share data"
|
||||
}, {
|
||||
module: 'mrp', name: 'Manufacturing',
|
||||
help: "Manage your manufacturing, control your supply chain, personalize master data, \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.WebClient.include({
|
||||
default_home: function () {
|
||||
var self = this,
|
||||
// resig class can't handle _super in async contexts, by the
|
||||
// time async callback comes back, _super has already been
|
||||
// reset to a baseline value of this.prototype (or something
|
||||
// like that)
|
||||
old_home = this._super;
|
||||
var Installer = new openerp.web.DataSet(
|
||||
this, 'base.setup.installer');
|
||||
Installer.call('already_installed', [], function (installed_modules) {
|
||||
if (!_(installed_modules).isEmpty()) {
|
||||
return old_home.call(self);
|
||||
}
|
||||
self.action_manager.do_action({
|
||||
type: 'ir.actions.client',
|
||||
tag: 'home.default'
|
||||
})
|
||||
}, function (err, event) {
|
||||
event.preventDefault();
|
||||
return old_home.call(self);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
openerp.web.client_actions.add(
|
||||
'home.default', 'openerp.web_default_home.DefaultHome');
|
||||
openerp.web_default_home.DefaultHome = openerp.web.View.extend({
|
||||
template: 'StaticHome',
|
||||
start: function () {
|
||||
var r = this._super(), self = this;
|
||||
this.$element.delegate('.oe-static-home-tile-text button', 'click', function () {
|
||||
self.install_module($(this).val());
|
||||
});
|
||||
return r;
|
||||
},
|
||||
render: function () {
|
||||
return this._super({
|
||||
url: window.location.protocol + '//' + window.location.host + window.location.pathname,
|
||||
session: this.session,
|
||||
rows: openerp.web_default_home.applications
|
||||
})
|
||||
},
|
||||
install_module: function (module_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({message:'<img src="/web/static/src/img/throbber2.gif">'});
|
||||
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();
|
||||
});
|
||||
}
|
||||
)
|
||||
});
|
||||
},
|
||||
run_configuration_wizards: function () {
|
||||
var self = this;
|
||||
new openerp.web.DataSet(this, 'res.config').call('start', [[]], function (action) {
|
||||
$.unblockUI();
|
||||
self.do_action(action, function () {
|
||||
// TODO: less brutal reloading
|
||||
window.location.reload(true);
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -1,34 +0,0 @@
|
||||
<template>
|
||||
<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: <i><t t-esc="session.login"/></i></li>
|
||||
<li>Choose the first OpenERP Application you want to install..</li>
|
||||
</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_default_home/static/src/img/' + 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"> Install</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||