Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
irul
/
opensipkd-base
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 32d487bf
authored
Mar 04, 2025
by
Hamsyah
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
pembaruan inputan validator dan group by hmzh
1 parent
db49460f
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
41 additions
and
15 deletions
opensipkd/base/views/__init__.py
opensipkd/base/views/eselon.py
opensipkd/base/views/jabatan.py
opensipkd/base/views/kecamatan.py
opensipkd/base/views/parameter.py
opensipkd/base/views/posisi.py
opensipkd/base/views/user.py
opensipkd/base/views/user_dep.py
opensipkd/base/views/__init__.py
View file @
32d487b
...
@@ -180,4 +180,4 @@ two_minutes = timedelta(1.0 / 24 / 60)
...
@@ -180,4 +180,4 @@ two_minutes = timedelta(1.0 / 24 / 60)
@colander.deferred
@colander.deferred
def
deferred_jenis
(
node
,
kw
):
def
deferred_jenis
(
node
,
kw
):
values
=
kw
.
get
(
'daftar_jenis'
,
[])
values
=
kw
.
get
(
'daftar_jenis'
,
[])
return
widget
.
RadioChoiceWidget
(
values
=
values
)
\ No newline at end of file
\ No newline at end of file
\ No newline at end of file
\ No newline at end of file
opensipkd/base/views/eselon.py
View file @
32d487b
...
@@ -23,10 +23,12 @@ class AddSchema(colander.Schema):
...
@@ -23,10 +23,12 @@ class AddSchema(colander.Schema):
oid
=
"kode"
)
oid
=
"kode"
)
nama
=
colander
.
SchemaNode
(
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
colander
.
String
(),
validator
=
colander
.
Length
(
max
=
128
),
oid
=
"nama"
)
oid
=
"nama"
)
status
=
colander
.
SchemaNode
(
status
=
colander
.
SchemaNode
(
colander
.
Boolean
(),
colander
.
Integer
(),
widget
=
widget
.
CheckboxWidget
(
true_val
=
1
,
false_val
=
0
),
widget
=
widget
.
CheckboxWidget
(
true_val
=
'1'
,
false_val
=
'0'
),
default
=
1
,
oid
=
"status"
)
oid
=
"status"
)
...
...
opensipkd/base/views/jabatan.py
View file @
32d487b
...
@@ -40,6 +40,7 @@ class AddSchema(colander.Schema):
...
@@ -40,6 +40,7 @@ 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
(),
...
@@ -84,7 +85,8 @@ class ListSchema(colander.Schema):
...
@@ -84,7 +85,8 @@ class ListSchema(colander.Schema):
oid
=
"nama"
)
oid
=
"nama"
)
status
=
colander
.
SchemaNode
(
status
=
colander
.
SchemaNode
(
colander
.
Integer
(),
colander
.
Integer
(),
widget
=
widget
.
CheckboxWidget
(),
widget
=
widget
.
CheckboxWidget
(
true_val
=
'1'
,
false_val
=
'0'
),
default
=
1
,
oid
=
"status"
)
oid
=
"status"
)
...
...
opensipkd/base/views/kecamatan.py
View file @
32d487b
...
@@ -46,7 +46,10 @@ class AddSchema(colander.Schema):
...
@@ -46,7 +46,10 @@ class AddSchema(colander.Schema):
kode
=
colander
.
SchemaNode
(
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
colander
.
String
(),
validator
=
colander
.
Length
(
max
=
32
),
oid
=
"kode"
)
validator
=
colander
.
Length
(
max
=
32
),
oid
=
"kode"
)
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
oid
=
"nama"
)
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
validator
=
colander
.
Length
(
max
=
128
),
oid
=
"nama"
)
class
EditSchema
(
AddSchema
):
class
EditSchema
(
AddSchema
):
...
...
opensipkd/base/views/parameter.py
View file @
32d487b
from
colander
import
Length
import
colander
import
colander
from
deform
import
(
widget
,
)
from
deform
import
(
widget
,
)
from
pyramid.view
import
(
view_config
,
)
from
pyramid.view
import
(
view_config
,
)
...
@@ -8,15 +9,18 @@ from opensipkd.models import (
...
@@ -8,15 +9,18 @@ from opensipkd.models import (
from
.
import
BaseView
from
.
import
BaseView
class
AddSchema
(
colander
.
Schema
):
class
AddSchema
(
colander
.
Schema
):
kode
=
colander
.
SchemaNode
(
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
colander
.
String
(),
oid
=
"kode"
,
oid
=
"kode"
,
title
=
"Kode"
)
validator
=
colander
.
Length
(
max
=
32
),
title
=
"Kode"
)
# Validasi panjang maksimal 32 karakter
nama
=
colander
.
SchemaNode
(
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
colander
.
String
(),
oid
=
"nama"
,
oid
=
"nama"
,
validator
=
colander
.
Length
(
max
=
128
),
title
=
"Nama"
)
title
=
"Nama"
)
value
=
colander
.
SchemaNode
(
value
=
colander
.
SchemaNode
(
...
...
opensipkd/base/views/posisi.py
View file @
32d487b
...
@@ -12,6 +12,9 @@ from opensipkd.tools import dmy, date_from_str
...
@@ -12,6 +12,9 @@ from opensipkd.tools import dmy, date_from_str
from
.
import
widget_os
from
.
import
widget_os
from
..views
import
ColumnDT
,
DataTables
,
BaseView
from
..views
import
ColumnDT
,
DataTables
,
BaseView
from
deform.widget
import
RadioChoiceWidget
SESS_ADD_FAILED
=
'Tambah posisi partner gagal'
SESS_ADD_FAILED
=
'Tambah posisi partner gagal'
SESS_EDIT_FAILED
=
'Edit posisi partner gagal'
SESS_EDIT_FAILED
=
'Edit posisi partner gagal'
...
@@ -31,12 +34,14 @@ class AddSchema(colander.Schema):
...
@@ -31,12 +34,14 @@ class AddSchema(colander.Schema):
style
=
"z-index: 100001 !important;"
)
style
=
"z-index: 100001 !important;"
)
jabatan_widget
=
widget
.
AutocompleteInputWidget
(
# Widget untuk jabatan diubah menjadi RadioChoiceWidget
size
=
60
,
@colander.deferred
values
=
'/jabatan/hon/act'
,
def
jabatan_widget
(
node
,
kw
):
min_length
=
2
,
# Ambil daftar jabatan dari database
jabatan_list
=
DBSession
.
query
(
Jabatan
.
id
,
Jabatan
.
nama
)
.
all
()
style
=
"z-index: 99999 !important;"
)
# Format data untuk RadioChoiceWidget: [(value, label), ...]
choices
=
[(
str
(
jabatan
.
id
),
jabatan
.
nama
)
for
jabatan
in
jabatan_list
]
return
RadioChoiceWidget
(
values
=
choices
)
partner_id
=
colander
.
SchemaNode
(
partner_id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
colander
.
Integer
(),
...
@@ -61,10 +66,11 @@ class AddSchema(colander.Schema):
...
@@ -61,10 +66,11 @@ class AddSchema(colander.Schema):
colander
.
Integer
(),
colander
.
Integer
(),
oid
=
"jabatan_id"
,
oid
=
"jabatan_id"
,
widget
=
widget
.
HiddenWidget
(),
widget
=
widget
.
HiddenWidget
(),
tittle
=
"Jabatan"
)
)
jabatan
=
colander
.
SchemaNode
(
jabatan
=
colander
.
SchemaNode
(
colander
.
String
(),
colander
.
Integer
(),
widget
=
jabatan_widget
,
widget
=
jabatan_widget
,
oid
=
"jabatan_nm"
,
oid
=
"jabatan_nm"
,
title
=
"Jabatan"
)
title
=
"Jabatan"
)
mulai
=
colander
.
SchemaNode
(
mulai
=
colander
.
SchemaNode
(
...
...
opensipkd/base/views/user.py
View file @
32d487b
...
@@ -272,6 +272,9 @@ class EmailValidator(colander.Email, Validator):
...
@@ -272,6 +272,9 @@ 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.'
))
REGEX_ONLY_CONTAIN
=
re
.
compile
(
'([A-Za-z0-9-]*)'
)
REGEX_ONLY_CONTAIN
=
re
.
compile
(
'([A-Za-z0-9-]*)'
)
...
@@ -281,6 +284,12 @@ REGEX_BEGIN_END_ALPHANUMERIC = re.compile('^[A-Za-z0-9]+(?:[-][A-Za-z0-9]+)*$')
...
@@ -281,6 +284,12 @@ 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
def
username_max
():
raise
colander
.
Invalid
(
node
,
_
(
'Maksimal 28 Karakter'
))
if
(
len
(
username
)
>
128
):
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
)
...
...
opensipkd/base/views/user_dep.py
View file @
32d487b
...
@@ -24,7 +24,7 @@ class ListSchema(colander.Schema):
...
@@ -24,7 +24,7 @@ class ListSchema(colander.Schema):
class
AddSchema
(
colander
.
Schema
):
class
AddSchema
(
colander
.
Schema
):
user_id
=
colander
.
SchemaNode
(
user_id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
colander
.
Integer
(),
widget
=
widget
.
SelectWidget
(
values
=
User
.
get_list
()),
widget
=
widget
.
RadioChoiceWidget
(
values
=
User
.
get_list
()),
# Menggunakan CheckboxChoiceWidget
oid
=
"user_id"
,
oid
=
"user_id"
,
title
=
"User"
,
title
=
"User"
,
)
)
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment