diff --git a/semantics/validation.py b/semantics/validation.py index bd333a5..5351c29 100644 --- a/semantics/validation.py +++ b/semantics/validation.py @@ -186,6 +186,10 @@ def validate_lexical_units(lemma_id): for lex_unit in lexical_units.all(): if not examples_reflex_agreed(lex_unit): error_msg = u'Semantyka: Znaczenie %s ma podpięte przykłady o niezgodnej zwrotności.' % unicode(lex_unit) + elif hanging_meaning(lex_unit): + error_msg = u'Semantyka: Znaczenie %s nie jest reprezentowane przez żadną ramę semantyczną.' % unicode(lex_unit) + if error_msg: + break return error_msg def examples_reflex_agreed(lexical_unit): @@ -197,3 +201,9 @@ def examples_reflex_agreed(lexical_unit): lex_example.example.arguments.filter(arguments__type__in=reflex_phrase_types()).exists())): return False return True + +def hanging_meaning(lexical_unit): + if lexical_unit.luid < 0 and not lexical_unit.actual_frames().exists(): + return True + return False + \ No newline at end of file