def mapping_register(): """Register an item type mapping.""" 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: Mapping.create(item_type_id=data.get('item_type_id'), mapping=data.get('mapping')) db.session.commit() except BaseException: db.session.rollback() return jsonify(msg=_('Fail')) return jsonify(msg=_('Success'))
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'))
def mapping_register(self): """Register an item type mapping.""" if request.headers['Content-Type'] != 'application/json': current_app.logger.debug(request.headers['Content-Type']) return jsonify(msg=_('Header Error')) data = request.get_json() item_type = ItemTypes.get_by_id(data.get('item_type_id')) meta_system = item_type.render.get('meta_system') lst_duplicate = check_duplicate_mapping(data.get('mapping'), meta_system, item_type) if len(lst_duplicate) > 0: return jsonify(duplicate=True, err_items=lst_duplicate, msg=_('Duplicate mapping as below:')) try: Mapping.create(item_type_id=data.get('item_type_id'), mapping=data.get('mapping')) db.session.commit() except BaseException: db.session.rollback() return jsonify(msg=_('Unexpected error occurred.')) return jsonify(msg=_('Successfully saved new mapping.'))