Ejemplo n.º 1
0
    def create(self, id):
        node = Session.query(Node).filter(Node.id == id).first()
        if not node.db_backups:
            node.db_backups = []

        node_backup = NodeDatabaseBackup()
        node_backup.enabled = True
        node_backup.server = Session.query(Node)\
                .filter(Node.id == id).first()
        node_backup.server_id = node_backup.server.id
        node_backup.storage = Session.query(Node)\
                .filter(Node.hostname == \
                request.params['storage']).first()
        node_backup.storage_id = node_backup.storage.id
        node_backup.directory = request.params['directory']
        node_backup.backup_type_id = request.params['backup_type']

        if node_backup.storage and node_backup.server:
            Session.add(node_backup)
            Session.commit()
            node.db_backups.append(node_backup)
            Session.add(node)
            Session.commit()
        else:
            session['flash'] = 'Storage hostname doesn\'t exist'
            session.save()

        return redirect(url(controller='dbbackups', action='index', id=id))
Ejemplo n.º 2
0
    def create(self, id):
        node = Session.query(Node).filter(Node.id == id).first()
        if not node.db_backups:
            node.db_backups = []

        node_backup = NodeDatabaseBackup()
        node_backup.enabled = True
        node_backup.server = Session.query(Node)\
                .filter(Node.id == id).first()
        node_backup.server_id = node_backup.server.id
        node_backup.storage = Session.query(Node)\
                .filter(Node.hostname == \
                request.params['storage']).first()
        node_backup.storage_id = node_backup.storage.id
        node_backup.directory = request.params['directory']
        node_backup.backup_type_id = request.params['backup_type']

        if node_backup.storage and node_backup.server:
            Session.add(node_backup)
            Session.commit()
            node.db_backups.append(node_backup)
            Session.add(node)
            Session.commit()
        else:
            session['flash'] = 'Storage hostname doesn\'t exist'
            session.save()

        return redirect(url(controller='dbbackups', action='index', id=id))
Ejemplo n.º 3
0
    def bulk_update(self):
        for k, v in request.params.iteritems():
            data = json.loads(k)
            # updates
            for update in data['updates']:
                try:
                    node_backup = Session.query(NodeDatabaseBackup).filter(
                        NodeDatabaseBackup.id == update['id']).first()
                    node_backup.server = Session.query(Node)\
                        .filter(Node.hostname == update['server']).first()
                    node_backup.server_id = node_backup.server.id
                    node_backup.storage = Session.query(Node)\
                        .filter(Node.hostname == \
                                    update['storage']).first()
                    node_backup.storage_id = node_backup.storage.id
                    node_backup.directory = update['directory']
                    node_backup.enabled = update['enabled']

                    if node_backup.storage and node_backup.server:
                        Session.add(node_backup)
                        Session.commit()
                except Exception as e:
                    session['flash'] = "Error: %s" % e
                    session.save()
                    return {"success": False}

            # new backups
            for backup in data['new_backups']:
                try:
                    node = Session.query(Node).filter(
                        Node.hostname == backup['server']).first()
                    if not node.db_backups:
                        node.db_backups = []

                    node_backup = NodeDatabaseBackup()
                    node_backup.enabled = backup['enabled']
                    node_backup.server = node
                    node_backup.server_id = node_backup.server.id
                    node_backup.storage = Session.query(Node)\
                        .filter(Node.hostname == \
                                    backup['storage']).first()
                    node_backup.storage_id = node_backup.storage.id
                    node_backup.directory = backup['directory']

                    if node_backup.storage and node_backup.server:
                        Session.add(node_backup)
                        Session.commit()
                        node.db_backups.append(node_backup)
                        Session.add(node)
                        Session.commit()
                except Exception as e:
                    session['flash'] = "Error: %s" % e
                    session.save()
                    return {"success": False}

        session['flash'] = "Successfully updated backups!"
        session.save()
        return {"success": True}
Ejemplo n.º 4
0
    def bulk_update(self):
        for k,v in request.params.iteritems():
            data = json.loads(k)
            # updates
            for update in data['updates']:
                try:
                    node_backup = Session.query(NodeDatabaseBackup).filter(
                        NodeDatabaseBackup.id == update['id']).first()
                    node_backup.server = Session.query(Node)\
                        .filter(Node.hostname == update['server']).first()
                    node_backup.server_id = node_backup.server.id
                    node_backup.storage = Session.query(Node)\
                        .filter(Node.hostname == \
                                    update['storage']).first()
                    node_backup.storage_id = node_backup.storage.id
                    node_backup.directory = update['directory']
                    node_backup.enabled = update['enabled']

                    if node_backup.storage and node_backup.server:
                        Session.add(node_backup)
                        Session.commit()
                except Exception as e:
                    session['flash'] = "Error: %s" % e
                    session.save()
                    return {"success": False}

            # new backups
            for backup in data['new_backups']:
                try:
                    node = Session.query(Node).filter(
                        Node.hostname == backup['server']).first()
                    if not node.db_backups:
                        node.db_backups = []

                    node_backup = NodeDatabaseBackup()
                    node_backup.enabled = backup['enabled']
                    node_backup.server = node
                    node_backup.server_id = node_backup.server.id
                    node_backup.storage = Session.query(Node)\
                        .filter(Node.hostname == \
                                    backup['storage']).first()
                    node_backup.storage_id = node_backup.storage.id
                    node_backup.directory = backup['directory']

                    if node_backup.storage and node_backup.server:
                        Session.add(node_backup)
                        Session.commit()
                        node.db_backups.append(node_backup)
                        Session.add(node)
                        Session.commit()
                except Exception as e:
                    session['flash'] = "Error: %s" % e
                    session.save()
                    return {"success": False}

        session['flash'] = "Successfully updated backups!"
        session.save()
        return {"success": True}