[IMP] account_easy_reconcile: add tests

[IMP] add translations
[FIX] add decorator multi
This commit is contained in:
Damien Crier
2015-07-03 15:54:15 +02:00
committed by mpanarin
parent b9ab2f74b6
commit a780bf124c
8 changed files with 1196 additions and 10 deletions

View File

@@ -292,15 +292,16 @@ class AccountEasyReconcile(models.Model):
return True
@api.model
def _no_history(self, rec):
# @api.model
# def _no_history(self, rec):
def _no_history(self):
""" Raise an `orm.except_orm` error, supposed to
be called when there is no history on the reconciliation
task.
"""
raise Warning(
_('There is no history of reconciled '
'items on the task: %s.') % rec.name
'items on the task: %s.') % self.name
)
@api.model

View File

@@ -40,11 +40,11 @@ class EasyReconcileHistory(models.Model):
move_line_ids.extend(move_lines.ids)
self.reconcile_line_ids = move_line_ids
move_line_ids = []
for reconcile in self.reconcile_partial_ids:
move_lines = reconcile.mapped('line_partial_ids')
move_line_ids.extend(move_lines.ids)
self.partial_line_ids = move_line_ids
move_line_ids2 = []
for reconcile2 in self.reconcile_partial_ids:
move_lines2 = reconcile2.mapped('line_partial_ids')
move_line_ids2.extend(move_lines2.ids)
self.partial_line_ids = move_line_ids2
easy_reconcile_id = fields.Many2one(
'account.easy.reconcile',
@@ -68,14 +68,12 @@ class EasyReconcileHistory(models.Model):
comodel_name='account.move.line',
relation='account_move_line_history_rel',
string='Reconciled Items',
multi='lines',
_compute='_reconcile_line_ids'
)
partial_line_ids = fields.Many2many(
comodel_name='account.move.line',
relation='account_move_line_history_partial_rel',
string='Partially Reconciled Items',
multi='lines',
_compute='_reconcile_line_ids'
)
company_id = fields.Many2one(
@@ -86,6 +84,7 @@ class EasyReconcileHistory(models.Model):
related='easy_reconcile_id.company_id'
)
@api.multi
def _open_move_lines(self, rec_type='full'):
""" For an history record, open the view of move line with
the reconciled or partially reconciled move lines

View File

@@ -0,0 +1,434 @@
# Spanish translation for banking-addons
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
# This file is distributed under the same license as the banking-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
#
msgid ""
msgstr ""
"Project-Id-Version: banking-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2014-01-21 11:55+0000\n"
"PO-Revision-Date: 2014-06-05 22:21+0000\n"
"Last-Translator: Pedro Manuel Baeza <pedro.baeza@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-06-06 06:36+0000\n"
"X-Generator: Launchpad (build 17031)\n"
#. module: account_easy_reconcile
#: code:addons/account_easy_reconcile/easy_reconcile_history.py:101
#: field:easy.reconcile.history,reconcile_ids:0
#, python-format
msgid "Reconciliations"
msgstr "Conciliaciones"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
#: view:easy.reconcile.history:0
msgid "Automatic Easy Reconcile History"
msgstr "Historial de conciliación automática sencilla"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Information"
msgstr "Información"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
#: view:easy.reconcile.history:0
msgid "Go to partially reconciled items"
msgstr "Ir a los elementos parcialmente conciliados"
#. module: account_easy_reconcile
#: help:account.easy.reconcile.method,sequence:0
msgid "The sequence field is used to order the reconcile method"
msgstr ""
"El campo de secuencia se usa para ordenar los métodos de conciliación"
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_easy_reconcile_history
msgid "easy.reconcile.history"
msgstr "easy.reconcile.history"
#. module: account_easy_reconcile
#: model:ir.actions.act_window,help:account_easy_reconcile.action_account_easy_reconcile
msgid ""
"<p class=\"oe_view_nocontent_create\">\n"
" Click to add a reconciliation profile.\n"
" </p><p>\n"
" A reconciliation profile specifies, for one account, how\n"
" the entries should be reconciled.\n"
" You can select one or many reconciliation methods which will\n"
" be run sequentially to match the entries between them.\n"
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
"Pulse para añadir un pefil de conciliación.\n"
"</p><p>\n"
"Un perfil de conciliación especifica, para una cuenta, como\n"
"los apuntes deben ser conciliados.\n"
"Puede seleccionar uno o varios métodos de conciliación que\n"
"serán ejecutados secuencialmente para casar los apuntes\n"
"entre ellos.\n"
"</p>\n"
" "
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_easy_reconcile_options
msgid "easy.reconcile.options"
msgstr "easy.reconcile.options"
#. module: account_easy_reconcile
#: view:easy.reconcile.history:0
msgid "Group By..."
msgstr "Agrupar por..."
#. module: account_easy_reconcile
#: field:account.easy.reconcile,unreconciled_count:0
msgid "Unreconciled Items"
msgstr "Apuntes no conciliados"
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_easy_reconcile_base
msgid "easy.reconcile.base"
msgstr "easy.reconcile.base"
#. module: account_easy_reconcile
#: field:easy.reconcile.history,reconcile_line_ids:0
msgid "Reconciled Items"
msgstr "Elementos conciliados"
#. module: account_easy_reconcile
#: field:account.easy.reconcile,reconcile_method:0
msgid "Method"
msgstr "Método"
#. module: account_easy_reconcile
#: view:easy.reconcile.history:0
msgid "7 Days"
msgstr "7 días"
#. module: account_easy_reconcile
#: model:ir.actions.act_window,name:account_easy_reconcile.action_easy_reconcile_history
msgid "Easy Automatic Reconcile History"
msgstr "Historial de la conciliación automática sencilla"
#. module: account_easy_reconcile
#: field:easy.reconcile.history,date:0
msgid "Run date"
msgstr "Fecha ejecucción"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid ""
"Match one debit line vs one credit line. Do not allow partial "
"reconciliation. The lines should have the same amount (with the write-off) "
"and the same reference to be reconciled."
msgstr ""
"Casa una línea del debe con una línea del haber. No permite conciliación "
"parcial. Las líneas deben tener el mismo importe (con el desajuste) y la "
"misma referencia para ser conciliadas."
#. module: account_easy_reconcile
#: model:ir.actions.act_window,name:account_easy_reconcile.act_easy_reconcile_to_history
msgid "History Details"
msgstr "Detalles del historial"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Display items reconciled on the last run"
msgstr "Mostrar elementos conciliados en la última ejecucción"
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,name:0
msgid "Type"
msgstr "Tipo"
#. module: account_easy_reconcile
#: field:account.easy.reconcile,company_id:0
#: field:account.easy.reconcile.method,company_id:0
#: field:easy.reconcile.history,company_id:0
msgid "Company"
msgstr "Compañía"
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,account_profit_id:0
#: field:easy.reconcile.base,account_profit_id:0
#: field:easy.reconcile.options,account_profit_id:0
#: field:easy.reconcile.simple,account_profit_id:0
#: field:easy.reconcile.simple.name,account_profit_id:0
#: field:easy.reconcile.simple.partner,account_profit_id:0
#: field:easy.reconcile.simple.reference,account_profit_id:0
msgid "Account Profit"
msgstr "Cuenta de ganancias"
#. module: account_easy_reconcile
#: view:easy.reconcile.history:0
msgid "Todays' Reconcilations"
msgstr "Conciliaciones de hoy"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Simple. Amount and Name"
msgstr "Simple. Cantidad y nombre"
#. module: account_easy_reconcile
#: field:easy.reconcile.base,partner_ids:0
#: field:easy.reconcile.simple,partner_ids:0
#: field:easy.reconcile.simple.name,partner_ids:0
#: field:easy.reconcile.simple.partner,partner_ids:0
#: field:easy.reconcile.simple.reference,partner_ids:0
msgid "Restrict on partners"
msgstr "Restringir en las empresas"
#. module: account_easy_reconcile
#: model:ir.actions.act_window,name:account_easy_reconcile.action_account_easy_reconcile
#: model:ir.ui.menu,name:account_easy_reconcile.menu_easy_reconcile
msgid "Easy Automatic Reconcile"
msgstr "Conciliación automática simple"
#. module: account_easy_reconcile
#: view:easy.reconcile.history:0
msgid "Today"
msgstr "Hoy"
#. module: account_easy_reconcile
#: view:easy.reconcile.history:0
msgid "Date"
msgstr "Fecha"
#. module: account_easy_reconcile
#: field:account.easy.reconcile,last_history:0
msgid "Last History"
msgstr "Último historial"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Configuration"
msgstr "Configuración"
#. module: account_easy_reconcile
#: field:easy.reconcile.history,partial_line_ids:0
msgid "Partially Reconciled Items"
msgstr "Elementos parcialmente conciliados"
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_easy_reconcile_simple_partner
msgid "easy.reconcile.simple.partner"
msgstr "easy.reconcile.simple.partner"
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,write_off:0
#: field:easy.reconcile.base,write_off:0
#: field:easy.reconcile.options,write_off:0
#: field:easy.reconcile.simple,write_off:0
#: field:easy.reconcile.simple.name,write_off:0
#: field:easy.reconcile.simple.partner,write_off:0
#: field:easy.reconcile.simple.reference,write_off:0
msgid "Write off allowed"
msgstr "Desajuste permitido"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Automatic Easy Reconcile"
msgstr "Conciliación automática sencilla"
#. module: account_easy_reconcile
#: field:account.easy.reconcile,account:0
#: field:easy.reconcile.base,account_id:0
#: field:easy.reconcile.simple,account_id:0
#: field:easy.reconcile.simple.name,account_id:0
#: field:easy.reconcile.simple.partner,account_id:0
#: field:easy.reconcile.simple.reference,account_id:0
msgid "Account"
msgstr "Cuenta"
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,task_id:0
msgid "Task"
msgstr "Tarea"
#. module: account_easy_reconcile
#: field:account.easy.reconcile,name:0
msgid "Name"
msgstr "Nombre"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Simple. Amount and Partner"
msgstr "Simple. Cantidad y empresa"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Start Auto Reconcilation"
msgstr "Iniciar conciliación automática"
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_easy_reconcile_simple_name
msgid "easy.reconcile.simple.name"
msgstr "easy.reconcile.simple.name"
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,filter:0
#: field:easy.reconcile.base,filter:0
#: field:easy.reconcile.options,filter:0
#: field:easy.reconcile.simple,filter:0
#: field:easy.reconcile.simple.name,filter:0
#: field:easy.reconcile.simple.partner,filter:0
#: field:easy.reconcile.simple.reference,filter:0
msgid "Filter"
msgstr "Filtro"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid ""
"Match one debit line vs one credit line. Do not allow partial "
"reconciliation. The lines should have the same amount (with the write-off) "
"and the same partner to be reconciled."
msgstr ""
"Casa una línea del debe con una línea del haber. No permite conciliación "
"parcial. Las líneas deben tener el mismo importe (con el desajuste) y la "
"misma empresa para ser conciliadas."
#. module: account_easy_reconcile
#: field:easy.reconcile.history,easy_reconcile_id:0
msgid "Reconcile Profile"
msgstr "Perfil de conciliación"
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_account_easy_reconcile_method
msgid "reconcile method for account_easy_reconcile"
msgstr "Método de conciliación para account_easy_reconcile"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Start Auto Reconciliation"
msgstr "Iniciar auto-conciliación"
#. module: account_easy_reconcile
#: code:addons/account_easy_reconcile/easy_reconcile.py:233
#, python-format
msgid "Error"
msgstr "Error"
#. module: account_easy_reconcile
#: code:addons/account_easy_reconcile/easy_reconcile.py:258
#, python-format
msgid "There is no history of reconciled items on the task: %s."
msgstr "No hay histórico de elementos conciliados en la tarea: %s"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid ""
"Match one debit line vs one credit line. Do not allow partial "
"reconciliation. The lines should have the same amount (with the write-off) "
"and the same name to be reconciled."
msgstr ""
"Casa una línea del debe con una línea del haber. No permite conciliación "
"parcial. Las líneas deben tener el mismo importe (con el desajuste) y el "
"mismo nombre para ser conciliadas."
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,account_lost_id:0
#: field:easy.reconcile.base,account_lost_id:0
#: field:easy.reconcile.options,account_lost_id:0
#: field:easy.reconcile.simple,account_lost_id:0
#: field:easy.reconcile.simple.name,account_lost_id:0
#: field:easy.reconcile.simple.partner,account_lost_id:0
#: field:easy.reconcile.simple.reference,account_lost_id:0
msgid "Account Lost"
msgstr "Cuenta de pérdidas"
#. module: account_easy_reconcile
#: view:easy.reconcile.history:0
msgid "Reconciliation Profile"
msgstr "Perfil de conciliación"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
#: field:account.easy.reconcile,history_ids:0
msgid "History"
msgstr "Historial"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
#: view:easy.reconcile.history:0
msgid "Go to reconciled items"
msgstr "Ir a los elementos conciliados"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Profile Information"
msgstr "Información del perfil"
#. module: account_easy_reconcile
#: view:account.easy.reconcile.method:0
msgid "Automatic Easy Reconcile Method"
msgstr "Método de conciliación automática sencilla"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Simple. Amount and Reference"
msgstr "Simple. Cantidad y referencia"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Display items partially reconciled on the last run"
msgstr "Mostrar elementos conciliados parcialmente en la última ejecucción"
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,sequence:0
msgid "Sequence"
msgstr "Secuencia"
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_easy_reconcile_simple
msgid "easy.reconcile.simple"
msgstr "easy.reconcile.simple"
#. module: account_easy_reconcile
#: view:easy.reconcile.history:0
msgid "Reconciliations of last 7 days"
msgstr "Conciliaciones de los últimos 7 días"
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,date_base_on:0
#: field:easy.reconcile.base,date_base_on:0
#: field:easy.reconcile.options,date_base_on:0
#: field:easy.reconcile.simple,date_base_on:0
#: field:easy.reconcile.simple.name,date_base_on:0
#: field:easy.reconcile.simple.partner,date_base_on:0
#: field:easy.reconcile.simple.reference,date_base_on:0
msgid "Date of reconciliation"
msgstr "Fecha de conciliación"
#. module: account_easy_reconcile
#: code:addons/account_easy_reconcile/easy_reconcile_history.py:104
#: field:easy.reconcile.history,reconcile_partial_ids:0
#, python-format
msgid "Partial Reconciliations"
msgstr "Conciliaciones parciales"
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,journal_id:0
#: field:easy.reconcile.base,journal_id:0
#: field:easy.reconcile.options,journal_id:0
#: field:easy.reconcile.simple,journal_id:0
#: field:easy.reconcile.simple.name,journal_id:0
#: field:easy.reconcile.simple.partner,journal_id:0
#: field:easy.reconcile.simple.reference,journal_id:0
msgid "Journal"
msgstr "Diario"
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_easy_reconcile_simple_reference
msgid "easy.reconcile.simple.reference"
msgstr "easy.reconcile.simple.reference"
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_account_easy_reconcile
msgid "account easy reconcile"
msgstr "account easy reconcile"

View File

@@ -0,0 +1,451 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * account_easy_reconcile
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 6.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-01-21 11:55+0000\n"
"PO-Revision-Date: 2014-03-21 15:25+0000\n"
"Last-Translator: Guewen Baconnier @ Camptocamp <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-05-22 06:49+0000\n"
"X-Generator: Launchpad (build 17017)\n"
"Language: \n"
#. module: account_easy_reconcile
#: code:addons/account_easy_reconcile/easy_reconcile_history.py:101
#: field:easy.reconcile.history,reconcile_ids:0
#, python-format
msgid "Reconciliations"
msgstr "Lettrages"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
#: view:easy.reconcile.history:0
msgid "Automatic Easy Reconcile History"
msgstr "Historique des lettrages automatisés"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Information"
msgstr "Information"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
#: view:easy.reconcile.history:0
msgid "Go to partially reconciled items"
msgstr "Voir les entrées partiellement lettrées"
#. module: account_easy_reconcile
#: help:account.easy.reconcile.method,sequence:0
msgid "The sequence field is used to order the reconcile method"
msgstr "La séquence détermine l'ordre des méthodes de lettrage"
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_easy_reconcile_history
msgid "easy.reconcile.history"
msgstr "easy.reconcile.history"
#. module: account_easy_reconcile
#: model:ir.actions.act_window,help:account_easy_reconcile.action_account_easy_reconcile
msgid ""
"<p class=\"oe_view_nocontent_create\">\n"
" Click to add a reconciliation profile.\n"
" </p><p>\n"
" A reconciliation profile specifies, for one account, how\n"
" the entries should be reconciled.\n"
" You can select one or many reconciliation methods which will\n"
" be run sequentially to match the entries between them.\n"
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
" Cliquez pour ajouter un profil de lettrage.\n"
" </p><p>\n"
" Un profil de lettrage spécifie, pour un compte, comment\n"
" les écritures doivent être lettrées.\n"
" Vous pouvez sélectionner une ou plusieurs méthodes de lettrage\n"
" qui seront lancées successivement pour identifier les écritures\n"
" devant être lettrées. </p>\n"
" "
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_easy_reconcile_options
msgid "easy.reconcile.options"
msgstr "lettrage automatisé.options"
#. module: account_easy_reconcile
#: view:easy.reconcile.history:0
msgid "Group By..."
msgstr "Grouper par..."
#. module: account_easy_reconcile
#: field:account.easy.reconcile,unreconciled_count:0
msgid "Unreconciled Items"
msgstr "Écritures non lettrées"
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_easy_reconcile_base
msgid "easy.reconcile.base"
msgstr "easy.reconcile.base"
#. module: account_easy_reconcile
#: field:easy.reconcile.history,reconcile_line_ids:0
msgid "Reconciled Items"
msgstr "Écritures lettrées"
#. module: account_easy_reconcile
#: field:account.easy.reconcile,reconcile_method:0
msgid "Method"
msgstr "Méthode"
#. module: account_easy_reconcile
#: view:easy.reconcile.history:0
msgid "7 Days"
msgstr "7 jours"
#. module: account_easy_reconcile
#: model:ir.actions.act_window,name:account_easy_reconcile.action_easy_reconcile_history
msgid "Easy Automatic Reconcile History"
msgstr "Lettrage automatisé"
#. module: account_easy_reconcile
#: field:easy.reconcile.history,date:0
msgid "Run date"
msgstr "Date de lancement"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid ""
"Match one debit line vs one credit line. Do not allow partial "
"reconciliation. The lines should have the same amount (with the write-off) "
"and the same reference to be reconciled."
msgstr ""
"Lettre un débit avec un crédit ayant le même montant et la même référence. "
"Le lettrage ne peut être partiel (écriture d'ajustement en cas d'écart)."
#. module: account_easy_reconcile
#: model:ir.actions.act_window,name:account_easy_reconcile.act_easy_reconcile_to_history
msgid "History Details"
msgstr "Détails de l'historique"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Display items reconciled on the last run"
msgstr "Voir les entrées lettrées au dernier lettrage"
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,name:0
msgid "Type"
msgstr "Type"
#. module: account_easy_reconcile
#: field:account.easy.reconcile,company_id:0
#: field:account.easy.reconcile.method,company_id:0
#: field:easy.reconcile.history,company_id:0
msgid "Company"
msgstr ""
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,account_profit_id:0
#: field:easy.reconcile.base,account_profit_id:0
#: field:easy.reconcile.options,account_profit_id:0
#: field:easy.reconcile.simple,account_profit_id:0
#: field:easy.reconcile.simple.name,account_profit_id:0
#: field:easy.reconcile.simple.partner,account_profit_id:0
#: field:easy.reconcile.simple.reference,account_profit_id:0
msgid "Account Profit"
msgstr "Compte de profits"
#. module: account_easy_reconcile
#: view:easy.reconcile.history:0
msgid "Todays' Reconcilations"
msgstr "Lettrages du jour"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Simple. Amount and Name"
msgstr "Simple. Montant et description"
#. module: account_easy_reconcile
#: field:easy.reconcile.base,partner_ids:0
#: field:easy.reconcile.simple,partner_ids:0
#: field:easy.reconcile.simple.name,partner_ids:0
#: field:easy.reconcile.simple.partner,partner_ids:0
#: field:easy.reconcile.simple.reference,partner_ids:0
msgid "Restrict on partners"
msgstr "Filtrer sur des partenaires"
#. module: account_easy_reconcile
#: model:ir.actions.act_window,name:account_easy_reconcile.action_account_easy_reconcile
#: model:ir.ui.menu,name:account_easy_reconcile.menu_easy_reconcile
msgid "Easy Automatic Reconcile"
msgstr "Lettrage automatisé"
#. module: account_easy_reconcile
#: view:easy.reconcile.history:0
msgid "Today"
msgstr "Aujourd'hui"
#. module: account_easy_reconcile
#: view:easy.reconcile.history:0
msgid "Date"
msgstr "Date"
#. module: account_easy_reconcile
#: field:account.easy.reconcile,last_history:0
msgid "Last History"
msgstr "Dernier historique"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Configuration"
msgstr "Configuration"
#. module: account_easy_reconcile
#: field:easy.reconcile.history,partial_line_ids:0
msgid "Partially Reconciled Items"
msgstr "Écritures partiellement lettrées"
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_easy_reconcile_simple_partner
msgid "easy.reconcile.simple.partner"
msgstr "easy.reconcile.simple.partner"
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,write_off:0
#: field:easy.reconcile.base,write_off:0
#: field:easy.reconcile.options,write_off:0
#: field:easy.reconcile.simple,write_off:0
#: field:easy.reconcile.simple.name,write_off:0
#: field:easy.reconcile.simple.partner,write_off:0
#: field:easy.reconcile.simple.reference,write_off:0
msgid "Write off allowed"
msgstr "Écart autorisé"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Automatic Easy Reconcile"
msgstr "Lettrage automatisé"
#. module: account_easy_reconcile
#: field:account.easy.reconcile,account:0
#: field:easy.reconcile.base,account_id:0
#: field:easy.reconcile.simple,account_id:0
#: field:easy.reconcile.simple.name,account_id:0
#: field:easy.reconcile.simple.partner,account_id:0
#: field:easy.reconcile.simple.reference,account_id:0
msgid "Account"
msgstr "Compte"
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,task_id:0
msgid "Task"
msgstr "Tâche"
#. module: account_easy_reconcile
#: field:account.easy.reconcile,name:0
msgid "Name"
msgstr "Nom"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Simple. Amount and Partner"
msgstr "Simple. Montant et partenaire"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Start Auto Reconcilation"
msgstr "Lancer le lettrage automatisé"
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_easy_reconcile_simple_name
msgid "easy.reconcile.simple.name"
msgstr "easy.reconcile.simple.name"
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,filter:0
#: field:easy.reconcile.base,filter:0
#: field:easy.reconcile.options,filter:0
#: field:easy.reconcile.simple,filter:0
#: field:easy.reconcile.simple.name,filter:0
#: field:easy.reconcile.simple.partner,filter:0
#: field:easy.reconcile.simple.reference,filter:0
msgid "Filter"
msgstr "Filtre"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid ""
"Match one debit line vs one credit line. Do not allow partial "
"reconciliation. The lines should have the same amount (with the write-off) "
"and the same partner to be reconciled."
msgstr ""
"Lettre un débit avec un crédit ayant le même montant et le même partenaire. "
"Le lettrage ne peut être partiel (écriture d'ajustement en cas d'écart)."
#. module: account_easy_reconcile
#: field:easy.reconcile.history,easy_reconcile_id:0
msgid "Reconcile Profile"
msgstr "Profil de réconciliation"
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_account_easy_reconcile_method
msgid "reconcile method for account_easy_reconcile"
msgstr "Méthode de lettrage"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Start Auto Reconciliation"
msgstr "Lancer le lettrage automatisé"
#. module: account_easy_reconcile
#: code:addons/account_easy_reconcile/easy_reconcile.py:233
#, python-format
msgid "Error"
msgstr "Erreur"
#. module: account_easy_reconcile
#: code:addons/account_easy_reconcile/easy_reconcile.py:258
#, python-format
msgid "There is no history of reconciled items on the task: %s."
msgstr "Il n'y a pas d'historique d'écritures lettrées sur la tâche: %s."
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid ""
"Match one debit line vs one credit line. Do not allow partial "
"reconciliation. The lines should have the same amount (with the write-off) "
"and the same name to be reconciled."
msgstr ""
"Lettre un débit avec un crédit ayant le même montant et la même description. "
"Le lettrage ne peut être partiel (écriture d'ajustement en cas d'écart)."
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,account_lost_id:0
#: field:easy.reconcile.base,account_lost_id:0
#: field:easy.reconcile.options,account_lost_id:0
#: field:easy.reconcile.simple,account_lost_id:0
#: field:easy.reconcile.simple.name,account_lost_id:0
#: field:easy.reconcile.simple.partner,account_lost_id:0
#: field:easy.reconcile.simple.reference,account_lost_id:0
msgid "Account Lost"
msgstr "Compte de pertes"
#. module: account_easy_reconcile
#: view:easy.reconcile.history:0
msgid "Reconciliation Profile"
msgstr "Profil de réconciliation"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
#: field:account.easy.reconcile,history_ids:0
msgid "History"
msgstr "Historique"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
#: view:easy.reconcile.history:0
msgid "Go to reconciled items"
msgstr "Voir les entrées lettrées"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Profile Information"
msgstr "Information sur le profil"
#. module: account_easy_reconcile
#: view:account.easy.reconcile.method:0
msgid "Automatic Easy Reconcile Method"
msgstr "Méthode de lettrage automatisé"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Simple. Amount and Reference"
msgstr "Simple. Montant et référence"
#. module: account_easy_reconcile
#: view:account.easy.reconcile:0
msgid "Display items partially reconciled on the last run"
msgstr "Afficher les entrées partiellement lettrées au dernier lettrage"
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,sequence:0
msgid "Sequence"
msgstr "Séquence"
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_easy_reconcile_simple
msgid "easy.reconcile.simple"
msgstr "easy.reconcile.simple"
#. module: account_easy_reconcile
#: view:easy.reconcile.history:0
msgid "Reconciliations of last 7 days"
msgstr "Lettrages des 7 derniers jours"
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,date_base_on:0
#: field:easy.reconcile.base,date_base_on:0
#: field:easy.reconcile.options,date_base_on:0
#: field:easy.reconcile.simple,date_base_on:0
#: field:easy.reconcile.simple.name,date_base_on:0
#: field:easy.reconcile.simple.partner,date_base_on:0
#: field:easy.reconcile.simple.reference,date_base_on:0
msgid "Date of reconciliation"
msgstr "Date de lettrage"
#. module: account_easy_reconcile
#: code:addons/account_easy_reconcile/easy_reconcile_history.py:104
#: field:easy.reconcile.history,reconcile_partial_ids:0
#, python-format
msgid "Partial Reconciliations"
msgstr "Lettrages partiels"
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,journal_id:0
#: field:easy.reconcile.base,journal_id:0
#: field:easy.reconcile.options,journal_id:0
#: field:easy.reconcile.simple,journal_id:0
#: field:easy.reconcile.simple.name,journal_id:0
#: field:easy.reconcile.simple.partner,journal_id:0
#: field:easy.reconcile.simple.reference,journal_id:0
msgid "Journal"
msgstr "Journal"
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_easy_reconcile_simple_reference
msgid "easy.reconcile.simple.reference"
msgstr "easy.reconcile.simple.reference"
#. module: account_easy_reconcile
#: model:ir.model,name:account_easy_reconcile.model_account_easy_reconcile
msgid "account easy reconcile"
msgstr "Lettrage automatisé"
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,expense_exchange_account_id:0
#: field:easy.reconcile.base,expense_exchange_account_id:0
#: field:easy.reconcile.options,expense_exchange_account_id:0
#: field:easy.reconcile.simple,expense_exchange_account_id:0
#: field:easy.reconcile.simple.name,expense_exchange_account_id:0
#: field:easy.reconcile.simple.partner,expense_exchange_account_id:0
#: field:easy.reconcile.simple.reference,expense_exchange_account_id:0
msgid "Loss Exchange Rate Account"
msgstr "Compte de perte de change"
#. module: account_easy_reconcile
#: field:account.easy.reconcile.method,income_exchange_account_id:0
#: field:easy.reconcile.base,income_exchange_account_id:0
#: field:easy.reconcile.options,income_exchange_account_id:0
#: field:easy.reconcile.simple,income_exchange_account_id:0
#: field:easy.reconcile.simple.name,income_exchange_account_id:0
#: field:easy.reconcile.simple.partner,income_exchange_account_id:0
#: field:easy.reconcile.simple.reference,income_exchange_account_id:0
msgid "Gain Exchange Rate Account"
msgstr "Compte de gain de change"

View File

@@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Author: Damien Crier
# Copyright 2015 Camptocamp SA
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import test_onchange_company
from . import test_reconcile_history
from . import test_reconcile

View File

@@ -0,0 +1,63 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Author: Damien Crier
# Copyright 2015 Camptocamp SA
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.tests import common
class testOnChange(common.TransactionCase):
def setUp(self):
super(testOnChange, self).setUp()
self.acc_setting_obj = self.registry('account.config.settings')
self.company_obj = self.registry('res.company')
# analytic defaults account creation
self.main_company = self.ref('base.main_company')
self.sec_company = self.company_obj.create(
self.cr,
self.uid,
{
'name': 'Second company',
'reconciliation_commit_every': 80,
}
)
def test_retrieve_analytic_account(self):
sec_company_commit = self.company_obj.browse(
self.cr,
self.uid,
self.sec_company).reconciliation_commit_every
main_company_commit = self.company_obj.browse(
self.cr,
self.uid,
self.main_company).reconciliation_commit_every
res1 = self.acc_setting_obj.onchange_company_id(
self.cr, self.uid, [], self.sec_company)
self.assertEqual(sec_company_commit, res1.get(
'value', {}).get('reconciliation_commit_every', False))
res2 = self.acc_setting_obj.onchange_company_id(
self.cr, self.uid, [], self.main_company)
self.assertEqual(main_company_commit, res2.get(
'value', {}).get('reconciliation_commit_every', False))
# self.assertEqual(self.ref('account.analytic_agrolait'), res2.get(
# 'value', {}).get('reconciliation_commit_every', False))

View File

@@ -0,0 +1,136 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Author: Damien Crier
# Copyright 2015 Camptocamp SA
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.tests import common
from openerp import fields, exceptions
class testReconcile(common.TransactionCase):
def setUp(self):
super(testReconcile, self).setUp()
self.rec_history_obj = self.registry('easy.reconcile.history')
self.easy_rec_obj = self.registry('account.easy.reconcile')
self.easy_rec_method_obj = (
self.registry('account.easy.reconcile.method')
)
self.easy_rec = self.easy_rec_obj.create(
self.cr,
self.uid,
{
'name': 'AER2',
'account': self.ref('account.a_salary_expense'),
}
)
self.easy_rec_method = self.easy_rec_method_obj.create(
self.cr,
self.uid,
{
'name': 'easy.reconcile.simple.name',
'sequence': '10',
'task_id': self.easy_rec,
}
)
self.easy_rec_no_history = self.easy_rec_obj.create(
self.cr,
self.uid,
{
'name': 'AER3',
'account': self.ref('account.a_salary_expense'),
}
)
self.rec_history = self.rec_history_obj.create(
self.cr,
self.uid,
{
'easy_reconcile_id': self.easy_rec,
'date': fields.Datetime.now(),
}
)
def test_last_history(self):
easy_rec_last_hist = self.easy_rec_obj.browse(
self.cr,
self.uid,
self.easy_rec
).last_history.id
self.assertEqual(self.rec_history, easy_rec_last_hist)
def test_last_history_empty(self):
easy_rec_last_hist = self.easy_rec_obj.browse(
self.cr,
self.uid,
self.easy_rec_no_history
).last_history.id
self.assertEqual(False, easy_rec_last_hist)
def test_last_history_full_no_history(self):
with self.assertRaises(exceptions.Warning):
self.easy_rec_obj.last_history_reconcile(
self.cr, self.uid, [self.easy_rec_no_history])
def test_last_history_partial_no_history(self):
with self.assertRaises(exceptions.Warning):
self.easy_rec_obj.last_history_partial(
self.cr, self.uid, [self.easy_rec_no_history])
def test_open_unreconcile(self):
res = self.easy_rec_obj.open_unreconcile(
self.cr,
self.uid,
[self.easy_rec]
)
self.assertEqual(unicode([('id', 'in', [])]), res.get('domain', []))
def test_open_partial_reconcile(self):
res = self.easy_rec_obj.open_partial_reconcile(
self.cr,
self.uid,
[self.easy_rec]
)
self.assertEqual(unicode([('id', 'in', [])]), res.get('domain', []))
def test_prepare_run_transient(self):
res = self.easy_rec_obj._prepare_run_transient(
self.cr,
self.uid,
self.easy_rec_method_obj.browse(
self.cr,
self.uid,
self.easy_rec_method
)
)
self.assertEqual(self.ref('account.a_salary_expense'),
res.get('account_id', 0))
class testReconcileNoEasyReconcileAvailable(common.TransactionCase):
def setUp(self):
super(testReconcileNoEasyReconcileAvailable, self).setUp()
self.rec_history_obj = self.registry('easy.reconcile.history')
self.easy_rec_obj = self.registry('account.easy.reconcile')
# def test_run_scheduler(self):
# with self.assertRaises(AssertionError):
# self.easy_rec_obj.run_scheduler(
# self.cr, self.uid)

View File

@@ -0,0 +1,78 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Author: Damien Crier
# Copyright 2015 Camptocamp SA
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.tests import common
from openerp import fields
class testReconcileHistory(common.TransactionCase):
def setUp(self):
super(testReconcileHistory, self).setUp()
self.rec_history_obj = self.registry('easy.reconcile.history')
self.easy_rec_obj = self.registry('account.easy.reconcile')
self.easy_rec = self.easy_rec_obj.create(
self.cr,
self.uid,
{
'name': 'AER1',
'account': self.ref('account.a_expense'),
}
)
self.rec_history = self.rec_history_obj.create(
self.cr,
self.uid,
{
'easy_reconcile_id': self.easy_rec,
'date': fields.Datetime.now(),
}
)
def test_assert_open_full_partial(self):
word = 'test'
with self.assertRaises(AssertionError):
self.rec_history_obj._open_move_lines(
self.cr, self.uid, [self.rec_history], word)
def test_open_full_empty(self):
res = self.rec_history_obj._open_move_lines(
self.cr, self.uid, [self.rec_history], 'full')
self.assertEqual(unicode([('id', 'in', [])]), res.get(
'domain', []))
def test_open_full_empty_from_method(self):
res = self.rec_history_obj.open_reconcile(
self.cr, self.uid, [self.rec_history])
self.assertEqual(unicode([('id', 'in', [])]), res.get(
'domain', []))
def test_open_partial_empty(self):
res = self.rec_history_obj._open_move_lines(
self.cr, self.uid, [self.rec_history], 'partial')
self.assertEqual(unicode([('id', 'in', [])]), res.get(
'domain', []))
def test_open_partial_empty_from_method(self):
res = self.rec_history_obj.open_partial(
self.cr, self.uid, [self.rec_history])
self.assertEqual(unicode([('id', 'in', [])]), res.get(
'domain', []))