From 5032dad17d3bf4d74fd9ac07804881df6e70dafa Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Mon, 18 Feb 2013 18:55:59 +0100 Subject: [PATCH 1/3] [FIX] module: install_from_urls: restrict to administrators. Urls must come from apps server. lp bug: https://launchpad.net/bugs/1129299 fixed bzr revid: chs@openerp.com-20130218175559-ygo0goytspg119bl --- openerp/addons/base/module/module.py | 16 ++++++++++++++-- openerp/addons/base/static/src/js/apps.js | 4 ++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py index a0d1eedef2b..73c61812ee0 100644 --- a/openerp/addons/base/module/module.py +++ b/openerp/addons/base/module/module.py @@ -30,6 +30,7 @@ import shutil import tempfile import urllib import urllib2 +import urlparse import zipfile import zipimport @@ -39,6 +40,7 @@ except ImportError: from StringIO import StringIO # NOQA import openerp +import openerp.exceptions from openerp import modules, pooler, tools, addons from openerp.modules.db import create_categories from openerp.tools.parse_version import parse_version @@ -655,6 +657,11 @@ class module(osv.osv): return res def install_from_urls(self, cr, uid, urls, context=None): + if not self.pool['res.users'].has_group(cr, uid, 'base.group_system'): + raise openerp.exceptions.AccessDenied() + + apps_server = urlparse.urlparse(self.get_apps_server(cr, uid, context=context)) + OPENERP = 'openerp' tmp = tempfile.mkdtemp() _logger.debug('Install from url: %r', urls) @@ -663,6 +670,11 @@ class module(osv.osv): for module_name, url in urls.items(): if not url: continue # nothing to download, local version is already the last one + + up = urlparse.urlparse(url) + if up.scheme != apps_server.scheme or up.netloc != apps_server.netloc: + raise openerp.exceptions.AccessDenied() + try: _logger.info('Downloading module `%s` from OpenERP Apps', module_name) content = urllib2.urlopen(url).read() @@ -727,8 +739,8 @@ class module(osv.osv): finally: shutil.rmtree(tmp) - def install_by_names(self, cr, uid, names, context=None): - raise NotImplementedError('# TODO') + def get_apps_server(self, cr, uid, context=None): + return tools.config.get('apps_server', 'https://apps.openerp.com/apps') def _update_dependencies(self, cr, uid, mod_browse, depends=None): if depends is None: diff --git a/openerp/addons/base/static/src/js/apps.js b/openerp/addons/base/static/src/js/apps.js index a55c89a0483..7a77e827a94 100644 --- a/openerp/addons/base/static/src/js/apps.js +++ b/openerp/addons/base/static/src/js/apps.js @@ -62,8 +62,8 @@ openerp.base = function(instance) { if (instance.base.apps_client) { return check_client_available(instance.base.apps_client); } else { - var ICP = new instance.web.Model('ir.config_parameter'); - return ICP.call('get_param', ['apps.server', 'https://apps.openerp.com/apps']).then(function(u) { + var Mod = new instance.web.Model('ir.module.module'); + return Mod.call('get_apps_server').then(function(u) { var link = $(_.str.sprintf('', u))[0]; var host = _.str.sprintf('%s//%s', link.protocol, link.host); var dbname = link.pathname; From 014f1ddc2a202a3249ae501ce96d02e3a1603f9d Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Thu, 18 Jul 2013 14:35:26 +0200 Subject: [PATCH 2/3] [FIX] account: Chart Installer: new way to get apps server bzr revid: chs@openerp.com-20130718123526-4xqacoe63c9qqufp --- addons/account/installer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account/installer.py b/addons/account/installer.py index 9ad20129587..357ec11dec3 100644 --- a/addons/account/installer.py +++ b/addons/account/installer.py @@ -47,7 +47,7 @@ class account_installer(osv.osv_memory): # try get the list on apps server try: - apps_server = self.pool.get('ir.config_parameter').get_param(cr, uid, 'apps.server', 'https://apps.openerp.com') + apps_server = self.pool.get('ir.module.module').get_apps_server(cr, uid, context=context) up = urlparse.urlparse(apps_server) url = '{0.scheme}://{0.netloc}/apps/charts?serie={1}'.format(up, serie) From fc25f85b52d07e4cb8029673d9f10b4a75677f6d Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Thu, 10 Apr 2014 06:46:50 +0000 Subject: [PATCH 3/3] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20140410064650-qqd9g5dsaf5dqm52 --- addons/account/i18n/es.po | 13 +++++-------- addons/account_asset/i18n/sv.po | 13 ++++++++----- addons/crm/i18n/tr.po | 12 ++++++------ addons/event/i18n/sv.po | 29 +++++++++++++++++------------ 4 files changed, 36 insertions(+), 31 deletions(-) diff --git a/addons/account/i18n/es.po b/addons/account/i18n/es.po index a9a100e667e..2bbb38622b1 100644 --- a/addons/account/i18n/es.po +++ b/addons/account/i18n/es.po @@ -8,15 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2013-06-14 22:29+0000\n" -"PO-Revision-Date: 2014-02-05 16:24+0000\n" -"Last-Translator: Carlos Vásquez (CLEARCORP) " -"\n" +"PO-Revision-Date: 2014-04-09 17:06+0000\n" +"Last-Translator: Pedro Manuel Baeza \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-02-06 06:23+0000\n" -"X-Generator: Launchpad (build 16916)\n" +"X-Launchpad-Export-Date: 2014-04-10 06:46+0000\n" +"X-Generator: Launchpad (build 16976)\n" #. module: account #: model:process.transition,name:account.process_transition_supplierreconcilepaid0 @@ -475,9 +474,7 @@ msgstr "" "Le permite gestionar los activos de una compañía o persona.\n" "Realiza un seguimiento de la depreciación de estos activos, y crea asientos " "para las líneas de depreciación.\n" -"Esto instala el módulo 'account_asset'. \n" -"Si no marca esta casilla, podrá realizar facturas y pagos, pero no " -"contabilidad (asientos contables, plan de cuentas, ...)" +"Esto instala el módulo 'account_asset'." #. module: account #: help:account.bank.statement.line,name:0 diff --git a/addons/account_asset/i18n/sv.po b/addons/account_asset/i18n/sv.po index 83e412a1d42..1cd86b2f5a4 100644 --- a/addons/account_asset/i18n/sv.po +++ b/addons/account_asset/i18n/sv.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2013-06-07 19:36+0000\n" -"PO-Revision-Date: 2014-04-03 22:23+0000\n" +"PO-Revision-Date: 2014-04-09 08:52+0000\n" "Last-Translator: Anders Wallenquist \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-04-04 07:07+0000\n" +"X-Launchpad-Export-Date: 2014-04-10 06:46+0000\n" "X-Generator: Launchpad (build 16976)\n" #. module: account_asset @@ -576,7 +576,7 @@ msgstr "Transaktioner" #. module: account_asset #: view:asset.modify:0 msgid "Asset Durations to Modify" -msgstr "" +msgstr "Inventariers livslängd att ändra" #. module: account_asset #: field:account.asset.asset,purchase_date:0 @@ -665,6 +665,9 @@ msgid "" " * Linear: Calculated on basis of: Gross Value / Number of Depreciations\n" " * Degressive: Calculated on basis of: Residual Value * Degressive Factor" msgstr "" +"Välj vilken metod som ska användas för att beräkna det avskrivningsrader.\n" +" * Linjär: Beräknat på grundval av: Bruttovärde / Antal avskrivningar\n" +" * Degressiv: Beräknat på grundval av: restvärde * avkrivningsfaktor" #. module: account_asset #: field:account.asset.depreciation.line,move_check:0 @@ -697,7 +700,7 @@ msgstr "" #. module: account_asset #: field:account.asset.asset,purchase_value:0 msgid "Gross Value" -msgstr "" +msgstr "Bruttovärde" #. module: account_asset #: field:account.asset.category,name:0 @@ -745,7 +748,7 @@ msgstr "Skapade tillgångsändringar" #. module: account_asset #: view:account.asset.asset:0 msgid "Add an internal note here..." -msgstr "" +msgstr "Lägg till en intern notering här..." #. module: account_asset #: field:account.asset.depreciation.line,sequence:0 diff --git a/addons/crm/i18n/tr.po b/addons/crm/i18n/tr.po index 7a12678be34..380a50f7d54 100644 --- a/addons/crm/i18n/tr.po +++ b/addons/crm/i18n/tr.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-07 16:56+0000\n" -"PO-Revision-Date: 2013-11-24 21:03+0000\n" -"Last-Translator: Ediz Duman \n" +"PO-Revision-Date: 2014-04-09 20:13+0000\n" +"Last-Translator: Ayhan KIZILTAN \n" "Language-Team: OpenERP Turkish Translation <>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-01-08 05:39+0000\n" -"X-Generator: Launchpad (build 16877)\n" +"X-Launchpad-Export-Date: 2014-04-10 06:46+0000\n" +"X-Generator: Launchpad (build 16976)\n" "Language: tr\n" #. module: crm @@ -738,7 +738,7 @@ msgstr "İş Ortağı Bölümlendirme" #: code:addons/crm/crm_lead.py:1064 #, python-format msgid "Logged a call for %(date)s. %(description)s" -msgstr "" +msgstr "Çağrı yapılan %(date)s. %(description)s" #. module: crm #: field:crm.lead,company_currency:0 @@ -3124,7 +3124,7 @@ msgstr "Öneren" #: code:addons/crm/crm_lead.py:1066 #, python-format msgid "Scheduled a call for %(date)s. %(description)s" -msgstr "" +msgstr "Çağrı planlanan %(date)s. %(description)s" #. module: crm #: field:crm.case.section,working_hours:0 diff --git a/addons/event/i18n/sv.po b/addons/event/i18n/sv.po index d6d04c8d328..89ad5bb3bdd 100644 --- a/addons/event/i18n/sv.po +++ b/addons/event/i18n/sv.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2013-06-07 19:37+0000\n" -"PO-Revision-Date: 2013-01-17 23:45+0000\n" -"Last-Translator: Mikael Dúi Bolinder \n" +"PO-Revision-Date: 2014-04-09 09:57+0000\n" +"Last-Translator: Anders Wallenquist \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-11-21 06:08+0000\n" -"X-Generator: Launchpad (build 16831)\n" +"X-Launchpad-Export-Date: 2014-04-10 06:46+0000\n" +"X-Generator: Launchpad (build 16976)\n" #. module: event #: view:event.event:0 @@ -31,7 +31,7 @@ msgstr "Antal deltagare" #. module: event #: field:event.event,register_attended:0 msgid "# of Participations" -msgstr "" +msgstr "# deltagare" #. module: event #: field:event.event,main_speaker_id:0 @@ -57,6 +57,9 @@ msgid "" "enough registrations you are not able to confirm your event. (put 0 to " "ignore this rule )" msgstr "" +"Du kan för varje händelse definierar en lägsta registreringsnivå. Om du inte " +"tillräckligt med registreringar du inte kunna bekräfta ditt evenemang. " +"(sätta 0 för att ignorera denna regel)" #. module: event #: field:event.registration,date_open:0 @@ -107,7 +110,7 @@ msgstr "" #. module: event #: field:event.type,default_registration_max:0 msgid "Default Maximum Registration" -msgstr "" +msgstr "Största antal registrerade som standard" #. module: event #: view:report.event.registration:0 @@ -148,7 +151,7 @@ msgstr "Bekräftade evenemang" #. module: event #: view:event.event:0 msgid "ZIP" -msgstr "" +msgstr "Postnummer" #. module: event #: view:report.event.registration:0 @@ -220,7 +223,7 @@ msgstr "Inställd" #. module: event #: view:event.event:0 msgid "ticket" -msgstr "" +msgstr "biljett" #. module: event #: model:event.event,name:event.event_1 @@ -231,7 +234,7 @@ msgstr "Verdis opera" #: help:event.event,message_unread:0 #: help:event.registration,message_unread:0 msgid "If checked new messages require your attention." -msgstr "" +msgstr "Om ikryssad nya meddelanden som kräver din uppmärksamhet" #. module: event #: view:report.event.registration:0 @@ -242,17 +245,17 @@ msgstr "" #. module: event #: view:event.event:0 msgid "tickets" -msgstr "" +msgstr "biljetter" #. module: event #: view:event.event:0 msgid "Street..." -msgstr "" +msgstr "Gata..." #. module: event #: view:res.partner:0 msgid "False" -msgstr "" +msgstr "Falskt" #. module: event #: field:event.registration,event_end_date:0 @@ -266,6 +269,8 @@ msgid "" "Holds the Chatter summary (number of messages, ...). This summary is " "directly in html format in order to be inserted in kanban views." msgstr "" +"Lagrar pladder-sammanfattning (antal meddelanden, ...). Denna sammanfattning " +"presenteras i html-format för att kunna sättas in i kanban vyer." #. module: event #: view:report.event.registration:0