mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 13:00:39 +03:00
Fix: do not allow base and constant sets to have children
This commit is contained in:
parent
6cd52c5c24
commit
128bdf5ec4
|
@ -506,7 +506,12 @@ class SemanticInfo:
|
||||||
sources = self._extract_sources(target)
|
sources = self._extract_sources(target)
|
||||||
if len(sources) != 1:
|
if len(sources) != 1:
|
||||||
return target.id
|
return target.id
|
||||||
return next(iter(sources))
|
|
||||||
|
parent_id = next(iter(sources))
|
||||||
|
parent = self._cst_by_ID[parent_id]
|
||||||
|
if is_base_set(parent.cst_type):
|
||||||
|
return target.id
|
||||||
|
return parent_id
|
||||||
|
|
||||||
def _extract_sources(self, target: Constituenta) -> set[int]:
|
def _extract_sources(self, target: Constituenta) -> set[int]:
|
||||||
sources: set[int] = set()
|
sources: set[int] = set()
|
||||||
|
|
|
@ -259,6 +259,10 @@ class TestRSForm(TestCase):
|
||||||
alias='D4',
|
alias='D4',
|
||||||
definition_formal=r'Pr2(D3)',
|
definition_formal=r'Pr2(D3)',
|
||||||
)
|
)
|
||||||
|
f2 = self.schema.insert_new(
|
||||||
|
alias='F2',
|
||||||
|
definition_formal=r'[α∈ℬ(X1)] X1\α',
|
||||||
|
)
|
||||||
|
|
||||||
self.schema.restore_order()
|
self.schema.restore_order()
|
||||||
x1.refresh_from_db()
|
x1.refresh_from_db()
|
||||||
|
@ -271,6 +275,7 @@ class TestRSForm(TestCase):
|
||||||
d3.refresh_from_db()
|
d3.refresh_from_db()
|
||||||
d4.refresh_from_db()
|
d4.refresh_from_db()
|
||||||
f1.refresh_from_db()
|
f1.refresh_from_db()
|
||||||
|
f2.refresh_from_db()
|
||||||
a1.refresh_from_db()
|
a1.refresh_from_db()
|
||||||
|
|
||||||
self.assertEqual(x1.order, 1)
|
self.assertEqual(x1.order, 1)
|
||||||
|
@ -284,6 +289,7 @@ class TestRSForm(TestCase):
|
||||||
self.assertEqual(d4.order, 9)
|
self.assertEqual(d4.order, 9)
|
||||||
self.assertEqual(d2.order, 10)
|
self.assertEqual(d2.order, 10)
|
||||||
self.assertEqual(f1.order, 11)
|
self.assertEqual(f1.order, 11)
|
||||||
|
self.assertEqual(f2.order, 12)
|
||||||
|
|
||||||
|
|
||||||
def test_reset_aliases(self):
|
def test_reset_aliases(self):
|
||||||
|
|
|
@ -103,7 +103,12 @@ export class RSFormLoader {
|
||||||
if (sources.size !== 1 || sources.has(target.id)) {
|
if (sources.size !== 1 || sources.has(target.id)) {
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
return sources.values().next().value as ConstituentaID;
|
const parent_id = sources.values().next().value as ConstituentaID;
|
||||||
|
const parent = this.cstByID.get(parent_id);
|
||||||
|
if (parent && isBaseSet(parent.cst_type)) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
return parent_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
private extractSources(target: IConstituenta): Set<ConstituentaID> {
|
private extractSources(target: IConstituenta): Set<ConstituentaID> {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user