def _amount_wa_total_to_word_th(self): minus = False amount_text = '' for rec in self: amount_wa_total = rec.amount_wa_total amount_wa_total_text = amount_to_text_th(amount_wa_total, rec.currency_id.name) rec.amount_wa_total_text_th = minus and 'ลบ' + amount_wa_total_text or amount_wa_total_text
def _get_invoice_amount_total_text_th(self, amount_total): minus = False if amount_total < 0: minus = True amount_total = -amount_total amount_text = amount_to_text_th(amount_total, self.currency_id.name) final_amount_text = minus and 'ลบ' + amount_text or amount_text return final_amount_text
def _compute_amount_untaxed_text_th(self): for invoice in self: minus = False amount_untaxed = invoice.amount_untaxed if amount_untaxed < 0: minus = True amount_untaxed = -amount_untaxed amount_text = amount_to_text_th( amount_untaxed, invoice.currency_id.name) invoice.amount_untaxed_text_th = \ minus and 'ลบ' + amount_text or amount_text
def _amount_to_word_th(self, cursor, user, ids, name, arg, context=None): res = {} minus = False amount_text = '' for obj in self.browse(cursor, user, ids, context=context): amount_total = self._get_amount_total(obj) if amount_total < 0: minus = True amount_total = -amount_total amount_text = amount_to_text_th(amount_total, obj.currency_id.name) res[obj.id] = minus and 'ลบ' + amount_text or amount_text return res
def _amount_to_word_th(self, cursor, user, ids, name, arg, context=None): res = {} minus = False amount_text = '' for obj in self.browse(cursor, user, ids, context=context): amount_total = self._get_amount_total(obj) if amount_total < 0: minus = True amount_total = -amount_total amount_text = amount_to_text_th(amount_total, obj.currency_id.name) res[obj.id] = minus and 'ลบ' + amount_text or amount_text return res
def _compute_fine_per_day_to_word_th(self): res = {} minus = False for acceptance in self: order = acceptance.order_id fine_per_day = acceptance.fine_per_day if fine_per_day < 0: minus = True fine_per_day = -fine_per_day amount_text = amount_to_text_th(fine_per_day, order.currency_id.name) acceptance.amount_fine_per_day_text_th = minus and\ 'ลบ' + amount_text or amount_text return res
def _compute_fine_amount_to_word_th(self): res = {} minus = False for acceptance in self: order = acceptance.order_id amount_total = acceptance.total_fine if amount_total < 0: minus = True amount_total = -amount_total amount_text = amount_to_text_th(amount_total, order.currency_id.name) acceptance.amount_total_fine_text_th = minus and\ 'ลบ' + amount_text or amount_text return res
def _compute_fine_per_day_to_word_th(self): res = {} minus = False for acceptance in self: order = acceptance.order_id fine_per_day = acceptance.fine_per_day if fine_per_day < 0: minus = True fine_per_day = -fine_per_day amount_text = amount_to_text_th(fine_per_day, order.currency_id.name) acceptance.amount_fine_per_day_text_th = minus and\ 'ลบ' + amount_text or amount_text return res
def _compute_fine_amount_to_word_th(self): res = {} minus = False for acceptance in self: order = acceptance.order_id amount_total = acceptance.total_fine if amount_total < 0: minus = True amount_total = -amount_total amount_text = amount_to_text_th(amount_total, order.currency_id.name) acceptance.amount_total_fine_text_th = minus and\ 'ลบ' + amount_text or amount_text return res
def _prepare_confirmation_letter_detail(self, datas): lines = [] for partner_id in list(set(map(lambda l: l[0], datas))): sub_data = filter(lambda l: l[0] == partner_id, datas) pr_accounts = ",".join(list(set(map(lambda l: l[1], sub_data)))) credit = sum(map(lambda l: l[2], sub_data)) debit = sum(map(lambda l: l[3], sub_data)) balance = credit - debit balance_text_th = \ (balance < 0 and 'ลบ' or '') + \ amount_to_text_th(abs(balance), 'THB') lines.append((0, 0, { 'partner_id': partner_id, 'balance': balance, 'parent_accounts': pr_accounts, 'balance_text_th': balance_text_th })) return lines
def amount_to_text_th(self, amount, currency="BAHT"): return amount_to_text_th(amount, currency)
def _amount_to_word_th(self): amount_text = '' for rec in self: amount = rec.amount amount_text = amount_to_text_th(amount, rec.currency_id.name) rec.amount_text_th = amount_text