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.
133 lines
7.4 KiB
133 lines
7.4 KiB
# -*- coding: utf-8 -*-
|
|
###############################################################################
|
|
#
|
|
# Cybrosys Technologies Pvt. Ltd.
|
|
#
|
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
|
|
# Author: Remya R( odoo@cybrosys.com )
|
|
#
|
|
# You can modify it under the terms of the GNU AFFERO
|
|
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
|
|
#
|
|
# 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 (AGPL v3) for more details.
|
|
#
|
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
|
|
# (AGPL v3) along with this program.
|
|
# If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
###############################################################################
|
|
from odoo import fields, models
|
|
|
|
|
|
class ChequeFormat(models.Model):
|
|
""" Configure cheque print template."""
|
|
_name = 'cheque.format'
|
|
_description = 'Cheque Format'
|
|
_rec_name = 'bank_name'
|
|
|
|
bank_name = fields.Char(string='Bank Name',
|
|
help='Enter the name of the bank.',
|
|
required=True)
|
|
font_size = fields.Float(string='Font Size',
|
|
help='Total font size for the text.')
|
|
cheque_width = fields.Float(string='Width', help='Width of the cheque.')
|
|
cheque_height = fields.Float(string='Height', help='Height of the cheque.')
|
|
print_cheque_number = fields.Boolean(string='Print Cheque Number',
|
|
help='Enable to print the cheque '
|
|
'sequence number. '
|
|
'You can adjust this if the '
|
|
'numbering is incorrect.')
|
|
cheque_no_tm = fields.Float(string='Cheque No: Top Margin',
|
|
help="Top margin for the cheque number.")
|
|
cheque_no_lm = fields.Float(string='Cheque No: Left Margin',
|
|
help="Left margin for the cheque number.")
|
|
is_account_payee = fields.Boolean(string="Crossed Account Payee Cheque",
|
|
help="Select to make the cheque a "
|
|
"Crossed Account Payee cheque. "
|
|
"Prints ‘A/C Payee Only’ between "
|
|
"parallel crossing lines.")
|
|
a_c_payee_top_margin = fields.Float(string='Payee Top Margin',
|
|
help="Top margin for the 'A/C Payee' "
|
|
"text.")
|
|
a_c_payee_left_margin = fields.Float(string="Payee Left Margin",
|
|
help="Left margin for the 'A/C Payee'"
|
|
" text.")
|
|
a_c_payee_width = fields.Float(string="Payee Width",
|
|
help="Width of the 'A/C Payee' text.")
|
|
a_c_payee_height = fields.Float(string="Payee Height",
|
|
help="Height of the 'A/C Payee' text.")
|
|
date_remove_slashes = fields.Boolean(string="Remove Slashes",
|
|
help="Enable to remove slashes from"
|
|
" the date.")
|
|
date_top_margin = fields.Float(string="Date Top Margin",
|
|
help="Top margin for the date.")
|
|
date_left_margin = fields.Float(string="Date Left Margin",
|
|
help="Left margin for the date.")
|
|
date_letter_spacing = fields.Float(string="Date Letter Spacing",
|
|
help="Spacing between date characters.")
|
|
beneficiary_top_margin = fields.Float(string="Beneficiary Top Margin",
|
|
help="Top margin for the beneficiary"
|
|
" name.")
|
|
beneficiary_left_margin = fields.Float(string="Beneficiary Left Margin",
|
|
help="Left margin for the "
|
|
"beneficiary name.")
|
|
amount_word_tm = fields.Float(string="Amount in Words Top Margin",
|
|
help="Top margin for the amount in words.")
|
|
amount_word_lm = fields.Float(string="Amount in Words Left Margin",
|
|
help="Left margin for the amount in words.")
|
|
amount_word_ls = fields.Float(string="Amount in Words Letter Spacing",
|
|
help="Spacing between characters in the "
|
|
"amount in words.")
|
|
print_currency = fields.Boolean(string="Print Currency Symbol",
|
|
help="Enable to print the currency symbol."
|
|
"")
|
|
amount_digit_tm = fields.Float(string="Amount in Digits Top Margin",
|
|
help="Top margin for the amount in digits."
|
|
"")
|
|
amount_digit_lm = fields.Float(string="Amount in Digits Left Margin",
|
|
help="Left margin for the amount in digits."
|
|
"")
|
|
amount_digit_ls = fields.Float(string="Amount in Digits Letter Spacing",
|
|
help="Spacing between characters in the "
|
|
"amount in digits.")
|
|
amount_digit_size = fields.Float(string="Amount in Digits Font Size",
|
|
help="Font size for the amount in digits"
|
|
".")
|
|
|
|
def action_print_test(self):
|
|
"""Print a test cheque to make corrections for the user in
|
|
cheque format."""
|
|
data = {
|
|
'cheque_width': self.cheque_width,
|
|
'cheque_height': self.cheque_height,
|
|
'font_size': self.font_size,
|
|
'print_cheque_number': self.print_cheque_number,
|
|
'cheque_no_tm': self.cheque_no_tm,
|
|
'cheque_no_lm': self.cheque_no_lm,
|
|
'is_account_payee': self.is_account_payee,
|
|
'a_c_payee_top_margin': self.a_c_payee_top_margin,
|
|
'a_c_payee_left_margin': self.a_c_payee_left_margin,
|
|
'a_c_payee_width': self.a_c_payee_width,
|
|
'a_c_payee_height': self.a_c_payee_height,
|
|
'date_top_margin': self.date_top_margin,
|
|
'date_left_margin': self.date_left_margin,
|
|
'date_letter_spacing': self.date_letter_spacing,
|
|
'beneficiary_top_margin': self.beneficiary_top_margin,
|
|
'beneficiary_left_margin': self.beneficiary_left_margin,
|
|
'amount_word_tm': self.amount_word_tm,
|
|
'amount_word_lm': self.amount_word_lm,
|
|
'amount_word_ls': self.amount_word_ls,
|
|
'amount_digit_tm': self.amount_digit_tm,
|
|
'amount_digit_lm': self.amount_digit_lm,
|
|
'amount_digit_ls': self.amount_digit_ls,
|
|
'amount_digit_size': self.amount_digit_size,
|
|
'print_currency': self.print_currency,
|
|
'currency_symbol': self.env.company.currency_id.symbol,
|
|
'date_remove_slashes': self.date_remove_slashes
|
|
}
|
|
return self.env.ref(
|
|
'odoo_print_cheque.test_cheque_action').report_action(None,
|
|
data=data)
|
|
|