Example #1
0
File: oss.py Project: hh-h/ossdev
    def GET(self): # noqa
        i = web.input(user='')
        if not i.user:
            msg = 'Не указан пользователь!'
            return dumps({
                'status': Status.ERROR,
                'msg'   : msg
            })

        user = H.check_username(i.user)
        if not user:
            msg = 'Неправильный формат имени пользователя!'
            return dumps({
                'status': Status.ERROR,
                'msg'   : msg
            })
        log.save_action(session.name, 'admin', 'Просмотр прав {0}'.format(user))
        # получим права пользователя из базы
        data = H.get_user_privileges(db, user)

        return dumps({
            'status' : Status.SUCCESS,
            'data'   : data
        })
Example #2
0
File: oss.py Project: hh-h/ossdev
    def POST(self): # noqa
        log.save_action(session.name, 'admin', 'Попытка удаления пользователя')

        i = web.input(user='')

        user = H.check_username(i.user)
        if not user:
            msg = 'Не знаю кого удалять!'
            return dumps({
                'status': Status.ERROR,
                'msg'   : msg
            })

        where = "user='******'".format(user)
        res = db.delete('users', where=where)
        if res != 1:
            msg = 'Не смог удалить пользователя!'
            print(msg)
            return dumps({
                'status': Status.ERROR,
                'msg'   : msg
            })
        log.save_action(session.name, 'admin', 'Удалил пользователя {0}'.format(user))

        status = H.delete_user_sessions(db, store, user)
        if not status:
            msg = 'Не смог удалить сессии пользователя!'
            print(msg)
            return dumps({
                'status': Status.ERROR,
                'msg'   : msg
            })

        return dumps({
            'status' : Status.SUCCESS
        })
Example #3
0
File: oss.py Project: hh-h/ossdev
    def POST(self): # noqa
        log.save_action(session.name, 'admin', 'Попытка копирования прав в админке')

        i = web.input(user='', to='')

        user = H.check_username(i.user)
        if not user:
            msg = 'Не с кого копировать права!'
            print(msg)
            return dumps({
                'status': Status.ERROR,
                'msg'   : msg
            })

        try:
            to = loads(i.to)
        except ValueError:
            msg = 'Не смог преобразовать входные данные!'
            print(msg)
            return dumps({
                'status': Status.ERROR,
                'msg'   : msg
            })

        if not to:
            msg = 'Пустые входные данные!'
            print(msg)
            return dumps({
                'status': Status.ERROR,
                'msg'   : msg
            })

        # обновим права в базе данных
        status = H.copy_user_privileges(db, user, to)
        if not status:
            msg = 'Не смог установить новые права пользователю!'
            print(msg)
            return dumps({
                'status': Status.ERROR,
                'msg'   : msg
            })

        data = H.get_user_privileges(db, user)

        # обновим права самому себе, чтобы не перелогиниваться
        if session.name in to:
            for rule in H.RULES:
                session[rule] = data[rule]

            regions = data['regions'].split(',')
            session['regions'] = map(int, regions)

        # обновим сессии пользователей в базе
        status = H.copy_user_sessions(db, store, to, data)
        if not status:
            print('Не смог обновить сессии пользователям')

        log.save_action(session.name, 'admin', 'Скопировал права {0} пользователям {1}'.format(user, ', '.join(to)))

        return dumps({
            'status' : Status.SUCCESS
        })
Example #4
0
File: oss.py Project: hh-h/ossdev
    def POST(self): # noqa
        log.save_action(session.name, 'admin', 'Попытка изменений прав в админке')

        i = web.input(user='', data={})

        user = H.check_username(i.user)
        if not user:
            msg = 'Не знаю кому изменять права!'
            print(msg)
            return dumps({
                'status': Status.ERROR,
                'msg'   : msg
            })
        try:
            data = loads(i.data)
        except ValueError:
            msg = 'Не смог преобразовать входные данные!'
            print(msg)
            return dumps({
                'status': Status.ERROR,
                'msg'   : msg
            })

        if not data:
            msg = 'Пустые входные данные!'
            print(msg)
            return dumps({
                'status': Status.ERROR,
                'msg'   : msg
            })

        # обновим права в базе данных
        status = H.update_user_privileges(db, user, data)
        if not status:
            msg = 'Не смог установить новые права пользователю!'
            print(msg)
            return dumps({
                'status': Status.ERROR,
                'msg'   : msg
            })

        # обновим права самому себе, чтобы не перелогиниваться
        if session.name == user:
            for rule in H.RULES:
                session[rule] = data[rule]

            regions = data['regions'].split(',')
            session['regions'] = map(int, regions)

        # обновим сессию пользователя в базе
        status = H.update_user_sessions(db, store, user, data)
        if not status:
            msg = 'Не смог обновить сессии пользователя!'
            print(msg)
            return dumps({
                'status': Status.ERROR,
                'msg'   : msg
            })

        log.save_action(session.name, 'admin', 'Изменил права пользователю {0}'.format(user))
        return dumps({
            'status' : Status.SUCCESS
        })