[MERGE] Merged with main addons
authorThibault Delavallée <tde@openerp.com>
Wed, 29 Feb 2012 10:50:32 +0000 (11:50 +0100)
committerThibault Delavallée <tde@openerp.com>
Wed, 29 Feb 2012 10:50:32 +0000 (11:50 +0100)
bzr revid: tde@openerp.com-20120229105032-x5pvrejzq7okt2j2

16 files changed:
addons/account_followup/account_followup.py
addons/base_synchro/base_synchro_obj.py
addons/base_vat/i18n/fr.po
addons/crm/i18n/fr.po
addons/hr/hr_view.xml
addons/hr/i18n/zh_CN.po
addons/hr_payroll/test/payslip.yml
addons/hr_payroll_account/test/hr_payroll_account.yml
addons/import_google/i18n/nl.po [new file with mode: 0644]
addons/l10n_it/data/account.account.template.csv
addons/l10n_it/data/account.tax.code.template.csv
addons/l10n_it/data/account.tax.template.csv
addons/mail/mail_message.py
addons/mail/wizard/mail_compose_message.py
addons/point_of_sale/__openerp__.py
addons/point_of_sale/static/src/js/pos.js

index a81535a..8a3e4d5 100644 (file)
@@ -34,20 +34,6 @@ class followup(osv.osv):
         'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'account_followup.followup', context=c),
     }
     
-    def check_company_uniq(self, cr, uid, ids, context=None):
-        sr_id = self.search(cr,uid,[],context=context)
-        lines = self.browse(cr, uid, sr_id, context=context)
-        company = []
-        for l in lines:
-            if l.company_id.id in company:
-                return False
-            if l.company_id.id not in company:
-                company.append(l.company_id.id)
-        return True
-    _constraints = [
-        (check_company_uniq, 'Only One Followup by Company.',['company_id'] )
-        ]
-
 followup()
 
 class followup_line(osv.osv):
index 85ac6f9..78df805 100644 (file)
@@ -31,7 +31,7 @@ class base_synchro_server(osv.osv):
         'server_port': fields.integer('Server Port', size=64,required=True),\r
         'server_db': fields.char('Server Database', size=64,required=True),\r
         'login': fields.char('User Name',size=50,required=True),\r
-        'password': fields.char('Password',size=64,invisible=True,required=True),\r
+        'password': fields.char('Password',size=64,required=True),\r
         'obj_ids' : fields.one2many('base.synchro.obj','server_id','Models',ondelete='cascade')\r
     }\r
     _defaults = {\r
index ad193c1..75c13e4 100644 (file)
@@ -7,14 +7,14 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2011-01-12 12:29+0000\n"
-"Last-Translator: Quentin THEURET <Unknown>\n"
+"PO-Revision-Date: 2012-02-27 10:27+0000\n"
+"Last-Translator: GaCriv <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: 2012-02-09 06:15+0000\n"
-"X-Generator: Launchpad (build 14763)\n"
+"X-Launchpad-Export-Date: 2012-02-28 05:47+0000\n"
+"X-Generator: Launchpad (build 14874)\n"
 
 #. module: base_vat
 #: code:addons/base_vat/base_vat.py:141
@@ -23,6 +23,8 @@ msgid ""
 "This VAT number does not seem to be valid.\n"
 "Note: the expected format is %s"
 msgstr ""
+"Ce code de TVA ne semble pas correct.\n"
+"Note: le format attendu est %s"
 
 #. module: base_vat
 #: sql_constraint:res.company:0
@@ -37,7 +39,7 @@ msgstr ""
 #. module: base_vat
 #: field:res.company,vat_check_vies:0
 msgid "VIES VAT Check"
-msgstr ""
+msgstr "Vérification n° TVA avec VIES"
 
 #. module: base_vat
 #: model:ir.model,name:base_vat.model_res_company
@@ -69,6 +71,9 @@ msgid ""
 "If checked, Partners VAT numbers will be fully validated against EU's VIES "
 "service rather than via a simple format validation (checksum)."
 msgstr ""
+"Si coché, les numéros de TVA des partenaires  seront validés avec le système "
+"d'échange d'informations sur la TVA automatisé de l'Union Européenne "
+"(V.I.E.S.) plutôt que par une simple validation par calcul de clé."
 
 #. module: base_vat
 #: field:res.partner,vat_subjected:0
index b75edb6..ebc3e6c 100644 (file)
@@ -7,14 +7,14 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2012-02-09 09:34+0000\n"
-"Last-Translator: Numérigraphe <Unknown>\n"
+"PO-Revision-Date: 2012-02-27 10:26+0000\n"
+"Last-Translator: Fabrice (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: 2012-02-10 04:47+0000\n"
-"X-Generator: Launchpad (build 14771)\n"
+"X-Launchpad-Export-Date: 2012-02-28 05:47+0000\n"
+"X-Generator: Launchpad (build 14874)\n"
 
 #. module: crm
 #: view:crm.lead.report:0
@@ -699,7 +699,7 @@ msgstr ""
 #. module: crm
 #: field:crm.lead2opportunity.partner.mass,user_ids:0
 msgid "Salesmans"
-msgstr ""
+msgstr "Vendeurs"
 
 #. module: crm
 #: field:crm.lead.report,probable_revenue:0
@@ -842,7 +842,7 @@ msgstr "Ventes Achats"
 #. module: crm
 #: help:crm.case.section,resource_calendar_id:0
 msgid "Used to compute open days"
-msgstr ""
+msgstr "Utlilisé pour calculer les jours ouvrables"
 
 #. module: crm
 #: view:crm.lead:0
@@ -937,7 +937,7 @@ msgstr "Avertissement !"
 #. module: crm
 #: view:crm.phonecall.report:0
 msgid "Phone calls made in current year"
-msgstr ""
+msgstr "Appels téléphoniques passés cette année"
 
 #. module: crm
 #: field:crm.lead,day_open:0
@@ -1058,7 +1058,7 @@ msgstr "Précédent"
 #. module: crm
 #: view:crm.lead:0
 msgid "New Leads"
-msgstr ""
+msgstr "Nouvelles pistes"
 
 #. module: crm
 #: view:crm.lead:0
@@ -1073,7 +1073,7 @@ msgstr "De"
 #. module: crm
 #: view:crm.lead2opportunity.partner.mass:0
 msgid "Convert into Opportunities"
-msgstr ""
+msgstr "Convertir en opportunité"
 
 #. module: crm
 #: view:crm.lead:0
@@ -1136,7 +1136,7 @@ msgstr "Date de création"
 #. module: crm
 #: view:board.board:0
 msgid "My Opportunities"
-msgstr ""
+msgstr "Mes opportunités"
 
 #. module: crm
 #: model:crm.case.categ,name:crm.categ_oppor5
@@ -1146,7 +1146,7 @@ msgstr "A besoin d'une conception de son site web"
 #. module: crm
 #: view:crm.phonecall.report:0
 msgid "Year of call"
-msgstr ""
+msgstr "Année de l'appel"
 
 #. module: crm
 #: field:crm.meeting,recurrent_uid:0
@@ -1182,7 +1182,7 @@ msgstr "Envoyer un courriel au partenaire"
 #. module: crm
 #: view:crm.opportunity2phonecall:0 view:crm.phonecall2phonecall:0
 msgid "Call Details"
-msgstr ""
+msgstr "Détails de l'appel"
 
 #. module: crm
 #: field:crm.meeting,class:0
@@ -1207,7 +1207,7 @@ msgstr "Champs de condition des cas"
 #. module: crm
 #: view:crm.phonecall.report:0
 msgid "Phone calls which are in pending state"
-msgstr ""
+msgstr "Appels téléphoniques en attente"
 
 #. module: crm
 #: view:crm.case.section:0 field:crm.case.section,stage_ids:0
@@ -1350,7 +1350,7 @@ msgstr ""
 #. module: crm
 #: model:ir.actions.act_window,name:crm.crm_case_categ_phone_create_partner
 msgid "Schedule a Call"
-msgstr ""
+msgstr "Planifier un appel"
 
 #. module: crm
 #: view:crm.lead2partner:0 view:crm.phonecall:0 view:crm.phonecall2partner:0
@@ -1438,7 +1438,7 @@ msgstr ""
 #. module: crm
 #: view:crm.phonecall.report:0
 msgid "Date of call"
-msgstr ""
+msgstr "Date de l'appel"
 
 #. module: crm
 #: help:crm.lead,section_id:0
@@ -1550,7 +1550,7 @@ msgstr ""
 #. module: crm
 #: field:crm.phonecall,opportunity_id:0
 msgid "Lead/Opportunity"
-msgstr ""
+msgstr "Piste/opportunité"
 
 #. module: crm
 #: view:crm.lead:0
@@ -1694,7 +1694,7 @@ msgstr "Convertir un prospect en client"
 #. module: crm
 #: view:crm.meeting:0
 msgid "Meeting / Partner"
-msgstr ""
+msgstr "Réunion/partenaire"
 
 #. module: crm
 #: view:crm.phonecall2opportunity:0
@@ -1806,7 +1806,7 @@ msgstr "Entrant"
 #. module: crm
 #: view:crm.phonecall.report:0
 msgid "Month of call"
-msgstr ""
+msgstr "Mois de l'appel"
 
 #. module: crm
 #: view:crm.phonecall.report:0
@@ -1839,7 +1839,7 @@ msgstr "La plus haute"
 #. module: crm
 #: help:crm.lead.report,creation_year:0
 msgid "Creation year"
-msgstr ""
+msgstr "Année de création"
 
 #. module: crm
 #: view:crm.case.section:0 view:crm.lead:0 field:crm.lead,description:0
@@ -1895,7 +1895,7 @@ msgstr "Options de récurrence"
 #. module: crm
 #: view:crm.lead:0
 msgid "Lead / Customer"
-msgstr ""
+msgstr "Piste / client"
 
 #. module: crm
 #: model:process.transition,note:crm.process_transition_leadpartner0
@@ -2134,7 +2134,7 @@ msgstr "Probabilité"
 #. module: crm
 #: view:crm.lead:0
 msgid "Pending Opportunities"
-msgstr ""
+msgstr "Opportunités en attente"
 
 #. module: crm
 #: code:addons/crm/crm_lead.py:491
@@ -2203,7 +2203,7 @@ msgstr "Date de début"
 #. module: crm
 #: view:crm.phonecall:0
 msgid "Scheduled Phonecalls"
-msgstr ""
+msgstr "Appels téléphoniques planifiés"
 
 #. module: crm
 #: view:crm.meeting:0
@@ -2342,7 +2342,7 @@ msgstr ">"
 #. module: crm
 #: view:crm.opportunity2phonecall:0 view:crm.phonecall2phonecall:0
 msgid "Schedule call"
-msgstr ""
+msgstr "Planifier un appel"
 
 #. module: crm
 #: view:crm.meeting:0
@@ -2458,7 +2458,7 @@ msgstr "Occupé"
 #. module: crm
 #: field:crm.lead.report,creation_day:0
 msgid "Creation Day"
-msgstr ""
+msgstr "Jour de création"
 
 #. module: crm
 #: field:crm.meeting,interval:0
@@ -2473,7 +2473,7 @@ msgstr "Récurrent"
 #. module: crm
 #: view:crm.phonecall.report:0
 msgid "Phone calls made in last month"
-msgstr ""
+msgstr "Appels téléphoniques passés le mois dernier"
 
 #. module: crm
 #: model:ir.actions.act_window,name:crm.act_my_oppor
@@ -2601,7 +2601,7 @@ msgstr "Continuer le processus"
 #. module: crm
 #: view:crm.lead.report:0
 msgid "Leads/Opportunities created in current year"
-msgstr ""
+msgstr "Pistes/opportunités créées cette année"
 
 #. module: crm
 #: model:ir.model,name:crm.model_crm_phonecall2partner
@@ -2634,12 +2634,12 @@ msgstr "Durée"
 #. module: crm
 #: view:crm.lead:0
 msgid "Show countries"
-msgstr ""
+msgstr "Afficher les pays"
 
 #. module: crm
 #: view:crm.lead2opportunity.partner.mass:0
 msgid "Select Salesman"
-msgstr ""
+msgstr "Sélectionner le vendeur"
 
 #. module: crm
 #: view:board.board:0
@@ -2685,7 +2685,7 @@ msgstr "Fax"
 #. module: crm
 #: view:crm.lead.report:0
 msgid "Leads/Opportunities created in current month"
-msgstr ""
+msgstr "Pistes/opportunités créées ce mois"
 
 #. module: crm
 #: view:crm.meeting:0
@@ -2722,7 +2722,7 @@ msgstr ""
 #. module: crm
 #: field:crm.lead,subjects:0
 msgid "Subject of Email"
-msgstr ""
+msgstr "Sujet du courriel"
 
 #. module: crm
 #: model:ir.actions.act_window,name:crm.action_view_attendee_form
@@ -2777,7 +2777,7 @@ msgstr "Messages"
 #. module: crm
 #: help:crm.lead,channel_id:0
 msgid "Communication channel (mail, direct, phone, ...)"
-msgstr ""
+msgstr "Canal de communication (courriel, direct, téléphone, etc.)"
 
 #. module: crm
 #: code:addons/crm/crm_action_rule.py:61
@@ -2895,7 +2895,7 @@ msgstr "Résumé de l'appel"
 #. module: crm
 #: view:crm.lead:0
 msgid "Todays' Leads"
-msgstr ""
+msgstr "Pistes du jour"
 
 #. module: crm
 #: model:ir.actions.act_window,help:crm.crm_case_categ_phone_outgoing0
@@ -3028,7 +3028,7 @@ msgstr "Créer des opportunités d'affaires à partir des pistes."
 #: model:ir.actions.act_window,name:crm.open_board_statistical_dash
 #: model:ir.ui.menu,name:crm.menu_board_statistics_dash
 msgid "CRM Dashboard"
-msgstr ""
+msgstr "Tableau de bord CRM"
 
 #. module: crm
 #: model:crm.case.categ,name:crm.categ_oppor4
@@ -3080,13 +3080,13 @@ msgstr "Qualification"
 #. module: crm
 #: field:crm.lead,partner_address_email:0
 msgid "Partner Contact Email"
-msgstr ""
+msgstr "Courriel du contact du partenaire"
 
 #. module: crm
 #: code:addons/crm/wizard/crm_lead_to_partner.py:48
 #, python-format
 msgid "A partner is already defined."
-msgstr ""
+msgstr "Un partenaire est déjà défini."
 
 #. module: crm
 #: selection:crm.meeting,byday:0
@@ -3173,7 +3173,7 @@ msgstr "Répéter"
 #. module: crm
 #: field:crm.lead.report,deadline_year:0
 msgid "Ex. Closing Year"
-msgstr ""
+msgstr "Année de clôture attendue"
 
 #. module: crm
 #: view:crm.lead:0
@@ -3295,6 +3295,7 @@ msgstr "Normal"
 #, python-format
 msgid "Closed/Cancelled Leads can not be converted into Opportunity"
 msgstr ""
+"Les pistes fermées ou annulées ne peuvent pas être converties en opportunités"
 
 #. module: crm
 #: model:ir.actions.act_window,name:crm.crm_meeting_categ_action
@@ -3357,12 +3358,12 @@ msgstr "Publicités Twitter"
 #: code:addons/crm/crm_lead.py:336
 #, python-format
 msgid "The opportunity '%s' has been been won."
-msgstr ""
+msgstr "L'opportunité '%s' a été gagnée"
 
 #. module: crm
 #: field:crm.case.stage,case_default:0
 msgid "Common to All Teams"
-msgstr ""
+msgstr "Commun à toutes les équipes"
 
 #. module: crm
 #: code:addons/crm/crm_lead.py:831 code:addons/crm/wizard/crm_add_note.py:28
@@ -3417,7 +3418,7 @@ msgstr "Clôturer"
 #: selection:crm.opportunity2phonecall,action:0
 #: selection:crm.phonecall2phonecall,action:0
 msgid "Schedule a call"
-msgstr ""
+msgstr "Planifier un appel"
 
 #. module: crm
 #: view:crm.lead:0 view:crm.phonecall:0
@@ -3489,7 +3490,7 @@ msgstr "Description"
 #. module: crm
 #: view:crm.phonecall.report:0
 msgid "Phone calls made in current month"
-msgstr ""
+msgstr "Appels passés ce mois"
 
 #. module: crm
 #: selection:crm.lead.report,creation_month:0
@@ -3506,7 +3507,7 @@ msgstr "Intérêt pour les accessoires"
 #. module: crm
 #: view:crm.lead:0
 msgid "New Opportunities"
-msgstr ""
+msgstr "Nouvelles opportunités"
 
 #. module: crm
 #: code:addons/crm/crm_action_rule.py:61
index 733ebe9..045bdd9 100644 (file)
             <field name="type">search</field>
             <field name="arch" type="xml">
                 <search string="Employees">
-                    <filter icon="terp-personal+" domain="[('active','=',True)]" name="active" string="Active" groups="base.group_extended"/>
-                    <separator orientation="vertical" />
                     <field name="name"/>
                     <field name="department_id" widget="selection">
                     <filter icon="terp-personal+" domain="[('department_id','=',context.get('department_id',False))]" string="My Departments Employee"/>
             <field name="view_type">form</field>
             <field name="view_mode">kanban,tree,form</field>
             <field name="domain">[]</field>
-            <field name="context">{"search_default_department_id": department_id,"search_default_active":eval('True')}</field>
+            <field name="context">{"search_default_department_id": department_id}</field>
             <field name="view_id" eval="False"/>
             <field name="search_view_id" ref="view_employee_filter"/>
             <field name="help">Here you can manage your work force by creating employees and assigning them specific properties in the system. Maintain all employee related information and keep track of anything that needs to be recorded for them. The personal information tab will help you maintain their identity data. The Categories tab gives you the opportunity to assign them related employee categories depending on their position and activities within the company. A category can be a seniority level within the company or a department. The Timesheets tab allows to assign them a specific timesheet and analytic journal where they will be able to enter time through the system. In the note tab, you can enter text data that should be recorded for a specific employee.</field>
index 45da228..3944793 100644 (file)
@@ -7,14 +7,14 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2012-02-10 07:10+0000\n"
-"Last-Translator: Jeff Wang <wjfonhand@hotmail.com>\n"
+"PO-Revision-Date: 2012-02-28 02:39+0000\n"
+"Last-Translator: Wei \"oldrev\" Li <oldrev@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: 2012-02-11 05:09+0000\n"
-"X-Generator: Launchpad (build 14771)\n"
+"X-Launchpad-Export-Date: 2012-02-29 04:42+0000\n"
+"X-Generator: Launchpad (build 14874)\n"
 
 #. module: hr
 #: model:process.node,name:hr.process_node_openerpuser0
@@ -278,7 +278,7 @@ msgstr "预期员工数"
 #. module: hr
 #: selection:hr.employee,marital:0
 msgid "Divorced"
-msgstr "离婚"
+msgstr "离异"
 
 #. module: hr
 #: field:hr.employee.category,parent_id:0
@@ -680,7 +680,7 @@ msgstr "经理"
 #. module: hr
 #: selection:hr.employee,marital:0
 msgid "Widower"
-msgstr "离婚男子"
+msgstr "配偶已去世"
 
 #. module: hr
 #: field:hr.employee,child_ids:0
index 87d04c0..c3ad3a1 100644 (file)
@@ -27,7 +27,7 @@
   I create a contract for "Richard"
 -
   !record {model: hr.contract, id: hr_contract_richard}:
-    date_end: !eval "'%s-%s-%s' %(datetime.now().year+1,datetime.now().month,datetime.now().day)"
+    date_end: !eval "(datetime.now() + timedelta(days=365)).strftime('%Y-%m-%d')"
     date_start: !eval time.strftime('%Y-%m-%d')
     name: Contract for Richard
     wage: 5000.0
index 61bce8d..3173387 100644 (file)
@@ -42,7 +42,7 @@
   I create a contract for "John".
 -
   !record {model: hr.contract, id: hr_contract_john}:
-    date_end: !eval "'%s-%s-%s' %(datetime.now().year+1,datetime.now().month,datetime.now().day)"
+    date_end: !eval "(datetime.now() + timedelta(days=365)).strftime('%Y-%m-%d')"
     date_start: !eval time.strftime('%Y-%m-%d')
     name: Contract for John
     wage: 5000.0
diff --git a/addons/import_google/i18n/nl.po b/addons/import_google/i18n/nl.po
new file mode 100644 (file)
index 0000000..06d6991
--- /dev/null
@@ -0,0 +1,226 @@
+# Dutch 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-02-28 17:29+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Dutch <nl@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-02-29 04:42+0000\n"
+"X-Generator: Launchpad (build 14874)\n"
+
+#. module: import_google
+#: help:synchronize.google.import,group_name:0
+msgid "Choose which group to import, By default it takes all."
+msgstr ""
+"Kies welke groep moet worden geïmporteerd. Standaard worden alle geroepen "
+"genomen"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "Import Google Calendar Events"
+msgstr "Importeer Google agenda afspraken"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "_Import Events"
+msgstr "_Importeer afspraken"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:71
+#, python-format
+msgid ""
+"No Google Username or password Defined for user.\n"
+"Please define in user view"
+msgstr ""
+"Geen Google gebruikersnaam of wachtwoord gedefinieerd bij de gebruiker.\n"
+"Definieer deze in de gebruikersweergave"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:127
+#, python-format
+msgid ""
+"Invalid login detail !\n"
+" Specify Username/Password."
+msgstr ""
+"Ongeldige login detail!\n"
+" Specificeer gebruikersnaam en wachtwoord."
+
+#. module: import_google
+#: field:synchronize.google.import,supplier:0
+msgid "Supplier"
+msgstr "Leverancier"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "Import Options"
+msgstr "Importeeropties"
+
+#. module: import_google
+#: field:synchronize.google.import,group_name:0
+msgid "Group Name"
+msgstr "Groepsnaam"
+
+#. module: import_google
+#: model:ir.model,name:import_google.model_crm_case_categ
+msgid "Category of Case"
+msgstr "Dossiercategorie"
+
+#. module: import_google
+#: model:ir.actions.act_window,name:import_google.act_google_login_contact_form
+#: model:ir.ui.menu,name:import_google.menu_sync_contact
+msgid "Import Google Contacts"
+msgstr "Importeer Google contacten"
+
+#. module: import_google
+#: view:google.import.message:0
+msgid "Import Google Data"
+msgstr "Importeer Google gegevens"
+
+#. module: import_google
+#: view:crm.meeting:0
+msgid "Meeting Type"
+msgstr "Soort afspraak"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google.py:38
+#: code:addons/import_google/wizard/import_google_data.py:28
+#, python-format
+msgid ""
+"Please install gdata-python-client from http://code.google.com/p/gdata-"
+"python-client/downloads/list"
+msgstr ""
+"Installeer a.u.b. gdata-python-client from http://code.google.com/p/gdata-"
+"python-client/downloads/list"
+
+#. module: import_google
+#: model:ir.model,name:import_google.model_google_login
+msgid "Google Contact"
+msgstr "Google Contactpersoon"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "Import contacts from a google account"
+msgstr "Importeer contacten van een Google account"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:133
+#, python-format
+msgid "Please specify correct user and password !"
+msgstr "Geef alstublieft een juiste gebruikersnaam en wachtwoord op!"
+
+#. module: import_google
+#: field:synchronize.google.import,customer:0
+msgid "Customer"
+msgstr "Klant"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "_Cancel"
+msgstr "_Annuleren"
+
+#. module: import_google
+#: model:ir.model,name:import_google.model_synchronize_google_import
+msgid "synchronize.google.import"
+msgstr "synchronize.google.import"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "_Import Contacts"
+msgstr "_Importeer contacten"
+
+#. module: import_google
+#: model:ir.actions.act_window,name:import_google.act_google_login_form
+#: model:ir.ui.menu,name:import_google.menu_sync_calendar
+msgid "Import Google Calendar"
+msgstr "Importeer Google agenda"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:50
+#, python-format
+msgid "Import google"
+msgstr "Importeer Google"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:127
+#: code:addons/import_google/wizard/import_google_data.py:133
+#, python-format
+msgid "Error"
+msgstr "Fout"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:71
+#, python-format
+msgid "Warning !"
+msgstr "Waarschuwing !"
+
+#. module: import_google
+#: field:synchronize.google.import,create_partner:0
+msgid "Options"
+msgstr "Opties"
+
+#. module: import_google
+#: view:google.import.message:0
+msgid "_Ok"
+msgstr "_Ok"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google.py:38
+#: code:addons/import_google/wizard/import_google_data.py:28
+#, python-format
+msgid "Google Contacts Import Error!"
+msgstr "Google contactpersonen import fout!"
+
+#. module: import_google
+#: model:ir.model,name:import_google.model_google_import_message
+msgid "Import Message"
+msgstr "Bericht importeren"
+
+#. module: import_google
+#: field:synchronize.google.import,calendar_name:0
+msgid "Calendar Name"
+msgstr "Agendanaam"
+
+#. module: import_google
+#: help:synchronize.google.import,supplier:0
+msgid "Check this box to set newly created partner as Supplier."
+msgstr ""
+"Vink deze optie aan om van de nieuwe relatie een leverancier te maken"
+
+#. module: import_google
+#: selection:synchronize.google.import,create_partner:0
+msgid "Import only address"
+msgstr "Importeer alleen adres"
+
+#. module: import_google
+#: field:crm.case.categ,user_id:0
+msgid "User"
+msgstr "Gebruiker"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "Partner status for this group:"
+msgstr "Relatiestatus voor deze groep"
+
+#. module: import_google
+#: field:google.import.message,name:0
+msgid "Message"
+msgstr "Bericht"
+
+#. module: import_google
+#: selection:synchronize.google.import,create_partner:0
+msgid "Create partner for each contact"
+msgstr "Maak relatie van ieder contact"
+
+#. module: import_google
+#: help:synchronize.google.import,customer:0
+msgid "Check this box to set newly created partner as Customer."
+msgstr "Vink deze optie aan om van de nieuwe relatie een klant te maken"
index ffa0903..47ae138 100644 (file)
@@ -93,7 +93,7 @@ id,code,name,parent_id:id,user_type:id,type,reconcile
 2530,2530,clienti c/acconti ,25,account_type_payable,payable,TRUE
 26,26,DEBITI DIVERSI ,2,account_type_view,view,TRUE
 2601,2601,IVA n/debito ,26,account_type_tax,other,TRUE
-2602,2602,debiti per ritenute da versare ,26,account_type_tax,other,TRUE
+2602,2602,debiti per ritenute da versare ,26,account_type_payable,payable,TRUE
 2605,2605,erario c/IVA ,26,account_type_payable,payable,TRUE
 2606,2606,debiti per imposte ,26,account_type_tax,other,TRUE
 2619,2619,debiti per cauzioni ,26,account_type_asset,other,TRUE
index 40f0545..2903960 100644 (file)
@@ -1,62 +1,65 @@
-"code","id","name","parent_id:id"
-,"vat_code_chart_root","Tassazione",
-"IVC","template_ivacode_pagata","IVA a credito","vat_code_chart_root"
-"IVC0","template_ivacode_pagata_0","Esente IVA (credito)","template_ivacode_pagata"
-"IVCI","template_impcode_pagata","IVA a credito (imponibile)","vat_code_chart_root"
-"IVC0I","template_impcode_pagata_0","Esente IVA a credito (imponibile)","template_impcode_pagata"
-"IVC10","template_ivacode_pagata_10","IVA a credito 10%","template_ivacode_pagata"
-"IVC10I","template_impcode_pagata_10","IVA a credito 10% (imponibile)","template_impcode_pagata"
-"IVC10ind","template_ivacode_pagata_10ind","IVA a credito 10% indetraibile","template_ivacode_pagata"
-"IVC10Iind","template_impcode_pagata_10ind","IVA a credito 10% indetraibile (imponibile)","template_impcode_pagata"
-"IVC20ind","template_ivacode_pagata_20ind","IVA a credito 20% indetraibile","template_ivacode_pagata"
-"IVC20Iind","template_impcode_pagata_20ind","IVA a credito 20% indetraibile (imponibile)","template_impcode_pagata"
-"IVC4ind","template_ivacode_pagata_4ind","IVA a credito 4% indetraibile","template_ivacode_pagata"
-"IVC4Iind","template_impcode_pagata_4ind","IVA a credito 4% indetraibile (imponibile)","template_impcode_pagata"
-"IVC20det10","template_ivacode_pagata_20det10","IVA a credito 20% detraibile 10%","template_ivacode_pagata"
-"IVC20Idet10","template_impcode_pagata_20det10","IVA a credito 20% detraibile 10% (imponibile)","template_impcode_pagata"
-"IVC20det15","template_ivacode_pagata_20det15","IVA a credito 20% detraibile 15%","template_ivacode_pagata"
-"IVC20Idet15","template_impcode_pagata_20det15","IVA a credito 20% detraibile 15% (imponibile)","template_impcode_pagata"
-"IVC20det40","template_ivacode_pagata_20det40","IVA a credito 20% detraibile 40%","template_ivacode_pagata"
-"IVC20Idet40","template_impcode_pagata_20det40","IVA a credito 20% detraibile 40% (imponibile)","template_impcode_pagata"
-"IVC20det50","template_ivacode_pagata_20det50","IVA a credito 20% detraibile 50%","template_ivacode_pagata"
-"IVC20Idet50","template_impcode_pagata_20det50","IVA a credito 20% detraibile 50% (imponibile)","template_impcode_pagata"
-"IVC10det50","template_ivacode_pagata_10det50","IVA a credito 10% detraibile 50%","template_ivacode_pagata"
-"IVC10Idet50","template_impcode_pagata_10det50","IVA a credito 10% detraibile 50% (imponibile)","template_impcode_pagata"
-"IVC4det50","template_ivacode_pagata_4det50","IVA a credito 4% detraibile 50%","template_ivacode_pagata"
-"IVC4Idet50","template_impcode_pagata_4det50","IVA a credito 4% detraibile 50% (imponibile)","template_impcode_pagata"
-"IVC20","template_ivacode_pagata_20","IVA a credito 20%","template_ivacode_pagata"
-"IVC20I","template_impcode_pagata_20","IVA a credito 20% (imponibile)","template_impcode_pagata"
-"IVC21","template_ivacode_pagata_21","IVA a credito 21%","template_ivacode_pagata"
-"IVC21I","template_impcode_pagata_21","IVA a credito 21% (imponibile)","template_impcode_pagata"
-"IVC4","template_ivacode_pagata_4","IVA  a credito 4%","template_ivacode_pagata"
-"IVC4I","template_impcode_pagata_4","IVA  a credito 4% (imponibile)","template_impcode_pagata"
-"IVC12","template_ivacode_pagata_12","IVA  a credito 12%","template_ivacode_pagata"
-"IVC12I","template_impcode_pagata_12","IVA  a credito 12% (imponibile)","template_impcode_pagata"
-"IVC2","template_ivacode_pagata_2","IVA  a credito 2%","template_ivacode_pagata"
-"IVC2I","template_impcode_pagata_2","IVA  a credito 2% (imponibile)","template_impcode_pagata"
-"IVD","template_ivacode_riscossa","IVA a debito","vat_code_chart_root"
-"IVD0","template_ivacode_riscossa_0","Esente IVA (debito)","template_ivacode_riscossa"
-"IVDI","template_impcode_riscossa","IVA a debito (imponibile)","vat_code_chart_root"
-"IVD0I","template_impcode_riscossa_0","Esente IVA a debito (imponibile)","template_impcode_riscossa"
-"IVD10","template_ivacode_riscossa_10","IVA a debito 10%","template_ivacode_riscossa"
-"IVD10I","template_impcode_riscossa_10","IVA a debito 10% (imponibile)","template_impcode_riscossa"
-"IVD20","template_ivacode_riscossa_20","IVA a debito 20%","template_ivacode_riscossa"
-"IVD20I","template_impcode_riscossa_20","IVA a debito 20% (imponibile)","template_impcode_riscossa"
-"IVD21","template_ivacode_riscossa_21","IVA a debito 21%","template_ivacode_riscossa"
-"IVD21I","template_impcode_riscossa_21","IVA a debito 21% (imponibile)","template_impcode_riscossa"
-"IVD4","template_ivacode_riscossa_4","IVA  a debito 4%","template_ivacode_riscossa"
-"IVD4I","template_impcode_riscossa_4","IVA  a debito 4% (imponibile)","template_impcode_riscossa"
-"IVD12","template_ivacode_riscossa_12","IVA  a debito 12%","template_ivacode_riscossa"
-"IVD12I","template_impcode_riscossa_12","IVA  a debito 12% (imponibile)","template_impcode_riscossa"
-"IVD2","template_ivacode_riscossa_2","IVA  a debito 2%","template_ivacode_riscossa"
-"IVD2I","template_impcode_riscossa_2","IVA  a debito 2% (imponibile)","template_impcode_riscossa"
-"IVC21ind","template_ivacode_pagata_21ind","IVA a credito 21% indetraibile","template_ivacode_pagata"
-"IVC21Iind","template_impcode_pagata_21ind","IVA a credito 21% indetraibile (imponibile)","template_impcode_pagata"
-"IVC21det10","template_ivacode_pagata_21det10","IVA a credito 21% detraibile 10%","template_ivacode_pagata"
-"IVC21Idet10","template_impcode_pagata_21det10","IVA a credito 21% detraibile 10% (imponibile)","template_impcode_pagata"
-"IVC21det15","template_ivacode_pagata_21det15","IVA a credito 21% detraibile 15%","template_ivacode_pagata"
-"IVC21Idet15","template_impcode_pagata_21det15","IVA a credito 21% detraibile 15% (imponibile)","template_impcode_pagata"
-"IVC21det40","template_ivacode_pagata_21det40","IVA a credito 21% detraibile 40%","template_ivacode_pagata"
-"IVC21Idet40","template_impcode_pagata_21det40","IVA a credito 21% detraibile 40% (imponibile)","template_impcode_pagata"
-"IVC21det50","template_ivacode_pagata_21det50","IVA a credito 21% detraibile 50%","template_ivacode_pagata"
-"IVC21Idet50","template_impcode_pagata_21det50","IVA a credito 21% detraibile 50% (imponibile)","template_impcode_pagata"
+code,id,name,parent_id:id
+,vat_code_chart_root,Tassazione,
+IVC,template_ivacode_pagata,IVA a credito,vat_code_chart_root
+IVC0,template_ivacode_pagata_0,Esente IVA (credito),template_ivacode_pagata
+IVCI,template_impcode_pagata,IVA a credito (imponibile),vat_code_chart_root
+IVC0I,template_impcode_pagata_0,Esente IVA a credito (imponibile),template_impcode_pagata
+IVC10,template_ivacode_pagata_10,IVA a credito 10%,template_ivacode_pagata
+IVC10I,template_impcode_pagata_10,IVA a credito 10% (imponibile),template_impcode_pagata
+IVC10ind,template_ivacode_pagata_10ind,IVA a credito 10% indetraibile,template_ivacode_pagata
+IVC10Iind,template_impcode_pagata_10ind,IVA a credito 10% indetraibile (imponibile),template_impcode_pagata
+IVC20ind,template_ivacode_pagata_20ind,IVA a credito 20% indetraibile,template_ivacode_pagata
+IVC20Iind,template_impcode_pagata_20ind,IVA a credito 20% indetraibile (imponibile),template_impcode_pagata
+IVC4ind,template_ivacode_pagata_4ind,IVA a credito 4% indetraibile,template_ivacode_pagata
+IVC4Iind,template_impcode_pagata_4ind,IVA a credito 4% indetraibile (imponibile),template_impcode_pagata
+IVC20det10,template_ivacode_pagata_20det10,IVA a credito 20% detraibile 10%,template_ivacode_pagata
+IVC20Idet10,template_impcode_pagata_20det10,IVA a credito 20% detraibile 10% (imponibile),template_impcode_pagata
+IVC20det15,template_ivacode_pagata_20det15,IVA a credito 20% detraibile 15%,template_ivacode_pagata
+IVC20Idet15,template_impcode_pagata_20det15,IVA a credito 20% detraibile 15% (imponibile),template_impcode_pagata
+IVC20det40,template_ivacode_pagata_20det40,IVA a credito 20% detraibile 40%,template_ivacode_pagata
+IVC20Idet40,template_impcode_pagata_20det40,IVA a credito 20% detraibile 40% (imponibile),template_impcode_pagata
+IVC20det50,template_ivacode_pagata_20det50,IVA a credito 20% detraibile 50%,template_ivacode_pagata
+IVC20Idet50,template_impcode_pagata_20det50,IVA a credito 20% detraibile 50% (imponibile),template_impcode_pagata
+IVC10det50,template_ivacode_pagata_10det50,IVA a credito 10% detraibile 50%,template_ivacode_pagata
+IVC10Idet50,template_impcode_pagata_10det50,IVA a credito 10% detraibile 50% (imponibile),template_impcode_pagata
+IVC4det50,template_ivacode_pagata_4det50,IVA a credito 4% detraibile 50%,template_ivacode_pagata
+IVC4Idet50,template_impcode_pagata_4det50,IVA a credito 4% detraibile 50% (imponibile),template_impcode_pagata
+IVC20,template_ivacode_pagata_20,IVA a credito 20%,template_ivacode_pagata
+IVC20I,template_impcode_pagata_20,IVA a credito 20% (imponibile),template_impcode_pagata
+IVC21,template_ivacode_pagata_21,IVA a credito 21%,template_ivacode_pagata
+IVC21I,template_impcode_pagata_21,IVA a credito 21% (imponibile),template_impcode_pagata
+IVC4,template_ivacode_pagata_4,IVA  a credito 4%,template_ivacode_pagata
+IVC4I,template_impcode_pagata_4,IVA  a credito 4% (imponibile),template_impcode_pagata
+IVC12,template_ivacode_pagata_12,IVA  a credito 12%,template_ivacode_pagata
+IVC12I,template_impcode_pagata_12,IVA  a credito 12% (imponibile),template_impcode_pagata
+IVC2,template_ivacode_pagata_2,IVA  a credito 2%,template_ivacode_pagata
+IVC2I,template_impcode_pagata_2,IVA  a credito 2% (imponibile),template_impcode_pagata
+IVD,template_ivacode_riscossa,IVA a debito,vat_code_chart_root
+IVD0,template_ivacode_riscossa_0,Esente IVA (debito),template_ivacode_riscossa
+IVDI,template_impcode_riscossa,IVA a debito (imponibile),vat_code_chart_root
+IVD0I,template_impcode_riscossa_0,Esente IVA a debito (imponibile),template_impcode_riscossa
+IVD10,template_ivacode_riscossa_10,IVA a debito 10%,template_ivacode_riscossa
+IVD10I,template_impcode_riscossa_10,IVA a debito 10% (imponibile),template_impcode_riscossa
+IVD20,template_ivacode_riscossa_20,IVA a debito 20%,template_ivacode_riscossa
+IVD20I,template_impcode_riscossa_20,IVA a debito 20% (imponibile),template_impcode_riscossa
+IVD21,template_ivacode_riscossa_21,IVA a debito 21%,template_ivacode_riscossa
+IVD21I,template_impcode_riscossa_21,IVA a debito 21% (imponibile),template_impcode_riscossa
+IVD4,template_ivacode_riscossa_4,IVA  a debito 4%,template_ivacode_riscossa
+IVD4I,template_impcode_riscossa_4,IVA  a debito 4% (imponibile),template_impcode_riscossa
+IVD12,template_ivacode_riscossa_12,IVA  a debito 12%,template_ivacode_riscossa
+IVD12I,template_impcode_riscossa_12,IVA  a debito 12% (imponibile),template_impcode_riscossa
+IVD2,template_ivacode_riscossa_2,IVA  a debito 2%,template_ivacode_riscossa
+IVD2I,template_impcode_riscossa_2,IVA  a debito 2% (imponibile),template_impcode_riscossa
+IVC21ind,template_ivacode_pagata_21ind,IVA a credito 21% indetraibile,template_ivacode_pagata
+IVC21Iind,template_impcode_pagata_21ind,IVA a credito 21% indetraibile (imponibile),template_impcode_pagata
+IVC21det10,template_ivacode_pagata_21det10,IVA a credito 21% detraibile 10%,template_ivacode_pagata
+IVC21Idet10,template_impcode_pagata_21det10,IVA a credito 21% detraibile 10% (imponibile),template_impcode_pagata
+IVC21det15,template_ivacode_pagata_21det15,IVA a credito 21% detraibile 15%,template_ivacode_pagata
+IVC21Idet15,template_impcode_pagata_21det15,IVA a credito 21% detraibile 15% (imponibile),template_impcode_pagata
+IVC21det40,template_ivacode_pagata_21det40,IVA a credito 21% detraibile 40%,template_ivacode_pagata
+IVC21Idet40,template_impcode_pagata_21det40,IVA a credito 21% detraibile 40% (imponibile),template_impcode_pagata
+IVC21det50,template_ivacode_pagata_21det50,IVA a credito 21% detraibile 50%,template_ivacode_pagata
+IVC21Idet50,template_impcode_pagata_21det50,IVA a credito 21% detraibile 50% (imponibile),template_impcode_pagata
+Rit,template_ra,Ritenute d'acconto,vat_code_chart_root
+RitD20,template_ritcode_20,Ritenute a debito 20%,template_ra
+RitD20I,template_ritimpcode_20,Ritenute a debito 20% (imponibile),template_ra
index 641f495..36c4f99 100644 (file)
@@ -62,3 +62,4 @@ id,description,chart_template_id:id,name,sequence,amount,parent_id:id,child_depe
 21I5,21I5,l10n_it_chart_template_generic,IVA al 21% detraibile al 50%,,0.21,,True,percent,,,purchase,template_impcode_pagata_21det50,,template_impcode_pagata_21det50,,,,False,-1,-1
 21I5b,21I5b,l10n_it_chart_template_generic,IVA al 21% detraibile al 50% (I),1,0.5,21I5,False,percent,,,purchase,,,,,,,False,,
 21I5a,21I5a,l10n_it_chart_template_generic,IVA al 21% detraibile al 50% (D),2,0,21I5,False,balance,1601,1601,purchase,,template_ivacode_pagata_21det50,,template_ivacode_pagata_21det50,,,False,,
+rit-20,rit-20,l10n_it_chart_template_generic,Ritenuta d'acconto al 20% (debito),,-0.2,,False,percent,2602,2602,purchase,template_ritimpcode_20,template_ritcode_20,template_ritimpcode_20,template_ritcode_20,-1,1,False,1,-1
index 8b89b61..b22b0c7 100644 (file)
@@ -159,7 +159,7 @@ class mail_message(osv.osv):
                     msg_txt += truncate_text(message.body_text)
             else:
                 msg_txt = (message.user_id.name or '/') + _(' on ') + format_date_tz(message.date, tz) + ':\n\t'
-                msg_txt += message.subject
+                msg_txt += (message.subject or '')
             result[message.id] = msg_txt
         return result
     
index 27ec13b..e68bd70 100644 (file)
@@ -147,13 +147,13 @@ class mail_compose_message(osv.osv_memory):
             # as it is easier to quote than the HTML version.
             # XXX TODO: make it possible to switch to HTML on the fly
             current_user = self.pool.get('res.users').browse(cr, uid, uid, context)
-            body = message_data.body_text or current_user.signature 
+            body = message_data.body_text or current_user.signature or ''
             if context.get('mail.compose.message.mode') == 'reply':
                 sent_date = _('On %(date)s, ') % {'date': message_data.date} if message_data.date else ''
                 sender = _('%(sender_name)s wrote:') % {'sender_name': tools.ustr(message_data.email_from or _('You'))}
                 quoted_body = '> %s' % tools.ustr(body.replace('\n', "\n> ") or '')
                 body = '\n'.join(["\n", (sent_date + sender), quoted_body])
-                body += "\n" + current_user.signature
+                body += "\n" + (current_user.signature or '')
                 re_prefix = _("Re:")
                 if not (subject.startswith('Re:') or subject.startswith(re_prefix)):
                     subject = "%s %s" % (re_prefix, subject)
index 6de408b..911ccf2 100644 (file)
@@ -83,6 +83,7 @@ Main features :
     'certificate' : '001156338024966477869',
     # Web client
     'js': ['static/lib/backbone/backbone-0.5.3.js', 'static/src/js/pos.js'],
-    'css': ['static/src/css/pos.css']
+    'css': ['static/src/css/pos.css'],
+    'qweb': ['static/src/xml/pos.xml'],
 }
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
index c2f150f..c713389 100644 (file)
@@ -19,7 +19,6 @@ openerp.point_of_sale = function(db) {
     };
 
     var QWeb = db.web.qweb;
-    QWeb.add_template("/point_of_sale/static/src/xml/pos.xml");
     var qweb_template = function(template) {
         return function(ctx) {
             return QWeb.render(template, _.extend({}, ctx,{