[MERGE]: Merge with lp:openobject-server
bzr revid: rpa@tinyerp.com-20100908051704-ndbu7ewdzap55ua7 bzr revid: hmo@tinyerp.com-20100908113129-0rud31cdpv42yfa6 bzr revid: rpa@tinyerp.com-20100909053230-ycmnc0k96dedyjq6
This commit is contained in:
@@ -1021,6 +1021,7 @@
|
||||
<record id="EUR" model="res.currency">
|
||||
<field name="name">EUR</field>
|
||||
<field name="code">EUR</field>
|
||||
<field name="symbol">€</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<!-- Company ID will be set later -->
|
||||
@@ -1031,7 +1032,7 @@
|
||||
<field name="currency_id" ref="EUR"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Basic Company -->
|
||||
<record id="main_company" model="res.company">
|
||||
<field name="name">OpenERP S.A.</field>
|
||||
@@ -1041,7 +1042,7 @@
|
||||
<field name="rml_footer2">IBAN: BE74 1262 0132 6907 - SWIFT: CPHBBE75 - VAT: BE0477.472.701</field>
|
||||
<field name="currency_id" ref="base.EUR"/>
|
||||
</record>
|
||||
|
||||
|
||||
<assert id="main_company" model="res.company">
|
||||
<test expr="currency_id.code == 'eur'.upper()"/>
|
||||
<test expr="name">OpenERP S.A.</test>
|
||||
@@ -1066,6 +1067,7 @@
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
|
||||
<!-- The Following currency rates are considered as on 1st Jan,2010 against EUR. -->
|
||||
<!-- Currencies -->
|
||||
<record id="EUR" model="res.currency">
|
||||
<field name="company_id" ref="main_company"/>
|
||||
@@ -1073,260 +1075,298 @@
|
||||
<record id="USD" model="res.currency">
|
||||
<field name="name">USD</field>
|
||||
<field name="code">USD</field>
|
||||
<field name="symbol">$</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateUSD" model="res.currency.rate">
|
||||
<field name="rate">1.3785</field>
|
||||
<field name="rate">1.2834</field>
|
||||
<field name="currency_id" ref="USD"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="VEB" model="res.currency">
|
||||
<field name="name">Bs</field>
|
||||
<field name="code">VEB</field>
|
||||
<field name="symbol">Bs</field>
|
||||
<field name="rounding">2.95</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateVEB" model="res.currency.rate">
|
||||
<field name="rate">3132.9</field>
|
||||
<field name="rate">2768.45</field>
|
||||
<field name="currency_id" ref="VEB"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="CAD" model="res.currency">
|
||||
<field name="name">CAD</field>
|
||||
<field name="code">CAD</field>
|
||||
<field name="symbol">$</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateCAD" model="res.currency.rate">
|
||||
<field name="rate">1.451</field>
|
||||
<field name="rate">1.3388</field>
|
||||
<field name="currency_id" ref="CAD"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
|
||||
<record id="CHF" model="res.currency">
|
||||
<field name="name">CHF</field>
|
||||
<field name="code">CHF</field>
|
||||
<field name="symbol">CHF</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateCHF" model="res.currency.rate">
|
||||
<field name="rate">1.644</field>
|
||||
<field name="rate">1.3086</field>
|
||||
<field name="currency_id" ref="CHF"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="BRL" model="res.currency">
|
||||
<field name="name">BRL</field>
|
||||
<field name="code">BRL</field>
|
||||
<field name="symbol">R$</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateBRL" model="res.currency.rate">
|
||||
<field name="rate">2.588</field>
|
||||
<field name="rate">2.2344</field>
|
||||
<field name="currency_id" ref="BRL"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="CNY" model="res.currency">
|
||||
<field name="name">CNY</field>
|
||||
<field name="code">CNY</field>
|
||||
<field name="symbol">¥</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateCNY" model="res.currency.rate">
|
||||
<field name="rate">10.4311</field>
|
||||
<field name="rate">8.7556</field>
|
||||
<field name="currency_id" ref="CNY"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
|
||||
<record id="COP" model="res.currency">
|
||||
<field name="name">COP</field>
|
||||
<field name="code">COP</field>
|
||||
<field name="symbol">$</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateCOP" model="res.currency.rate">
|
||||
<field name="rate">2933.8378</field>
|
||||
<field name="currency_id" ref="COP"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
<record id="CZK" model="res.currency">
|
||||
<field name="name">Kč</field>
|
||||
<field name="code">CZK</field>
|
||||
<field name="symbol">Kč</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
|
||||
<record id="rateCZK" model="res.currency.rate">
|
||||
<field name="rate">26.5634</field>
|
||||
<field name="currency_id" ref="CZK"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
<record id="DKK" model="res.currency">
|
||||
<field name="name">kr</field>
|
||||
<field name="code">DKK</field>
|
||||
<field name="symbol">kr</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateDKK" model="res.currency.rate">
|
||||
<field name="rate">7.4416</field>
|
||||
<field name="rate">7.4445</field>
|
||||
<field name="currency_id" ref="DKK"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
|
||||
<record id="HUF" model="res.currency">
|
||||
<field name="name">Ft</field>
|
||||
<field name="code">HUF</field>
|
||||
<field name="symbol">Ft</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateHUF" model="res.currency.rate">
|
||||
<field name="rate">271.5621</field>
|
||||
<field name="currency_id" ref="HUF"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
<record id="IDR" model="res.currency">
|
||||
<field name="name">Rs</field>
|
||||
<field name="code">IDR</field>
|
||||
<field name="symbol">Rs</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
|
||||
<record id="rateIDR" model="res.currency.rate">
|
||||
<field name="rate">13495.2056</field>
|
||||
<field name="currency_id" ref="IDR"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
<record id="LVL" model="res.currency">
|
||||
<field name="name">Ls</field>
|
||||
<field name="code">LVL</field>
|
||||
<field name="symbol">Ls</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateLVL" model="res.currency.rate">
|
||||
<field name="rate">0.71</field>
|
||||
<field name="rate">0.7086</field>
|
||||
<field name="currency_id" ref="LVL"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
|
||||
<record id="NOK" model="res.currency">
|
||||
<field name="name">kr</field>
|
||||
<field name="code">NOK</field>
|
||||
<field name="symbol">kr</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateNOK" model="res.currency.rate">
|
||||
<field name="rate">7.93</field>
|
||||
<field name="rate">7.8668</field>
|
||||
<field name="currency_id" ref="NOK"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
|
||||
<record id="PAB" model="res.currency">
|
||||
<field name="name">PAB</field>
|
||||
<field name="code">PAB</field>
|
||||
<field name="symbol">B/.</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="ratePAB" model="res.currency.rate">
|
||||
<field name="rate">1.3813</field>
|
||||
<field name="rate">1.2676</field>
|
||||
<field name="currency_id" ref="PAB"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<record id="PLN" model="res.currency">
|
||||
<field name="name">zł</field>
|
||||
<field name="code">PLN</field>
|
||||
<field name="symbol">zł</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="ratePLN" model="res.currency.rate">
|
||||
<field name="rate">4.1005</field>
|
||||
<field name="currency_id" ref="PLN"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
<record id="SEK" model="res.currency">
|
||||
<field name="name">kr</field>
|
||||
<field name="code">SEK</field>
|
||||
<field name="symbol">kr</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateSEK" model="res.currency.rate">
|
||||
<field name="rate">10.3004</field>
|
||||
<field name="currency_id" ref="SEK"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
<record id="GBP" model="res.currency">
|
||||
<field name="name">GBP</field>
|
||||
<field name="code">GBP</field>
|
||||
<field name="symbol">₤</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateGBP" model="res.currency.rate">
|
||||
<field name="rate">0.675</field>
|
||||
<field name="rate">0.8333</field>
|
||||
<field name="currency_id" ref="GBP"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="ARS" model="res.currency">
|
||||
<field name="name">ARS</field>
|
||||
<field name="code">ARS</field>
|
||||
<field name="symbol">$</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
|
||||
<record id="rateARS" model="res.currency.rate">
|
||||
<field name="rate">5.6</field>
|
||||
</record>
|
||||
= <record id="rateARS" model="res.currency.rate">
|
||||
<field name="rate">5.0881</field>
|
||||
<field name="currency_id" ref="ARS"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
</record>
|
||||
|
||||
<record id="INR" model="res.currency">
|
||||
<field name="name">INR</field>
|
||||
<field name="code">Rs</field>
|
||||
<field name="symbol">Rs</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateINR" model="res.currency.rate">
|
||||
<field name="rate">0.634</field>
|
||||
<field name="rate">59.9739</field>
|
||||
<field name="currency_id" ref="INR"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
<record id="rateINR2001" model="res.currency.rate">
|
||||
<field name="rate">0.631</field>
|
||||
<field name="currency_id" ref="INR"/>
|
||||
<field name="name">2001-01-01</field>
|
||||
</record>
|
||||
<record id="rateINR2002" model="res.currency.rate">
|
||||
<field name="rate">0.632</field>
|
||||
<field name="currency_id" ref="INR"/>
|
||||
<field name="name">2002-01-01</field>
|
||||
</record>
|
||||
|
||||
<record id="AUD" model="res.currency">
|
||||
<field name="name">AUD</field>
|
||||
<field name="code">AUD</field>
|
||||
<field name="symbol">$</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateAUD" model="res.currency.rate">
|
||||
<field name="rate">1.5266</field>
|
||||
<field name="rate">1.4070</field>
|
||||
<field name="currency_id" ref="AUD"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="UAH" model="res.currency">
|
||||
<field name="name">UAH</field>
|
||||
<field name="code">UAH</field>
|
||||
<field name="symbol">₴</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateUAH" model="res.currency.rate">
|
||||
<field name="rate">10.8266</field>
|
||||
<field name="rate">10.1969</field>
|
||||
<field name="currency_id" ref="UAH"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-05-17 05:31+0000\n"
|
||||
"PO-Revision-Date: 2010-09-08 22:19+0000\n"
|
||||
"Last-Translator: Boris <boris.t.ivanov@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-13 03:44+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-05-02 05:54+0000\n"
|
||||
"PO-Revision-Date: 2010-09-08 21:58+0000\n"
|
||||
"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
|
||||
"<jesteve@zikzakmedia.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-13 03:44+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -6,13 +6,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2009-12-16 06:38+0000\n"
|
||||
"PO-Revision-Date: 2010-09-08 21:42+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"Language-Team: nls@hellug.gr <nls@hellug.gr>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-13 03:45+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
"X-Poedit-Country: GREECE\n"
|
||||
"X-Poedit-Language: Greek\n"
|
||||
|
||||
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-server\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-07-10 04:47+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-09-08 22:13+0000\n"
|
||||
"Last-Translator: Olivier Dony (OpenERP) <Unknown>\n"
|
||||
"Language-Team: English (United Kingdom) <en_GB@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: 2010-07-13 03:48+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-05-02 05:52+0000\n"
|
||||
"PO-Revision-Date: 2010-09-08 21:29+0000\n"
|
||||
"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
|
||||
"<jesteve@zikzakmedia.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-13 03:47+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -3,13 +3,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-04-11 04:49+0000\n"
|
||||
"PO-Revision-Date: 2010-09-08 21:58+0000\n"
|
||||
"Last-Translator: Sadegh Ismael Nattaj <nat@sethack.com>\n"
|
||||
"Language-Team: OpenERP Iran <info@openerp-iran.com>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-13 03:46+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n"
|
||||
"X-Poedit-Language: Persian\n"
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-09-02 07:50+0000\n"
|
||||
"PO-Revision-Date: 2010-09-03 07:19+0000\n"
|
||||
"Last-Translator: Quentin THEURET <quentin@theuret.net>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-03 03:44+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-04 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-09-02 06:44+0000\n"
|
||||
"PO-Revision-Date: 2010-09-08 22:15+0000\n"
|
||||
"Last-Translator: nafterburner <nafterburner@gmail.com>\n"
|
||||
"Language-Team: openerp-translators\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-03 03:44+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
"Language: hr\n"
|
||||
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-09-02 06:41+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-09-08 21:23+0000\n"
|
||||
"Last-Translator: Olivier Dony (OpenERP) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-03 03:44+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-server\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-09-02 06:33+0000\n"
|
||||
"PO-Revision-Date: 2010-09-08 21:43+0000\n"
|
||||
"Last-Translator: Harry (Open ERP) <hmo@tinyerp.com>\n"
|
||||
"Language-Team: Japanese <ja@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: 2010-09-03 03:44+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-09-02 10:24+0000\n"
|
||||
"PO-Revision-Date: 2010-09-08 21:12+0000\n"
|
||||
"Last-Translator: ub121 <ubs121@gmail.com>\n"
|
||||
"Language-Team: Mongolian <mn@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: 2010-09-03 03:44+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-02-19 05:34+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-09-08 22:14+0000\n"
|
||||
"Last-Translator: Olivier Dony (OpenERP) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-13 03:45+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-06-01 04:46+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-09-08 21:50+0000\n"
|
||||
"Last-Translator: Olivier Dony (OpenERP) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-13 03:47+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-02-08 05:18+0000\n"
|
||||
"PO-Revision-Date: 2010-09-08 22:19+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-13 03:47+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: pt_BR\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-09-02 06:28+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-09-08 21:39+0000\n"
|
||||
"Last-Translator: Olivier Dony (OpenERP) <Unknown>\n"
|
||||
"Language-Team: <pt@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: 2010-09-03 03:45+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
@@ -24,7 +24,7 @@ msgstr "Santa Helena"
|
||||
#. module: base
|
||||
#: wizard_view:res.partner.sms_send,init:0
|
||||
msgid "SMS - Gateway: clickatell"
|
||||
msgstr ""
|
||||
msgstr "SMS - Gateway: clickatell"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
@@ -725,12 +725,12 @@ msgstr "STOCK_OK"
|
||||
#: selection:ir.actions.server,state:0
|
||||
#: selection:workflow.activity,kind:0
|
||||
msgid "Dummy"
|
||||
msgstr ""
|
||||
msgstr "Imitação"
|
||||
|
||||
#. module: base
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr ""
|
||||
msgstr "XML inválido para Arquitetura da View"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ky
|
||||
@@ -923,7 +923,7 @@ msgstr "STOCK_REMOVE"
|
||||
#. module: base
|
||||
#: selection:ir.actions.report.xml,report_type:0
|
||||
msgid "raw"
|
||||
msgstr ""
|
||||
msgstr "não processado"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.server,email:0
|
||||
@@ -1019,6 +1019,8 @@ msgid ""
|
||||
"You try to install the module '%s' that depends on the module:'%s'.\n"
|
||||
"But this module is not available in your system."
|
||||
msgstr ""
|
||||
"Você está tentando instalar o módulo '%s' que depende do módulo: '%s'.\n"
|
||||
"Mas este módulo não está disponivel em seu sistema."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_res_request_link
|
||||
@@ -1467,6 +1469,8 @@ msgstr "Madadascar"
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"O nome do Objeto deve começar com x_ e não deve conter nenhum caracter "
|
||||
"especial!"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.rule.group,global:0
|
||||
@@ -1486,7 +1490,7 @@ msgstr "Menu"
|
||||
#. module: base
|
||||
#: field:res.currency,rate:0
|
||||
msgid "Current Rate"
|
||||
msgstr ""
|
||||
msgstr "Taxa atual"
|
||||
|
||||
#. module: base
|
||||
#: selection:module.lang.install,init,lang:0
|
||||
@@ -1555,7 +1559,7 @@ msgstr "Zimbábue"
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_translation_export
|
||||
msgid "Import / Export"
|
||||
msgstr ""
|
||||
msgstr "Importar / Exportar"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_config_user_form
|
||||
@@ -1763,7 +1767,7 @@ msgstr "%S - Segundos como um numero decimal[00,61]."
|
||||
#. module: base
|
||||
#: model:res.country,name:base.am
|
||||
msgid "Armenia"
|
||||
msgstr ""
|
||||
msgstr "Armênia"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.sequence:0
|
||||
@@ -1778,7 +1782,7 @@ msgstr "Diariamente"
|
||||
#. module: base
|
||||
#: model:res.country,name:base.se
|
||||
msgid "Sweden"
|
||||
msgstr ""
|
||||
msgstr "Suécia"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.actions.act_window.view,view_mode:0
|
||||
@@ -1811,7 +1815,7 @@ msgstr "Configuração da ação de iteração"
|
||||
#. module: base
|
||||
#: model:res.country,name:base.at
|
||||
msgid "Austria"
|
||||
msgstr ""
|
||||
msgstr "Austria"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.actions.act_window.view,view_mode:0
|
||||
@@ -1932,7 +1936,7 @@ msgstr "Prefixo"
|
||||
#. module: base
|
||||
#: field:ir.actions.server,loop_action:0
|
||||
msgid "Loop Action"
|
||||
msgstr ""
|
||||
msgstr "Ação de repetição"
|
||||
|
||||
#. module: base
|
||||
#: selection:module.lang.install,init,lang:0
|
||||
@@ -1962,7 +1966,7 @@ msgstr "Iniciar atualização"
|
||||
#. module: base
|
||||
#: field:ir.default,ref_id:0
|
||||
msgid "ID Ref."
|
||||
msgstr ""
|
||||
msgstr "Ref. de ID"
|
||||
|
||||
#. module: base
|
||||
#: selection:module.lang.install,init,lang:0
|
||||
@@ -2061,7 +2065,7 @@ msgstr "Voce tambem pode importar arquivos .po ."
|
||||
#: code:addons/base/maintenance/maintenance.py:0
|
||||
#, python-format
|
||||
msgid "Unable to find a valid contract"
|
||||
msgstr ""
|
||||
msgstr "Não foi possível encontrar um contrato válido."
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_actions.py:0
|
||||
@@ -2193,7 +2197,7 @@ msgstr "Países"
|
||||
#. module: base
|
||||
#: view:ir.rule.group:0
|
||||
msgid "Record rules"
|
||||
msgstr ""
|
||||
msgstr "Registro de Regras"
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner,vat:0
|
||||
@@ -2303,7 +2307,7 @@ msgstr "Categorias"
|
||||
#: model:ir.actions.wizard,name:base.res_partner_send_sms_wizard
|
||||
#: wizard_button:res.partner.sms_send,init,send:0
|
||||
msgid "Send SMS"
|
||||
msgstr ""
|
||||
msgstr "Enviar SMS"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.module.module,state:0
|
||||
@@ -2486,6 +2490,8 @@ msgid ""
|
||||
"Specify the subject. You can use fields from the object, e.g. `Hello [[ "
|
||||
"object.partner_id.name ]]`"
|
||||
msgstr ""
|
||||
"Informe o assunto. Voce pode usar campos de um objeto. Ex.: `Olá [[ "
|
||||
"object.partner_id.name ]]`"
|
||||
|
||||
#. module: base
|
||||
#: view:res.company:0
|
||||
@@ -2545,7 +2551,7 @@ msgstr "Atualização de Sistema"
|
||||
#. module: base
|
||||
#: field:workflow.activity,in_transitions:0
|
||||
msgid "Incoming Transitions"
|
||||
msgstr "Transações de Entrada"
|
||||
msgstr "Transições de Entrada"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sr
|
||||
@@ -2577,6 +2583,8 @@ msgid ""
|
||||
"You try to upgrade a module that depends on the module: %s.\n"
|
||||
"But this module is not available in your system."
|
||||
msgstr ""
|
||||
"Voce tenta atualizar um módulo que depende do módulo: %s. \n"
|
||||
"Mas este módulo não está disponível em seu sistema."
|
||||
|
||||
#. module: base
|
||||
#: view:res.partner.address:0
|
||||
@@ -2762,7 +2770,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: view:res.users:0
|
||||
msgid "Skip"
|
||||
msgstr ""
|
||||
msgstr "Saltar"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.res_request_link-act
|
||||
@@ -2855,7 +2863,7 @@ msgstr "Cabeçalho RML"
|
||||
#. module: base
|
||||
#: wizard_field:res.partner.sms_send,init,app_id:0
|
||||
msgid "API ID"
|
||||
msgstr ""
|
||||
msgstr "API ID"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.mu
|
||||
@@ -3475,6 +3483,8 @@ msgid ""
|
||||
"Some installed modules depend on the module you plan to Uninstall :\n"
|
||||
" %s"
|
||||
msgstr ""
|
||||
"Alguns módulos instalados dependem do módulo que voce deseja desinstalar:\n"
|
||||
" %s"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.act_res_partner_event
|
||||
@@ -3569,7 +3579,7 @@ msgstr "terp-mrp"
|
||||
#. module: base
|
||||
#: field:ir.actions.server,trigger_obj_id:0
|
||||
msgid "Trigger On"
|
||||
msgstr ""
|
||||
msgstr "Ligar gatilho"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.fj
|
||||
@@ -3793,7 +3803,7 @@ msgstr "Itens de trabalho"
|
||||
#. module: base
|
||||
#: field:wizard.module.lang.export,advice:0
|
||||
msgid "Advice"
|
||||
msgstr ""
|
||||
msgstr "Advertência"
|
||||
|
||||
#. module: base
|
||||
#: selection:module.lang.install,init,lang:0
|
||||
@@ -3967,7 +3977,7 @@ msgstr "Aplicar atualizações agendadas"
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.maintenance
|
||||
msgid "Maintenance"
|
||||
msgstr ""
|
||||
msgstr "Manutenção"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.mp
|
||||
@@ -4107,7 +4117,7 @@ msgstr "Itens de trabalho do workflow"
|
||||
#. module: base
|
||||
#: model:res.country,name:base.vc
|
||||
msgid "Saint Vincent & Grenadines"
|
||||
msgstr ""
|
||||
msgstr "Saint Vincent & Grenadines"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.model.config,password:0
|
||||
@@ -4226,7 +4236,7 @@ msgstr "Nome do modelo inválido na definição da ação."
|
||||
#. module: base
|
||||
#: wizard_field:res.partner.sms_send,init,text:0
|
||||
msgid "SMS Message"
|
||||
msgstr ""
|
||||
msgstr "Mensagem SMS"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.ui.menu,icon:0
|
||||
@@ -4338,7 +4348,7 @@ msgstr "E-mail do Remetente"
|
||||
#. module: base
|
||||
#: field:ir.default,field_name:0
|
||||
msgid "Object Field"
|
||||
msgstr ""
|
||||
msgstr "Campo de objeto"
|
||||
|
||||
#. module: base
|
||||
#: selection:module.lang.install,init,lang:0
|
||||
@@ -4592,7 +4602,7 @@ msgstr "iCal id"
|
||||
#. module: base
|
||||
#: wizard_view:res.partner.sms_send,init:0
|
||||
msgid "Bulk SMS send"
|
||||
msgstr ""
|
||||
msgstr "Enviar SMS em massa"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
@@ -4626,6 +4636,8 @@ msgid ""
|
||||
"Can not create the module file:\n"
|
||||
" %s"
|
||||
msgstr ""
|
||||
"Não posso criar o arquivo de módulo:\n"
|
||||
" %s"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.wizard,name:base.wizard_update
|
||||
@@ -4784,7 +4796,7 @@ msgstr "Reunião"
|
||||
#. module: base
|
||||
#: field:ir.rule.group,global:0
|
||||
msgid "Global"
|
||||
msgstr ""
|
||||
msgstr "Global"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.cz
|
||||
@@ -4890,7 +4902,7 @@ msgstr "Tipo de visão"
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.next_id_2
|
||||
msgid "User Interface"
|
||||
msgstr ""
|
||||
msgstr "Interface de Usuário"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.ui.menu,icon:0
|
||||
@@ -5583,7 +5595,7 @@ msgstr "Versão instalada"
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_workflow_root
|
||||
msgid "Workflow Definitions"
|
||||
msgstr ""
|
||||
msgstr "Definição de workflow"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.mr
|
||||
@@ -5927,6 +5939,9 @@ msgid ""
|
||||
"' \\n 'for the currency: %s \n"
|
||||
"' \\n 'at the date: %s"
|
||||
msgstr ""
|
||||
"Nenhuma valor encontrado \n"
|
||||
"'\\n 'para a taxa escolhida: %s \n"
|
||||
"'\\n 'na data: %s"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.act_window:0
|
||||
@@ -6491,7 +6506,7 @@ msgstr "Holanda"
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.next_id_4
|
||||
msgid "Low Level Objects"
|
||||
msgstr ""
|
||||
msgstr "Objetos de baixo nível"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_report_custom
|
||||
@@ -7163,7 +7178,7 @@ msgstr "Adicionar ou não um cabeçalho RML corporativo"
|
||||
#. module: base
|
||||
#: field:res.partner.event,document:0
|
||||
msgid "Document"
|
||||
msgstr ""
|
||||
msgstr "Documento"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.ui.menu,icon:0
|
||||
@@ -7550,7 +7565,7 @@ msgstr "Correspondendo a"
|
||||
#. module: base
|
||||
#: field:ir.actions.configuration.wizard,name:0
|
||||
msgid "Next Wizard"
|
||||
msgstr ""
|
||||
msgstr "Próximo assistente"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.attachment,datas_fname:0
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-09-02 06:31+0000\n"
|
||||
"PO-Revision-Date: 2010-09-08 21:06+0000\n"
|
||||
"Last-Translator: Anders Wallenquist <anders.wallenquist@vertel.se>\n"
|
||||
"Language-Team: <>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-03 03:45+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-02-07 05:12+0000\n"
|
||||
"PO-Revision-Date: 2010-09-08 21:42+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-13 03:48+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-09-02 06:38+0000\n"
|
||||
"PO-Revision-Date: 2010-09-08 22:18+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-03 03:45+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-09-01 06:36+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-09-08 21:31+0000\n"
|
||||
"Last-Translator: Olivier Dony (OpenERP) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-02 03:51+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-09-09 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
|
||||
# $Id$
|
||||
#
|
||||
@@ -50,7 +50,7 @@ class ir_cron(osv.osv, netsvc.Agent):
|
||||
'interval_number': fields.integer('Interval Number'),
|
||||
'interval_type': fields.selection( [('minutes', 'Minutes'),
|
||||
('hours', 'Hours'), ('work_days','Work Days'), ('days', 'Days'),('weeks', 'Weeks'), ('months', 'Months')], 'Interval Unit'),
|
||||
'numbercall': fields.integer('Number of Calls', help='Number of time the function is called,\na negative number indicates that the function will always be called'),
|
||||
'numbercall': fields.integer('Number of Calls', help='Number of time the function is called,\na negative number indicates that the function will always be called'),
|
||||
'doall' : fields.boolean('Repeat Missed'),
|
||||
'nextcall' : fields.datetime('Next Call Date', required=True),
|
||||
'model': fields.char('Object', size=64),
|
||||
@@ -77,7 +77,7 @@ class ir_cron(osv.osv, netsvc.Agent):
|
||||
except:
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
_constraints = [
|
||||
(_check_args, 'Invalid arguments', ['args']),
|
||||
]
|
||||
@@ -98,7 +98,7 @@ class ir_cron(osv.osv, netsvc.Agent):
|
||||
try:
|
||||
db, pool = pooler.get_db_and_pool(db_name)
|
||||
except:
|
||||
return False
|
||||
return False
|
||||
cr = db.cursor()
|
||||
try:
|
||||
if not pool._init:
|
||||
@@ -107,7 +107,7 @@ class ir_cron(osv.osv, netsvc.Agent):
|
||||
for job in cr.dictfetchall():
|
||||
nextcall = datetime.strptime(job['nextcall'], '%Y-%m-%d %H:%M:%S')
|
||||
numbercall = job['numbercall']
|
||||
|
||||
|
||||
ok = False
|
||||
while nextcall < now and numbercall:
|
||||
if numbercall > 0:
|
||||
@@ -125,12 +125,12 @@ class ir_cron(osv.osv, netsvc.Agent):
|
||||
|
||||
|
||||
cr.execute('select min(nextcall) as min_next_call from ir_cron where numbercall<>0 and active and nextcall>=now()')
|
||||
next_call = cr.dictfetchone()['min_next_call']
|
||||
next_call = cr.dictfetchone()['min_next_call']
|
||||
if next_call:
|
||||
next_call = time.mktime(time.strptime(next_call, '%Y-%m-%d %H:%M:%S'))
|
||||
else:
|
||||
next_call = int(time.time()) + 3600 # if do not find active cron job from database, it will run again after 1 day
|
||||
|
||||
|
||||
if not check:
|
||||
self.setAlarm(self._poolJobs, next_call, db_name, db_name)
|
||||
|
||||
@@ -138,29 +138,31 @@ class ir_cron(osv.osv, netsvc.Agent):
|
||||
logger = netsvc.Logger()
|
||||
logger.notifyChannel('cron', netsvc.LOG_WARNING,
|
||||
'Exception in cron:'+str(ex))
|
||||
|
||||
|
||||
finally:
|
||||
cr.commit()
|
||||
cr.close()
|
||||
|
||||
|
||||
def restart(self, dbname):
|
||||
self.cancel(dbname)
|
||||
self._poolJobs(dbname)
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
res = super(ir_cron, self).create(cr, uid, vals, context=context)
|
||||
res = super(ir_cron, self).create(cr, uid, vals, context=context)
|
||||
cr.commit()
|
||||
self.cancel(cr.dbname)
|
||||
self._poolJobs(cr.dbname)
|
||||
self.restart(cr.dbname)
|
||||
return res
|
||||
|
||||
def write(self, cr, user, ids, vals, context=None):
|
||||
res = super(ir_cron, self).write(cr, user, ids, vals, context=context)
|
||||
cr.commit()
|
||||
self.cancel(cr.dbname)
|
||||
self._poolJobs(cr.dbname)
|
||||
self.restart(cr.dbname)
|
||||
return res
|
||||
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
res = super(ir_cron, self).unlink(cr, uid, ids, context=context)
|
||||
cr.commit()
|
||||
self.cancel(cr.dbname)
|
||||
self._poolJobs(cr.dbname)
|
||||
self.restart(cr.dbname)
|
||||
return res
|
||||
ir_cron()
|
||||
|
||||
|
||||
@@ -132,11 +132,25 @@ class ir_translation(osv.osv):
|
||||
|
||||
@tools.cache(skiparg=3)
|
||||
def _get_source(self, cr, uid, name, tt, lang, source=None):
|
||||
"""
|
||||
Returns the translation for the given combination of name, type, language
|
||||
and source. All values passed to this method should be unicode (not byte strings),
|
||||
especially ``source``.
|
||||
|
||||
:param name: identification of the term to translate, such as field name
|
||||
:param type: type of term to translate (see ``type`` field on ir.translation)
|
||||
:param lang: language code of the desired translation
|
||||
:param source: optional source term to translate (should be unicode)
|
||||
:rtype: unicode
|
||||
:return: the request translation, or an empty unicode string if no translation was
|
||||
found and `source` was not passed
|
||||
"""
|
||||
# FIXME: should assert that `source` is unicode and fix all callers to always pass unicode
|
||||
# so we can remove the string encoding/decoding.
|
||||
|
||||
if not lang:
|
||||
return ''
|
||||
return u''
|
||||
if source:
|
||||
#if isinstance(source, unicode):
|
||||
# source = source.encode('utf8')
|
||||
cr.execute('select value ' \
|
||||
'from ir_translation ' \
|
||||
'where lang=%s ' \
|
||||
@@ -152,9 +166,9 @@ class ir_translation(osv.osv):
|
||||
'and name=%s',
|
||||
(lang or '', tt, tools.ustr(name)))
|
||||
res = cr.fetchone()
|
||||
trad = res and res[0] or ''
|
||||
trad = res and res[0] or u''
|
||||
if source and not trad:
|
||||
return source
|
||||
return tools.ustr(source)
|
||||
return trad
|
||||
|
||||
def create(self, cursor, user, vals, context=None):
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@@ -27,7 +27,7 @@ from osv import fields,osv
|
||||
from tools.translate import _
|
||||
from tools.misc import get_iso_codes
|
||||
|
||||
class base_export_language(osv.osv_memory):
|
||||
class base_language_export(osv.osv_memory):
|
||||
|
||||
def _get_languages(self, cr, uid, context):
|
||||
lang_obj=pooler.get_pool(cr.dbname).get('res.lang')
|
||||
@@ -67,7 +67,7 @@ class base_export_language(osv.osv_memory):
|
||||
buf.close()
|
||||
return self.write(cr, uid, ids, {'state':'get', 'data':out, 'advice':this.advice, 'name':this.name}, context=context)
|
||||
|
||||
_name = "base.export.language"
|
||||
_name = "base.language.export"
|
||||
_columns = {
|
||||
'name': fields.char('Filename', 16, readonly=True),
|
||||
'lang': fields.selection(_get_languages, 'Language', help='To export a new language, do not select a language.'), # not required: unset = new language
|
||||
@@ -82,7 +82,7 @@ class base_export_language(osv.osv_memory):
|
||||
_defaults = { 'state': lambda *a: 'choose',
|
||||
'name': lambda *a: 'lang.tar.gz'
|
||||
}
|
||||
base_export_language()
|
||||
base_language_export()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
||||
@@ -4,25 +4,33 @@
|
||||
|
||||
<record id="wizard_lang_export" model="ir.ui.view">
|
||||
<field name="name">Export a Translation File</field>
|
||||
<field name="model">base.export.language</field>
|
||||
<field name="model">base.language.export</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form col="3" string="Export language">
|
||||
<form string="Export language">
|
||||
<notebook>
|
||||
<page string="Export Data">
|
||||
<group col="2" colspan="4" fill="0" states="choose">
|
||||
<separator colspan="2" string="Export translation file"/>
|
||||
<group colspan="4" states="choose">
|
||||
<separator colspan="4" string="Export translation file"/>
|
||||
<field name="lang" required="1"/>
|
||||
<field name="format" required="1"/>
|
||||
<field height="200" name="modules" nolabel="1" colspan="4"/>
|
||||
<field invisible="1" name="state"/>
|
||||
</group>
|
||||
<group col="1" fill="0" states="get">
|
||||
<separator string="Export done"/>
|
||||
<field name="name" invisible="1"/>
|
||||
<field name="data" nolabel="1" readonly="1" fieldname="name"/>
|
||||
<field height="80" name="advice" nolabel="1"/>
|
||||
<group colspan="4" states="get">
|
||||
<separator string="Export done" colspan="4"/>
|
||||
<field name="name" invisible="1" colspan="4"/>
|
||||
<field name="data" nolabel="1" readonly="1" fieldname="name" colspan="4"/>
|
||||
<field height="80" name="advice" nolabel="1" colspan="4"/>
|
||||
</group>
|
||||
<separator string="" colspan="4"/>
|
||||
<group col="2" colspan="2">
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<button icon="gtk-cancel" name="act_cancel" special="cancel" states="choose" string="_Close" type="object"/>
|
||||
<button icon="gtk-ok" name="act_getfile" states="choose" string="_Export" type="object"></button>
|
||||
<button icon="gtk-close" name="act_destroy" special="cancel" states="get" string="_Close" type="object"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Help">
|
||||
<label align="0.0" colspan="4" string="The official translations pack of all OpenERP/OpenObjects module are managed through launchpad. We use their online interface to synchronize all translations efforts."/>
|
||||
@@ -31,12 +39,6 @@
|
||||
<label align="0.0" colspan="4" string="https://translations.launchpad.net/openobject"/>
|
||||
</page>
|
||||
</notebook>
|
||||
|
||||
<group col="2" colspan="3" fill="0">
|
||||
<button icon="gtk-cancel" name="act_cancel" special="cancel" states="choose" string="Close" type="object"/>
|
||||
<button icon="gtk-ok" name="act_getfile" states="choose" string="Get file" type="object"></button>
|
||||
<button icon="gtk-close" name="act_destroy" special="cancel" states="get" string="Close" type="object"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
@@ -44,7 +46,7 @@
|
||||
<record id="action_wizard_lang_export" model="ir.actions.act_window">
|
||||
<field name="name">Export a Translation File</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">base.export.language</field>
|
||||
<field name="res_model">base.language.export</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
|
||||
@@ -10,27 +10,30 @@
|
||||
<form string="Import language">
|
||||
<notebook colspan="4">
|
||||
<page string="Import Data">
|
||||
<group colspan="2" col="4">
|
||||
<separator string="Import New Language" colspan="4"/>
|
||||
<group colspan="4" col="4">
|
||||
<separator string="Import New Language" colspan="4"/>
|
||||
<field name="name" width="200"/>
|
||||
<field name="code"/>
|
||||
<field name="data" colspan="4"/>
|
||||
</group>
|
||||
<separator string="" colspan="4"/>
|
||||
<group colspan="2" col="2">
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<button special="cancel" string="_Close" icon="gtk-cancel"/>
|
||||
<button name="import_lang" string="_Import" type="object" icon="gtk-ok"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Help">
|
||||
<label string="You have to import a .CSV file which is encoded in UTF-8.\n
|
||||
Please check that the first line of your file is one of the following:" colspan="4" align="0.0"/>
|
||||
<label string="You have to import a .CSV file which is encoded in UTF-8."/>
|
||||
<label string="Please check that the first line of your file is one of the following:" colspan="4" align="0.0"/>
|
||||
<label string="type,name,res_id,src,value" colspan="4"/>
|
||||
<label string="module,type,name,res_id,src,value" colspan="4"/>
|
||||
<label string="You can also import .po files." colspan="4" align="0.0"/>
|
||||
</page>
|
||||
</notebook>
|
||||
<newline/>
|
||||
<group colspan="6" >
|
||||
<button special="cancel" string="Close" icon="gtk-cancel"/>
|
||||
<button name="import_lang" string="OK" type="object" icon="gtk-ok"/>
|
||||
</group>
|
||||
</form>
|
||||
</notebook>
|
||||
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -50,4 +53,4 @@
|
||||
parent="menu_translation_export"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
|
||||
<xsl:template name="stylesheet">
|
||||
<paraStyle name="title" fontName="Helvetica-Bold" fontSize="22" alignment="center"/>
|
||||
<paraStyle name="test" alignment="left" leftIndent="10.0"/>
|
||||
<paraStyle name="float_right" alignment="right"/>
|
||||
<paraStyle name="test" alignment="left" />
|
||||
<paraStyle name="float_right" alignment="left"/>
|
||||
<paraStyle name="tbl_heading" alignment="left"/>
|
||||
<blockTableStyle id="products">
|
||||
<!--<blockBackground colorName="grey" start="0,0" stop="-1,0"/> -->
|
||||
@@ -114,7 +114,7 @@
|
||||
</para>
|
||||
</xsl:when>
|
||||
<xsl:when test="@tree='float'">
|
||||
<para style="float_right"><font fontName="Helvetica-bold" fontSize="9" color="blue">
|
||||
<para style="float_right"><font fontName="Helvetica-bold" fontSize="9" color="black">
|
||||
<xsl:value-of select="."/>
|
||||
</font></para>
|
||||
</xsl:when>
|
||||
@@ -131,7 +131,7 @@
|
||||
|
||||
<xsl:otherwise>
|
||||
<para>
|
||||
<font fontName="Helvetica-bold" fontSize="9" color="blue">
|
||||
<font fontName="Helvetica-bold" fontSize="9" color="black">
|
||||
<xsl:value-of select="."/>
|
||||
</font>
|
||||
</para>
|
||||
|
||||
@@ -305,7 +305,10 @@ class res_partner_address(osv.osv):
|
||||
if r['name'] and (r['city'] or r['country_id']):
|
||||
addr += ', '
|
||||
addr += (r['country_id'] and r['country_id'][1] or '') + ' ' + (r['city'] or '') + ' ' + (r['street'] or '')
|
||||
res.append((r['id'], addr.strip() or '/'))
|
||||
if context.get('contact_display', 'contact')=='partner_address':
|
||||
res.append((r['id'], r['partner_id'][1] +','+ addr.strip() or '/'))
|
||||
else:
|
||||
res.append((r['id'], addr.strip() or '/'))
|
||||
return res
|
||||
|
||||
def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
|
||||
@@ -313,7 +316,7 @@ class res_partner_address(osv.osv):
|
||||
args=[]
|
||||
if not context:
|
||||
context={}
|
||||
if context.get('contact_display', 'contact')=='partner':
|
||||
if context.get('contact_display', 'contact')=='partner ' or context.get('contact_display', 'contact')=='partner_address ' :
|
||||
ids = self.search(cr, user, [('partner_id',operator,name)], limit=limit, context=context)
|
||||
else:
|
||||
if not name:
|
||||
|
||||
@@ -330,7 +330,7 @@ class res_config_installer(osv.osv_memory):
|
||||
|
||||
def _already_installed(self, cr, uid, context=None):
|
||||
""" For each module (boolean fields in a res.config.installer),
|
||||
check if it's already installed (neither uninstallable nor uninstalled)
|
||||
check if it's already installed (either 'to install', 'to upgrade' or 'installed')
|
||||
and if it is, check it by default
|
||||
"""
|
||||
modules = self.pool.get('ir.module.module')
|
||||
@@ -341,7 +341,7 @@ class res_config_installer(osv.osv_memory):
|
||||
cr, uid,
|
||||
modules.search(cr, uid,
|
||||
[('name','in',selectable),
|
||||
('state','not in',['uninstallable', 'uninstalled'])],
|
||||
('state','in',['to install', 'installed', 'to upgrade'])],
|
||||
context=context),
|
||||
context=context)
|
||||
|
||||
|
||||
@@ -27,26 +27,29 @@ from tools.misc import currency
|
||||
from tools.translate import _
|
||||
|
||||
class res_currency(osv.osv):
|
||||
def _current_rate(self, cr, uid, ids, name, arg, context={}):
|
||||
res={}
|
||||
def _current_rate(self, cr, uid, ids, name, arg, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
res = {}
|
||||
if 'date' in context:
|
||||
date=context['date']
|
||||
date = context['date']
|
||||
else:
|
||||
date=time.strftime('%Y-%m-%d')
|
||||
date= date or time.strftime('%Y-%m-%d')
|
||||
date = time.strftime('%Y-%m-%d')
|
||||
date = date or time.strftime('%Y-%m-%d')
|
||||
for id in ids:
|
||||
cr.execute("SELECT currency_id, rate FROM res_currency_rate WHERE currency_id = %s AND name <= %s ORDER BY name desc LIMIT 1" ,(id, date))
|
||||
if cr.rowcount:
|
||||
id, rate=cr.fetchall()[0]
|
||||
res[id]=rate
|
||||
id, rate = cr.fetchall()[0]
|
||||
res[id] = rate
|
||||
else:
|
||||
res[id]=0
|
||||
res[id] = 0
|
||||
return res
|
||||
_name = "res.currency"
|
||||
_description = "Currency"
|
||||
_columns = {
|
||||
'name': fields.char('Currency', size=32, required=True),
|
||||
'code': fields.char('Code', size=3),
|
||||
'symbol': fields.char('Symbol', size=3),
|
||||
'rate': fields.function(_current_rate, method=True, string='Current Rate', digits=(12,6),
|
||||
help='The rate of the currency to the currency of rate 1'),
|
||||
'rate_ids': fields.one2many('res.currency.rate', 'currency_id', 'Rates'),
|
||||
@@ -70,9 +73,9 @@ class res_currency(osv.osv):
|
||||
if r.__contains__('rate_ids'):
|
||||
rates=r['rate_ids']
|
||||
if rates:
|
||||
currency_rate_obj=self.pool.get('res.currency.rate')
|
||||
currency_date=currency_rate_obj.read(cr,user,rates[0],['name'])['name']
|
||||
r['date']=currency_date
|
||||
currency_rate_obj= self.pool.get('res.currency.rate')
|
||||
currency_date = currency_rate_obj.read(cr,user,rates[0],['name'])['name']
|
||||
r['date'] = currency_date
|
||||
return res
|
||||
|
||||
def round(self, cr, uid, currency, amount):
|
||||
@@ -86,7 +89,9 @@ class res_currency(osv.osv):
|
||||
def is_zero(self, cr, uid, currency, amount):
|
||||
return abs(self.round(cr, uid, currency, amount)) < currency.rounding
|
||||
|
||||
def compute(self, cr, uid, from_currency_id, to_currency_id, from_amount, round=True, context={}, account=None, account_invert=False):
|
||||
def compute(self, cr, uid, from_currency_id, to_currency_id, from_amount, round=True, context=None, account=None, account_invert=False):
|
||||
if context is None:
|
||||
context = {}
|
||||
if not from_currency_id:
|
||||
from_currency_id = to_currency_id
|
||||
if not to_currency_id:
|
||||
|
||||
@@ -26,13 +26,14 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Currency">
|
||||
<group col="6" colspan="4">
|
||||
<field name="name" select="1" colspan="4"/>
|
||||
<group col="6" colspan="6">
|
||||
<field name="name" select="1"/>
|
||||
<field name="code" select="1"/>
|
||||
<field name="company_id" select="2" />
|
||||
<field name="rate"/>
|
||||
<field name="company_id" select="2" groups="base.group_multi_company" />
|
||||
<field name="symbol"/>
|
||||
</group>
|
||||
|
||||
|
||||
<group col="2" colspan="2">
|
||||
<separator string="Price Accuracy" colspan="2"/>
|
||||
<field name="rounding"/>
|
||||
@@ -44,7 +45,7 @@
|
||||
<field name="base"/>
|
||||
<field name="active" select="1"/>
|
||||
</group>
|
||||
|
||||
|
||||
<field colspan="4" mode="tree,form" name="rate_ids" nolabel="1" attrs="{'readonly':[('base','=',True)]}">
|
||||
<form string="Rates">
|
||||
<field name="name"/>
|
||||
|
||||
+11
-7
@@ -165,21 +165,24 @@ LEVEL_COLOR_MAPPING = {
|
||||
logging.CRITICAL: (WHITE, RED),
|
||||
}
|
||||
|
||||
class ColoredFormatter(logging.Formatter):
|
||||
class DBFormatter(logging.Formatter):
|
||||
def format(self, record):
|
||||
record.dbname = getattr(threading.currentThread(), 'dbname', '?')
|
||||
return logging.Formatter.format(self, record)
|
||||
|
||||
class ColoredFormatter(DBFormatter):
|
||||
def format(self, record):
|
||||
fg_color, bg_color = LEVEL_COLOR_MAPPING[record.levelno]
|
||||
record.levelname = COLOR_PATTERN % (30 + fg_color, 40 + bg_color, record.levelname)
|
||||
return logging.Formatter.format(self, record)
|
||||
|
||||
return DBFormatter.format(self, record)
|
||||
|
||||
def init_logger():
|
||||
import os
|
||||
from tools.translate import resetlocale
|
||||
resetlocale()
|
||||
|
||||
logger = logging.getLogger()
|
||||
# create a format for log messages and dates
|
||||
format = '[%(asctime)s] %(levelname)s:%(name)s:%(message)s'
|
||||
format = '[%(asctime)s][%(dbname)s] %(levelname)s:%(name)s:%(message)s'
|
||||
|
||||
if tools.config['syslog']:
|
||||
# SysLog Handler
|
||||
@@ -188,7 +191,7 @@ def init_logger():
|
||||
else:
|
||||
handler = logging.handlers.SysLogHandler('/dev/log')
|
||||
format = '%s %s' % (release.description, release.version) \
|
||||
+ ':%(levelname)s:%(name)s:%(message)s'
|
||||
+ ':%(dbname)s:%(levelname)s:%(name)s:%(message)s'
|
||||
|
||||
elif tools.config['logfile']:
|
||||
# LogFile Handler
|
||||
@@ -213,10 +216,11 @@ def init_logger():
|
||||
if isinstance(handler, logging.StreamHandler) and os.isatty(handler.stream.fileno()):
|
||||
formatter = ColoredFormatter(format)
|
||||
else:
|
||||
formatter = logging.Formatter(format)
|
||||
formatter = DBFormatter(format)
|
||||
handler.setFormatter(formatter)
|
||||
|
||||
# add the handler to the root logger
|
||||
logger = logging.getLogger()
|
||||
logger.addHandler(handler)
|
||||
logger.setLevel(int(tools.config['log_level'] or '0'))
|
||||
|
||||
|
||||
+368
-276
File diff suppressed because it is too large
Load Diff
+5
-6
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -15,7 +15,7 @@
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
@@ -34,10 +34,10 @@ def get_db_and_pool(db_name, force_demo=False, status=None, update_module=False,
|
||||
import osv.osv
|
||||
pool = osv.osv.osv_pool()
|
||||
pool_dic[db_name] = pool
|
||||
|
||||
|
||||
try:
|
||||
addons.load_modules(db, force_demo, status, update_module)
|
||||
except Exception, e:
|
||||
except Exception:
|
||||
del pool_dic[db_name]
|
||||
raise
|
||||
|
||||
@@ -51,13 +51,12 @@ def get_db_and_pool(db_name, force_demo=False, status=None, update_module=False,
|
||||
import report
|
||||
report.interface.register_all(db)
|
||||
if pooljobs:
|
||||
pool.get('ir.cron')._poolJobs(db.dbname)
|
||||
pool.get('ir.cron').restart(db.dbname)
|
||||
return db, pool
|
||||
|
||||
|
||||
def restart_pool(db_name, force_demo=False, status=None, update_module=False):
|
||||
if db_name in pool_dic:
|
||||
pool_dic[db_name].get('ir.cron').cancel(db_name)
|
||||
del pool_dic[db_name]
|
||||
return get_db_and_pool(db_name, force_demo, status, update_module=update_module)
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -15,7 +15,7 @@
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
@@ -54,17 +54,11 @@ class report_printscreen_list(report_int):
|
||||
if not context:
|
||||
context={}
|
||||
datas['ids'] = ids
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
model_id = pool.get('ir.model').search(cr, uid, [('model','=',model._name)])
|
||||
if model_id:
|
||||
model_desc = pool.get('ir.model').browse(cr, uid, model_id, context).name
|
||||
self.title = model_desc
|
||||
else:
|
||||
model_desc = model._description
|
||||
self.title = model_desc
|
||||
|
||||
model = pool.get(datas['model'])
|
||||
result = model.fields_view_get(cr, uid, view_type='tree', context=context)
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
# title come from description of model which are specified in py file.
|
||||
self.title = model._description
|
||||
result = model.fields_view_get(cr, uid, view_type='form', context=context)
|
||||
|
||||
fields_order = self._parse_string(result['arch'])
|
||||
rows = model.read(cr, uid, datas['ids'], result['fields'].keys() )
|
||||
|
||||
@@ -65,13 +65,9 @@ class report_printscreen_list(report_int):
|
||||
self.groupby_no_leaf = context.get('group_by_no_leaf',False)
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
model = pool.get(datas['model'])
|
||||
model_id = pool.get('ir.model').search(cr, uid, [('model','=',model._name)])
|
||||
if model_id:
|
||||
model_desc = pool.get('ir.model').browse(cr, uid, model_id[0], context).name
|
||||
self.title = model_desc
|
||||
else:
|
||||
model_desc = model._description
|
||||
self.title = model_desc
|
||||
# Title come from description of model which are specified in py file.
|
||||
model_desc = model._description
|
||||
self.title = model_desc
|
||||
datas['ids'] = ids
|
||||
model = pooler.get_pool(cr.dbname).get(datas['model'])
|
||||
result = model.fields_view_get(cr, uid, view_type='tree', context=context)
|
||||
|
||||
@@ -110,7 +110,7 @@ class _date_format(str, _format):
|
||||
if self.val:
|
||||
if getattr(self,'name', None):
|
||||
date = datetime.strptime(self.name, DT_FORMAT)
|
||||
return date.strftime(str(self.lang_obj.date_format))
|
||||
return date.strftime(str(self.lang_obj.date_format))
|
||||
return self.val
|
||||
|
||||
class _dttime_format(str, _format):
|
||||
@@ -253,20 +253,11 @@ class rml_parse(object):
|
||||
date_format = self.lang_dict['date_format']
|
||||
parse_format = DT_FORMAT
|
||||
if date_time:
|
||||
value=value.split('.')[0]
|
||||
date_format = date_format + " " + self.lang_dict['time_format']
|
||||
parse_format = DHM_FORMAT
|
||||
|
||||
# filtering time.strftime('%Y-%m-%d')
|
||||
# if type(value) == type(''):
|
||||
# parse_format = DHM_FORMAT
|
||||
# if (not date_time):
|
||||
# return str(value)
|
||||
|
||||
if not isinstance(value, time.struct_time):
|
||||
try:
|
||||
date = datetime.datetime(str(value), parse_format)
|
||||
except:# sometimes it takes converted values into value, so we dont need conversion.
|
||||
return str(value)
|
||||
return time.strftime(date_format, time.strptime(value, parse_format))
|
||||
else:
|
||||
date = datetime(*value.timetuple()[:6])
|
||||
return date.strftime(date_format)
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
##############################################################################
|
||||
|
||||
import base64
|
||||
import logging
|
||||
import os
|
||||
import security
|
||||
import thread
|
||||
@@ -39,8 +38,6 @@ import tools
|
||||
import locale
|
||||
from cStringIO import StringIO
|
||||
|
||||
logging.basicConfig()
|
||||
|
||||
class db(netsvc.ExportService):
|
||||
def __init__(self, name="db"):
|
||||
netsvc.ExportService.__init__(self, name)
|
||||
|
||||
+14
-7
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -15,12 +15,13 @@
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
__all__ = ['db_connect', 'close_db']
|
||||
|
||||
from threading import currentThread
|
||||
import logging
|
||||
from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT, ISOLATION_LEVEL_READ_COMMITTED, ISOLATION_LEVEL_SERIALIZABLE
|
||||
from psycopg2.psycopg1 import cursor as psycopg1cursor
|
||||
@@ -107,7 +108,7 @@ class Cursor(object):
|
||||
self._close(True)
|
||||
|
||||
@check
|
||||
def execute(self, query, params=None):
|
||||
def execute(self, query, params=None, log_exceptions=True):
|
||||
if '%d' in query or '%f' in query:
|
||||
self.__logger.warn(query)
|
||||
self.__logger.warn("SQL queries cannot contain %d or %f anymore. "
|
||||
@@ -122,10 +123,12 @@ class Cursor(object):
|
||||
params = params or None
|
||||
res = self._obj.execute(query, params)
|
||||
except psycopg2.ProgrammingError, pe:
|
||||
self.__logger.error("Programming error: %s, in query %s", pe, query)
|
||||
if log_exceptions or self.sql_log:
|
||||
self.__logger.error("Programming error: %s, in query %s", pe, query)
|
||||
raise
|
||||
except Exception:
|
||||
self.__logger.exception("bad query: %s", self._obj.query)
|
||||
if log_exceptions or self.sql_log:
|
||||
self.__logger.exception("bad query: %s", self._obj.query or query)
|
||||
raise
|
||||
|
||||
if self.sql_log:
|
||||
@@ -267,7 +270,7 @@ class ConnectionPool(object):
|
||||
delattr(cnx, 'leaked')
|
||||
self._connections.pop(i)
|
||||
self._connections.append((cnx, False))
|
||||
self._debug('Free leaked connection to %r', cnx.dsn)
|
||||
self.__logger.warn('%r: Free leaked connection to %r', self, cnx.dsn)
|
||||
|
||||
for i, (cnx, used) in enumerate(self._connections):
|
||||
if not used and dsn_are_equals(cnx.dsn, dsn):
|
||||
@@ -310,7 +313,7 @@ class ConnectionPool(object):
|
||||
|
||||
@locked
|
||||
def close_all(self, dsn):
|
||||
self._debug('Close all connections to %r', dsn)
|
||||
self.__logger.info('%r: Close all connections to %r', self, dsn)
|
||||
for i, (cnx, used) in tools.reverse_enumerate(self._connections):
|
||||
if dsn_are_equals(cnx.dsn, dsn):
|
||||
cnx.close()
|
||||
@@ -362,11 +365,15 @@ def dsn_are_equals(first, second):
|
||||
_Pool = ConnectionPool(int(tools.config['db_maxconn']))
|
||||
|
||||
def db_connect(db_name):
|
||||
currentThread().dbname = db_name
|
||||
return Connection(_Pool, db_name)
|
||||
|
||||
def close_db(db_name):
|
||||
_Pool.close_all(dsn(db_name))
|
||||
tools.cache.clean_caches_for_db(db_name)
|
||||
ct = currentThread()
|
||||
if hasattr(ct, 'dbname'):
|
||||
delattr(ct, 'dbname')
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -29,6 +29,7 @@ from graph import graph
|
||||
from amount_to_text import *
|
||||
from amount_to_text_en import *
|
||||
from pdf_utils import *
|
||||
from yaml_import import *
|
||||
from sql import *
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
+21
-19
@@ -68,7 +68,7 @@ class configmanager(object):
|
||||
'import_partial': "",
|
||||
'pidfile': None,
|
||||
'logfile': None,
|
||||
'logrotate': '1',
|
||||
'logrotate': True,
|
||||
'smtp_server': 'localhost',
|
||||
'smtp_user': False,
|
||||
'smtp_port':25,
|
||||
@@ -88,6 +88,8 @@ class configmanager(object):
|
||||
'static_http_enable': False,
|
||||
'static_http_document_root': None,
|
||||
'static_http_url_prefix': None,
|
||||
'secure_cert_file': 'server.cert',
|
||||
'secure_pkey_file': 'server.pkey',
|
||||
}
|
||||
|
||||
self.misc = {}
|
||||
@@ -119,8 +121,8 @@ class configmanager(object):
|
||||
group.add_option("--xmlrpcs-interface", dest="xmlrpcs_interface", help="specify the TCP IP address for the XML-RPC Secure protocol")
|
||||
group.add_option("--xmlrpcs-port", dest="xmlrpcs_port", help="specify the TCP port for the XML-RPC Secure protocol", type="int")
|
||||
group.add_option("--no-xmlrpcs", dest="xmlrpcs", action="store_false", help="disable the XML-RPC Secure protocol")
|
||||
group.add_option("--cert-file", dest="secure_cert_file", default="server.cert", help="specify the certificate file for the SSL connection")
|
||||
group.add_option("--pkey-file", dest="secure_pkey_file", default="server.pkey", help="specify the private key file for the SSL connection")
|
||||
group.add_option("--cert-file", dest="secure_cert_file", help="specify the certificate file for the SSL connection")
|
||||
group.add_option("--pkey-file", dest="secure_pkey_file", help="specify the private key file for the SSL connection")
|
||||
parser.add_option_group(group)
|
||||
|
||||
# NET-RPC
|
||||
@@ -129,21 +131,21 @@ class configmanager(object):
|
||||
group.add_option("--netrpc-port", dest="netrpc_port", help="specify the TCP port for the NETRPC protocol", type="int")
|
||||
group.add_option("--no-netrpc", dest="netrpc", action="store_false", help="disable the NETRPC protocol")
|
||||
parser.add_option_group(group)
|
||||
|
||||
|
||||
# Static HTTP
|
||||
group = optparse.OptionGroup(parser, "Static HTTP service")
|
||||
group.add_option("--static-http-enable", dest="static_http_enable", action="store_true", default=False, help="enable static HTTP service for serving plain HTML files")
|
||||
group.add_option("--static-http-document-root", dest="static_http_document_root", help="specify the directory containing your static HTML files (e.g '/var/www/')")
|
||||
group.add_option("--static-http-url-prefix", dest="static_http_url_prefix", help="specify the URL root prefix where you want web browsers to access your static HTML files (e.g '/')")
|
||||
parser.add_option_group(group)
|
||||
|
||||
|
||||
parser.add_option("-i", "--init", dest="init", help="init a module (use \"all\" for all modules)")
|
||||
parser.add_option("--without-demo", dest="without_demo",
|
||||
help="load demo data for a module (use \"all\" for all modules)", default=False)
|
||||
parser.add_option("-u", "--update", dest="update",
|
||||
help="update a module (use \"all\" for all modules)")
|
||||
parser.add_option("--cache-timeout", dest="cache_timeout",
|
||||
help="set the timeout for the cache system", default=100000, type="int")
|
||||
help="set the timeout for the cache system", type="int")
|
||||
parser.add_option("-t", "--timezone", dest="timezone", help="specify reference timezone for the server (e.g. Europe/Brussels")
|
||||
|
||||
# stops the server from launching after initialization
|
||||
@@ -166,7 +168,7 @@ class configmanager(object):
|
||||
group = optparse.OptionGroup(parser, "Logging Configuration")
|
||||
group.add_option("--logfile", dest="logfile", help="file where the server log will be stored")
|
||||
group.add_option("--no-logrotate", dest="logrotate", action="store_false",
|
||||
default=None, help="do not rotate the logfile")
|
||||
help="do not rotate the logfile")
|
||||
group.add_option("--syslog", action="store_true", dest="syslog",
|
||||
default=False, help="Send the log to the syslog server")
|
||||
group.add_option('--log-level', dest='log_level', type='choice', choices=self._LOGLEVELS.keys(),
|
||||
@@ -175,12 +177,12 @@ class configmanager(object):
|
||||
|
||||
# SMTP Group
|
||||
group = optparse.OptionGroup(parser, "SMTP Configuration")
|
||||
group.add_option('--email-from', dest='email_from', default='', help='specify the SMTP email address for sending email')
|
||||
group.add_option('--smtp', dest='smtp_server', default='', help='specify the SMTP server for sending email')
|
||||
group.add_option('--smtp-port', dest='smtp_port', default='25', help='specify the SMTP port', type="int")
|
||||
group.add_option('--smtp-ssl', dest='smtp_ssl', default='', help='specify the SMTP server support SSL or not')
|
||||
group.add_option('--smtp-user', dest='smtp_user', default='', help='specify the SMTP username for sending email')
|
||||
group.add_option('--smtp-password', dest='smtp_password', default='', help='specify the SMTP password for sending email')
|
||||
group.add_option('--email-from', dest='email_from', help='specify the SMTP email address for sending email')
|
||||
group.add_option('--smtp', dest='smtp_server', help='specify the SMTP server for sending email')
|
||||
group.add_option('--smtp-port', dest='smtp_port', help='specify the SMTP port', type="int")
|
||||
group.add_option('--smtp-ssl', dest='smtp_ssl', action='store_true', help='specify the SMTP server support SSL or not')
|
||||
group.add_option('--smtp-user', dest='smtp_user', help='specify the SMTP username for sending email')
|
||||
group.add_option('--smtp-password', dest='smtp_password', help='specify the SMTP password for sending email')
|
||||
parser.add_option_group(group)
|
||||
|
||||
group = optparse.OptionGroup(parser, "Database related options")
|
||||
@@ -190,7 +192,7 @@ class configmanager(object):
|
||||
group.add_option("--pg_path", dest="pg_path", help="specify the pg executable path")
|
||||
group.add_option("--db_host", dest="db_host", help="specify the database host")
|
||||
group.add_option("--db_port", dest="db_port", help="specify the database port", type="int")
|
||||
group.add_option("--db_maxconn", dest="db_maxconn", default='64',
|
||||
group.add_option("--db_maxconn", dest="db_maxconn", type='int',
|
||||
help="specify the the maximum number of physical connections to posgresql")
|
||||
group.add_option("-P", "--import-partial", dest="import_partial",
|
||||
help="Use this for big data importation, if it crashes you will be able to continue at the current state. Provide a filename to store intermediate importation states.", default=False)
|
||||
@@ -216,7 +218,7 @@ class configmanager(object):
|
||||
parser.add_option_group(group)
|
||||
|
||||
security = optparse.OptionGroup(parser, 'Security-related options')
|
||||
security.add_option('--no-database-list', action="store_false", dest='list_db', default=True, help="disable the ability to return the list of databases")
|
||||
security.add_option('--no-database-list', action="store_false", dest='list_db', help="disable the ability to return the list of databases")
|
||||
security.add_option('--enable-code-actions', action='store_true',
|
||||
dest='server_actions_allow_code', default=False,
|
||||
help='Enables server actions of state "code". Warning, this is a security risk.')
|
||||
@@ -267,8 +269,8 @@ class configmanager(object):
|
||||
self.options['pidfile'] = False
|
||||
|
||||
keys = ['xmlrpc_interface', 'xmlrpc_port', 'db_name', 'db_user', 'db_password', 'db_host',
|
||||
'db_port', 'list_db', 'logfile', 'pidfile', 'smtp_port', 'cache_timeout','smtp_ssl',
|
||||
'email_from', 'smtp_server', 'smtp_user', 'smtp_password',
|
||||
'db_port', 'logfile', 'pidfile', 'smtp_port', 'cache_timeout',
|
||||
'email_from', 'smtp_server', 'smtp_user', 'smtp_password',
|
||||
'netrpc_interface', 'netrpc_port', 'db_maxconn', 'import_partial', 'addons_path',
|
||||
'netrpc', 'xmlrpc', 'syslog', 'without_demo', 'timezone',
|
||||
'xmlrpcs_interface', 'xmlrpcs_port', 'xmlrpcs',
|
||||
@@ -280,9 +282,9 @@ class configmanager(object):
|
||||
if getattr(opt, arg):
|
||||
self.options[arg] = getattr(opt, arg)
|
||||
|
||||
keys = ['language', 'translate_out', 'translate_in', 'debug_mode',
|
||||
keys = ['language', 'translate_out', 'translate_in', 'debug_mode', 'smtp_ssl',
|
||||
'stop_after_init', 'logrotate', 'without_demo', 'netrpc', 'xmlrpc', 'syslog',
|
||||
'list_db', 'server_actions_allow_code', 'xmlrpcs',
|
||||
'list_db', 'server_actions_allow_code', 'xmlrpcs',
|
||||
'test_file', 'test_disable', 'test_commit'
|
||||
]
|
||||
|
||||
|
||||
@@ -262,6 +262,9 @@ def safe_eval(expr, globals_dict=None, locals_dict=None, mode="eval", nocopy=Fal
|
||||
'map': map,
|
||||
'abs': abs,
|
||||
'reduce': reduce,
|
||||
'filter': filter,
|
||||
'round': round,
|
||||
'len': len
|
||||
}
|
||||
)
|
||||
return eval(test_expr(expr,_SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
|
||||
|
||||
Reference in New Issue
Block a user