diff --git a/frontend/src/components/unification/Unification/LexicalUnitEdit.vue b/frontend/src/components/unification/Unification/LexicalUnitEdit.vue index 27b35bd2c40b1ab36f66598e139f10a15772ae35..f841afccb14992c97cff1f1a3c20becb1c527695 100644 --- a/frontend/src/components/unification/Unification/LexicalUnitEdit.vue +++ b/frontend/src/components/unification/Unification/LexicalUnitEdit.vue @@ -1049,6 +1049,9 @@ Object.assign(LexicalUnitEdit, { } return slowal_frame_stastuses; }, + isReadOnly() { + return this.readOnly || (this.unified_frame.status === 'G' && !this.isSuperLeksykograf()); + }, hideLexicalUnits() { this.lexicalUnitsVisible = false; }, @@ -1187,7 +1190,7 @@ export default LexicalUnitEdit; <template> <div class="col h-100 px-0 pt-0 pb-0 overflow-auto" id="semantics-frames-pane"> <div :id="'semantics-unified-frame-pane' + (readOnly ? '-preview' : '')" class="col w-100 p-0 overflow-auto"> - <table v-if="!readOnly && !isReadOnlyForSuperLeksykograf()" class="table-button-menu sticky-top" cellspacing="1"> + <table v-if="!isReadOnly() && !isReadOnlyForSuperLeksykograf()" class="table-button-menu sticky-top" cellspacing="1"> <tr style="background-color: white;"> <td class="table-button-menu-td" id="change-title" @click="changeTitle" style="padding: 10px 15px 10px 15px; color: #000000;">Zmień nazwę</td> <td class="table-button-menu-td" id="add-arg" @click="addArgument" style="padding: 10px 15px 10px 15px; color: #000000;">Dodaj argum.</td> @@ -1213,7 +1216,7 @@ export default LexicalUnitEdit; </tr> </table> - <table v-if="!readOnly && isReadOnlyForSuperLeksykograf()" class="table-button-menu sticky-top" style="width: 100px;" cellspacing="1"> + <table v-if="!isReadOnly() && isReadOnlyForSuperLeksykograf()" class="table-button-menu sticky-top" style="width: 100px;" cellspacing="1"> <tr style="background-color: white;"> <td v-if="frames.length == 0 || isSuperLeksykograf()" id="delete-frame-ro" style="padding: 10px 15px 10px 15px; color: #000000;" @click="deleteUnifiedFrames">Usuń ramę</td> </tr> @@ -1327,7 +1330,7 @@ export default LexicalUnitEdit; </div> </div> <div :id="'semantics-slowal-frames-pane' + (readOnly ? '-preview' : '')" class="col w-100 p-0 overflow-auto"> - <table v-if="!readOnly && unified_frame.id && !isReadOnlyForSuperLeksykograf()" class="table-button-menu sticky-top" cellspacing="1"> + <table v-if="!isReadOnly() && unified_frame.id && !isReadOnlyForSuperLeksykograf()" class="table-button-menu sticky-top" cellspacing="1"> <tr style="background-color: white;"> <td id="wrong-frame" class="table-button-menu-td" style="padding: 10px 15px 10px 15px; color: #000000;" @click="!this.isSuperLeksykograf() ? change_slowal_frame_status('B') : this.active_slowal_frame && this.active_slowal_frame.status === 'B' ? slowal_frame_status_change_with_confirmation('frame_confirm_invalid') : change_slowal_frame_status('B')">{{createSlowalBadStatusButtonLabel()}}</td> <td id="hide-slowal-frame" style="padding: 10px 15px 10px 15px; color: #000000;"> @@ -1371,7 +1374,7 @@ export default LexicalUnitEdit; @meaning-lu-selected="meaningLuSelected" ></meaning-component> </div> - <div v-if="!readOnly && !isReadOnlyForSuperLeksykograf()" class="col px-0" style=" + <div v-if="!isReadOnly() && !isReadOnlyForSuperLeksykograf()" class="col px-0" style=" max-width: 15px;"> <div class="close" style=" width: 15px; @@ -1397,7 +1400,7 @@ export default LexicalUnitEdit; </div> </div> </div> - <div v-if="!readOnly && !isReadOnlyForSuperLeksykograf()" class="col pl-0 pt-4" style="max-width: 60px;"> + <div v-if="!isReadOnly() && !isReadOnlyForSuperLeksykograf()" class="col pl-0 pt-4" style="max-width: 60px;"> <div class="row"></div> <div class="row"> <div class="col"> @@ -1436,7 +1439,7 @@ export default LexicalUnitEdit; /> </div> </div> - <div v-if="!readOnly" class="col h-100 px-1 pt-0 pb-0 overflow-auto" style="padding-left: 0px!important; padding-right: 0px!important;" id="semantics-schemata-pane"> + <div class="col h-100 px-1 pt-0 pb-0 overflow-auto" style="padding-left: 0px!important; padding-right: 0px!important;" id="semantics-schemata-pane"> <ul class="nav nav-pills nav-justified p-1" id="entryTabs" role="tablist"> <li v-for="tab in right_pane_tabs" @@ -1459,7 +1462,7 @@ export default LexicalUnitEdit; @schemata-selected="schemataSelected" /> </div> - <div v-if="right_pane_tab === 'frame_preview'" class="overflow-hidden" style="height: calc(100% - 43px)"> + <div v-if="!isReadOnly() && right_pane_tab === 'frame_preview'" class="overflow-hidden" style="height: calc(100% - 43px)"> <unification-frame-preview :key="currentPreviewedUnifiedFrameId" :lexicalUnitEditComponent="LexicalUnitEdit" @@ -1468,6 +1471,6 @@ export default LexicalUnitEdit; @change-preview-to-edit="swapUnifiedFrames" :forceRefresh="internalForceRefresh" /> </div> - <div :class="right_pane_tab !== 'notes' && 'd-none'" id="notes-component"></div> + <div v-if="!isReadOnly()" :class="right_pane_tab !== 'notes' && 'd-none'" id="notes-component"></div> </div> </template> diff --git a/unifier/views.py b/unifier/views.py index a125bc240d0d1742593adebfe695641591f432ac..6f105c523c028d33f76f842e515863f5127862d5 100644 --- a/unifier/views.py +++ b/unifier/views.py @@ -89,17 +89,18 @@ def check_sysnet_hierarchy_constraints(synset_preference_ids, unified_frame_argu for synset_preference_id in synset_preference_ids: conflict_hyponym, conflict_hyperonym, conflict_exists = synset_hierarchy_constraint_check(int(synset_preference_id), set(synset_ids_list)) - if conflict_hyponym is not None or conflict_hyperonym is not None or conflict_exists is not None: - + if conflict_hyponym is None and conflict_hyperonym is None and conflict_exists is None: + return {"succ": True} + else: conflict_exists_lu_str = conflict_lu_to_str(conflict_exists) conflict_hyponym_lu_str = conflict_lu_to_str(conflict_hyponym) conflict_hyperonym_lu_str = conflict_lu_to_str(conflict_hyperonym) - return {"succ": False, "conflict_hyponym": conflict_hyponym_lu_str, + ret = {"succ": False, "conflict_hyponym": conflict_hyponym_lu_str, "conflict_hyperonym": conflict_hyperonym_lu_str, "conflict_exists": "Wybrana preferencja selekcyjna nie mogła zostać zapisana ponieważ widnieje już na liście preferencji selekcyjnych: " + conflict_exists_lu_str if conflict_exists_lu_str is not None else None} - return {"succ": True} + return ret def conflict_lu_to_str(conflict_lu):