Commit 4df4d77c by aa.gusti

perubahan userdep

1 parent 22dba5a5
...@@ -451,7 +451,7 @@ def main(global_config, **settings): ...@@ -451,7 +451,7 @@ def main(global_config, **settings):
None: {"js": "opensipkd.base:static/jquery/jquery.maskMoney.min.js"}} None: {"js": "opensipkd.base:static/jquery/jquery.maskMoney.min.js"}}
engine = engine_from_config( 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) DBSession.configure(bind=engine)
LogDBSession.configure(bind=engine) LogDBSession.configure(bind=engine)
Base.metadata.bind = engine Base.metadata.bind = engine
......
...@@ -36,16 +36,17 @@ def usage(argv): ...@@ -36,16 +36,17 @@ def usage(argv):
def create_schema(engine, schema): 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('information_schema.schemata')).where(
text("schema_name = '%s'" % schema)) text("schema_name = '%s'" % schema))
if isinstance(engine.dialect, oracle.dialect): if isinstance(engine.dialect, oracle.dialect):
sql = select(['owner']).select_from('dba_segments').where( sql = select(['owner']).select_from('dba_segments').where(
"owner = '%s'" % schema.upper()) "owner = '%s'" % schema.upper())
print(sql) print(sql)
q = engine.execute(sql) with engine.connect() as conn:
q = conn.execute(sql)
if not q.fetchone(): if not q.fetchone():
engine.execute(CreateSchema(schema)) conn.execute(CreateSchema(schema))
def read_file(filename): def read_file(filename):
...@@ -165,7 +166,10 @@ def append_csv(table, filename, keys, get_file_func=get_file, ...@@ -165,7 +166,10 @@ def append_csv(table, filename, keys, get_file_func=get_file,
log.debug(f"Delimiter: {delimiter}") log.debug(f"Delimiter: {delimiter}")
insp = inspect(DBSession.connection()) 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 = {} fields = {}
for c in columns_table: for c in columns_table:
fields[c["name"]] = c["type"] fields[c["name"]] = c["type"]
......
...@@ -475,6 +475,9 @@ class BaseView(object): ...@@ -475,6 +475,9 @@ class BaseView(object):
query = query.filter( query = query.filter(
self.table.company_id == self.req.user.company_id) self.table.company_id == self.req.user.company_id)
query = self.list_filter(query, **kwargs) 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) row_table = DataTables(self.req.GET, query, columns)
result = row_table.output_result() result = row_table.output_result()
data = result and "data" in result and result["data"] or {} data = result and "data" in result and result["data"] or {}
......
...@@ -2,10 +2,10 @@ import colander ...@@ -2,10 +2,10 @@ import colander
from deform import (widget, ) from deform import (widget, )
from pyramid.view import (view_config, ) from pyramid.view import (view_config, )
from . import BaseView
from opensipkd.models import ( from opensipkd.models import (
DBSession, DBSession,
Parameter) Parameter)
from . import BaseView
class AddSchema(colander.Schema): class AddSchema(colander.Schema):
...@@ -26,7 +26,8 @@ class AddSchema(colander.Schema): ...@@ -26,7 +26,8 @@ class AddSchema(colander.Schema):
title="Nilai") title="Nilai")
status = colander.SchemaNode( status = colander.SchemaNode(
colander.Boolean()) colander.Integer(),
widget=widget.CheckboxWidget(true_val=1, false_val=0))
class EditSchema(AddSchema): class EditSchema(AddSchema):
......
...@@ -4,7 +4,7 @@ from pyramid.view import view_config ...@@ -4,7 +4,7 @@ from pyramid.view import view_config
from . import BaseView from . import BaseView
from ...models import User, DepartemenUser, Departemen from ...models import User, DepartemenUser, Departemen
from .departemen import departemen_widget, get_departemen_list
class ListSchema(colander.Schema): class ListSchema(colander.Schema):
id = colander.SchemaNode( id = colander.SchemaNode(
...@@ -30,7 +30,7 @@ class AddSchema(colander.Schema): ...@@ -30,7 +30,7 @@ class AddSchema(colander.Schema):
) )
departemen_id = colander.SchemaNode( departemen_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=widget.SelectWidget(values=Departemen.get_list()), widget=departemen_widget,
oid="departemen_id", oid="departemen_id",
title="Departemen", ) title="Departemen", )
...@@ -64,6 +64,9 @@ class Views(BaseView): ...@@ -64,6 +64,9 @@ class Views(BaseView):
def view_act(self): def view_act(self):
return super().view_act() 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', @view_config(route_name='user-departemen-add', renderer='templates/form.pt',
permission='user-edit') permission='user-edit')
def view_add(self): 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 \ 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!