B: Fix convention editing for OSS

This commit is contained in:
Ivan 2024-08-19 17:06:01 +03:00
parent 3d80947af5
commit 35dbb6d201
3 changed files with 10 additions and 4 deletions

View File

@ -557,8 +557,7 @@ class OperationSchema:
if old_data['term_forms'] == cst.term_forms:
new_data['term_forms'] = data['term_forms']
if 'convention' in data:
if old_data['convention'] == cst.convention:
new_data['convention'] = data['convention']
new_data['convention'] = data['convention']
if 'definition_formal' in data:
new_data['definition_formal'] = replace_globals(data['definition_formal'], mapping)
if 'term_raw' in data:

View File

@ -92,7 +92,8 @@ class TestChangeConstituents(EndpointTester):
'item_data': {
'term_raw': 'Test1',
'definition_formal': r'X4\X4',
'definition_raw': '@{X5|sing,datv}'
'definition_raw': '@{X5|sing,datv}',
'convention': 'test'
}
}
response = self.executeOK(data=data, schema=self.ks1.model.pk)
@ -102,8 +103,10 @@ class TestChangeConstituents(EndpointTester):
self.assertEqual(self.ks1X1.term_raw, data['item_data']['term_raw'])
self.assertEqual(self.ks1X1.definition_formal, data['item_data']['definition_formal'])
self.assertEqual(self.ks1X1.definition_raw, data['item_data']['definition_raw'])
self.assertEqual(self.ks1X1.convention, data['item_data']['convention'])
self.assertEqual(d2.definition_resolved, data['item_data']['term_raw'])
self.assertEqual(inherited_cst.term_raw, data['item_data']['term_raw'])
self.assertEqual(inherited_cst.convention, data['item_data']['convention'])
self.assertEqual(inherited_cst.definition_formal, r'X1\X1')
self.assertEqual(inherited_cst.definition_raw, r'@{X2|sing,datv}')

View File

@ -241,7 +241,11 @@ class RSForm:
old_data = {}
term_changed = False
if 'convention' in data:
cst.convention = data['convention']
if cst.convention == data['convention']:
del data['convention']
else:
old_data['convention'] = cst.convention
cst.convention = data['convention']
if 'definition_formal' in data:
if cst.definition_formal == data['definition_formal']:
del data['definition_formal']