Example #1
0
    def create(self, validated_data):
        """
        Create and return a new `Data` instance, given the validated data.
        """
        # Create data
        instance = Data(
            template=validated_data["template"],
            workspace=validated_data["workspace"]
            if "workspace" in validated_data
            else None,
            title=validated_data["title"],
            user_id=str(self.context["request"].user.id),
        )
        # Get template
        template_api.get(instance.template.id, request=self.context["request"])

        # Set xml content
        instance.xml_content = validated_data["xml_content"]

        # Save the data and retrieve the inserted object
        inserted_data = data_api.upsert(instance, self.context["request"])

        # Encode the response body
        inserted_data.xml_content = inserted_data.xml_content.encode("utf-8")

        return inserted_data
    def create(self, validated_data):
        """
        Create and return a new `Data` instance, given the validated data.
        """
        # Create data
        instance = Data(
            template=validated_data["template"],
            workspace=validated_data["workspace"]
            if "workspace" in validated_data else None,
            title=validated_data["title"],
            user_id=validated_data["user_id"] if "user_id" in validated_data
            else str(self.context["request"].user.id),
        )
        # Set XML content
        instance.xml_content = validated_data["xml_content"]
        # Set times
        instance.creation_date = validated_data.get("creation_date", None)
        instance.last_modification_date = validated_data.get(
            "last_modification_date", None)
        instance.last_change_date = validated_data.get("last_change_date",
                                                       None)
        # Save the data
        data_api.admin_insert(instance, request=self.context["request"])
        # Encode the response body
        # NOTE: using xml_content property would update the last_modification_date
        instance._xml_content = validated_data["xml_content"].encode("utf-8")

        return instance
def _create_data(template, xml):
    data = Data(template=template,
                user_id='1',
                dict_content=None,
                title='title')
    data.xml_content = xml
    data.convert_to_dict()
    return data.save()
Example #4
0
    def create(self, validated_data):
        """
        Create and return a new `Data` instance, given the validated data.
        """
        # Create data
        instance = Data(
            template=validated_data['template'],
            title=validated_data['title'],
            user_id=str(validated_data['user'].id),
        )
        # Set xml content
        instance.xml_content = validated_data['xml_content']
        # Save the data
        data_api.upsert(instance, validated_data['user'])
        # Encode the response body
        instance.xml_content = validated_data['xml_content'].encode('utf-8')

        return instance
Example #5
0
def save_data(request):
    """Save data - delete curate data structure.

    Args:
        request:

    Returns:

    """
    try:
        # get curate data structure
        curate_data_structure_id = request.POST["id"]
        curate_data_structure = curate_data_structure_api.get_by_id(
            curate_data_structure_id, request.user)

        # unlock from database
        if curate_data_structure.data is not None:
            lock_api.remove_lock_on_object(curate_data_structure.data,
                                           request.user)

        # generate the XML
        xml_data = render_xml(
            request, curate_data_structure.data_structure_element_root)

        if curate_data_structure.data is not None:
            # update existing data
            data = curate_data_structure.data
        else:
            # create new data
            data = Data()
            data.title = curate_data_structure.name
            template = template_api.get(str(curate_data_structure.template.id),
                                        request=request)
            data.template = template
            data.user_id = str(request.user.id)

        # set content
        data.xml_content = xml_data
        # save data
        data = data_api.upsert(data, request)

        curate_data_structure_api.delete(curate_data_structure, request.user)

        messages.add_message(
            request,
            messages.SUCCESS,
            get_data_label().capitalize() + " saved with success.",
        )
    except Exception as e:
        return HttpResponseBadRequest(str(e).replace('"', "'"),
                                      content_type="application/javascript")

    return HttpResponse(json.dumps({"data_id": str(data.id)}),
                        content_type="application/javascript")
Example #6
0
def _create_data(title="test"):
    """Create a data

    Args:
        title:

    Returns:
    """
    data = Data(title=title, template="6137af4b91cb055990297f35", user_id="1")
    data.template = _get_template()
    data.xml_content = '<root  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ><string>x</string></root>'
    return data
Example #7
0
def _create_data(template, title="test"):
    """Create a data

    Args:
        template
        title:
    Returns:
    """
    data = Data(title=title, template="6137af4b91cb055990297f35", user_id="1")
    data.id = "6111b84691cb057552b3da20"
    data.template = template
    data.xml_content = "<root  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' ><test>value</test></root>"
    return data
Example #8
0
def save_data(request):
    """Save data - delete curate data structure.

    Args:
        request:

    Returns:

    """
    try:
        # get curate data structure
        curate_data_structure_id = request.POST['id']
        curate_data_structure = curate_data_structure_api.get_by_id(
            curate_data_structure_id)

        # unlock from database
        if curate_data_structure.data is not None:
            lock_api.remove_lock_on_object(curate_data_structure.data,
                                           request.user)

        # generate the XML
        xml_data = render_xml(
            curate_data_structure.data_structure_element_root)

        if curate_data_structure.data is not None:
            # update existing data
            data = curate_data_structure.data
        else:
            # create new data
            data = Data()
            data.title = curate_data_structure.name
            data.template = curate_data_structure.template
            data.user_id = str(request.user.id)

        # set content
        data.xml_content = xml_data
        # save data
        data_api.upsert(data, request.user)

        curate_data_structure_api.delete(curate_data_structure)

        messages.add_message(
            request, messages.SUCCESS,
            get_data_label().capitalize() + ' saved with success.')
    except Exception, e:
        message = e.message.replace('"', '\'')
        return HttpResponseBadRequest(message,
                                      content_type='application/javascript')
Example #9
0
    def create(self, validated_data):
        """
        Create and return a new `Data` instance, given the validated data.
        """
        # Create data
        instance = Data(
            dict_content=validated_data["dict_content"],
            template=validated_data["template"],
            workspace=validated_data["workspace"]
            if "workspace" in validated_data else None,
            title=validated_data["title"],
            user_id=str(self.context["request"].user.id),
        )
        # set xml content
        instance.xml_content = unparse(instance.dict_content,
                                       full_document=False)
        # Save the data
        data_api.upsert(instance, request=self.context["request"])

        return instance
Example #10
0
def _create_data(template, user_id, title, content, data_id=None):
    data = Data(template=template, user_id=user_id, title=title, id=data_id)
    data.xml_content = content
    return data
Example #11
0
def _create_data(template, user_id, title, content):
    data = Data(template=template,
                user_id=user_id,
                title=title)
    data.xml_content = content
    return data