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 0e4b3d2c
authored
Aug 20, 2022
by
aagusti
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Penambahan fungsi config_pars_url
1 parent
60f430fb
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
69 additions
and
106 deletions
opensipkd/base/tools/api.py
opensipkd/base/views/register.py
opensipkd/base/views/templates/logout.pt
opensipkd/base/tools/api.py
View file @
0e4b3d2
from
opensipkd.base
import
get_params
from
opensipkd.models
import
(
DBSession
,
User
,
GroupPermission
,
UserDeviceModel
)
from
opensipkd.tools
import
(
...
...
@@ -149,3 +150,6 @@ def update_token(user):
DBSession
.
flush
()
return
dict
(
token
=
user
.
security_code
)
def
config_pars_rpc_url
(
params
,
method
=
None
):
values
=
get_params
(
params
)
return
pars_rpc_url
(
values
,
method
)
\ No newline at end of file
opensipkd/base/views/register.py
View file @
0e4b3d2
...
...
@@ -27,6 +27,7 @@ Link dalam module registrasi:
5. Form Upload template
"""
import
os
from
datetime
import
datetime
import
colander
from
deform
import
(
widget
,
Button
,
FileData
,
ValidationFailure
)
...
...
@@ -85,9 +86,10 @@ class AddSchema(colander.Schema):
is_id_card
=
get_params
(
'reg_idcard'
)
user
=
request
.
user
external_user
=
user
and
user
.
external_identities
.
count
()
>
0
or
False
if
"id_info"
in
request
.
session
or
external_
user
:
if
user
:
self
[
"email"
]
.
widget
=
widget
.
TextInputWidget
(
readonly
=
True
)
self
[
"email"
]
.
missing
=
colander
.
drop
self
[
"email"
]
.
validator
=
None
if
is_id_card
==
'1'
or
is_id_card
==
"True"
or
is_id_card
==
"true"
:
self
[
"kode"
]
=
colander
.
SchemaNode
(
...
...
@@ -162,7 +164,7 @@ class Registrasi(BaseView):
self
.
buttons
=
(
btn_register
,
btn_cancel
)
self
.
add_schema
=
AddSchema
self
.
edit_schema
=
EditSchema
self
.
table
=
Us
er
self
.
table
=
Partn
er
self
.
list_route
=
"home"
def
form_validator
(
self
,
form
,
value
):
...
...
@@ -180,41 +182,39 @@ class Registrasi(BaseView):
request
=
form
.
request
session
=
request
.
session
def
raise_err
(
field
,
msg
):
form_exc
[
field
]
=
msg
raise
form_exc
def
err_captcha
():
msg
=
'Captcha berbeda'
form_exc
[
'captcha'
]
=
msg
raise
form_exc
raise_err
(
'captcha'
,
msg
)
def
err_email
():
exc
=
colander
.
Invalid
(
form
[
'email'
],
'e-mail
%
s sudah ada yang menggunakan'
%
value
[
'email'
])
raise
exc
msg
=
'e-mail
%
s sudah ada yang menggunakan'
%
value
[
'email'
]
raise_err
(
'email'
,
msg
)
def
err_user
():
if
'user_name'
in
form
:
raise
colander
.
Invalid
(
form
[
'user_name'
],
'User name
%
s sudah ada yang menggunakan'
%
value
[
'user_name'
])
msg
=
'User name
%
s sudah ada yang menggunakan'
%
value
[
'user_name'
]
raise_err
(
'user_name'
,
msg
)
else
:
raise
colander
.
Invalid
(
form
[
'email'
],
'User name
%
s sudah ada yang menggunakan'
%
value
[
'email'
])
msg
=
'Email
%
s sudah ada yang menggunakan'
%
value
[
'email'
]
raise_err
(
'email'
,
msg
)
def
err_nik
():
if
"kode"
in
form
:
raise
colander
.
Invalid
(
form
[
'kode'
],
'NIK
%
s sudah ada yang menggunakan'
%
value
[
'kode'
])
msg
=
'NIK
%
s sudah ada yang menggunakan'
%
value
[
'kode'
]
raise_err
(
'kode'
,
msg
)
else
:
raise
colander
.
Invalid
(
form
[
'mobile'
],
'Mobile
%
s sudah ada yang menggunakan'
%
value
[
'kode'
])
msg
=
'Mobile
%
s sudah ada yang menggunakan'
%
value
[
'kode'
]
raise_err
(
'mobile'
,
msg
)
def
err_login
():
raise
colander
.
Invalid
(
form
[
"password"
],
'User atau Password tidak sesuai'
)
msg
=
'User atau Password tidak sesuai'
raise_err
(
'password'
,
msg
)
if
not
request
.
user
and
need_captcha
():
captcha
=
'captcha'
in
value
and
value
[
'captcha'
]
.
upper
()
or
None
...
...
@@ -222,39 +222,39 @@ class Registrasi(BaseView):
if
captcha
!=
ses_captcha
:
err_captcha
()
is_logged
=
form
.
request
.
user
user
=
request
.
user
if
not
"email"
in
value
and
"id_info"
in
session
:
value
[
"email"
]
=
session
[
"id_info"
][
"email"
]
if
not
request
.
user
and
(
if
not
user
and
(
"user_name"
not
in
value
or
not
value
[
"user_name"
]):
value
[
"user_name"
]
=
value
[
"email"
]
if
'user_name'
in
value
:
user_name
=
value
[
"user_name"
]
user
=
user_found
(
user_name
)
if
user
and
not
is_logged
:
found
=
user_found
(
user_name
)
if
found
and
not
user
:
err_user
()
if
user
and
is_logged
:
if
user
.
id
!=
is_logge
d
.
id
:
if
found
and
user
:
if
user
.
id
!=
foun
d
.
id
:
err_user
()
# Check Data Partner
if
request
.
user
:
q
=
DBSession
.
query
(
Partner
)
.
filter_by
(
email
=
request
.
user
.
email
)
if
user
:
q
=
DBSession
.
query
(
Partner
)
.
filter_by
(
email
=
user
.
email
)
partner
=
q
.
first
()
else
:
partner
=
None
if
not
request
.
user
:
if
not
user
:
email
=
value
[
"email"
]
user
=
user_found
(
email
)
if
user
and
not
is_logged
:
found
=
user_found
(
email
)
if
found
and
not
user
:
err_email
()
if
user
and
is_logged
:
if
user
.
id
!=
is_logge
d
.
id
:
if
found
and
user
:
if
user
.
id
!=
foun
d
.
id
:
err_email
()
found
=
email_found_partner
(
email
)
...
...
@@ -276,9 +276,8 @@ class Registrasi(BaseView):
err_nik
()
if
'password'
in
value
:
user
=
form
.
request
.
user
if
not
user
or
not
UserService
.
check_password
(
user
,
value
[
'password'
]):
if
not
user
or
not
UserService
.
check_password
(
user
,
value
[
'password'
]):
err_login
()
def
before_add
(
self
):
...
...
@@ -315,8 +314,8 @@ class Registrasi(BaseView):
return
super
(
Registrasi
,
self
)
.
view_add
()
def
query_id
(
self
):
return
DBSession
.
query
(
Us
er
)
.
\
filter
(
User
.
id
==
self
.
req
.
user
.
id
)
return
DBSession
.
query
(
Partn
er
)
.
\
filter
(
Partner
.
email
==
self
.
req
.
user
.
email
)
def
id_not_found
(
self
):
return
...
...
@@ -324,14 +323,13 @@ class Registrasi(BaseView):
def
get_values
(
self
,
row
,
istime
=
False
):
d
=
super
()
.
get_values
(
row
,
istime
)
partner
=
DBSession
.
query
(
Partner
)
.
\
join
(
User
,
Partner
.
email
==
User
.
email
)
.
\
filter
(
User
.
id
==
self
.
req
.
user
.
id
)
.
first
()
filter
(
Partner
.
email
==
self
.
req
.
user
.
email
)
.
first
()
if
partner
:
fields
=
[
"nama"
,
"alamat_1"
,
"alamat_2"
,
"mobile"
,
"email"
,
"kode"
,
"idcard"
]
for
f
in
fields
:
d
[
f
]
=
hasattr
(
partner
,
f
)
and
getattr
(
partner
,
f
)
or
""
if
"idcard"
in
d
:
if
"idcard"
in
d
:
if
d
[
"idcard"
]:
filename
=
d
[
"idcard"
]
preview_url
=
"/"
.
join
(
...
...
@@ -342,9 +340,12 @@ class Registrasi(BaseView):
}
else
:
d
.
pop
(
"idcard"
)
return
d
def
before_add
(
self
):
email
=
self
.
req
.
user
and
self
.
req
.
user
.
email
or
""
return
{
"email"
:
email
}
@view_config
(
route_name
=
'profile'
,
renderer
=
'templates/form.pt'
,
permission
=
'view'
)
def
view_profile
(
self
):
...
...
@@ -353,9 +354,15 @@ class Registrasi(BaseView):
if
reg_form
:
return
HTTPFound
(
location
=
self
.
req
.
route_url
(
reg_form
))
self
.
bindings
=
dict
(
user
=
self
.
req
.
user
)
return
super
(
Registrasi
,
self
)
.
view_edit
()
resp
=
super
(
Registrasi
,
self
)
.
view_edit
()
if
not
resp
:
resp
=
super
(
Registrasi
,
self
)
.
view_add
()
return
resp
def
save_request
(
self
,
values
,
row
=
None
):
if
not
"email"
in
values
or
not
values
[
"email"
]:
values
[
"email"
]
=
self
.
req
.
user
and
self
.
req
.
user
.
email
or
""
if
"idcard"
in
values
and
values
[
"idcard"
]:
if
self
.
req
.
POST
[
'upload'
]
!=
b
''
:
path
=
get_params
(
'idcard_folder'
,
'/tmp/idcard'
)
...
...
@@ -363,7 +370,9 @@ class Registrasi(BaseView):
values
[
"idcard"
]
=
upload
.
save
(
self
.
req
,
'upload'
)
else
:
values
.
pop
(
"idcard"
)
if
not
row
:
values
[
"is_vendor"
]
=
0
values
[
"is_customer"
]
=
1
row
=
super
()
.
save_request
(
values
,
row
)
if
not
self
.
req
.
user
:
# User Baru
if
'groups'
in
values
and
values
[
'groups'
]:
...
...
@@ -374,46 +383,13 @@ class Registrasi(BaseView):
DBSession
.
add
(
ug
)
add_member_count
(
gr
.
id
)
DBSession
.
flush
()
data
=
dict
(
email
=
row
.
email
)
# if 'id_info' in self.ses and self.ses['id_info']:
# id_info = self.ses["id_info"]
# values['email'] = id_info['email']
# values['external_id'] = id_info['sub']
# values['external_user_name'] = id_info["name"]
# values['external_email'] = id_info["email"]
# values['provider_name'] = id_info["iss"]
# # todo: what is this????
# # values['access_token']
# # values['alt_token']
# # values['token_secret']
# values["local_user_id"] = row.id
# external = ExternalIdentity()
# external.from_dict(values)
# DBSession.add(external)
# DBSession.flush()
# if need_verify():
# send_email_pending(self.req, row, 'Welcome new user',
# 'email-new-user',
# 'email-pending.tpl')
# ts = _(
# 'user-added',
# default='${email} berhasil ditambahkan tunggu hasil verifikasi data ',
# mapping=data)
#
# else:
# row.status = 1
# DBSession.add(row)
# self.ses.flash('Registrasi Sukses.')
# DBSession.flush()
# self.headers = get_login_headers(self.req, row)
# ts = _(
# 'user-added',
# default='${email} berhasil ditambahkan ',
# mapping=data)
# else: # Kirim email validasi
# todo validasi dan perubahan profile
remain
=
regenerate_security_code
(
row
)
user
=
User
()
user
.
email
=
row
.
email
user
.
user_name
=
row
.
email
user
.
registered_date
=
datetime
.
now
()
DBSession
.
add
(
user
)
DBSession
.
flush
()
remain
=
regenerate_security_code
(
user
)
send_email_security_code
(
self
.
req
,
row
,
remain
,
'Welcome new user'
,
'email-new-user'
,
'email-new-user.tpl'
)
...
...
@@ -421,25 +397,8 @@ class Registrasi(BaseView):
'user-added'
,
default
=
'${email} berhasil ditambahkan dan email untuk ubah '
\
'kata kunci sudah dikirim.'
,
mapping
=
data
)
mapping
=
{
"email"
:
row
.
email
}
)
self
.
ses
.
flash
(
ts
)
if
"old_email"
in
self
.
ses
and
self
.
ses
[
"old_email"
]:
email
=
self
.
ses
[
"old_email"
]
del
self
.
ses
[
"old_email"
]
else
:
email
=
row
.
email
partner
=
Partner
.
query_email
(
email
)
.
first
()
if
not
partner
:
partner
=
Partner
()
partner
.
is_vendor
=
0
partner
.
is_customer
=
1
partner
.
status
=
0
partner
.
from_dict
(
values
)
DBSession
.
add
(
partner
)
DBSession
.
flush
()
self
.
req
.
session
.
flash
(
"Sukses update profile"
)
return
row
def
next_add
(
self
,
form
,
**
kwargs
):
...
...
opensipkd/base/views/templates/logout.pt
View file @
0e4b3d2
...
...
@@ -55,7 +55,7 @@
</div>
<div
class=
"col-md-12"
align=
"center"
>
<img
src=
"${home}static/img/logo.png"
class=
"img-float img-thumbnail"
style=
"height:
auto
;width:auto;border:none;"
/>
class=
"img-float img-thumbnail"
style=
"height:
50px
;width:auto;border:none;"
/>
</div>
<div
class=
"clearfix"
></div>
</fieldset>
...
...
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