Skip to content

Commit

Permalink
#1268: Added altern to phonology fields.
Browse files Browse the repository at this point in the history
  • Loading branch information
susanodd committed Jul 10, 2024
1 parent 89b2833 commit 3a2b225
Show file tree
Hide file tree
Showing 6 changed files with 104 additions and 4 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 @@ -167,6 +167,23 @@ function toggle_repeat(data) {
buttonCell.attr('value', button_contents);
}

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

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

function toggle_create_sense(data) {
if ($.isEmptyObject(data)) {
return;
Expand Down Expand Up @@ -427,6 +444,20 @@ $(document).ready(function() {
});
});

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

$('.quick_create_sense').click(function(e)
{
e.preventDefault();
Expand Down
2 changes: 1 addition & 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', 'locprim', 'movSh', 'repeat']
similar_gloss_fields = ['handedness', 'domhndsh', 'subhndsh', 'locprim', 'movSh', 'repeat', 'altern']
context['similar_gloss_fields'] = json.dumps(similar_gloss_fields)
similar_gloss_fields_labels = {}
for field in similar_gloss_fields:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -509,13 +509,21 @@ <h3>{% trans "Batch Edit" %}</h3>
</td>
</tr>
<tr style="height:26px;">
<th>{% trans "Repeat" %}</th>
<th>{% trans "Repeated Movement" %}</th>
<td class="field_repeat" style="width:100px;">
<div class="repeat-cell"
id="repeat_cell_{{gloss.id}}"><span class='repeat'>{% if gloss.repeat %}{% trans "Yes" %}{% else %}{% trans "No" %}{% endif %}</span>
</div>
</td>
</tr>
<tr style="height:26px;">
<th>{% trans "Alternating Movement" %}</th>
<td class="field_altern" style="width:100px;">
<div class="altern-cell"
id="altern_cell_{{gloss.id}}"><span class='altern'>{% if gloss.altern %}{% trans "Yes" %}{% else %}{% trans "No" %}{% endif %}</span>
</div>
</td>
</tr>

</table>
</td>
Expand Down Expand Up @@ -670,7 +678,7 @@ <h3>{% trans "Batch Edit" %}</h3>

<div class="panel panel-default panel-toggles">
<div class='panel-heading' data-toggle='collapse' data-parent="#phonology"
data-target='#toggle_repeat_panel_{{gloss.id}}'>{% trans "Repeat" %}
data-target='#toggle_repeat_panel_{{gloss.id}}'>{% trans "Repeated Movement" %}
</div>
<div id='toggle_repeat_panel_{{gloss.id}}' class="panel-collapse collapse">
<div class="panel-body" style="display:inline-block;">
Expand All @@ -687,6 +695,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_altern_panel_{{gloss.id}}'>{% trans "Alternating Movement" %}
</div>
<div id='toggle_altern_panel_{{gloss.id}}' class="panel-collapse collapse">
<div class="panel-body" style="display:inline-block;">
<p>
{% for ab in available_boolean %}
<button id='quick_altern_btn_{{gloss.id}}' class="quick_altern btn actionButton"
name='quick_altern_{{gloss.id}}'
value='{{gloss.id}}' data-altern='{{ab.machine_value}}' style="height:36px;"
type="submit" >{{ab.name}}
</button>
{% endfor %}
</p>
</div>
</div>
</div>

</div>

</div>
Expand Down
15 changes: 14 additions & 1 deletion signbank/dictionary/update.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
mapping_toggle_wordclass, mapping_toggle_namedentity,
mapping_toggle_handedness, mapping_toggle_domhndsh,
mapping_toggle_subhndsh, mapping_toggle_locprim, mapping_toggle_movSh,
batch_edit_create_sense, mapping_toggle_repeat)
batch_edit_create_sense, mapping_toggle_repeat, mapping_toggle_altern)
from signbank.dictionary.batch_edit import batch_edit_update_gloss


Expand Down Expand Up @@ -3607,6 +3607,19 @@ def toggle_repeat(request, glossid, repeat):
return JsonResponse(result)


@permission_required('dictionary.change_gloss')
def toggle_altern(request, glossid, altern):

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

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

result = mapping_toggle_altern(request, gloss, altern)

return JsonResponse(result)


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

Expand Down
26 changes: 26 additions & 0 deletions signbank/dictionary/update_glosses.py
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,32 @@ def mapping_toggle_repeat(request, gloss, repeat):
return result


@permission_required('dictionary.change_gloss')
def mapping_toggle_altern(request, gloss, altern):
# altern is 0 or 1

if altern not in ['0', '1']:
return {}

new_altern_boolean = altern == '1'

original_altern = 'True' if gloss.altern else 'False'
new_altern = 'True' if altern == '1' else 'False'

with atomic():
gloss.altern = new_altern_boolean
gloss.save()

add_gloss_update_to_revision_history(request.user, gloss, 'altern', new_altern, original_altern)

result = dict()
result['glossid'] = str(gloss.id)
newvalue = gettext("Yes") if gloss.altern else gettext("No")
result['altern'] = newvalue

return result


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

Expand Down
3 changes: 3 additions & 0 deletions signbank/dictionary/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,9 @@
re_path(r'^update/toggle_repeat/(?P<glossid>\d+)/(?P<repeat>.*)$',
signbank.dictionary.update.toggle_repeat,
name='toggle_repeat'),
re_path(r'^update/toggle_altern/(?P<glossid>\d+)/(?P<altern>.*)$',
signbank.dictionary.update.toggle_altern,
name='toggle_altern'),

re_path(r'^update/quick_create_sense/(?P<glossid>\d+)$',
signbank.dictionary.update.quick_create_sense,
Expand Down

0 comments on commit 3a2b225

Please sign in to comment.