def update(id): entity = object_or_404(Entity.by_id(id)) authz.require(authz.project_edit(entity.project)) data = request_data({'author': request.account}) entity = entities.save(data, entity=entity) db.session.commit() return jsonify(entities.to_rest(entity))
def save(self): """ Save the entity to the database. Do this only once, after all properties have been set. """ # fetch existing: q = Entity.all() q = q.filter(Entity.project == self.loader.project) for name, only_active in self.update_criteria: value = self.properties.get(name).get('value') attr = self.loader.project.get_attribute('entity', name) q = Entity._filter_property(q, [attr], value, only_active=only_active) entity = q.first() try: data = { 'project': self.loader.project, 'author': self.loader.account, 'schemata': self.schemata, 'properties': self.properties } self._entity = entities.save(data, entity=entity) except Invalid, inv: if not self.loader.ignore_errors: raise log.warning("Validation error: %r", inv.asdict())
def update(id): entity = object_or_404(Entity.by_id(id)) authz.require(authz.entity_edit(entity)) data = request_data({'author': request.account}) entity = entities.save(data, files=request.files, entity=entity) db.session.commit() return jsonify(entity)
def save(self): """ Save the entity to the database. Do this only once, after all properties have been set. """ # fetch existing: q = Entity.all() q = q.filter(Entity.project==self.loader.project) for name, only_active in self.update_criteria: value = self.properties.get(name).get('value') attr = self.loader.project.get_attribute('entity', name) q = Entity._filter_property(q, [attr], value, only_active=only_active) entity = q.first() try: data = { 'project': self.loader.project, 'author': self.loader.account, 'schemata': self.schemata, 'properties': self.properties } self._entity = entities.save(data, entity=entity) except Invalid, inv: log.warning("Validation error: %r", inv)
def create(): data = request_data({'author': request.account}) project = ProjectRef().get(data.get('project')) data['project'] = project authz.require(authz.project_edit(project)) entity = entities.save(data) db.session.commit() return jsonify(entities.to_rest(entity))
def create(): data = request_data({'author': request.account}) project = ProjectRef().get(data.get('project')) data['project'] = project authz.require(authz.project_edit(project)) entity = entities.save(data, files=request.files) db.session.commit() return jsonify(entity)
def save(self): """ Save the entity to the database. Do this only once, after all properties have been set. """ # fetch existing: q = Entity.all() q = q.filter(Entity.project == self.loader.project) for name, only_active in self.update_criteria: v = self.properties.get(name).get('value') q = Entity._filter_property(q, name, v, only_active=only_active) entity = q.first() try: data = { 'project': self.loader.project, 'author': self.loader.account, 'schema': self.schema, 'properties': self.properties } self._entity = entities.save(data, entity=entity) except Invalid, inv: if not self.loader.ignore_errors: raise log.warning("Validation error: %r", inv.asdict())