fix: Update user login activity diagram to include successful login step and stop flow

feat: Refactor user use case diagram for clarity and add missing user interactions
fix: Adjust z-index values in CSS for proper element stacking
fix: Enable hidden widget for partner and department fields in AddSchema
fix: Clean up whitespace and formatting in DeTable class
feat: Enhance TableWidget to include additional DataTables plugins
1 parent 18629401
......@@ -11,10 +11,11 @@ partition "System" {
if (Credentials are valid?) then (yes)
:Log in successful;
:Redirect to dashboard;
stop
else (no)
:Display error message;
endif
stop
}
@enduml
@startuml uc_user
@startuml uc_users
left to right direction
actor User
rectangle "User Use Case" {
User -- (Register)
User -- (Login)
User -- (Request Password Reset)
User -- (Update Profile)
User -- (Logout)
User -- (Change Password)
(Update Profile)..> (Login):include
(Logout)..> (Login):include
(Change Password)..> (Login):include
(Home) as home
(Password Reset) as passwordReset
(Change Password) as changePassword
(Login) as login
(Logout) as logout
(Update Profile) as updateProfile
(Register) as register
}
passwordReset ..> changePassword : extend
changePassword ..> login:include
User -- passwordReset
User -- changePassword
User -- register
User -- login
User -- updateProfile
User -- logout
User -- home
@enduml
......@@ -439,7 +439,7 @@ div.col-md-6 {
position: absolute;
top: 0;
left: 0;
z-index:2;
z-index:auto;
}
.twitter-typeahead .tt-query, .twitter-typeahead .tt-hint {
......@@ -450,7 +450,7 @@ div.col-md-6 {
position: absolute;
top: 0;
left: 0;
z-index:2;
z-index:auto;
}
.table-responsive {
......
......@@ -29,7 +29,7 @@ class AddSchema(colander.Schema):
partner_id = colander.SchemaNode(
colander.Integer(),
oid="partner_id",
# widget=widget.HiddenWidget(),
widget=widget.HiddenWidget(),
)
nama = colander.SchemaNode(
colander.String(),
......@@ -38,7 +38,7 @@ class AddSchema(colander.Schema):
departemen_id = colander.SchemaNode(
colander.Integer(),
oid="departemen_id",
# widget=widget.HiddenWidget(),
widget=widget.HiddenWidget(),
)
departemen = colander.SchemaNode(
colander.String(),
......
......@@ -95,6 +95,7 @@ class DeTable(field.Field):
css_class = "deform" # bw compat only; pass a widget to override
def __init__(
self,
schema,
......@@ -161,7 +162,7 @@ class DeTable(field.Field):
"view": "{window.location = o%sUri+'/'+m%sID+'/view%s';}" % (
tableid, tableid, params),
"delete": not self.allow_check and "{window.location = o%sUri+'/'+m%sID+'/delete%s';}" % (
tableid, tableid, params) or \
tableid, tableid, params) or
"""{
var cnt = m%sCheckList.length;
if (cnt > 0){
......@@ -389,7 +390,8 @@ class DeTable(field.Field):
def widget_select(self, column):
d = {}
d["wg_select"] = True
d["wg_select_val"] = type(column.widget.values) == list and dict(column.widget.values) or column.widget.values
d["wg_select_val"] = type(column.widget.values) == list and dict(
column.widget.values) or column.widget.values
if column.widget.values:
for val in column.widget.values:
if hasattr(column, f"color_{val}"):
......
......@@ -37,4 +37,10 @@ class TableWidget(MappingWidget):
template = "detable.pt"
readonly_template = "detable.pt"
requirements = (("deform", None),
{"js": "opensipkd.base:static/v3/js/plugin/datatables/jquery.dataTables.min.js"})
{"js": ["opensipkd.base:static/v3/js/plugin/datatables/jquery.dataTables.min.js",
"opensipkd.base:static/v3/js/plugin/datatables/dataTables.colVis.min.js",
# "opensipkd.base:static/v3/js/plugin/datatables/dataTables.tableTools.min.js",
"opensipkd.base:static/v3/js/plugin/datatables/dataTables.bootstrap.min.js",
"opensipkd.base:static/v3/js/plugin/datatable-responsive/datatables.responsive.min.js",
]
})
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!