diff --git a/l10n_ch_fds_postfinance/README.md b/l10n_ch_fds_postfinance/README.md new file mode 100644 index 000000000..1da501b40 --- /dev/null +++ b/l10n_ch_fds_postfinance/README.md @@ -0,0 +1,122 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +================================== +Postfinance File Delivery Services +================================== + +The file delivery services (FDS) is a service offered by Postfinance AG Technology unit service. + +FDS acts as a gateway between external networks and the Post CH SA. It enables mutual exchange of files between partners and Post CH applications. + +This module allows Odoo users to import files from their FDS PostFinance and convert imported files to bank statment. + +Features +-------- +* Manage FDS Account users +* Generate authentication key pairs for new FDS users +* Import existing authentication key pairs for FDS +* Download files from FDS PostFinance SFTP and import them to Bank Statements + +additional addons: +------------------ +* upload PostFinance Direct Debit generate file to FDS PostFinance +* upload SEPA generate file to FDS PostFinance + +Installation +============ + +In order to be able to use the module, you need to have a Postfinance FDS +Account. You can generate authentication key pairs for your users (to allow +them using the service) from the module. + +To generate a new private key in the database, you need to launch odoo with +the option --ssh_pwd=your_password or add it to your config file: +ssh_pwd = your_password + +external dependencies: +---------------------- +* python module: pysftp +* python module: pycrypto + +Configuration +============= + +To configure this module, you need to: + +* Setup your FDS Postfinance Account + (menu: Accounting/Configuration/Accounts/FDS Postfinance Account) + + * hostname: the hostname of FDS Postfinance (fds.post.ch) + * username: username for SFTP given by Postfinance + * postfinance_email: the public key must be sent to this mail (fds@post.ch) + * user_id: the public key must be sent by the contact person of the company concerned (or appear in the exchange of mail) +* Import or generate new authentication keys for each user that should have access to FDS files +* Verify the SFTP connection +* Configure directories access rights + +Usage +===== + +To import files as bank statement: + +* Go to Accounting/Bank and Cash/FDS PostFinance files +* Select an Account +* Click on More to download files from the SFTP server +* In case of error, the file is kept and you can import it manually + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/125/8.0 + +.. repo_id is available in https://github.com/OCA/maintainer-tools/blob/master/tools/repos_with_ids.txt +.. branch is "8.0" for example + +Known issues / Roadmap +====================== + +* [not implemented yet] send authentication key to FDS Postfiance by e-mail + (for now, download public key and send the email to postfinance manually) +* [not implemented yet] CRON job to automatically import download files from FDS PostFinance SFTP to Bank Statement + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed `feedback +`_. + +Credits +======= + +Images +------ + +* Odoo Community Association: `Icon `_. + +Contributors +------------ + +* Nicolas Tran +* Emanuel Cino + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/l10n_ch_fds_postfinance/__init__.py b/l10n_ch_fds_postfinance/__init__.py new file mode 100644 index 000000000..b2281710b --- /dev/null +++ b/l10n_ch_fds_postfinance/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Swiss Postfinance File Delivery Services module for Odoo +# Copyright (C) 2015 Compassion CH +# @author: Nicolas Tran +# +# 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 . import models +from . import wizards diff --git a/l10n_ch_fds_postfinance/__openerp__.py b/l10n_ch_fds_postfinance/__openerp__.py new file mode 100644 index 000000000..ccbad4340 --- /dev/null +++ b/l10n_ch_fds_postfinance/__openerp__.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Swiss Postfinance File Delivery Services module for Odoo +# Copyright (C) 2015 Compassion CH +# @author: Nicolas Tran +# +# 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': 'Swiss Postfinance File Delivery Services', + 'summary': 'Download files and import bank statements from FDS', + 'version': '8.0.1.0', + 'license': 'AGPL-3', + 'author': 'OCA (Odoo Community Association), Compassion CH', + 'website': 'http://www.compassion.ch/', + 'category': 'Finance', + 'depends': ['l10n_ch_account_statement_base_import'], + 'external_dependencies': { + 'python': ['pysftp', 'Crypto'] + }, + 'data': [ + 'views/fds_authentication_keys_view.xml', + 'views/fds_files_import_tobankstatments_wizard_view.xml', + 'views/fds_key_clone_wizard_view.xml', + 'views/fds_key_generator_wizard_view.xml', + 'views/fds_key_import_wizard_view.xml', + 'views/fds_postfinance_account_view.xml', + 'views/fds_postfinance_file_view.xml', + 'security/ir.model.access.csv', + ], + 'demo': [], + 'test': [], + 'installable': False, + 'auto_install': False, +} diff --git a/l10n_ch_fds_postfinance/i18n/de.po b/l10n_ch_fds_postfinance/i18n/de.po new file mode 100644 index 000000000..77ece5e32 --- /dev/null +++ b/l10n_ch_fds_postfinance/i18n/de.po @@ -0,0 +1,631 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_ch_fds_postfinance +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: l10n-switzerland (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-01-06 09:18+0000\n" +"PO-Revision-Date: 2016-01-05 16:29+0000\n" +"Last-Translator: <>\n" +"Language-Team: German (http://www.transifex.com/oca/OCA-l10n-switzerland-8-0/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_ch_fds_postfinance +#: model:ir.actions.act_window,help:l10n_ch_fds_postfinance.action_fds_postfinance_account +msgid "" +"

\n" +" Click to create a new PostFinance File Delivery Services (FDS) Account.

\n" +" FDS acts as a gateway in the IT security system between Swiss Post’s Intranet and external networks. It enables\n" +" files and applications to be exchanged among internal and external partners of Post CH Ltd.

\n" +" " +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: model:ir.actions.act_window,help:l10n_ch_fds_postfinance.action_fds_files +msgid "" +"

\n" +" Select the FDS PostFinance that you want to connect.

\n" +" This view will allow to list the content of your FDS PostFinance directory\n" +" and import selected files to Bank Statements.\n" +" If your FDS PostFinance don't appear, start by setup an account.

\n" +" " +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,user_id:0 +msgid "Account Owner" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_file.py:91 +#, python-format +msgid "Add default journal in acount conf" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,allow_download_file:0 +msgid "Allow download file?" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,allow_upload_file:0 +msgid "Allow upload file?" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "Are you sure?" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,authentication_key_ids:0 +msgid "Authentication keys" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,bank_statement_id:0 +msgid "Bank Statement" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Cancel" +msgstr "Löschen" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "Click on import to download files." +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Clone key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Close" +msgstr "Erledigt" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +msgid "Copy" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.clone.wizard,src_user_key_id:0 +msgid "Copy authentication key:" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,create_uid:0 +#: field:fds.files.import.tobankstatments.wizard,create_uid:0 +#: field:fds.key.clone.wizard,create_uid:0 +#: field:fds.key.generator.wizard,create_uid:0 +#: field:fds.key.import.wizard,create_uid:0 +#: field:fds.postfinance.account,create_uid:0 +#: field:fds.postfinance.directory,create_uid:0 +#: field:fds.postfinance.file,create_uid:0 +msgid "Created by" +msgstr "Erstellt von" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,create_date:0 +#: field:fds.files.import.tobankstatments.wizard,create_date:0 +#: field:fds.key.clone.wizard,create_date:0 +#: field:fds.key.generator.wizard,create_date:0 +#: field:fds.key.import.wizard,create_date:0 +#: field:fds.postfinance.account,create_date:0 +#: field:fds.postfinance.directory,create_date:0 +#: field:fds.postfinance.file,create_date:0 +msgid "Created on" +msgstr "Erstellt am" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,data:0 +msgid "Data" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +#: selection:fds.key.clone.wizard,state:0 +#: selection:fds.key.generator.wizard,state:0 +#: selection:fds.key.import.wizard,state:0 +msgid "Default" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,directory_id:0 +msgid "Directory" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,name:0 +msgid "Directory name" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,still_on_server:0 +msgid "Directory still on server?" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +#: selection:fds.key.clone.wizard,state:0 +#: selection:fds.key.generator.wizard,state:0 +#: selection:fds.key.import.wizard,state:0 +#: selection:fds.postfinance.file,state:0 +msgid "Done" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: model:ir.actions.act_window,name:l10n_ch_fds_postfinance.action_fds_files_import_tobankstatments_wizard +msgid "Download FDS files" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Download History" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.postfinance.file,state:0 +msgid "Draft" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.account,postfinance_email:0 +msgid "E-mail of FDS Postfinance" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.postfinance.file,state:0 +msgid "Error" +msgstr "Fehler" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +msgid "Error Permission" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +msgid "Error SFTP" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS Directories" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "FDS PostFinance file" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_file_ids_form +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +#: model:ir.actions.act_window,name:l10n_ch_fds_postfinance.action_fds_files +#: model:ir.ui.menu,name:l10n_ch_fds_postfinance.menu_fds_file_ids +msgid "FDS PostFinance files" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_file_ids_tree +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_tree +#: model:ir.actions.act_window,name:l10n_ch_fds_postfinance.action_fds_postfinance_account +#: model:ir.ui.menu,name:l10n_ch_fds_postfinance.menu_fds_postfinance_configuration +msgid "FDS Postfinance Account" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,fds_file_ids:0 +msgid "FDS Postfinance files" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +msgid "FDS Postfinance generate authentication keys parameters" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "FDS Postfinance import authentication keys parameters" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS Users" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,fds_account_id:0 +#: field:fds.postfinance.directory,fds_account_id:0 +#: field:fds.postfinance.file,fds_account_id:0 +msgid "FDS account" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.authentication.keys:l10n_ch_fds_postfinance.fds_authentication_keys_form +msgid "FDS authentication key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.generator.wizard,fds_authentication_keys_id:0 +#: field:fds.key.import.wizard,fds_authentication_keys_id:0 +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS authentication keys" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS files directory" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,directory_ids:0 +msgid "FDS postfinance directories" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "File Corrupt" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,msg_import_file_fail:0 +msgid "File import failures" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,filename:0 +msgid "Filename" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,msg_exist_file:0 +msgid "Files already existing" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: selection:fds.key.generator.wizard,state:0 +#: selection:fds.key.import.wizard,state:0 +msgid "Generate" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,id:0 +#: field:fds.files.import.tobankstatments.wizard,id:0 +#: field:fds.key.clone.wizard,id:0 field:fds.key.generator.wizard,id:0 +#: field:fds.key.import.wizard,id:0 field:fds.postfinance.account,id:0 +#: field:fds.postfinance.directory,id:0 field:fds.postfinance.file,id:0 +msgid "ID" +msgstr "ID" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Import" +msgstr "Import" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Import key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "Import to Bank Statement" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,msg_file_imported:0 +msgid "Imported files" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,journal_id:0 +msgid "Journal" +msgstr "Journal" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,key_active:0 +msgid "Key active" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_account.py:104 +#, python-format +msgid "Key not active" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,write_uid:0 +#: field:fds.files.import.tobankstatments.wizard,write_uid:0 +#: field:fds.key.clone.wizard,write_uid:0 +#: field:fds.key.generator.wizard,write_uid:0 +#: field:fds.key.import.wizard,write_uid:0 +#: field:fds.postfinance.account,write_uid:0 +#: field:fds.postfinance.directory,write_uid:0 +#: field:fds.postfinance.file,write_uid:0 +msgid "Last Updated by" +msgstr "Zuletzt geändert durch" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,write_date:0 +#: field:fds.files.import.tobankstatments.wizard,write_date:0 +#: field:fds.key.clone.wizard,write_date:0 +#: field:fds.key.generator.wizard,write_date:0 +#: field:fds.key.import.wizard,write_date:0 +#: field:fds.postfinance.account,write_date:0 +#: field:fds.postfinance.directory,write_date:0 +#: field:fds.postfinance.file,write_date:0 +msgid "Last Updated on" +msgstr "Zuletzt geändert am" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +msgid "Make another copy" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,name:0 +msgid "Name" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "New key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/wizards/fds_key_generator_wizard.py:142 +#, python-format +msgid "" +"Not implemented yet, download public key and send the email to postfinance " +"manually." +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.account,user_id:0 +msgid "" +"Owner must have the rights to register new key pairs for this account. Its " +"e-mail address will be used to send the keys of new users to PostFinance" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,postfinance_email:0 +msgid "Postfinance email" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.import.wizard,private_key_import_file:0 +#: field:fds.key.import.wizard,private_key_import_txt:0 +msgid "Private key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,private_key_crypted:0 +msgid "Private key crypted" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,ppk_filename:0 +msgid "Private key filename" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,public_key:0 +#: field:fds.key.import.wizard,public_key_import_file:0 +#: field:fds.key.import.wizard,public_key_import_txt:0 +msgid "Public key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,pub_filename:0 +msgid "Public key filename" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "Reset to draft" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,hostname:0 +msgid "SFTP Hostname" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,username:0 +msgid "SFTP Username" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "SFTP unable to connect." +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Send to Postfinance" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,state:0 +#: field:fds.key.clone.wizard,state:0 field:fds.key.generator.wizard,state:0 +#: field:fds.key.import.wizard,state:0 field:fds.postfinance.file,state:0 +msgid "State" +msgstr "Status" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.clone.wizard,des_user_id:0 +msgid "To:" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_account.py:124 +#, python-format +msgid "Unable to connect to the sftp" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Upload History" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,user_id:0 +#: field:fds.key.generator.wizard,user_id:0 +#: field:fds.key.import.wizard,user_id:0 +msgid "User" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Validate" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Verify directories" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_account.py:101 +#, python-format +msgid "You don't have key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "You don't have the permission." +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.files.import.tobankstatments.wizard,state:0 +#: help:fds.key.clone.wizard,state:0 help:fds.key.generator.wizard,state:0 +#: help:fds.key.import.wizard,state:0 +msgid "[Info] keep state of the wizard" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,still_on_server:0 +msgid "[info] if the directory still exist on the FDS sftp" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.generator.wizard,fds_authentication_keys_id:0 +#: help:fds.key.import.wizard,fds_authentication_keys_id:0 +msgid "[info] keep one recored of the model fds_authentication_key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.clone.wizard,des_user_id:0 +#: help:fds.key.generator.wizard,user_id:0 +#: help:fds.key.import.wizard,user_id:0 +msgid "assign the key to the user selected" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,allow_download_file:0 +msgid "check it to allow download files from this FDS directory" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,allow_upload_file:0 +msgid "check it to allow upload files to this FDS directory" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +msgid "copy successful" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,private_key_import_txt:0 +msgid "copy/paste your private key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,public_key_import_txt:0 +msgid "copy/paste your public key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,journal_id:0 +msgid "default journal needed to import to bank statements" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.account,fds_file_ids:0 +msgid "downloaded files from sftp" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "import" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "import file" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "manual import" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.file,fds_account_id:0 +msgid "related FDS account" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "results" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,private_key_import_file:0 +msgid "select one file that contain your private key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,public_key_import_file:0 +msgid "select one file that contain your public key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.clone.wizard,src_user_key_id:0 +msgid "select one key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.file,state:0 +msgid "state of file" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.file,data:0 +msgid "the downloaded file data" +msgstr "" diff --git a/l10n_ch_fds_postfinance/i18n/en.po b/l10n_ch_fds_postfinance/i18n/en.po new file mode 100644 index 000000000..14c8334b1 --- /dev/null +++ b/l10n_ch_fds_postfinance/i18n/en.po @@ -0,0 +1,631 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_ch_fds_postfinance +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: l10n-switzerland (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-01-06 09:18+0000\n" +"PO-Revision-Date: 2016-01-05 16:29+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: English (http://www.transifex.com/oca/OCA-l10n-switzerland-8-0/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_ch_fds_postfinance +#: model:ir.actions.act_window,help:l10n_ch_fds_postfinance.action_fds_postfinance_account +msgid "" +"

\n" +" Click to create a new PostFinance File Delivery Services (FDS) Account.

\n" +" FDS acts as a gateway in the IT security system between Swiss Post’s Intranet and external networks. It enables\n" +" files and applications to be exchanged among internal and external partners of Post CH Ltd.

\n" +" " +msgstr "

\n Click to create a new PostFinance File Delivery Services (FDS) Account.

\n FDS acts as a gateway in the IT security system between Swiss Post’s Intranet and external networks. It enables\n files and applications to be exchanged among internal and external partners of Post CH Ltd.

\n " + +#. module: l10n_ch_fds_postfinance +#: model:ir.actions.act_window,help:l10n_ch_fds_postfinance.action_fds_files +msgid "" +"

\n" +" Select the FDS PostFinance that you want to connect.

\n" +" This view will allow to list the content of your FDS PostFinance directory\n" +" and import selected files to Bank Statements.\n" +" If your FDS PostFinance don't appear, start by setup an account.

\n" +" " +msgstr "

\n Select the FDS PostFinance that you want to connect.

\n This view will allow to list the content of your FDS PostFinance directory\n and import selected files to Bank Statements.\n If your FDS PostFinance don't appear, start by setup an account.

\n " + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,user_id:0 +msgid "Account Owner" +msgstr "Account Owner" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_file.py:91 +#, python-format +msgid "Add default journal in acount conf" +msgstr "Add default journal in acount conf" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,allow_download_file:0 +msgid "Allow download file?" +msgstr "Allow download file?" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,allow_upload_file:0 +msgid "Allow upload file?" +msgstr "Allow upload file?" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "Are you sure?" +msgstr "Are you sure?" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,authentication_key_ids:0 +msgid "Authentication keys" +msgstr "Authentication keys" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,bank_statement_id:0 +msgid "Bank Statement" +msgstr "Bank Statement" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Cancel" +msgstr "Cancel" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "Click on import to download files." +msgstr "Click on import to download files." + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Clone key" +msgstr "Clone key" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Close" +msgstr "Close" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +msgid "Copy" +msgstr "Copy" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.clone.wizard,src_user_key_id:0 +msgid "Copy authentication key:" +msgstr "Copy authentication key:" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,create_uid:0 +#: field:fds.files.import.tobankstatments.wizard,create_uid:0 +#: field:fds.key.clone.wizard,create_uid:0 +#: field:fds.key.generator.wizard,create_uid:0 +#: field:fds.key.import.wizard,create_uid:0 +#: field:fds.postfinance.account,create_uid:0 +#: field:fds.postfinance.directory,create_uid:0 +#: field:fds.postfinance.file,create_uid:0 +msgid "Created by" +msgstr "Created by" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,create_date:0 +#: field:fds.files.import.tobankstatments.wizard,create_date:0 +#: field:fds.key.clone.wizard,create_date:0 +#: field:fds.key.generator.wizard,create_date:0 +#: field:fds.key.import.wizard,create_date:0 +#: field:fds.postfinance.account,create_date:0 +#: field:fds.postfinance.directory,create_date:0 +#: field:fds.postfinance.file,create_date:0 +msgid "Created on" +msgstr "Created on" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,data:0 +msgid "Data" +msgstr "Data" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +#: selection:fds.key.clone.wizard,state:0 +#: selection:fds.key.generator.wizard,state:0 +#: selection:fds.key.import.wizard,state:0 +msgid "Default" +msgstr "Default" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,directory_id:0 +msgid "Directory" +msgstr "Directory" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,name:0 +msgid "Directory name" +msgstr "Directory name" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,still_on_server:0 +msgid "Directory still on server?" +msgstr "Directory still on server?" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +#: selection:fds.key.clone.wizard,state:0 +#: selection:fds.key.generator.wizard,state:0 +#: selection:fds.key.import.wizard,state:0 +#: selection:fds.postfinance.file,state:0 +msgid "Done" +msgstr "Done" + +#. module: l10n_ch_fds_postfinance +#: model:ir.actions.act_window,name:l10n_ch_fds_postfinance.action_fds_files_import_tobankstatments_wizard +msgid "Download FDS files" +msgstr "Download FDS files" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Download History" +msgstr "Download History" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.postfinance.file,state:0 +msgid "Draft" +msgstr "Draft" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.account,postfinance_email:0 +msgid "E-mail of FDS Postfinance" +msgstr "E-mail of FDS Postfinance" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.postfinance.file,state:0 +msgid "Error" +msgstr "Error" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +msgid "Error Permission" +msgstr "Error Permission" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +msgid "Error SFTP" +msgstr "Error SFTP" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS Directories" +msgstr "FDS Directories" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "FDS PostFinance file" +msgstr "FDS PostFinance file" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_file_ids_form +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +#: model:ir.actions.act_window,name:l10n_ch_fds_postfinance.action_fds_files +#: model:ir.ui.menu,name:l10n_ch_fds_postfinance.menu_fds_file_ids +msgid "FDS PostFinance files" +msgstr "FDS PostFinance files" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_file_ids_tree +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_tree +#: model:ir.actions.act_window,name:l10n_ch_fds_postfinance.action_fds_postfinance_account +#: model:ir.ui.menu,name:l10n_ch_fds_postfinance.menu_fds_postfinance_configuration +msgid "FDS Postfinance Account" +msgstr "FDS Postfinance Account" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,fds_file_ids:0 +msgid "FDS Postfinance files" +msgstr "FDS Postfinance files" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +msgid "FDS Postfinance generate authentication keys parameters" +msgstr "FDS Postfinance generate authentication keys parameters" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "FDS Postfinance import authentication keys parameters" +msgstr "FDS Postfinance import authentication keys parameters" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS Users" +msgstr "FDS Users" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,fds_account_id:0 +#: field:fds.postfinance.directory,fds_account_id:0 +#: field:fds.postfinance.file,fds_account_id:0 +msgid "FDS account" +msgstr "FDS account" + +#. module: l10n_ch_fds_postfinance +#: view:fds.authentication.keys:l10n_ch_fds_postfinance.fds_authentication_keys_form +msgid "FDS authentication key" +msgstr "FDS authentication key" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.generator.wizard,fds_authentication_keys_id:0 +#: field:fds.key.import.wizard,fds_authentication_keys_id:0 +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS authentication keys" +msgstr "FDS authentication keys" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS files directory" +msgstr "FDS files directory" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,directory_ids:0 +msgid "FDS postfinance directories" +msgstr "FDS postfinance directories" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "File Corrupt" +msgstr "File Corrupt" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,msg_import_file_fail:0 +msgid "File import failures" +msgstr "File import failures" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,filename:0 +msgid "Filename" +msgstr "Filename" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,msg_exist_file:0 +msgid "Files already existing" +msgstr "Files already existing" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: selection:fds.key.generator.wizard,state:0 +#: selection:fds.key.import.wizard,state:0 +msgid "Generate" +msgstr "Generate" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,id:0 +#: field:fds.files.import.tobankstatments.wizard,id:0 +#: field:fds.key.clone.wizard,id:0 field:fds.key.generator.wizard,id:0 +#: field:fds.key.import.wizard,id:0 field:fds.postfinance.account,id:0 +#: field:fds.postfinance.directory,id:0 field:fds.postfinance.file,id:0 +msgid "ID" +msgstr "ID" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Import" +msgstr "Import" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Import key" +msgstr "Import key" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "Import to Bank Statement" +msgstr "Import to Bank Statement" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,msg_file_imported:0 +msgid "Imported files" +msgstr "Imported files" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,journal_id:0 +msgid "Journal" +msgstr "Journal" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,key_active:0 +msgid "Key active" +msgstr "Key active" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_account.py:104 +#, python-format +msgid "Key not active" +msgstr "Key not active" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,write_uid:0 +#: field:fds.files.import.tobankstatments.wizard,write_uid:0 +#: field:fds.key.clone.wizard,write_uid:0 +#: field:fds.key.generator.wizard,write_uid:0 +#: field:fds.key.import.wizard,write_uid:0 +#: field:fds.postfinance.account,write_uid:0 +#: field:fds.postfinance.directory,write_uid:0 +#: field:fds.postfinance.file,write_uid:0 +msgid "Last Updated by" +msgstr "Last Updated by" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,write_date:0 +#: field:fds.files.import.tobankstatments.wizard,write_date:0 +#: field:fds.key.clone.wizard,write_date:0 +#: field:fds.key.generator.wizard,write_date:0 +#: field:fds.key.import.wizard,write_date:0 +#: field:fds.postfinance.account,write_date:0 +#: field:fds.postfinance.directory,write_date:0 +#: field:fds.postfinance.file,write_date:0 +msgid "Last Updated on" +msgstr "Last Updated on" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +msgid "Make another copy" +msgstr "Make another copy" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,name:0 +msgid "Name" +msgstr "Name" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "New key" +msgstr "New key" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/wizards/fds_key_generator_wizard.py:142 +#, python-format +msgid "" +"Not implemented yet, download public key and send the email to postfinance " +"manually." +msgstr "Not implemented yet, download public key and send the email to postfinance manually." + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.account,user_id:0 +msgid "" +"Owner must have the rights to register new key pairs for this account. Its " +"e-mail address will be used to send the keys of new users to PostFinance" +msgstr "Owner must have the rights to register new key pairs for this account. Its e-mail address will be used to send the keys of new users to PostFinance" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,postfinance_email:0 +msgid "Postfinance email" +msgstr "Postfinance email" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.import.wizard,private_key_import_file:0 +#: field:fds.key.import.wizard,private_key_import_txt:0 +msgid "Private key" +msgstr "Private key" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,private_key_crypted:0 +msgid "Private key crypted" +msgstr "Private key crypted" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,ppk_filename:0 +msgid "Private key filename" +msgstr "Private key filename" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,public_key:0 +#: field:fds.key.import.wizard,public_key_import_file:0 +#: field:fds.key.import.wizard,public_key_import_txt:0 +msgid "Public key" +msgstr "Public key" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,pub_filename:0 +msgid "Public key filename" +msgstr "Public key filename" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "Reset to draft" +msgstr "Reset to draft" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,hostname:0 +msgid "SFTP Hostname" +msgstr "SFTP Hostname" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,username:0 +msgid "SFTP Username" +msgstr "SFTP Username" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "SFTP unable to connect." +msgstr "SFTP unable to connect." + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Send to Postfinance" +msgstr "Send to Postfinance" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,state:0 +#: field:fds.key.clone.wizard,state:0 field:fds.key.generator.wizard,state:0 +#: field:fds.key.import.wizard,state:0 field:fds.postfinance.file,state:0 +msgid "State" +msgstr "State" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.clone.wizard,des_user_id:0 +msgid "To:" +msgstr "To:" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_account.py:124 +#, python-format +msgid "Unable to connect to the sftp" +msgstr "Unable to connect to the sftp" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Upload History" +msgstr "Upload History" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,user_id:0 +#: field:fds.key.generator.wizard,user_id:0 +#: field:fds.key.import.wizard,user_id:0 +msgid "User" +msgstr "User" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Validate" +msgstr "Validate" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Verify directories" +msgstr "Verify directories" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_account.py:101 +#, python-format +msgid "You don't have key" +msgstr "You don't have key" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "You don't have the permission." +msgstr "You don't have the permission." + +#. module: l10n_ch_fds_postfinance +#: help:fds.files.import.tobankstatments.wizard,state:0 +#: help:fds.key.clone.wizard,state:0 help:fds.key.generator.wizard,state:0 +#: help:fds.key.import.wizard,state:0 +msgid "[Info] keep state of the wizard" +msgstr "[Info] keep state of the wizard" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,still_on_server:0 +msgid "[info] if the directory still exist on the FDS sftp" +msgstr "[info] if the directory still exist on the FDS sftp" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.generator.wizard,fds_authentication_keys_id:0 +#: help:fds.key.import.wizard,fds_authentication_keys_id:0 +msgid "[info] keep one recored of the model fds_authentication_key" +msgstr "[info] keep one recored of the model fds_authentication_key" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.clone.wizard,des_user_id:0 +#: help:fds.key.generator.wizard,user_id:0 +#: help:fds.key.import.wizard,user_id:0 +msgid "assign the key to the user selected" +msgstr "assign the key to the user selected" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,allow_download_file:0 +msgid "check it to allow download files from this FDS directory" +msgstr "check it to allow download files from this FDS directory" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,allow_upload_file:0 +msgid "check it to allow upload files to this FDS directory" +msgstr "check it to allow upload files to this FDS directory" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +msgid "copy successful" +msgstr "copy successful" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,private_key_import_txt:0 +msgid "copy/paste your private key" +msgstr "copy/paste your private key" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,public_key_import_txt:0 +msgid "copy/paste your public key" +msgstr "copy/paste your public key" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,journal_id:0 +msgid "default journal needed to import to bank statements" +msgstr "default journal needed to import to bank statements" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.account,fds_file_ids:0 +msgid "downloaded files from sftp" +msgstr "downloaded files from sftp" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "import" +msgstr "import" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "import file" +msgstr "import file" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "manual import" +msgstr "manual import" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.file,fds_account_id:0 +msgid "related FDS account" +msgstr "related FDS account" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "results" +msgstr "results" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,private_key_import_file:0 +msgid "select one file that contain your private key" +msgstr "select one file that contain your private key" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,public_key_import_file:0 +msgid "select one file that contain your public key" +msgstr "select one file that contain your public key" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.clone.wizard,src_user_key_id:0 +msgid "select one key" +msgstr "select one key" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.file,state:0 +msgid "state of file" +msgstr "state of file" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.file,data:0 +msgid "the downloaded file data" +msgstr "the downloaded file data" diff --git a/l10n_ch_fds_postfinance/i18n/fr.po b/l10n_ch_fds_postfinance/i18n/fr.po new file mode 100644 index 000000000..ca8f3483f --- /dev/null +++ b/l10n_ch_fds_postfinance/i18n/fr.po @@ -0,0 +1,631 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_ch_fds_postfinance +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: l10n-switzerland (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-01-06 09:18+0000\n" +"PO-Revision-Date: 2016-01-05 16:29+0000\n" +"Last-Translator: <>\n" +"Language-Team: French (http://www.transifex.com/oca/OCA-l10n-switzerland-8-0/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: l10n_ch_fds_postfinance +#: model:ir.actions.act_window,help:l10n_ch_fds_postfinance.action_fds_postfinance_account +msgid "" +"

\n" +" Click to create a new PostFinance File Delivery Services (FDS) Account.

\n" +" FDS acts as a gateway in the IT security system between Swiss Post’s Intranet and external networks. It enables\n" +" files and applications to be exchanged among internal and external partners of Post CH Ltd.

\n" +" " +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: model:ir.actions.act_window,help:l10n_ch_fds_postfinance.action_fds_files +msgid "" +"

\n" +" Select the FDS PostFinance that you want to connect.

\n" +" This view will allow to list the content of your FDS PostFinance directory\n" +" and import selected files to Bank Statements.\n" +" If your FDS PostFinance don't appear, start by setup an account.

\n" +" " +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,user_id:0 +msgid "Account Owner" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_file.py:91 +#, python-format +msgid "Add default journal in acount conf" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,allow_download_file:0 +msgid "Allow download file?" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,allow_upload_file:0 +msgid "Allow upload file?" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "Are you sure?" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,authentication_key_ids:0 +msgid "Authentication keys" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,bank_statement_id:0 +msgid "Bank Statement" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Cancel" +msgstr "Annuler" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "Click on import to download files." +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Clone key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Close" +msgstr "Fermer" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +msgid "Copy" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.clone.wizard,src_user_key_id:0 +msgid "Copy authentication key:" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,create_uid:0 +#: field:fds.files.import.tobankstatments.wizard,create_uid:0 +#: field:fds.key.clone.wizard,create_uid:0 +#: field:fds.key.generator.wizard,create_uid:0 +#: field:fds.key.import.wizard,create_uid:0 +#: field:fds.postfinance.account,create_uid:0 +#: field:fds.postfinance.directory,create_uid:0 +#: field:fds.postfinance.file,create_uid:0 +msgid "Created by" +msgstr "Créé par" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,create_date:0 +#: field:fds.files.import.tobankstatments.wizard,create_date:0 +#: field:fds.key.clone.wizard,create_date:0 +#: field:fds.key.generator.wizard,create_date:0 +#: field:fds.key.import.wizard,create_date:0 +#: field:fds.postfinance.account,create_date:0 +#: field:fds.postfinance.directory,create_date:0 +#: field:fds.postfinance.file,create_date:0 +msgid "Created on" +msgstr "Créé le" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,data:0 +msgid "Data" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +#: selection:fds.key.clone.wizard,state:0 +#: selection:fds.key.generator.wizard,state:0 +#: selection:fds.key.import.wizard,state:0 +msgid "Default" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,directory_id:0 +msgid "Directory" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,name:0 +msgid "Directory name" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,still_on_server:0 +msgid "Directory still on server?" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +#: selection:fds.key.clone.wizard,state:0 +#: selection:fds.key.generator.wizard,state:0 +#: selection:fds.key.import.wizard,state:0 +#: selection:fds.postfinance.file,state:0 +msgid "Done" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: model:ir.actions.act_window,name:l10n_ch_fds_postfinance.action_fds_files_import_tobankstatments_wizard +msgid "Download FDS files" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Download History" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.postfinance.file,state:0 +msgid "Draft" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.account,postfinance_email:0 +msgid "E-mail of FDS Postfinance" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.postfinance.file,state:0 +msgid "Error" +msgstr "Erreur" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +msgid "Error Permission" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +msgid "Error SFTP" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS Directories" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "FDS PostFinance file" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_file_ids_form +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +#: model:ir.actions.act_window,name:l10n_ch_fds_postfinance.action_fds_files +#: model:ir.ui.menu,name:l10n_ch_fds_postfinance.menu_fds_file_ids +msgid "FDS PostFinance files" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_file_ids_tree +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_tree +#: model:ir.actions.act_window,name:l10n_ch_fds_postfinance.action_fds_postfinance_account +#: model:ir.ui.menu,name:l10n_ch_fds_postfinance.menu_fds_postfinance_configuration +msgid "FDS Postfinance Account" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,fds_file_ids:0 +msgid "FDS Postfinance files" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +msgid "FDS Postfinance generate authentication keys parameters" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "FDS Postfinance import authentication keys parameters" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS Users" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,fds_account_id:0 +#: field:fds.postfinance.directory,fds_account_id:0 +#: field:fds.postfinance.file,fds_account_id:0 +msgid "FDS account" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.authentication.keys:l10n_ch_fds_postfinance.fds_authentication_keys_form +msgid "FDS authentication key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.generator.wizard,fds_authentication_keys_id:0 +#: field:fds.key.import.wizard,fds_authentication_keys_id:0 +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS authentication keys" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS files directory" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,directory_ids:0 +msgid "FDS postfinance directories" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "File Corrupt" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,msg_import_file_fail:0 +msgid "File import failures" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,filename:0 +msgid "Filename" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,msg_exist_file:0 +msgid "Files already existing" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: selection:fds.key.generator.wizard,state:0 +#: selection:fds.key.import.wizard,state:0 +msgid "Generate" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,id:0 +#: field:fds.files.import.tobankstatments.wizard,id:0 +#: field:fds.key.clone.wizard,id:0 field:fds.key.generator.wizard,id:0 +#: field:fds.key.import.wizard,id:0 field:fds.postfinance.account,id:0 +#: field:fds.postfinance.directory,id:0 field:fds.postfinance.file,id:0 +msgid "ID" +msgstr "Id." + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Import" +msgstr "Importer" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Import key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "Import to Bank Statement" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,msg_file_imported:0 +msgid "Imported files" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,journal_id:0 +msgid "Journal" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,key_active:0 +msgid "Key active" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_account.py:104 +#, python-format +msgid "Key not active" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,write_uid:0 +#: field:fds.files.import.tobankstatments.wizard,write_uid:0 +#: field:fds.key.clone.wizard,write_uid:0 +#: field:fds.key.generator.wizard,write_uid:0 +#: field:fds.key.import.wizard,write_uid:0 +#: field:fds.postfinance.account,write_uid:0 +#: field:fds.postfinance.directory,write_uid:0 +#: field:fds.postfinance.file,write_uid:0 +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,write_date:0 +#: field:fds.files.import.tobankstatments.wizard,write_date:0 +#: field:fds.key.clone.wizard,write_date:0 +#: field:fds.key.generator.wizard,write_date:0 +#: field:fds.key.import.wizard,write_date:0 +#: field:fds.postfinance.account,write_date:0 +#: field:fds.postfinance.directory,write_date:0 +#: field:fds.postfinance.file,write_date:0 +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +msgid "Make another copy" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,name:0 +msgid "Name" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "New key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/wizards/fds_key_generator_wizard.py:142 +#, python-format +msgid "" +"Not implemented yet, download public key and send the email to postfinance " +"manually." +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.account,user_id:0 +msgid "" +"Owner must have the rights to register new key pairs for this account. Its " +"e-mail address will be used to send the keys of new users to PostFinance" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,postfinance_email:0 +msgid "Postfinance email" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.import.wizard,private_key_import_file:0 +#: field:fds.key.import.wizard,private_key_import_txt:0 +msgid "Private key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,private_key_crypted:0 +msgid "Private key crypted" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,ppk_filename:0 +msgid "Private key filename" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,public_key:0 +#: field:fds.key.import.wizard,public_key_import_file:0 +#: field:fds.key.import.wizard,public_key_import_txt:0 +msgid "Public key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,pub_filename:0 +msgid "Public key filename" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "Reset to draft" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,hostname:0 +msgid "SFTP Hostname" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,username:0 +msgid "SFTP Username" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "SFTP unable to connect." +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Send to Postfinance" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,state:0 +#: field:fds.key.clone.wizard,state:0 field:fds.key.generator.wizard,state:0 +#: field:fds.key.import.wizard,state:0 field:fds.postfinance.file,state:0 +msgid "State" +msgstr "Status" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.clone.wizard,des_user_id:0 +msgid "To:" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_account.py:124 +#, python-format +msgid "Unable to connect to the sftp" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Upload History" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,user_id:0 +#: field:fds.key.generator.wizard,user_id:0 +#: field:fds.key.import.wizard,user_id:0 +msgid "User" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Validate" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Verify directories" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_account.py:101 +#, python-format +msgid "You don't have key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "You don't have the permission." +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.files.import.tobankstatments.wizard,state:0 +#: help:fds.key.clone.wizard,state:0 help:fds.key.generator.wizard,state:0 +#: help:fds.key.import.wizard,state:0 +msgid "[Info] keep state of the wizard" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,still_on_server:0 +msgid "[info] if the directory still exist on the FDS sftp" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.generator.wizard,fds_authentication_keys_id:0 +#: help:fds.key.import.wizard,fds_authentication_keys_id:0 +msgid "[info] keep one recored of the model fds_authentication_key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.clone.wizard,des_user_id:0 +#: help:fds.key.generator.wizard,user_id:0 +#: help:fds.key.import.wizard,user_id:0 +msgid "assign the key to the user selected" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,allow_download_file:0 +msgid "check it to allow download files from this FDS directory" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,allow_upload_file:0 +msgid "check it to allow upload files to this FDS directory" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +msgid "copy successful" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,private_key_import_txt:0 +msgid "copy/paste your private key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,public_key_import_txt:0 +msgid "copy/paste your public key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,journal_id:0 +msgid "default journal needed to import to bank statements" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.account,fds_file_ids:0 +msgid "downloaded files from sftp" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "import" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "import file" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "manual import" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.file,fds_account_id:0 +msgid "related FDS account" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "results" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,private_key_import_file:0 +msgid "select one file that contain your private key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,public_key_import_file:0 +msgid "select one file that contain your public key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.clone.wizard,src_user_key_id:0 +msgid "select one key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.file,state:0 +msgid "state of file" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.file,data:0 +msgid "the downloaded file data" +msgstr "" diff --git a/l10n_ch_fds_postfinance/i18n/fr_CH.po b/l10n_ch_fds_postfinance/i18n/fr_CH.po new file mode 100644 index 000000000..5bff6ffbb --- /dev/null +++ b/l10n_ch_fds_postfinance/i18n/fr_CH.po @@ -0,0 +1,631 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_ch_fds_postfinance +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: l10n-switzerland (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-01-06 09:18+0000\n" +"PO-Revision-Date: 2016-01-05 16:29+0000\n" +"Last-Translator: <>\n" +"Language-Team: French (Switzerland) (http://www.transifex.com/oca/OCA-l10n-switzerland-8-0/language/fr_CH/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr_CH\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: l10n_ch_fds_postfinance +#: model:ir.actions.act_window,help:l10n_ch_fds_postfinance.action_fds_postfinance_account +msgid "" +"

\n" +" Click to create a new PostFinance File Delivery Services (FDS) Account.

\n" +" FDS acts as a gateway in the IT security system between Swiss Post’s Intranet and external networks. It enables\n" +" files and applications to be exchanged among internal and external partners of Post CH Ltd.

\n" +" " +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: model:ir.actions.act_window,help:l10n_ch_fds_postfinance.action_fds_files +msgid "" +"

\n" +" Select the FDS PostFinance that you want to connect.

\n" +" This view will allow to list the content of your FDS PostFinance directory\n" +" and import selected files to Bank Statements.\n" +" If your FDS PostFinance don't appear, start by setup an account.

\n" +" " +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,user_id:0 +msgid "Account Owner" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_file.py:91 +#, python-format +msgid "Add default journal in acount conf" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,allow_download_file:0 +msgid "Allow download file?" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,allow_upload_file:0 +msgid "Allow upload file?" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "Are you sure?" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,authentication_key_ids:0 +msgid "Authentication keys" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,bank_statement_id:0 +msgid "Bank Statement" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Cancel" +msgstr "Annuler" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "Click on import to download files." +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Clone key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Close" +msgstr "Fermer" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +msgid "Copy" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.clone.wizard,src_user_key_id:0 +msgid "Copy authentication key:" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,create_uid:0 +#: field:fds.files.import.tobankstatments.wizard,create_uid:0 +#: field:fds.key.clone.wizard,create_uid:0 +#: field:fds.key.generator.wizard,create_uid:0 +#: field:fds.key.import.wizard,create_uid:0 +#: field:fds.postfinance.account,create_uid:0 +#: field:fds.postfinance.directory,create_uid:0 +#: field:fds.postfinance.file,create_uid:0 +msgid "Created by" +msgstr "Créé par" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,create_date:0 +#: field:fds.files.import.tobankstatments.wizard,create_date:0 +#: field:fds.key.clone.wizard,create_date:0 +#: field:fds.key.generator.wizard,create_date:0 +#: field:fds.key.import.wizard,create_date:0 +#: field:fds.postfinance.account,create_date:0 +#: field:fds.postfinance.directory,create_date:0 +#: field:fds.postfinance.file,create_date:0 +msgid "Created on" +msgstr "Créé le" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,data:0 +msgid "Data" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +#: selection:fds.key.clone.wizard,state:0 +#: selection:fds.key.generator.wizard,state:0 +#: selection:fds.key.import.wizard,state:0 +msgid "Default" +msgstr "Défaut" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,directory_id:0 +msgid "Directory" +msgstr "Répertoire" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,name:0 +msgid "Directory name" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,still_on_server:0 +msgid "Directory still on server?" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +#: selection:fds.key.clone.wizard,state:0 +#: selection:fds.key.generator.wizard,state:0 +#: selection:fds.key.import.wizard,state:0 +#: selection:fds.postfinance.file,state:0 +msgid "Done" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: model:ir.actions.act_window,name:l10n_ch_fds_postfinance.action_fds_files_import_tobankstatments_wizard +msgid "Download FDS files" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Download History" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.postfinance.file,state:0 +msgid "Draft" +msgstr "Brouillon" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.account,postfinance_email:0 +msgid "E-mail of FDS Postfinance" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.postfinance.file,state:0 +msgid "Error" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +msgid "Error Permission" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +msgid "Error SFTP" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS Directories" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "FDS PostFinance file" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_file_ids_form +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +#: model:ir.actions.act_window,name:l10n_ch_fds_postfinance.action_fds_files +#: model:ir.ui.menu,name:l10n_ch_fds_postfinance.menu_fds_file_ids +msgid "FDS PostFinance files" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_file_ids_tree +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_tree +#: model:ir.actions.act_window,name:l10n_ch_fds_postfinance.action_fds_postfinance_account +#: model:ir.ui.menu,name:l10n_ch_fds_postfinance.menu_fds_postfinance_configuration +msgid "FDS Postfinance Account" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,fds_file_ids:0 +msgid "FDS Postfinance files" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +msgid "FDS Postfinance generate authentication keys parameters" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "FDS Postfinance import authentication keys parameters" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS Users" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,fds_account_id:0 +#: field:fds.postfinance.directory,fds_account_id:0 +#: field:fds.postfinance.file,fds_account_id:0 +msgid "FDS account" +msgstr "Compte FDS" + +#. module: l10n_ch_fds_postfinance +#: view:fds.authentication.keys:l10n_ch_fds_postfinance.fds_authentication_keys_form +msgid "FDS authentication key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.generator.wizard,fds_authentication_keys_id:0 +#: field:fds.key.import.wizard,fds_authentication_keys_id:0 +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS authentication keys" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS files directory" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,directory_ids:0 +msgid "FDS postfinance directories" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "File Corrupt" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,msg_import_file_fail:0 +msgid "File import failures" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,filename:0 +msgid "Filename" +msgstr "Nom de fichier" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,msg_exist_file:0 +msgid "Files already existing" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: selection:fds.key.generator.wizard,state:0 +#: selection:fds.key.import.wizard,state:0 +msgid "Generate" +msgstr "Générer" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,id:0 +#: field:fds.files.import.tobankstatments.wizard,id:0 +#: field:fds.key.clone.wizard,id:0 field:fds.key.generator.wizard,id:0 +#: field:fds.key.import.wizard,id:0 field:fds.postfinance.account,id:0 +#: field:fds.postfinance.directory,id:0 field:fds.postfinance.file,id:0 +msgid "ID" +msgstr "ID" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Import" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Import key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "Import to Bank Statement" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,msg_file_imported:0 +msgid "Imported files" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,journal_id:0 +msgid "Journal" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,key_active:0 +msgid "Key active" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_account.py:104 +#, python-format +msgid "Key not active" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,write_uid:0 +#: field:fds.files.import.tobankstatments.wizard,write_uid:0 +#: field:fds.key.clone.wizard,write_uid:0 +#: field:fds.key.generator.wizard,write_uid:0 +#: field:fds.key.import.wizard,write_uid:0 +#: field:fds.postfinance.account,write_uid:0 +#: field:fds.postfinance.directory,write_uid:0 +#: field:fds.postfinance.file,write_uid:0 +msgid "Last Updated by" +msgstr "Modifié par" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,write_date:0 +#: field:fds.files.import.tobankstatments.wizard,write_date:0 +#: field:fds.key.clone.wizard,write_date:0 +#: field:fds.key.generator.wizard,write_date:0 +#: field:fds.key.import.wizard,write_date:0 +#: field:fds.postfinance.account,write_date:0 +#: field:fds.postfinance.directory,write_date:0 +#: field:fds.postfinance.file,write_date:0 +msgid "Last Updated on" +msgstr "Modifié le" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +msgid "Make another copy" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,name:0 +msgid "Name" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "New key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/wizards/fds_key_generator_wizard.py:142 +#, python-format +msgid "" +"Not implemented yet, download public key and send the email to postfinance " +"manually." +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.account,user_id:0 +msgid "" +"Owner must have the rights to register new key pairs for this account. Its " +"e-mail address will be used to send the keys of new users to PostFinance" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,postfinance_email:0 +msgid "Postfinance email" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.import.wizard,private_key_import_file:0 +#: field:fds.key.import.wizard,private_key_import_txt:0 +msgid "Private key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,private_key_crypted:0 +msgid "Private key crypted" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,ppk_filename:0 +msgid "Private key filename" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,public_key:0 +#: field:fds.key.import.wizard,public_key_import_file:0 +#: field:fds.key.import.wizard,public_key_import_txt:0 +msgid "Public key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,pub_filename:0 +msgid "Public key filename" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "Reset to draft" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,hostname:0 +msgid "SFTP Hostname" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,username:0 +msgid "SFTP Username" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "SFTP unable to connect." +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Send to Postfinance" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,state:0 +#: field:fds.key.clone.wizard,state:0 field:fds.key.generator.wizard,state:0 +#: field:fds.key.import.wizard,state:0 field:fds.postfinance.file,state:0 +msgid "State" +msgstr "Etat" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.clone.wizard,des_user_id:0 +msgid "To:" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_account.py:124 +#, python-format +msgid "Unable to connect to the sftp" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Upload History" +msgstr "Historique de téléversement" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,user_id:0 +#: field:fds.key.generator.wizard,user_id:0 +#: field:fds.key.import.wizard,user_id:0 +msgid "User" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Validate" +msgstr "Valider" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Verify directories" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_account.py:101 +#, python-format +msgid "You don't have key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "You don't have the permission." +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.files.import.tobankstatments.wizard,state:0 +#: help:fds.key.clone.wizard,state:0 help:fds.key.generator.wizard,state:0 +#: help:fds.key.import.wizard,state:0 +msgid "[Info] keep state of the wizard" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,still_on_server:0 +msgid "[info] if the directory still exist on the FDS sftp" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.generator.wizard,fds_authentication_keys_id:0 +#: help:fds.key.import.wizard,fds_authentication_keys_id:0 +msgid "[info] keep one recored of the model fds_authentication_key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.clone.wizard,des_user_id:0 +#: help:fds.key.generator.wizard,user_id:0 +#: help:fds.key.import.wizard,user_id:0 +msgid "assign the key to the user selected" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,allow_download_file:0 +msgid "check it to allow download files from this FDS directory" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,allow_upload_file:0 +msgid "check it to allow upload files to this FDS directory" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +msgid "copy successful" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,private_key_import_txt:0 +msgid "copy/paste your private key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,public_key_import_txt:0 +msgid "copy/paste your public key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,journal_id:0 +msgid "default journal needed to import to bank statements" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.account,fds_file_ids:0 +msgid "downloaded files from sftp" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "import" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "import file" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "manual import" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.file,fds_account_id:0 +msgid "related FDS account" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "results" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,private_key_import_file:0 +msgid "select one file that contain your private key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,public_key_import_file:0 +msgid "select one file that contain your public key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.clone.wizard,src_user_key_id:0 +msgid "select one key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.file,state:0 +msgid "state of file" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.file,data:0 +msgid "the downloaded file data" +msgstr "" diff --git a/l10n_ch_fds_postfinance/i18n/it.po b/l10n_ch_fds_postfinance/i18n/it.po new file mode 100644 index 000000000..522b6974c --- /dev/null +++ b/l10n_ch_fds_postfinance/i18n/it.po @@ -0,0 +1,631 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_ch_fds_postfinance +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: l10n-switzerland (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-01-06 09:18+0000\n" +"PO-Revision-Date: 2016-01-05 16:29+0000\n" +"Last-Translator: <>\n" +"Language-Team: Italian (http://www.transifex.com/oca/OCA-l10n-switzerland-8-0/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_ch_fds_postfinance +#: model:ir.actions.act_window,help:l10n_ch_fds_postfinance.action_fds_postfinance_account +msgid "" +"

\n" +" Click to create a new PostFinance File Delivery Services (FDS) Account.

\n" +" FDS acts as a gateway in the IT security system between Swiss Post’s Intranet and external networks. It enables\n" +" files and applications to be exchanged among internal and external partners of Post CH Ltd.

\n" +" " +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: model:ir.actions.act_window,help:l10n_ch_fds_postfinance.action_fds_files +msgid "" +"

\n" +" Select the FDS PostFinance that you want to connect.

\n" +" This view will allow to list the content of your FDS PostFinance directory\n" +" and import selected files to Bank Statements.\n" +" If your FDS PostFinance don't appear, start by setup an account.

\n" +" " +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,user_id:0 +msgid "Account Owner" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_file.py:91 +#, python-format +msgid "Add default journal in acount conf" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,allow_download_file:0 +msgid "Allow download file?" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,allow_upload_file:0 +msgid "Allow upload file?" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "Are you sure?" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,authentication_key_ids:0 +msgid "Authentication keys" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,bank_statement_id:0 +msgid "Bank Statement" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Cancel" +msgstr "Annulla" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "Click on import to download files." +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Clone key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Close" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +msgid "Copy" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.clone.wizard,src_user_key_id:0 +msgid "Copy authentication key:" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,create_uid:0 +#: field:fds.files.import.tobankstatments.wizard,create_uid:0 +#: field:fds.key.clone.wizard,create_uid:0 +#: field:fds.key.generator.wizard,create_uid:0 +#: field:fds.key.import.wizard,create_uid:0 +#: field:fds.postfinance.account,create_uid:0 +#: field:fds.postfinance.directory,create_uid:0 +#: field:fds.postfinance.file,create_uid:0 +msgid "Created by" +msgstr "Creato da" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,create_date:0 +#: field:fds.files.import.tobankstatments.wizard,create_date:0 +#: field:fds.key.clone.wizard,create_date:0 +#: field:fds.key.generator.wizard,create_date:0 +#: field:fds.key.import.wizard,create_date:0 +#: field:fds.postfinance.account,create_date:0 +#: field:fds.postfinance.directory,create_date:0 +#: field:fds.postfinance.file,create_date:0 +msgid "Created on" +msgstr "Creato il" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,data:0 +msgid "Data" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +#: selection:fds.key.clone.wizard,state:0 +#: selection:fds.key.generator.wizard,state:0 +#: selection:fds.key.import.wizard,state:0 +msgid "Default" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,directory_id:0 +msgid "Directory" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,name:0 +msgid "Directory name" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,still_on_server:0 +msgid "Directory still on server?" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +#: selection:fds.key.clone.wizard,state:0 +#: selection:fds.key.generator.wizard,state:0 +#: selection:fds.key.import.wizard,state:0 +#: selection:fds.postfinance.file,state:0 +msgid "Done" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: model:ir.actions.act_window,name:l10n_ch_fds_postfinance.action_fds_files_import_tobankstatments_wizard +msgid "Download FDS files" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Download History" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.postfinance.file,state:0 +msgid "Draft" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.account,postfinance_email:0 +msgid "E-mail of FDS Postfinance" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.postfinance.file,state:0 +msgid "Error" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +msgid "Error Permission" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: selection:fds.files.import.tobankstatments.wizard,state:0 +msgid "Error SFTP" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS Directories" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "FDS PostFinance file" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_file_ids_form +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +#: model:ir.actions.act_window,name:l10n_ch_fds_postfinance.action_fds_files +#: model:ir.ui.menu,name:l10n_ch_fds_postfinance.menu_fds_file_ids +msgid "FDS PostFinance files" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_file_ids_tree +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_tree +#: model:ir.actions.act_window,name:l10n_ch_fds_postfinance.action_fds_postfinance_account +#: model:ir.ui.menu,name:l10n_ch_fds_postfinance.menu_fds_postfinance_configuration +msgid "FDS Postfinance Account" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,fds_file_ids:0 +msgid "FDS Postfinance files" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +msgid "FDS Postfinance generate authentication keys parameters" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "FDS Postfinance import authentication keys parameters" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS Users" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,fds_account_id:0 +#: field:fds.postfinance.directory,fds_account_id:0 +#: field:fds.postfinance.file,fds_account_id:0 +msgid "FDS account" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.authentication.keys:l10n_ch_fds_postfinance.fds_authentication_keys_form +msgid "FDS authentication key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.generator.wizard,fds_authentication_keys_id:0 +#: field:fds.key.import.wizard,fds_authentication_keys_id:0 +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS authentication keys" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "FDS files directory" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,directory_ids:0 +msgid "FDS postfinance directories" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "File Corrupt" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,msg_import_file_fail:0 +msgid "File import failures" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.file,filename:0 +msgid "Filename" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,msg_exist_file:0 +msgid "Files already existing" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: selection:fds.key.generator.wizard,state:0 +#: selection:fds.key.import.wizard,state:0 +msgid "Generate" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,id:0 +#: field:fds.files.import.tobankstatments.wizard,id:0 +#: field:fds.key.clone.wizard,id:0 field:fds.key.generator.wizard,id:0 +#: field:fds.key.import.wizard,id:0 field:fds.postfinance.account,id:0 +#: field:fds.postfinance.directory,id:0 field:fds.postfinance.file,id:0 +msgid "ID" +msgstr "ID" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Import" +msgstr "Importa" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Import key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "Import to Bank Statement" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,msg_file_imported:0 +msgid "Imported files" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.directory,journal_id:0 +msgid "Journal" +msgstr "Sezionale" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,key_active:0 +msgid "Key active" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_account.py:104 +#, python-format +msgid "Key not active" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,write_uid:0 +#: field:fds.files.import.tobankstatments.wizard,write_uid:0 +#: field:fds.key.clone.wizard,write_uid:0 +#: field:fds.key.generator.wizard,write_uid:0 +#: field:fds.key.import.wizard,write_uid:0 +#: field:fds.postfinance.account,write_uid:0 +#: field:fds.postfinance.directory,write_uid:0 +#: field:fds.postfinance.file,write_uid:0 +msgid "Last Updated by" +msgstr "Last Updated by" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,write_date:0 +#: field:fds.files.import.tobankstatments.wizard,write_date:0 +#: field:fds.key.clone.wizard,write_date:0 +#: field:fds.key.generator.wizard,write_date:0 +#: field:fds.key.import.wizard,write_date:0 +#: field:fds.postfinance.account,write_date:0 +#: field:fds.postfinance.directory,write_date:0 +#: field:fds.postfinance.file,write_date:0 +msgid "Last Updated on" +msgstr "Last Updated on" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +msgid "Make another copy" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,name:0 +msgid "Name" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "New key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/wizards/fds_key_generator_wizard.py:142 +#, python-format +msgid "" +"Not implemented yet, download public key and send the email to postfinance " +"manually." +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.account,user_id:0 +msgid "" +"Owner must have the rights to register new key pairs for this account. Its " +"e-mail address will be used to send the keys of new users to PostFinance" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,postfinance_email:0 +msgid "Postfinance email" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.import.wizard,private_key_import_file:0 +#: field:fds.key.import.wizard,private_key_import_txt:0 +msgid "Private key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,private_key_crypted:0 +msgid "Private key crypted" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,ppk_filename:0 +msgid "Private key filename" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,public_key:0 +#: field:fds.key.import.wizard,public_key_import_file:0 +#: field:fds.key.import.wizard,public_key_import_txt:0 +msgid "Public key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,pub_filename:0 +msgid "Public key filename" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.file:l10n_ch_fds_postfinance.fds_postfinance_files_form +msgid "Reset to draft" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,hostname:0 +msgid "SFTP Hostname" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.postfinance.account,username:0 +msgid "SFTP Username" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "SFTP unable to connect." +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Send to Postfinance" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.files.import.tobankstatments.wizard,state:0 +#: field:fds.key.clone.wizard,state:0 field:fds.key.generator.wizard,state:0 +#: field:fds.key.import.wizard,state:0 field:fds.postfinance.file,state:0 +msgid "State" +msgstr "Stato" + +#. module: l10n_ch_fds_postfinance +#: field:fds.key.clone.wizard,des_user_id:0 +msgid "To:" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_account.py:124 +#, python-format +msgid "Unable to connect to the sftp" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Upload History" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: field:fds.authentication.keys,user_id:0 +#: field:fds.key.generator.wizard,user_id:0 +#: field:fds.key.import.wizard,user_id:0 +msgid "User" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.generator.wizard:l10n_ch_fds_postfinance.view_fds_key_generator_wizard_form +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "Validate" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.postfinance.account:l10n_ch_fds_postfinance.view_fds_postfinance_account_form +msgid "Verify directories" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: code:addons/l10n_ch_fds_postfinance/models/fds_postfinance_account.py:101 +#, python-format +msgid "You don't have key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "You don't have the permission." +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.files.import.tobankstatments.wizard,state:0 +#: help:fds.key.clone.wizard,state:0 help:fds.key.generator.wizard,state:0 +#: help:fds.key.import.wizard,state:0 +msgid "[Info] keep state of the wizard" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,still_on_server:0 +msgid "[info] if the directory still exist on the FDS sftp" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.generator.wizard,fds_authentication_keys_id:0 +#: help:fds.key.import.wizard,fds_authentication_keys_id:0 +msgid "[info] keep one recored of the model fds_authentication_key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.clone.wizard,des_user_id:0 +#: help:fds.key.generator.wizard,user_id:0 +#: help:fds.key.import.wizard,user_id:0 +msgid "assign the key to the user selected" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,allow_download_file:0 +msgid "check it to allow download files from this FDS directory" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,allow_upload_file:0 +msgid "check it to allow upload files to this FDS directory" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.clone.wizard:l10n_ch_fds_postfinance.view_fds_key_clone_wizard_form +msgid "copy successful" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,private_key_import_txt:0 +msgid "copy/paste your private key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,public_key_import_txt:0 +msgid "copy/paste your public key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.directory,journal_id:0 +msgid "default journal needed to import to bank statements" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.account,fds_file_ids:0 +msgid "downloaded files from sftp" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "import" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "import file" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.key.import.wizard:l10n_ch_fds_postfinance.view_fds_key_import_wizard_form +msgid "manual import" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.file,fds_account_id:0 +msgid "related FDS account" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: view:fds.files.import.tobankstatments.wizard:l10n_ch_fds_postfinance.view_fds_files_import_tobankstatments_wizard_form +msgid "results" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,private_key_import_file:0 +msgid "select one file that contain your private key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.import.wizard,public_key_import_file:0 +msgid "select one file that contain your public key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.key.clone.wizard,src_user_key_id:0 +msgid "select one key" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.file,state:0 +msgid "state of file" +msgstr "" + +#. module: l10n_ch_fds_postfinance +#: help:fds.postfinance.file,data:0 +msgid "the downloaded file data" +msgstr "" diff --git a/l10n_ch_fds_postfinance/models/__init__.py b/l10n_ch_fds_postfinance/models/__init__.py new file mode 100644 index 000000000..2babdd197 --- /dev/null +++ b/l10n_ch_fds_postfinance/models/__init__.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Swiss Postfinance File Delivery Services module for Odoo +# Copyright (C) 2015 Compassion CH +# @author: Nicolas Tran +# +# 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 . import fds_authentication_keys +from . import fds_postfinance_account +from . import fds_postfinance_file +from . import fds_postfinance_directory diff --git a/l10n_ch_fds_postfinance/models/fds_authentication_keys.py b/l10n_ch_fds_postfinance/models/fds_authentication_keys.py new file mode 100644 index 000000000..ab6912503 --- /dev/null +++ b/l10n_ch_fds_postfinance/models/fds_authentication_keys.py @@ -0,0 +1,118 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Swiss Postfinance File Delivery Services module for Odoo +# Copyright (C) 2015 Compassion CH +# @author: Nicolas Tran +# +# 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 openerp import models, fields, api +from openerp.tools.config import config +from Crypto.PublicKey import RSA +from Crypto import Random + + +class fds_authentication_keys(models.Model): + ''' this class generate RSA key pair with the private key crypted and + store the key in the database + ''' + _name = 'fds.authentication.keys' + _rec_name = 'user_id' + + user_id = fields.Many2one( + comodel_name='res.users', + string='User', + ondelete='restrict', + readonly=True, + ) + fds_account_id = fields.Many2one( + comodel_name='fds.postfinance.account', + string='FDS account', + ondelete='restrict', + readonly=True, + ) + public_key = fields.Binary( + readonly=True, + ) + private_key_crypted = fields.Binary( + string='Private key crypted', + readonly=True, + ) + pub_filename = fields.Char( + string='Public key filename', + readonly=True, + ) + ppk_filename = fields.Char( + string='Private key filename', + readonly=True, + ) + key_active = fields.Boolean( + default=True, + ) + + @api.multi + def config(self): + ''' Configuration RSA: password to encrypt the private key. + Note: the password must be add in the odoo config file + (ie. ssh_pwd = *****) + + :returns str: the pass key that allow to decrypt the private key + ''' + password = config.get('ssh_pwd') + return password + + @api.multi + def generate_pairkey(self, bits=4096): + ''' generate the RSA key pair. + + :returns (str, str): public key and private key crypted + ''' + generator = Random.new().read + keys = RSA.generate(bits, generator) + private_key_crypted = keys.exportKey("PEM", self.config()) + public_key = keys.publickey().exportKey("OpenSSH") + + return (public_key, private_key_crypted) + + @api.multi + def import_pairkey(self, public_key, private_key): + ''' import and crypte private key. + + :returns (str, str): public key and private key crypted + ''' + importKey = RSA.importKey(private_key) + private_key_crypted = importKey.exportKey("PEM", self.config()) + + return (public_key, private_key_crypted) + + @api.multi + def clone_key_to(self, user): + ''' create a new record with the same key + + :params record: of model res.users + :return record: of model fds.authentication.key + ''' + values = { + 'user_id': user.id, + 'fds_account_id': self.fds_account_id.id, + 'public_key': self.public_key, + 'private_key_crypted': self.private_key_crypted, + 'pub_filename': self.pub_filename, + 'ppk_filename': self.ppk_filename, + 'key_active': self.key_active} + + return self.create(values) diff --git a/l10n_ch_fds_postfinance/models/fds_postfinance_account.py b/l10n_ch_fds_postfinance/models/fds_postfinance_account.py new file mode 100644 index 000000000..ad31bd26c --- /dev/null +++ b/l10n_ch_fds_postfinance/models/fds_postfinance_account.py @@ -0,0 +1,239 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Swiss Postfinance File Delivery Services module for Odoo +# Copyright (C) 2015 Compassion CH +# @author: Nicolas Tran +# +# 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 openerp import models, fields, api, exceptions, _ +import logging +import base64 +import tempfile +import shutil +import pysftp + +_logger = logging.getLogger(__name__) + + +class fds_postfinance_account(models.Model): + ''' the FDS PostFinance configuration that allow to connect to the + PostFinance server + ''' + _name = 'fds.postfinance.account' + + name = fields.Char( + required=True + ) + hostname = fields.Char( + string='SFTP Hostname', + default='fds.post.ch', + required=True, + ) + postfinance_email = fields.Char( + default='fds@post.ch', + required=True, + help='E-mail of FDS Postfinance' + ) + username = fields.Char( + string='SFTP Username', + required=True, + ) + user_id = fields.Many2one( + comodel_name='res.users', + string='Account Owner', + ondelete='restrict', + required=True, + help='Owner must have the rights to register new key pairs for this ' + 'account. Its e-mail address will be used to send the keys ' + 'of new users to PostFinance' + ) + authentication_key_ids = fields.One2many( + comodel_name='fds.authentication.keys', + inverse_name='fds_account_id', + string='Authentication keys', + ) + fds_file_ids = fields.One2many( + comodel_name='fds.postfinance.file', + inverse_name='fds_account_id', + string='FDS Postfinance files', + readonly=True, + help='downloaded files from sftp' + ) + directory_ids = fields.One2many( + comodel_name='fds.postfinance.directory', + inverse_name='fds_account_id', + string='FDS postfinance directories', + ) + + ################################## + # Button action # + ################################## + @api.multi + def verify_directories_button(self): + ''' test connection and verify if directories are the same in the DB + + :returns None: + :raises Warning: + - if current user do not have key + - if unable to connect to sftp + ''' + self.ensure_one() + + key = [e for e in self.authentication_key_ids + if e.user_id == self.env.user] + + if not key: + raise exceptions.Warning(_("You don't have key")) + + if not key[0].key_active: + raise exceptions.Warning(_('Key not active')) + + try: + (tmp_key, tmp_d) = self._create_tmp_file( + key[0].private_key_crypted) + key_pass = self.authentication_key_ids.config() + + # connect sftp + with pysftp.Connection(self.hostname, + username=self.username, + private_key=tmp_key.name, + private_key_pass=key_pass) as sftp: + + directories = sftp.listdir() + + # save new directories + self._save_directories(directories) + + except Exception as e: + _logger.error("Unable to connect to the sftp: %s", e) + raise exceptions.Warning(_('Unable to connect to the sftp')) + + finally: + try: + tmp_key.close() + except: + _logger.error("remove tmp_key file failed") + try: + shutil.rmtree(tmp_d) + except: + _logger.error("remove tmp directory failed") + + @api.multi + def copy_key_button(self): + ''' copy an authentication key to another user. + + :returns action: popup fds key clone wizard + ''' + action = { + 'type': 'ir.actions.act_window', + 'view_type': 'form', + 'view_mode': 'form', + 'res_model': 'fds.key.clone.wizard', + 'target': 'new', + } + return action + + @api.multi + def newKey_button(self): + ''' generate a new authentication key to a user. + + :returns action: popup fds key generator wizard + ''' + action = { + 'type': 'ir.actions.act_window', + 'view_type': 'form', + 'view_mode': 'form', + 'res_model': 'fds.key.generator.wizard', + 'target': 'new', + } + return action + + @api.multi + def import_key_button(self): + ''' import an authentication key to a user. + + :returns action: popup fds key import wizard + ''' + action = { + 'type': 'ir.actions.act_window', + 'view_type': 'form', + 'view_mode': 'form', + 'res_model': 'fds.key.import.wizard', + 'target': 'new', + } + return action + + ############################## + # function # + ############################## + @api.multi + def _create_tmp_file(self, data, tmp_directory=None): + ''' private function that write data to a tmp file and if no tmp + directory use, create one. + + :param str data: data in base64 format + :param str tmp_directory: path of the directory + :returns (obj file, str directory): obj of type tempfile + ''' + self.ensure_one() + try: + if not tmp_directory: + tmp_directory = tempfile.mkdtemp() + + tmp_file = tempfile.NamedTemporaryFile(dir=tmp_directory) + tmp_file.write(base64.b64decode(data)) + tmp_file.flush() + return (tmp_file, tmp_directory) + except Exception as e: + _logger.error("Bad handling tmp in fds_inherit_sepa_wizard: %s", e) + + @api.multi + def _save_directories(self, directories): + ''' private function that save the name of directory in db + + :returns None: + ''' + dir_exist = self.directory_ids.mapped('name') + + # add new directory + directory_to_add = [dir for dir in directories if dir not in dir_exist] + for directory in directory_to_add: + values = {'name': directory, 'fds_account_id': self.id} + self.directory_ids.create(values) + _logger.info("[OK] add directory '%s' ", (directory)) + + # change status if directory doesn't exist any more on the fds server + dir_to_change = [dir for dir in dir_exist if dir not in directories] + for directory in dir_to_change: + fds_directory_ids = self.directory_ids.search([ + ['fds_account_id', '=', self.id], + ['name', '=', directory]]) + fds_directory_ids.write({ + 'still_on_server': False, + 'allow_download_file': False, + 'allow_upload_file': False}) + _logger.info("[OK] disable directory '%s' ", (directory)) + + # check if 'still_on_server' correct + dir_check = [e.name for e in self.directory_ids + if e.still_on_server is False and e.name in directories] + for directory in dir_check: + fds_directory_ids = self.directory_ids.search([ + ['fds_account_id', '=', self.id], + ['name', '=', directory]]) + fds_directory_ids.write({'still_on_server': True}) diff --git a/l10n_ch_fds_postfinance/models/fds_postfinance_directory.py b/l10n_ch_fds_postfinance/models/fds_postfinance_directory.py new file mode 100644 index 000000000..28414cc90 --- /dev/null +++ b/l10n_ch_fds_postfinance/models/fds_postfinance_directory.py @@ -0,0 +1,61 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Swiss Postfinance File Delivery Services module for Odoo +# Copyright (C) 2015 Compassion CH +# @author: Nicolas Tran +# +# 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 openerp import models, fields + + +class FdsPostfinanceDirectory(models.Model): + ''' Keep directory name of each FDS folder in the database + ''' + _name = 'fds.postfinance.directory' + + name = fields.Char( + string='Directory name', + readonly=True, + ) + fds_account_id = fields.Many2one( + comodel_name='fds.postfinance.account', + string='FDS account', + ondelete='restrict', + readonly=True, + ) + journal_id = fields.Many2one( + comodel_name='account.journal', + string='Journal', + help='default journal needed to import to bank statements' + ) + allow_download_file = fields.Boolean( + string='Allow download file?', + default=False, + help='check it to allow download files from this FDS directory' + ) + allow_upload_file = fields.Boolean( + string='Allow upload file?', + default=False, + help='check it to allow upload files to this FDS directory' + ) + still_on_server = fields.Boolean( + string='Directory still on server?', + default=True, + readonly=True, + help='[info] if the directory still exist on the FDS sftp' + ) diff --git a/l10n_ch_fds_postfinance/models/fds_postfinance_file.py b/l10n_ch_fds_postfinance/models/fds_postfinance_file.py new file mode 100644 index 000000000..25ec47346 --- /dev/null +++ b/l10n_ch_fds_postfinance/models/fds_postfinance_file.py @@ -0,0 +1,179 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Swiss Postfinance File Delivery Services module for Odoo +# Copyright (C) 2015 Compassion CH +# @author: Nicolas Tran +# +# 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 openerp import models, fields, api, exceptions, _ +import logging + +_logger = logging.getLogger(__name__) + + +class FdsPostfinanceFile(models.Model): + ''' Model of the information and files downloaded on FDS PostFinance + (Keep files in the database) + ''' + _name = 'fds.postfinance.file' + + fds_account_id = fields.Many2one( + comodel_name='fds.postfinance.account', + string='FDS account', + ondelete='restrict', + readonly=True, + help='related FDS account' + ) + data = fields.Binary( + readonly=True, + help='the downloaded file data' + ) + bank_statement_id = fields.Many2one( + comodel_name='account.bank.statement', + string='Bank Statement', + ondelete='restrict', + readonly=True, + ) + filename = fields.Char( + readonly=True + ) + directory_id = fields.Many2one( + 'fds.postfinance.directory', + string='Directory', + ondelete='restrict', + readonly=True, + ) + journal_id = fields.Many2one( + comodel_name='account.journal', + related='directory_id.journal_id', + string='journal', + ondelete='restrict', + readonly=True, + help='default journal for this file' + ) + state = fields.Selection( + selection=[('draft', 'Draft'), + ('done', 'Done'), + ('error', 'Error')], + readonly=True, + default='draft', + help='state of file' + ) + + ################################## + # Button action # + ################################## + @api.multi + def import_button(self): + ''' convert the file to record of model bankStatment. + Called by pressing import button. + + :return None: + ''' + self.ensure_one() + + if not self.directory_id.journal_id: + raise exceptions.Warning(_('Add default journal in acount conf')) + self.import2bankStatements() + + @api.multi + def change2error_button(self): + ''' change the state of the file to error because the file is corrupt. + Called by pressing 'corrupt file?' button. + + :return None: + ''' + self.ensure_one() + self._sate_error_on() + + @api.multi + def change2draft_button(self): + ''' undo the file is corrupt to state draft. + Called by pressing 'cancel corrupt file' button. + + :return None: + ''' + self.state = 'draft' + + ############################## + # function # + ############################## + @api.multi + def import2bankStatements(self): + ''' convert the file to a record of model bankStatment. + + :returns bool: + - True if the convert was succeed + - False otherwise + ''' + self.ensure_one() + + try: + values = { + 'journal_id': self.directory_id.journal_id.id, + 'data_file': self.data} + bs_imoprt_obj = self.env['account.bank.statement.import'] + bank_wiz_imp = bs_imoprt_obj.create(values) + bank_wiz_imp.import_file() + self._state_done_on() + self._add_bankStatement_ref() + self._remove_binary_file() + _logger.info("[OK] import file '%s' to bank Statements", + (self.filename)) + return True + except: + _logger.warning("[FAIL] import file '%s' to bank Statements", + (self.filename)) + return False + + @api.multi + def _add_bankStatement_ref(self): + ''' private function that add the reference to bank statement. + + :returns None: + ''' + bs = self.env['account.bank.statement'].search([ + ['state', '=', 'draft'], + ['create_uid', '=', self.env.uid]]) + self.write({'bank_statement_id': max(bs).id}) + + @api.multi + def _remove_binary_file(self): + ''' private function that remove the binary file. + the binary file is already convert to bank statment attachment. + + :returns None: + ''' + self.write({'data': None}) + + @api.multi + def _state_done_on(self): + ''' private function that change state to done + + :returns: None + ''' + self.ensure_one() + self.write({'state': 'done'}) + + def _sate_error_on(self): + ''' private function that change state to error + + :returns: None + ''' + self.ensure_one() + self.write({'state': 'error'}) diff --git a/l10n_ch_fds_postfinance/security/ir.model.access.csv b/l10n_ch_fds_postfinance/security/ir.model.access.csv new file mode 100644 index 000000000..589f4e8d4 --- /dev/null +++ b/l10n_ch_fds_postfinance/security/ir.model.access.csv @@ -0,0 +1,13 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink + +access_fds_postfinance_account,access_fds_postfinance_account,model_fds_postfinance_account,account.group_account_user,1,0,0,0 +full_access_fds_postfinance_account,full_access_fds_postfinance_account,model_fds_postfinance_account,base.group_system,1,1,1,1 + +access_fds_authentication_keys,access_fds_authentication_keys,model_fds_authentication_keys,account.group_account_user,1,0,0,0 +full_access_fds_authentication_keys,full_access_fds_authentication_keys,model_fds_authentication_keys,base.group_system,1,1,1,1 + +access_fds_postfinance_file,access_fds_postfinance_file,model_fds_postfinance_file,account.group_account_user,1,1,0,0 +full_access_fds_postfinance_file,full_access_fds_postfinance_file,model_fds_postfinance_file,base.group_system,1,1,1,1 + +access_fds_postfinance_directory,access_fds_postfinance_directory,model_fds_postfinance_directory,account.group_account_user,1,1,0,0 +full_access_fds_postfinance_directory,full_access_fds_postfinance_directory,model_fds_postfinance_directory,base.group_system,1,1,1,1 diff --git a/l10n_ch_fds_postfinance/views/fds_authentication_keys_view.xml b/l10n_ch_fds_postfinance/views/fds_authentication_keys_view.xml new file mode 100644 index 000000000..ea260437d --- /dev/null +++ b/l10n_ch_fds_postfinance/views/fds_authentication_keys_view.xml @@ -0,0 +1,24 @@ + + + + + + FDS authentication keys form + fds.authentication.keys + +
+ + + + + + + + + +
+
+
+ +
+
\ No newline at end of file diff --git a/l10n_ch_fds_postfinance/views/fds_files_import_tobankstatments_wizard_view.xml b/l10n_ch_fds_postfinance/views/fds_files_import_tobankstatments_wizard_view.xml new file mode 100644 index 000000000..3e81497c5 --- /dev/null +++ b/l10n_ch_fds_postfinance/views/fds_files_import_tobankstatments_wizard_view.xml @@ -0,0 +1,54 @@ + + + + + + Download FDS files view + fds.files.import.tobankstatments.wizard + +
+ + +

Click on import to download files.

+
+ + + + + + + + +

You don't have the permission.

+
+ +

SFTP unable to connect.

+
+
+
+ +
+
+ + + + Download FDS files + fds.files.import.tobankstatments.wizard + form + form + new + + + + fds.postfinance.account + Download FDS files + + action + + + +
+
\ No newline at end of file diff --git a/l10n_ch_fds_postfinance/views/fds_files_update_wizard_view.xml b/l10n_ch_fds_postfinance/views/fds_files_update_wizard_view.xml new file mode 100644 index 000000000..549902741 --- /dev/null +++ b/l10n_ch_fds_postfinance/views/fds_files_update_wizard_view.xml @@ -0,0 +1,48 @@ + + + + + + FDS files import to bank Statments wizard view + fds.files.import.tobankstatments.wizard + +
+ + +

click on import to download files.

+
+ +

You don't have the permission.

+
+ +

SFTP unable to connect.

+
+
+
+ +
+
+ + + + FDS files import to bank Statments + fds.files.import.tobankstatments.wizard + form + form + new + + + + client_action_multi + fds.postfinance.account + FDS files import to bank Statments + + action + + + +
+
\ No newline at end of file diff --git a/l10n_ch_fds_postfinance/views/fds_key_clone_wizard_view.xml b/l10n_ch_fds_postfinance/views/fds_key_clone_wizard_view.xml new file mode 100644 index 000000000..45d18d00c --- /dev/null +++ b/l10n_ch_fds_postfinance/views/fds_key_clone_wizard_view.xml @@ -0,0 +1,29 @@ + + + + + + FDS key clone wizard view + fds.key.clone.wizard + +
+ + + + + + + +

copy successful

+
+
+
+ +
+
+
+
\ No newline at end of file diff --git a/l10n_ch_fds_postfinance/views/fds_key_generator_wizard_view.xml b/l10n_ch_fds_postfinance/views/fds_key_generator_wizard_view.xml new file mode 100644 index 000000000..0fa104c82 --- /dev/null +++ b/l10n_ch_fds_postfinance/views/fds_key_generator_wizard_view.xml @@ -0,0 +1,54 @@ + + + + + + FDS key generator wizard view + fds.key.generator.wizard + +
+ + + + + + + + + + + + +
+
+ +
+
+ + + +
+
\ No newline at end of file diff --git a/l10n_ch_fds_postfinance/views/fds_key_import_wizard_view.xml b/l10n_ch_fds_postfinance/views/fds_key_import_wizard_view.xml new file mode 100644 index 000000000..d1997d68e --- /dev/null +++ b/l10n_ch_fds_postfinance/views/fds_key_import_wizard_view.xml @@ -0,0 +1,68 @@ + + + + + + FDS key import wizard view + fds.key.import.wizard + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + + +
+
\ No newline at end of file diff --git a/l10n_ch_fds_postfinance/views/fds_postfinance_account_view.xml b/l10n_ch_fds_postfinance/views/fds_postfinance_account_view.xml new file mode 100644 index 000000000..b6c29e318 --- /dev/null +++ b/l10n_ch_fds_postfinance/views/fds_postfinance_account_view.xml @@ -0,0 +1,186 @@ + + + + + + + fds.postfinance.account.tree + fds.postfinance.account + + + + + + + + + + + + + + + fds.postfinance.account.form + fds.postfinance.account + +
+
+
+ + + + + + + + + +
+
+
+
diff --git a/l10n_ch_fds_upload_dd/views/fds_postfinance_account_dd_view.xml b/l10n_ch_fds_upload_dd/views/fds_postfinance_account_dd_view.xml new file mode 100644 index 000000000..7f514e4c8 --- /dev/null +++ b/l10n_ch_fds_upload_dd/views/fds_postfinance_account_dd_view.xml @@ -0,0 +1,24 @@ + + + + + FDS PostFinance account view - Direct debit extension + fds.postfinance.account + + + + + + + + + + + + + + + + + + diff --git a/l10n_ch_fds_upload_dd/wizards/__init__.py b/l10n_ch_fds_upload_dd/wizards/__init__.py new file mode 100644 index 000000000..633139bb1 --- /dev/null +++ b/l10n_ch_fds_upload_dd/wizards/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Swiss Postfinance File Delivery Services module for Odoo +# Copyright (C) 2014 Compassion CH +# @author: Nicolas Tran +# +# 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 . import fds_inherit_post_dd_export_upload_wizard diff --git a/l10n_ch_fds_upload_dd/wizards/fds_inherit_post_dd_export_upload_wizard.py b/l10n_ch_fds_upload_dd/wizards/fds_inherit_post_dd_export_upload_wizard.py new file mode 100644 index 000000000..1dad316ea --- /dev/null +++ b/l10n_ch_fds_upload_dd/wizards/fds_inherit_post_dd_export_upload_wizard.py @@ -0,0 +1,255 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Swiss Postfinance File Delivery Services module for Odoo +# Copyright (C) 2014 Compassion CH +# @author: Nicolas Tran +# +# 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 openerp import models, fields, api, exceptions +import logging +import base64 +import tempfile +import shutil +import pysftp +import os + +_logger = logging.getLogger(__name__) + + +class fds_inherit_post_dd_export_upload_wizard(models.TransientModel): + ''' This addon allows you to upload the Direct Debit generated file to + your FDS Postfinance. + + This addon will add an upload button to the DD wizard. + This Class inherits from l10n_ch_lsv_dd.post_dd_export_wizard + ''' + _inherit = 'post.dd.export.wizard' + + fds_account_id = fields.Many2one( + comodel_name='fds.postfinance.account', + string='FDS account', + default=lambda self: self._get_default_account() + ) + fds_directory_id = fields.Many2one( + comodel_name='fds.postfinance.directory', + string='FDS directory', + help='Select one upload directory. Be sure to have at least one ' + 'directory configured with upload access rights.' + ) + state = fields.Selection( + selection=[('create', 'Create'), + ('finish', 'finish'), + ('upload', 'upload'), + ('confirm', 'confirm')], + readonly=True, + default='create', + ) + + ################################## + # Button action # + ################################## + @api.multi + def upload_export_button(self): + ''' Change the view to allow uploading the generated file into a + FDS remote folder. + + :returns action: configuration for the next wizard's view + ''' + self.ensure_one() + self.state = 'upload' + return self._refresh_wizard() + + @api.multi + def send_export_button(self): + ''' Upload pain_001 file to the FDS Postfinance by SFTP + + :returns action: configuration for wizard's next view + :raises Warning: + - If no FDS account and directory selected + - If current user do not have key + - If connection to SFTP fails + ''' + self.ensure_one() + if not self.fds_account_id: + raise exceptions.Warning('Select a FDS account') + + if not self.fds_directory_id: + raise exceptions.Warning('Select a directory') + + # check key of active user + fds_keys_obj = self.env['fds.authentication.keys'] + key = fds_keys_obj.search([ + ['user_id', '=', self.env.uid], + ['fds_account_id', '=', self.fds_account_id.id], + ['key_active', '=', True]]) + + if not key: + raise exceptions.Warning( + "You don't have access to the selected FDS account.") + + try: + # create tmp file + tmp_d = tempfile.mkdtemp() + tmp_key = self._create_tmp_file(key.private_key_crypted, tmp_d)[0] + tmp_f = self._create_tmp_file(self.file, tmp_d)[0] + old_path_f = os.path.join(tmp_d, tmp_f.name) + new_path_f = os.path.join(tmp_d, self.filename) + shutil.move(old_path_f, new_path_f) + key_pass = fds_keys_obj.config() + + # upload to sftp + with pysftp.Connection(self.fds_account_id.hostname, + username=self.fds_account_id.username, + private_key=tmp_key.name, + private_key_pass=key_pass) as sftp: + with sftp.cd(self.fds_directory_id.name): + sftp.put(new_path_f) + _logger.info("[OK] upload file (%s) to SFTP", + (self.filename)) + + # change to initial name file (mandatory because of the close) + shutil.move(new_path_f, old_path_f) + self._state_confirm_on() + self._add2historical() + except Exception as e: + _logger.error("Unable to connect to the SFTP: %s", e) + raise exceptions.Warning('Unable to connect to the SFTP') + + finally: + try: + tmp_key.close() + except: + _logger.error("remove tmp_key file failed") + try: + tmp_f.close() + except: + _logger.error("remove tmp_f file failed") + try: + shutil.rmtree(tmp_d) + except: + _logger.error("remove tmp directory failed") + + return self._refresh_wizard() + + @api.multi + def back_button(self): + ''' Go back to the finish view. + Called by pressing back button. + + :returns action: configuration for the next wizard's view + ''' + self.ensure_one() + self._state_finish_on() + return self._refresh_wizard() + + @api.multi + def close_button(self): + self.ensure_one() + self._state_finish_on() + self.confirm_export() + + ############################## + # function # + ############################## + def _get_default_account(self): + """ Select one account if only one exists. """ + fds_accounts = self.env['fds.postfinance.account'].search([]) + if len(fds_accounts) == 1: + return fds_accounts.id + else: + return False + + @api.onchange('fds_account_id') + def _get_default_upload_directory(self): + self.ensure_one() + if self.fds_account_id: + default_directory = self.fds_account_id.directory_ids.filtered( + lambda d: d.name == 'debit-direct-upload' and + d.allow_upload_file) + if len(default_directory) == 1: + self.fds_directory_id = default_directory + + @api.multi + def _create_tmp_file(self, data, tmp_directory=None): + ''' private function that write data to a tmp file and if no tmp + directory use, create one. + + :param str data: data in base64 format + :param str tmp_directory: path of the directory + :returns (obj file, str directory): obj of type tempfile + ''' + self.ensure_one() + try: + if not tmp_directory: + tmp_directory = tempfile.mkdtemp() + + tmp_file = tempfile.NamedTemporaryFile(dir=tmp_directory) + tmp_file.write(base64.b64decode(data)) + tmp_file.flush() + return (tmp_file, tmp_directory) + except Exception as e: + _logger.error("Bad handling tmp in fds_inherit_sepa_wizard: %s", e) + + @api.multi + def _add2historical(self): + ''' private function that add the upload file to historic + + :returns: None + ''' + self.ensure_one() + values = { + 'banking_export_id': self.banking_export_ch_dd_id.id, + 'fds_account_id': self.fds_account_id.id, + 'filename': self.filename, + 'directory_id': self.fds_directory_id.id, + 'state': 'uploaded'} + historical_dd_obj = self.env['fds.postfinance.historical.dd'] + historical_dd_obj.create(values) + + @api.multi + def _state_finish_on(self): + ''' private function that changes state to finish + + :returns: None + ''' + self.write({'state': 'finish'}) + + @api.multi + def _state_confirm_on(self): + ''' private function that changes state to confirm + + :returns: None + ''' + self.write({'state': 'confirm'}) + + @api.multi + def _refresh_wizard(self): + ''' private function that refreshes the view of the current wizard. + + :returns action: action for reloading the current view. + ''' + self.ensure_one() + action = { + 'type': 'ir.actions.act_window', + 'view_type': 'form', + 'view_mode': 'form', + 'res_model': self._name, + 'res_id': self.id, + 'target': 'new', + } + return action diff --git a/l10n_ch_fds_upload_sepa/README.md b/l10n_ch_fds_upload_sepa/README.md new file mode 100644 index 000000000..f8f8cc3ac --- /dev/null +++ b/l10n_ch_fds_upload_sepa/README.md @@ -0,0 +1,102 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +================================= +Swiss Postfinance FDS SEPA Upload +================================= + +The file delivery services (FDS) is a service offered by Postfinance AG Technology unit service. + +FDS acts as a gateway between external networks and the Post CH SA. It enables mutual exchange of files between partners and Post CH applications. + +This module allows Odoo users to upload SEPA files on their FDS PostFinance Account. + +Installation +============ + +In order to be able to use the module, you need to have a Postfinance FDS +Account. You can generate authentication key pairs for your users (to allow +them using the service) from the module. + +To generate a new private key in the database, you need to launch odoo with +the option --ssh_pwd=your_password or add it to your config file: +ssh_pwd = your_password + +external dependencies: +---------------------- +* python module: pysftp + +Configuration +============= + +To configure this module, you need to: + +* Setup your FDS Postfinance Account + (menu: Accounting/Configuration/Accounts/FDS Postfinance Account) + + * hostname: the hostname of FDS Postfinance (fds.post.ch) + * username: username for SFTP given by Postfinance + * postfinance_email: the public key must be sent to this mail (fds@post.ch) + * user_id: the public key must be sent by the contact person of the company concerned (or appear in the exchange of mail) +* Import or generate new authentication keys for each user that should have access to FDS files +* Verify the SFTP connection +* Allow at least one directory to have upload access rights + +Usage +===== + +To upload SEPA files to FDS: + +* Go to Accounting/Payment/Payment Orders +* Choose More/Create SEPA Payment +* At the end of the Export, you can choose to upload the file +* Select your FDS Account and directory + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/125/8.0 + +.. repo_id is available in https://github.com/OCA/maintainer-tools/blob/master/tools/repos_with_ids.txt +.. branch is "8.0" for example + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed `feedback +`_. + +Credits +======= + +Images +------ + +* Odoo Community Association: `Icon `_. + +Contributors +------------ + +* Nicolas Tran +* Emanuel Cino + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/l10n_ch_fds_upload_sepa/__init__.py b/l10n_ch_fds_upload_sepa/__init__.py new file mode 100644 index 000000000..66f894761 --- /dev/null +++ b/l10n_ch_fds_upload_sepa/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Swiss Postfinance File Delivery Services module for Odoo +# Copyright (C) 2014 Compassion CH +# @author: Nicolas Tran +# +# 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 . import models +from . import wizards diff --git a/l10n_ch_fds_upload_sepa/__openerp__.py b/l10n_ch_fds_upload_sepa/__openerp__.py new file mode 100644 index 000000000..b12a58721 --- /dev/null +++ b/l10n_ch_fds_upload_sepa/__openerp__.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Swiss Postfinance File Delivery Services module for Odoo +# Copyright (C) 2014 Compassion CH +# @author: Nicolas Tran +# +# 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': 'Swiss Postfinance FDS SEPA upload', + 'summary': "Upload SEPA files to FDS PostFinance", + 'version': '8.0.1.0', + 'license': 'AGPL-3', + 'author': 'Compassion CH', + 'website': 'http://www.compassion.ch/', + 'category': 'Finance', + 'depends': [ + 'l10n_ch_fds_postfinance', + 'l10n_ch_sepa', + ], + 'external_dependencies': { + 'python': ['pysftp'] + }, + 'data': [ + 'views/fds_inherit_sepa_wizard_view.xml', + 'views/fds_postfinance_account_sepa_view.xml', + 'security/ir.model.access.csv', + ], + 'demo': [], + 'test': [], + 'installable': False, + 'auto_install': False, +} diff --git a/l10n_ch_fds_upload_sepa/i18n/de.po b/l10n_ch_fds_upload_sepa/i18n/de.po new file mode 100644 index 000000000..eb54fc1ee --- /dev/null +++ b/l10n_ch_fds_upload_sepa/i18n/de.po @@ -0,0 +1,192 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_ch_fds_upload_sepa +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: l10n-switzerland (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-01-06 09:18+0000\n" +"PO-Revision-Date: 2016-01-05 16:29+0000\n" +"Last-Translator: <>\n" +"Language-Team: German (http://www.transifex.com/oca/OCA-l10n-switzerland-8-0/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Back" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Cancel" +msgstr "Löschen" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Close" +msgstr "Erledigt" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Confirm" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,create_uid:0 +msgid "Created by" +msgstr "Erstellt von" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,create_date:0 +msgid "Created on" +msgstr "Erstellt am" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "Default" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,directory_id:0 +msgid "Directory" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,fds_account_id:0 +#: field:wizard.pain001,fds_account_id:0 +msgid "FDS account" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:wizard.pain001,fds_directory_id:0 +msgid "FDS directory" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:wizard.pain001,attachment_id:0 +msgid "File attachment" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,filename:0 +msgid "Filename" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Generate File" +msgstr "File erstellen" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,id:0 +msgid "ID" +msgstr "ID" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,write_uid:0 +msgid "Last Updated by" +msgstr "Zuletzt geändert durch" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,write_date:0 +msgid "Last Updated on" +msgstr "Zuletzt geändert am" + +#. module: l10n_ch_fds_upload_sepa +#: selection:fds.sepa.upload.history,state:0 +msgid "Not Uploaded" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,payment_order_id:0 +#: field:wizard.pain001,payment_order_id:0 +msgid "Payment order" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: help:fds.sepa.upload.history,directory_id:0 +msgid "Remote directory where the file was uploaded" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: help:fds.sepa.upload.history,filename:0 +msgid "Remote name of the uploaded file" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:fds.postfinance.account:l10n_ch_fds_upload_sepa.view_fds_postfinance_account_sepa_form_inherited +msgid "SEPA" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "SEPA Payment File" +msgstr "SEPA Zahlungs-File" + +#. module: l10n_ch_fds_upload_sepa +#: help:wizard.pain001,fds_directory_id:0 +msgid "" +"Select one upload directory. Be sure to have at least one directory " +"configured with upload access rights." +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.postfinance.account,sepa_upload_ids:0 +msgid "Sepa upload ids" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,state:0 field:wizard.pain001,state:0 +msgid "State" +msgstr "Status" + +#. module: l10n_ch_fds_upload_sepa +#: view:fds.postfinance.account:l10n_ch_fds_upload_sepa.view_fds_postfinance_account_sepa_form_inherited +msgid "Upload History" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: help:fds.sepa.upload.history,state:0 +msgid "Upload state of the file" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Upload successful" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Upload to FDS" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: selection:fds.sepa.upload.history,state:0 +msgid "Uploaded" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "confirm" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "finish" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "pain.001 file creation" +msgstr "Erstellung pain.001 File" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "upload" +msgstr "" diff --git a/l10n_ch_fds_upload_sepa/i18n/en.po b/l10n_ch_fds_upload_sepa/i18n/en.po new file mode 100644 index 000000000..4b36456f9 --- /dev/null +++ b/l10n_ch_fds_upload_sepa/i18n/en.po @@ -0,0 +1,192 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_ch_fds_upload_sepa +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: l10n-switzerland (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-01-06 09:18+0000\n" +"PO-Revision-Date: 2016-01-05 16:29+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: English (http://www.transifex.com/oca/OCA-l10n-switzerland-8-0/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Back" +msgstr "Back" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Cancel" +msgstr "Cancel" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Close" +msgstr "Close" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Confirm" +msgstr "Confirm" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,create_uid:0 +msgid "Created by" +msgstr "Created by" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,create_date:0 +msgid "Created on" +msgstr "Created on" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "Default" +msgstr "Default" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,directory_id:0 +msgid "Directory" +msgstr "Directory" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,fds_account_id:0 +#: field:wizard.pain001,fds_account_id:0 +msgid "FDS account" +msgstr "FDS account" + +#. module: l10n_ch_fds_upload_sepa +#: field:wizard.pain001,fds_directory_id:0 +msgid "FDS directory" +msgstr "FDS directory" + +#. module: l10n_ch_fds_upload_sepa +#: field:wizard.pain001,attachment_id:0 +msgid "File attachment" +msgstr "File attachment" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,filename:0 +msgid "Filename" +msgstr "Filename" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Generate File" +msgstr "Generate File" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,id:0 +msgid "ID" +msgstr "ID" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,write_uid:0 +msgid "Last Updated by" +msgstr "Last Updated by" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,write_date:0 +msgid "Last Updated on" +msgstr "Last Updated on" + +#. module: l10n_ch_fds_upload_sepa +#: selection:fds.sepa.upload.history,state:0 +msgid "Not Uploaded" +msgstr "Not Uploaded" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,payment_order_id:0 +#: field:wizard.pain001,payment_order_id:0 +msgid "Payment order" +msgstr "Payment order" + +#. module: l10n_ch_fds_upload_sepa +#: help:fds.sepa.upload.history,directory_id:0 +msgid "Remote directory where the file was uploaded" +msgstr "Remote directory where the file was uploaded" + +#. module: l10n_ch_fds_upload_sepa +#: help:fds.sepa.upload.history,filename:0 +msgid "Remote name of the uploaded file" +msgstr "Remote name of the uploaded file" + +#. module: l10n_ch_fds_upload_sepa +#: view:fds.postfinance.account:l10n_ch_fds_upload_sepa.view_fds_postfinance_account_sepa_form_inherited +msgid "SEPA" +msgstr "SEPA" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "SEPA Payment File" +msgstr "SEPA Payment File" + +#. module: l10n_ch_fds_upload_sepa +#: help:wizard.pain001,fds_directory_id:0 +msgid "" +"Select one upload directory. Be sure to have at least one directory " +"configured with upload access rights." +msgstr "Select one upload directory. Be sure to have at least one directory configured with upload access rights." + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.postfinance.account,sepa_upload_ids:0 +msgid "Sepa upload ids" +msgstr "Sepa upload ids" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,state:0 field:wizard.pain001,state:0 +msgid "State" +msgstr "State" + +#. module: l10n_ch_fds_upload_sepa +#: view:fds.postfinance.account:l10n_ch_fds_upload_sepa.view_fds_postfinance_account_sepa_form_inherited +msgid "Upload History" +msgstr "Upload History" + +#. module: l10n_ch_fds_upload_sepa +#: help:fds.sepa.upload.history,state:0 +msgid "Upload state of the file" +msgstr "Upload state of the file" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Upload successful" +msgstr "Upload successful" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Upload to FDS" +msgstr "Upload to FDS" + +#. module: l10n_ch_fds_upload_sepa +#: selection:fds.sepa.upload.history,state:0 +msgid "Uploaded" +msgstr "Uploaded" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "confirm" +msgstr "confirm" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "finish" +msgstr "finish" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "pain.001 file creation" +msgstr "pain.001 file creation" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "upload" +msgstr "upload" diff --git a/l10n_ch_fds_upload_sepa/i18n/fr.po b/l10n_ch_fds_upload_sepa/i18n/fr.po new file mode 100644 index 000000000..36cc4da04 --- /dev/null +++ b/l10n_ch_fds_upload_sepa/i18n/fr.po @@ -0,0 +1,192 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_ch_fds_upload_sepa +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: l10n-switzerland (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-01-06 09:18+0000\n" +"PO-Revision-Date: 2016-01-05 16:29+0000\n" +"Last-Translator: <>\n" +"Language-Team: French (http://www.transifex.com/oca/OCA-l10n-switzerland-8-0/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Back" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Cancel" +msgstr "Annuler" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Close" +msgstr "Fermer" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Confirm" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,create_uid:0 +msgid "Created by" +msgstr "Créé par" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,create_date:0 +msgid "Created on" +msgstr "Créé le" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "Default" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,directory_id:0 +msgid "Directory" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,fds_account_id:0 +#: field:wizard.pain001,fds_account_id:0 +msgid "FDS account" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:wizard.pain001,fds_directory_id:0 +msgid "FDS directory" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:wizard.pain001,attachment_id:0 +msgid "File attachment" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,filename:0 +msgid "Filename" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Generate File" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,id:0 +msgid "ID" +msgstr "Id." + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,write_uid:0 +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,write_date:0 +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: l10n_ch_fds_upload_sepa +#: selection:fds.sepa.upload.history,state:0 +msgid "Not Uploaded" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,payment_order_id:0 +#: field:wizard.pain001,payment_order_id:0 +msgid "Payment order" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: help:fds.sepa.upload.history,directory_id:0 +msgid "Remote directory where the file was uploaded" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: help:fds.sepa.upload.history,filename:0 +msgid "Remote name of the uploaded file" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:fds.postfinance.account:l10n_ch_fds_upload_sepa.view_fds_postfinance_account_sepa_form_inherited +msgid "SEPA" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "SEPA Payment File" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: help:wizard.pain001,fds_directory_id:0 +msgid "" +"Select one upload directory. Be sure to have at least one directory " +"configured with upload access rights." +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.postfinance.account,sepa_upload_ids:0 +msgid "Sepa upload ids" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,state:0 field:wizard.pain001,state:0 +msgid "State" +msgstr "Status" + +#. module: l10n_ch_fds_upload_sepa +#: view:fds.postfinance.account:l10n_ch_fds_upload_sepa.view_fds_postfinance_account_sepa_form_inherited +msgid "Upload History" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: help:fds.sepa.upload.history,state:0 +msgid "Upload state of the file" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Upload successful" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Upload to FDS" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: selection:fds.sepa.upload.history,state:0 +msgid "Uploaded" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "confirm" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "finish" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "pain.001 file creation" +msgstr "création du fichier pain.001" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "upload" +msgstr "" diff --git a/l10n_ch_fds_upload_sepa/i18n/fr_CH.po b/l10n_ch_fds_upload_sepa/i18n/fr_CH.po new file mode 100644 index 000000000..1bef376af --- /dev/null +++ b/l10n_ch_fds_upload_sepa/i18n/fr_CH.po @@ -0,0 +1,192 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_ch_fds_upload_sepa +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: l10n-switzerland (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-01-06 09:18+0000\n" +"PO-Revision-Date: 2016-01-05 16:31+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: French (Switzerland) (http://www.transifex.com/oca/OCA-l10n-switzerland-8-0/language/fr_CH/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr_CH\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Back" +msgstr "Retour" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Cancel" +msgstr "Annuler" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Close" +msgstr "Fermer" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Confirm" +msgstr "Confirmer" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,create_uid:0 +msgid "Created by" +msgstr "Créé par" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,create_date:0 +msgid "Created on" +msgstr "Créé le" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "Default" +msgstr "Défaut" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,directory_id:0 +msgid "Directory" +msgstr "Répertoire" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,fds_account_id:0 +#: field:wizard.pain001,fds_account_id:0 +msgid "FDS account" +msgstr "Compte FDS" + +#. module: l10n_ch_fds_upload_sepa +#: field:wizard.pain001,fds_directory_id:0 +msgid "FDS directory" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:wizard.pain001,attachment_id:0 +msgid "File attachment" +msgstr "Pièce jointe" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,filename:0 +msgid "Filename" +msgstr "Nom de fichier" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Generate File" +msgstr "Générer le fichier" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,id:0 +msgid "ID" +msgstr "ID" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,write_uid:0 +msgid "Last Updated by" +msgstr "Modifié par" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,write_date:0 +msgid "Last Updated on" +msgstr "Modifié le" + +#. module: l10n_ch_fds_upload_sepa +#: selection:fds.sepa.upload.history,state:0 +msgid "Not Uploaded" +msgstr "Non transmis" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,payment_order_id:0 +#: field:wizard.pain001,payment_order_id:0 +msgid "Payment order" +msgstr "Ordre de paiement" + +#. module: l10n_ch_fds_upload_sepa +#: help:fds.sepa.upload.history,directory_id:0 +msgid "Remote directory where the file was uploaded" +msgstr "Répertoire distant où le fichier a été téléversé" + +#. module: l10n_ch_fds_upload_sepa +#: help:fds.sepa.upload.history,filename:0 +msgid "Remote name of the uploaded file" +msgstr "Nom du fichier transmis" + +#. module: l10n_ch_fds_upload_sepa +#: view:fds.postfinance.account:l10n_ch_fds_upload_sepa.view_fds_postfinance_account_sepa_form_inherited +msgid "SEPA" +msgstr "SEPA" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "SEPA Payment File" +msgstr "Fichier de paiement SEPA" + +#. module: l10n_ch_fds_upload_sepa +#: help:wizard.pain001,fds_directory_id:0 +msgid "" +"Select one upload directory. Be sure to have at least one directory " +"configured with upload access rights." +msgstr "Choisissez un répertoire sur lequel téléverser le fichier. Soyez sûr d'avoir configuré au moins un répertoire avec les droits d'accès en téléversement." + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.postfinance.account,sepa_upload_ids:0 +msgid "Sepa upload ids" +msgstr "Sepa upload ids" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,state:0 field:wizard.pain001,state:0 +msgid "State" +msgstr "Etat" + +#. module: l10n_ch_fds_upload_sepa +#: view:fds.postfinance.account:l10n_ch_fds_upload_sepa.view_fds_postfinance_account_sepa_form_inherited +msgid "Upload History" +msgstr "Historique de téléversement" + +#. module: l10n_ch_fds_upload_sepa +#: help:fds.sepa.upload.history,state:0 +msgid "Upload state of the file" +msgstr "Etat de transmission du fichier" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Upload successful" +msgstr "Transmis" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Upload to FDS" +msgstr "Téléverser sur FDS" + +#. module: l10n_ch_fds_upload_sepa +#: selection:fds.sepa.upload.history,state:0 +msgid "Uploaded" +msgstr "Transmis" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "confirm" +msgstr "Confirmer" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "finish" +msgstr "Terminer" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "pain.001 file creation" +msgstr "Création de fichier pain.001" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "upload" +msgstr "Téléverser" diff --git a/l10n_ch_fds_upload_sepa/i18n/it.po b/l10n_ch_fds_upload_sepa/i18n/it.po new file mode 100644 index 000000000..79ec4e7df --- /dev/null +++ b/l10n_ch_fds_upload_sepa/i18n/it.po @@ -0,0 +1,192 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_ch_fds_upload_sepa +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: l10n-switzerland (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-01-06 09:18+0000\n" +"PO-Revision-Date: 2016-01-05 16:29+0000\n" +"Last-Translator: <>\n" +"Language-Team: Italian (http://www.transifex.com/oca/OCA-l10n-switzerland-8-0/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Back" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Cancel" +msgstr "Annulla" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Close" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Confirm" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,create_uid:0 +msgid "Created by" +msgstr "Creato da" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,create_date:0 +msgid "Created on" +msgstr "Creato il" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "Default" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,directory_id:0 +msgid "Directory" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,fds_account_id:0 +#: field:wizard.pain001,fds_account_id:0 +msgid "FDS account" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:wizard.pain001,fds_directory_id:0 +msgid "FDS directory" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:wizard.pain001,attachment_id:0 +msgid "File attachment" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,filename:0 +msgid "Filename" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Generate File" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,id:0 +msgid "ID" +msgstr "ID" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,write_uid:0 +msgid "Last Updated by" +msgstr "Last Updated by" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,write_date:0 +msgid "Last Updated on" +msgstr "Last Updated on" + +#. module: l10n_ch_fds_upload_sepa +#: selection:fds.sepa.upload.history,state:0 +msgid "Not Uploaded" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,payment_order_id:0 +#: field:wizard.pain001,payment_order_id:0 +msgid "Payment order" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: help:fds.sepa.upload.history,directory_id:0 +msgid "Remote directory where the file was uploaded" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: help:fds.sepa.upload.history,filename:0 +msgid "Remote name of the uploaded file" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:fds.postfinance.account:l10n_ch_fds_upload_sepa.view_fds_postfinance_account_sepa_form_inherited +msgid "SEPA" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "SEPA Payment File" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: help:wizard.pain001,fds_directory_id:0 +msgid "" +"Select one upload directory. Be sure to have at least one directory " +"configured with upload access rights." +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.postfinance.account,sepa_upload_ids:0 +msgid "Sepa upload ids" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: field:fds.sepa.upload.history,state:0 field:wizard.pain001,state:0 +msgid "State" +msgstr "Stato" + +#. module: l10n_ch_fds_upload_sepa +#: view:fds.postfinance.account:l10n_ch_fds_upload_sepa.view_fds_postfinance_account_sepa_form_inherited +msgid "Upload History" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: help:fds.sepa.upload.history,state:0 +msgid "Upload state of the file" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Upload successful" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "Upload to FDS" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: selection:fds.sepa.upload.history,state:0 +msgid "Uploaded" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "confirm" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "finish" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: view:wizard.pain001:l10n_ch_fds_upload_sepa.wizard_pain_001_view_inherited +msgid "pain.001 file creation" +msgstr "" + +#. module: l10n_ch_fds_upload_sepa +#: selection:wizard.pain001,state:0 +msgid "upload" +msgstr "" diff --git a/l10n_ch_fds_upload_sepa/models/__init__.py b/l10n_ch_fds_upload_sepa/models/__init__.py new file mode 100644 index 000000000..f49e7d8bb --- /dev/null +++ b/l10n_ch_fds_upload_sepa/models/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Swiss Postfinance File Delivery Services module for Odoo +# Copyright (C) 2014 Compassion CH +# @author: Nicolas Tran +# +# 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 . import fds_postfinance_account_sepa +from . import fds_sepa_upload_history diff --git a/l10n_ch_fds_upload_sepa/models/fds_postfinance_account_sepa.py b/l10n_ch_fds_upload_sepa/models/fds_postfinance_account_sepa.py new file mode 100644 index 000000000..35c5468f5 --- /dev/null +++ b/l10n_ch_fds_upload_sepa/models/fds_postfinance_account_sepa.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Swiss Postfinance File Delivery Services module for Odoo +# Copyright (C) 2014 Compassion CH +# @author: Nicolas Tran +# +# 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 openerp import models, fields + + +class fds_postfinance_account_sepa(models.Model): + ''' Add SEPA upload history to the model fds.postfinance.account + ''' + _inherit = 'fds.postfinance.account' + + sepa_upload_ids = fields.One2many( + comodel_name='fds.sepa.upload.history', + inverse_name='fds_account_id', + readonly=True, + ) diff --git a/l10n_ch_fds_upload_sepa/models/fds_sepa_upload_history.py b/l10n_ch_fds_upload_sepa/models/fds_sepa_upload_history.py new file mode 100644 index 000000000..b4f2187ad --- /dev/null +++ b/l10n_ch_fds_upload_sepa/models/fds_sepa_upload_history.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Swiss Postfinance File Delivery Services module for Odoo +# Copyright (C) 2014 Compassion CH +# @author: Nicolas Tran +# +# 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 openerp import models, fields + + +class FdsSepaUploadHistory(models.Model): + ''' History of SEPA FDS uploads + ''' + _name = 'fds.sepa.upload.history' + + fds_account_id = fields.Many2one( + comodel_name='fds.postfinance.account', + string='FDS account', + ondelete='restrict', + readonly=True, + ) + payment_order_id = fields.Many2one( + comodel_name='payment.order', + string='Payment order', + ondelete='restrict', + readonly=True, + ) + filename = fields.Char( + readonly=True, + help='Remote name of the uploaded file' + ) + directory_id = fields.Many2one( + comodel_name='fds.postfinance.directory', + string='Directory', + ondelete='restrict', + readonly=True, + help='Remote directory where the file was uploaded' + ) + state = fields.Selection( + selection=[('not_uploaded', 'Not Uploaded'), + ('uploaded', 'Uploaded')], + readonly=True, + default='not_uploaded', + help='Upload state of the file' + ) diff --git a/l10n_ch_fds_upload_sepa/security/ir.model.access.csv b/l10n_ch_fds_upload_sepa/security/ir.model.access.csv new file mode 100644 index 000000000..7a3ebf38c --- /dev/null +++ b/l10n_ch_fds_upload_sepa/security/ir.model.access.csv @@ -0,0 +1,4 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink + +access_fds_sepa_upload_history,access_fds_sepa_upload_history,model_fds_sepa_upload_history,account.group_account_user,1,0,0,0 +full_access_fds_sepa_upload_history,full_access_fds_sepa_upload_history,model_fds_sepa_upload_history,base.group_system,1,1,1,1 diff --git a/l10n_ch_fds_upload_sepa/views/fds_inherit_sepa_wizard_view.xml b/l10n_ch_fds_upload_sepa/views/fds_inherit_sepa_wizard_view.xml new file mode 100644 index 000000000..43dbcdd68 --- /dev/null +++ b/l10n_ch_fds_upload_sepa/views/fds_inherit_sepa_wizard_view.xml @@ -0,0 +1,42 @@ + + + + + Create SEPA Payment - Upload extension + wizard.pain001 + + +
+ + + + + + + + + + + + + + + + +

Upload successful

+
+
+
+ + + +
+
+
+
diff --git a/l10n_ch_fds_upload_sepa/views/fds_postfinance_account_sepa_view.xml b/l10n_ch_fds_upload_sepa/views/fds_postfinance_account_sepa_view.xml new file mode 100644 index 000000000..8dd12ef0a --- /dev/null +++ b/l10n_ch_fds_upload_sepa/views/fds_postfinance_account_sepa_view.xml @@ -0,0 +1,24 @@ + + + + + FDS PostFinance account view - Direct debit extension + fds.postfinance.account + + + + + + + + + + + + + + + + + + diff --git a/l10n_ch_fds_upload_sepa/wizards/__init__.py b/l10n_ch_fds_upload_sepa/wizards/__init__.py new file mode 100644 index 000000000..87cbf43d5 --- /dev/null +++ b/l10n_ch_fds_upload_sepa/wizards/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Swiss Postfinance File Delivery Services module for Odoo +# Copyright (C) 2014 Compassion CH +# @author: Nicolas Tran +# +# 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 . import fds_inherit_sepa_wizard diff --git a/l10n_ch_fds_upload_sepa/wizards/fds_inherit_sepa_wizard.py b/l10n_ch_fds_upload_sepa/wizards/fds_inherit_sepa_wizard.py new file mode 100644 index 000000000..9cc6dace1 --- /dev/null +++ b/l10n_ch_fds_upload_sepa/wizards/fds_inherit_sepa_wizard.py @@ -0,0 +1,314 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Swiss Postfinance File Delivery Services module for Odoo +# Copyright (C) 2014 Compassion CH +# @author: Nicolas Tran +# +# 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 openerp import models, fields, api, exceptions +import logging +import base64 +import tempfile +import shutil +import pysftp +import os + +_logger = logging.getLogger(__name__) + + +class fds_inherit_sepa_wizard(models.TransientModel): + ''' Allows to upload the generated SEPA electronic payment + file for Switzerland to FDS Postfinance. + + This addon will add upload button to the SEPA wizard. + ''' + _inherit = 'wizard.pain001' + + fds_account_id = fields.Many2one( + comodel_name='fds.postfinance.account', + string='FDS account', + default=lambda self: self._get_default_account() + ) + fds_directory_id = fields.Many2one( + comodel_name='fds.postfinance.directory', + string='FDS directory', + help='Select one upload directory. Be sure to have at least one ' + 'directory configured with upload access rights.' + ) + attachment_id = fields.Many2one( + comodel_name='ir.attachment', + string='File attachment', + readonly=True, + ) + filename = fields.Char( + string='Attachment filename', + related='attachment_id.name', + readonly=True, + ) + payment_order_id = fields.Many2one( + comodel_name='payment.order', + string='Payment order', + readonly=True, + ) + state = fields.Selection( + selection=[('default', 'Default'), + ('finish', 'finish'), + ('upload', 'upload'), + ('confirm', 'confirm')], + readonly=True, + default='default', + ) + + ################################## + # Button action # + ################################## + @api.multi + def generate_file_button(self): + ''' create a pain_001 file into wizard and add it as an attachment + Called by pressing generate button. + + :returns action: configuration for the next wizard's view + ''' + self.ensure_one() + self.create_pain_001() + attachment_obj = self.env['ir.attachment'] + payment_order_id = self.env.context.get('active_id') + file = attachment_obj.search([['res_id', '=', payment_order_id]])[0] + self.write({ + 'attachment_id': file.id, + 'payment_order_id': payment_order_id, + 'state': 'finish'}) + return self._refresh_wizard() + + @api.multi + def upload_generate_file_button(self): + ''' change the view to the wizard or directly upload the file if + only one FDS account and only one upload directory selected. + Called by pressing upload button. + + :returns action: configuration for the next wizard's view + ''' + self.ensure_one() + self._state_upload_on() + return self._refresh_wizard() + + @api.multi + def send_generate_file_button(self): + ''' upload pain_001 file to the FDS Postfinance by sftp + + :returns action: configuration for the next wizard's view + :raises Warning: + - If no fds account and directory selected + - if current user do not have key + - if unable to connect to sftp + ''' + self.ensure_one() + if not self.fds_account_id: + raise exceptions.Warning('Select a FDS account') + + if not self.fds_directory_id: + raise exceptions.Warning('Select a directory') + + (key, key_pass) = self._get_sftp_key() + + try: + # create tmp file + tmp_d = tempfile.mkdtemp() + tmp_key = self._create_tmp_file(key.private_key_crypted, tmp_d)[0] + tmp_f = self._create_tmp_file(self.attachment_id.datas, tmp_d)[0] + old_path_f = os.path.join(tmp_d, tmp_f.name) + new_path_f = os.path.join(tmp_d, ''.join(self.filename.split(':'))) + shutil.move(old_path_f, new_path_f) + + # upload to sftp + with pysftp.Connection(self.fds_account_id.hostname, + username=self.fds_account_id.username, + private_key=tmp_key.name, + private_key_pass=key_pass) as sftp: + + with sftp.cd(self.fds_directory_id.name): + sftp.put(new_path_f) + _logger.info("[OK] upload file (%s) ", (self.filename)) + + # change to initial name file (mandatory because of the close) + shutil.move(new_path_f, old_path_f) + self._state_confirm_on() + self._add2historical() + except Exception as e: + self.attachment_id.unlink() + _logger.error("Unable to connect to the sftp: %s", e) + raise exceptions.Warning('Unable to connect to the sftp') + + finally: + try: + tmp_key.close() + except: + _logger.error("remove tmp_key file failed") + try: + tmp_f.close() + except: + _logger.error("remove tmp_f file failed") + try: + shutil.rmtree(tmp_d) + except: + _logger.error("remove tmp directory failed") + + return self._refresh_wizard() + + @api.multi + def back_button(self): + ''' Go back to the finish view. + Called by pressing back button. + + :returns action: configuration for the next wizard's view + ''' + self.ensure_one() + self._state_finish_on() + return self._refresh_wizard() + + @api.multi + def cancel_button(self): + ''' Remove the attachment create. + Called by pressing cancel button. + + :returns: None + ''' + self.ensure_one() + self.attachment_id.unlink() + + ############################## + # function # + ############################## + def _get_default_account(self): + """ Select one account if only one exists. """ + fds_accounts = self.env['fds.postfinance.account'].search([]) + if len(fds_accounts) == 1: + return fds_accounts.id + else: + return False + + @api.onchange('fds_account_id') + def _get_default_upload_directory(self): + self.ensure_one() + if self.fds_account_id: + default_directory = self.fds_account_id.directory_ids.filtered( + lambda d: d.name == 'pain-001-in' and + d.allow_upload_file) + if len(default_directory) == 1: + self.fds_directory_id = default_directory + + @api.multi + def _get_sftp_key(self): + ''' private function that get the SFTP key needed for connection + with the server. + + :returns (str key, str key_pass): + :riases Warning: if no key found + ''' + fds_authentication_key_obj = self.env['fds.authentication.keys'] + key = fds_authentication_key_obj.search([ + ['user_id', '=', self.env.user.id], + ['fds_account_id', '=', self.fds_account_id.id]]) + + if not key: + raise exceptions.Warning('You don\'t have key') + + if not key.key_active: + raise exceptions.Warning('Key not active') + + key_pass = fds_authentication_key_obj.config() + return (key, key_pass) + + @api.multi + def _create_tmp_file(self, data, tmp_directory=None): + ''' private function that write data to a tmp file and if no tmp + directory use, create one. + + :param str data: data in base64 format + :param str tmp_directory: path of the directory + :returns (obj file, str directory): obj of type tempfile + ''' + self.ensure_one() + try: + if not tmp_directory: + tmp_directory = tempfile.mkdtemp() + + tmp_file = tempfile.NamedTemporaryFile(dir=tmp_directory) + tmp_file.write(base64.b64decode(data)) + tmp_file.flush() + return (tmp_file, tmp_directory) + except Exception as e: + _logger.error("Bad handling tmp in fds_inherit_sepa_wizard: %s", e) + + @api.multi + def _add2historical(self): + ''' private function that add the upload file to historic + + :returns: None + ''' + self.ensure_one() + values = { + 'payment_order_id': self.payment_order_id.id, + 'fds_account_id': self.fds_account_id.id, + 'filename': self.filename, + 'directory_id': self.fds_directory_id.id, + 'state': 'uploaded'} + historical_dd_obj = self.env['fds.postfinance.historical.sepa'] + historical_dd_obj.create(values) + + @api.multi + def _state_finish_on(self): + ''' private function that change state to finish + + :returns: None + ''' + self.ensure_one() + self.write({'state': 'finish'}) + + @api.multi + def _state_upload_on(self): + ''' private function that change state to upload + + :returns: None + ''' + self.ensure_one() + self.state = 'upload' + + @api.multi + def _state_confirm_on(self): + ''' private function that change state to confirm + + :returns: None + ''' + self.ensure_one() + self.write({'state': 'confirm'}) + + @api.multi + def _refresh_wizard(self): + ''' private function that continue with the same wizard. + + :returns action: configuration for the next wizard's view + ''' + self.ensure_one() + action = {'type': 'ir.actions.act_window', + 'view_type': 'form', + 'view_mode': 'form', + 'res_model': self._name, + 'res_id': self.id, + 'target': 'new'} + return action