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 ced5649b
authored
Feb 20, 2025
by
Tatang S
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
widget rt_rw
1 parent
72ebe4ad
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
92 additions
and
0 deletions
opensipkd/base/views/widget_os.py
opensipkd/base/views/widgets/readonly/rt_rw.pt
opensipkd/base/views/widgets/rt_rw.pt
opensipkd/base/views/widget_os.py
View file @
ced5649
...
...
@@ -185,6 +185,56 @@ class BlokKavNoWidget(Widget):
return
result
class
RtRwWidget
(
Widget
):
template
=
"opensipkd.base:/views/widgets/rt_rw.pt"
readonly_template
=
"opensipkd.base:/views/widgets/readonly/rt_rw.pt"
_pstruct_schema
=
SchemaNode
(
Mapping
(),
SchemaNode
(
_StrippedString
(),
name
=
"rt"
),
SchemaNode
(
_StrippedString
(),
name
=
"rw"
)
)
def
serialize
(
self
,
field
,
cstruct
,
**
kw
):
if
cstruct
is
null
:
rt
=
"000"
rw
=
"00"
else
:
rt
,
rw
=
cstruct
.
split
(
"|"
,
2
)
kw
.
setdefault
(
"rt"
,
rt
)
kw
.
setdefault
(
"rw"
,
rw
)
readonly
=
kw
.
get
(
"readonly"
,
self
.
readonly
)
template
=
readonly
and
self
.
readonly_template
or
self
.
template
values
=
self
.
get_template_values
(
field
,
cstruct
,
kw
)
return
field
.
renderer
(
template
,
**
values
)
def
deserialize
(
self
,
field
,
pstruct
):
if
pstruct
is
null
:
return
null
else
:
try
:
validated
=
self
.
_pstruct_schema
.
deserialize
(
pstruct
)
except
Invalid
as
exc
:
raise
Invalid
(
field
.
schema
,
f
"Invalid pstruct: {exc}"
)
rt
=
validated
[
"rt"
]
rw
=
validated
[
"rw"
]
if
not
rt
and
not
rw
:
return
null
result
=
"|"
.
join
([
rt
,
rw
])
if
not
rt
:
raise
Invalid
(
field
.
schema
,
"RT harus diisi. Minimal 000"
,
result
)
if
not
rw
:
raise
Invalid
(
field
.
schema
,
"RW harus diisi. Minimal 00"
,
result
)
return
result
class
Select2MsWidget
(
Select2Widget
):
"""
...
...
opensipkd/base/views/widgets/readonly/rt_rw.pt
0 → 100644
View file @
ced5649
<div class="form-control-static" id="${oid|field.oid}"
tal:define="
has_rt rt and True or False;
has_rw rt and True or False;
"
>
<span tal:condition="has_rt" style="margin-right:0.25rem;">RT ${rt}</span>
<span tal:condition="has_rw" style="margin-right:0.25rem;">RW ${rw}</span>
</div>
opensipkd/base/views/widgets/rt_rw.pt
0 → 100644
View file @
ced5649
<div i18n:domain="deform"
tal:omit-tag=""
tal:define="oid oid|field.oid;
name name|field.name;
css_class css_class|field.widget.css_class;
style style|field.widget.style;">
${field.start_mapping()}
<div class="row">
<div class="col-xs-12 col-lg-6">
<div class="input-group">
<div class="row input-group-addon">
<div class="col-xs-3">
<input type="text" name="rt" value="${rt}"
class="span2 form-control ${css_class or ''}"
tal:attributes="style style;
rt_attributes|field.widget.rt_attributes|{};"
maxlength="3" minlength="3" placeholder="RT"
id="${oid}-rt"/>
</div>
<div class="col-xs-3">
<input type="text" name="rw" value="${rw}"
class="span2 form-control ${css_class or ''}"
tal:attributes="style style;
rw_attributes|field.widget.rw_attributes|{};"
maxlength="2" minlength="2" placeholder="RW"
id="${oid}-rw"/>
</div>
</div>
</div>
</div>
</div>
${field.end_mapping()}
</div>
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