Commit 6086ee69 by Owo Sugiana

Bug fixed tangsel_invisible_disc/__init__.py before_save()

1 parent df1055b4
import sys import sys
from datetime import datetime from datetime import datetime
from configparser import ConfigParser from configparser import ConfigParser
from optparse import OptionParser from argparse import ArgumentParser
import transaction import transaction
from sqlalchemy import create_engine from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker from sqlalchemy.orm import sessionmaker
...@@ -37,11 +37,15 @@ def date_from_str(s): ...@@ -37,11 +37,15 @@ def date_from_str(s):
def get_option(argv): def get_option(argv):
help_tgl = 'butuh --payment' help_tgl = 'butuh --payment'
pars = OptionParser() help_status_bayar = 'Field status_pembayaran_sppt = 1 jika lunas'
pars.add_option('-i', '--invoice-id') pars = ArgumentParser()
pars.add_option('', '--payment', action='store_true') pars.add_argument('conf')
pars.add_option('', '--tgl-bayar', help=help_tgl) pars.add_argument('--invoice-id')
pars.add_option('', '--reversal', action='store_true') 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) return pars.parse_args(argv)
...@@ -115,13 +119,13 @@ ERR_PAYMENT_NOT_FOUND = 'Pembayaran tidak ditemukan, '\ ...@@ -115,13 +119,13 @@ ERR_PAYMENT_NOT_FOUND = 'Pembayaran tidak ditemukan, '\
def main(argv=sys.argv): def main(argv=sys.argv):
option, remain = get_option(argv[1:]) option = get_option(argv[1:])
invoice_id = option.invoice_id invoice_id = option.invoice_id
if option.tgl_bayar: if option.tgl_bayar:
tgl_bayar = date_from_str(option.tgl_bayar) tgl_bayar = date_from_str(option.tgl_bayar)
else: else:
tgl_bayar = None tgl_bayar = None
conf_file = remain[0] conf_file = option.conf
conf = ConfigParser() conf = ConfigParser()
conf.read(conf_file) conf.read(conf_file)
module_name = conf.get('main', 'module') module_name = conf.get('main', 'module')
...@@ -132,7 +136,7 @@ def main(argv=sys.argv): ...@@ -132,7 +136,7 @@ def main(argv=sys.argv):
db_url = conf.get('main', 'db_url') db_url = conf.get('main', 'db_url')
engine = create_engine(db_url) engine = create_engine(db_url)
session_factory = sessionmaker(bind=engine) session_factory = sessionmaker(bind=engine)
sismiop.services.base.DBSession = session_factory() sismiop.services.base.DBSession = DBSession = session_factory()
register(sismiop.services.base.DBSession) register(sismiop.services.base.DBSession)
persen_denda = conf.getfloat('main', 'persen_denda') persen_denda = conf.getfloat('main', 'persen_denda')
with transaction.manager: with transaction.manager:
...@@ -165,3 +169,18 @@ def main(argv=sys.argv): ...@@ -165,3 +169,18 @@ def main(argv=sys.argv):
print( print(
'Pembayaran ke-{} berhasil dibatalkan'.format( 'Pembayaran ke-{} berhasil dibatalkan'.format(
pay.pembayaran_sppt_ke)) 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): ...@@ -22,4 +22,4 @@ class Inquiry(BaseInquiry):
payment.discount_pokok = self.discount_pokok 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!