Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
aa.gusti
/
opensipkd-base
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit e0a8c44f
authored
Feb 18, 2025
by
aa.gusti
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
perbaikan alembic helpers
1 parent
0b8e072d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
27 additions
and
7 deletions
opensipkd/base/views/base_views.py
opensipkd/base/views/widget_os.py
opensipkd/models/alembic/helpers.py
opensipkd/base/views/base_views.py
View file @
e0a8c44
...
...
@@ -694,8 +694,18 @@ class BaseView(object):
def
get_captcha_url
(
self
):
return
get_urls
(
"/captcha/"
)
+
get_captcha
(
self
.
req
)
def
update_value
(
self
,
value
,
cstruct
):
for
k
in
cstruct
:
val
=
cstruct
.
get
(
k
)
if
type
(
val
)
is
dict
:
value
[
k
]
=
self
.
update_value
(
value
[
k
],
val
)
elif
val
:
value
[
k
]
=
cstruct
.
get
(
k
)
return
value
def
view_add
(
self
,
**
kwargs
):
# bindings = self.get_bindings()
form
=
self
.
get_form
(
self
.
add_schema
,
**
kwargs
)
resources
=
form
.
get_widget_resources
()
is_object
=
kwargs
.
get
(
"is_object"
,
self
.
is_object
)
...
...
@@ -716,11 +726,14 @@ class BaseView(object):
if
f
.
name
==
"captcha"
:
e
.
cstruct
[
f
.
name
]
=
self
.
get_captcha_url
()
# if e.cstruct[f.name]:
for
k
in
value
:
if
not
e
.
cstruct
.
get
(
k
):
e
.
cstruct
[
k
]
=
value
[
k
]
# cstruct = {}
value
=
self
.
update_value
(
value
,
e
.
cstruct
)
# for k in cstruct:
# if not e.cstruct.get(k):
# e.cstruct[k] = value[k]
# value.update(e.cstruct)
form
.
set_appstruct
(
e
.
cstruct
)
# value.update(cstruct)
form
.
set_appstruct
(
value
)
return
self
.
returned_form
(
form
,
table
,
**
kwargs
)
values
=
dict
(
c
)
...
...
opensipkd/base/views/widget_os.py
View file @
e0a8c44
...
...
@@ -230,7 +230,7 @@ class AutocompleteMsInputWidget(AutocompleteInputWidget):
url
=
""
slave
=
""
template
=
"autocomplete_input_ms
.pt
"
template
=
"autocomplete_input_ms"
_pstruct_schema
=
SchemaNode
(
Mapping
(),
...
...
opensipkd/models/alembic/helpers.py
View file @
e0a8c44
...
...
@@ -42,12 +42,19 @@ def table_has_seq(table, name, schema=None):
return
has_seq
def
fields_update
(
table
,
field
,
typ
,
schema
=
None
,
*
args
):
def
fields_update
(
table
,
field
,
typ
,
schema
=
None
,
*
*
kw
):
context
=
op
.
get_context
()
# helpers = context.opts['helpers']
# if not helpers.table_has_column(table, field, schema):
if
not
table_has_column
(
table
,
field
,
schema
):
op
.
add_column
(
table
,
sa
.
Column
(
field
,
typ
),
schema
=
schema
)
nullable
=
kw
.
get
(
"nullable"
,
None
)
if
nullable
!=
None
and
nullable
==
False
:
default
=
kw
.
get
(
"default"
)
if
default
!=
None
:
op
.
execute
(
f
"UPDATE {schema}.{table} SET {field} = {default}"
)
op
.
alter_column
(
table
,
field
,
nullable
=
False
,
schema
=
schema
)
def
seq_update
(
table
,
seq
,
schema
=
None
,
*
args
):
...
...
@@ -59,4 +66,4 @@ def seq_update(table, seq, schema=None, *args):
statement
=
f
"SELECT setval('{schema}.{seq}', (SELECT MAX(id) FROM {schema}.{table}))"
op
.
execute
(
statement
)
statement
=
f
"alter table {schema}.{table} alter column id set default nextval('{schema}.{seq}')"
op
.
execute
(
statement
)
\ No newline at end of file
op
.
execute
(
statement
)
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