You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
3.6 KiB
130 lines
3.6 KiB
# Copyright 2019 Tecnativa - Vicent Cubells
|
|
# Copyright 2019 Brainbean Apps (https://brainbeanapps.com)
|
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
|
|
|
from odoo import api, fields, models
|
|
|
|
|
|
class AccountBankStatementImportPayPalMapping(models.Model):
|
|
_name = 'account.bank.statement.import.paypal.mapping'
|
|
_description = 'Account Bank Statement Import PayPal Mapping'
|
|
|
|
name = fields.Char(
|
|
required=True,
|
|
)
|
|
float_thousands_sep = fields.Selection(
|
|
string='Thousands Separator',
|
|
selection=[
|
|
('dot', 'dot (.)'),
|
|
('comma', 'comma (,)'),
|
|
('none', 'none'),
|
|
],
|
|
default='dot',
|
|
required=True,
|
|
)
|
|
float_decimal_sep = fields.Selection(
|
|
string='Decimals Separator',
|
|
selection=[
|
|
('dot', 'dot (.)'),
|
|
('comma', 'comma (,)'),
|
|
('none', 'none'),
|
|
],
|
|
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,
|
|
)
|
|
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):
|
|
if 'dot' == self.float_thousands_sep == self.float_decimal_sep:
|
|
self.float_decimal_sep = 'comma'
|
|
elif 'comma' == self.float_thousands_sep == self.float_decimal_sep:
|
|
self.float_decimal_sep = 'dot'
|
|
|
|
@api.onchange('float_decimal_sep')
|
|
def onchange_decimal_separator(self):
|
|
if 'dot' == self.float_thousands_sep == self.float_decimal_sep:
|
|
self.float_thousands_sep = 'comma'
|
|
elif 'comma' == self.float_thousands_sep == self.float_decimal_sep:
|
|
self.float_thousands_sep = 'dot'
|
|
|
|
@api.multi
|
|
def _get_float_separators(self):
|
|
self.ensure_one()
|
|
separators = {
|
|
'dot': '.',
|
|
'comma': ',',
|
|
'none': '',
|
|
}
|
|
return (separators[self.float_thousands_sep],
|
|
separators[self.float_decimal_sep])
|