diff --git a/account_statement_import_paypal/models/account_bank_statement_import_paypal_mapping.py b/account_statement_import_paypal/models/account_bank_statement_import_paypal_mapping.py index 97178b08..4065a294 100644 --- a/account_statement_import_paypal/models/account_bank_statement_import_paypal_mapping.py +++ b/account_statement_import_paypal/models/account_bank_statement_import_paypal_mapping.py @@ -10,7 +10,9 @@ class AccountBankStatementImportPayPalMapping(models.Model): _name = "account.bank.statement.import.paypal.mapping" _description = "Account Bank Statement Import PayPal Mapping" - name = fields.Char(required=True,) + name = fields.Char( + required=True, + ) float_thousands_sep = fields.Selection( string="Thousands Separator", selection=[("dot", "dot (.)"), ("comma", "comma (,)"), ("none", "none")], @@ -23,28 +25,77 @@ class AccountBankStatementImportPayPalMapping(models.Model): default="comma", required=True, ) - date_format = fields.Char(string="Date Format", required=True,) - time_format = fields.Char(string="Time Format", required=True,) - date_column = fields.Char(string='"Date" column', required=True,) - time_column = fields.Char(string='"Time" column', required=True,) - tz_column = fields.Char(string='"Timezone" column', required=True,) - name_column = fields.Char(string='"Name" column', required=True,) - currency_column = fields.Char(string='"Currency" column', required=True,) - gross_column = fields.Char(string='"Gross" column', required=True,) - fee_column = fields.Char(string='"Fee" column', required=True,) - balance_column = fields.Char(string='"Balance" column', required=True,) - transaction_id_column = fields.Char( - string='"Transaction ID" column', required=True, + date_format = fields.Char( + string="Date Format", + required=True, + ) + time_format = fields.Char( + string="Time Format", + required=True, + ) + date_column = fields.Char( + string='"Date" column', + required=True, + ) + time_column = fields.Char( + string='"Time" column', + required=True, + ) + tz_column = fields.Char( + string='"Timezone" column', + required=True, + ) + name_column = fields.Char( + string='"Name" column', + required=True, + ) + currency_column = fields.Char( + string='"Currency" column', + required=True, + ) + gross_column = fields.Char( + string='"Gross" column', + required=True, + ) + fee_column = fields.Char( + string='"Fee" column', + required=True, + ) + balance_column = fields.Char( + string='"Balance" column', + required=True, + ) + transaction_id_column = fields.Char( + string='"Transaction ID" column', + required=True, + ) + description_column = fields.Char( + string='"Description" column', + ) + type_column = fields.Char( + string='"Type" column', + ) + from_email_address_column = fields.Char( + string='"From Email Address" column', + ) + to_email_address_column = fields.Char( + string='"To Email Address" column', + ) + invoice_id_column = fields.Char( + string='"Invoice ID" column', + ) + subject_column = fields.Char( + string='"Subject" column', + ) + note_column = fields.Char( + string='"Note" column', + ) + bank_name_column = fields.Char( + string='"Bank Name" column', + ) + bank_account_column = fields.Char( + string='"Bank Account" column', ) - description_column = fields.Char(string='"Description" column',) - type_column = fields.Char(string='"Type" column',) - from_email_address_column = fields.Char(string='"From Email Address" column',) - to_email_address_column = fields.Char(string='"To Email Address" column',) - invoice_id_column = fields.Char(string='"Invoice ID" column',) - subject_column = fields.Char(string='"Subject" column',) - note_column = fields.Char(string='"Note" column',) - bank_name_column = fields.Char(string='"Bank Name" column',) - bank_account_column = fields.Char(string='"Bank Account" column',) @api.onchange("float_thousands_sep") def onchange_thousands_separator(self): diff --git a/account_statement_import_paypal/models/account_bank_statement_import_paypal_parser.py b/account_statement_import_paypal/models/account_bank_statement_import_paypal_parser.py index 815d1d5b..76af4e31 100644 --- a/account_statement_import_paypal/models/account_bank_statement_import_paypal_parser.py +++ b/account_statement_import_paypal/models/account_bank_statement_import_paypal_parser.py @@ -38,7 +38,10 @@ class AccountBankStatementImportPayPalParser(models.TransientModel): currency_code = (journal.currency_id or journal.company_id.currency_id).name account_number = journal.bank_account_id.acc_number - name = _("%s: %s") % (journal.code, path.basename(filename),) + name = _("%s: %s") % ( + journal.code, + path.basename(filename), + ) lines = self._parse_lines(mapping, data_file, currency_code) if not lines: return currency_code, account_number, [{"name": name, "transactions": []}] diff --git a/account_statement_import_paypal/wizards/account_bank_statement_import_paypal_mapping_wizard.py b/account_statement_import_paypal/wizards/account_bank_statement_import_paypal_mapping_wizard.py index ec39d6a6..0b3bf539 100644 --- a/account_statement_import_paypal/wizards/account_bank_statement_import_paypal_mapping_wizard.py +++ b/account_statement_import_paypal/wizards/account_bank_statement_import_paypal_mapping_wizard.py @@ -15,27 +15,66 @@ class AccountBankStatementImportPayPalMappingWizard(models.TransientModel): _description = "Account Bank Statement Import PayPal Mapping Wizard" _inherit = ["multi.step.wizard.mixin"] - data_file = fields.Binary(string="PayPal Report File", required=True,) + data_file = fields.Binary( + string="PayPal Report File", + required=True, + ) filename = fields.Char() header = fields.Char() - date_column = fields.Char(string='"Date" column',) - time_column = fields.Char(string='"Time" column',) - tz_column = fields.Char(string='"Timezone" column',) - name_column = fields.Char(string='"Name" column',) - currency_column = fields.Char(string='"Currency" column',) - gross_column = fields.Char(string='"Gross" column',) - fee_column = fields.Char(string='"Fee" column',) - balance_column = fields.Char(string='"Balance" column',) - transaction_id_column = fields.Char(string='"Transaction ID" column',) - description_column = fields.Char(string='"Description" column',) - type_column = fields.Char(string='"Type" column',) - from_email_address_column = fields.Char(string='"From Email Address" column',) - to_email_address_column = fields.Char(string='"To Email Address" column',) - invoice_id_column = fields.Char(string='"Invoice ID" column',) - subject_column = fields.Char(string='"Subject" column',) - note_column = fields.Char(string='"Note" column',) - bank_name_column = fields.Char(string='"Bank Name" column',) - bank_account_column = fields.Char(string='"Bank Account" column',) + date_column = fields.Char( + string='"Date" column', + ) + time_column = fields.Char( + string='"Time" column', + ) + tz_column = fields.Char( + string='"Timezone" column', + ) + name_column = fields.Char( + string='"Name" column', + ) + currency_column = fields.Char( + string='"Currency" column', + ) + gross_column = fields.Char( + string='"Gross" column', + ) + fee_column = fields.Char( + string='"Fee" column', + ) + balance_column = fields.Char( + string='"Balance" column', + ) + transaction_id_column = fields.Char( + string='"Transaction ID" column', + ) + description_column = fields.Char( + string='"Description" column', + ) + type_column = fields.Char( + string='"Type" column', + ) + from_email_address_column = fields.Char( + string='"From Email Address" column', + ) + to_email_address_column = fields.Char( + string='"To Email Address" column', + ) + invoice_id_column = fields.Char( + string='"Invoice ID" column', + ) + subject_column = fields.Char( + string='"Subject" column', + ) + note_column = fields.Char( + string='"Note" column', + ) + bank_name_column = fields.Char( + string='"Bank Name" column', + ) + bank_account_column = fields.Char( + string='"Bank Account" column', + ) @api.onchange("data_file") def _onchange_data_file(self): diff --git a/requirements.txt b/requirements.txt index ddf34beb..ab30345f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ # generated from manifests external_dependencies +csv ofxparse diff --git a/setup/account_bank_statement_import_paypal/odoo/addons/account_bank_statement_import_paypal b/setup/account_bank_statement_import_paypal/odoo/addons/account_bank_statement_import_paypal new file mode 120000 index 00000000..e7cb2385 --- /dev/null +++ b/setup/account_bank_statement_import_paypal/odoo/addons/account_bank_statement_import_paypal @@ -0,0 +1 @@ +../../../../account_bank_statement_import_paypal \ No newline at end of file diff --git a/setup/account_bank_statement_import_paypal/setup.py b/setup/account_bank_statement_import_paypal/setup.py new file mode 100644 index 00000000..28c57bb6 --- /dev/null +++ b/setup/account_bank_statement_import_paypal/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)