def update_xml_with_metadata(document, **params): user = get_abacus_user() if document.version_set.count() == 0: # create an initial version contentString = XMLContent.getInitialContent(document) content = ContentFile(contentString) version = Version.objects.create( comment = "Initial version created from meta data", document = document, created_by = user) version.content.save("initial_version.xml", content) else: # create a new version with the new content xmlContent = XMLContent(document.latest_version()) contentString = xmlContent.getUpdatedContent(**params) content = ContentFile(contentString) version = Version.objects.create( comment = "Updated version due to meta data change", document = document, created_by = user) version.content.save("updated_version.xml", content)
def save(self): instance = super(PartialDocumentForm, self).save() if instance.version_set.count() == 0: # create an initial version contentString = XMLContent.getInitialContent(instance) content = ContentFile(contentString) version = Version.objects.create( comment = "Initial version created from meta data", document = instance, created_by = self.user) version.content.save("initial_version.xml", content) else: # create a new version with the new content xmlContent = XMLContent(instance.latest_version()) contentString = xmlContent.getUpdatedContent(**self.cleaned_data) content = ContentFile(contentString) version = Version.objects.create( comment = "Updated version due to meta data change", document = instance, created_by = self.user) version.content.save("updated_version.xml", content) return instance