def create(): data = request_data() dataset = Dataset.from_form(data) authz.require(authz.dataset_edit(dataset)) entity = Entity.create(dataset, data, request.account) db.session.commit() return redirect(url_for('.view', id=entity.id))
def submit(dataset, id): dataset = Dataset.find(dataset) authz.require(authz.dataset_edit(dataset)) data = request_data() entity_col = data.get('entity') or None alias_col = data.get('alias') or None if not (entity_col or alias_col): flash('You need to pick either a alias or entity column!', 'error') return map(dataset.name, id) import_upload.delay(dataset.name, id, request.account.id, entity_col, alias_col) flash('Loading data...', 'success') return redirect(url_for('dataset.view', dataset=dataset.name))
def process(dataset, id): dataset = Dataset.find(dataset) authz.require(authz.dataset_edit(dataset)) upload = Upload.find(dataset, id) mapping = request_data() mapping['reviewed'] = mapping.get('reviewed') or False mapping['columns'] = mapping.get('columns', {}) fields = mapping['columns'].values() for header in mapping['columns'].keys(): if header not in upload.tab.headers: raise Invalid("Invalid header: %s" % header, None, None) if 'name' not in fields and 'id' not in fields: raise Invalid("You have not selected a field that definies entity names.", None, None) import_upload.delay(upload.id, request.account.id, mapping) return jsonify({'status': 'Loading data...'})
def update(id): entity = Entity.by_id(id) authz.require(authz.dataset_edit(entity.dataset)) entity.update(request_data(), request.account) db.session.commit() return redirect(url_for('.view', id=entity.id))
def update(dataset): dataset = Dataset.find(dataset) authz.require(authz.dataset_manage(dataset)) dataset.update(request_data()) db.session.commit() return redirect(url_for('.view', dataset=dataset.name))
def create(): authz.require(authz.dataset_create()) dataset = Dataset.create(request_data(), request.account) db.session.commit() return redirect(url_for('.view', dataset=dataset.name))