Commit 46c58fc4 by aagusti

perbaikan form

1 parent 5e03bef7
......@@ -6,7 +6,7 @@ try:
from urllib import (urlencode, quote, quote_plus, )
except ImportError:
from urllib.parse import (urlencode, quote, quote_plus, )
from pyramid.events import NewRequest
from pyramid.config import Configurator
from pyramid_beaker import session_factory_from_settings
from pyramid.events import subscriber
......@@ -82,6 +82,16 @@ titles = {}
# return HTTPFound(location=noslash_path)
# return self.notfound_view(context, request)
def add_cors_headers_response_callback(event):
def cors_headers(request, response):
response.headers.update({
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST,GET,DELETE,PUT,OPTIONS',
'Access-Control-Allow-Headers': 'Origin, Content-Type, Accept, Authorization',
'Access-Control-Allow-Credentials': 'true',
'Access-Control-Max-Age': '1728000',
})
event.request.add_response_callback(cors_headers)
# https://groups.google.com/forum/#!topic/pylons-discuss/QIj4G82j04c
def has_permission_(request, perm_names, context=None):
......@@ -396,6 +406,8 @@ def main(global_config, **settings):
config = cfg
config.set_security_policy(MySecurityPolicy(settings["session.secret"]))
config.add_subscriber(add_cors_headers_response_callback, NewRequest)
config.add_request_method(get_user, 'user', reify=True)
config.add_request_method(get_title, 'title', reify=True)
config.add_request_method(get_company, 'company', reify=True)
......
......@@ -179,19 +179,23 @@ class BaseView(object):
del self.req.session[session_name]
return r
def view_list(self, arg=None):
def view_list(self, **kwargs):
if self.list_schema:
allow_edit=kwargs.get("allow_edit", True)
allow_delete=kwargs.get("allow_delete", True)
table = DeTable(self.list_schema(),
action=self.req.route_url(self.list_route),
action_suffix="/grid/act",
buttons=self.list_buttons,
request=self.req)
request=self.req,
allow_edit=allow_edit,
allow_delete=allow_delete)
resources = table.get_widget_resources()
# resources=dict(css="", js="")
return dict(form=table.render(), scripts="", css=resources["css"],
js=resources["js"])
arg = arg and arg or {}
arg = kwargs and kwargs or {}
arg.update(url=self.list_url, col_defs=self.list_col_defs,
cols=self.list_cols, buttons=self.list_buttons)
return arg
......@@ -285,7 +289,7 @@ class BaseView(object):
if 'save' in self.req.POST:
controls = self.req.POST.items()
try:
controls = form.validate(controls)
c = form.validate(controls)
except ValidationFailure as e:
# value = self.validation_failure(e.cstruct)
# value.update(self.before_add())
......@@ -294,7 +298,7 @@ class BaseView(object):
table=table and table.render() or None,
scripts=self.form_scripts, css=resources["css"],
js=resources["js"])
values = dict(controls)
values = dict(c)
row = self.save_request(values)
self.after_add(row, values)
elif "cancel" in self.req.POST or 'batal' in self.req.POST:
......
......@@ -34,8 +34,22 @@ class EditSchema(AddSchema):
oid="partner_id")
class ListSchema(NamaSchema):
id = colander.SchemaNode(colander.String(), missing=colander.drop, visible=False)
class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.String(),title="Action")
kode = colander.SchemaNode(
colander.String(),
validator=colander.Length(max=32),
oid="kode",
title="Kode",
width="100pt")
nama = colander.SchemaNode(
colander.String(),
validator=colander.Length(max=64),
oid="nama")
status = colander.SchemaNode(
colander.Integer(),
widget=widget.CheckboxWidget(),
oid="status")
class ViewCompany(BaseView):
......
import colander
from deform import (widget, )
from pyramid.i18n import TranslationStringFactory
from pyramid.view import (view_config, )
from . import widget_os
from .provinsi import provinsi_widget
from opensipkd.models import DBSession, ResDati2, kategori_dati2, ResProvinsi
from ..views import BaseView
_ = TranslationStringFactory("opensipkd")
SESS_ADD_FAILED = 'Tambah dati2 gagal'
SESS_EDIT_FAILED = 'Edit dati2 gagal'
......@@ -43,11 +45,11 @@ class EditSchema(AddSchema):
class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.Integer(), searchable=False, orderable=False, visible=False)
id = colander.SchemaNode(colander.Integer(),
title=_("action", default="Action"))
kode = colander.SchemaNode(colander.String(), width='100pt', title="Kode")
nama = colander.SchemaNode(colander.String(), title="Nama")
provinsi = colander.SchemaNode(colander.String(), field=ResProvinsi.nama)
status = colander.SchemaNode(colander.Integer(), width="30pt")
class ViewDati2(BaseView):
......
......@@ -99,11 +99,12 @@ class EditSchema(AddSchema):
class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.String(), title="ID", visible=False)
id = colander.SchemaNode(colander.String(), title="Action", visible=False)
kode = colander.SchemaNode(colander.String(), title="Kode", width='100pt')
nama = colander.SchemaNode(colander.String(), title="Nama")
status = colander.SchemaNode(colander.Boolean(), title="Status", width='50pt')
level_id = colander.SchemaNode(colander.String(), title="Level", width='50pt')
status = colander.SchemaNode(colander.Boolean(), title="Status", width='50pt',
widget=widget.CheckboxWidget())
level_id = colander.SchemaNode(colander.Integer(), title="Level", width='50pt')
parent = colander.SchemaNode(colander.String(), title="Induk", width='200pt')
......
import colander
from deform import (widget, )
from pyramid.i18n import TranslationStringFactory
from pyramid.view import (view_config, )
from .dati2 import dati2_widget
......@@ -7,6 +8,7 @@ from .kecamatan import kecamatan_widget
from .provinsi import provinsi_widget
from opensipkd.models import DBSession, ResDesa, kategori_desa, ResKecamatan, ResProvinsi, ResDati2
from ..views import BaseView
_ = TranslationStringFactory("opensipkd")
SESS_ADD_FAILED = 'Tambah desa gagal'
SESS_EDIT_FAILED = 'Edit desa gagal'
......@@ -56,11 +58,11 @@ class EditSchema(AddSchema):
class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.Integer(), searchable=False, orderable=False, visible=False)
id = colander.SchemaNode(colander.Integer(),
title=_("action", default="Action"))
kode = colander.SchemaNode(colander.String(), width='100pt', title="Kode")
nama = colander.SchemaNode(colander.String(), title="Nama")
kecamatan = colander.SchemaNode(colander.String(), field=ResKecamatan.nama)
status = colander.SchemaNode(colander.Integer(), width="30pt")
class ViewDesa(BaseView):
......
......@@ -35,8 +35,22 @@ class EditSchema(AddSchema):
missing=colander.drop,
widget=widget.HiddenWidget())
class ListSchema(NamaSchema):
id = colander.SchemaNode(colander.String(),visible=False)
class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.String(),title="Action")
kode = colander.SchemaNode(
colander.String(),
validator=colander.Length(max=32),
oid="kode",
title="Kode",
width="100pt")
nama = colander.SchemaNode(
colander.String(),
validator=colander.Length(max=64),
oid="nama")
status = colander.SchemaNode(
colander.Integer(),
widget=widget.CheckboxWidget(),
oid="status")
class Views(BaseView):
def __init__(self, request):
......
......@@ -40,7 +40,7 @@ class EditSchema(AddSchema):
class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.Integer(), visible=False)
id = colander.SchemaNode(colander.Integer(), visible=False, title="Action")
group_name = colander.SchemaNode(
colander.String(), )
description = colander.SchemaNode(colander.String())
......
import colander
import os
import colander
from deform import (widget, )
from opensipkd.tools.buttons import btn_view, btn_add, btn_edit, btn_delete, btn_close
from opensipkd.tools.report import csv_response, open_rml_pdf, open_rml_row, pdf_response
from opensipkd.tools.report import csv_response, open_rml_pdf, open_rml_row, \
pdf_response
from pyramid.i18n import TranslationStringFactory
from pyramid.view import (view_config, )
from .partner_base import NamaSchema
from opensipkd.models import (
DBSession,
Jabatan,
Eselon, Departemen
)
from .partner_base import NamaSchema
from ..views import BaseView, deferred_jenis
_ = TranslationStringFactory("opensipkd")
SESS_ADD_FAILED = 'Tambah jabatan gagal'
SESS_EDIT_FAILED = 'Edit jabatan gagal'
JENIS = ((1, 'Struktural'),
(2, 'Fungsional'),
(3, 'Keuangan'),
JENIS = ((1, _('structural', default='Structural')),
(2, _('functional', default='Functional')),
(3, _('finance', default='Finance')),
)
......@@ -50,12 +54,12 @@ class AddSchema(colander.Schema):
colander.Integer(),
oid="jenis",
widget=deferred_jenis,
title="Jenis")
title=_("type", default="Jenis"))
eselon_id = colander.SchemaNode(
colander.Integer(),
oid="eselon_id",
widget=deferred_eselon,
title="Eselon")
title=_("eselon", default="Eselon"))
status = colander.SchemaNode(
colander.Boolean(),
oid="status")
......@@ -67,9 +71,22 @@ class EditSchema(AddSchema):
widget=widget.HiddenWidget())
class ListSchema(NamaSchema):
id = colander.SchemaNode(colander.String(),
visible=False)
class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.String(), title="Action")
kode = colander.SchemaNode(
colander.String(),
validator=colander.Length(max=32),
oid="kode",
title="Kode",
width="100pt")
nama = colander.SchemaNode(
colander.String(),
validator=colander.Length(max=64),
oid="nama")
status = colander.SchemaNode(
colander.Integer(),
widget=widget.CheckboxWidget(),
oid="status")
class ViewJabatan(BaseView):
......@@ -84,7 +101,6 @@ class ViewJabatan(BaseView):
self.list_schema = ListSchema
# self.list_buttons = (btn_view, btn_add, btn_edit, btn_delete, btn_close)
def get_bindings(self, row=None):
return dict(daftar_jenis=JENIS,
daftar_eselon=daftar_eselon())
......@@ -124,7 +140,8 @@ class ViewJabatan(BaseView):
elif url_dict['act'] == 'hon':
term = 'term' in params and params['term'] or ''
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)). \
order_by(Jabatan.nama)
rows = q.all()
......@@ -147,7 +164,8 @@ class ViewJabatan(BaseView):
elif url_dict['act'] == 'headofnama':
term = 'term' in params and params['term'] or ''
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)). \
order_by(Jabatan.nama)
rows = q.all()
......@@ -160,7 +178,8 @@ class ViewJabatan(BaseView):
else:
nama_jenis = 'Fungsional'
d = {'id': k[0], 'value': k[2] + ' (' + nama_jenis + ')', 'kode': k[1], 'nama': k[2]}
d = {'id': k[0], 'value': k[2] + ' (' + nama_jenis + ')',
'kode': k[1], 'nama': k[2]}
r.append(d)
return r
elif url_dict['act'] == 'csv':
......@@ -186,14 +205,18 @@ class ViewJabatan(BaseView):
rows = []
for r in query.all():
s = rml_row.format(kode=r.kode, nama=r.nama, status=r.status and "Aktif" or "Pasif")
s = rml_row.format(kode=r.kode, nama=r.nama,
status=r.status and "Aktif" or "Pasif")
rows.append(s)
pdf, filename = open_rml_pdf(path + '/jabatan.rml', rows=rows,
company=request.company,
departement=request.session['departemen_nm'],
departement=request.session[
'departemen_nm'],
address=request.address,
alamat=Departemen.query_id(request.session['departemen_id']).first(),
alamat=Departemen.query_id(
request.session[
'departemen_id']).first(),
periode='01-01-2017 s.d 31-12-2017')
return pdf_response(request, pdf, filename)
......@@ -237,7 +260,8 @@ class ViewJabatan(BaseView):
else:
jabatan = None
q = Jabatan.query_kode(value['kode']) # DBSession.query(Jabatan).filter_by(kode=value['kode'])
q = Jabatan.query_kode(value[
'kode']) # DBSession.query(Jabatan).filter_by(kode=value['kode'])
found = q.first()
if jabatan:
if found and found.id != jabatan.id:
......
import colander
from deform import (widget, )
from pyramid.i18n import TranslationStringFactory
from opensipkd.base.views.provinsi import provinsi_widget
from opensipkd.models import DBSession, ResKecamatan, ResDati2, ResProvinsi
from pyramid.view import (view_config, )
......@@ -10,6 +12,7 @@ from ..views import BaseView
SESS_ADD_FAILED = 'Tambah kecamatan gagal'
SESS_EDIT_FAILED = 'Edit kecamatan gagal'
_ = TranslationStringFactory("opensipkd")
@colander.deferred
......@@ -52,12 +55,11 @@ class EditSchema(AddSchema):
class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.Integer(), searchable=False,
orderable=False, visible=False)
id = colander.SchemaNode(colander.Integer(),
title=_("action", default="Action"))
kode = colander.SchemaNode(colander.String(), width='100pt', title="Kode")
nama = colander.SchemaNode(colander.String(), title="Nama")
kabupaten = colander.SchemaNode(colander.String(), field=ResDati2.nama)
status = colander.SchemaNode(colander.Integer(), width="30pt")
class Views(BaseView):
......@@ -114,7 +116,7 @@ class Views(BaseView):
renderer='templates/table.pt',
permission='kecamatan')
def view_list(self):
return super(Views, self).view_list(self)
return super(Views, self).view_list()
@view_config(route_name='kecamatan-act', renderer='json',
permission='view')
......
......@@ -5,6 +5,7 @@ from datatables import ColumnDT
from deform import Form, widget
from opensipkd.tools.buttons import btn_view, btn_delete
from pyramid.httpexceptions import HTTPFound
from pyramid.i18n import TranslationStringFactory
from pyramid.view import view_config
from opensipkd.base import DBSession
......@@ -34,12 +35,12 @@ class EditSchema(AddSchema):
widget=widget.HiddenWidget(),
)
_ = TranslationStringFactory("opensipkd")
class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.String(),
missing=colander.drop,
widget=widget.HiddenWidget(),
visible=False)
id = colander.SchemaNode(colander.Integer(),
title=_("action", default="Action"))
created_at = colander.SchemaNode(
colander.DateTime())
logger = colander.SchemaNode(
......
import colander
from deform import (widget, )
from pyramid.i18n import TranslationStringFactory
from opensipkd.models import Menus, flush
from pyramid.view import (view_config, )
from sqlalchemy.orm import aliased
from ..views import ColumnDT, DataTables, BaseView
_ = TranslationStringFactory("opensipkd")
SESS_ADD_FAILED = 'Tambah menu gagal'
SESS_EDIT_FAILED = 'Edit menu gagal'
......@@ -70,7 +73,8 @@ class EditSchema(AddSchema):
class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.String(), title="ID", visible=False)
id = colander.SchemaNode(colander.Integer(),
title=_("action", default="Action"))
kode = colander.SchemaNode(colander.String(), title="Kode", width='100pt')
nama = colander.SchemaNode(colander.String(), title="Nama")
status = colander.SchemaNode(colander.Boolean(), title="Status",
......
......@@ -7,6 +7,7 @@ from opensipkd.models import (
DBSession,
Parameter)
class AddSchema(colander.Schema):
kode = colander.SchemaNode(
colander.String(),
......@@ -32,7 +33,31 @@ class EditSchema(AddSchema):
id = colander.SchemaNode(colander.String(),
missing=colander.drop,
widget=widget.HiddenWidget(readonly=True),
visible=False)
title="Action")
class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.Integer(),
title="Action")
kode = colander.SchemaNode(
colander.String(),
oid="kode",
title="Kode")
nama = colander.SchemaNode(
colander.String(),
oid="nama",
title="Nama")
value = colander.SchemaNode(
colander.String(),
widget=widget.TextAreaWidget(rows=5),
oid="value",
title="Nilai")
status = colander.SchemaNode(
colander.Integer(),
widget=widget.CheckboxWidget())
class Views(BaseView):
......@@ -44,7 +69,7 @@ class Views(BaseView):
self.add_schema = AddSchema
self.edit_schema = EditSchema
self.table = Parameter
self.list_schema = EditSchema
self.list_schema = ListSchema
@view_config(route_name='parameter', renderer='templates/table.pt',
permission='user-edit')
......
......@@ -4,6 +4,7 @@ import colander
from deform import (
widget,
)
from pyramid.i18n import TranslationStringFactory
from pyramid.view import (
view_config,
)
......@@ -19,6 +20,7 @@ from opensipkd.models import DBSession, Partner
from .. import partner_idcard_folder
from ..views import BaseView
_ = TranslationStringFactory("opensipkd")
SESS_ADD_FAILED = 'Tambah partner gagal'
SESS_EDIT_FAILED = 'Edit partner gagal'
......@@ -54,16 +56,26 @@ class EditSchema(AddSchema):
)
class ListSchema(NamaSchema):
id = colander.SchemaNode(colander.String(),
missing=colander.drop,
widget=widget.HiddenWidget(),
)
class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.Integer(),
title=_("action", default="Action"))
kode = colander.SchemaNode(
colander.String(),
validator=colander.Length(max=32),
oid="kode",
title="Kode",
width="100pt")
nama = colander.SchemaNode(
colander.String(),
validator=colander.Length(max=64),
oid="nama")
email = colander.SchemaNode(
colander.String(),
oid="email")
status = colander.SchemaNode(
colander.Boolean(),
widget=widget.CheckboxWidget(),
oid="status")
......
import colander
from deform import (widget, )
from pyramid.i18n import TranslationStringFactory
from pyramid.view import (view_config, )
from . import widget_os
from opensipkd.models import DBSession, ResProvinsi, kategori_provinsi
from ..views import BaseView
_ = TranslationStringFactory("opensipkd")
SESS_ADD_FAILED = 'Tambah provinsi gagal'
SESS_EDIT_FAILED = 'Edit provinsi gagal'
......@@ -41,7 +43,8 @@ class EditSchema(AddSchema):
class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.Integer(), searchable=False, orderable=False, visible=False)
id = colander.SchemaNode(colander.Integer(),
title=_("action", default="Action"))
kode = colander.SchemaNode(colander.String(), width=100)
nama = colander.SchemaNode(colander.String())
ibu_kota=colander.SchemaNode(colander.String())
......
......@@ -21,12 +21,14 @@ _ = TranslationStringFactory('user')
class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.String(),
title="ID", visible=False,
title="Action",
searchable=False)
email = colander.SchemaNode(colander.String())
user_name = colander.SchemaNode(colander.String(),
title=_("user-name", default="User Name"))
status = colander.SchemaNode(colander.Integer(), width=50, searchable=False)
status = colander.SchemaNode(colander.Integer(),
widget=widget.CheckboxWidget(),
width=50, searchable=False)
last_login = colander.SchemaNode(colander.String(), width=100,
field="last_login_date",
searchable=False)
......
......@@ -25,7 +25,7 @@ class EditSchema(AddSchema):
class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.String(), field="external_id")
id = colander.SchemaNode(colander.String(), field="external_id", title="Action")
external_user_name = colander.SchemaNode(
colander.String(), title=_('User Name'))
provider_name = (colander.SchemaNode(colander.String(), title=_('Provider')))
......@@ -38,24 +38,24 @@ class UserExt(BaseView):
self.edit_schema = EditSchema
self.list_schema = ListSchema
self.list_route = "user-ext"
self.list_buttons = (btn_view, btn_delete, btn_close)
self.list_buttons = (btn_close,)
self.table = ExternalIdentity
@view_config(
route_name='user-ext', renderer='templates/table.pt',
permission='user-view')
def view_list(self):
form = super(UserExt, self).view_list()
form = super(UserExt, self).view_list(allow_edit=False, allow_delete=False)
return form
@view_config(
route_name='user-ext-view', renderer='templates/form_input.pt',
route_name='user-ext-view', renderer='templates/form.pt',
permission='user-view')
def view_view(self):
return super(UserExt, self).view_view()
@view_config(
route_name='user-ext-delete', renderer='templates/form_input.pt',
route_name='user-ext-delete', renderer='templates/form.pt',
permission='user-edit')
def view_delete(self):
return super(UserExt, self).view_delete()
......
......@@ -10,7 +10,7 @@ from chameleon.utils import Markup
from deform import compat
from deform import field
from . import widget
# from deform import widget
log = logging.getLogger(__name__)
......@@ -166,24 +166,24 @@ class DeTable(field.Field):
for f in schema:
d = {'data': f.name}
data = []
if hasattr(f, 'width'):
d["width"] = f.width
data.append(f"width: '{f.width}'")
if hasattr(f, 'aligned'):
d["className"] = f.aligned
data.append(f"className: '{f.aligned}'")
if hasattr(f, 'searchable'):
d["searchable"] = f.searchable
data.append(f"searchable: {f.searchable}")
if hasattr(f, 'visible'):
d["visible"] = f.visible
data.append(f"visible: {f.visible}")
if isinstance(f.widget, deform.widget.HiddenWidget):
d["visible"] = False
if isinstance(f.widget, deform.widget.CheckboxWidget):
d["checkbox"] = True
else:
d["checkbox"]=False
if hasattr(f, 'orderable'):
d["orderable"] = f.orderable
......@@ -199,8 +199,7 @@ class DeTable(field.Field):
"currency"] or ""
if thousand or type(f.typ) == colander.Float() or type(
f.typ) == colander.Integer():
d[
"render"] = f"<script>$.fn.dataTable.render.number( '{separator}', " \
d["render"] = f"<script>$.fn.dataTable.render.number( '{separator}', " \
f"'{decimal}', {point}, '{currency}' )</script>"
if 'className' not in d:
d["className"] = "text-right"
......
......@@ -17,7 +17,6 @@
data data|field.data;
allow_edit allow_edit|field.allow_edit;
allow_delete allow_delete|field.allow_delete;
edit_url 'edit.com';
"
tal:attributes="style style; class css_class; attributes|field.widget.attributes|{};"
i18n:domain="detable">
......@@ -32,7 +31,6 @@
<thead>
<tr>
<th tal:repeat="child field">${child.title}</th>
<th tal:condition="allow_edit or allow_delete">Action</th>
</tr>
</thead>
<tbody>
......@@ -43,7 +41,7 @@
</div>
</header>
<script type="text/javascript">
<script>
deform.addCallback
('${tableid}', function (oid) {
let m${tableid}ID;
......@@ -57,11 +55,16 @@
'</div>',
]
let columns = ${structure: columns};
let action_column = {
"data": "id",
"className": "text-center",
"width": 50,
"render": function (id) {
function render_checkbox(value) {
if (value == true) {
return '<i class="fas fa-check-square" aria-hidden="true">';
}
return '<i class="fas fa-rectangle-xmark" aria-hidden="true">';
}
if (columns[0].data == "id") {
columns[0].render = function (id) {
let result = '<a href="${url}/' + id + '/view"><i class="fas fa-eye" aria-hidden="true"></i></a>&nbsp;';
if (${allow_edit}) {
result += '<a href="${url}/' + id + '/edit"><i class="fas fa-edit" aria-hidden="true"></i></a>&nbsp;'
......@@ -72,8 +75,25 @@
return result;
}
columns[0].width = "40pt";
columns[0].orderable = false;
columns[0].className = "text-center";
columns[0].visible = true;
columns[1].order = "order_asc";
}
for (co in columns) {
if (columns[co].checkbox === true) {
columns[co].className = "text-center";
columns[co].width = "30pt";
columns[co].render = function (val) {
if (["", false, 0].indexOf(val) === -1) {
return render_checkbox(true);
} else return render_checkbox(false);
}
columns.push(action_column);
}
}
console.log(columns);
let language = {
"search": "Cari: ",
"paginate": {
......@@ -96,6 +116,7 @@
autoWidth: false,
paginate: ${paginates},
paginationType: "full_numbers",
order: [],
lengthMenu: [
[10, 25, 50, 100],
[10, 25, 50, 100]
......@@ -104,8 +125,11 @@
"language": language,
}
if (${server_side}==false)
{params.data = ${data};}
if (${server_side}==false
)
{
params.data = ${data};
}
else
{
params.ajax = o${tableid}Url;
......@@ -118,7 +142,7 @@
if ($(this).hasClass('selected')) {
$(this).removeClass('selected');
} else {
var aData = o${tableid}.row(this).data();
let aData = o${tableid}.row(this).data();
o${tableid}.$('tr.selected').removeClass('selected');
$(this).addClass('selected');
m${tableid}ID = aData.id;
......
......@@ -191,6 +191,8 @@ def add_jsonrpc_endpoint(config, name, *args, **kw):
def setup_request(endpoint, request):
""" Parse a JSON-RPC request body."""
print(request.__dict__)
print(request.environ.get("ACCESS_CONTROL_ALLOW_ORIGIN"))
if request.method == 'GET':
parse_request_GET(request)
elif request.method == 'POST':
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!