Commit 64838b3c by Ari Agung Prasetiyo

add external-uim support for password change in ViewPassword

1 parent 97ac8b38
...@@ -8,7 +8,7 @@ base-password,/password,base,user_login,ViewPassword,change_password,1,view,,Cha ...@@ -8,7 +8,7 @@ base-password,/password,base,user_login,ViewPassword,change_password,1,view,,Cha
base-password-request,/password/{code}/request,base,user_login,ViewPassword,change_password_request,1,,,Change Password,1,0,,0,form8.pt, base-password-request,/password/{code}/request,base,user_login,ViewPassword,change_password_request,1,,,Change Password,1,0,,0,form8.pt,
base-profile,/profile,base,register,,view_profile,,view,,Profile,1,0,,0,form8.pt, base-profile,/profile,base,register,,view_profile,,view,,Profile,1,0,,0,form8.pt,
base-register,/register,base,register,,view_register,,,,Register,1,0,,0,form8.pt, base-register,/register,base,register,,view_register,,,,Register,1,0,,0,form8.pt,
base-recreate-api-key,/recreate-api-key,base,register,ViewPassword,recreate-api-key,,,,Get Api Key,1,0,,0,recreate-api-key.pt, base-recreate-api-key,/recreate-api-key,base,user_login,ViewPassword,recreate-api-key,,,,Get Api Key,1,0,,0,recreate-api-key.pt,
base-admin,#,base,,,,,admin,,Administrator,1,0,,1,, base-admin,#,base,,,,,admin,,Administrator,1,0,,1,,
base-user,/user,base,user,,view_list,,user-view,base-admin,User,1,0,,1,form.pt, base-user,/user,base,user,,view_list,,user-view,base-admin,User,1,0,,1,form.pt,
base-user-act,/user/{act}/act,base,user,,,,user-view,base-user,User Action,1,0,,,json, base-user-act,/user/{act}/act,base,user,,,,user-view,base-user,User Action,1,0,,,json,
......
...@@ -578,10 +578,26 @@ class ViewPassword(BaseView): ...@@ -578,10 +578,26 @@ class ViewPassword(BaseView):
try: try:
c = form.validate(items) c = form.validate(items)
except ValidationFailure as e: except ValidationFailure as e:
return dict(form=e.render()) return dict(form=e.render(), scripts="")
user = request.user user = request.user
user.security_code = None user.security_code = None
if get_params('external-uim'):
pckgs = get_params('external-uim')
m = import_module(pckgs)
try:
m.change_password(user.user_name, c['password'], c['new_password'])
except Exception as e:
log.warn(str(e))
request.session.flash(str(e), "error")
return HTTPFound(location=request.route_url('base-password'))
headers = forget(request)
request.session.delete()
request.response.headers.update(headers)
request.session.flash("Password berhasil diubah, Silahkan login ulang")
return HTTPFound(location=request.route_url('base-login'), headers=headers)
if not UserService.check_password(user, c['password']): if not UserService.check_password(user, c['password']):
request.session.flash('Password lama tidak sesuai', 'error') request.session.flash('Password lama tidak sesuai', 'error')
return HTTPFound(location=request.route_url('base-password')) return HTTPFound(location=request.route_url('base-password'))
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!