def register(self, item_type_id=0): """Register an item type.""" if request.headers['Content-Type'] != 'application/json': current_app.logger.debug(request.headers['Content-Type']) return jsonify(msg=_('Header Error')) data = request.get_json() try: table_row_map = data.get('table_row_map') json_schema = fix_json_schema( table_row_map.get( 'schema')) if not json_schema: raise ValueError('Schema is in wrong format.') record = ItemTypes.update(id_=item_type_id, name=table_row_map.get( 'name'), schema=json_schema, form=table_row_map.get( 'form'), render=data) # Just update Mapping when create new record if record.model.id != item_type_id: Mapping.create(item_type_id=record.model.id, mapping=table_row_map. get('mapping')) ItemTypeEditHistory.create_or_update( item_type_id=record.model.id, user_id=current_user.get_id(), notes=data.get('edit_notes', {}) ) db.session.commit() except BaseException: raise db.session.rollback() return jsonify(msg=_('Failed to register Item type.')) current_app.logger.debug('itemtype register: {}'.format(item_type_id)) flash(_('Successfuly registered Item type.')) redirect_url = url_for('.index', item_type_id=record.model.id) return jsonify(msg=_('Successfuly registered Item type.'), redirect_url=redirect_url)
def register(item_type_id=0): """Register an item type.""" if request.headers['Content-Type'] != 'application/json': current_app.logger.debug(request.headers['Content-Type']) return jsonify(msg=_('Header Error')) data = request.get_json() try: record = ItemTypes.update(id_=item_type_id, name=data.get('table_row_map').get('name'), schema=data.get('table_row_map').get( 'schema'), form=data.get('table_row_map').get('form'), render=data) Mapping.create(item_type_id=record.model.id, mapping=data.get('table_row_map').get('mapping')) db.session.commit() except BaseException: db.session.rollback() return jsonify(msg=_('Fail')) current_app.logger.debug('itemtype register: {}'.format(item_type_id)) return jsonify(msg=_('Success'))