mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 13:00:39 +03:00
Copy terms when cloning
This commit is contained in:
parent
00ea912a9e
commit
7ecf85dbc7
|
@ -412,6 +412,7 @@ class RSForm:
|
||||||
cst = self._insert_new(data, insert_after)
|
cst = self._insert_new(data, insert_after)
|
||||||
cst.convention = data.get('convention', '')
|
cst.convention = data.get('convention', '')
|
||||||
cst.definition_formal = data.get('definition_formal', '')
|
cst.definition_formal = data.get('definition_formal', '')
|
||||||
|
cst.term_forms = data.get('term_forms', [])
|
||||||
cst.term_raw = data.get('term_raw', '')
|
cst.term_raw = data.get('term_raw', '')
|
||||||
if cst.term_raw != '':
|
if cst.term_raw != '':
|
||||||
resolved = resolver.resolve(cst.term_raw)
|
resolved = resolver.resolve(cst.term_raw)
|
||||||
|
|
|
@ -175,7 +175,7 @@ class CstCreateSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
''' serializer metadata. '''
|
''' serializer metadata. '''
|
||||||
model = Constituenta
|
model = Constituenta
|
||||||
fields = 'alias', 'cst_type', 'convention', 'term_raw', 'definition_raw', 'definition_formal', 'insert_after'
|
fields = 'alias', 'cst_type', 'convention', 'term_raw', 'definition_raw', 'definition_formal', 'insert_after', 'term_forms'
|
||||||
|
|
||||||
|
|
||||||
class CstRenameSerializer(serializers.ModelSerializer):
|
class CstRenameSerializer(serializers.ModelSerializer):
|
||||||
|
|
|
@ -426,15 +426,23 @@ class TestRSFormViewset(APITestCase):
|
||||||
x3 = Constituenta.objects.get(alias=response.data['new_cst']['alias'])
|
x3 = Constituenta.objects.get(alias=response.data['new_cst']['alias'])
|
||||||
self.assertEqual(x3.order, 3)
|
self.assertEqual(x3.order, 3)
|
||||||
|
|
||||||
data = {'alias': 'X4', 'cst_type': 'basic', 'insert_after': x2.id}
|
data = {
|
||||||
|
'alias': 'X4',
|
||||||
|
'cst_type': 'basic',
|
||||||
|
'insert_after': x2.id,
|
||||||
|
'term_raw': 'test',
|
||||||
|
'term_forms': [{'text':'form1', 'tags':'sing,datv'}]
|
||||||
|
}
|
||||||
response = self.client.post(
|
response = self.client.post(
|
||||||
f'/api/rsforms/{item.id}/cst-create',
|
f'/api/rsforms/{item.id}/cst-create',
|
||||||
data=data, format='json'
|
data=data, format='json'
|
||||||
)
|
)
|
||||||
self.assertEqual(response.status_code, 201)
|
self.assertEqual(response.status_code, 201)
|
||||||
self.assertEqual(response.data['new_cst']['alias'], 'X4')
|
self.assertEqual(response.data['new_cst']['alias'], data['alias'])
|
||||||
x4 = Constituenta.objects.get(alias=response.data['new_cst']['alias'])
|
x4 = Constituenta.objects.get(alias=response.data['new_cst']['alias'])
|
||||||
self.assertEqual(x4.order, 3)
|
self.assertEqual(x4.order, 3)
|
||||||
|
self.assertEqual(x4.term_raw, data['term_raw'])
|
||||||
|
self.assertEqual(x4.term_forms, data['term_forms'])
|
||||||
|
|
||||||
def test_rename_constituenta(self):
|
def test_rename_constituenta(self):
|
||||||
cst1 = Constituenta.objects.create(
|
cst1 = Constituenta.objects.create(
|
||||||
|
|
Loading…
Reference in New Issue
Block a user