def change_pwd(toyz_settings, tid, params): """ Change a users password. Parameters - toyz_settings ( :py:class:`toyz.utils.core.ToyzSettings`): Settings for the toyz application - tid (*string* ): Task ID of the client user running the task - params (*dict* ): Any parameters sent by the client (see *params* below) Params - current_pwd (*string* ): Users current password. Must match the password on file or an exception is raised - new_pwd (*string* ): New password - confirm_pwd (*string* ): Confirmation of the the new password. If new_pwd and confirm_pwd do not match, an exception is raised Response - id: 'notification' - func: 'change_pwd' - msg: 'Password changed successfully' """ core.check4keys(params, ['current_pwd', 'new_pwd', 'confirm_pwd']) if core.check_pwd(toyz_settings, tid['user_id'], params['current_pwd']): if params['new_pwd'] == params['confirm_pwd']: pwd_hash = core.encrypt_pwd(toyz_settings, params['new_pwd']) else: raise ToyzJobError("New passwords did not match") else: raise ToyzJobError("Invalid user_id or password") db_utils.update_param(toyz_settings.db, 'pwd', user_id=tid['user_id'], pwd=pwd_hash) response = { 'id': 'notification', 'func': 'change_pwd', 'msg': 'Password changed successfully', } return response
def reset_pwd(toyz_settings, tid, params): """ Reset a users password """ user = core.get_user_type(params) if 'user_id' in params: user_id = params['user_id'] elif 'group_id' in params: user_id = group_id else: raise ToyzJobError("Must specify a user_id or group_id to reset password") pwd_hash = core.encrypt_pwd(toyz_settings, user_id) db_utils.update_param(toyz_settings.db, 'pwd', pwd=pwd_hash, **user) response = { 'id': 'notification', 'func': 'reset_pwd', 'msg': 'Password reset successfully', } return response
def reset_pwd(toyz_settings, tid, params): """ Reset a users password """ user = core.get_user_type(params) if 'user_id' in params: user_id = params['user_id'] elif 'group_id' in params: user_id = group_id else: raise ToyzJobError( "Must specify a user_id or group_id to reset password") pwd_hash = core.encrypt_pwd(toyz_settings, user_id) db_utils.update_param(toyz_settings.db, 'pwd', pwd=pwd_hash, **user) response = { 'id': 'notification', 'func': 'reset_pwd', 'msg': 'Password reset successfully', } return response
def add_new_user(toyz_settings, tid, params): """ Add a new user to the toyz application. Parameters - toyz_settings ( :py:class:`toyz.utils.core.ToyzSettings`): Settings for the toyz application - tid (*string* ): Task ID of the client user running the task - params (*dict* ): Any parameters sent by the client (see *params* below) Params - user_id (*string* ): Id of user to add Response - id: 'notification' - func: 'add_new_user' - msg: 'User/Group added correctly' """ user = core.get_user_type(params) user_id = six.next(six.itervalues(user)) pwd = core.encrypt_pwd(toyz_settings, user_id) db_utils.update_param(toyz_settings.db, 'pwd', pwd=pwd, **user) if 'user_id' in user: # set permissions and shortcuts for users home path core.check_user_shortcuts(toyz_settings, **user) # Add user to all users db_utils.update_param(toyz_settings.db, 'users', group_id='all', users=[user['user_id']]) msg = 'User added correctly' else: msg = 'Group added correctly' response = { 'id': 'notification', 'func': 'add_new_user', 'msg': msg } return response
def add_new_user(toyz_settings, tid, params): """ Add a new user to the toyz application. Parameters - toyz_settings ( :py:class:`toyz.utils.core.ToyzSettings`): Settings for the toyz application - tid (*string* ): Task ID of the client user running the task - params (*dict* ): Any parameters sent by the client (see *params* below) Params - user_id (*string* ): Id of user to add Response - id: 'notification' - func: 'add_new_user' - msg: 'User/Group added correctly' """ user = core.get_user_type(params) user_id = six.next(six.itervalues(user)) pwd = core.encrypt_pwd(toyz_settings, user_id) db_utils.update_param(toyz_settings.db, 'pwd', pwd=pwd, **user) if 'user_id' in user: # set permissions and shortcuts for users home path core.check_user_shortcuts(toyz_settings, **user) # Add user to all users db_utils.update_param(toyz_settings.db, 'users', group_id='all', users=[user['user_id']]) msg = 'User added correctly' else: msg = 'Group added correctly' response = {'id': 'notification', 'func': 'add_new_user', 'msg': msg} return response