Commit 4c2697ca by Owo Sugiana

Tabel conf dipindahkan ke paket opensipkd-iso8583-bjb

1 parent c1cfbdd9
0.5.1 2021-5-23
---------------
- Tabel conf dipindahkan ke paket opensipkd-iso8583-bjb.
0.5 2021-5-10
-------------
- Pencegahan payment ganda yaitu menerapkan antrian berdasarkan Invoice ID.
......
import json
from sqlalchemy import (
Column,
Integer,
String,
Text,
)
from .meta import Base
class Conf(Base):
__tablename__ = 'conf'
id = Column(Integer, primary_key=True)
nama = Column(String(100), unique=True)
nilai = Column(Text)
keterangan = Column(Text)
def as_boolean(self):
return self.nilai == 'true'
def as_int(self):
return int(self.nilai)
def as_float(self):
return float(self.nilai)
def as_list(self):
return self.nilai.split()
def as_dict(self):
return json.loads(self.nilai)
nama,nilai,keterangan
linkaja allowed ip,127.0.0.1 10.8.50.22 10.14.0.203 10.11.0.118 10.11.0.35 202.43.164.162,list lebih dari satu pisahkan dengan spasi. 0.0.0.0 berarti boleh semua.
linkaja pbb prefix id 3271,PBB Kota Bogor
linkaja pbb prefix id 3275,PBB Kota Bekasi
linkaja pbb prefix id 3278,PBB Kota Depok
linkaja pbb prefix id 3619,PBB Kabupaten Tangerang
linkaja pbb prefix id 3675,PBB Kota Tangerang
linkaja pbb to iso8583,bjb,Route ke section [host_bjb] di file konfigurasi
linkaja sambat aggregator code,W0227
linkaja sambat bank base url,http://localhost:8080/sam-core-app2/rest/SAMWebService
linkaja sambat bank name,bjb,Untuk field linkaja_bank.conf_name
linkaja sambat ca code,CA1864
rpc allowed ip,0.0.0.0
rpc to iso8583,kabupaten_cirebon_payment_point,Route ke section [host_kabupaten_cirebon_payment_point] di file konfigurasi
......@@ -30,7 +30,6 @@ from ..models.meta import (
metadata,
Base,
)
from ..models.conf import Conf
domain = 'initialize_db'
......@@ -136,7 +135,6 @@ def append_csv(table, filename, keys):
def setup_models(dbsession):
metadata.create_all(dbsession.bind)
append_csv(Conf, 'conf.csv', ['nama'])
if restore_csv(User, 'users.csv'):
dbsession.flush()
q = dbsession.query(User).filter_by(id=1)
......
import sys
from argparse import ArgumentParser
import transaction
from pyramid.paster import get_appsettings
from ..models import (
get_engine,
get_session_factory,
get_tm_session,
)
from ..models.conf import Conf
def parse_args(argv):
parser = ArgumentParser()
parser.add_argument('conf', help='File konfigurasi')
parser.add_argument('--nama')
parser.add_argument('--nilai')
return parser.parse_args(argv)
def out(s):
print(s)
sys.exit()
def main(argv=sys.argv[1:]):
args = parse_args(argv)
settings = get_appsettings(args.conf)
engine = get_engine(settings)
session_factory = get_session_factory(engine)
with transaction.manager:
db_session = get_tm_session(session_factory, transaction.manager)
if not args.nama:
q = db_session.query(Conf).order_by(Conf.nama)
for row in q:
print(f'"{row.nama}" = "{row.nilai}"')
sys.exit()
q = db_session.query(Conf).filter_by(nama=args.nama)
row = q.first()
if not row:
out(f'Tidak ditemukan')
if not args.nilai:
out(f'"{args.nama}" = "{row.nilai}"')
if row.nilai == args.nilai:
out(f'Masih sama')
old = row.nilai
row.nilai = args.nilai
db_session.add(row)
print(f'Konfigurasi telah diubah')
print(f'dari "{old}"')
print(f'menjadi "{args.nilai}"')
from ..models.conf import Conf
class QConf:
def __init__(self, db_session):
self.db_session = db_session
def get(self, key):
q = self.db_session.query(Conf).filter_by(nama=key)
return q.first()
def get_value(self, key):
row = self.get(key)
return row.nilai
......@@ -13,7 +13,6 @@ from pyramid.httpexceptions import (
from pyramid.security import (
remember,
forget,
authenticated_userid,
)
from pyramid.i18n import TranslationStringFactory
import colander
......@@ -90,7 +89,7 @@ def login_default_response():
@view_config(route_name='login', renderer='templates/login.pt')
def view_login(request):
if authenticated_userid(request):
if request.authenticated_userid():
return HTTPFound(location=request.route_url('home'))
if '_LOCALE_' in request.GET:
resp = Response()
......@@ -239,7 +238,7 @@ def regenerate_security_code(db_session, user):
@view_config(
route_name='reset-password', renderer='templates/reset-password.pt')
def view_reset_password(request):
if authenticated_userid(request):
if request.authenticated_userid():
return HTTPFound(location=request.route_url('home'))
resp = dict(title=_('Reset password'))
schema = ResetPassword(validator=reset_password_validator)
......
......@@ -77,7 +77,6 @@ setup(
'iso8583 = iso8583_web.iso8583:main',
'initialize_iso8583_web_db = '
'iso8583_web.scripts.initialize_db:main',
'iso8583_set_conf = iso8583_web.scripts.set_conf:main',
]
},
)
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!