diff --git a/addons/account/account.py b/addons/account/account.py
index 969f843bec9..6095c2aa113 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -122,6 +122,16 @@ class account_account_type(osv.osv):
'partner_account': fields.boolean('Partner account'),
'close_method': fields.selection([('none', 'None'), ('balance', 'Balance'), ('detail', 'Detail'), ('unreconciled', 'Unreconciled')], 'Deferral Method', required=True),
'sign': fields.selection([(-1, 'Negative'), (1, 'Positive')], 'Sign on Reports', required=True, help='Allows you to change the sign of the balance amount displayed in the reports, so that you can see positive figures instead of negative ones in expenses accounts.'),
+ 'report_type':fields.selection([
+ ('none','/'),
+ ('income','Profilt & Loss (Income Accounts)'),
+ ('expanse','Profilt & Loss (Expanse Accounts)'),
+ ('asset','Balance Sheet (Assets Accounts)'),
+ ('liabilities','Balance Sheet (Liabilities Accounts)')
+ ],'Type Heads', select=True, readonly=False, help="According value related accounts will be display on respective reports (Balance Sheet Profit & Loss Account)"),
+ 'parent_id':fields.many2one('account.account.type', 'Parent Type', required=False),
+ 'child_ids':fields.one2many('account.account.type', 'parent_id', 'Child Types', required=False),
+ 'note': fields.text('Description'),
}
_defaults = {
'close_method': lambda *a: 'none',
@@ -129,6 +139,15 @@ class account_account_type(osv.osv):
'sign': lambda *a: 1,
}
_order = "sequence"
+
+ def _check_recursion(self, cr, uid, ids):
+ #TODO: Need to check for recusrion
+ return True
+
+ _constraints = [
+ (_check_recursion, 'Error ! You can not create recursive types.', ['parent_id'])
+ ]
+
account_account_type()
def _code_get(self, cr, uid, context={}):
@@ -515,6 +534,7 @@ class account_journal(osv.osv):
'company_id': fields.many2one('res.company', 'Company', required=True,select=1),
'invoice_sequence_id': fields.many2one('ir.sequence', 'Invoice Sequence', \
help="The sequence used for invoice numbers in this journal."),
+ 'allow_date':fields.boolean('Check Date not in the Period', help= 'If set to True then do not accept the entry if the entry date is not into the period dates'),
}
_defaults = {
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index b9aa089942e..a86fce20772 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -785,12 +785,35 @@ class account_move_line(osv.osv):
self.pool.get('account.move').validate(cr, uid, [line.move_id.id], context=context)
return result
+ def _check_date(self, cr, uid, vals, context=None, check=True):
+ if context is None:
+ context = {}
+ if 'date' in vals.keys():
+ if 'journal_id' in vals and 'journal_id' not in context:
+ journal_id = vals['journal_id']
+ if 'period_id' in vals and 'period_id' not in context:
+ period_id = vals['period_id']
+ elif 'journal_id' not in context and 'move_id' in vals:
+ m = self.pool.get('account.move').browse(cr, uid, vals['move_id'])
+ journal_id = m.journal_id.id
+ period_id = m.period_id.id
+ else:
+ journal_id = context['journal_id']
+ period_id = context['period_id']
+ journal = self.pool.get('account.journal').browse(cr,uid,[journal_id])[0]
+ if journal.allow_date:
+ period = self.pool.get('account.period').browse(cr,uid,[period_id])[0]
+ if not time.strptime(vals['date'],'%Y-%m-%d')>=time.strptime(period.date_start,'%Y-%m-%d') or not time.strptime(vals['date'],'%Y-%m-%d')<=time.strptime(period.date_stop,'%Y-%m-%d'):
+ raise osv.except_osv(_('Error'),_('The date of your Ledger Posting is not in the defined period !'))
+ else:
+ return True
+
def write(self, cr, uid, ids, vals, context=None, check=True, update_check=True):
if not context:
context={}
if vals.get('account_tax_id', False):
raise osv.except_osv(_('Unable to change tax !'), _('You can not change the tax, you should remove and recreate lines !'))
-
+ self._check_date(cr, uid, vals, context, check)
account_obj = self.pool.get('account.account')
if ('account_id' in vals) and not account_obj.read(cr, uid, vals['account_id'], ['active'])['active']:
raise osv.except_osv(_('Bad account!'), _('You can not use an inactive account!'))
@@ -844,10 +867,11 @@ class account_move_line(osv.osv):
return True
def create(self, cr, uid, vals, context=None, check=True):
- if not context:
- context={}
account_obj = self.pool.get('account.account')
tax_obj=self.pool.get('account.tax')
+ if context is None:
+ context = {}
+ self._check_date(cr, uid, vals, context, check)
if ('account_id' in vals) and not account_obj.read(cr, uid, vals['account_id'], ['active'])['active']:
raise osv.except_osv(_('Bad account!'), _('You can not use an inactive account!'))
if 'journal_id' in vals and 'journal_id' not in context:
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 38b628ab594..d4bf99c85ac 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -284,11 +284,11 @@
+
-
@@ -467,12 +467,24 @@
form
diff --git a/addons/account/i18n/eu.po b/addons/account/i18n/eu.po
index 65746716cc9..68a84f413de 100644
--- a/addons/account/i18n/eu.po
+++ b/addons/account/i18n/eu.po
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-05-14 15:45+0000\n"
+"PO-Revision-Date: 2010-05-17 13:10+0000\n"
"Last-Translator: Jon A. Ortuondo (Euskotec) \n"
"Language-Team: Basque \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-05-15 04:58+0000\n"
+"X-Launchpad-Export-Date: 2010-05-18 05:15+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
@@ -66,7 +66,7 @@ msgstr ""
#. module: account
#: wizard_view:account_use_models,init_form:0
msgid "Select Message"
-msgstr "Mexua Aukeratu"
+msgstr "Mezua aurkeratu"
#. module: account
#: help:product.category,property_account_income_categ:0
diff --git a/addons/account/wizard/account_change_currency.py b/addons/account/wizard/account_change_currency.py
index 1e23b793d27..eee754435cd 100644
--- a/addons/account/wizard/account_change_currency.py
+++ b/addons/account/wizard/account_change_currency.py
@@ -42,6 +42,7 @@ class account_change_currency(osv.osv_memory):
obj_inv = self.pool.get('account.invoice')
obj_inv_line = self.pool.get('account.invoice.line')
obj_currency = self.pool.get('res.currency')
+ invoice_ids = []
if context is None:
context = {}
data = self.read(cr, uid, ids)[0]
@@ -66,7 +67,8 @@ class account_change_currency(osv.osv_memory):
new_price = (line.price_unit / old_rate ) * rate
obj_inv_line.write(cr, uid, [line.id], {'price_unit' : new_price})
- obj_inv.write(cr, uid, [invoice.id], {'currency_id' : new_currency})
+ invoice_ids.append(invoice.id)
+ obj_inv.write(cr, uid, invoice_ids, {'currency_id' : new_currency}, context=context)
return {}
account_change_currency()
diff --git a/addons/account_date_check/__init__.py b/addons/account_date_check/__init__.py
deleted file mode 100644
index cf10f590e86..00000000000
--- a/addons/account_date_check/__init__.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# 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 .
-#
-##############################################################################
-
-#----------------------------------------------------------
-# Init Sales
-#----------------------------------------------------------
-
-import account_date_check
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/account_date_check/__openerp__.py b/addons/account_date_check/__openerp__.py
deleted file mode 100644
index ccac5f6fcbd..00000000000
--- a/addons/account_date_check/__openerp__.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# 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 .
-#
-##############################################################################
-
-
-{
- 'name': 'Account Date check',
- 'version': '1.0',
- 'category': 'Generic Modules/Accounting',
- 'description': """
- * Adds a field on journals: "Allows date not in the period"
- * By default, this field is checked.
-
-If this field is not checked, the system control that the date is in the
-period when you create an account entry. Otherwise, it generates an
-error message: "The date of your account move is not in the defined
-period !"
- """,
- 'author': 'Tiny',
- 'website': 'http://www.openerp.com',
- 'depends': ['account'],
- 'init_xml': [],
- 'update_xml': ['account_date_check_view.xml'],
- 'demo_xml': [],
- 'installable': True,
- 'active': False,
- 'certificate': '0066174843389',
-}
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_date_check/account_date_check.py b/addons/account_date_check/account_date_check.py
deleted file mode 100644
index 814f4e3b3c3..00000000000
--- a/addons/account_date_check/account_date_check.py
+++ /dev/null
@@ -1,82 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# 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 .
-#
-##############################################################################
-
-from osv import fields
-from osv import osv
-import time
-import netsvc
-
-import ir
-from mx import DateTime
-import pooler
-from tools import config
-from tools.translate import _
-
-class account_journal(osv.osv):
- _inherit='account.journal'
- _name='account.journal'
- _columns = {
- 'allow_date':fields.boolean('Allows date not in the period'),
- }
- _defaults = {
- 'allow_date': lambda *a: 1,
- }
-account_journal()
-
-class account_move_line(osv.osv):
- _inherit='account.move.line'
- _name='account.move.line'
-
- def check_date(self, cr, uid, vals, context=None, check=True):
- if not context:
- context = {}
- if 'date' in vals.keys():
- if 'journal_id' in vals and 'journal_id' not in context:
- journal_id = vals['journal_id']
- if 'period_id' in vals and 'period_id' not in context:
- period_id = vals['period_id']
- elif 'journal_id' not in context and 'move_id' in vals:
- m = self.pool.get('account.move').browse(cr, uid, vals['move_id'])
- journal_id = m.journal_id.id
- period_id = m.period_id.id
- else:
- journal_id = context['journal_id']
- period_id = context['period_id']
- journal=self.pool.get('account.journal').browse(cr,uid,[journal_id])[0]
- if not journal.allow_date:
- period=self.pool.get('account.period').browse(cr,uid,[period_id])[0]
- if not time.strptime(vals['date'],'%Y-%m-%d')>=time.strptime(period.date_start,'%Y-%m-%d') and time.strptime(vals['date'],'%Y-%m-%d')<=time.strptime(period.date_stop,'%Y-%m-%d'):
- raise osv.except_osv(_('Error'),_('The date of your Ledger Posting is not in the defined period !'))
- else:
- return True
-
- def write(self, cr, uid, ids, vals, context=None, check=True, update_check=True):
- flag=self.check_date(cr, uid, vals, context, check)
- result = super(account_move_line, self).write(cr, uid, ids, vals, context, check, update_check)
- return result
- def create(self, cr, uid, vals, context=None, check=True):
- flag=self.check_date(cr, uid, vals, context, check)
- result = super(account_move_line, self).create(cr, uid, vals, context, check)
- return result
-account_move_line()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/account_date_check/account_date_check_view.xml b/addons/account_date_check/account_date_check_view.xml
deleted file mode 100644
index b82fbba2490..00000000000
--- a/addons/account_date_check/account_date_check_view.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- account.journal.form.inherit2
- account.journal
- form
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/account_date_check/i18n/account_date_check.pot b/addons/account_date_check/i18n/account_date_check.pot
deleted file mode 100644
index f65384ee1b7..00000000000
--- a/addons/account_date_check/i18n/account_date_check.pot
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.4\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01:51+0000\n"
-"PO-Revision-Date: 2009-08-28 16:01:51+0000\n"
-"Last-Translator: <>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Plural-Forms: \n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr ""
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
-
diff --git a/addons/account_date_check/i18n/ar.po b/addons/account_date_check/i18n/ar.po
deleted file mode 100644
index 6a3e8558bf6..00000000000
--- a/addons/account_date_check/i18n/ar.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.4\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-02-03 06:24+0000\n"
-"Last-Translator: <>\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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr ""
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
diff --git a/addons/account_date_check/i18n/bg.po b/addons/account_date_check/i18n/bg.po
deleted file mode 100644
index e831bf0b3e7..00000000000
--- a/addons/account_date_check/i18n/bg.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-24 17:36+0000\n"
-"Last-Translator: lem0na \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Невалиден XML за преглед на архитектурата"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
diff --git a/addons/account_date_check/i18n/bs.po b/addons/account_date_check/i18n/bs.po
deleted file mode 100644
index 7b1a70ae36e..00000000000
--- a/addons/account_date_check/i18n/bs.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-11-21 03:57+0000\n"
-"Last-Translator: Miro Glavić \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Neodgovarajući XML za arhitekturu prikaza!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Dozvoli datum koji nije u periodu"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Provjera Datuma Računa"
diff --git a/addons/account_date_check/i18n/ca.po b/addons/account_date_check/i18n/ca.po
deleted file mode 100644
index 80d27991939..00000000000
--- a/addons/account_date_check/i18n/ca.po
+++ /dev/null
@@ -1,33 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-29 06:30+0000\n"
-"Last-Translator: Jordi Esteve - http://www.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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "XML invàlid per a la definició de la vista!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Permetre dates fora del període"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Comprovació dates en comptabilitat"
diff --git a/addons/account_date_check/i18n/cs.po b/addons/account_date_check/i18n/cs.po
deleted file mode 100644
index 023cca0d173..00000000000
--- a/addons/account_date_check/i18n/cs.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-11-17 09:32+0000\n"
-"Last-Translator: Kuvaly [LCT] \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Invalidní XML pro zobrazení architektury!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Povolit data která nejsou v periodě"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Kontrola data účtu"
diff --git a/addons/account_date_check/i18n/da.po b/addons/account_date_check/i18n/da.po
deleted file mode 100644
index f1a046dad49..00000000000
--- a/addons/account_date_check/i18n/da.po
+++ /dev/null
@@ -1,33 +0,0 @@
-# Danish translation for openobject-addons
-# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2009.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: openobject-addons\n"
-"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-11-17 09:32+0000\n"
-"Last-Translator: SmartWi \n"
-"Language-Team: Danish \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Ugyldig XML for View Architecture!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Datoen er uden doe preioden"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Konto data check"
diff --git a/addons/account_date_check/i18n/de.po b/addons/account_date_check/i18n/de.po
deleted file mode 100644
index fec72b6a41c..00000000000
--- a/addons/account_date_check/i18n/de.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-11-17 09:32+0000\n"
-"Last-Translator: Ferdinand-chricar \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Fehlerhafter xml Code für diese Ansicht!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Erlaubt Datum außerhalb der Periode"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Konto Datums Check"
diff --git a/addons/account_date_check/i18n/el.po b/addons/account_date_check/i18n/el.po
deleted file mode 100644
index c5c3359f06f..00000000000
--- a/addons/account_date_check/i18n/el.po
+++ /dev/null
@@ -1,41 +0,0 @@
-# Greek translation for openobject-addons
-# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2009.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: openobject-addons\n"
-"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-08 12:02+0000\n"
-"Last-Translator: Makis Nicolaou \n"
-"Language-Team: Greek \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Άκυρο XML για την αρχιτεκτονική όψης!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Allows date not in the period"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Account Date check"
-
-#, python-format
-#~ msgid "The date of your account move is not in the defined period !"
-#~ msgstr "Η ημερομηνία κίνησης λογαριασμού δεν είναι στην καθορισμένη περίοδο!"
-
-#, python-format
-#~ msgid "Error"
-#~ msgstr "Σφάλμα"
diff --git a/addons/account_date_check/i18n/es.po b/addons/account_date_check/i18n/es.po
deleted file mode 100644
index 02fbaa7770b..00000000000
--- a/addons/account_date_check/i18n/es.po
+++ /dev/null
@@ -1,33 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-24 17:37+0000\n"
-"Last-Translator: Jordi Esteve - http://www.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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "¡XML inválido para la definición de la vista!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Permitir fechas fuera del periodo"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Comprobación fechas en contabilidad"
diff --git a/addons/account_date_check/i18n/es_AR.po b/addons/account_date_check/i18n/es_AR.po
deleted file mode 100644
index ea4bc864107..00000000000
--- a/addons/account_date_check/i18n/es_AR.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-14 13:58+0000\n"
-"Last-Translator: Silvana Herrera \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "XML inválido para la definición de la vista!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Permitir fechas fuera del periodo"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Control de fecha contable"
diff --git a/addons/account_date_check/i18n/et.po b/addons/account_date_check/i18n/et.po
deleted file mode 100644
index c78c2575d74..00000000000
--- a/addons/account_date_check/i18n/et.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-11-09 16:21+0000\n"
-"Last-Translator: Fabien (Open ERP) \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Vigane XML vaate arhitektuurile!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Lubab perioodivälist kuupäeva"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Konto kuupäeva kontroll"
diff --git a/addons/account_date_check/i18n/fi.po b/addons/account_date_check/i18n/fi.po
deleted file mode 100644
index 8bbcb3780b7..00000000000
--- a/addons/account_date_check/i18n/fi.po
+++ /dev/null
@@ -1,41 +0,0 @@
-# Finnish translation for openobject-addons
-# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2009.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: openobject-addons\n"
-"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-08 14:54+0000\n"
-"Last-Translator: Fabien (Open ERP) \n"
-"Language-Team: Finnish \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Virheellinen XML näkymäarkkitehtuurille!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Sallii päiväyksen joka ei ole jaksossa"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Tilin päiväys tarkistus"
-
-#, python-format
-#~ msgid "The date of your account move is not in the defined period !"
-#~ msgstr "Päiväystä tilinsiirrolle ei ole määritellyssä ajanjaksossa"
-
-#, python-format
-#~ msgid "Error"
-#~ msgstr "Virhe"
diff --git a/addons/account_date_check/i18n/fr.po b/addons/account_date_check/i18n/fr.po
deleted file mode 100644
index d8fe4bc69e3..00000000000
--- a/addons/account_date_check/i18n/fr.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-11-09 16:21+0000\n"
-"Last-Translator: Fabien (Open ERP) \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "XML non valide pour l'architecture de la vue"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Permet une date hors période"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Vérification de la Date de Compte"
diff --git a/addons/account_date_check/i18n/gl.po b/addons/account_date_check/i18n/gl.po
deleted file mode 100644
index 76c48de5db4..00000000000
--- a/addons/account_date_check/i18n/gl.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# translation of account-date-check-es.po to Galego
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-# Frco. Javier Rial Rodríguez , 2009.
-msgid ""
-msgstr ""
-"Project-Id-Version: account-date-check-es\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-08 16:28+0000\n"
-"Last-Translator: Fabien (Open ERP) \n"
-"Language-Team: Galego \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "¡XML non válido para a definición da vista!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Permitir datas fóra do periodo"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Comprobación datas en contabilidade"
-
-#, python-format
-#~ msgid "Error"
-#~ msgstr "Erro"
-
-#, python-format
-#~ msgid "The date of your account move is not in the defined period !"
-#~ msgstr "¡A data do asento contábel non está no periodo indicado!"
diff --git a/addons/account_date_check/i18n/hr.po b/addons/account_date_check/i18n/hr.po
deleted file mode 100644
index ce6376c640a..00000000000
--- a/addons/account_date_check/i18n/hr.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-12-22 12:13+0000\n"
-"Last-Translator: Jožek Prikratki \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Neispravan XML za arhitekturu prikaza!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Dozvoljeno je da datum nije u periodu"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Provjera datuma računa"
diff --git a/addons/account_date_check/i18n/hu.po b/addons/account_date_check/i18n/hu.po
deleted file mode 100644
index 6a3e8558bf6..00000000000
--- a/addons/account_date_check/i18n/hu.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.4\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-02-03 06:24+0000\n"
-"Last-Translator: <>\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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr ""
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
diff --git a/addons/account_date_check/i18n/id.po b/addons/account_date_check/i18n/id.po
deleted file mode 100644
index 0caa8f85203..00000000000
--- a/addons/account_date_check/i18n/id.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.4\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2008-10-16 03:54+0000\n"
-"Last-Translator: opix \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr ""
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
diff --git a/addons/account_date_check/i18n/it.po b/addons/account_date_check/i18n/it.po
deleted file mode 100644
index e19de2306cf..00000000000
--- a/addons/account_date_check/i18n/it.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.4\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2008-11-13 15:42+0000\n"
-"Last-Translator: Marius Marolla \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "XML non valido per Visualizzazione Architettura!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
diff --git a/addons/account_date_check/i18n/ko.po b/addons/account_date_check/i18n/ko.po
deleted file mode 100644
index f3821065400..00000000000
--- a/addons/account_date_check/i18n/ko.po
+++ /dev/null
@@ -1,41 +0,0 @@
-# Korean translation for openobject-addons
-# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2009.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: openobject-addons\n"
-"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-08 16:49+0000\n"
-"Last-Translator: ekodaq \n"
-"Language-Team: Korean \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "유효하지 않은 뷰 아키텍처를 위한 XML !"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "기간을 벗어난 날짜를 허용"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "계정 날짜 체크"
-
-#, python-format
-#~ msgid "The date of your account move is not in the defined period !"
-#~ msgstr "귀하의 계정 이동 날자가 정의된 기간을 벗어 납니다 !"
-
-#, python-format
-#~ msgid "Error"
-#~ msgstr "에러"
diff --git a/addons/account_date_check/i18n/lt.po b/addons/account_date_check/i18n/lt.po
deleted file mode 100644
index d497815a537..00000000000
--- a/addons/account_date_check/i18n/lt.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.4\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-01-20 14:02+0000\n"
-"Last-Translator: Paulius Sladkevičius \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Netinkamas XML peržiūros struktūrai!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
diff --git a/addons/account_date_check/i18n/nl.po b/addons/account_date_check/i18n/nl.po
deleted file mode 100644
index 05a36e01bee..00000000000
--- a/addons/account_date_check/i18n/nl.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-12-10 10:28+0000\n"
-"Last-Translator: Jan Verlaan (Veritos) \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Ongeldige XML, kan overzicht niet weergeven!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Datum niet in de periode"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Datum controle op boeking"
diff --git a/addons/account_date_check/i18n/nl_BE.po b/addons/account_date_check/i18n/nl_BE.po
deleted file mode 100644
index 5b154b7e35b..00000000000
--- a/addons/account_date_check/i18n/nl_BE.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-04-24 15:40+0000\n"
-"Last-Translator: <>\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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr ""
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
diff --git a/addons/account_date_check/i18n/oc.po b/addons/account_date_check/i18n/oc.po
deleted file mode 100644
index bcfe577ea1c..00000000000
--- a/addons/account_date_check/i18n/oc.po
+++ /dev/null
@@ -1,33 +0,0 @@
-# Occitan (post 1500) translation for openobject-addons
-# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2010.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: openobject-addons\n"
-"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-03-12 13:29+0000\n"
-"Last-Translator: Cédric VALMARY (Per Tot en òc) \n"
-"Language-Team: Occitan (post 1500) \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "XML invalid per l'arquitectura de la vista"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
diff --git a/addons/account_date_check/i18n/pl.po b/addons/account_date_check/i18n/pl.po
deleted file mode 100644
index 7b6a9bf8d98..00000000000
--- a/addons/account_date_check/i18n/pl.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-11-17 09:32+0000\n"
-"Last-Translator: Fabien (Open ERP) \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "XML niewłaściwy dla tej architektury wyświetlania!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Pozwala na datę spoza okresu"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Kontrola daty konta"
diff --git a/addons/account_date_check/i18n/pt.po b/addons/account_date_check/i18n/pt.po
deleted file mode 100644
index 8659b61f04b..00000000000
--- a/addons/account_date_check/i18n/pt.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-11-29 00:16+0000\n"
-"Last-Translator: Paulino \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "XML inválido para a arquitectura de vista"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Permitir data fora do período"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Verificar data da conta"
diff --git a/addons/account_date_check/i18n/pt_BR.po b/addons/account_date_check/i18n/pt_BR.po
deleted file mode 100644
index 867db1ed4f5..00000000000
--- a/addons/account_date_check/i18n/pt_BR.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-03-24 01:05+0000\n"
-"Last-Translator: Pedro_Maschio \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "XML inválido para Arquitetura da View"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Permite datas fora do período"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Verificação de Data de Conta"
diff --git a/addons/account_date_check/i18n/ro.po b/addons/account_date_check/i18n/ro.po
deleted file mode 100644
index 7f44826f88c..00000000000
--- a/addons/account_date_check/i18n/ro.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-11-17 09:32+0000\n"
-"Last-Translator: Fabien (Open ERP) \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "XML invalid pentru arhitectura machetei de afișare !"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Permite date ce nu sunt în perioadă"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Verificare dată cont"
diff --git a/addons/account_date_check/i18n/ru.po b/addons/account_date_check/i18n/ru.po
deleted file mode 100644
index 220e97c3fe2..00000000000
--- a/addons/account_date_check/i18n/ru.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.4\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2008-11-03 16:11+0000\n"
-"Last-Translator: Sergei Kostigoff \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Неправильный XML для просмотра архитектуры!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
diff --git a/addons/account_date_check/i18n/sk.po b/addons/account_date_check/i18n/sk.po
deleted file mode 100644
index 6976446d162..00000000000
--- a/addons/account_date_check/i18n/sk.po
+++ /dev/null
@@ -1,33 +0,0 @@
-# Slovak translation for openobject-addons
-# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2009.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: openobject-addons\n"
-"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-11-18 15:03+0000\n"
-"Last-Translator: Radoslav Sloboda \n"
-"Language-Team: Slovak \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Neplatná XML pre zobrazenie architektúry!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
diff --git a/addons/account_date_check/i18n/sl.po b/addons/account_date_check/i18n/sl.po
deleted file mode 100644
index 1454a94f54d..00000000000
--- a/addons/account_date_check/i18n/sl.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.4\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-11-17 09:32+0000\n"
-"Last-Translator: Fabien (Open ERP) \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Neveljaven XML za arhitekturo pogleda."
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Dovoli datum, ki ni v obdobju"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "Kontrola datuma konta"
diff --git a/addons/account_date_check/i18n/sq.po b/addons/account_date_check/i18n/sq.po
deleted file mode 100644
index 316dec5efd8..00000000000
--- a/addons/account_date_check/i18n/sq.po
+++ /dev/null
@@ -1,64 +0,0 @@
-# Translation of OpenERP Server.
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.4\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 15:23:46+0000\n"
-"PO-Revision-Date: 2009-08-28 15:23:46+0000\n"
-"Last-Translator: <>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Plural-Forms: \n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr ""
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
-
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.4\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 15:23:46+0000\n"
-"PO-Revision-Date: 2009-08-28 15:23:46+0000\n"
-"Last-Translator: <>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Plural-Forms: \n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr ""
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
-
diff --git a/addons/account_date_check/i18n/sv.po b/addons/account_date_check/i18n/sv.po
deleted file mode 100644
index b74cce8e88b..00000000000
--- a/addons/account_date_check/i18n/sv.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.4\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-11-17 09:32+0000\n"
-"Last-Translator: Fabien (Open ERP) \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Felaktig XML för Vyarkitektur!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Tillåtet datum ej inom period."
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "konto datum kontroll"
diff --git a/addons/account_date_check/i18n/tlh.po b/addons/account_date_check/i18n/tlh.po
deleted file mode 100644
index 0dbad9f2719..00000000000
--- a/addons/account_date_check/i18n/tlh.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0_rc3\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-02-03 06:24+0000\n"
-"Last-Translator: <>\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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr ""
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
diff --git a/addons/account_date_check/i18n/tr.po b/addons/account_date_check/i18n/tr.po
deleted file mode 100644
index 63e1dd2e2ef..00000000000
--- a/addons/account_date_check/i18n/tr.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.4\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-11-17 09:32+0000\n"
-"Last-Translator: Fabien (Open ERP) \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Görüntüleme mimarisi için Geçersiz XML"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "Girilen tarih periyod içinde değil"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "hesap tarihi kontrolü"
diff --git a/addons/account_date_check/i18n/uk.po b/addons/account_date_check/i18n/uk.po
deleted file mode 100644
index 109d9c1a548..00000000000
--- a/addons/account_date_check/i18n/uk.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2008-11-17 21:09+0000\n"
-"Last-Translator: Yuriy Tkachenko \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Неправильний XML для Архітектури Вигляду!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
diff --git a/addons/account_date_check/i18n/vi.po b/addons/account_date_check/i18n/vi.po
deleted file mode 100644
index ec7d2b886dd..00000000000
--- a/addons/account_date_check/i18n/vi.po
+++ /dev/null
@@ -1,64 +0,0 @@
-# Translation of OpenERP Server.
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.4\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:00:38+0000\n"
-"PO-Revision-Date: 2009-08-28 16:00:38+0000\n"
-"Last-Translator: <>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Plural-Forms: \n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr ""
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
-
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.4\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:00:38+0000\n"
-"PO-Revision-Date: 2009-08-28 16:00:38+0000\n"
-"Last-Translator: <>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Plural-Forms: \n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr ""
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
-
diff --git a/addons/account_date_check/i18n/zh_CN.po b/addons/account_date_check/i18n/zh_CN.po
deleted file mode 100644
index e47049bbfa0..00000000000
--- a/addons/account_date_check/i18n/zh_CN.po
+++ /dev/null
@@ -1,53 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.6\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-03-20 07:01+0000\n"
-"Last-Translator: Black Jack \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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "无效的视图结构XML文件!"
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr "允许日期不在这会计期间"
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr "科目日期检查"
-
-#~ msgid ""
-#~ "\n"
-#~ " * Adds a field on journals: \"Allows date not in the period\"\n"
-#~ " * By default, this field is checked.\n"
-#~ "\n"
-#~ "If this field is not checked, the system control that the date is in the\n"
-#~ "period when you create an account entry. Otherwise, it generates an\n"
-#~ "error message: \"The date of your account move is not in the defined\n"
-#~ "period !\"\n"
-#~ " "
-#~ msgstr ""
-#~ "\n"
-#~ " * 在分类帐增加一个字段:允许日期不在会计期间\n"
-#~ " * 默认下这字段是已检查\n"
-#~ "\n"
-#~ " 如果这字段是不检查,系统日期是在这会计期间\n"
-#~ "你能创建凭证.\n"
-#~ "否则,它会产生一个错误信息:\n"
-#~ "你不能在这会计期间凭证\n"
-#~ " "
diff --git a/addons/account_date_check/i18n/zh_TW.po b/addons/account_date_check/i18n/zh_TW.po
deleted file mode 100644
index 516cddc9f3c..00000000000
--- a/addons/account_date_check/i18n/zh_TW.po
+++ /dev/null
@@ -1,32 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * account_date_check
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.4\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-01-30 12:43+0000\n"
-"Last-Translator: <>\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-04-17 04:12+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
-
-#. module: account_date_check
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr ""
-
-#. module: account_date_check
-#: field:account.journal,allow_date:0
-msgid "Allows date not in the period"
-msgstr ""
-
-#. module: account_date_check
-#: model:ir.module.module,shortdesc:account_date_check.module_meta_information
-msgid "Account Date check"
-msgstr ""
diff --git a/addons/account_payment/__openerp__.py b/addons/account_payment/__openerp__.py
index eba905a5253..0388bc2d4e4 100644
--- a/addons/account_payment/__openerp__.py
+++ b/addons/account_payment/__openerp__.py
@@ -39,6 +39,7 @@
'security/account_payment_security.xml',
'security/ir.model.access.csv',
'wizard/account_payment_pay_view.xml',
+ 'wizard/account_payment_populate_statement_view.xml',
'wizard/account_payment_create_order_view.xml',
'payment_view.xml',
'payment_workflow.xml',
diff --git a/addons/account_payment/payment_view.xml b/addons/account_payment/payment_view.xml
index c5c335c4f5f..63dd950520f 100644
--- a/addons/account_payment/payment_view.xml
+++ b/addons/account_payment/payment_view.xml
@@ -2,7 +2,6 @@
-
account.move.line.form.inherit
@@ -300,7 +299,7 @@
-
+
diff --git a/addons/account_payment/wizard/__init__.py b/addons/account_payment/wizard/__init__.py
index 0a2db6f8fd0..c5f7be51231 100644
--- a/addons/account_payment/wizard/__init__.py
+++ b/addons/account_payment/wizard/__init__.py
@@ -18,10 +18,8 @@
# along with this program. If not, see .
#
##############################################################################
-
import account_payment_order
+import account_payment_populate_statement
import account_payment_pay
-import wizard_populate_statement
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/account_payment/wizard/account_payment_populate_statement.py b/addons/account_payment/wizard/account_payment_populate_statement.py
new file mode 100644
index 00000000000..3f8f9330343
--- /dev/null
+++ b/addons/account_payment/wizard/account_payment_populate_statement.py
@@ -0,0 +1,110 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 Tiny SPRL ().
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# 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 .
+#
+##############################################################################
+from lxml import etree
+
+from osv import osv, fields
+
+class account_payment_populate_statement(osv.osv_memory):
+ _name = "account.payment.populate.statement"
+ _description = "Account Payment Populate Statement"
+ _columns = {
+ 'lines': fields.many2many('payment.line', 'payment_line_rel_', 'payment_id', 'line_id', 'Payment Lines')
+ }
+
+ def search_entries(self, cr, uid, ids, context=None):
+ line_obj = self.pool.get('payment.line')
+ statement_obj = self.pool.get('account.bank.statement')
+ mod_obj = self.pool.get('ir.model.data')
+
+ data = self.read(cr, uid, ids, [], context=context)[0]
+ statement = statement_obj.browse(cr, uid, context['active_id'], context=context)
+ line_ids = line_obj.search(cr, uid, [
+ ('move_line_id.reconcile_id', '=', False),
+ ('order_id.mode.journal.id', '=', statement.journal_id.id)])
+ line_ids.extend(line_obj.search(cr, uid, [
+ ('move_line_id.reconcile_id', '=', False),
+ ('order_id.mode', '=', False)]))
+
+ context.update({'line_ids': line_ids})
+ model_data_ids = mod_obj.search(cr, uid,[('model','=','ir.ui.view'),('name','=','account_payment_populate_statement_view')], context=context)
+ resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id']
+ return {
+ 'name': ('Entrie Lines'),
+ 'context': context,
+ 'view_type': 'form',
+ 'view_mode': 'form',
+ 'res_model': 'account.payment.populate.statement',
+ 'views': [(resource_id,'form')],
+ 'type': 'ir.actions.act_window',
+ 'target': 'new',
+ }
+
+ def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
+ res = super(account_payment_populate_statement, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=False)
+ if context and 'line_ids' in context:
+ view_obj = etree.XML(res['arch'])
+ child = view_obj.getchildren()[0]
+ domain = '[("id", "in", '+ str(context['line_ids'])+')]'
+ field = etree.Element('field', attrib={'domain': domain, 'name':'lines', 'colspan':'4', 'height':'300', 'width':'800', 'nolabel':"1"})
+ child.addprevious(field)
+ res['arch'] = etree.tostring(view_obj)
+ return res
+
+ def populate_statement(self, cr, uid, ids, context=None):
+ line_obj = self.pool.get('payment.line')
+ statement_obj = self.pool.get('account.bank.statement')
+ statement_line_obj = self.pool.get('account.bank.statement.line')
+ currency_obj = self.pool.get('res.currency')
+ statement_reconcile_obj = self.pool.get('account.bank.statement.reconcile')
+ if context is None:
+ context = {}
+ data = self.read(cr, uid, ids, [])[0]
+ line_ids = data['lines']
+ if not line_ids:
+ return {}
+
+ statement = statement_obj.browse(cr, uid, context['active_id'], context=context)
+
+ for line in line_obj.browse(cr, uid, line_ids, context=context):
+ ctx = context.copy()
+ ctx['date'] = line.ml_maturity_date # was value_date earlier,but this field exists no more now
+ amount = currency_obj.compute(cr, uid, line.currency.id,
+ statement.currency.id, line.amount_currency, context=ctx)
+
+ if line.move_line_id:
+ reconcile_id = statement_reconcile_obj.create(cr, uid, {
+ 'line_ids': [(6, 0, [line.move_line_id.id])]
+ }, context=context)
+ statement_line_obj.create(cr, uid, {
+ 'name': line.order_id.reference or '?',
+ 'amount': - amount,
+ 'type': 'supplier',
+ 'partner_id': line.partner_id.id,
+ 'account_id': line.move_line_id.account_id.id,
+ 'statement_id': statement.id,
+ 'ref': line.communication,
+ 'reconcile_id': reconcile_id,
+ }, context=context)
+ return {'type' : 'ir.actions.act_window_close'}
+
+account_payment_populate_statement()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/account_payment/wizard/account_payment_populate_statement_view.xml b/addons/account_payment/wizard/account_payment_populate_statement_view.xml
new file mode 100644
index 00000000000..34cf906bec3
--- /dev/null
+++ b/addons/account_payment/wizard/account_payment_populate_statement_view.xml
@@ -0,0 +1,59 @@
+
+
+
+
+
+ Payment Populate statement
+ account.payment.populate.statement
+ form
+
+
+
+
+
+
+ Payment Populate statement
+ account.payment.populate.statement
+ ir.actions.act_window
+ form
+ tree,form
+
+ {'record_id':active_id}
+ new
+
+
+
+ Payment Populate statement
+ account.payment.populate.statement
+ form
+
+
+
+
+
+
+ Payment Populate statement
+ account.payment.populate.statement
+ ir.actions.act_window
+ form
+ tree,form
+
+ {'record_id':active_id}
+ new
+
+
+
+
\ No newline at end of file
diff --git a/addons/account_payment/wizard/wizard_populate_statement.py b/addons/account_payment/wizard/wizard_populate_statement.py
deleted file mode 100644
index f58407ad4b2..00000000000
--- a/addons/account_payment/wizard/wizard_populate_statement.py
+++ /dev/null
@@ -1,121 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# 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 .
-#
-##############################################################################
-
-import wizard
-import pooler
-from tools.misc import UpdateableStr
-
-FORM = UpdateableStr()
-
-FIELDS = {
- 'lines': {'string': 'Payment Lines', 'type': 'many2many',
- 'relation': 'payment.line'},
-}
-
-def _search_entries(obj, cursor, user, data, context):
- pool = pooler.get_pool(cursor.dbname)
- line_obj = pool.get('payment.line')
- statement_obj = pool.get('account.bank.statement')
-
- statement = statement_obj.browse(cursor, user, data['id'], context=context)
-
- line_ids = line_obj.search(cursor, user, [
- ('move_line_id.reconcile_id', '=', False),
- ('order_id.mode.journal.id', '=', statement.journal_id.id)])
- line_ids.extend(line_obj.search(cursor, user, [
- ('move_line_id.reconcile_id', '=', False),
- ('order_id.mode', '=', False)]))
-
- FORM.string = '''
-''' % (','.join([str(x) for x in line_ids]))
- return {}
-
-def _populate_statement(obj, cursor, user, data, context):
- line_ids = data['form']['lines'][0][2]
- if not line_ids:
- return {}
-
- pool = pooler.get_pool(cursor.dbname)
- line_obj = pool.get('payment.line')
- statement_obj = pool.get('account.bank.statement')
- statement_line_obj = pool.get('account.bank.statement.line')
- currency_obj = pool.get('res.currency')
- statement_reconcile_obj = pool.get('account.bank.statement.reconcile')
-
- statement = statement_obj.browse(cursor, user, data['id'], context=context)
-
- for line in line_obj.browse(cursor, user, line_ids, context=context):
- ctx = context.copy()
- ctx['date'] = line.ml_maturity_date # was value_date earlier,but this field exists no more now
- amount = currency_obj.compute(cursor, user, line.currency.id,
- statement.currency.id, line.amount_currency, context=ctx)
-
- if line.move_line_id:
- reconcile_id = statement_reconcile_obj.create(cursor, user, {
- 'line_ids': [(6, 0, [line.move_line_id.id])]
- }, context=context)
- statement_line_obj.create(cursor, user, {
- 'name': line.order_id.reference or '?',
- 'amount': - amount,
- 'type': 'supplier',
- 'partner_id': line.partner_id.id,
- 'account_id': line.move_line_id.account_id.id,
- 'statement_id': statement.id,
- 'ref': line.communication,
- 'reconcile_id': reconcile_id,
- }, context=context)
- return {}
-
-
-class PopulateStatement(wizard.interface):
- """
- Populate the current statement with selected payement lines
- """
- states = {
- 'init': {
- 'actions': [_search_entries],
- 'result': {
- 'type': 'form',
- 'arch': FORM,
- 'fields': FIELDS,
- 'state': [
- ('end', '_Cancel'),
- ('add', '_Add', '', True)
- ]
- },
- },
- 'add': {
- 'actions': [],
- 'result': {
- 'type': 'action',
- 'action': _populate_statement,
- 'state': 'end'
- },
- },
- }
-
-PopulateStatement('populate_statement')
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/account_report/__openerp__.py b/addons/account_report/__openerp__.py
index d71d75f0bb3..3f0739bdb91 100644
--- a/addons/account_report/__openerp__.py
+++ b/addons/account_report/__openerp__.py
@@ -38,6 +38,7 @@
'account_report.xml',
'account_wizard.xml',
'wizard/account_report_print_indicators_view.xml',
+ 'wizard/account_report_print_indicators_with_pdf_view.xml',
],
'demo_xml': [],
'installable': True,
diff --git a/addons/account_report/account_wizard.xml b/addons/account_report/account_wizard.xml
index d56b6c9d565..1e07a8fc248 100644
--- a/addons/account_report/account_wizard.xml
+++ b/addons/account_report/account_wizard.xml
@@ -4,7 +4,7 @@
-
+
\ No newline at end of file
diff --git a/addons/account_report/wizard/__init__.py b/addons/account_report/wizard/__init__.py
index 2658c47cf17..cae88f16a32 100644
--- a/addons/account_report/wizard/__init__.py
+++ b/addons/account_report/wizard/__init__.py
@@ -20,6 +20,6 @@
##############################################################################
import account_report_print_indicators
-import wizard_print_indicators_with_pdf
+import account_report_print_indicators_with_pdf
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_report/wizard/account_report_print_indicators_with_pdf.py b/addons/account_report/wizard/account_report_print_indicators_with_pdf.py
new file mode 100644
index 00000000000..9e71d3e88c9
--- /dev/null
+++ b/addons/account_report/wizard/account_report_print_indicators_with_pdf.py
@@ -0,0 +1,107 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 Tiny SPRL ().
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# 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 .
+#
+##############################################################################
+import time
+from mx.DateTime import *
+import os
+import base64
+import StringIO
+
+from osv import fields, osv
+import tools
+import pooler
+from report.render import render
+from report.interface import report_int
+
+class account_report_print_indicators_with_pdf(osv.osv_memory):
+ _name = "account.report.print.indicators.with.pdf"
+ _description = "Print Indicators"
+ _columns = {
+ 'file': fields.binary('Select a PDF File', filters='*.pdf', required=True),
+ }
+
+ def check_report(self, cr, uid, ids, context=None):
+ datas = {}
+ if context is None:
+ context = {}
+ data = self.read(cr, uid, ids)[0]
+ datas = {
+ 'ids': context.get('active_ids',[]),
+ 'model': 'account.report.report',
+ 'form': data
+ }
+
+ return {
+ 'type': 'ir.actions.report.xml',
+ 'report_name': 'print.indicator.pdf',
+ 'datas': datas,
+ }
+
+
+account_report_print_indicators_with_pdf()
+
+class external_pdf(render):
+ def __init__(self, pdf):
+ render.__init__(self)
+ self.pdf = pdf
+ self.output_type='pdf'
+ def _render(self):
+ return self.pdf
+
+class report_custom(report_int):
+ def create(self, cr, uid, ids, data, context={}):
+ pool = pooler.get_pool(cr.dbname)
+ obj_indicator = pool.get('account.report.report')
+ code_ids = obj_indicator.browse(cr,uid,context['active_id'])
+
+ self.list={}
+
+ def find_child(obj):
+ self.list[str(obj.code)]=str(obj.amount)
+ if obj.child_ids:
+ for child in obj.child_ids:
+ find_child(child)
+ return True
+
+ find_child(code_ids)
+
+ file_contents=base64.decodestring(data['form']['file'])
+ fp = StringIO.StringIO(file_contents)
+
+ infile = open(tools.config['addons_path']+"/test.pdf", 'wb')
+ infile.write(fp.read())
+ infile.close()
+
+ obj_user=pool.get('res.users').browse(cr,uid,uid)
+ self.list['printing_user']=str(obj_user.name)
+ self.list['company_name']=(obj_user.company_id.name)
+ self.list['company_country']=obj_user.company_id.partner_id.country
+ self.list['company_vat']=obj_user.company_id.partner_id.vat
+ self.list['printing_time']=time.strftime('%H:%M:%S')
+ self.list['printing_date']=time.strftime('%D')
+
+ tools.pdf_utils.fill_pdf(tools.config['addons_path']+"/test.pdf",'/tmp/output.pdf',self.list)
+ self.obj = external_pdf(file('/tmp/output.pdf').read())
+ self.obj.render()
+ return (self.obj.pdf, 'pdf')
+
+report_custom('report.print.indicator.pdf')
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/account_report/wizard/account_report_print_indicators_with_pdf_view.xml b/addons/account_report/wizard/account_report_print_indicators_with_pdf_view.xml
new file mode 100644
index 00000000000..07e1ef0b4d9
--- /dev/null
+++ b/addons/account_report/wizard/account_report_print_indicators_with_pdf_view.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+ account.report.print.indicators.with.pdf.form
+ account.report.print.indicators.with.pdf
+ form
+
+
+
+
+
+
+ Indicators in PDF
+ ir.actions.act_window
+ account.report.print.indicators.with.pdf
+ form
+ form
+
+ new
+
+
+
+
+
+ Indicators in PDF
+ client_print_multi
+
+ action
+ account.report.report
+
+
+
+
diff --git a/addons/account_report/wizard/wizard_print_indicators_with_pdf.py b/addons/account_report/wizard/wizard_print_indicators_with_pdf.py
deleted file mode 100644
index 762e1258233..00000000000
--- a/addons/account_report/wizard/wizard_print_indicators_with_pdf.py
+++ /dev/null
@@ -1,109 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# 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 .
-#
-##############################################################################
-
-import wizard
-import pooler
-import time
-import datetime
-import sys
-from mx.DateTime import *
-import tools
-from report.render import render
-from report.interface import report_int
-import os
-import base64
-import StringIO
-
-form = '''
-'''
-
-fields = {
- 'file': {'string':'Select a PDF File', 'type':'binary','required':True,'filters':'*.pdf'},
-}
-
-
-class external_pdf(render):
- def __init__(self, pdf):
- render.__init__(self)
- self.pdf = pdf
- self.output_type='pdf'
- def _render(self):
- return self.pdf
-
-
-class report_custom(report_int):
- def create(self, cr, uid, ids, data, context={}):
-
- pool = pooler.get_pool(cr.dbname)
- obj_indicator = pool.get('account.report.report')
- code_ids = obj_indicator.browse(cr,uid,data['id'])
-
- self.list={}
-
- def find_child(obj):
- self.list[obj.code]=str(obj.amount)
- if obj.child_ids:
- for child in obj.child_ids:
- find_child(child)
- return True
-
- find_child(code_ids)
-
- file_contents=base64.decodestring(data['form']['file'])
- fp = StringIO.StringIO(file_contents)
-
- infile = open(tools.config['addons_path']+"/test.pdf", 'wb')
- infile.write(fp.read())
- infile.close()
-
- obj_user=pool.get('res.users').browse(cr,uid,uid)
- self.list['printing_user']=obj_user.name
- self.list['company_name']=obj_user.company_id.name
- self.list['company_country']=obj_user.company_id.partner_id.country
- self.list['company_vat']=obj_user.company_id.partner_id.vat
- self.list['printing_time']=time.strftime('%H:%M:%S')
- self.list['printing_date']=time.strftime('%D')
-
- tools.pdf_utils.fill_pdf(tools.config['addons_path']+"/test.pdf",'/tmp/output.pdf',self.list)
- self.obj = external_pdf(file('/tmp/output.pdf').read())
- self.obj.render()
- return (self.obj.pdf, 'pdf')
-
-report_custom('report.print.indicator.pdf')
-
-class wizard_print_indicators_with_pdf(wizard.interface):
- states = {
- 'init': {
- 'actions': [],
- 'result': {'type': 'form', 'arch':form, 'fields':fields, 'state':[('end','Cancel'),('print','Print')]}
- },
- 'print': {
- 'actions':[],
- 'result' :{'type':'print','report':'print.indicator.pdf', 'state':'end'}
- }
- }
-wizard_print_indicators_with_pdf('print.indicators.pdf')
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py
index fd1d60914d1..5546a0e345e 100644
--- a/addons/base_calendar/base_calendar.py
+++ b/addons/base_calendar/base_calendar.py
@@ -1618,6 +1618,9 @@ class ir_model(osv.osv):
@param context: A standard dictionary for contextual values
"""
+ if isinstance(ids, (str, int, long)):
+ ids = [ids]
+
data = super(ir_model, self).read(cr, uid, ids, fields=fields, \
context=context, load=load)
if data:
diff --git a/addons/base_iban/__openerp__.py b/addons/base_iban/__openerp__.py
index f534c42bb33..5521263a270 100644
--- a/addons/base_iban/__openerp__.py
+++ b/addons/base_iban/__openerp__.py
@@ -18,8 +18,6 @@
# along with this program. If not, see .
#
##############################################################################
-
-
{
'name': 'Create IBAN bank accounts',
'version': '1.0',
@@ -29,7 +27,8 @@ This module install the base for IBAN (International Bank Account Number) bank a
""",
'author': 'Tiny',
- 'depends': ['base', 'account'],
+ 'website': 'http://www.openerp.com',
+ 'depends': ['account'],
'init_xml': ['base_iban_data.xml'],
'update_xml': ['base_iban_view.xml'],
'installable': True,
diff --git a/addons/base_iban/base_iban.py b/addons/base_iban/base_iban.py
index d441dec668e..92783b8eb74 100644
--- a/addons/base_iban/base_iban.py
+++ b/addons/base_iban/base_iban.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
-#
+#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL ().
#
@@ -15,12 +15,50 @@
# 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 .
+# along with this program. If not, see .
#
##############################################################################
+import string
import netsvc
from osv import fields, osv
+from tools.translate import _
+
+# Length of IBAN
+_iban_len = {'al':28, 'ad':24, 'at':20, 'be': 16, 'ba': 20, 'bg': 22, 'hr': 21, 'cy': 28,
+'cz': 24, 'dk': 18, 'ee': 20, 'fo':18, 'fi': 18, 'fr': 27, 'ge': 22, 'de': 22, 'gi': 23,
+'gr': 27, 'gl': 18, 'hu': 28, 'is':26, 'ie': 22, 'il': 23, 'it': 27, 'kz': 20, 'lv': 21,
+'lb': 28, 'li': 21, 'lt': 20, 'lu':20 ,'mk': 19, 'mt': 31, 'mu': 30, 'mc': 27, 'gb': 22,
+'me': 22, 'nl': 18, 'no': 15, 'pl':28, 'pt': 25, 'ro': 24, 'sm': 27, 'sa': 24, 'rs': 22,
+'sk': 24, 'si': 19, 'es': 24, 'se':24, 'ch': 21, 'tn': 24, 'tr': 26}
+
+# Reference Examples of IBAN
+_ref_iban = { 'al':'ALkk BBBS SSSK CCCC CCCC CCCC CCCC', 'ad':'ADkk BBBB SSSS CCCC CCCC CCCC',
+'at':'ATkk BBBB BCCC CCCC CCCC', 'be': 'BEkk BBBC CCCC CCKK', 'ba': 'BAkk BBBS SSCC CCCC CoKK',
+'bg': 'BGkk BBBB SSSS DDCC CCCC CC', 'hr': 'HRkk BBBB BBBC CCCC CCCC C',
+'cy': 'CYkk BBBS SSSS CCCC CCCC CCCC CCCC',
+'cz': 'CZkk BBBB SSSS SSCC CCCC CCCC', 'dk': 'DKkk BBBB CCCC CCCC CC',
+ 'ee': 'EEkk BBSS CCCC CCCC CCCK', 'fo': 'FOkk CCCC CCCC CCCC CC',
+ 'fi': 'FIkk BBBB BBCC CCCC CK', 'fr': 'FRkk BBBB BGGG GGCC CCCC CCCC CKK',
+ 'ge': 'GEkk BBCC CCCC CCCC CCCC CC', 'de': 'DEkk BBBB BBBB CCCC CCCC CC',
+ 'gi': 'GIkk BBBB CCCC CCCC CCCC CCC', 'gr': 'GRkk BBBS SSSC CCCC CCCC CCCC CCC',
+ 'gl': 'GLkk BBBB CCCC CCCC CC', 'hu': 'HUkk BBBS SSSC CCCC CCCC CCCC CCCC',
+ 'is':'ISkk BBBB SSCC CCCC XXXX XXXX XX', 'ie': 'IEkk AAAA BBBB BBCC CCCC CC',
+ 'il': 'ILkk BBBN NNCC CCCC CCCC CCC', 'it': 'ITkk KAAA AABB BBBC CCCC CCCC CCC',
+ 'kz': 'KZkk BBBC CCCC CCCC CCCC', 'lv': 'LVkk BBBB CCCC CCCC CCCC C',
+'lb': 'LBkk BBBB AAAA AAAA AAAA AAAA AAAA', 'li': 'LIkk BBBB BCCC CCCC CCCC C',
+'lt': 'LTkk BBBB BCCC CCCC CCCC', 'lu': 'LUkk BBBC CCCC CCCC CCCC' ,
+'mk': 'MKkk BBBC CCCC CCCC CKK', 'mt': 'MTkk BBBB SSSS SCCC CCCC CCCC CCCC CCC',
+'mu': 'MUkk BBBB BBSS CCCC CCCC CCCC CCCC CC', 'mc': 'MCkk BBBB BGGG GGCC CCCC CCCC CKK',
+'gb': 'GBkk BBBB SSSS SSCC CCCC CC', 'me': 'MEkk BBBC CCCC CCCC CCCC KK',
+'nl': 'NLkk BBBB CCCC CCCC CC', 'no': 'NOkk BBBB CCCC CCK', 'pl':'PLkk BBBS SSSK CCCC CCCC CCCC CCCC',
+'pt': 'PTkk BBBB SSSS CCCC CCCC CCCK K', 'ro': 'ROkk BBBB CCCC CCCC CCCC CCCC',
+'sm': 'SMkk KAAA AABB BBBC CCCC CCCC CCC', 'sa': 'SAkk BBCC CCCC CCCC CCCC CCCC',
+'rs': 'RSkk BBBC CCCC CCCC CCCC KK', 'sk': 'SKkk BBBB SSSS SSCC CCCC CCCC',
+'si': 'SIkk BBSS SCCC CCCC CKK', 'es': 'ESkk BBBB GGGG KKCC CCCC CCCC',
+'se': 'SEkk BBBB CCCC CCCC CCCC CCCC', 'ch': 'CHkk BBBB BCCC CCCC CCCC C',
+'tn': 'TNkk BBSS SCCC CCCC CCCC CCCC', 'tr': 'TRkk BBBB BRCC CCCC CCCC CCCC CC'
+}
def _format_iban(string):
'''
@@ -54,7 +92,9 @@ class res_partner_bank(osv.osv):
for bank_acc in self.browse(cr, uid, ids):
if not bank_acc.iban:
continue
- iban =_format_iban(bank_acc.iban)
+ iban = _format_iban(bank_acc.iban)
+ if iban[:2] in _iban_len and len(iban) != _iban_len[iban[:2]]:
+ return False
#the four first digits have to be shifted to the end
iban = iban[4:] + iban[:4]
#letters have to be transformed into numbers (a = 10, b = 11, ...)
@@ -69,6 +109,17 @@ class res_partner_bank(osv.osv):
return False
return True
+ def _construct_constraint_msg(self, cr, uid, ids):
+
+ def default_iban_check(iban_cn):
+ return iban_cn[0] in string.ascii_lowercase and iban_cn[1] in string.ascii_lowercase
+
+ iban_country = self.browse(cr, uid, ids)[0].iban[:2]
+ if default_iban_check(iban_country):
+ iban_example = iban_country in _ref_iban and _ref_iban[iban_country] + ' \nWhere A = Account number, B = National bank code, S = Branch code, C = account No, N = branch No, K = National check digits....' or ''
+ return _('The IBAN does not seems to be correct. You should have entered something like this %s'), (iban_example)
+ return _('The IBAN is invalid, It should begin with the country code'), ()
+
def name_get(self, cr, uid, ids, context=None):
res = []
to_check_ids = []
@@ -122,10 +173,8 @@ class res_partner_bank(osv.osv):
'iban': fields.char('IBAN', size=34, readonly=True, help="International Bank Account Number"),
}
- _constraints = [(check_iban, "The IBAN number doesn't seem to be correct.", ["iban"])]
+ _constraints = [(check_iban, _construct_constraint_msg, ["iban"])]
res_partner_bank()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/base_setup/gtk_contact_form.py b/addons/base_setup/gtk_contact_form.py
index c13ae39aee3..bdc503a06f1 100644
--- a/addons/base_setup/gtk_contact_form.py
+++ b/addons/base_setup/gtk_contact_form.py
@@ -77,20 +77,30 @@ class base_gtkcontactform(osv.osv_memory):
company_id = self.pool.get('base.setup.company').search(cr, uid, [])
company_data = self.pool.get('base.setup.company').read(cr, uid, company_id)
company_data = company_data and company_data[0] or False
- country1 = ''
+ country = ''
if company_data and company_data.get('country_id', False):
country = self.pool.get('res.country').read(cr, uid, company_data['country_id'],['name'])['name']
for res in self.read(cr, uid, ids):
email = res.get('email','')
result = "\ncompany: "+ str(company_data.get('name',''))
result += "\nname: " + str(res.get('name',''))
+ result += "\njob: " + str(res.get('job',''))
result += "\nphone: " + str(res.get('phone',''))
result += "\ncity: " + str(company_data.get('city',''))
result += "\ncountry: " + str(country)
result += "\nindustry: " + str(res.get('industry', ''))
result += "\ntotal_employees: " + str(res.get('total_employees', ''))
result += "\nplan_use: " + str(res.get('use_openerp', False))
+ result += "\nalready_using_openerp: " + str(res.get('already_using_openerp', False))
result += "\nsell_openerp: " + str(res.get('sell_openerp', False))
+ result += "\nalready_selling__openerp: " + str(res.get('already_selling__openerp', False))
+ result += "\nfeatures: " + str(res.get('features', False))
+ result += "\nsaas: " + str(res.get('saas', False))
+ result += "\npartners_program: " + str(res.get('partners_program', False))
+ result += "\nsupport: " + str(res.get('support', False))
+ result += "\ntraining: " + str(res.get('training', False))
+ result += "\nupdates: " + str(res.get('updates', False))
+ result += "\ncontact_me: " + str(res.get('contact_me', False))
result += "\nebook: " + str(res.get('ebook',False))
result += "\ngtk: " + str(True)
misc.upload_data(email, result, type='SURVEY')
diff --git a/addons/base_vat/__init__.py b/addons/base_vat/__init__.py
index 5a220084ca0..e1999d38b87 100644
--- a/addons/base_vat/__init__.py
+++ b/addons/base_vat/__init__.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
-#
+#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL ().
#
@@ -15,11 +15,11 @@
# 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 .
+# along with this program. If not, see .
#
##############################################################################
-import partner
+import base_vat
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/base_vat/__openerp__.py b/addons/base_vat/__openerp__.py
index bdef947f77f..ff34cd3e09c 100644
--- a/addons/base_vat/__openerp__.py
+++ b/addons/base_vat/__openerp__.py
@@ -18,8 +18,6 @@
# along with this program. If not, see .
#
##############################################################################
-
-
{
'name': 'Base VAT - To check VAT number validity',
'version': '1.0',
@@ -31,10 +29,11 @@
checking the validity of VAT Number assinged to partners in European countries.
""",
'author': 'Tiny',
- 'depends': ['base', 'account'],
- 'update_xml': ['base_vat_data.xml'],
+ 'depends': ['account'],
+ 'website': 'http://www.openerp.com',
+ 'update_xml': ['base_vat_view.xml'],
'installable': True,
'active': False,
'certificate': '0084849360989',
}
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/base_vat/partner.py b/addons/base_vat/base_vat.py
similarity index 96%
rename from addons/base_vat/partner.py
rename to addons/base_vat/base_vat.py
index c4f166fd7d5..5cba9ea7053 100644
--- a/addons/base_vat/partner.py
+++ b/addons/base_vat/base_vat.py
@@ -1,9 +1,9 @@
# -*- coding: utf-8 -*-
##############################################################################
#
-# OpenERP, Open Source Management Solution
+# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (). All Rights Reserved
-# Copyright (C) 2008-2009 B2CK, Cedric Krier, Bertrand Chenal (the methods "check_vat_[a-z]{2}"
+# Copyright (C) 2008-2009 B2CK, Cedric Krier, Bertrand Chenal (the methods "check_vat_[a-z]{2}"
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -19,16 +19,28 @@
# along with this program. If not, see .
#
##############################################################################
-
-from osv import osv
-from osv import fields
import string
+
+from osv import osv, fields
from tools.func import partial
from tools.translate import _
_ref_vat = {
- 'be': 'BE0477472701',
-}
+ 'be': 'BE0477472701', 'at': 'ATU12345675',
+ 'bg': 'BG1234567892', 'cy': 'CY12345678F',
+ 'cz': 'CZ12345679', 'de': 'DE123456788',
+ 'dk': 'DK12345674', 'ee': 'EE123456780',
+ 'es': 'ESA12345674', 'fi': 'FI12345671',
+ 'fr': 'FR32123456789', 'gb': 'GB123456782',
+ 'gr': 'GR12345670', 'hu': 'HU12345676',
+ 'ie': 'IE1234567T', 'it': 'IT12345670017',
+ 'lt': 'LT123456715', 'lu': 'LU12345613',
+ 'lv': 'LV41234567891', 'mt': 'MT12345634',
+ 'nl': 'NL123456782B90', 'pl': 'PL1234567883',
+ 'pt': 'PT123456789', 'ro': 'RO1234567897',
+ 'se': 'SE123456789701', 'si': 'SI12345679',
+ 'sk': 'SK0012345675', 'el': 'EL12345670'
+ }
def mult_add(i, j):
"""Sum each digits of the multiplication of i and j."""
@@ -48,18 +60,16 @@ class res_partner(osv.osv):
'''
for partner in self.browse(cr, uid, ids):
if not partner.vat:
- continue
-
+ continue
vat_country, vat_number = self._split_vat(partner.vat)
if not hasattr(self, 'check_vat_' + vat_country):
return False
check = getattr(self, 'check_vat_' + vat_country)
if not check(vat_number):
return False
-
return True
- def vat_change(self, cr, uid, ids, value, context={}):
+ def vat_change(self, cr, uid, ids, value, context=None):
return {'value': {'vat_subjected': bool(value)}}
_columns = {
@@ -75,13 +85,14 @@ class res_partner(osv.osv):
vat_country, vat_number = self._split_vat(self.browse(cr, uid, ids)[0].vat)
if default_vat_check(vat_country, vat_number):
- return _('The Vat does not seems to be correct. You should have entered something like this %s'), (_ref_vat[vat_country])
- return _('The VAT is invalid, it shoul begin with the country code'), ()
+ vat_no = vat_country in _ref_vat and _ref_vat[vat_country] or 'Country Code + Vat Number'
+ return _('The Vat does not seems to be correct. You should have entered something like this %s'), (vat_no)
+ return _('The VAT is invalid, It should begin with the country code'), ()
_constraints = [(check_vat, _construct_constraint_msg, ["vat"])]
# code from the following methods come from Tryton (B2CK)
- # http://www.tryton.org/hgwebdir.cgi/modules/relationship/file/544d1de586d9/party.py
+ # http://www.tryton.org/hgwebdir.cgi/modules/relationship/file/544d1de586d9/party.py
def check_vat_at(self, vat):
'''
Check Austria VAT number.
@@ -980,10 +991,10 @@ class res_partner(osv.osv):
if int(vat[9:11]) < 0:
return False
-
+
# if int(vat[-2:]) != 1:
# return False
-
+
sum = mult_add(2, int(vat[0])) + int(vat[1]) + \
mult_add(2, int(vat[2])) + int(vat[3]) + \
mult_add(2, int(vat[4])) + int(vat[5]) + \
@@ -1066,5 +1077,4 @@ class res_partner(osv.osv):
res_partner()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/base_vat/base_vat_data.xml b/addons/base_vat/base_vat_view.xml
similarity index 100%
rename from addons/base_vat/base_vat_data.xml
rename to addons/base_vat/base_vat_view.xml
diff --git a/addons/crm/i18n/es.po b/addons/crm/i18n/es.po
index b9424d024dd..aaf1103bcd8 100644
--- a/addons/crm/i18n/es.po
+++ b/addons/crm/i18n/es.po
@@ -7,14 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-01-05 05:59+0000\n"
-"PO-Revision-Date: 2010-04-29 10:04+0000\n"
-"Last-Translator: Jordi Esteve - http://www.zikzakmedia.com "
-"\n"
+"PO-Revision-Date: 2010-05-17 23:03+0000\n"
+"Last-Translator: Carlos Incaser \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-05-05 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-05-18 05:15+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: crm
@@ -1508,7 +1507,7 @@ msgstr "crm.phonecall.assign_wizard"
#. module: crm
#: view:report.crm.case.section.categ2:0
msgid "Cases by Section and Category2"
-msgstr ""
+msgstr "Casos por sección y 2ª categoría"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -1520,7 +1519,7 @@ msgstr "realizado"
#: view:crm.meeting:0
#: view:crm.phonecall:0
msgid "Reminder"
-msgstr ""
+msgstr "Recordatorio"
#. module: crm
#: help:crm.segmentation,sales_purchase_active:0
@@ -1546,7 +1545,7 @@ msgstr "Recordar con adjunto"
#: model:crm.case.categ,name:crm.categ_lead6
#: model:crm.case.categ,name:crm.categ_oppor6
msgid "Website"
-msgstr ""
+msgstr "Sitio web"
#. module: crm
#: field:crm.case.rule,act_remind_user:0
@@ -1568,7 +1567,7 @@ msgstr ""
#. module: crm
#: view:crm.fundraising:0
msgid "Funds"
-msgstr ""
+msgstr "Fondos"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -1580,7 +1579,7 @@ msgstr "borrador"
#: model:crm.case.stage,name:crm.stage_claim5
#: model:crm.case.stage,name:crm.stage_meet4
msgid "Awaiting Response"
-msgstr ""
+msgstr "Esperando respuesta"
#. module: crm
#: field:crm.case,date:0
@@ -1600,17 +1599,17 @@ msgstr ""
#: model:crm.case.categ,name:crm.categ_lead2
#: model:crm.case.categ,name:crm.categ_oppor2
msgid "Self Generated"
-msgstr ""
+msgstr "Auto generado"
#. module: crm
#: model:crm.case.stage,name:crm.stage_claim3
msgid "Won't fix"
-msgstr ""
+msgstr "No será corregido"
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead4
msgid "Converted"
-msgstr ""
+msgstr "Convertido"
#. module: crm
#: view:crm.case:0
@@ -1650,7 +1649,7 @@ msgstr ""
#. module: crm
#: view:crm.job:0
msgid "Jobs - Recruitment Tree"
-msgstr ""
+msgstr "Trabajos - selección de personal"
#. module: crm
#: field:crm.case.rule,regex_name:0
@@ -1664,7 +1663,7 @@ msgstr ""
#: field:report.crm.case.section.categ2,state:0
#: field:report.crm.case.section.stage,state:0
msgid "State"
-msgstr ""
+msgstr "Estado/Provincia"
#. module: crm
#: view:crm.case:0
@@ -1725,7 +1724,7 @@ msgstr ""
#. module: crm
#: view:crm.claim:0
msgid "Type of claim"
-msgstr ""
+msgstr "Tipo de reclamación"
#. module: crm
#: view:crm.case:0
@@ -1745,13 +1744,13 @@ msgstr ""
#. module: crm
#: view:crm.claim:0
msgid "Claim Cost"
-msgstr ""
+msgstr "Coste reclamación"
#. module: crm
#: view:crm.job:0
#: view:crm.opportunity:0
msgid "Schedule a Phone Call"
-msgstr ""
+msgstr "Programar una llamada"
#. module: crm
#: field:crm.case,ref:0
@@ -1771,7 +1770,7 @@ msgstr ""
#. module: crm
#: model:crm.case.category2,name:crm.category_lead2
msgid "Mail"
-msgstr ""
+msgstr "Correo electrónico"
#. module: crm
#: field:crm.case.rule,act_priority:0
@@ -1781,12 +1780,12 @@ msgstr "Establecer prioridad a"
#. module: crm
#: model:crm.case.stage,name:crm.stage_oppor2
msgid "Needs Analysis"
-msgstr ""
+msgstr "Necesita análisis"
#. module: crm
#: view:crm.claim:0
msgid "Search Claims"
-msgstr ""
+msgstr "Búsqueda reclamaciones"
#. module: crm
#: field:crm.case.rule,act_mail_body:0
@@ -1796,7 +1795,7 @@ msgstr "Texto correo"
#. module: crm
#: help:crm.menu.config_wizard,meeting:0
msgid "Manages the calendar of meetings of the users."
-msgstr ""
+msgstr "Gestiona el calendario de reuniones de los usuarios."
#. module: crm
#: selection:crm.segmentation.line,expr_name:0
@@ -1829,12 +1828,12 @@ msgstr "Nombre"
#. module: crm
#: view:crm.opportunity:0
msgid "Sales Stage"
-msgstr ""
+msgstr "Fase de ventas"
#. module: crm
#: field:crm.meeting,alarm_id:0
msgid "Alarm"
-msgstr ""
+msgstr "Alarma"
#. module: crm
#: field:crm.case.rule,act_mail_to_watchers:0
@@ -1845,7 +1844,7 @@ msgstr ""
#: view:crm.fundraising:0
#: view:crm.meeting:0
msgid "Next Meeting"
-msgstr ""
+msgstr "Próxima reunión"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -1870,7 +1869,7 @@ msgstr ""
#. module: crm
#: field:crm.menu.config_wizard,bugs:0
msgid "Bug Tracking"
-msgstr ""
+msgstr "Seguimiento de errores"
#. module: crm
#: view:crm.case:0
@@ -1919,12 +1918,12 @@ msgstr "Demora después fecha del disparo:"
#. module: crm
#: model:crm.case.category2,name:crm.category_lead5
msgid "Web"
-msgstr ""
+msgstr "Web"
#. module: crm
#: view:crm.lead:0
msgid "Campaign Type"
-msgstr ""
+msgstr "Tipo campaña"
#. module: crm
#: view:crm.segmentation:0
@@ -1936,22 +1935,22 @@ msgstr "Cálculo grado de satisfacción"
#: code:addons/crm/wizard/wizard_crm_send_email.py:0
#, python-format
msgid "Error"
-msgstr ""
+msgstr "Error"
#. module: crm
#: model:ir.model,name:crm.model_crm_meeting_generic_wizard
msgid "crm.meeting.generic_wizard"
-msgstr ""
+msgstr "crm.reunion.asistente_generico"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_history-act
msgid "Histories"
-msgstr ""
+msgstr "Historial"
#. module: crm
#: model:crm.case.category2,name:crm.category_job1
msgid "Graduate"
-msgstr ""
+msgstr "Graduado"
#. module: crm
#: wizard_view:crm.job.meeting_set,init:0
@@ -1960,11 +1959,13 @@ msgid ""
"Note that you can also use the calendar view to graphically schedule your "
"next meeting."
msgstr ""
+"Observe que también puede utilizar la vista de calendario para programar "
+"gráficamente su siguiente reunión."
#. module: crm
#: view:crm.lead:0
msgid "Leads Tree"
-msgstr ""
+msgstr "Árbol de iniciativas"
#. module: crm
#: field:crm.meeting,caldav_url:0
@@ -1988,12 +1989,12 @@ msgstr ""
#: model:ir.actions.act_window,name:crm.crm_case_categ_phone_incoming0
#: model:ir.ui.menu,name:crm.menu_crm_case_phone_inbound
msgid "Inbound"
-msgstr ""
+msgstr "Entrante"
#. module: crm
#: constraint:crm.case.section:0
msgid "Error ! You cannot create recursive sections."
-msgstr ""
+msgstr "¡Error! No puede crear secciones recursivas."
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm
@@ -2006,6 +2007,8 @@ msgid ""
" Will allow you to synchronise your Open ERP calendars with your phone, "
"outlook, Sunbird, ical, ..."
msgstr ""
+" Le permite sincronizar sus calendarios OpenERP con su teléfono, Outlook, "
+"Sunbird, iCal, ..."
#. module: crm
#: view:report.crm.case.section.categ.categ2:0
@@ -2013,7 +2016,7 @@ msgstr ""
#: view:report.crm.case.section.categ2:0
#: view:report.crm.case.section.stage:0
msgid "This Year"
-msgstr ""
+msgstr "Este año"
#. module: crm
#: field:crm.case.rule,act_remind_partner:0
@@ -2031,7 +2034,7 @@ msgstr "Muy alto"
#. module: crm
#: view:crm.job:0
msgid "Contract Data"
-msgstr ""
+msgstr "Datos contrato"
#. module: crm
#: selection:crm.case.rule,trg_date_range_type:0
@@ -2046,7 +2049,7 @@ msgstr ""
#. module: crm
#: field:crm.menu.config_wizard,document_ics:0
msgid "Shared Calendar"
-msgstr ""
+msgstr "Calendario compartido"
#. module: crm
#: field:crm.case.section,reply_to:0
@@ -2056,7 +2059,7 @@ msgstr "Responder a"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_lead_categ
msgid "Cases by Leads and Type"
-msgstr ""
+msgstr "Casos por iniciativas y tipo"
#. module: crm
#: selection:crm.case.rule,trg_date_range_type:0
@@ -2067,12 +2070,12 @@ msgstr "Minutos"
#: field:report.crm.case.section.categ2,amount_revenue:0
#: field:report.crm.case.section.stage,amount_revenue:0
msgid "Est.Revenue"
-msgstr ""
+msgstr "Retorno est."
#. module: crm
#: model:crm.case.stage,name:crm.stage_job1
msgid "Initial Jobs Demand"
-msgstr ""
+msgstr "Solicitudes de trabajo iniciales"
#. module: crm
#: field:crm.case.rule,trg_priority_to:0
@@ -2087,7 +2090,7 @@ msgstr ""
#. module: crm
#: view:crm.claim:0
msgid "Claims Info"
-msgstr ""
+msgstr "Info reclamaciones"
#. module: crm
#: field:crm.case.category2,name:0
@@ -2100,7 +2103,7 @@ msgstr ""
#: model:ir.actions.wizard,name:crm.wizard_crm_lead_opportunity_set
#: model:ir.actions.wizard,name:crm.wizard_crm_phonecall_opportunity_set
msgid "Convert To Opportunity"
-msgstr ""
+msgstr "Convertir en oportunidad"
#. module: crm
#: model:crm.case.stage,name:crm.stage_phone2
@@ -2111,18 +2114,18 @@ msgstr ""
#. module: crm
#: view:crm.case:0
msgid "Helpdesk Supports"
-msgstr ""
+msgstr "Asistencia técnica"
#. module: crm
#: model:crm.case.section,name:crm.section_support4
#: model:ir.ui.menu,name:crm.menu_crm_case_fund_raise
msgid "Fund Raising"
-msgstr ""
+msgstr "Obtención de fondos"
#. module: crm
#: selection:crm.new.send.mail,init,state:0
msgid "Unchanged"
-msgstr ""
+msgstr "Sin cambios"
#. module: crm
#: wizard_view:crm.job.partner_create,init:0
@@ -2131,7 +2134,7 @@ msgstr ""
#: wizard_view:crm.phonecall.opportunity_set,create_partner:0
#: wizard_view:crm.phonecall.partner_create,init:0
msgid "Convert To Partner"
-msgstr ""
+msgstr "Convertir en empresa"
#. module: crm
#: field:crm.case.rule,trg_state_from:0
@@ -2192,7 +2195,7 @@ msgstr "Sección del caso"
#. module: crm
#: model:process.node,note:crm.process_node_meeting0
msgid "Schedule a normal or phone meeting"
-msgstr ""
+msgstr "Programar una reunión normal o telefónica"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -2213,7 +2216,7 @@ msgstr "Campos a cambiar"
#. module: crm
#: model:crm.case.category2,name:crm.category_lead1
msgid "Telesales"
-msgstr ""
+msgstr "Ventas a distancia"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm_case_history-act_main
@@ -2240,7 +2243,7 @@ msgstr "Línea de segmentación"
#: wizard_field:crm.opportunity.reschedule_phone_call,init,deadline:0
#: view:crm.phonecall:0
msgid "Planned Date"
-msgstr ""
+msgstr "Fecha prevista"
#. module: crm
#: selection:crm.case.rule,trg_date_range_type:0
@@ -2257,7 +2260,7 @@ msgstr ""
#. module: crm
#: model:ir.actions.wizard,name:crm.wizard_crm_cal_import
msgid "Import ICS File"
-msgstr ""
+msgstr "Importar fichero ICS"
#. module: crm
#: view:crm.meeting:0
@@ -2275,7 +2278,7 @@ msgstr ""
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "July"
-msgstr ""
+msgstr "Julio"
#. module: crm
#: model:crm.case.stage,name:crm.stage_oppor1
@@ -2285,7 +2288,7 @@ msgstr ""
#. module: crm
#: field:crm.case,partner_name2:0
msgid "Employee Email"
-msgstr ""
+msgstr "Email empleado"
#. module: crm
#: model:ir.model,name:crm.model_crm_meeting
@@ -2295,17 +2298,17 @@ msgstr ""
#. module: crm
#: view:crm.job:0
msgid "Job Info"
-msgstr ""
+msgstr "Info. trabajo"
#. module: crm
#: view:crm.meeting:0
msgid "Cancel Meeting"
-msgstr ""
+msgstr "Cancelar reunión"
#. module: crm
#: model:crm.case.section,name:crm.section_support0
msgid "Jobs"
-msgstr ""
+msgstr "Trabajos"
#. module: crm
#: view:crm.case.rule:0
@@ -2316,7 +2319,7 @@ msgstr ""
#: model:crm.case.stage,name:crm.stage_phone3
#: view:crm.phonecall:0
msgid "Not Held"
-msgstr ""
+msgstr "No ocupado"
#. module: crm
#: field:crm.case.rule,act_mail_to_user:0
@@ -2326,12 +2329,12 @@ msgstr "Enviar correo a responsable"
#. module: crm
#: view:crm.job:0
msgid "Jobs - Recruitment Form"
-msgstr ""
+msgstr "Trabajo - Formulario de selección"
#. module: crm
#: model:crm.case.category2,name:crm.category_claim1
msgid "Corrective"
-msgstr ""
+msgstr "Correctivo"
#. module: crm
#: model:ir.model,name:crm.model_crm_opportunity
@@ -2354,7 +2357,7 @@ msgstr "Plantilla de Email a enviar"
#: field:report.crm.case.section.categ2,month:0
#: field:report.crm.case.section.stage,month:0
msgid "Month"
-msgstr ""
+msgstr "Mes"
#. module: crm
#: model:crm.case.section,name:crm.section_support2
@@ -2364,13 +2367,13 @@ msgstr ""
#: model:ir.ui.menu,name:crm.menu_crm_case_categ0_act_leads
#: model:process.node,name:crm.process_node_leads0
msgid "Leads"
-msgstr ""
+msgstr "Iniciativas"
#. module: crm
#: wizard_button:crm.new.send.mail,init,send:0
#: wizard_button:crm.send.mail,init,send:0
msgid "Send Email"
-msgstr ""
+msgstr "Enviar correo"
#. module: crm
#: wizard_view:crm.new.send.mail,init:0
@@ -2380,7 +2383,7 @@ msgstr ""
#. module: crm
#: model:crm.case.category2,name:crm.categ2_fund3
msgid "Credit Card"
-msgstr ""
+msgstr "Tarjeta de crédito"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -2407,11 +2410,13 @@ msgstr "Registro"
msgid ""
"This may help associations in their fund raising process and tracking."
msgstr ""
+"Esto puede ayudar a las organizaciones en su proceso de obtención de fondos "
+"y seguimiento."
#. module: crm
#: view:crm.meeting:0
msgid "Reset to Unconfirmed"
-msgstr ""
+msgstr "Restablecer a no confirmado"
#. module: crm
#: view:crm.case:0
@@ -2471,7 +2476,7 @@ msgstr "cancelado"
#. module: crm
#: model:crm.case.categ,name:crm.categ_meet2
msgid "Internal Meeting"
-msgstr ""
+msgstr "Reunión interna"
#. module: crm
#: view:crm.case:0
@@ -2480,7 +2485,7 @@ msgstr ""
#: view:crm.lead:0
#: view:crm.opportunity:0
msgid "Events"
-msgstr ""
+msgstr "Eventos"
#. module: crm
#: help:crm.menu.config_wizard,lead:0
@@ -2488,6 +2493,8 @@ msgid ""
"Allows you to track and manage leads which are pre-sales requests or "
"contacts, the very first contact with a customer request."
msgstr ""
+"Le permite seguir y gestionar iniciativas que son peticiones de pre-ventas o "
+"contactos, el primer contacto de una solicitud de un posible cliente."
#. module: crm
#: help:crm.case,som:0
@@ -2536,7 +2543,7 @@ msgstr ""
#: model:ir.ui.menu,name:crm.menu_crm_case_phone
#, python-format
msgid "Phone Calls"
-msgstr ""
+msgstr "Llamadas telefónicas"
#. module: crm
#: help:crm.case,active:0
@@ -2548,7 +2555,7 @@ msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_menu_config_wizard
msgid "crm.menu.config_wizard"
-msgstr ""
+msgstr "crm.menu.asistente_config"
#. module: crm
#: view:crm.case.history:0
@@ -2558,12 +2565,12 @@ msgstr "Historial del caso"
#. module: crm
#: field:crm.case,partner_phone:0
msgid "Phone"
-msgstr ""
+msgstr "Teléfono"
#. module: crm
#: model:crm.case.category2,name:crm.categ2_fund2
msgid "Cheque"
-msgstr ""
+msgstr "Cheque"
#. module: crm
#: field:crm.case,active:0
@@ -2599,7 +2606,7 @@ msgstr ""
#. module: crm
#: model:ir.actions.wizard,name:crm.wizard_crm_send_mail
msgid "Send Mail"
-msgstr ""
+msgstr "Enviar correo"
#. module: crm
#: selection:crm.case.rule,trg_date_range_type:0
@@ -2627,7 +2634,7 @@ msgstr ""
#. module: crm
#: model:process.node,note:crm.process_node_opportunities0
msgid "When a real project/opportunity is detected"
-msgstr ""
+msgstr "Cuando un proyecto/oportunidad real es detectado"
#. module: crm
#: wizard_view:crm.job.partner_create,init:0
@@ -2649,7 +2656,7 @@ msgstr "Acción"
#: model:ir.ui.menu,name:crm.menu_crm_case_claims
#, python-format
msgid "Claims"
-msgstr ""
+msgstr "Reclamaciones"
#. module: crm
#: field:crm.segmentation,som_interval_decrease:0
@@ -2670,7 +2677,7 @@ msgstr ""
#: wizard_field:crm.new.send.mail,init,to:0
#: wizard_field:crm.send.mail,init,to:0
msgid "To"
-msgstr ""
+msgstr "Para"
#. module: crm
#: view:crm.case.rule:0
@@ -2680,7 +2687,7 @@ msgstr "%(case_user_email)s = Email del responsable"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_presale
msgid "Sales"
-msgstr ""
+msgstr "Ventas"
#. module: crm
#: view:crm.case:0
@@ -2691,12 +2698,12 @@ msgstr "General"
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead2
msgid "Assigned"
-msgstr ""
+msgstr "Asignado"
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead5
msgid "Recycled"
-msgstr ""
+msgstr "Reciclado"
#. module: crm
#: model:crm.case.categ,name:crm.categ_lead8
@@ -2722,7 +2729,7 @@ msgstr "Intervalo máx"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_category_act_oppor11
msgid "All Opportunities"
-msgstr ""
+msgstr "Todas las oportunidades"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -2756,7 +2763,7 @@ msgstr ""
#: code:addons/crm/wizard/crm_phonecall_wizard.py:0
#, python-format
msgid "A partner is already existing with the same name."
-msgstr ""
+msgstr "Ya existe una empresa con el mismo nombre."
#. module: crm
#: model:ir.model,name:crm.model_crm_phonecall
diff --git a/addons/hr_contract/i18n/ar.po b/addons/hr_contract/i18n/ar.po
index 3ac9d53e7a9..de5ebc99fa0 100644
--- a/addons/hr_contract/i18n/ar.po
+++ b/addons/hr_contract/i18n/ar.po
@@ -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-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-02-03 06:25+0000\n"
-"Last-Translator: <>\n"
+"PO-Revision-Date: 2010-05-17 17:45+0000\n"
+"Last-Translator: aakari \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-04-17 04:14+0000\n"
+"X-Launchpad-Export-Date: 2010-05-18 05:15+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: hr_contract
@@ -81,7 +81,7 @@ msgstr ""
#. module: hr_contract
#: field:hr.contract,function:0
msgid "Function"
-msgstr ""
+msgstr "الدالة"
#. module: hr_contract
#: field:hr.employee,marital_status:0
@@ -90,7 +90,7 @@ msgstr ""
#: model:ir.actions.act_window,name:hr_contract.action_hr_marital_status
#: model:ir.ui.menu,name:hr_contract.hr_menu_marital_status
msgid "Marital Status"
-msgstr ""
+msgstr "الحالة الزوجية"
#. module: hr_contract
#: view:hr.employee:0
@@ -107,7 +107,7 @@ msgstr ""
#. module: hr_contract
#: field:hr.contract.wage.type,type:0
msgid "Type"
-msgstr ""
+msgstr "النّوع"
#. module: hr_contract
#: field:hr.contract,wage_type_id:0
diff --git a/addons/hr_expense/__openerp__.py b/addons/hr_expense/__openerp__.py
index 03fab346c77..d8d6e23ac51 100644
--- a/addons/hr_expense/__openerp__.py
+++ b/addons/hr_expense/__openerp__.py
@@ -51,7 +51,9 @@
'process/hr_expense_process.xml',
'report/hr_expense_report_view.xml'
],
- 'demo_xml': ['hr.expense.expense.csv'],
+ 'demo_xml': ['hr_expense_demo.xml',
+# 'hr.expense.expense.csv'
+ ],
'installable': True,
'active': False,
'certificate': '0062479841789',
diff --git a/addons/hr_expense/hr_expense_demo.xml b/addons/hr_expense/hr_expense_demo.xml
new file mode 100644
index 00000000000..51a77f8d4e9
--- /dev/null
+++ b/addons/hr_expense/hr_expense_demo.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+ September Expenses
+
+ 2010-05-03
+ draft
+
+
+ Travel by Car - Customer Seagate 2 - Double
+ 2010-05-03
+
+
+
+
+
+
+ Basic PC - Server for Seagate
+ 2010-05-03
+
+
+
+
+
+
+
+
+
+
+
+ Hotel Expenses
+
+ 2010-04-20
+ draft
+
+
+ Hotel Expenses - Thymbra
+ 2010-05-03
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/addons/hr_expense/hr_expense_view.xml b/addons/hr_expense/hr_expense_view.xml
index cb74901fc4e..ffd1792de77 100644
--- a/addons/hr_expense/hr_expense_view.xml
+++ b/addons/hr_expense/hr_expense_view.xml
@@ -66,7 +66,6 @@
@@ -80,11 +91,17 @@
@@ -111,7 +132,9 @@
@@ -318,6 +342,19 @@
id="menu_open_view_holiday_status"
parent="hr.menu_open_view_attendance_reason_config"/>
+
+
+ resource.calendar.leaves.form.inherit
+ resource.calendar.leaves
+ form
+
+
+
+
+
+
+
+
holidays_validate()
+
+
+ second_validate
+ function
+ holidays_validate2()
+
+
+
refuse
@@ -53,8 +61,8 @@
holidays_cancel()
XOR
-
-
@@ -63,11 +71,12 @@
confirm
-
+
validate
+ (holiday_status_id.double_validation == False)
@@ -97,6 +106,32 @@
set_to_draft
-
+
+
+
+
+ second_validate
+
+
+
+
+
+
+
+ refuse
+
+
+
+
+
+ (holiday_status_id.double_validation == True)
+ validate
+
+
+
diff --git a/addons/hr_holidays/report/hr_holidays_report.py b/addons/hr_holidays/report/hr_holidays_report.py
index 435eee71ea5..87f01cfb17c 100644
--- a/addons/hr_holidays/report/hr_holidays_report.py
+++ b/addons/hr_holidays/report/hr_holidays_report.py
@@ -63,7 +63,8 @@ class hr_holidays_report(osv.osv):
s.state
from
hr_holidays s
- where type='remove'
+ where type='remove' and
+ s.employee_id is not null
group by
s.create_date,s.state,s.date_from,s.date_to,
s.number_of_days_temp,s.employee_id,s.user_id
@@ -98,7 +99,7 @@ class hr_holidays_remaining_leaves_user(osv.osv):
where
hrs.employee_id = hre.id and
hre.resource_id = rr.id and
- hhs.id = hrs.holiday_status_id
+ hhs.id = hrs.holiday_status_id
group by
rr.name,rr.user_id,hhs.name
)
diff --git a/addons/hr_holidays/report/hr_holidays_report_view.xml b/addons/hr_holidays/report/hr_holidays_report_view.xml
index a5502b9450d..4af9bdb8f51 100644
--- a/addons/hr_holidays/report/hr_holidays_report_view.xml
+++ b/addons/hr_holidays/report/hr_holidays_report_view.xml
@@ -82,7 +82,7 @@
- Leaves
+ Leaves By Employee
hr.holidays.report
form
tree,graph
diff --git a/addons/hr_recruitment/__init__.py b/addons/hr_recruitment/__init__.py
index 75b9049aa0f..2619a3139f2 100644
--- a/addons/hr_recruitment/__init__.py
+++ b/addons/hr_recruitment/__init__.py
@@ -19,9 +19,8 @@
# along with this program. If not, see .
#
##############################################################################
-
-
import hr_recruitment
import report
import wizard
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_recruitment/__openerp__.py b/addons/hr_recruitment/__openerp__.py
index 14557c33c42..1e0af949825 100644
--- a/addons/hr_recruitment/__openerp__.py
+++ b/addons/hr_recruitment/__openerp__.py
@@ -19,7 +19,6 @@
# along with this program. If not, see .
#
##############################################################################
-
{
'name': 'HR - Recruitement',
'version': '1.0',
@@ -35,9 +34,6 @@ system to store and search in your CV base.
'author': 'Tiny',
'website': 'http://www.openerp.com',
'depends': ['hr','survey','crm'],
- 'init_xml': [
- 'hr_recruitment_data.xml'
- ],
'update_xml': [
'wizard/hr_recruitment_phonecall_view.xml',
'hr_recruitment_view.xml',
@@ -49,10 +45,14 @@ system to store and search in your CV base.
'report/hr_recruitment_report_view.xml',
'wizard/hr_recruitment_create_partner_job_view.xml',
],
+ 'init_xml': [
+ 'hr_recruitment_data.xml'
+ ],
'demo_xml': [
'hr_recruitment_demo.xml'
],
'installable': True,
'active': False,
}
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py
index eac882874c7..f8372527a6c 100644
--- a/addons/hr_recruitment/hr_recruitment.py
+++ b/addons/hr_recruitment/hr_recruitment.py
@@ -23,21 +23,35 @@ from osv import fields, osv
from crm import crm
AVAILABLE_STATES = [
- ('draft', 'New'),
- ('open', 'In Progress'),
- ('cancel', 'Refused'),
- ('done', 'Hired'),
+ ('draft', 'New'),
+ ('open', 'In Progress'),
+ ('cancel', 'Refused'),
+ ('done', 'Hired'),
('pending', 'Pending')
]
AVAILABLE_PRIORITIES = [
- ('5', 'Not Good'),
- ('4', 'On Average'),
- ('3', 'Good'),
- ('2', 'Very Good'),
+ ('5', 'Not Good'),
+ ('4', 'On Average'),
+ ('3', 'Good'),
+ ('2', 'Very Good'),
('1', 'Excellent')
]
+class hr_recruitment_stage(osv.osv):
+ """ Stage of HR Recruitment """
+
+ _name = "hr.recruitment.stage"
+ _description = "Stage of Recruitment"
+ _columns = {
+ 'name': fields.char('Name', size=64, required=True, translate=True),
+ 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of stages."),
+ 'requirements': fields.text('Requirements')
+ }
+ _defaults = {
+ 'sequence': 1,
+ }
+hr_recruitment_stage()
class hr_applicant(osv.osv, crm.crm_case):
_name = "hr.applicant"
@@ -46,48 +60,48 @@ class hr_applicant(osv.osv, crm.crm_case):
_inherit ='mailgate.thread'
_columns = {
- 'active': fields.boolean('Active', help="If the active field is set to false, it will allow you to hide the case without removing it."),
- 'description': fields.text('Description'),
+ 'active': fields.boolean('Active', help="If the active field is set to false, it will allow you to hide the case without removing it."),
+ 'description': fields.text('Description'),
'section_id': fields.many2one('crm.case.section', 'Sales Team', \
select=True, help='Sales team to which Case belongs to.\
- Define Responsible user and Email account for mail gateway.'),
- 'email_from': fields.char('Email', size=128, help="These people will receive email."),
+ Define Responsible user and Email account for mail gateway.'),
+ 'email_from': fields.char('Email', size=128, help="These people will receive email."),
'email_cc': fields.text('Watchers Emails', size=252 , help="These people\
will receive a copy of the future" \
- " communication between partner and users by email"),
- 'probability': fields.float('Probability'),
- 'partner_id': fields.many2one('res.partner', 'Partner'),
+ " communication between partner and users by email"),
+ 'probability': fields.float('Probability'),
+ 'partner_id': fields.many2one('res.partner', 'Partner'),
'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', \
- domain="[('partner_id','=',partner_id)]"),
- 'create_date': fields.datetime('Creation Date' , readonly=True),
- 'write_date': fields.datetime('Update Date' , readonly=True),
+ domain="[('partner_id','=',partner_id)]"),
+ 'create_date': fields.datetime('Creation Date' , readonly=True),
+ 'write_date': fields.datetime('Update Date' , readonly=True),
'stage_id': fields.many2one ('crm.case.stage', 'Stage', \
domain="[('section_id','=',section_id),\
- ('object_id.model', '=', 'crm.opportunity')]"),
- 'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True,
+ ('object_id.model', '=', 'crm.opportunity')]"),
+ 'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True,
help='The state is set to \'Draft\', when a case is created.\
\nIf the case is in progress the state is set to \'Open\'.\
\nWhen the case is over, the state is set to \'Done\'.\
- \nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
- 'company_id': fields.many2one('res.company', 'Company'),
- 'user_id': fields.many2one('res.users', 'Responsible'),
+ \nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
+ 'company_id': fields.many2one('res.company', 'Company'),
+ 'user_id': fields.many2one('res.users', 'Responsible'),
# Applicant Columns
- 'date_closed': fields.datetime('Closed', readonly=True),
- 'date': fields.datetime('Date'),
- 'priority': fields.selection(AVAILABLE_PRIORITIES, 'Appreciation'),
- 'job_id': fields.many2one('hr.job', 'Applied Job'),
- 'salary_proposed': fields.float('Proposed Salary'),
- 'salary_expected': fields.float('Expected Salary'),
- 'availability': fields.integer('Availability (Days)'),
- 'partner_name': fields.char("Applicant's Name", size=64),
- 'partner_phone': fields.char('Phone', size=32),
- 'partner_mobile': fields.char('Mobile', size=32),
- 'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'hr.applicant')]"),
- 'type_id': fields.many2one('crm.case.resource.type', 'Degree', domain="[('section_id','=',section_id),('object_id.model', '=', 'hr.applicant')]"),
- 'department_id':fields.many2one('hr.department', 'Department'),
- 'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
- 'survey' : fields.related('job_id', 'survey_id', type='many2one', relation='survey', string='Survey'),
- 'response' : fields.integer("Response"),
+ 'date_closed': fields.datetime('Closed', readonly=True),
+ 'date': fields.datetime('Date'),
+ 'priority': fields.selection(AVAILABLE_PRIORITIES, 'Appreciation'),
+ 'job_id': fields.many2one('hr.job', 'Applied Job'),
+ 'salary_proposed': fields.float('Proposed Salary'),
+ 'salary_expected': fields.float('Expected Salary'),
+ 'availability': fields.integer('Availability (Days)'),
+ 'partner_name': fields.char("Applicant's Name", size=64),
+ 'partner_phone': fields.char('Phone', size=32),
+ 'partner_mobile': fields.char('Mobile', size=32),
+ 'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'hr.applicant')]"),
+ 'type_id': fields.many2one('crm.case.resource.type', 'Degree', domain="[('section_id','=',section_id),('object_id.model', '=', 'hr.applicant')]"),
+ 'department_id':fields.many2one('hr.department', 'Department'),
+ 'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
+ 'survey' : fields.related('job_id', 'survey_id', type='many2one', relation='survey', string='Survey'),
+ 'response' : fields.integer("Response"),
}
def onchange_job(self,cr, uid, ids, job, context={}):
@@ -111,7 +125,7 @@ class hr_applicant(osv.osv, crm.crm_case):
for case in self.browse(cr, uid, ids, context):
section = (case.section_id.id or False)
st = case.stage_id.id or False
- stage_ids = self.pool.get('crm.case.stage').search(cr, uid, [])
+ stage_ids = self.pool.get('hr.recruitment.stage').search(cr, uid, [])
if st and stage_ids.index(st):
self.write(cr, uid, [case.id], {'stage_id': stage_ids[stage_ids.index(st)-1]})
return True
@@ -129,7 +143,7 @@ class hr_applicant(osv.osv, crm.crm_case):
for case in self.browse(cr, uid, ids, context):
section = (case.section_id.id or False)
st = case.stage_id.id or False
- stage_ids = self.pool.get('crm.case.stage').search(cr, uid, [])
+ stage_ids = self.pool.get('hr.recruitment.stage').search(cr, uid, [])
if st and len(stage_ids) != stage_ids.index(st)+1:
self.write(cr, uid, [case.id], {'stage_id': stage_ids[stage_ids.index(st)+1]})
return True
@@ -163,24 +177,24 @@ class hr_applicant(osv.osv, crm.crm_case):
id3 = data_obj.browse(cr, uid, id3, context=context).res_id
context = {
- 'default_opportunity_id': opp.id,
- 'default_partner_id': opp.partner_id and opp.partner_id.id or False,
- 'default_section_id': opp.section_id and opp.section_id.id or False,
- 'default_email_from': opp.email_from,
- 'default_state': 'open',
+ 'default_opportunity_id': opp.id,
+ 'default_partner_id': opp.partner_id and opp.partner_id.id or False,
+ 'default_section_id': opp.section_id and opp.section_id.id or False,
+ 'default_email_from': opp.email_from,
+ 'default_state': 'open',
'default_name': opp.name
}
value = {
- 'name': ('Meetings'),
- 'domain': "[('user_id','=',%s)]" % (uid),
- 'context': context,
- 'view_type': 'form',
- 'view_mode': 'calendar,form,tree',
- 'res_model': 'crm.meeting',
- 'view_id': False,
- 'views': [(id1, 'calendar'), (id2, 'form'), (id3, 'tree')],
- 'type': 'ir.actions.act_window',
- 'search_view_id': res['res_id'],
+ 'name': ('Meetings'),
+ 'domain': "[('user_id','=',%s)]" % (uid),
+ 'context': context,
+ 'view_type': 'form',
+ 'view_mode': 'calendar,form,tree',
+ 'res_model': 'crm.meeting',
+ 'view_id': False,
+ 'views': [(id1, 'calendar'), (id2, 'form'), (id3, 'tree')],
+ 'type': 'ir.actions.act_window',
+ 'search_view_id': res['res_id'],
'nodestroy': True
}
return value
@@ -209,7 +223,9 @@ class hr_job(osv.osv):
_inherit = "hr.job"
_name = "hr.job"
_columns = {
- 'survey_id': fields.many2one('survey', 'Survey'),
+ 'survey_id': fields.many2one('survey', 'Survey'),
}
-hr_job()
\ No newline at end of file
+hr_job()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_recruitment/hr_recruitment_data.xml b/addons/hr_recruitment/hr_recruitment_data.xml
index e2b23cc09f5..77f15c4afd5 100644
--- a/addons/hr_recruitment/hr_recruitment_data.xml
+++ b/addons/hr_recruitment/hr_recruitment_data.xml
@@ -32,31 +32,31 @@
-
+
Initial Jobs Demand
-
+
First Interview
-
+
Second Interview
-
+
Contract Proposed
-
+
Contract Signed
-
+
Refused by Employee
-
+
Refused by Company
diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml
index 617bcea4dbe..4ad4dd214c1 100644
--- a/addons/hr_recruitment/hr_recruitment_view.xml
+++ b/addons/hr_recruitment/hr_recruitment_view.xml
@@ -7,12 +7,12 @@
# ------------------------------------------------------
- Applicant Categories
- crm.case.categ
- form
-
- [('object_id.model', '=', 'hr.applicant')]
- {'object_id':'hr.applicant'}
+ Applicant Categories
+ crm.case.categ
+ form
+
+ [('object_id.model', '=', 'hr.applicant')]
+ {'object_id':'hr.applicant'}
# ------------------------------------------------------
# Stage
@@ -108,7 +108,7 @@
-
+
@@ -267,5 +267,58 @@
+
+
+
+ hr.recruitment.stage.tree
+ hr.recruitment.stage
+ tree
+
+
+
+
+
+
+
+
+
+
+
+ hr.recruitment.stage.form
+ hr.recruitment.stage
+ form
+
+
+
+
+
+
+
+
+ Stages
+ hr.recruitment.stage
+ form
+
+
+
+
+
+
+
diff --git a/addons/hr_recruitment/hr_recruitment_wizard.xml b/addons/hr_recruitment/hr_recruitment_wizard.xml
deleted file mode 100644
index d82153eabbb..00000000000
--- a/addons/hr_recruitment/hr_recruitment_wizard.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/hr_recruitment/report/hr_recruitment_report.py b/addons/hr_recruitment/report/hr_recruitment_report.py
index d2c9aa4a4ae..49c33084412 100644
--- a/addons/hr_recruitment/report/hr_recruitment_report.py
+++ b/addons/hr_recruitment/report/hr_recruitment_report.py
@@ -18,7 +18,6 @@
# along with this program. If not, see .
#
##############################################################################
-
import tools
from osv import fields,osv
from hr_recruitment import hr_recruitment
@@ -99,7 +98,8 @@ class hr_recruitment_report(osv.osv):
'date': fields.date('Date', readonly=True),
'date_closed': fields.date('Closed', readonly=True),
'job_id': fields.many2one('hr.job', 'Applied Job',readonly=True),
- 'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'hr.applicant')]",readonly=True),
+ 'stage_id': fields.many2one ('hr.recruitment.stage', 'Stage'),
+# 'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'hr.applicant')]",readonly=True),
'type_id': fields.many2one('crm.case.resource.type', 'Degree', domain="[('section_id','=',section_id),('object_id.model', '=', 'hr.applicant')]"),
'department_id':fields.many2one('hr.department','Department',readonly=True),
'priority': fields.selection(hr_recruitment.AVAILABLE_PRIORITIES, 'Appreciation'),
@@ -151,3 +151,4 @@ class hr_recruitment_report(osv.osv):
""")
hr_recruitment_report()
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py b/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py
index 4627751f731..e9b68de37ea 100644
--- a/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py
+++ b/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py
@@ -19,7 +19,6 @@
# along with this program. If not, see .
#
##############################################################################
-
from osv import osv, fields
from tools.translate import _
@@ -54,12 +53,11 @@ class hr_recruitment_partner_create(osv.osv_memory):
partner_id = partner_obj.search(cr, uid, [('name', '=', case.partner_name or case.name)])
if partner_id:
raise osv.except_osv(_('Warning !'),_('A partner is already existing with the same name.'))
- else:
- partner_id = partner_obj.create(cr, uid, {
- 'name': case.partner_name or case.name,
- 'user_id': case.user_id.id,
- 'comment': case.description,
- })
+ partner_id = partner_obj.create(cr, uid, {
+ 'name': case.partner_name or case.name,
+ 'user_id': case.user_id.id,
+ 'comment': case.description,
+ })
contact_id = contact_obj.create(cr, uid, {
'partner_id': partner_id,
'name': case.partner_name,
@@ -68,14 +66,14 @@ class hr_recruitment_partner_create(osv.osv_memory):
'email': case.email_from
})
- case_obj.write(cr, uid, context['active_ids'], {
- 'partner_id': partner_id,
- 'partner_address_id': contact_id
- })
+ case_obj.write(cr, uid, case.id, {
+ 'partner_id': partner_id,
+ 'partner_address_id': contact_id
+ })
if data['close']:
case_obj.case_close(cr, uid, context['active_ids'])
- value = {
+ return {
'domain': "[]",
'view_type': 'form',
'view_mode': 'form,tree',
@@ -84,8 +82,7 @@ class hr_recruitment_partner_create(osv.osv_memory):
'view_id': False,
'type': 'ir.actions.act_window',
'search_view_id': res['res_id']
- }
- return value
+ }
hr_recruitment_partner_create()
diff --git a/addons/hr_recruitment/wizard/hr_recruitment_phonecall.py b/addons/hr_recruitment/wizard/hr_recruitment_phonecall.py
index 27c0a2c49bd..0517d7d7965 100644
--- a/addons/hr_recruitment/wizard/hr_recruitment_phonecall.py
+++ b/addons/hr_recruitment/wizard/hr_recruitment_phonecall.py
@@ -19,7 +19,6 @@
# along with this program. If not, see .
#
##############################################################################
-
import time
from osv import osv, fields
@@ -99,17 +98,16 @@ class job2phonecall(osv.osv_memory):
job_case_obj.case_cancel(cr, uid, [job.id])
phonecall_case_obj.case_open(cr, uid, [new_phonecall_id])
- value = {
+ return {
'name': _('Phone Call'),
'view_type': 'form',
'view_mode': 'tree,form',
'res_model': 'crm.phonecall',
'res_id' : new_phonecall_id,
- 'views': [(id3,'form'),(id2,'tree'),(False,'calendar'),(False,'graph')],
+ 'views': [(id3,'form'), (id2,'tree'), (False,'calendar'), (False,'graph')],
'type': 'ir.actions.act_window',
'search_view_id': res['res_id']
}
- return value
job2phonecall()
diff --git a/addons/idea/__openerp__.py b/addons/idea/__openerp__.py
index 4730fd4637c..c297d428eb3 100644
--- a/addons/idea/__openerp__.py
+++ b/addons/idea/__openerp__.py
@@ -42,7 +42,9 @@
'security/idea_security.xml',
'security/ir.model.access.csv',
],
- 'demo_xml': [],
+ 'demo_xml': [
+ "idea_data.xml"
+ ],
'test':['test/test_idea.yml'],
'installable': True,
'certificate': '0071515601309',
diff --git a/addons/idea/idea.py b/addons/idea/idea.py
index e698c85d0b4..2a6aafe2989 100644
--- a/addons/idea/idea.py
+++ b/addons/idea/idea.py
@@ -19,7 +19,9 @@
#
##############################################################################
-from osv import osv, fields
+from osv import osv
+from osv import fields
+from tools.translate import _
VoteValues = [('-1', 'Not Voted'), ('0', 'Very Bad'), ('25', 'Bad'), \
('50', 'Normal'), ('75', 'Good'), ('100', 'Very Good') ]
@@ -35,7 +37,8 @@ class idea_category(osv.osv):
'name': fields.char('Category', size=64, required=True),
'summary': fields.text('Summary'),
'parent_id': fields.many2one('idea.category', 'Parent Categories', ondelete='set null'),
- 'child_ids': fields.one2many('idea.category', 'parent_id', 'Child Categories')
+ 'child_ids': fields.one2many('idea.category', 'parent_id', 'Child Categories'),
+ 'visibility':fields.boolean('Open Idea?', required=False),
}
_sql_constraints = [
('name', 'unique(parent_id,name)', 'The name of the category must be unique' )
@@ -44,7 +47,6 @@ class idea_category(osv.osv):
idea_category()
-
class idea_idea(osv.osv):
""" Idea """
_name = 'idea.idea'
@@ -62,10 +64,10 @@ class idea_idea(osv.osv):
return {}
sql = """SELECT i.id, avg(v.score::integer)
- FROM idea_idea i LEFT OUTER JOIN idea_vote v ON i.id = v.idea_id
- WHERE i.id = ANY(%s)
- GROUP BY i.id
- """
+ FROM idea_idea i LEFT OUTER JOIN idea_vote v ON i.id = v.idea_id
+ WHERE i.id = ANY(%s)
+ GROUP BY i.id
+ """
cr.execute(sql, (ids,))
return dict(cr.fetchall())
@@ -82,10 +84,10 @@ class idea_idea(osv.osv):
return {}
sql = """SELECT i.id, COUNT(1)
- FROM idea_idea i LEFT OUTER JOIN idea_vote v ON i.id = v.idea_id
- WHERE i.id = ANY(%s)
- GROUP BY i.id
- """
+ FROM idea_idea i LEFT OUTER JOIN idea_vote v ON i.id = v.idea_id
+ WHERE i.id = ANY(%s)
+ GROUP BY i.id
+ """
cr.execute(sql, (ids,))
return dict(cr.fetchall())
@@ -102,10 +104,10 @@ class idea_idea(osv.osv):
return {}
sql = """SELECT i.id, COUNT(1)
- FROM idea_idea i LEFT OUTER JOIN idea_comment c ON i.id = c.idea_id
- WHERE i.id = ANY(%s)
- GROUP BY i.id
- """
+ FROM idea_idea i LEFT OUTER JOIN idea_comment c ON i.id = c.idea_id
+ WHERE i.id = ANY(%s)
+ GROUP BY i.id
+ """
cr.execute(sql, (ids,))
return dict(cr.fetchall())
@@ -156,29 +158,77 @@ class idea_idea(osv.osv):
'comment_ids': fields.one2many('idea.comment', 'idea_id', 'Comments'),
'create_date': fields.datetime('Creation date', readonly=True),
'vote_ids': fields.one2many('idea.vote', 'idea_id', 'Vote'),
- 'my_vote': fields.function(_vote_read, fnct_inv = _vote_save, \
- string="My Vote", method=True, type="selection", selection=VoteValues),
+ 'my_vote': fields.function(_vote_read, fnct_inv = _vote_save, string="My Vote", method=True, type="selection", selection=VoteValues),
'vote_avg': fields.function(_vote_avg_compute, method=True, string="Average Score", type="float"),
'count_votes': fields.function(_vote_count, method=True, string="Count of votes", type="integer"),
- 'count_comments': fields.function(_comment_count, method=True, \
- string="Count of comments", type="integer"),
+ 'count_comments': fields.function(_comment_count, method=True, string="Count of comments", type="integer"),
'category_id': fields.many2one('idea.category', 'Category', required=True),
- 'state': fields.selection([('draft', 'Draft'), ('open', 'Opened'), \
- ('close', 'Accepted'), ('cancel', 'Cancelled')], \
- 'State', readonly=True,
- help='When the Idea is created the state is \'Draft\'.\n It is \
- opened by the user, the state is \'Opened\'.\
- \nIf the idea is accepted, the state is \'Accepted\'.'),
+ 'state': fields.selection([('draft', 'Draft'),
+ ('open', 'Opened'),
+ ('close', 'Accepted'),
+ ('cancel', 'Cancelled')],
+ 'State', readonly=True,
+ help='When the Idea is created the state is \'Draft\'.\n It is \
+ opened by the user, the state is \'Opened\'.\
+ \nIf the idea is accepted, the state is \'Accepted\'.'
+ ),
+ 'visibility':fields.boolean('Open Idea?', required=False),
'stat_vote_ids': fields.one2many('idea.vote.stat', 'idea_id', 'Statistics', readonly=True),
}
_defaults = {
'user_id': lambda self,cr,uid,context: uid,
'my_vote': lambda *a: '-1',
- 'state': lambda *a: 'draft'
+ 'state': lambda *a: 'draft',
+ 'visibility': lambda *a: True,
}
_order = 'id desc'
+ def create(self, cr, user, vals, context={}):
+ """
+ Create a new record for a model idea_idea
+ @param cr: A database cursor
+ @param user: ID of the user currently logged in
+ @param vals: provides data for new record
+ @param context: context arguments, like lang, time zone
+
+ @return: Returns an id of the new record
+ """
+ visibility = False
+
+ if vals.get('category_id', False):
+ category_pool = self.pool.get('idea.category')
+ category = category_pool.browse(cr, user, vals.get('category_id'), context)
+ visibility = category.visibility
+
+ vals.update({
+ 'visibility':visibility
+ })
+ res_id = super(idea_idea, self).create(cr, user, vals, context)
+ return res_id
+
+ def write(self, cr, user, ids, vals, context=None):
+ """
+ Update redord(s) exist in {ids}, with new value provided in {vals}
+
+ @param cr: A database cursor
+ @param user: ID of the user currently logged in
+ @param ids: list of record ids to update
+ @param vals: dict of new values to be set
+ @param context: context arguments, like lang, time zone
+
+ @return: Returns True on success, False otherwise
+ """
+
+ state = self.browse(cr, user, ids[0]).state
+
+ if vals.get('my_vote', False):
+ if vals.get('state', state) != 'open':
+ raise osv.except_osv(_("Warning !"), _("Draft/Accepted/Cancelled ideas Could not be voted"))
+
+ res = super(idea_idea, self).write(cr, user, ids, vals, context)
+ return res
+
def idea_cancel(self, cr, uid, ids):
self.write(cr, uid, ids, { 'state': 'cancel' })
return True
@@ -190,7 +240,7 @@ class idea_idea(osv.osv):
def idea_close(self, cr, uid, ids):
self.write(cr, uid, ids, { 'state': 'close' })
return True
-
+
def idea_draft(self, cr, uid, ids):
self.write(cr, uid, ids, { 'state': 'draft' })
return True
@@ -238,7 +288,6 @@ class idea_vote(osv.osv):
idea_vote()
-
class idea_vote_stat(osv.osv):
""" Idea votes Statistics """
diff --git a/addons/idea/idea_data.xml b/addons/idea/idea_data.xml
new file mode 100644
index 00000000000..8c147c35d32
--- /dev/null
+++ b/addons/idea/idea_data.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+ General
+ General Ideas
+ True
+
+
+
+ TODO: Need to put a good idea on OpenERP
+ TODO: Need to put a good idea on OpenERP
+
+ True
+
+
+
+
diff --git a/addons/idea/idea_view.xml b/addons/idea/idea_view.xml
index 7dc0b5f7178..38ac9eda0a7 100644
--- a/addons/idea/idea_view.xml
+++ b/addons/idea/idea_view.xml
@@ -2,8 +2,7 @@
-
-
+
idea.category.form
@@ -11,16 +10,18 @@
form
-
-
+
idea.category.tree
idea.category
@@ -33,7 +34,7 @@
-
+
Categories
@@ -47,8 +48,7 @@
-
+
@@ -61,11 +61,6 @@
-
-
@@ -137,21 +132,18 @@
form
-
-
+
+
idea.idea.tree
@@ -187,40 +191,47 @@
tree
+
-
-
-
+
-
+
+
+
+
-
+
idea.idea.search
idea.idea
search
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -314,15 +325,15 @@
form
graph,tree
-
+
-
+
-
+
-
-
+
+
Idea's vote
idea.vote
form
diff --git a/addons/idea/wizard/idea_post_vote.py b/addons/idea/wizard/idea_post_vote.py
index c5e6c530334..73d917603a6 100644
--- a/addons/idea/wizard/idea_post_vote.py
+++ b/addons/idea/wizard/idea_post_vote.py
@@ -29,13 +29,36 @@ class idea_post_vote(osv.osv_memory):
_description = "Post vote"
_columns = {
- 'vote': fields.selection([('-1', 'Not Voted'),
- ('0', 'Very Bad'),
- ('25', 'Bad'),
- ('50', 'Normal'),
- ('75', 'Good'),
- ('100', 'Very Good') ], 'Post Vote', required=True)
- }
+ 'vote': fields.selection([('-1', 'Not Voted'),
+ ('0', 'Very Bad'),
+ ('25', 'Bad'),
+ ('50', 'Normal'),
+ ('75', 'Good'),
+ ('100', 'Very Good') ],
+ 'Post Vote', required=True),
+ 'note': fields.text('Description'),
+ }
+
+ def get_default(self, cr, uid, context={}):
+ """
+ This function checks for precondition before wizard executes
+ @param self: The object pointer
+ @param cr: the current row, from the database cursor,
+ @param uid: the current user’s ID for security checks,
+ @param fields: List of fields for default value
+ @param context: A standard dictionary for contextual values
+ """
+ idea_obj = self.pool.get('idea.idea')
+
+ if context.get('active_id'):
+ idea = idea_obj.browse(cr, uid, context.get('active_id'))
+ return idea.my_vote
+ else:
+ return 75
+
+ _defaults = {
+ 'vote': get_default,
+ }
def view_init(self, cr, uid, fields, context=None):
"""
@@ -50,16 +73,12 @@ class idea_post_vote(osv.osv_memory):
for idea in idea_obj.browse(cr, uid, context.get('active_ids', [])):
if idea.state in ['draft', 'close', 'cancel']:
- raise osv.except_osv(_("Warning !"), _("Draft/Accepted/Cancelled \
-ideas Could not be voted"))
+ raise osv.except_osv(_("Warning !"), _("Draft/Accepted/Cancelled ideas Could not be voted"))
if idea.state != 'open':
- raise osv.except_osv(_('Warning !'), _('idea should be in \
-\'Open\' state before vote for that idea.'))
+ raise osv.except_osv(_('Warning !'), _('idea should be in \'Open\' state before vote for that idea.'))
return False
-
def do_vote(self, cr, uid, ids, context):
-
"""
Create idea vote.
@param cr: the current row, from the database cursor,
@@ -67,15 +86,26 @@ ideas Could not be voted"))
@param ids: List of Idea Post vote’s IDs.
@return: Dictionary {}
"""
-
- data = context and context.get('active_id', False) or False
- vote_obj = self.pool.get('idea.vote')
+
+ vote_id = context and context.get('active_id', False) or False
+ vote_pool = self.pool.get('idea.vote')
+ comment_pool = self.pool.get('idea.comment')
for do_vote_obj in self.read(cr, uid, ids):
score = str(do_vote_obj['vote'])
- dic = {'idea_id': data, 'user_id': uid, 'score': score }
-
- vote = vote_obj.create(cr, uid, dic)
+ comment = do_vote_obj['note']
+ vote = {
+ 'idea_id': vote_id,
+ 'user_id': uid,
+ 'score': score
+ }
+ comment = {
+ 'user_id':uid,
+ 'idea_id':vote_id,
+ 'content': comment,
+ }
+ vote = vote_pool.create(cr, uid, vote)
+ comment = comment_pool.create(cr, uid, comment)
return {}
idea_post_vote()
diff --git a/addons/idea/wizard/idea_post_vote_view.xml b/addons/idea/wizard/idea_post_vote_view.xml
index e49e91f5661..aa066cdffd3 100644
--- a/addons/idea/wizard/idea_post_vote_view.xml
+++ b/addons/idea/wizard/idea_post_vote_view.xml
@@ -2,43 +2,38 @@
-
+
-
- idea.post.vote.form
- idea.post.vote
- form
-
-
-
-
+
+ idea.post.vote.form
+ idea.post.vote
+ form
+
+
+
+
-
-
-
- Vote
- idea.post.vote
- form
- tree,form
-
- new
-
-
-
-
-
+
+
+ Vote
+ idea.post.vote
+ form
+ tree,form
+
+ new
+
+
diff --git a/addons/l10n_be/wizard/l10n_be_account_vat_declaration.py b/addons/l10n_be/wizard/l10n_be_account_vat_declaration.py
index be261bd1366..d141fd44f1d 100644
--- a/addons/l10n_be/wizard/l10n_be_account_vat_declaration.py
+++ b/addons/l10n_be/wizard/l10n_be_account_vat_declaration.py
@@ -56,9 +56,7 @@ class l10n_be_vat_declaration(osv.osv_memory):
user_cmpny = obj_company.name
vat_no=obj_company.partner_id.vat
if not vat_no:
-# raise wizard.except_wizard(_('Data Insufficient'),_('No VAT Number Associated with Main Company!'))
osv.except_osv(_('Data Insufficient'), _('No VAT Number Associated with Main Company!'))
-
tax_code_ids = obj_tax_code.search(cr, uid, [], context=context)
ctx = context.copy()
@@ -68,8 +66,6 @@ class l10n_be_vat_declaration(osv.osv_memory):
address = post_code = city = country_code = ''
city, post_code, address, country_code =self.pool.get('res.company')._get_default_ad(obj_company.partner_id.address)
-
-
year_id = obj_fyear.find(cr, uid)
account_period = obj_acc_period.browse(cr, uid, data['period_id'], context=context)
@@ -80,7 +76,7 @@ class l10n_be_vat_declaration(osv.osv_memory):
data_of_file +='\n\t\n\t\t'+str(vat_no)+'\n\t\t'+str(obj_company.name)+'\n\t\t'+address+''
data_of_file +='\n\t\t'+post_code+'\n\t\t'+city+'\n\t\t'+country_code+'\n\t\t'+send_ref+'\n\t'
data_of_file +='\n\t\n\t\t1\n\t\t'+((vat_no and str(vat_no[2:])) or '')+'\n\t\t\n\t\t\t'
-
+
starting_month = account_period.date_start[5:7]
ending_month = account_period.date_stop[5:7]
if starting_month != ending_month:
@@ -105,7 +101,6 @@ class l10n_be_vat_declaration(osv.osv_memory):
data['file_save'] = base64.encodestring(data_of_file)
self.write(cr, uid, ids, {'file_save':data['file_save']}, context=context)
-
l10n_be_vat_declaration()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/l10n_be/wizard/l10n_be_account_vat_declaration_view.xml b/addons/l10n_be/wizard/l10n_be_account_vat_declaration_view.xml
index 62399ae1cba..f3e4b23771e 100644
--- a/addons/l10n_be/wizard/l10n_be_account_vat_declaration_view.xml
+++ b/addons/l10n_be/wizard/l10n_be_account_vat_declaration_view.xml
@@ -18,7 +18,7 @@
-
+
diff --git a/addons/l10n_be/wizard/l10n_be_vat_intra.py b/addons/l10n_be/wizard/l10n_be_vat_intra.py
index bb74665480d..954b4675a49 100644
--- a/addons/l10n_be/wizard/l10n_be_vat_intra.py
+++ b/addons/l10n_be/wizard/l10n_be_vat_intra.py
@@ -20,21 +20,22 @@
##############################################################################
import time
import base64
-from tools.translate import _
from osv import osv, fields
+from tools.translate import _
class partner_vat_intra(osv.osv_memory):
-
- """ Partner Vat Intra"""
+ """
+ Partner Vat Intra
+ """
_name = "partner.vat.intra"
_description = 'Partner VAT Intra'
- def _get_europe_country(self, cursor, user, context={}):
- obj_country = self.pool.get('res.country')
- return obj_country.search(cursor, user, [('code', 'in', ['AT', 'BG', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'GB'])])
+ def _get_europe_country(self, cursor, user, context=None):
+ return self.pool.get('res.country').search(cursor, user, [('code', 'in', ['AT', 'BG', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'GB'])])
_columns = {
+ 'name': fields.char('File Name', size=32),
'period_code': fields.char('Period Code',size = 6,required = True, help = '''This is where you have to set the period code for the intracom declaration using the format: ppyyyy
PP can stand for a month: from '01' to '12'.
PP can stand for a trimester: '31','32','33','34'
@@ -47,7 +48,8 @@ class partner_vat_intra(osv.osv_memory):
'period_ids': fields.many2many('account.period', 'account_period_rel', 'acc_id', 'period_id', 'Period (s)', help = 'Select here the period(s) you want to include in your intracom declaration'),
'test_xml': fields.boolean('Test XML file', help="Sets the XML output as test file"),
'mand_id' : fields.char('MandataireId', size=14, required=True, help="This identifies the representative of the sending company. This is a string of 14 characters"),
- 'msg': fields.text('File created', size=64, readonly=True),
+ 'msg': fields.text('File created', size=14, readonly=True),
+ 'no_vat': fields.text('Partner With No VAT', size=14, readonly=True, help="The Partner whose VAT number is not defined they doesn't include in XML File."),
'file_save' : fields.binary('Save File', readonly=True),
'country_ids': fields.many2many('res.country', 'vat_country_rel', 'vat_id', 'country_id', 'European Countries'),
}
@@ -56,13 +58,19 @@ class partner_vat_intra(osv.osv_memory):
'country_ids': _get_europe_country,
}
- def create_xml(self, cursor, user, ids, context={}):
+ def create_xml(self, cursor, user, ids, context=None):
obj_user = self.pool.get('res.users')
obj_fyear = self.pool.get('account.fiscalyear')
obj_sequence = self.pool.get('ir.sequence')
obj_partner = self.pool.get('res.partner')
obj_partner_add = self.pool.get('res.partner.address')
+ obj_country = self.pool.get('res.country')
+ street = zip_city = country = p_list = data_clientinfo = ''
+ error_message = list_partner = []
+ seq = amount_sum = 0
+ if context is None:
+ context = {}
data_cmpny = obj_user.browse(cursor, user, user).company_id
data = self.read(cursor, user, ids)[0]
company_vat = data_cmpny.partner_id.vat
@@ -73,10 +81,9 @@ class partner_vat_intra(osv.osv_memory):
seq_declarantnum = obj_sequence.get(cursor, user, 'declarantnum')
cref = company_vat[2:] + seq_controlref[-4:]
dnum = cref + seq_declarantnum[-5:]
- if len(data['form']['period_code']) != 6:
- raise wizard.except_wizard(_('Wrong Period Code'), _('The period code you entered is not valid.'))
+ if len(data['period_code']) != 6:
+ raise osv.except_osv(_('Wrong Period Code'), _('The period code you entered is not valid.'))
- street = zip_city = country = ''
addr = obj_partner.address_get(cursor, user, [data_cmpny.partner_id.id], ['invoice'])
if addr.get('invoice',False):
ads = obj_partner_add.browse(cursor, user, [addr['invoice']])[0]
@@ -99,26 +106,23 @@ class partner_vat_intra(osv.osv_memory):
data_file +='\n\t\t\t' + str(country) +'\n\t\t\n\t'
data_comp ='\n\t\t\n\t\t\t'+str(company_vat[2:])+'\n\t\t\t'+str(data_cmpny.name)+'\n\t\t\t'+ str(street) +'\n\t\t\t'+ str(zip_city) +'\n\t\t\t'+ str(country) +'\n\t\t'
data_period = '\n\t\t'+ data['period_code'] +'' #trimester
- error_message = []
- seq = 0
- amount_sum = 0
p_id_list = obj_partner.search(cursor, user, [('vat','!=',False)])
if not p_id_list:
raise osv.except_osv(_('Data Insufficient!'),_('No partner has a VAT Number asociated with him.'))
- nb_period = len(data_fiscal.period_ids)
- fiscal_periods = data_fiscal.period_ids
- list_partner = []
- data_clientinfo = ''
- cr.execute('''SELECT l.partner_id AS partner_id, p.vat AS vat, t.code AS intra_code, SUM(l.tax_amount) AS amount
- FROM account_move_line l
- LEFT JOIN account_tax_code t ON (l.tax_code_id = t.id)
- LEFT JOIN res_partner p ON (l.partner_id = p.id)
- WHERE t.code IN ('44a','44b','88')
- AND l.period_id IN %s
- GROUP BY l.partner_id, p.vat, t.code''', (tuple(data['form']['period_ids'][0][2]), ))
- for row in cr.dictfetchall():
-
+ if not data['period_ids']:
+ raise osv.except_osv(_('Data Insufficient!'),_('Please select at least one Period.'))
+ cursor.execute('''SELECT p.name As partner_name, l.partner_id AS partner_id, p.vat AS vat, t.code AS intra_code, SUM(l.tax_amount) AS amount
+ FROM account_move_line l
+ LEFT JOIN account_tax_code t ON (l.tax_code_id = t.id)
+ LEFT JOIN res_partner p ON (l.partner_id = p.id)
+ WHERE t.code IN ('44a','44b','88')
+ AND l.period_id IN %s
+ GROUP BY p.name, l.partner_id, p.vat, t.code''', (tuple(data['period_ids']), ))
+ for row in cursor.dictfetchall():
+ if not row['vat']:
+ p_list += str(row['partner_name']) + ', '
+ continue
seq += 1
amt = row['amount'] or 0
amt = int(amt * 100)
@@ -128,11 +132,15 @@ class partner_vat_intra(osv.osv_memory):
amount_sum = int(amount_sum)
data_decl = '\n\t'
data_file += str(data_decl) + str(data_comp) + str(data_period) + str(data_clientinfo) + '\n\t\n'
- data['msg'] = 'XML Flie has been Created. Save the File with '".xml"' extension.'
- data['file_save'] = base64.encodestring(data_file)
- self.write(cursor, user, ids, {'file_save':data['file_save'], 'msg':data['msg']}, context=context)
+ data = {
+ 'msg': 'XML Flie has been Created. Save the File with '".xml"' extension.',
+ 'file_save': base64.encodestring(data_file),
+ 'name': 'vat_Intra.xml',
+ 'country_ids': [[6, 0, obj_country.search(cursor, user, [('code', 'in', ['AT', 'BG', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'GB'])])]],
+ }
+ self.write(cursor, user, ids, {'file_save':data['file_save'], 'msg':data['msg'], 'name':data['name'], 'no_vat':p_list, 'country_ids':data['country_ids']}, context=context)
return True
partner_vat_intra()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/l10n_be/wizard/l10n_be_vat_intra_view.xml b/addons/l10n_be/wizard/l10n_be_vat_intra_view.xml
index f67123aed0c..c6fd3985529 100644
--- a/addons/l10n_be/wizard/l10n_be_vat_intra_view.xml
+++ b/addons/l10n_be/wizard/l10n_be_vat_intra_view.xml
@@ -7,38 +7,40 @@
name="Belgium Statements"
parent="account.menu_finance_legal_statement"/>
-
- Partner VAT intra
- partner.vat.intra
- form
-
+
+ Partner VAT intra
+ partner.vat.intra
+ form
+
-
+
diff --git a/addons/marketing_campaign/marketing_campaign.py b/addons/marketing_campaign/marketing_campaign.py
index 1af4d4daf40..0222fef5cfa 100755
--- a/addons/marketing_campaign/marketing_campaign.py
+++ b/addons/marketing_campaign/marketing_campaign.py
@@ -48,7 +48,9 @@ class marketing_campaign(osv.osv): #{{{
('done', 'Done'),
('cancelled', 'Cancelled'),],
'State',
- readonly=True),
+ readonly=True),
+ 'activity_ids': fields.one2many('marketing.campaign.activity',
+ 'campaign_id', 'Activities'),
}
@@ -103,8 +105,11 @@ class marketing_campaign_activity(osv.osv): #{{{
'report_directory_id': fields.many2one('document.directory', 'Directory'),
'server_action_id': fields.many2one('ir.actions.server', string='Action'),
'to_ids': fields.one2many('marketing.campaign.transition',
- 'activity_from_id',
- 'Next Activities'),
+ 'activity_to_id',
+ 'Next Activities'),
+ 'from_ids': fields.one2many('marketing.campaign.transition',
+ 'activity_from_id',
+ 'Previous Activities'),
'subcampaign_id' :fields.many2one('marketing.campaign', 'Sub-Campaign'),
'subcampaign_segment_id' :fields.many2one('marketing.campaign.segment',
'Sub Campaign Segment'),
diff --git a/addons/marketing_campaign/marketing_campaign_view.xml b/addons/marketing_campaign/marketing_campaign_view.xml
index bb64d28240d..34ce4051ead 100755
--- a/addons/marketing_campaign/marketing_campaign_view.xml
+++ b/addons/marketing_campaign/marketing_campaign_view.xml
@@ -20,8 +20,10 @@
-
-
+
+
+
+
@@ -40,7 +42,8 @@
-
+
All Campaigns
diff --git a/addons/project/project.py b/addons/project/project.py
index c7a1a8ae054..6a7e9e077f4 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -259,16 +259,17 @@ class task(osv.osv):
(task.description or '')+'\n\n'
# Compute: effective_hours, total_hours, progress
- def _hours_get(self, cr, uid, ids, field_names, args, context):
+ def _hours_get(self, cr, uid, ids, field_names, args, context=None):
+ res = {}
cr.execute("SELECT task_id, COALESCE(SUM(hours),0) FROM project_task_work WHERE task_id =ANY(%s) GROUP BY task_id",(ids,))
hours = dict(cr.fetchall())
- res = {}
for task in self.browse(cr, uid, ids, context=context):
- res[task.id] = {}
- res[task.id]['effective_hours'] = hours.get(task.id, 0.0)
- res[task.id]['total_hours'] = task.remaining_hours + hours.get(task.id, 0.0)
+ res[task.id] = {'effective_hours': hours.get(task.id, 0.0), 'total_hours': task.remaining_hours + hours.get(task.id, 0.0)}
if (task.remaining_hours + hours.get(task.id, 0.0)):
- res[task.id]['progress'] = round(min(100.0 * hours.get(task.id, 0.0) / res[task.id]['total_hours'], 100),2)
+ if hours.get(task.id, 0.0) > res[task.id]['total_hours']:
+ res[task.id]['progress'] = round(100 - (max(100.0 * hours.get(task.id, 0.0) / res[task.id]['total_hours'], 100)) % 100, 2)
+ else:
+ res[task.id]['progress'] = round(min(100.0 * hours.get(task.id, 0.0) / res[task.id]['total_hours'], 100),2)
else:
res[task.id]['progress'] = 0.0
if task.state in ('done','cancel'):
@@ -549,7 +550,7 @@ class config_compute_remaining(osv.osv_memory):
return False
_columns = {
- 'remaining_hours' : fields.float('Remaining Hours', digits=(16,2), help="Total remaining time, can be re-estimated periodically by the assignee of the task."),
+ 'remaining_hours' : fields.float('Remaining Hours', digits=(16,2), help="Re-estimated Time to change the remaining hours of the task"),
}
_defaults = {
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml
index fa795c12d6a..cec9ed95c0c 100644
--- a/addons/project/project_view.xml
+++ b/addons/project/project_view.xml
@@ -204,10 +204,11 @@
config.compute.remaining
form
-
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index ea4bdce5b46..40366bc26bd 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -188,9 +188,7 @@
-
-
-
+
@@ -289,9 +287,7 @@
-
-
-
+
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py
index deff634aa68..a925aeeb7aa 100644
--- a/addons/project_long_term/project_long_term.py
+++ b/addons/project_long_term/project_long_term.py
@@ -85,8 +85,8 @@ class project_phase(osv.osv):
_columns = {
'name': fields.char("Phase Name", size=64, required=True),
- 'date_start': fields.datetime('Starting Date'),
- 'date_end': fields.datetime('End Date'),
+ 'date_start': fields.datetime('Starting Date', help="Start date of the phase"),
+ 'date_end': fields.datetime('End Date', help="End date of the phase"),
'constraint_date_start': fields.datetime('Start Date', help='force the phase to start after this date'),
'constraint_date_end': fields.datetime('End Date', help='force the phase to finish before this date'),
'project_id': fields.many2one('project.project', 'Project', required=True),
@@ -104,8 +104,8 @@ class project_phase(osv.osv):
}
_defaults = {
'responsible_id': lambda obj,cr,uid,context: uid,
- 'state': lambda *a: 'draft',
- 'sequence': lambda *a: 10,
+ 'state': 'draft',
+ 'sequence': 10,
}
_order = "name"
_constraints = [
@@ -237,7 +237,7 @@ class project_resource_allocation(osv.osv):
'useability': fields.float('Useability', help="Useability of this ressource for this project phase in percentage (=50%)"),
}
_defaults = {
- 'useability': lambda *a: 100,
+ 'useability': 100,
}
project_resource_allocation()
@@ -261,7 +261,7 @@ class task(osv.osv):
'planned_hours': fields.float('Planned Hours', required=True, help='Estimated time to do the task, usually set by the project manager when the task is in draft state.'),
}
_defaults = {
- 'occupation_rate':lambda *a: '1'
+ 'occupation_rate': '1'
}
def onchange_planned(self, cr, uid, ids, project, user_id=False, planned=0.0, effective=0.0, date_start=None, occupation_rate=0.0):
@@ -350,22 +350,22 @@ class task(osv.osv):
# Change the date_start and date_end
# for previous and next tasks respectively based on valid condition
- if vals.get('date_start', False) and vals['date_start'] < task_rec.date_start:
- dt_start = mx.DateTime.strptime(vals['date_start'], '%Y-%m-%d %H:%M:%S')
- work_times = resource_calendar_obj.interval_get(cr, uid, calendar_id, dt_start, hrs or 0.0, resource.id or False)
- if work_times:
- vals['date_end'] = work_times[-1][1].strftime('%Y-%m-%d %H:%M:%S')
- for prv_task in task_rec.parent_ids:
- self._check_date_start(cr, uid, prv_task, dt_start)
- if vals.get('date_end', False) and vals['date_end'] > task_rec.date_end:
- dt_end = mx.DateTime.strptime(vals['date_end'], '%Y-%m-%d %H:%M:%S')
- work_times = resource_calendar_obj.interval_min_get(cr, uid, calendar_id, dt_end, hrs or 0.0, resource.id or False)
- if work_times:
- vals['date_start'] = work_times[0][0].strftime('%Y-%m-%d %H:%M:%S')
- for next_task in task_rec.child_ids:
- self._check_date_end(cr, uid, next_task, dt_end)
+ if vals.get('date_start', False) and vals['date_start'] < task_rec.date_start:
+ dt_start = mx.DateTime.strptime(vals['date_start'], '%Y-%m-%d %H:%M:%S')
+ work_times = resource_calendar_obj.interval_get(cr, uid, calendar_id, dt_start, hrs or 0.0, resource.id or False)
+ if work_times:
+ vals['date_end'] = work_times[-1][1].strftime('%Y-%m-%d %H:%M:%S')
+ for prv_task in task_rec.parent_ids:
+ self._check_date_start(cr, uid, prv_task, dt_start)
+ if vals.get('date_end', False) and vals['date_end'] > task_rec.date_end:
+ dt_end = mx.DateTime.strptime(vals['date_end'], '%Y-%m-%d %H:%M:%S')
+ work_times = resource_calendar_obj.interval_min_get(cr, uid, calendar_id, dt_end, hrs or 0.0, resource.id or False)
+ if work_times:
+ vals['date_start'] = work_times[0][0].strftime('%Y-%m-%d %H:%M:%S')
+ for next_task in task_rec.child_ids:
+ self._check_date_end(cr, uid, next_task, dt_end)
return super(task, self).write(cr, uid, ids, vals, context=context)
task()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml
index ae06ebb3b71..fafc2a14aa4 100644
--- a/addons/project_long_term/project_long_term_view.xml
+++ b/addons/project_long_term/project_long_term_view.xml
@@ -204,9 +204,7 @@
-
-
-
+
@@ -225,6 +223,7 @@
project.phase
form
tree,form,calendar,gantt
+ {'search_default_responsible_id':uid}
diff --git a/addons/project_long_term/wizard/project_compute_phases.py b/addons/project_long_term/wizard/project_compute_phases.py
index ddf8ba315c0..5353db25be6 100644
--- a/addons/project_long_term/wizard/project_compute_phases.py
+++ b/addons/project_long_term/wizard/project_compute_phases.py
@@ -48,7 +48,6 @@ class project_compute_phases(osv.osv_memory):
return self.compute_date(cr, uid, ids, context=context)
def _phase_schedule(self, cr, uid, phase, start_date, calendar_id=False, context=None):
-
"""Schedule phase with the start date till all the next phases are completed.
Arguements: start_dsate -- start date for the phase
diff --git a/addons/project_long_term/wizard/project_compute_phases_view.xml b/addons/project_long_term/wizard/project_compute_phases_view.xml
index 900112ba409..4b4e01a72a9 100644
--- a/addons/project_long_term/wizard/project_compute_phases_view.xml
+++ b/addons/project_long_term/wizard/project_compute_phases_view.xml
@@ -13,6 +13,7 @@
+
diff --git a/addons/project_long_term/wizard/project_compute_tasks.py b/addons/project_long_term/wizard/project_compute_tasks.py
index 90d2b428580..b86f9d862c9 100644
--- a/addons/project_long_term/wizard/project_compute_tasks.py
+++ b/addons/project_long_term/wizard/project_compute_tasks.py
@@ -132,7 +132,7 @@ class project_compute_tasks(osv.osv_memory):
ctx.update({'scheduler': True})
user_id = user_obj.search(cr, uid, [('name', '=', t.booked_resource[0].__name__)])
task_pool.write(cr, uid, [tasks[loop_no-1].id], {'date_start': s_date.strftime('%Y-%m-%d %H:%M:%S'),
- 'date_deadline': e_date.strftime('%Y-%m-%d %H:%M:%S'),
+ 'date_end': e_date.strftime('%Y-%m-%d %H:%M:%S'),
'user_id': user_id[0]},
context=ctx)
loop_no +=1
diff --git a/addons/project_long_term/wizard/project_schedule_tasks.py b/addons/project_long_term/wizard/project_schedule_tasks.py
index 2d0071547be..8ec2d4c16e0 100644
--- a/addons/project_long_term/wizard/project_schedule_tasks.py
+++ b/addons/project_long_term/wizard/project_schedule_tasks.py
@@ -65,7 +65,7 @@ class project_schedule_task(osv.osv_memory):
{'__doc__': res.user_id.name,
'__name__': res.user_id.name,
'vacation': tuple(leaves),
- 'efficiency': resource_eff
+ 'efficiency': resource_eff,
}))
return resource_objs
@@ -149,7 +149,7 @@ class project_schedule_task(osv.osv_memory):
ctx.update({'scheduler': True})
user_id = user_obj.search(cr, uid, [('name', '=', t.booked_resource[0].__name__)])
task_obj.write(cr, uid, [tasks[loop_no-1].id], {'date_start': s_date.strftime('%Y-%m-%d %H:%M:%S'),
- 'date_deadline': e_date.strftime('%Y-%m-%d %H:%M:%S'),
+ 'date_end': e_date.strftime('%Y-%m-%d %H:%M:%S'),
'user_id': user_id[0]},
context=ctx)
loop_no +=1
diff --git a/addons/project_planning/project_planning_view.xml b/addons/project_planning/project_planning_view.xml
index 12e6f167304..6302bb7b440 100644
--- a/addons/project_planning/project_planning_view.xml
+++ b/addons/project_planning/project_planning_view.xml
@@ -111,8 +111,8 @@
-
-
+
+
diff --git a/addons/resource/resource.py b/addons/resource/resource.py
index 38ba539c912..172d7e23a44 100644
--- a/addons/resource/resource.py
+++ b/addons/resource/resource.py
@@ -30,7 +30,7 @@ class resource_calendar(osv.osv):
_description = "Resource Calendar"
_columns = {
'name' : fields.char("Name", size=64, required=True),
- 'company_id' : fields.many2one('res.company', 'Company', required=True),
+ 'company_id' : fields.many2one('res.company', 'Company', required=False),
'week_id' : fields.one2many('resource.calendar.week', 'calendar_id', 'Working Time'),
'manager' : fields.many2one('res.users', 'Workgroup manager'),
}
@@ -148,20 +148,20 @@ class resource_resource(osv.osv):
_name = "resource.resource"
_description = "Resource Detail"
_columns = {
- 'name' : fields.char("Name", size=64, required=True ),
+ 'name' : fields.char("Name", size=64, required=True),
'code': fields.char('Code', size=16),
'active' : fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the resource record without removing it."),
- 'company_id' : fields.many2one('res.company', 'Company', required=True),
+ 'company_id' : fields.many2one('res.company', 'Company'),
'resource_type': fields.selection([('user','Human'),('material','Material')], 'Resource Type', required=True),
'user_id' : fields.many2one('res.users', 'User', help='Related user name for the resource to manage its access.'),
'time_efficiency' : fields.float('Efficiency factor', size=8, required=True, help="This field depict the efficiency of the resource to complete tasks. e.g resource put alone on a phase of 5 days with 5 tasks assigned to him, will show a load of 100% for this phase by default, but if we put a efficency of 200%, then his load will only be 50%."),
'calendar_id' : fields.many2one("resource.calendar", "Working time", help="Define the schedule of resource"),
}
_defaults = {
- 'resource_type' : lambda *a: 'user',
- 'time_efficiency' : lambda *a: 1,
- 'active' : lambda *a: True,
- 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'resource.resource', c)
+ 'resource_type' : 'user',
+ 'time_efficiency' : 1,
+ 'active' : True,
+ 'company_id': lambda self, cr, uid, context: self.pool.get('res.company')._company_default_get(cr, uid, 'resource.resource', context=context)
}
def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
diff --git a/addons/resource/resource_view.xml b/addons/resource/resource_view.xml
index 4fbcdd1c284..6c6349cddae 100644
--- a/addons/resource/resource_view.xml
+++ b/addons/resource/resource_view.xml
@@ -165,7 +165,7 @@
-
+
@@ -200,12 +200,13 @@
form
-
+
-
-
-
+
+
+
+
@@ -216,7 +217,7 @@
-
+
diff --git a/addons/sale/i18n/pl.po b/addons/sale/i18n/pl.po
index 2454f253ba1..54f387c1bac 100644
--- a/addons/sale/i18n/pl.po
+++ b/addons/sale/i18n/pl.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0_rc3\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-04-12 15:59+0000\n"
-"Last-Translator: Adam Zastróżny \n"
+"PO-Revision-Date: 2010-05-17 14:08+0000\n"
+"Last-Translator: Grzegorz Grzelak (Cirrus.pl) \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-04-17 04:09+0000\n"
+"X-Launchpad-Export-Date: 2010-05-18 05:15+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: sale
@@ -634,7 +634,7 @@ msgstr "Podatki :"
#: field:sale.order,invoiced_rate:0
#: field:sale.order.line,invoiced:0
msgid "Invoiced"
-msgstr "Zafakturowana"
+msgstr "Zafakturowano"
#. module: sale
#: model:ir.actions.wizard,name:sale.advance_payment
diff --git a/addons/scrum/__openerp__.py b/addons/scrum/__openerp__.py
index 19facdbaed3..3170baca2a1 100644
--- a/addons/scrum/__openerp__.py
+++ b/addons/scrum/__openerp__.py
@@ -56,6 +56,7 @@
'scrum_view.xml',
'process/scrum_process.xml',
'wizard/scrum_backlog_sprint_view.xml',
+ 'wizard/scrum_backlog_merger_view.xml',
],
'demo_xml': ['scrum_demo.xml'],
'installable': True,
diff --git a/addons/scrum/scrum.py b/addons/scrum/scrum.py
index 7595a8a5a28..9d3d9705674 100644
--- a/addons/scrum/scrum.py
+++ b/addons/scrum/scrum.py
@@ -18,11 +18,10 @@
# along with this program. If not, see .
#
##############################################################################
-
import time
import netsvc
-from osv import fields, osv, orm
+from osv import fields, osv, orm
from mx import DateTime
import re
@@ -35,8 +34,8 @@ class scrum_project(osv.osv):
}
_defaults = {
'product_owner_id': lambda self,cr,uid,context={}: uid,
- 'sprint_size': lambda *a: 15,
- 'scrum': lambda *a: 1
+ 'sprint_size': 15,
+ 'scrum': 1
}
scrum_project()
@@ -93,25 +92,43 @@ class scrum_sprint(osv.osv):
return True
_columns = {
'name' : fields.char('Sprint Name', required=True, size=64),
+ 'active' : fields.boolean('Active', help="If Active field is set to true, it will allow you to select sprint from task list view. "),
'date_start': fields.date('Starting Date', required=True),
'date_stop': fields.date('Ending Date', required=True),
- 'project_id': fields.many2one('project.project', 'Project', required=True, domain=[('scrum','=',1)]),
+ 'project_id': fields.many2one('project.project', 'Project', required=True, domain=[('scrum','=',1)], help="If you have [?] in the project name, it means there are no analytic account linked to this project."),
'product_owner_id': fields.many2one('res.users', 'Product Owner', required=True),
'scrum_master_id': fields.many2one('res.users', 'Scrum Manager', required=True),
'meeting_ids': fields.one2many('scrum.meeting', 'sprint_id', 'Daily Scrum'),
'review': fields.text('Sprint Review'),
'retrospective': fields.text('Sprint Retrospective'),
'backlog_ids': fields.one2many('scrum.product.backlog', 'sprint_id', 'Sprint Backlog'),
- 'progress': fields.function(_calc_progress, method=True, string='Progress (0-100)'),
- 'effective_hours': fields.function(_calc_effective, method=True, string='Effective hours'),
- 'planned_hours': fields.function(_calc_planned, method=True, string='Planned Hours'),
- 'expected_hours': fields.function(_calc_expected, method=True, string='Expected Hours'),
+ 'progress': fields.function(_calc_progress, method=True, string='Progress (0-100)', help="Computed as: Time Spent / Total Time."),
+ 'effective_hours': fields.function(_calc_effective, method=True, string='Effective hours', help="Computed using the sum of the task work done."),
+ 'planned_hours': fields.function(_calc_planned, method=True, string='Planned Hours', help='Estimated time to do the task, usually set by the project manager when the task is in draft state.'),
+ 'expected_hours': fields.function(_calc_expected, method=True, string='Expected Hours', help='Estimated time to do the task.'),
'state': fields.selection([('draft','Draft'),('open','Open'),('pending','Pending'),('cancel','Cancelled'),('done','Done')], 'State', required=True),
}
_defaults = {
- 'state': lambda *a: 'draft',
- 'date_start' : lambda *a:time.strftime('%Y-%m-%d'),
+ 'state': 'draft',
+ 'date_start' : time.strftime('%Y-%m-%d'),
+ 'active': 1,
}
+
+ def copy(self, cr, uid, id, default=None, context=None):
+ """Overrides orm copy method
+ @param self: The object pointer
+ @param cr: the current row, from the database cursor,
+ @param uid: the current user’s ID for security checks,
+ @param ids: List of case’s IDs
+ @param context: A standard dictionary for contextual values
+ """
+ if context is None:
+ context = {}
+ if default is None:
+ default = {}
+ default.update({'backlog_ids': [], 'meeting_ids': []})
+ return super(scrum_sprint, self).copy(cr, uid, id, default=default, context=context)
+
def onchange_project_id(self, cr, uid, ids, project_id):
v = {}
if project_id:
@@ -178,6 +195,8 @@ class scrum_product_backlog(osv.osv):
return True
def button_close(self, cr, uid, ids, context={}):
self.write(cr, uid, ids, {'state':'done'}, context=context)
+ for backlog in self.browse(cr, uid, ids, context=context):
+ self.pool.get('project.task').write(cr, uid, [i.id for i in backlog.tasks_id], {'state': 'done'})
return True
def button_pending(self, cr, uid, ids, context={}):
self.write(cr, uid, ids, {'state':'pending'}, context=context)
@@ -186,23 +205,23 @@ class scrum_product_backlog(osv.osv):
_columns = {
'name' : fields.char('Feature', size=64, required=True),
'note' : fields.text('Note'),
- 'active' : fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the product backlog without removing it."),
- 'project_id': fields.many2one('project.project', 'Project', required=True, domain=[('scrum','=',1)]),
+ 'active' : fields.boolean('Active', help="If Active field is set to true, it will allow you to hide the product backlog without removing it."),
+ 'project_id': fields.many2one('project.project', 'Project', required=True, domain=[('scrum','=',1)], help="If you have [?] in the project name, it means there are no analytic account linked to this project."),
'user_id': fields.many2one('res.users', 'Responsible'),
'sprint_id': fields.many2one('scrum.sprint', 'Sprint'),
'sequence' : fields.integer('Sequence', help="Gives the sequence order when displaying a list of product backlog."),
'tasks_id': fields.one2many('project.task', 'product_backlog_id', 'Tasks Details'),
'state': fields.selection([('draft','Draft'),('open','Open'),('pending','Pending'),('done','Done'),('cancel','Cancelled')], 'State', required=True),
- 'progress': fields.function(_calc_progress, method=True, string='Progress'),
- 'effective_hours': fields.function(_calc_effective, method=True, string='Effective hours'),
- 'planned_hours': fields.function(_calc_planned, method=True, string='Planned Hours'),
- 'expected_hours': fields.float('Expected Hours'),
+ 'progress': fields.function(_calc_progress, method=True, string='Progress', help="Computed as: Time Spent / Total Time."),
+ 'effective_hours': fields.function(_calc_effective, method=True, string='Effective hours', help="Computed using the sum of the task work done (Time spent on tasks)"),
+ 'planned_hours': fields.function(_calc_planned, method=True, string='Planned Hours', help='Estimated time to do the task, usually set by the project manager when the task is in draft state.'),
+ 'expected_hours': fields.float('Expected Hours', help='Estimated total time to do the Backlog'),
'date':fields.datetime("Created Date"),
}
_defaults = {
- 'state': lambda *a: 'draft',
- 'active': lambda *a: 1,
- 'user_id': lambda self,cr,uid,context: uid,
+ 'state': 'draft',
+ 'active': 1,
+ 'user_id': lambda self, cr, uid, context: uid,
}
_order = "sequence"
scrum_product_backlog()
@@ -234,8 +253,9 @@ scrum_task()
class scrum_meeting(osv.osv):
_name = 'scrum.meeting'
_description = 'Scrum Meeting'
+ _order = 'date desc'
_columns = {
- 'name' : fields.char('Meeting Name', size=64, required=True),
+ 'name' : fields.char('Meeting Name', size=64),
'date': fields.date('Meeting Date', required=True),
'sprint_id': fields.many2one('scrum.sprint', 'Sprint', required=True),
'project_id': fields.many2one('project.project', 'Project'),
@@ -249,7 +269,7 @@ class scrum_meeting(osv.osv):
# TODO: Find the right sprint thanks to users and date
#
_defaults = {
- 'date' : lambda *a:time.strftime('%Y-%m-%d'),
+ 'date' : time.strftime('%Y-%m-%d'),
}
scrum_meeting()
diff --git a/addons/scrum/scrum_view.xml b/addons/scrum/scrum_view.xml
index 9ea4c8592a9..172d4b7605b 100644
--- a/addons/scrum/scrum_view.xml
+++ b/addons/scrum/scrum_view.xml
@@ -67,20 +67,53 @@
-
-
+
+
-
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -189,8 +222,11 @@
form
-
-
+
+
+
+
+
@@ -288,7 +324,6 @@
-
@@ -300,17 +335,16 @@
-
-
+
-
+
-
+
-
+
@@ -333,10 +367,9 @@
-
+
-
-
+
@@ -356,6 +389,7 @@
scrum.meeting
form
tree,form
+ {'search_default_scrum_daily':1}
Assign Sprint