Add problem volunteer
This commit is contained in:
parent
e51129d36f
commit
e70618ed19
15 changed files with 396 additions and 5 deletions
|
@ -36,7 +36,15 @@
|
|||
#content {
|
||||
width: 99%;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
.volunteer-types {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.point-input {
|
||||
height: 2em;
|
||||
padding-top: 4px;
|
||||
}
|
||||
</style>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
@ -151,6 +159,59 @@
|
|||
$end.prop('disabled', end === point_values.max).val(end);
|
||||
});
|
||||
}
|
||||
{% if feed_type=='volunteer' and request.user.has_perm('judge.suggest_problem_changes') %}
|
||||
$(".edit-btn").on('click', function() {
|
||||
var pid = $(this).attr('pid');
|
||||
$('#volunteer-types-' + pid).css({'width': '100%'});
|
||||
$('#volunteer-types-' + pid).select2({multiple: 1, placeholder: '{{ _('Add types...') }}'})
|
||||
.css({'visibility': 'visible'});
|
||||
|
||||
$('#form-' + pid).show();
|
||||
$('#submit-' + pid).show();
|
||||
$(this).hide();
|
||||
});
|
||||
|
||||
let isChecking = false;
|
||||
$(".volunteer-submit-btn").on('click', function(e) {
|
||||
var pid = $(this).attr('pid');
|
||||
var pcode = $(this).attr('pcode');
|
||||
var $form = $('#form-' + pid);
|
||||
|
||||
if (!$form[0].checkValidity()) {
|
||||
if (isChecking) return;
|
||||
isChecking = true;
|
||||
// The form won't actually submit;
|
||||
$(this).click();
|
||||
}
|
||||
else {
|
||||
isChecking = false;
|
||||
}
|
||||
if (isChecking) return;
|
||||
|
||||
e.preventDefault();
|
||||
$('#volunteer-types-' + pid).select2({multiple: 1, placeholder: '{{ _('Add types...') }}'})
|
||||
.css({'visibility': 'visible'});
|
||||
$('#form-' + pid).hide();
|
||||
$('#edit-' + pid).show();
|
||||
$('#thank-' + pid).show();
|
||||
$(this).hide();
|
||||
|
||||
var data = {
|
||||
problem: pcode,
|
||||
types: $('#volunteer-types-' + pid).val(),
|
||||
knowledge_points: $('#knowledge_point-' + pid).val(),
|
||||
thinking_points: $('#thinking_point-' + pid).val(),
|
||||
feedback: $('#feedback-' + pid).val(),
|
||||
};
|
||||
$.post("{{url('volunteer_problem_vote')}}", data)
|
||||
.fail(function() {
|
||||
$('#thank-' + pid).html("{{_('Fail to vote!')}}");
|
||||
})
|
||||
.done(function() {
|
||||
$('#thank-' + pid).html("{{_('Successful vote! Thank you!')}}");
|
||||
});
|
||||
});
|
||||
{% endif %}
|
||||
});
|
||||
</script>
|
||||
{% endcompress %}
|
||||
|
@ -381,6 +442,11 @@
|
|||
<a href="{{url('problem_feed_new')}}" class="problem-feed-option-item {{'active' if feed_type=='new'}}">
|
||||
{{_('NEW')}}
|
||||
</a>
|
||||
{% if request.user.has_perm('judge.suggest_problem_changes') %}
|
||||
<a href="{{url('problem_feed_volunteer')}}" class="problem-feed-option-item {{'active' if feed_type=='volunteer'}}">
|
||||
{{_('VOLUNTEER')}}
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% for problem in problems %}
|
||||
{% include "problem/feed.html" %}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue