Ejemplo n.º 1
0
def create_right(name, **kwargs):
    try:
        Right.create(name)
    except ValueError as e:
        print(e, file=sys.stderr)
        sys.exit(1)
    db.session.commit()
    print('Right {} created'.format(name))
Ejemplo n.º 2
0
 def get(self, right_name):
     """
     Get a specific right
     """
     right = Right.from_db(right_name)
     if not right:
         api.abort(404, 'No such right')
     return right, 200
Ejemplo n.º 3
0
 def wrapped(*args, **kwargs):
     from kovaak_stats.models.right import Right
     right = Right.from_db(rightname)
     if not right:
         abort(403, '{} right doesn\'t exist'.format(rightname))
     if right not in get_current_user().rights:
         abort(403, 'You don\'t have the right {} required to do the request'.format(rightname))
     return f(*args, **kwargs)
Ejemplo n.º 4
0
 def delete(self, right_name):
     """
     Delete a specific right
     """
     right = Right.from_db(right_name)
     if not right:
         api.abort(404, 'No such right')
     right.delete()
     db.session.commit()
     return '', 204
Ejemplo n.º 5
0
 def post(self):
     """
     Create new rights
     """
     args = right_parser.parse_args()
     try:
         for right_name in args.rights:
             right = Right.create(right_name)
     except ValueError as e:
         api.abort(400, e)
     db.session.commit()
     return right, 200
Ejemplo n.º 6
0
    def delete(self, username, right_name):
        """
        Delete a right from a user
        """
        user = User.from_db(username)
        if not user:
            api.abort(404, 'No such user')
        from kovaak_stats.models.right import Right
        if not Right.exists(right_name):
            api.abort(404, 'No such right')
        try:
            user.del_right_from_string(right_name)
        except ValueError as e:
            api.abort(400, e)
        db.session.commit()

        return '', 204
Ejemplo n.º 7
0
 def setUp(self):
     self.app = app
     with self.app.app_context():
         db.drop_all()
         db.create_all()
         if os.path.isfile('./tests/app.conf'):
             self.app.config.from_pyfile('../tests/app.conf')
         # Create our test user
         user = User.create(self.app.config.get('TEST_USER'),
                            self.app.config.get('TEST_USERS_EMAIL'),
                            self.app.config.get('TEST_USERS_PASSWORD'))
         for right_name in rights:
             user.rights.append(Right.create(right_name))
         db.session.add(user)
         self._basic = b64encode('{0}:{1}'.format(
             self.app.config.get('TEST_USER'),
             self.app.config.get('TEST_USERS_PASSWORD')).encode(
                 'utf8')).decode('utf8')
         g.current_user = None
         db.session.commit()
Ejemplo n.º 8
0
def specific_right_del(right, **kwargs):
    Right.delete(right)
    db.session.commit()
    print('Right {} has been deleted'.format(right.name))
Ejemplo n.º 9
0
def check_right(name):
    right = Right.from_db(name)
    if not right:
        print('Right {} doesn\'t exist'.format(name), file=sys.stderr)
        sys.exit(1)
    return right