Commit 1e2f6385 by Prismana

perubahan user

1 parent d383e944
...@@ -5,6 +5,7 @@ __pycache__/ ...@@ -5,6 +5,7 @@ __pycache__/
.vs/ .vs/
.vscode/ .vscode/
base.ini base.ini
base.iniZone.Identifier
# C extensions # C extensions
*.so *.so
......
import logging import logging
from opensipkd.tools import *
log=logging.getLogger(__name__) log=logging.getLogger(__name__)
log.warning("opensipkd.base.tools depreciated use opensipkd.tools") log.warning("opensipkd.base.tools depreciated use opensipkd.tools")
from opensipkd.tools import *
from pyreportjasper import PyReportJasper
from opensipkd.base.tools import get_random_string
from opensipkd.base import get_settings, get_params
from platform import python_version
import logging import logging
import os import os
from pyreportjasper import PyReportJasper
from platform import python_version
from opensipkd.tools.report import * from opensipkd.tools.report import *
from opensipkd.base.tools import get_random_string
from opensipkd.base import get_settings, get_params
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
log.warning("Opensipkd.base.tools.pbb depreciated use opensipkd.tools.pbb") log.warning("Opensipkd.base.tools.pbb depreciated use opensipkd.tools.pbb")
...@@ -60,7 +62,7 @@ def jasper_db_conn(db_schema=None, dburl="sqlalchemy.url"): ...@@ -60,7 +62,7 @@ def jasper_db_conn(db_schema=None, dburl="sqlalchemy.url"):
'jdbc_driver': jdbc_driver, 'jdbc_driver': jdbc_driver,
} }
# Eksport jasper report
def jasper_export(input_file, output_file=None, schema=None, def jasper_export(input_file, output_file=None, schema=None,
output_formats=["pdf"], dburl="sqlalchemy.url", output_formats=["pdf"], dburl="sqlalchemy.url",
parameters={}, db_schema=None, report_locale="en_US", use_db=True, parameters={}, db_schema=None, report_locale="en_US", use_db=True,
......
...@@ -65,17 +65,17 @@ class ListSchema(colander.Schema): ...@@ -65,17 +65,17 @@ class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.String(), title="Action") id = colander.SchemaNode(colander.String(), title="Action")
kode = colander.SchemaNode( kode = colander.SchemaNode(
colander.String(), colander.String(),
validator=colander.Length(max=32), validator=colander.Length(max=32, max_err='Maksimal 32 karakter'),
oid="kode", oid="kode",
title="Kode", title="Kode",
width="100pt") width="100pt")
nama = colander.SchemaNode( nama = colander.SchemaNode(
colander.String(), colander.String(),
validator=colander.Length(max=64), validator=colander.Length(max=128, max_err='Maksimal 128 karakter'),
oid="nama") oid="nama")
parent_nm = colander.SchemaNode( parent_nm = colander.SchemaNode(
colander.String(), colander.String(),
validator=colander.Length(max=64), validator=colander.Length(max=64, max_err='Maksimal 64 karakter'),
oid="parent_nm", oid="parent_nm",
field="alias.nama" field="alias.nama"
......
...@@ -40,7 +40,6 @@ class AddSchema(colander.Schema): ...@@ -40,7 +40,6 @@ class AddSchema(colander.Schema):
oid="kode") oid="kode")
nama = colander.SchemaNode( nama = colander.SchemaNode(
colander.String(), colander.String(),
validator=colander.Length(max=32),
oid="nama") oid="nama")
nama_pendek = colander.SchemaNode( nama_pendek = colander.SchemaNode(
colander.String(), colander.String(),
...@@ -62,7 +61,7 @@ class AddSchema(colander.Schema): ...@@ -62,7 +61,7 @@ class AddSchema(colander.Schema):
title=_("eselon", default="Eselon")) title=_("eselon", default="Eselon"))
status = colander.SchemaNode( status = colander.SchemaNode(
colander.Boolean(), colander.Boolean(),
oid="status") oid="status")
class EditSchema(AddSchema): class EditSchema(AddSchema):
...@@ -85,8 +84,7 @@ class ListSchema(colander.Schema): ...@@ -85,8 +84,7 @@ class ListSchema(colander.Schema):
oid="nama") oid="nama")
status = colander.SchemaNode( status = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=widget.CheckboxWidget(true_val='1', false_val='0'), widget=widget.CheckboxWidget(),
default=1,
oid="status") oid="status")
......
...@@ -22,20 +22,24 @@ _ = TranslationStringFactory('user') ...@@ -22,20 +22,24 @@ _ = TranslationStringFactory('user')
class ListSchema(colander.Schema): class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.String(), id = colander.SchemaNode(colander.String(),
title="Action", title="Action",
searchable=False) searchable=False)
email = colander.SchemaNode(colander.String()) email = colander.SchemaNode(colander.String())
user_name = colander.SchemaNode(colander.String(), user_name = colander.SchemaNode(colander.String(),
title=_("user-name", default="User Name")) title=_("user-name",
default="User Name"))
status = colander.SchemaNode(colander.Integer(), status = colander.SchemaNode(colander.Integer(),
widget=widget.CheckboxWidget(), widget=widget.CheckboxWidget(),
width=50, searchable=False) width=50,
last_login = colander.SchemaNode(colander.String(), width=100, searchable=False)
field="last_login_date", last_login = colander.SchemaNode(colander.String(),
searchable=False) width=100,
registered = colander.SchemaNode(colander.String(), width=100, field="last_login_date",
field="registered_date", searchable=False)
searchable=False) registered = colander.SchemaNode(colander.String(),
width=100,
field="registered_date",
searchable=False)
class Views(BaseView): class Views(BaseView):
...@@ -272,9 +276,6 @@ class EmailValidator(colander.Email, Validator): ...@@ -272,9 +276,6 @@ class EmailValidator(colander.Email, Validator):
found = q.first() found = q.first()
if found and (not self.user or self.user.email != found.email): if found and (not self.user or self.user.email != found.email):
email_found() email_found()
if len(email) > 100:
raise colander.Invalid(node, _('Email tidak boleh lebih dari 100 karakter.'))
# Cek karakter # Cek karakter
def email_max(): def email_max():
...@@ -291,11 +292,15 @@ REGEX_BEGIN_END_ALPHANUMERIC = re.compile('^[A-Za-z0-9]+(?:[-][A-Za-z0-9]+)*$') ...@@ -291,11 +292,15 @@ REGEX_BEGIN_END_ALPHANUMERIC = re.compile('^[A-Za-z0-9]+(?:[-][A-Za-z0-9]+)*$')
class UsernameValidator(Validator): class UsernameValidator(Validator):
def __call__(self, node, value): def __call__(self, node, value):
username = value username = value
# Fungsi menampilkan error pada field form
def username_max(): def username_max():
raise colander.Invalid(node, _('Maksimal 20 Karakter')) raise colander.Invalid(node, _('Maksimal 128 karakter'))
if (len(username) > 20):
# Jika karakter melebihi 128 karakter maka, panggil fungsi
if (len(username) > 128):
username_max() username_max()
if self.user and self.user.user_name == username: if self.user and self.user.user_name == username:
return return
match = REGEX_ONLY_CONTAIN.search(username) match = REGEX_ONLY_CONTAIN.search(username)
...@@ -354,7 +359,7 @@ class AddSchema(colander.Schema): ...@@ -354,7 +359,7 @@ class AddSchema(colander.Schema):
user_name = colander.SchemaNode( user_name = colander.SchemaNode(
colander.String(), colander.String(),
title=_('Username tetst'), title=_('Username'),
validator=username_validator) validator=username_validator)
groups = colander.SchemaNode( groups = colander.SchemaNode(
...@@ -372,7 +377,7 @@ class AddSchema(colander.Schema): ...@@ -372,7 +377,7 @@ class AddSchema(colander.Schema):
colander.String(), colander.String(),
widget=widget.CheckedPasswordWidget(), widget=widget.CheckedPasswordWidget(),
missing=colander.drop) missing=colander.drop)
company_id = colander.SchemaNode( company_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=company_widget, widget=company_widget,
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!