Fix missing routes incompatible with a subpath

This commit is contained in:
Sebastian Serth
2021-11-03 16:02:21 +01:00
parent 7bda3f1950
commit eb69697b9a
8 changed files with 20 additions and 18 deletions

View File

@ -1,7 +1,8 @@
$(document).on('turbolinks:load', function() { $(document).on('turbolinks:load', function() {
if ($.isController('error_templates')) { if ($.isController('error_templates')) {
$('#add-attribute').find('button').on('click', function () { const button = $('#add-attribute').find('button')
$.ajax('//' + location.host + location.pathname + '/attribute.json', { button.on('click', function () {
$.ajax(Routes.attribute_error_template_path(button.data('template-id')), {
method: 'POST', method: 'POST',
data: { data: {
_method: 'PUT', _method: 'PUT',
@ -15,4 +16,4 @@ $(document).on('turbolinks:load', function() {
}); });
}); });
} }
}); });

View File

@ -100,7 +100,7 @@ $(document).on('turbolinks:load', function() {
tooltip.style("display", "none"); tooltip.style("display", "none");
}) })
.on("click", function (_event, d) { .on("click", function (_event, d) {
Turbolinks.visit("/exercises/" + d.exercise_id + "/statistics"); Turbolinks.visit(Routes.statistics_exercise_path(d.exercise_id));
}) })
.attr("x", function (d) { .attr("x", function (d) {
return x(d.index); return x(d.index);

View File

@ -1,13 +1,14 @@
$(document).on('turbolinks:load', function() { $(document).on('turbolinks:load', function() {
var grid = $('#tag-grid'); const grid = $('#tag-grid');
if ($.isController('external_users') && grid.isPresent()) { if ($.isController('external_users') && grid.isPresent()) {
var spinner = $('#loading'); const spinner = $('#loading');
var noElements = $('#no-elements'); const user_id = spinner.data('user-id');
const noElements = $('#no-elements');
var buildTagContainer = function(tag) { const buildTagContainer = function(tag) {
return '\ return '\
<a href="' + location.href +'/statistics?tag=' + tag.id + '">\ <a href="' + Routes.statistics_external_user_path(user_id, {tag: tag.id}) + '">\
<div class="tag">\ <div class="tag">\
<div class="name">' + tag.key + '</div>\ <div class="name">' + tag.key + '</div>\
<div class="progress">\ <div class="progress">\
@ -17,7 +18,7 @@ $(document).on('turbolinks:load', function() {
</a>'; </a>';
}; };
var jqxhr = $.ajax('//' + location.host + location.pathname + '/tag_statistics', { const jqxhr = $.ajax(Routes.tag_statistics_external_user_path(user_id), {
dataType: 'json', dataType: 'json',
method: 'GET' method: 'GET'
}); });
@ -26,7 +27,7 @@ $(document).on('turbolinks:load', function() {
if (response.length === 0) { if (response.length === 0) {
noElements.show(); noElements.show();
} else { } else {
var elements = response.map(buildTagContainer); const elements = response.map(buildTagContainer);
grid.append(elements); grid.append(elements);
} }
}); });

View File

@ -49,7 +49,7 @@ $(document).on('turbolinks:load', function() {
var refreshData = function (callback) { var refreshData = function (callback) {
var params = new URLSearchParams(window.location.search.slice(1)); var params = new URLSearchParams(window.location.search.slice(1));
var jqxhr = $.ajax('/statistics/graphs/' + prefix + '-activity-history.json', { var jqxhr = $.ajax(Routes[`statistics_graphs_${prefix}_activity_history_path`](), {
dataType: 'json', dataType: 'json',
data: {from: params.get('from'), to: params.get('to'), interval: params.get('interval')}, data: {from: params.get('from'), to: params.get('to'), interval: params.get('interval')},
method: 'GET' method: 'GET'

View File

@ -101,7 +101,7 @@ $(document).on('turbolinks:load', function() {
}); });
} }
manageGraph('user-activity', '/statistics/graphs/user-activity', 10); manageGraph('user-activity', Routes.statistics_graphs_user_activity_path(), 10);
manageGraph('rfc-activity', '/statistics/graphs/rfc-activity', 30); manageGraph('rfc-activity', Routes.statistics_graphs_rfc_activity_path(), 30);
} }
}); });

View File

@ -41,4 +41,4 @@ h2.mt-4
= collection_select({}, :error_template_attribute_id, = collection_select({}, :error_template_attribute_id,
ErrorTemplateAttribute.where.not(id: @error_template.error_template_attributes.select(:id).to_a).order('important DESC', :key), ErrorTemplateAttribute.where.not(id: @error_template.error_template_attributes.select(:id).to_a).order('important DESC', :key),
:id, :key, {include_blank: false}, class: '') :id, :key, {include_blank: false}, class: '')
button.btn.btn-outline-primary = t('error_templates.add_attribute') button.btn.btn-outline-primary data-template-id=@error_template.id = t('error_templates.add_attribute')

View File

@ -12,7 +12,7 @@ h4.mt-4 = link_to(t('.exercise_statistics'), statistics_external_user_path(@user
- if current_user.admin? - if current_user.admin?
h4.mt-4 = t('.tag_statistics') h4.mt-4 = t('.tag_statistics')
#loading #loading data-user-id=@user.id
.spinner .spinner
= t('.loading_tag_statistics') = t('.loading_tag_statistics')
#no-elements #no-elements

View File

@ -109,7 +109,7 @@ javascript:
$.ajax({ $.ajax({
dataType: 'json', dataType: 'json',
method: 'GET', method: 'GET',
url: '//' + location.host + location.pathname + '/mark_as_solved' url: '#{ mark_as_solved_request_for_comment_path(@request_for_comment) }'
}).done(function(response){ }).done(function(response){
if(response.solved){ if(response.solved){
solvedButton.removeClass('btn-primary'); solvedButton.removeClass('btn-primary');
@ -127,7 +127,7 @@ javascript:
$.ajax({ $.ajax({
dataType: 'json', dataType: 'json',
method: 'POST', method: 'POST',
url: '//' + location.host + location.pathname + '/set_thank_you_note', url: '#{ set_thank_you_note_request_for_comment_path(@request_for_comment) }',
data: { data: {
note: value note: value
} }