diff --git a/semantics/validation.py b/semantics/validation.py index 73e5309..5eee7d8 100644 --- a/semantics/validation.py +++ b/semantics/validation.py @@ -237,10 +237,20 @@ def lemma_always_pinned(frame): def validate_schemas(lemma_id): error_msg = '' lemma = Lemma.objects.get(id=lemma_id, old=False) - if not all_schemas_used(lemma): + if missing_schemata_opinions(lemma): + error_msg = u'Nie wszystkie schematy mają wybrane oceny.' + elif not all_schemas_used(lemma): error_msg = u'Semantyka nie wykorzystuje wszystkich poprawnych schematów walencyjnych.' return error_msg +def missing_schemata_opinions(lemma): + schemata = lemma.frames + for schema in schemata.all(): + schema_opinion = lemma.frame_opinions.filter(frame=schema) + if not schema_opinion.exists(): + return True + return False + def all_schemas_used(lemma): frames = lemma.entry_obj.visible_frames() schemas = lemma.frames