diff --git a/entries/static/entries/js/components/LexicalUnitEdit.js b/entries/static/entries/js/components/LexicalUnitEdit.js index cf16cb980c74ca11c4c754f7c525e38851d1e677..540da90157bdfcd8602d025c6810f9c345bc2cf7 100644 --- a/entries/static/entries/js/components/LexicalUnitEdit.js +++ b/entries/static/entries/js/components/LexicalUnitEdit.js @@ -378,6 +378,28 @@ export default { } } $.prompt(duplicate_popup); + }, + changeUnifiedFrameStatusToReady() { + let foundNotVerifiedFrame = this.frames.find(frame => !frame.verified); + if(foundNotVerifiedFrame) { + alert(gettext("Wszystkie podpięte ramy powinny być zweryfikowane.")); + } else { + var data = {'unified_frame_id': this.unified_frame.id}; + $.ajax({ + type: 'post', + url: '/' + lang + '/unifier/change_unified_frame_status_to_ready/', + dataType: 'json', + data: data, + timeout: 60000, + success: function (response) { + show_info('Status ramy został zmieniony'); + this.$emit('goToDisplay') + }.bind(this), + error: function (request, errorType, errorMessage) { + show_error(errorType + ' (' + errorMessage + ')'); + } + }); + } } }, mounted () { @@ -401,7 +423,7 @@ export default { <td id="add-arg" @click="addArgument" style="padding: 10px 15px 10px 15px; color: #000000;">Dodaj argum.</td> <td style="padding: 10px 15px 10px 15px; color: #000000;" @click="addSelectivePreference">Dodaj prefer.</td> <td id="merge" style="padding: 10px 15px 10px 15px; color: #000000;">Scal</td> - <td style="padding: 10px 15px 10px 15px; color: #000000;" @click="$emit('goToDisplay')">Gotowe</td> + <td style="padding: 10px 15px 10px 15px; color: #000000;" @click="changeUnifiedFrameStatusToReady">Gotowe</td> </tr> <tr style="background-color: white;"> <td id="change-role" @click="changeRole" style="padding: 10px 15px 10px 15px; color: #000000;">Zmień rolę</td> diff --git a/entries/static/entries/js/unification.js b/entries/static/entries/js/unification.js index 34df25b35e80cc4344e110a6e13d5c26566ef055..b31f3fbeafc8b2ecb24606bfd3ca86c0586e0197 100644 --- a/entries/static/entries/js/unification.js +++ b/entries/static/entries/js/unification.js @@ -32,7 +32,6 @@ function frames2dom_unidief_view(frames) { table.className = 'table m-0 table-borderless border border-secondary text-dark'; var tbody = document.createElement('tbody'); - // roles and selectional preferences var roles_row = document.createElement('tr'); var frame_col = document.createElement('th'); diff --git a/unifier/urls.py b/unifier/urls.py index c8816554d2da9bbf7ed58ff74cc127a1be06c12c..ba1b905b1c86f4d08323d32ff336c4005bf17d47 100644 --- a/unifier/urls.py +++ b/unifier/urls.py @@ -19,5 +19,6 @@ urlpatterns = [ path('add_argument/', views.add_argument, name='add_argument'), path('remove_argument/', views.remove_argument, name='remove_argument'), path('duplicate_unified_frame/', views.duplicate_unified_frame, name='duplicate_unified_frame'), + path('change_unified_frame_status_to_ready/', views.change_unified_frame_status_to_ready, name='change_unified_frame_status_to_ready'), ] diff --git a/unifier/views.py b/unifier/views.py index d2302dad92702356024c65e5a2bab139d04f78e3..69696dca870414ef708bfbad6b7045a85e3af964 100644 --- a/unifier/views.py +++ b/unifier/views.py @@ -10,7 +10,7 @@ from semantics.models import Frame, ArgumentRole, SemanticRole, RoleAttribute from syntax.models import Schema from unifier.models import UnifiedFrameArgument, UnifiedRelationalSelectionalPreference, UnifiedFrame, \ UnifiedFrame2SlowalFrameMapping, UnifiedFrameArgumentSlowalFrameMapping - +from . import choices @ajax_required @transaction.atomic @@ -356,3 +356,19 @@ def remove_argument(request): newUnifiedFrameArgument = UnifiedFrameArgument.objects.get(id=complement_id) newUnifiedFrameArgument.delete() return JsonResponse({}) + +@ajax_required +@transaction.atomic +def change_unified_frame_status_to_ready(request): + if request.method == 'POST': + unified_frame_id = request.POST['unified_frame_id'] + unifiedFrame = UnifiedFrame.objects.get(pk=unified_frame_id) + unifiedFrame.status = choices.UnifiedFrameStatus.READY + + for mapping in unifiedFrame.unified_frame_2_slowal_frame.all(): + mapping.verified = True + mapping.save() + + unifiedFrame.save() + return JsonResponse({}) +