[MERGE] from trunk, rev 7715 undo revert

bzr revid: chm@openerp.com-20121010111615-s2owlcrawkztdqeb
bzr revid: chm@openerp.com-20121010111751-duikn1etnsadp550
This commit is contained in:
Christophe Matthieu
2012-10-10 13:17:51 +02:00
15 changed files with 1282 additions and 454 deletions
+1 -4
View File
@@ -1549,10 +1549,7 @@
<field name="view_mode">account_reconciliation_list</field>
<field name="help" type="html">
<p>
Good job!
</p><p>
There is nothing to reconcile. All invoices and payments
have been reconciled, your partner balance is clean.
No journal items found.
</p>
</field>
</record>
@@ -3,10 +3,17 @@
<templates id="template" xml:space="preserve">
<t t-name="AccountReconciliation">
<t t-if="widget.current_partner === null">
<div class="oe_view_nocontent">
<p>
Good job!
</p><p>
There is nothing to reconcile. All invoices and payments
have been reconciled, your partner balance is clean.
</p>
</div>
</t>
<div class="oe_account_reconciliation">
<t t-if="widget.current_partner === null">
There is no pending reconciliation.
</t>
<t t-if="widget.current_partner !== null">
<div>
<div>
+52 -29
View File
@@ -1,63 +1,86 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * analytic_user_function
# Dutch (Belgium) translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 15:34:14+0000\n"
"PO-Revision-Date: 2009-08-28 15:34:14+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
"PO-Revision-Date: 2012-10-02 07:35+0000\n"
"Last-Translator: Els Van Vossel (Agaplan) <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: \n"
"Plural-Forms: \n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-10-03 05:09+0000\n"
"X-Generator: Launchpad (build 16061)\n"
#. module: analytic_user_function
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr ""
#: field:analytic.user.funct.grid,product_id:0
msgid "Product"
msgstr "Product"
#. module: analytic_user_function
#: model:ir.model,name:analytic_user_function.model_analytic_user_funct_grid
msgid "Relation table between users and products on a analytic account"
msgstr ""
"Relatietabel tussen gebruikers en producten van een analytische rekening"
#. module: analytic_user_function
#: field:analytic_user_funct_grid,product_id:0
msgid "Product"
msgstr ""
#: constraint:hr.analytic.timesheet:0
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
msgstr "In een bevestigde/afgesloten uurrooster kunt u geen regels wijzigen."
#. module: analytic_user_function
#: field:analytic_user_funct_grid,account_id:0
#: field:analytic.user.funct.grid,account_id:0
#: model:ir.model,name:analytic_user_function.model_account_analytic_account
msgid "Analytic Account"
msgstr ""
msgstr "Analytische rekening"
#. module: analytic_user_function
#: view:account.analytic.account:0
#: field:account.analytic.account,user_product_ids:0
msgid "Users/Products Rel."
msgstr ""
msgstr "Rel. gebruikers/producten"
#. module: analytic_user_function
#: field:analytic_user_funct_grid,user_id:0
#: field:analytic.user.funct.grid,user_id:0
msgid "User"
msgstr "Gebruiker"
#. module: analytic_user_function
#: code:addons/analytic_user_function/analytic_user_function.py:96
#: code:addons/analytic_user_function/analytic_user_function.py:131
#, python-format
msgid "There is no expense account define for this product: \"%s\" (id:%d)"
msgstr ""
"Er is geen kostenrekening gedefinieerd voor dit product: \"%s\" (id:%d)"
#. module: analytic_user_function
#: constraint:ir.model:0
msgid "The Object name must start with x_ and not contain any special character !"
msgstr "De objectnaam moet beginnen met x_ en mag geen speciale karakters bevatten !"
#: code:addons/analytic_user_function/analytic_user_function.py:95
#: code:addons/analytic_user_function/analytic_user_function.py:130
#, python-format
msgid "Error !"
msgstr "Fout"
#. module: analytic_user_function
#: model:ir.module.module,shortdesc:analytic_user_function.module_meta_information
msgid "Analytic User Function"
msgstr ""
#: constraint:account.analytic.account:0
msgid "Error! You can not create recursive analytic accounts."
msgstr "U kunt niet dezelfde analytische rekeningen maken."
#. module: analytic_user_function
#: view:analytic_user_funct_grid:0
#: model:ir.model,name:analytic_user_function.model_hr_analytic_timesheet
msgid "Timesheet Line"
msgstr "Uurroosterlijn"
#. module: analytic_user_function
#: view:analytic.user.funct.grid:0
msgid "User's Product for this Analytic Account"
msgstr ""
msgstr "Product van gebruiker voor deze analytische rekening"
#~ msgid ""
#~ "The Object name must start with x_ and not contain any special character !"
#~ msgstr ""
#~ "De objectnaam moet beginnen met x_ en mag geen speciale karakters bevatten !"
+24 -24
View File
@@ -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: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2012-10-01 17:09+0000\n"
"PO-Revision-Date: 2012-10-02 07:29+0000\n"
"Last-Translator: Els Van Vossel (Agaplan) <Unknown>\n"
"Language-Team: Els Van Vossel\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-10-02 05:20+0000\n"
"X-Launchpad-Export-Date: 2012-10-03 05:09+0000\n"
"X-Generator: Launchpad (build 16061)\n"
"Language: nl\n"
@@ -794,7 +794,7 @@ msgstr "Dagen per periode"
#. module: crm
#: field:crm.meeting,byday:0
msgid "By day"
msgstr ""
msgstr "Per dag"
#. module: crm
#: field:base.action.rule,act_section_id:0
@@ -861,7 +861,7 @@ msgstr "Vergadering beleggen"
#. module: crm
#: view:crm.case.stage:0 field:crm.case.stage,requirements:0
msgid "Requirements"
msgstr ""
msgstr "Vereisten"
#. module: crm
#: help:crm.meeting,exdate:0
@@ -1001,7 +1001,7 @@ msgstr "Referentie"
#. module: crm
#: field:crm.lead,optin:0
msgid "Opt-In"
msgstr ""
msgstr "Inschrijven"
#. module: crm
#: code:addons/crm/crm_lead.py:814 code:addons/crm/crm_phonecall.py:296
@@ -1019,7 +1019,7 @@ msgstr "Vergaderingen"
#: field:crm.lead,date_action_next:0 field:crm.lead,title_action:0
#: field:crm.meeting,date_action_next:0 field:crm.phonecall,date_action_next:0
msgid "Next Action"
msgstr ""
msgstr "Volgende actie"
#. module: crm
#: field:crm.meeting,end_date:0
@@ -1069,7 +1069,7 @@ msgstr "Vorige"
#. module: crm
#: view:crm.lead:0
msgid "New Leads"
msgstr ""
msgstr "Nieuwe leads"
#. module: crm
#: view:crm.lead:0
@@ -1125,7 +1125,7 @@ msgstr "Humeur"
#: field:crm.lead,type:0 field:crm.lead.report,type:0
#: view:crm.opportunity2phonecall:0 view:crm.phonecall2phonecall:0
msgid "Type"
msgstr ""
msgstr "Type"
#. module: crm
#: view:crm.segmentation:0
@@ -1198,7 +1198,7 @@ msgstr "Details gesprek"
#. module: crm
#: field:crm.meeting,class:0
msgid "Mark as"
msgstr ""
msgstr "Markeren als"
#. module: crm
#: view:crm.opportunity2phonecall:0 view:crm.phonecall2phonecall:0
@@ -1372,7 +1372,7 @@ msgstr "Een gesprek plannen"
#: model:ir.actions.act_window,name:crm.action_crm_lead2partner
#: model:ir.actions.act_window,name:crm.action_crm_phonecall2partner
msgid "Create a Partner"
msgstr ""
msgstr "Relatie maken"
#. module: crm
#: field:crm.segmentation,state:0
@@ -1412,7 +1412,7 @@ msgstr "Dagen tot afsluiten"
#. module: crm
#: field:crm.case.section,complete_name:0
msgid "unknown"
msgstr ""
msgstr "onbekend"
#. module: crm
#: code:addons/crm/crm_lead.py:296
@@ -1478,7 +1478,7 @@ msgstr ""
#. module: crm
#: view:crm.segmentation:0
msgid "Segmentation Description"
msgstr ""
msgstr "Segmenteringsomschrijving"
#. module: crm
#: view:crm.phonecall:0
@@ -1531,7 +1531,7 @@ msgstr "Televerkoop"
#. module: crm
#: view:crm.lead:0
msgid "References"
msgstr ""
msgstr "Referenties"
#. module: crm
#: code:addons/crm/crm.py:441 view:crm.lead:0
@@ -1541,7 +1541,7 @@ msgstr ""
#: view:crm.phonecall2partner:0 view:res.partner:0
#, python-format
msgid "Cancel"
msgstr ""
msgstr "Annuleren"
#. module: crm
#: model:ir.model,name:crm.model_res_users
@@ -1593,7 +1593,7 @@ msgstr "Leads/opportuniteiten in status Open."
#. module: crm
#: model:ir.actions.act_window,name:crm.act_oppor_categ
msgid "Opportunities By Categories"
msgstr ""
msgstr "Opportuniteiten per categorie"
#. module: crm
#: help:crm.lead,partner_name:0
@@ -1659,7 +1659,7 @@ msgstr ""
#: field:crm.case.categ,name:0 field:crm.lead,name:0
#: field:crm.segmentation,name:0
msgid "Name"
msgstr ""
msgstr "Naam"
#. module: crm
#: field:crm.meeting,alarm_id:0 field:crm.meeting,base_calendar_alarm_id:0
@@ -1722,7 +1722,7 @@ msgstr "Vergadering / relatie"
#. module: crm
#: view:crm.phonecall2opportunity:0
msgid "_Convert"
msgstr ""
msgstr "_Omzetten"
#. module: crm
#: model:ir.actions.act_window,help:crm.action_view_attendee_form
@@ -1738,7 +1738,7 @@ msgstr ""
#. module: crm
#: selection:crm.meeting,week_list:0
msgid "Saturday"
msgstr ""
msgstr "Zaterdag"
#. module: crm
#: selection:crm.meeting,byday:0
@@ -1906,7 +1906,7 @@ msgstr "Fasen voor verkoopteam kiezen"
#. module: crm
#: view:board.board:0
msgid "Opportunities by Stage"
msgstr ""
msgstr "Opportuniteiten per fase"
#. module: crm
#: view:crm.meeting:0
@@ -1934,7 +1934,7 @@ msgstr "Omzetten naar opportuniteit"
#: model:ir.model,name:crm.model_crm_case_channel
#: model:ir.ui.menu,name:crm.menu_crm_case_channel
msgid "Channels"
msgstr ""
msgstr "Kanalen"
#. module: crm
#: view:crm.phonecall:0 selection:crm.phonecall,state:0
@@ -1996,7 +1996,7 @@ msgstr "Fase gewijzigd in: %s"
#: field:crm.lead.report,priority:0 field:crm.phonecall,priority:0
#: view:crm.phonecall.report:0 field:crm.phonecall.report,priority:0
msgid "Priority"
msgstr ""
msgstr "Prioriteit"
#. module: crm
#: field:crm.segmentation,sales_purchase_active:0
@@ -2220,7 +2220,7 @@ msgstr "Begindatum"
#. module: crm
#: view:crm.phonecall:0
msgid "Scheduled Phonecalls"
msgstr ""
msgstr "Geplande telefoongesprekken"
#. module: crm
#: view:crm.meeting:0
@@ -2301,7 +2301,7 @@ msgstr "Vergadering met klant"
#. module: crm
#: field:crm.lead,email_cc:0
msgid "Global CC"
msgstr ""
msgstr "Globaal cc"
#. module: crm
#: view:crm.phonecall:0
@@ -2486,7 +2486,7 @@ msgstr "Herhalen elke"
#. module: crm
#: field:crm.meeting,recurrency:0
msgid "Recurrent"
msgstr ""
msgstr "Recurrent"
#. module: crm
#: view:crm.phonecall.report:0
+407
View File
@@ -0,0 +1,407 @@
# Dutch (Belgium) translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2012-10-02 08:10+0000\n"
"Last-Translator: Els Van Vossel (Agaplan) <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: 2012-10-03 05:09+0000\n"
"X-Generator: Launchpad (build 16061)\n"
#. module: edi
#: sql_constraint:res.currency:0
msgid "The currency code must be unique per company!"
msgstr "De munt moet uniek zijn per firma."
#. module: edi
#: model:ir.model,name:edi.model_res_partner_address
msgid "Partner Addresses"
msgstr "Adressen"
#. module: edi
#: sql_constraint:res.company:0
msgid "The company name must be unique !"
msgstr "De firmanaam moet uniek zijn"
#. module: edi
#: constraint:res.partner:0
msgid "Error ! You cannot create recursive associated members."
msgstr "U kunt niet dezelfde leden maken."
#. module: edi
#: field:edi.document,name:0
msgid "EDI token"
msgstr "EDI-token"
#. module: edi
#: help:edi.document,name:0
msgid "Unique identifier for retrieving an EDI document."
msgstr "Unieke identificatie voor het ophalen van een EDI-document."
#. module: edi
#: constraint:res.company:0
msgid "Error! You can not create recursive companies."
msgstr "U kunt niet dezelfde bedrijven maken."
#. module: edi
#: model:ir.model,name:edi.model_res_company
msgid "Companies"
msgstr "Bedrijven"
#. module: edi
#: sql_constraint:edi.document:0
msgid "EDI Tokens must be unique!"
msgstr "EDI-tokens moeten uniek zijn."
#. module: edi
#: model:ir.model,name:edi.model_res_currency
msgid "Currency"
msgstr "Munt"
#. module: edi
#: code:addons/edi/models/edi.py:153
#, python-format
msgid ""
"The document you are trying to import requires the OpenERP `%s` application. "
"You can install it by connecting as the administrator and opening the "
"configuration assistant."
msgstr ""
"Het document dat u tracht te importeren vereist de OpenERP `%s` toepassing. "
"U kunt deze installeren door aan te melden als administrator en vervolgens "
"de configuratiewizard te openen."
#. module: edi
#: help:edi.document,document:0
msgid "EDI document content"
msgstr "Inhoud EDI-document"
#. module: edi
#: model:ir.model,name:edi.model_edi_document
msgid "EDI Document"
msgstr "EDI-document"
#. module: edi
#: code:addons/edi/models/edi.py:48
#, python-format
msgid "'%s' is an invalid external ID"
msgstr "'%s' is een ongeldige externe ID"
#. module: edi
#: model:ir.model,name:edi.model_res_partner
msgid "Partner"
msgstr "Relatie"
#. module: edi
#: code:addons/edi/models/edi.py:152
#, python-format
msgid "Missing Application"
msgstr "Ontbrekende applicatie"
#. module: edi
#: field:edi.document,document:0
msgid "Document"
msgstr "Document"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:23
msgid "View/Print"
msgstr "Bekijken/afdrukken"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:28
msgid "Import this document"
msgstr "Importeer dit document"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:33
msgid "Import it into an existing OpenERP instance"
msgstr "Importeren in een bestaande OpenERP-instantie"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:36
msgid "OpenERP instance address:"
msgstr "Adres OpenERP-instantie"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:39
msgid "Import"
msgstr "Importeren"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:44
msgid "Import it into a new OpenERP Online instance"
msgstr "Importeren in een nieuwe instantie van OpenERP Online"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:47
msgid "Create my new OpenERP instance"
msgstr "Maak mijn nieuwe OpenERP-instantie"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:52
msgid "Import into another application"
msgstr "Importeren in een andere toepassing"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:54
msgid ""
"OpenERP's Electronic Data Interchange documents are based on a generic and "
"language\n"
" independent"
msgstr ""
"OpenERP-documenten voor Electronic Data Interchange zijn gebaseerd op een "
"generieke en taal-\n"
" onafhankelijke"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:56
msgid "JSON"
msgstr "JSON"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:56
msgid ""
"serialization of the document's attribute.\n"
" It is usually very quick and straightforward to "
"create a small plug-in for your preferred\n"
" application that will be capable of importing "
"any OpenERP EDI document.\n"
" You can find out more details about how to do "
"this and what the content of OpenERP EDI documents\n"
" is like in the"
msgstr ""
"serialisatie van het documentattribuut.\n"
" Doorgaans gaat het snel om een kleine plug-in te "
"schrijven voor uw toepassing\n"
" waarmee u het OpenERP EDI-document kunt "
"importeren.\n"
" Voor meer details over het maken ervan en over "
"de inhoud van OpenERP EDI-documenten\n"
" verwijzen wij naar"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:60
msgid "OpenERP documentation"
msgstr "OpenERP-documentatie"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:61
msgid "To get started immediately,"
msgstr "Om snel aan de slag te gaan"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:62
msgid "see is all it takes to use this EDI document in Python"
msgstr ""
"is dit het enige wat u nodig heeft om dit EDI-document in Python te gebruiken"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:70
msgid "You can download the raw EDI document here:"
msgstr "Hier kunt u het ruwe EDI-document downloaden:"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:73
msgid "Download"
msgstr "Download"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:87
msgid "Powered by"
msgstr "Mogelijk gemaakt door"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:87
msgid "OpenERP"
msgstr "OpenERP"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:34
msgid "Invoice"
msgstr "Factuur"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:37
msgid "Description"
msgstr "Omschrijving"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:38
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:41
msgid "Date"
msgstr "Datum"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:39
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:40
msgid "Your Reference"
msgstr "Uw referentie"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:50
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:57
msgid "Product Description"
msgstr "Productomschrijving"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:51
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:58
msgid "Quantity"
msgstr "Hoeveelheid"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:52
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:59
msgid "Unit Price"
msgstr "Eenheidsprijs"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:53
msgid "Discount"
msgstr "Korting"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:54
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:61
msgid "Price"
msgstr "Prijs"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:72
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:81
msgid "Net Total:"
msgstr "Nettototaal:"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:83
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:92
msgid "Taxes:"
msgstr "Btw:"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:94
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:103
msgid "Total:"
msgstr "Totaal:"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:106
msgid "Tax"
msgstr "Btw"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:107
msgid "Base Amount"
msgstr "Basisbedrag"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:108
msgid "Amount"
msgstr "Bedrag"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:121
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:113
msgid "Notes:"
msgstr "Opmerkingen:"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:129
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:121
msgid "Pay Online"
msgstr "Online betalen"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:133
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:125
msgid "Paypal"
msgstr "Paypal"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:135
msgid ""
"You may directly pay this invoice online via Paypal's secure payment gateway:"
msgstr "U kunt deze factuur rechtstreeks via Paypal online betalen."
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:145
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:137
msgid "Bank Wire Transfer"
msgstr "Overschrijving"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:147
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:139
msgid "Please transfer"
msgstr "Gelieve over te schrijven"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:148
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:140
msgid "to"
msgstr "naar"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:149
msgid ""
"(postal address on the invoice header)\n"
" using one of the following bank accounts. Be sure to "
"mention the invoice\n"
" reference"
msgstr ""
"(adres in koptekst van de factuur)\n"
" een van deze bankrekeningen. Vermeld zeker de "
"factuurreferentie"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:151
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:143
msgid "on the transfer:"
msgstr "op de overschrijving"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:36
msgid "Order"
msgstr "Order"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:42
msgid "Salesman"
msgstr "Verkoper"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:43
msgid "Payment terms"
msgstr "Betalingsvoorwaarden"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:60
msgid "Discount(%)"
msgstr "Korting(%)"
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:127
msgid ""
"You may directly pay this order online via Paypal's secure payment gateway:"
msgstr "U kunt rechtsreeks via Paypal online betalen."
#. openerp-web
#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:141
msgid ""
"(postal address on the order header)\n"
" using one of the following bank accounts. Be sure to "
"mention the document\n"
" reference"
msgstr ""
"(adres in koptekst van de order)\n"
" een van deze bankrekeningen. Vermeld zeker de "
"factuurreferentie"
+33
View File
@@ -0,0 +1,33 @@
# Dutch (Belgium) translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2012-10-02 07:31+0000\n"
"Last-Translator: Els Van Vossel (Agaplan) <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: 2012-10-03 05:09+0000\n"
"X-Generator: Launchpad (build 16061)\n"
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document2
msgid "Collaborative Content"
msgstr "Gemeenschappelijke inhoud"
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document_configuration
msgid "Configuration"
msgstr "Instellingen"
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document
msgid "Knowledge"
msgstr "Kennis"
+155
View File
@@ -0,0 +1,155 @@
# Dutch (Belgium) translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
"PO-Revision-Date: 2012-10-02 07:48+0000\n"
"Last-Translator: Els Van Vossel (Agaplan) <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: 2012-10-03 05:09+0000\n"
"X-Generator: Launchpad (build 16061)\n"
#. module: l10n_be_invoice_bba
#: sql_constraint:account.invoice:0
msgid "Invoice Number must be unique per Company!"
msgstr "Factuurnummer moet uniek zijn per bedrijf"
#. module: l10n_be_invoice_bba
#: model:ir.model,name:l10n_be_invoice_bba.model_account_invoice
msgid "Invoice"
msgstr "Factuur"
#. module: l10n_be_invoice_bba
#: constraint:res.partner:0
msgid "Error ! You cannot create recursive associated members."
msgstr "U kunt niet dezelfde leden maken."
#. module: l10n_be_invoice_bba
#: constraint:account.invoice:0
msgid "Invalid BBA Structured Communication !"
msgstr "Ongeldige gestructureerde mededeling"
#. module: l10n_be_invoice_bba
#: selection:res.partner,out_inv_comm_algorithm:0
msgid "Random"
msgstr "Willekeurig"
#. module: l10n_be_invoice_bba
#: help:res.partner,out_inv_comm_type:0
msgid "Select Default Communication Type for Outgoing Invoices."
msgstr "Kies het standaard communicatietype voor uitgaande facturen"
#. module: l10n_be_invoice_bba
#: help:res.partner,out_inv_comm_algorithm:0
msgid ""
"Select Algorithm to generate the Structured Communication on Outgoing "
"Invoices."
msgstr ""
"Kies het algoritme voor de gestructureerde mededeling op uitgaande facturen."
#. module: l10n_be_invoice_bba
#: code:addons/l10n_be_invoice_bba/invoice.py:114
#: code:addons/l10n_be_invoice_bba/invoice.py:140
#, python-format
msgid ""
"The daily maximum of outgoing invoices with an automatically generated BBA "
"Structured Communications has been exceeded!\n"
"Please create manually a unique BBA Structured Communication."
msgstr ""
"Het dagelijkse maximumaantal uitgaande facturen met een automatische "
"gestructureerde mededeling is overschreden.\n"
"Gelieve manueel een unieke gestructureerde mededeling te maken."
#. module: l10n_be_invoice_bba
#: code:addons/l10n_be_invoice_bba/invoice.py:155
#, python-format
msgid "Error!"
msgstr "Fout"
#. module: l10n_be_invoice_bba
#: code:addons/l10n_be_invoice_bba/invoice.py:126
#, python-format
msgid ""
"The Partner should have a 3-7 digit Reference Number for the generation of "
"BBA Structured Communications!\n"
"Please correct the Partner record."
msgstr ""
"De relatie moet een referentienummer van 3-7 cijfers hebben om een "
"gestructureerde mededeling te kunnen maken.\n"
"Gelieve de relatie aan te passen."
#. module: l10n_be_invoice_bba
#: code:addons/l10n_be_invoice_bba/invoice.py:113
#: code:addons/l10n_be_invoice_bba/invoice.py:125
#: code:addons/l10n_be_invoice_bba/invoice.py:139
#: code:addons/l10n_be_invoice_bba/invoice.py:167
#: code:addons/l10n_be_invoice_bba/invoice.py:177
#: code:addons/l10n_be_invoice_bba/invoice.py:202
#, python-format
msgid "Warning!"
msgstr "Waarschuwing"
#. module: l10n_be_invoice_bba
#: selection:res.partner,out_inv_comm_algorithm:0
msgid "Customer Reference"
msgstr "Referentie klant"
#. module: l10n_be_invoice_bba
#: field:res.partner,out_inv_comm_type:0
msgid "Communication Type"
msgstr "Communicatietype"
#. module: l10n_be_invoice_bba
#: code:addons/l10n_be_invoice_bba/invoice.py:178
#: code:addons/l10n_be_invoice_bba/invoice.py:203
#, python-format
msgid ""
"The BBA Structured Communication has already been used!\n"
"Please create manually a unique BBA Structured Communication."
msgstr ""
"Deze gestructureerde mededeling is al gebruikt.\n"
"Gelieve manueel een unieke gestructureerde mededeling te maken."
#. module: l10n_be_invoice_bba
#: selection:res.partner,out_inv_comm_algorithm:0
msgid "Date"
msgstr "Datum"
#. module: l10n_be_invoice_bba
#: model:ir.model,name:l10n_be_invoice_bba.model_res_partner
msgid "Partner"
msgstr "Relatie"
#. module: l10n_be_invoice_bba
#: code:addons/l10n_be_invoice_bba/invoice.py:156
#, python-format
msgid ""
"Unsupported Structured Communication Type Algorithm '%s' !\n"
"Please contact your OpenERP support channel."
msgstr ""
"Het algoritme voor de gestructureerde mededeling '%s' wordt niet "
"ondersteund.\n"
"Gelieve contact op te nemen met de supportafdeling van OpenERP."
#. module: l10n_be_invoice_bba
#: field:res.partner,out_inv_comm_algorithm:0
msgid "Communication Algorithm"
msgstr "Communicatiealgoritme"
#. module: l10n_be_invoice_bba
#: code:addons/l10n_be_invoice_bba/invoice.py:168
#, python-format
msgid ""
"Empty BBA Structured Communication!\n"
"Please fill in a unique BBA Structured Communication."
msgstr ""
"Lege gestructureerde mededeling.\n"
"Gelieve een unieke gestructureerde mededeling in te vullen."
+1
View File
@@ -679,6 +679,7 @@ class mail_thread(osv.AbstractModel):
'subtype_id': subtype_id,
})
# if the parent is private, the message must be private
if parent_id:
msg = messages.browse(cr, uid, parent_id, context=context)
if msg.is_private:
+25 -2
View File
@@ -348,6 +348,29 @@ class pos_session(osv.osv):
statement.unlink(context=context)
return True
def open_cb(self, cr, uid, ids, context=None):
"""
call the Point Of Sale interface and set the pos.session to 'opened' (in progress)
"""
if context is None:
context = dict()
if isinstance(ids, (int, long)):
ids = [ids]
this_record = self.browse(cr, uid, ids[0], context=context)
this_record._workflow_signal('open')
context.update(active_id=this_record.id)
return {
'type' : 'ir.actions.client',
'name' : _('Start Point Of Sale'),
'tag' : 'pos.ui',
'context' : context,
}
def wkf_action_open(self, cr, uid, ids, context=None):
# second browse because we need to refetch the data from the DB for cash_register_id
for record in self.browse(cr, uid, ids, context=context):
@@ -439,10 +462,10 @@ class pos_session(osv.osv):
context = {}
if not ids:
return {}
context.update({'session_id' : ids[0]})
context.update({'active_id': ids[0]})
return {
'type' : 'ir.actions.client',
'name' : 'Start Point Of Sale',
'name' : _('Start Point Of Sale'),
'tag' : 'pos.ui',
'context' : context,
}
+6 -8
View File
@@ -862,7 +862,7 @@
<field name="arch" type="xml">
<form string="Point of Sale Session" version="7.0">
<header>
<button name="open" type="workflow" string="Validate &amp; Open Session" states="opening_control" class="oe_highlight"/>
<button name="open_cb" type="object" string="Validate &amp; Open Session" states="opening_control" class="oe_highlight"/>
<button name="open_frontend_cb" type="object" string="Continue Selling" states="opened"
class="oe_highlight"/>
<button name="cashbox_control" type="workflow" string="End of Session"
@@ -890,15 +890,14 @@
<field name="cash_control" invisible="1" />
<group>
<field name="user_id"/>
<field name="config_id" attrs="{'invisible' : [('config_id', '&lt;&gt;', False)]}"/>
<field name="config_id" attrs="{'invisible' : [('config_id', '!=', False)]}"/>
</group>
<group>
<field name="start_at" attrs="{'invisible' : [('state', '=', 'opening_control')]}"/>
<field name="stop_at" attrs="{'invisible' : [('state', '!=', 'closed')]}"/>
</group>
<newline/>
<group string="Opening Cash Control" attrs="{'invisible' : [ '&amp;' ,'!', '&amp;', ('state', '=', 'opening_control'), ('cash_control', '=', True), ('state', '!=',
'closed')] }" >
<group string="Opening Cash Control" attrs="{'invisible' : [('cash_control', '=', False)]}">
<field name="opening_details_ids" nolabel="1" colspan="2" attrs="{'readonly' : [('state', 'not in', ('opening_control',))]}">
<tree string="Opening Cashbox Lines" editable="bottom">
<field name="pieces" readonly="1" />
@@ -907,8 +906,7 @@
</tree>
</field>
</group>
<group string="Closing Cash Control" attrs="{'invisible' : [ '&amp;' ,'!', '&amp;', ('state', '=', 'closing_control'), ('cash_control', '=', True), ('state', '!=',
'closed')] }" >
<group string="Closing Cash Control" attrs="{'invisible': ['|', ('cash_control', '=', False), ('state', '=', 'opening_control')]}">
<field name="details_ids" nolabel="1" colspan="2">
<tree string="Cashbox Lines" editable="bottom">
<field name="pieces" readonly="1" />
@@ -918,7 +916,7 @@
</field>
</group>
<div attrs="{'invisible' : [('state', '!=', 'closed')]}">
<div attrs="{'invisible' : [('cash_control', '=', False)]}">
<group class="oe_subtotal_footer oe_right">
<field name="cash_register_balance_start" readonly="1" string="Opening Balance" class="oe_subtotal_footer_separator"/>
<field name="cash_register_total_entry_encoding" attrs="{'invisible' : [('state', '=', 'opening_control')]}" string="+ Transactions"/>
@@ -935,7 +933,7 @@
</div>
<group class="oe_subtotal_footer oe_right" attrs="{'invisible': [('state', '!=', 'closed')]}">
<group class="oe_subtotal_footer oe_right" attrs="{'invisible': ['|', ('cash_control', '=', False), ('state', '=', 'opening_control')]}">
<field name="cash_register_balance_end_real" class="oe_subtotal_footer_separator"/>
<field name="cash_register_difference" class="oe_subtotal_footer_separator"/>
</group>
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -40,7 +40,7 @@
<record id="product_uom_dozen" model="product.uom">
<field name="category_id" ref="product.product_uom_categ_unit"/>
<field name="name">Dozen</field>
<field name="factor" eval="0.083"/>
<field name="factor_inv" eval="12"/>
<field name="uom_type">bigger</field>
</record>
<record id="product_uom_kgm" model="product.uom">
@@ -70,7 +70,7 @@
<!-- 'tonne' is the most common spelling in english-speaking countries,
the alternative is 'metric ton' in the US, abbreviated as 'mt' -->
<field name="name">t</field>
<field name="factor" eval="0.001"/>
<field name="factor_inv" eval="1000"/>
<field name="uom_type">bigger</field>
</record>
<record id="product_uom_meter" model="product.uom">
@@ -81,7 +81,7 @@
<record id="product_uom_km" model="product.uom">
<field name="category_id" ref="uom_categ_length"/>
<field name="name">km</field>
<field name="factor" eval="0.001"/>
<field name="factor_inv" eval="1000"/>
<field name="uom_type">bigger</field>
</record>
<record id="product_uom_cm" model="product.uom">
+1 -1
View File
@@ -72,7 +72,7 @@
</record>
<record id="project_tt_deployment" model="project.task.type">
<field name="sequence">7</field>
<field name="name">Deployment</field>
<field name="name">Done</field>
<field name="state">done</field>
<field name="case_default" eval="True"/>
</record>
+1 -1
View File
@@ -279,7 +279,7 @@ class project_issue(base_stage, osv.osv):
'section_id': lambda s, cr, uid, c: s._get_default_section_id(cr, uid, c),
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.helpdesk', context=c),
'priority': crm.AVAILABLE_PRIORITIES[2][0],
}
}
_group_by_full = {
'stage_id': _read_group_stage_ids
+40 -29
View File
@@ -28,6 +28,7 @@ from tools.translate import _
class project_project(osv.osv):
_inherit = 'project.project'
def onchange_partner_id(self, cr, uid, ids, part=False, context=None):
res = super(project_project, self).onchange_partner_id(cr, uid, ids, part, context)
if part and res and ('value' in res):
@@ -68,6 +69,7 @@ class project_project(osv.osv):
'nodestroy': True,
'help': help
}
project_project()
class project_work(osv.osv):
@@ -81,7 +83,7 @@ class project_work(osv.osv):
user_name = self.pool.get('res.users').read(cr, uid, [user_id], ['name'])[0]['name']
raise osv.except_osv(_('Bad Configuration !'),
_('Please define employee for user "%s". You must create one.')% (user_name,))
emp = self.pool.get('hr.employee').browse(cr, uid, emp_id[0])
emp = emp_obj.browse(cr, uid, emp_id[0])
if not emp.product_id:
raise osv.except_osv(_('Bad Configuration !'),
_('Please define product on the related employee.\nFill in the timesheet tab of the employee form.'))
@@ -90,44 +92,44 @@ class project_work(osv.osv):
raise osv.except_osv(_('Bad Configuration !'),
_('Please define journal on the related employee.\nFill in the timesheet tab of the employee form.'))
a = emp.product_id.product_tmpl_id.property_account_expense.id
if not a:
a = emp.product_id.categ_id.property_account_expense_categ.id
if not a:
acc_id = emp.product_id.product_tmpl_id.property_account_expense.id
if not acc_id:
acc_id = emp.product_id.categ_id.property_account_expense_categ.id
if not acc_id:
raise osv.except_osv(_('Bad Configuration !'),
_('Please define product and product category property account on the related employee.\nFill in the timesheet tab of the employee form.'))
res['product_id'] = emp.product_id.id
res['journal_id'] = emp.journal_id.id
res['general_account_id'] = a
res['general_account_id'] = acc_id
res['product_uom_id'] = emp.product_id.uom_id.id
return res
def create(self, cr, uid, vals, *args, **kwargs):
obj_timesheet = self.pool.get('hr.analytic.timesheet')
project_obj = self.pool.get('project.project')
timesheet_obj = self.pool.get('hr.analytic.timesheet')
task_obj = self.pool.get('project.task')
uom_obj = self.pool.get('product.uom')
vals_line = {}
context = kwargs.get('context', {})
if not context.get('no_analytic_entry',False):
obj_task = task_obj.browse(cr, uid, vals['task_id'])
task_obj = task_obj.browse(cr, uid, vals['task_id'])
result = self.get_user_related_details(cr, uid, vals.get('user_id', uid))
vals_line['name'] = '%s: %s' % (tools.ustr(obj_task.name), tools.ustr(vals['name']) or '/')
vals_line['name'] = '%s: %s' % (tools.ustr(task_obj.name), tools.ustr(vals['name']) or '/')
vals_line['user_id'] = vals['user_id']
vals_line['product_id'] = result['product_id']
vals_line['date'] = vals['date'][:10]
#calculate quantity based on employee's product's uom
# Calculate quantity based on employee's product's uom
vals_line['unit_amount'] = vals['hours']
default_uom = self.pool.get('res.users').browse(cr, uid, uid).company_id.project_time_mode_id.id
if result['product_uom_id'] != default_uom:
vals_line['unit_amount'] = uom_obj._compute_qty(cr, uid, default_uom, vals['hours'], result['product_uom_id'])
acc_id = obj_task.project_id and obj_task.project_id.analytic_account_id.id or False
acc_id = task_obj.project_id and task_obj.project_id.analytic_account_id.id or False
if acc_id:
vals_line['account_id'] = acc_id
res = obj_timesheet.on_change_account_id(cr, uid, False, acc_id)
res = timesheet_obj.on_change_account_id(cr, uid, False, acc_id)
if res.get('value'):
vals_line.update(res['value'])
vals_line['general_account_id'] = result['general_account_id']
@@ -137,27 +139,29 @@ class project_work(osv.osv):
amount = vals_line['unit_amount']
prod_id = vals_line['product_id']
unit = False
timeline_id = obj_timesheet.create(cr, uid, vals=vals_line, context=context)
timeline_id = timesheet_obj.create(cr, uid, vals=vals_line, context=context)
# Compute based on pricetype
amount_unit = obj_timesheet.on_change_unit_amount(cr, uid, timeline_id,
amount_unit = timesheet_obj.on_change_unit_amount(cr, uid, timeline_id,
prod_id, amount, False, unit, vals_line['journal_id'], context=context)
if amount_unit and 'amount' in amount_unit.get('value',{}):
updv = { 'amount': amount_unit['value']['amount'] }
obj_timesheet.write(cr, uid, [timeline_id], updv, context=context)
timesheet_obj.write(cr, uid, [timeline_id], updv, context=context)
vals['hr_analytic_timesheet_id'] = timeline_id
return super(project_work,self).create(cr, uid, vals, *args, **kwargs)
def write(self, cr, uid, ids, vals, context=None):
"""
When a project task work gets updated, handle its hr analytic timesheet.
"""
if context is None:
context = {}
timesheet_obj = self.pool.get('hr.analytic.timesheet')
project_obj = self.pool.get('project.project')
uom_obj = self.pool.get('product.uom')
result = {}
if isinstance(ids, (long, int)):
ids = [ids,]
ids = [ids]
for task in self.browse(cr, uid, ids, context=context):
line_id = task.hr_analytic_timesheet_id
@@ -165,25 +169,28 @@ class project_work(osv.osv):
# if a record is deleted from timesheet, the line_id will become
# null because of the foreign key on-delete=set null
continue
vals_line = {}
if 'name' in vals:
vals_line['name'] = '%s: %s' % (tools.ustr(task.task_id.name), tools.ustr(vals['name']) or '/')
if 'user_id' in vals:
vals_line['user_id'] = vals['user_id']
result = self.get_user_related_details(cr, uid, vals.get('user_id', task.user_id.id))
for fld in ('product_id', 'general_account_id', 'journal_id', 'product_uom_id'):
if result.get(fld, False):
vals_line[fld] = result[fld]
if 'date' in vals:
vals_line['date'] = vals['date'][:10]
if 'hours' in vals:
default_uom = self.pool.get('res.users').browse(cr, uid, uid).company_id.project_time_mode_id.id
vals_line['unit_amount'] = vals['hours']
prod_id = vals_line.get('product_id', line_id.product_id.id) # False may be set
if result.get('product_uom_id',False) and (not result['product_uom_id'] == default_uom):
vals_line['unit_amount'] = uom_obj._compute_qty(cr, uid, default_uom, vals['hours'], result['product_uom_id'])
# Put user related details in analytic timesheet values
details = self.get_user_related_details(cr, uid, vals.get('user_id', task.user_id.id))
for field in ('product_id', 'general_account_id', 'journal_id', 'product_uom_id'):
if details.get(field, False):
vals_line[field] = details[field]
# Check if user's default UOM differs from product's UOM
user_default_uom_id = self.pool.get('res.users').browse(cr, uid, uid).company_id.project_time_mode_id.id
if details.get('product_uom_id', False) and details['product_uom_id'] != user_default_uom_id:
vals_line['unit_amount'] = uom_obj._compute_qty(cr, uid, user_default_uom_id, vals['hours'], details['product_uom_id'])
# Compute based on pricetype
amount_unit = timesheet_obj.on_change_unit_amount(cr, uid, line_id.id,
@@ -203,7 +210,7 @@ class project_work(osv.osv):
for task in self.browse(cr, uid, ids):
if task.hr_analytic_timesheet_id:
hat_ids.append(task.hr_analytic_timesheet_id.id)
# delete entry from timesheet too while deleting entry to task.
# Delete entry from timesheet too while deleting entry to task.
if hat_ids:
hat_obj.unlink(cr, uid, hat_ids, *args, **kwargs)
return super(project_work,self).unlink(cr, uid, ids, *args, **kwargs)
@@ -231,12 +238,11 @@ class task(osv.osv):
if vals.get('project_id',False) or vals.get('name',False):
vals_line = {}
hr_anlytic_timesheet = self.pool.get('hr.analytic.timesheet')
task_obj_l = self.browse(cr, uid, ids, context=context)
if vals.get('project_id',False):
project_obj = self.pool.get('project.project').browse(cr, uid, vals['project_id'], context=context)
acc_id = project_obj.analytic_account_id.id
for task_obj in task_obj_l:
for task_obj in self.browse(cr, uid, ids, context=context):
if len(task_obj.work_ids):
for task_work in task_obj.work_ids:
if not task_work.hr_analytic_timesheet_id:
@@ -253,16 +259,19 @@ task()
class res_partner(osv.osv):
_inherit = 'res.partner'
def unlink(self, cursor, user, ids, context=None):
parnter_id=self.pool.get('project.project').search(cursor, user, [('partner_id', 'in', ids)])
if parnter_id:
raise osv.except_osv(_('Invalid Action!'), _('You cannot delete a partner which is assigned to project, but you can uncheck the active box.'))
return super(res_partner,self).unlink(cursor, user, ids,
context=context)
res_partner()
class account_analytic_line(osv.osv):
_inherit = "account.analytic.line"
def on_change_account_id(self, cr, uid, ids, account_id):
res = {}
if not account_id:
@@ -274,5 +283,7 @@ class account_analytic_line(osv.osv):
if acc.state == 'close' or acc.state == 'cancelled':
raise osv.except_osv(_('Invalid Analytic Account !'), _('You cannot select a Analytic Account which is in Close or Cancelled state.'))
return res
account_analytic_line()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: