コード例 #1
0
ファイル: models.py プロジェクト: cens-chile/oclapi2
 def process(self):
     if self.version:
         instance = self.get_queryset().first().clone()
         errors = Mapping.create_new_version_for(instance, self.data,
                                                 self.user)
         return errors or UPDATED
     instance = Mapping.persist_new(self.data, self.user)
     if instance.id:
         return CREATED
     return instance.errors or FAILED
コード例 #2
0
    def test_persist_new(self):
        source = SourceFactory(version=HEAD)
        concept1 = ConceptFactory(parent=source)
        concept2 = ConceptFactory(parent=source)
        mapping = Mapping.persist_new({
            **factory.build(dict, FACTORY_CLASS=MappingFactory), 'from_concept': concept1, 'to_concept': concept2,
            'parent_id': source.id
        }, source.created_by)

        self.assertEqual(mapping.errors, {})
        self.assertIsNotNone(mapping.id)
        self.assertEqual(mapping.version, str(mapping.id))
        self.assertEqual(source.mappings_set.count(), 1)
        self.assertEqual(source.mappings.count(), 1)
        self.assertEqual(
            mapping.uri,
            '/orgs/{}/sources/{}/mappings/{}/{}/'.format(
                source.organization.mnemonic, source.mnemonic, mapping.mnemonic, mapping.id
            )
        )
コード例 #3
0
ファイル: serializers.py プロジェクト: OpenConceptLab/oclapi2
 def create(self, validated_data):
     mapping = Mapping.persist_new(data=validated_data,
                                   user=self.context.get('request').user)
     if mapping.errors:
         self._errors.update(mapping.errors)
     return mapping