Commit 4df4d77c by aa.gusti

perubahan userdep

1 parent 22dba5a5
......@@ -451,7 +451,7 @@ def main(global_config, **settings):
None: {"js": "opensipkd.base:static/jquery/jquery.maskMoney.min.js"}}
engine = engine_from_config(
settings, 'sqlalchemy.', client_encoding='utf8') # , convert_unicode=True
settings, 'sqlalchemy.', client_encoding='utf8', max_identifier_length=30) # , convert_unicode=True
DBSession.configure(bind=engine)
LogDBSession.configure(bind=engine)
Base.metadata.bind = engine
......
......@@ -36,16 +36,17 @@ def usage(argv):
def create_schema(engine, schema):
sql = select([text('schema_name')]).select_from(
sql = select(text('schema_name')).select_from(
text('information_schema.schemata')).where(
text("schema_name = '%s'" % schema))
text("schema_name = '%s'" % schema))
if isinstance(engine.dialect, oracle.dialect):
sql = select(['owner']).select_from('dba_segments').where(
"owner = '%s'" % schema.upper())
print(sql)
q = engine.execute(sql)
if not q.fetchone():
engine.execute(CreateSchema(schema))
with engine.connect() as conn:
q = conn.execute(sql)
if not q.fetchone():
conn.execute(CreateSchema(schema))
def read_file(filename):
......@@ -165,7 +166,10 @@ def append_csv(table, filename, keys, get_file_func=get_file,
log.debug(f"Delimiter: {delimiter}")
insp = inspect(DBSession.connection())
columns_table = insp.get_columns(table.__tablename__)
print(dir(table.__table__))
print("____")
schema = hasattr(table.__table__, "schema") and table.__table__.schema or "public"
columns_table = insp.get_columns(table.__tablename__, schema)
fields = {}
for c in columns_table:
fields[c["name"]] = c["type"]
......
......@@ -475,6 +475,9 @@ class BaseView(object):
query = query.filter(
self.table.company_id == self.req.user.company_id)
query = self.list_filter(query, **kwargs)
# log.debug(str(columns))
# qry = query.add_columns(*[c.sqla_expr for c in columns])
# log.debug(str(qry))
row_table = DataTables(self.req.GET, query, columns)
result = row_table.output_result()
data = result and "data" in result and result["data"] or {}
......
......@@ -2,10 +2,10 @@ import colander
from deform import (widget, )
from pyramid.view import (view_config, )
from . import BaseView
from opensipkd.models import (
DBSession,
Parameter)
from . import BaseView
class AddSchema(colander.Schema):
......@@ -26,7 +26,8 @@ class AddSchema(colander.Schema):
title="Nilai")
status = colander.SchemaNode(
colander.Boolean())
colander.Integer(),
widget=widget.CheckboxWidget(true_val=1, false_val=0))
class EditSchema(AddSchema):
......
......@@ -4,7 +4,7 @@ from pyramid.view import view_config
from . import BaseView
from ...models import User, DepartemenUser, Departemen
from .departemen import departemen_widget, get_departemen_list
class ListSchema(colander.Schema):
id = colander.SchemaNode(
......@@ -30,7 +30,7 @@ class AddSchema(colander.Schema):
)
departemen_id = colander.SchemaNode(
colander.Integer(),
widget=widget.SelectWidget(values=Departemen.get_list()),
widget=departemen_widget,
oid="departemen_id",
title="Departemen", )
......@@ -64,6 +64,9 @@ class Views(BaseView):
def view_act(self):
return super().view_act()
def get_bindings(self, row=None):
return {"departemen_list": get_departemen_list()}
@view_config(route_name='user-departemen-add', renderer='templates/form.pt',
permission='user-edit')
def view_add(self):
......
transaction
pyramid
SQLAlchemy
setuptools
pyreportjasper
colander
deform
iso8601
python-dateutil
google
alembic
pytz
translationstring
icecream
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!