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))
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}
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}