Commit 09de39e2 by aa.gusti

penambahan company

1 parent a30218b3
...@@ -21,6 +21,8 @@ def upgrade(): ...@@ -21,6 +21,8 @@ def upgrade():
helpers = context.opts['helpers'] helpers = context.opts['helpers']
if not helpers.table_has_column('users', 'partner_id'): if not helpers.table_has_column('users', 'partner_id'):
op.add_column('users', sa.Column('partner_id', sa.Integer)) op.add_column('users', sa.Column('partner_id', sa.Integer))
if not helpers.table_has_column('users', 'company_id'):
op.add_column('users', sa.Column('company_id', sa.Integer))
if not helpers.table_has_column('partner', 'company_id'): if not helpers.table_has_column('partner', 'company_id'):
op.add_column('partner', sa.Column('company_id', sa.Integer)) op.add_column('partner', sa.Column('company_id', sa.Integer))
......
...@@ -26,6 +26,7 @@ class Departemen(Base, NamaModel): ...@@ -26,6 +26,7 @@ class Departemen(Base, NamaModel):
level_id = Column(SmallInteger) level_id = Column(SmallInteger)
children = relationship( children = relationship(
"Departemen", backref=backref('parent', remote_side=[id])) "Departemen", backref=backref('parent', remote_side=[id]))
company_id = Column(Integer)
def get_parents(self, start=False): def get_parents(self, start=False):
allparents = [] allparents = []
......
...@@ -73,6 +73,7 @@ class User(UserMixin, BaseModel, CommonModel, Base): ...@@ -73,6 +73,7 @@ class User(UserMixin, BaseModel, CommonModel, Base):
default=datetime.utcnow) default=datetime.utcnow)
api_key = Column(String(256)) api_key = Column(String(256))
partner_id = Column(Integer) #, ForeignKey(Partner.id)) partner_id = Column(Integer) #, ForeignKey(Partner.id))
company_id = Column(Integer) #, ForeignKey(Partner.id))
#partners = relationship(Partner, backref=backref('users')) #partners = relationship(Partner, backref=backref('users'))
def _get_password(self): def _get_password(self):
......
...@@ -113,9 +113,10 @@ class BaseView(object): ...@@ -113,9 +113,10 @@ class BaseView(object):
self.table = "" self.table = ""
def route_list(self, msg=None, error=""): def route_list(self, msg=None, error=""):
if msg:
self.ses.flash(msg, error)
return HTTPFound(location=self.req.route_url(self.list_route)) return HTTPFound(location=self.req.route_url(self.list_route))
def form_validator(self, form, value): def form_validator(self, form, value):
pass pass
...@@ -221,6 +222,7 @@ class BaseView(object): ...@@ -221,6 +222,7 @@ class BaseView(object):
request = self.req request = self.req
q = self.query_id() q = self.query_id()
row = q.first() row = q.first()
if not row: if not row:
return self.id_not_found() return self.id_not_found()
if request.POST: if request.POST:
...@@ -235,8 +237,11 @@ class BaseView(object): ...@@ -235,8 +237,11 @@ class BaseView(object):
return dict(form=form.render(readonly=True), scripts=self.form_scripts) return dict(form=form.render(readonly=True), scripts=self.form_scripts)
def query_id(self): def query_id(self):
return DBSession.query(self.table).filter_by( q = DBSession.query(self.table).filter_by(
id=self.req.matchdict['id']) id=self.req.matchdict['id'])
if self.req.user.company_id:
q = q.filter_by(company_id=self.req.user.company_id)
return q
@colander.deferred @colander.deferred
......
...@@ -2,17 +2,14 @@ import json ...@@ -2,17 +2,14 @@ import json
import colander import colander
from deform import (widget, Form, ValidationFailure, ) from deform import (widget, Form, ValidationFailure, )
from opensipkd.base.models import ResProvinsi, ResDati2, ResDesa
from opensipkd.tools.buttons import btn_close, btn_cancel, btn_save from opensipkd.tools.buttons import btn_close, btn_cancel, btn_save
from pyramid.view import (view_config, ) from pyramid.view import (view_config, )
from .kecamatan import kecamatan_widget from opensipkd.base.models import ResProvinsi, ResDati2, ResDesa
from .partner_base import PartnerSchema from .partner_base import PartnerSchema
from ..models import DBSession, ResCompany, ResKecamatan, Partner from ..models import DBSession, ResCompany, ResKecamatan, Partner
from ..views import ColumnDT, DataTables, BaseView from ..views import ColumnDT, DataTables, BaseView
# from opensipkd.base.views import partner
SESS_ADD_FAILED = 'Tambah pemda gagal' SESS_ADD_FAILED = 'Tambah pemda gagal'
SESS_EDIT_FAILED = 'Edit pemda gagal' SESS_EDIT_FAILED = 'Edit pemda gagal'
...@@ -141,12 +138,16 @@ class ViewCompany(BaseView): ...@@ -141,12 +138,16 @@ class ViewCompany(BaseView):
ColumnDT(ResCompany.kode, mData='kode'), ColumnDT(ResCompany.kode, mData='kode'),
ColumnDT(ResCompany.nama, mData='nama'), ] ColumnDT(ResCompany.nama, mData='nama'), ]
query = DBSession.query().select_from(ResCompany) query = DBSession.query().select_from(ResCompany)
if request.user.company_id:
query = query.filter_by(id=request.user.company_id)
row_table = DataTables(request.GET, query, columns) row_table = DataTables(request.GET, query, columns)
return row_table.output_result() return row_table.output_result()
@view_config(route_name='company-add', @view_config(route_name='company-add',
renderer='templates/form_input.pt', permission='company') renderer='templates/form_input.pt', permission='company')
def view_add(self): def view_add(self):
if self.req.user.company_id:
return self.route_list("Hak Akses Terbatas", "error")
return super(ViewCompany, self).view_add() return super(ViewCompany, self).view_add()
######## ########
...@@ -199,3 +200,10 @@ class ViewCompany(BaseView): ...@@ -199,3 +200,10 @@ class ViewCompany(BaseView):
row = self.save(values, self.req.user, row) row = self.save(values, self.req.user, row)
return row return row
def query_id(self):
q = DBSession.query(self.table).filter_by(
id=self.req.matchdict['id'])
if self.req.user.company_id:
q = q.filter_by(id=self.req.user.company_id)
return q
\ No newline at end of file \ No newline at end of file
...@@ -7,7 +7,6 @@ from datetime import datetime ...@@ -7,7 +7,6 @@ from datetime import datetime
import colander import colander
from deform import (Form, widget, ValidationFailure, ) from deform import (Form, widget, ValidationFailure, )
from deform.widget import AutocompleteInputWidget from deform.widget import AutocompleteInputWidget
# from opensipkd.base.models import DepartemenUser
from pyramid.httpexceptions import (HTTPFound, ) from pyramid.httpexceptions import (HTTPFound, )
from pyramid.view import (view_config, ) from pyramid.view import (view_config, )
from sqlalchemy import func from sqlalchemy import func
...@@ -15,9 +14,10 @@ from sqlalchemy.orm import aliased ...@@ -15,9 +14,10 @@ from sqlalchemy.orm import aliased
from opensipkd.tools import (get_ext, get_random_string, get_settings) from opensipkd.tools import (get_ext, get_random_string, get_settings)
from opensipkd.tools.buttons import btn_cancel, btn_save, btn_delete, btn_close from opensipkd.tools.buttons import btn_cancel, btn_save, btn_delete, btn_close
from .company import company_widget
from .upload import AddSchema as UploadSchema from .upload import AddSchema as UploadSchema
from .. import renderer from .. import renderer
from ..models import DBSession, Departemen, Partner, PartnerDepartemen from ..models import DBSession, Departemen, Partner, PartnerDepartemen, ResCompany
from ..views import ColumnDT, DataTables, BaseView from ..views import ColumnDT, DataTables, BaseView
SESS_ADD_FAILED = 'Tambah departemen gagal' SESS_ADD_FAILED = 'Tambah departemen gagal'
...@@ -63,6 +63,10 @@ class AddSchema(colander.Schema): ...@@ -63,6 +63,10 @@ class AddSchema(colander.Schema):
alamat = colander.SchemaNode(colander.String(), missing=colander.drop, alamat = colander.SchemaNode(colander.String(), missing=colander.drop,
oid="alamat") oid="alamat")
company_id = colander.SchemaNode(colander.Integer(),
widget=company_widget,
missing=colander.drop,
oid="company_id")
status = colander.SchemaNode(colander.Boolean(), oid="status") status = colander.SchemaNode(colander.Boolean(), oid="status")
...@@ -74,6 +78,9 @@ class AddSchema(colander.Schema): ...@@ -74,6 +78,9 @@ class AddSchema(colander.Schema):
values=f"{request._host}/departemen/hon/act"), values=f"{request._host}/departemen/hon/act"),
oid="parent_nm", oid="parent_nm",
title="Induk", ) title="Induk", )
if request.user.company_id:
self["company_id"].widget = widget.HiddenWidget()
self["company_id"].default = request.user.company_id
class EditSchema(AddSchema): class EditSchema(AddSchema):
...@@ -124,6 +131,7 @@ class ViewDepartemen(BaseView): ...@@ -124,6 +131,7 @@ class ViewDepartemen(BaseView):
self.form_params = dict(scripts="") self.form_params = dict(scripts="")
self.list_url = 'departemen' self.list_url = 'departemen'
self.list_route = 'departemen' self.list_route = 'departemen'
self.table = Departemen
######## ########
# List # # List #
...@@ -142,21 +150,22 @@ class ViewDepartemen(BaseView): ...@@ -142,21 +150,22 @@ class ViewDepartemen(BaseView):
if 'id' in form.request.matchdict: if 'id' in form.request.matchdict:
uid = form.request.matchdict['id'] uid = form.request.matchdict['id']
q = DBSession.query(Departemen).filter_by(id=uid) q = DBSession.query(Departemen).filter_by(id=uid)
urusan = q.first() current = q.first()
else: else:
urusan = None current = None
q = Departemen.query_kode(value['kode']) found = Departemen.query_kode(value['kode']). \
found = q.first() filter_by(company_id=value["company_id"]).first()
if urusan: if current:
if found and found.id != urusan.id: if found and found.id != current.id:
err_kode() err_kode()
elif found: elif found:
err_kode() err_kode()
found = Departemen.query_nama(value['nama']).first() found = Departemen.query_nama(value['nama']). \
if urusan: filter_by(company_id=value["company_id"]).first()
if found and found.id != urusan.id: if current:
if found and found.id != current.id:
err_nama() err_nama()
elif found: elif found:
err_nama() err_nama()
...@@ -200,16 +209,18 @@ class ViewDepartemen(BaseView): ...@@ -200,16 +209,18 @@ class ViewDepartemen(BaseView):
request = self.req request = self.req
if 'id' in request.matchdict: if 'id' in request.matchdict:
values['id'] = request.matchdict['id'] values['id'] = request.matchdict['id']
values["company_id"] = request.user.company_id
row = self.save(values, request.user, row) row = self.save(values, request.user, row)
request.session.flash( request.session.flash(
"Departemen {nama} sudah disimpan.".format(nama=row.nama)) "Departemen {nama} sudah disimpan.".format(nama=row.nama))
def route_list(self, ): # def route_list(self, ):
return HTTPFound(location=self.req.route_url(self.list_route)) # return HTTPFound(location=self.req.route_url(self.list_route))
def get_form(self, class_form, row=None, buttons=(btn_save, btn_cancel)): def get_form(self, class_form, row=None, buttons=(btn_save, btn_cancel)):
schema = class_form(validator=self.form_validator) schema = class_form(validator=self.form_validator)
schema = schema.bind(request=self.req) schema = schema.bind(request=self.req,
company_list=ResCompany.get_list())
schema.request = self.req schema.request = self.req
if row: if row:
schema.deserialize(row) schema.deserialize(row)
...@@ -220,14 +231,14 @@ class ViewDepartemen(BaseView): ...@@ -220,14 +231,14 @@ class ViewDepartemen(BaseView):
del self.req.session[session_name] del self.req.session[session_name]
return r return r
def query_id(self): # def query_id(self):
return DBSession.query(Departemen).filter_by( # return DBSession.query(Departemen).filter_by(
id=self.req.matchdict['id']) # id=self.req.matchdict['id'])
def id_not_found(self): # def id_not_found(self):
msg = 'Departemen ID %s Tidak Ditemukan.' % self.req.matchdict['id'] # msg = 'Departemen ID %s Tidak Ditemukan.' % self.req.matchdict['id']
self.req.session.flash(msg, 'error') # self.req.session.flash(msg, 'error')
return self.route_list() # return self.route_list()
@view_config(route_name='departemen-view', @view_config(route_name='departemen-view',
renderer='templates/form_input.pt', permission='departemen') renderer='templates/form_input.pt', permission='departemen')
...@@ -270,6 +281,8 @@ class ViewDepartemen(BaseView): ...@@ -270,6 +281,8 @@ class ViewDepartemen(BaseView):
ColumnDT(Departemen.level_id, mData='level_id'), ] ColumnDT(Departemen.level_id, mData='level_id'), ]
query = DBSession.query().select_from(Departemen).outerjoin( query = DBSession.query().select_from(Departemen).outerjoin(
dep_alias, Departemen.parent_id == dep_alias.id) dep_alias, Departemen.parent_id == dep_alias.id)
if self.req.user.company_id:
query = query.filter(Departemen.company_id == self.req.user.company_id)
row_table = DataTables(request.GET, query, columns) row_table = DataTables(request.GET, query, columns)
return row_table.output_result() return row_table.output_result()
...@@ -280,6 +293,8 @@ class ViewDepartemen(BaseView): ...@@ -280,6 +293,8 @@ class ViewDepartemen(BaseView):
Departemen.nama.ilike('%%%s%%' % term)) \ Departemen.nama.ilike('%%%s%%' % term)) \
.order_by( .order_by(
Departemen.nama) Departemen.nama)
if self.req.user.company_id:
q = q.filter(Departemen.company_id == self.req.user.company_id)
rows = q.all() rows = q.all()
r = [] r = []
for k in rows: for k in rows:
...@@ -296,6 +311,8 @@ class ViewDepartemen(BaseView): ...@@ -296,6 +311,8 @@ class ViewDepartemen(BaseView):
Departemen.kode) \ Departemen.kode) \
.ilike('%%%s%%' % term)) \ .ilike('%%%s%%' % term)) \
.order_by(Departemen.nama) .order_by(Departemen.nama)
if self.req.user.company_id:
q = q.filter(Departemen.company_id == self.req.user.company_id)
rows = q.all() rows = q.all()
r = [] r = []
for k in rows: for k in rows:
...@@ -314,6 +331,8 @@ class ViewDepartemen(BaseView): ...@@ -314,6 +331,8 @@ class ViewDepartemen(BaseView):
'%%%s%%' % '%%%s%%' %
term)).order_by( term)).order_by(
Departemen.nama) Departemen.nama)
if self.req.user.company_id:
q = q.filter(Departemen.company_id == self.req.user.company_id)
if int(level_id) > 0: if int(level_id) > 0:
q = q.filter(Departemen.level_id == int(level_id)) q = q.filter(Departemen.level_id == int(level_id))
if request.user.id > 1 and not request.has_permission( if request.user.id > 1 and not request.has_permission(
...@@ -349,6 +368,8 @@ class ViewDepartemen(BaseView): ...@@ -349,6 +368,8 @@ class ViewDepartemen(BaseView):
'%%%s%%' % '%%%s%%' %
term)).order_by( term)).order_by(
Departemen.nama) Departemen.nama)
if self.req.user.company_id:
q = q.filter(Departemen.company_id == self.req.user.company_id)
if int(level_id) > 0: if int(level_id) > 0:
q = q.filter(Departemen.level_id == int(level_id)) q = q.filter(Departemen.level_id == int(level_id))
......
# from ..tools import row2dict, xls_reader
from datetime import datetime from datetime import datetime
import colander import colander
...@@ -7,26 +6,22 @@ from deform import ( ...@@ -7,26 +6,22 @@ from deform import (
widget, widget,
ValidationFailure, ValidationFailure,
) )
from opensipkd.base.models.common import ResCompany from opensipkd.tools.buttons import btn_save, btn_cancel, btn_delete
from opensipkd.base.models import User, ResProvinsi, ResDati2, ResKecamatan, ResDesa
from pyramid.httpexceptions import ( from pyramid.httpexceptions import (
HTTPFound, HTTPFound,
) )
from pyramid.view import ( from pyramid.view import (
view_config, view_config,
) )
from opensipkd.tools.buttons import btn_save, btn_cancel, btn_delete
from .dati2 import dati2_widget from opensipkd.base.models import (
from .desa import desa_widget User, ResProvinsi, ResDati2, ResKecamatan, ResDesa)
from .kecamatan import kecamatan_widget from opensipkd.base.models.common import ResCompany
from .company import company_widget
from .partner_base import PartnerSchema from .partner_base import PartnerSchema
from .provinsi import provinsi_widget
from ..models import DBSession from ..models import DBSession
from ..models import Partner from ..models import Partner
from ..views import ColumnDT, DataTables, BaseView from ..views import ColumnDT, DataTables, BaseView
from .company import company_widget
SESS_ADD_FAILED = 'Tambah partner gagal' SESS_ADD_FAILED = 'Tambah partner gagal'
SESS_EDIT_FAILED = 'Edit partner gagal' SESS_EDIT_FAILED = 'Edit partner gagal'
...@@ -47,6 +42,12 @@ class AddSchema(PartnerSchema): ...@@ -47,6 +42,12 @@ class AddSchema(PartnerSchema):
oid="company_id", oid="company_id",
title="Company") title="Company")
def after_bind(self, schema, kwargs):
request = kwargs["request"]
if request.user.company_id:
self["company_id"].widget = widget.HiddenWidget()
self["company_id"].default = request.user.company_id
class EditSchema(AddSchema): class EditSchema(AddSchema):
id = colander.SchemaNode(colander.String(), id = colander.SchemaNode(colander.String(),
...@@ -81,6 +82,8 @@ class ViewPartner(BaseView): ...@@ -81,6 +82,8 @@ class ViewPartner(BaseView):
ColumnDT(Partner.status, mData='status'), ColumnDT(Partner.status, mData='status'),
] ]
query = DBSession.query().select_from(Partner) query = DBSession.query().select_from(Partner)
if self.req.user.company_id:
query = query.filter(Partner.company_id == self.req.user.company_id)
row_table = DataTables(request.GET, query, columns) row_table = DataTables(request.GET, query, columns)
return row_table.output_result() return row_table.output_result()
......
...@@ -6,7 +6,7 @@ from pyramid.view import (view_config, ) ...@@ -6,7 +6,7 @@ from pyramid.view import (view_config, )
from sqlalchemy import or_ from sqlalchemy import or_
from sqlalchemy.orm import aliased from sqlalchemy.orm import aliased
from ..models import DBSession as PartnerDBSession, DBSession from ..models import DBSession as PartnerDBSession, DBSession, ResCompany
from ..models import Departemen, Jabatan from ..models import Departemen, Jabatan
from ..models import Partner, PartnerDepartemen from ..models import Partner, PartnerDepartemen
from opensipkd.tools import dmy, date_from_str from opensipkd.tools import dmy, date_from_str
...@@ -169,7 +169,7 @@ class ViewPartner(BaseView): ...@@ -169,7 +169,7 @@ class ViewPartner(BaseView):
{'title': "Nama", 'data': "nama"}, {'title': "Nama", 'data': "nama"},
{'title': "Unit Kerja", 'data': "departemen"}, {'title': "Unit Kerja", 'data': "departemen"},
{'title': "Jabatan", 'data': "jabatan"}, {'title': "Jabatan", 'data': "jabatan"},
{'title': "Jenis Jabatan", 'data': "jenis"}, {'title': "Pemda", 'data': "jenis"},
{'title': "Mulai", 'data': "mulai"}, {'title': "Mulai", 'data': "mulai"},
{'title': "Selesai", 'data': "selesai"}, ] {'title': "Selesai", 'data': "selesai"}, ]
self.list_buttons = 'btn_view, btn_add, btn_edit, btn_delete, ' \ self.list_buttons = 'btn_view, btn_add, btn_edit, btn_delete, ' \
...@@ -277,19 +277,22 @@ class ViewPartner(BaseView): ...@@ -277,19 +277,22 @@ class ViewPartner(BaseView):
ColumnDT(Partner.nama, mData='nama'), ColumnDT(Partner.nama, mData='nama'),
ColumnDT(Departemen.nama, mData='departemen'), ColumnDT(Departemen.nama, mData='departemen'),
ColumnDT(Jabatan.nama, mData='jabatan'), ColumnDT(Jabatan.nama, mData='jabatan'),
ColumnDT(Jabatan.jenis, mData='jenis'), ColumnDT(ResCompany.nama, mData='jenis'),
ColumnDT(struktural.nama, mData='struktural_nm'), ColumnDT(struktural.nama, mData='struktural_nm'),
ColumnDT(PartnerDepartemen.mulai, mData='mulai'), ColumnDT(PartnerDepartemen.mulai, mData='mulai'),
ColumnDT(PartnerDepartemen.selesai, mData='selesai'), ColumnDT(PartnerDepartemen.selesai, mData='selesai'),
] ]
query = PartnerDBSession.query().select_from(PartnerDepartemen) \ q = PartnerDBSession.query().select_from(PartnerDepartemen) \
.outerjoin(Departemen, PartnerDepartemen.departemen_id == Departemen.id) \ .join(Departemen, PartnerDepartemen.departemen_id == Departemen.id) \
.outerjoin(ResCompany, Departemen.company_id == ResCompany.id) \
.outerjoin(Partner, Partner.id == PartnerDepartemen.partner_id) \ .outerjoin(Partner, Partner.id == PartnerDepartemen.partner_id) \
.outerjoin(Jabatan, (PartnerDepartemen.jabatan_id == Jabatan.id)) \ .outerjoin(Jabatan, (PartnerDepartemen.jabatan_id == Jabatan.id)) \
.outerjoin(struktural, (PartnerDepartemen.jabatan_id == struktural.id)) \ .outerjoin(struktural, (PartnerDepartemen.jabatan_id == struktural.id)) \
.order_by(Partner.nama) .order_by(Partner.nama)
if self.req.user.company_id:
q = q.filter(Departemen.company_id == self.req.user.company_id)
row_table = DataTables(request.GET, q, columns)
row_table = DataTables(request.GET, query, columns)
return row_table.output_result() return row_table.output_result()
elif url_dict['act'] == 'hon_departemen': elif url_dict['act'] == 'hon_departemen':
...@@ -305,6 +308,9 @@ class ViewPartner(BaseView): ...@@ -305,6 +308,9 @@ class ViewPartner(BaseView):
filter(PartnerDepartemen.departemen_id == ses['departemen_id']). \ filter(PartnerDepartemen.departemen_id == ses['departemen_id']). \
filter(or_(Jabatan.kode == '101', Jabatan.kode == '102')). \ filter(or_(Jabatan.kode == '101', Jabatan.kode == '102')). \
order_by(Partner.nama) order_by(Partner.nama)
if self.req.user.company_id:
q = q.filter(Departemen.company_id == self.req.user.company_id)
rows = q.all() rows = q.all()
r = [] r = []
keys = ('id', 'value', 'nik', 'nama', 'jabatan_id', 'jabatan_nm') keys = ('id', 'value', 'nik', 'nama', 'jabatan_id', 'jabatan_nm')
...@@ -327,6 +333,8 @@ class ViewPartner(BaseView): ...@@ -327,6 +333,8 @@ class ViewPartner(BaseView):
filter(Partner.nama.ilike('%%%s%%' % term)). \ filter(Partner.nama.ilike('%%%s%%' % term)). \
filter(PartnerDepartemen.departemen_id == ses['departemen_id']). \ filter(PartnerDepartemen.departemen_id == ses['departemen_id']). \
order_by(Partner.nama) order_by(Partner.nama)
if self.req.user.company_id:
q = q.filter(Departemen.company_id == self.req.user.company_id)
rows = q.all() rows = q.all()
r = [] r = []
keys = ('id', 'value', 'nik', 'nama', 'jabatan_id', 'jabatan_nm') keys = ('id', 'value', 'nik', 'nama', 'jabatan_id', 'jabatan_nm')
...@@ -349,6 +357,8 @@ class ViewPartner(BaseView): ...@@ -349,6 +357,8 @@ class ViewPartner(BaseView):
filter(or_(Jabatan.kode == '101', Jabatan.kode == '102', Jabatan.kode == '103', Jabatan.kode == filter(or_(Jabatan.kode == '101', Jabatan.kode == '102', Jabatan.kode == '103', Jabatan.kode ==
'104')). \ '104')). \
order_by(Partner.nama) order_by(Partner.nama)
if self.req.user.company_id:
q = q.filter(Departemen.company_id == self.req.user.company_id)
rows = q.all() rows = q.all()
r = [] r = []
keys = ('id', 'value', 'nik', 'nama', 'jabatan_id', 'jabatan_nm') keys = ('id', 'value', 'nik', 'nama', 'jabatan_id', 'jabatan_nm')
...@@ -362,6 +372,8 @@ class ViewPartner(BaseView): ...@@ -362,6 +372,8 @@ class ViewPartner(BaseView):
q = DBSession.query(Jabatan.id, Jabatan.kode, Jabatan.nama, Jabatan.jenis). \ q = DBSession.query(Jabatan.id, Jabatan.kode, Jabatan.nama, Jabatan.jenis). \
filter(Jabatan.nama.ilike('%%%s%%' % term)). \ filter(Jabatan.nama.ilike('%%%s%%' % term)). \
order_by(Jabatan.nama) order_by(Jabatan.nama)
if self.req.user.company_id:
q = q.filter(Departemen.company_id == self.req.user.company_id)
rows = q.all() rows = q.all()
r = [] r = []
for k in rows: for k in rows:
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!