Commit 6086ee69 by Owo Sugiana

Bug fixed tangsel_invisible_disc/__init__.py before_save()

1 parent df1055b4
import sys
from datetime import datetime
from configparser import ConfigParser
from optparse import OptionParser
from argparse import ArgumentParser
import transaction
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
......@@ -37,11 +37,15 @@ def date_from_str(s):
def get_option(argv):
help_tgl = 'butuh --payment'
pars = OptionParser()
pars.add_option('-i', '--invoice-id')
pars.add_option('', '--payment', action='store_true')
pars.add_option('', '--tgl-bayar', help=help_tgl)
pars.add_option('', '--reversal', action='store_true')
help_status_bayar = 'Field status_pembayaran_sppt = 1 jika lunas'
pars = ArgumentParser()
pars.add_argument('conf')
pars.add_argument('--invoice-id')
pars.add_argument('--payment', action='store_true')
pars.add_argument('--tgl-bayar', help=help_tgl)
pars.add_argument('--reversal', action='store_true')
pars.add_argument(
'--update-status-bayar', action='store_true', help=help_status_bayar)
return pars.parse_args(argv)
......@@ -115,13 +119,13 @@ ERR_PAYMENT_NOT_FOUND = 'Pembayaran tidak ditemukan, '\
def main(argv=sys.argv):
option, remain = get_option(argv[1:])
option = get_option(argv[1:])
invoice_id = option.invoice_id
if option.tgl_bayar:
tgl_bayar = date_from_str(option.tgl_bayar)
else:
tgl_bayar = None
conf_file = remain[0]
conf_file = option.conf
conf = ConfigParser()
conf.read(conf_file)
module_name = conf.get('main', 'module')
......@@ -132,7 +136,7 @@ def main(argv=sys.argv):
db_url = conf.get('main', 'db_url')
engine = create_engine(db_url)
session_factory = sessionmaker(bind=engine)
sismiop.services.base.DBSession = session_factory()
sismiop.services.base.DBSession = DBSession = session_factory()
register(sismiop.services.base.DBSession)
persen_denda = conf.getfloat('main', 'persen_denda')
with transaction.manager:
......@@ -165,3 +169,18 @@ def main(argv=sys.argv):
print(
'Pembayaran ke-{} berhasil dibatalkan'.format(
pay.pembayaran_sppt_ke))
if option.update_status_bayar:
if inq.total == 0:
if inq.invoice.status_pembayaran_sppt == '0':
inq.invoice.status_pembayaran_sppt = '1'
DBSession.add(inq.invoice)
print('Sudah diperbarui, silakan inquiry lagi.')
if inq.invoice.status_pembayaran_sppt == '1':
print('Field status_pembayaran_sppt sudah 1, '\
'tidak perlu diperbarui lagi')
else:
print('Field status_pembayaran_sppt harus 0')
else:
print('Total Tagihan harus 0')
......@@ -22,4 +22,4 @@ class Inquiry(BaseInquiry):
payment.discount_pokok = self.discount_pokok
self.set_faktor_pengurang_sppt()
self.set_faktor_pengurang_sppt(payment)
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!