Пример #1
0
    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)
Пример #2
0
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'))