Skip to content

Commit

Permalink
#1268: Added Relation between Articulators to phonology fields.
Browse files Browse the repository at this point in the history
  • Loading branch information
susanodd committed Jul 11, 2024
1 parent c14289c commit 13152dc
Show file tree
Hide file tree
Showing 6 changed files with 123 additions and 10 deletions.
31 changes: 31 additions & 0 deletions media/js/glosses_toggle_edit.js
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,23 @@ function toggle_handCh(data) {
buttonCell.attr('value', button_contents);
}

function toggle_relatArtic(data) {
if ($.isEmptyObject(data)) {
return;
};
var glossid = data.glossid;
var relatArtic = data.relatArtic;
var hCell = $("#relatArtic_cell_"+glossid);
$(hCell).empty();
var cell = "<span class='relatArtic'>"+relatArtic+"</span>";
hCell.html(cell);

var button_lookup = '#button_' + glossid + '_relatArtic';
var buttonCell = $(button_lookup);
var button_contents = similar_gloss_fields_labels['relatArtic'] + ': ' + relatArtic;
buttonCell.attr('value', button_contents);
}

function toggle_locprim(data) {
if ($.isEmptyObject(data)) {
return;
Expand Down Expand Up @@ -434,6 +451,20 @@ $(document).ready(function() {
});
});

$('.quick_relatArtic').click(function(e)
{
e.preventDefault();
var glossid = $(this).attr('value');
var relatArtic = $(this).attr("data-relatArtic");
$.ajax({
url : url + "/dictionary/update/toggle_relatArtic/" + glossid + "/" + relatArtic,
type: 'POST',
data: { 'csrfmiddlewaretoken': csrf_token },
datatype: "json",
success : toggle_relatArtic
});
});

$('.quick_locprim').click(function(e)
{
e.preventDefault();
Expand Down
8 changes: 7 additions & 1 deletion signbank/dictionary/adminviews.py
Original file line number Diff line number Diff line change
Expand Up @@ -6539,7 +6539,7 @@ def get_context_data(self, **kwargs):

context['available_tags'] = [tag for tag in Tag.objects.all()]

similar_gloss_fields = ['handedness', 'domhndsh', 'subhndsh', 'handCh', 'locprim',
similar_gloss_fields = ['handedness', 'domhndsh', 'subhndsh', 'handCh', 'relatArtic', 'locprim',
'movSh', 'repeat', 'altern']
context['similar_gloss_fields'] = json.dumps(similar_gloss_fields)
similar_gloss_fields_labels = {}
Expand Down Expand Up @@ -6568,6 +6568,12 @@ def get_context_data(self, **kwargs):
field='HandshapeChange', machine_value__gt=1).order_by('name')]
context['available_handCh'] = available_handCh

available_relatArtic = [fc for fc in FieldChoice.objects.filter(
field='RelatArtic', machine_value__in=[0, 1]).order_by('machine_value')]
available_relatArtic += [fc for fc in FieldChoice.objects.filter(
field='RelatArtic', machine_value__gt=1).order_by('name')]
context['available_relatArtic'] = available_relatArtic

available_locprim = [fc for fc in FieldChoice.objects.filter(
field='Location', machine_value__in=[0, 1]).order_by('machine_value')]
available_locprim += [fc for fc in FieldChoice.objects.filter(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,14 @@ <h3>{% trans "Batch Edit" %}</h3>
</div>
</td>
</tr>
<tr style="height:26px;">
<th>{% trans "Relation between Articulators" %}</th>
<td class="field_relatArtic" style="width:100px;">
<div class="relatArtic-cell"
id="relatArtic_cell_{{gloss.id}}"><span class='relatArtic'>{% if gloss.relatArtic %}{{gloss.relatArtic.name}}{% endif %}</span>
</div>
</td>
</tr>
<tr style="height:26px;">
<th>{% trans "Location" %}</th>
<td class="field_locprim" style="width:100px;">
Expand Down Expand Up @@ -539,7 +547,7 @@ <h3>{% trans "Batch Edit" %}</h3>
<div id="toggles" class='panel-group'>
<div class="panel panel-default panel-toggles">
<div class='panel-heading' data-toggle='collapse' data-parent="#toggles"
data-target='#toggle_language_fields_panel_{{gloss.id}}'>{% trans "Text Fields" %}
data-target='#toggle_language_fields_panel_{{gloss.id}}'>{% trans "TEXT FIELDS" %}
</div>
<div id='toggle_language_fields_panel_{{gloss.id}}' class="panel-collapse collapse in">
<div class="panel-body" style="display:inline-block;">
Expand Down Expand Up @@ -569,7 +577,7 @@ <h3>{% trans "Batch Edit" %}</h3>

<div class="panel panel-default panel-toggles">
<div class='panel-heading' data-toggle='collapse' data-parent="#toggles"
data-target='#toggle_tags_panel_{{gloss.id}}'>{% trans "Tags" %}
data-target='#toggle_tags_panel_{{gloss.id}}'>{% trans "TAGS" %}
</div>
<div id='toggle_tags_panel_{{gloss.id}}' class="panel-collapse collapse">
<div class="panel-body" style="display:inline-block;">
Expand All @@ -587,7 +595,7 @@ <h3>{% trans "Batch Edit" %}</h3>
</div>
<div class="panel panel-default panel-toggles">
<div class='panel-heading' data-toggle='collapse' data-parent="#toggles"
data-target='#toggle_phonology_panel_{{gloss.id}}'>{% trans "Phonology" %}
data-target='#toggle_phonology_panel_{{gloss.id}}'>{% trans "PHONOLOGY" %}
</div>
<div id='toggle_phonology_panel_{{gloss.id}}' class="panel-collapse collapse">
<div id="phonology" class='panel-group'>
Expand Down Expand Up @@ -666,6 +674,25 @@ <h3>{% trans "Batch Edit" %}</h3>
</div>
</div>

<div class="panel panel-default panel-toggles">
<div class='panel-heading' data-toggle='collapse' data-parent="#phonology"
data-target='#toggle_relatArtic_panel_{{gloss.id}}'>{% trans "Relation between Articulators" %}
</div>
<div id='toggle_relatArtic_panel_{{gloss.id}}' class="panel-collapse collapse">
<div class="panel-body" style="display:inline-block;">
<p>
{% for wc in available_relatArtic %}
<button id='quick_relatArtic_btn_{{gloss.id}}' class="quick_relatArtic btn actionButton"
name='quick_relatArtic_{{gloss.id}}'
value='{{gloss.id}}' data-relatArtic='{{wc.machine_value}}' style="height:36px;"
type="submit" >{{wc.name}}
</button>
{% endfor %}
</p>
</div>
</div>
</div>

<div class="panel panel-default panel-toggles">
<div class='panel-heading' data-toggle='collapse' data-parent="#phonology"
data-target='#toggle_locprim_panel_{{gloss.id}}'>{% trans "Location" %}
Expand Down
20 changes: 14 additions & 6 deletions signbank/dictionary/update.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,7 @@
mapping_edit_senses_matrix, mapping_toggle_sense_tag
from signbank.dictionary.consistency_senses import reorder_translations
from signbank.dictionary.related_objects import gloss_related_objects, morpheme_related_objects
from signbank.dictionary.update_glosses import (mapping_toggle_tag, mapping_toggle_semanticfield,
mapping_toggle_wordclass, mapping_toggle_namedentity,
mapping_toggle_handedness, mapping_toggle_domhndsh,
mapping_toggle_subhndsh, mapping_toggle_handCh, mapping_toggle_locprim,
mapping_toggle_movSh,
batch_edit_create_sense, mapping_toggle_repeat, mapping_toggle_altern)
from signbank.dictionary.update_glosses import *
from signbank.dictionary.batch_edit import batch_edit_update_gloss


Expand Down Expand Up @@ -3582,6 +3577,19 @@ def toggle_handCh(request, glossid, handCh):
return JsonResponse(result)


@permission_required('dictionary.change_gloss')
def toggle_relatArtic(request, glossid, relatArtic):

gloss = Gloss.objects.filter(id=glossid).first()

if not okay_to_update_gloss(request, gloss):
return JsonResponse({})

result = mapping_toggle_relatArtic(request, gloss, relatArtic)

return JsonResponse(result)


@permission_required('dictionary.change_gloss')
def toggle_locprim(request, glossid, locprim):

Expand Down
38 changes: 38 additions & 0 deletions signbank/dictionary/update_glosses.py
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,44 @@ def mapping_toggle_handCh(request, gloss, handCh):
return result


@permission_required('dictionary.change_gloss')
def mapping_toggle_relatArtic(request, gloss, relatArtic):

try:
relatArtic_machine_value = int(relatArtic)
except TypeError:
return {}

empty_relatArtic = FieldChoice.objects.get(field='RelatArtic', machine_value=0)
new_relatArtic = FieldChoice.objects.filter(field='RelatArtic', machine_value=relatArtic_machine_value).first()

if not new_relatArtic:
# if the word class does not exist, set it to empty
relatArtic_machine_value = 0
new_relatArtic = empty_relatArtic

original_relatArtic = gloss.relatArtic.name if gloss.relatArtic else '-'

with atomic():
if not gloss.relatArtic:
gloss.relatArtic = new_relatArtic
elif gloss.relatArtic.machine_value != relatArtic_machine_value:
gloss.relatArtic = new_relatArtic
else:
gloss.relatArtic = empty_relatArtic
new_relatArtic = empty_relatArtic
gloss.save()

add_gloss_update_to_revision_history(request.user, gloss, 'relatArtic', original_relatArtic, new_relatArtic.name)

result = dict()
result['glossid'] = str(gloss.id)
newvalue = gloss.relatArtic.name
result['relatArtic'] = newvalue

return result


@permission_required('dictionary.change_gloss')
def mapping_toggle_locprim(request, gloss, locprim):

Expand Down
3 changes: 3 additions & 0 deletions signbank/dictionary/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,9 @@
re_path(r'^update/toggle_handCh/(?P<glossid>\d+)/(?P<handCh>.*)$',
signbank.dictionary.update.toggle_handCh,
name='toggle_handCh'),
re_path(r'^update/toggle_relatArtic/(?P<glossid>\d+)/(?P<relatArtic>.*)$',
signbank.dictionary.update.toggle_relatArtic,
name='toggle_relatArtic'),
re_path(r'^update/toggle_locprim/(?P<glossid>\d+)/(?P<locprim>.*)$',
signbank.dictionary.update.toggle_locprim,
name='toggle_locprim'),
Expand Down

0 comments on commit 13152dc

Please sign in to comment.