185 lines
5.9 KiB
HTML
185 lines
5.9 KiB
HTML
{% extends "base_document_copyrights.new_request.html" %}
|
|
{% load url from future %}
|
|
{% load sekizai_tags %}
|
|
{% load crispy_forms_tags %}
|
|
{% load editor %}
|
|
|
|
{% block extra_scripts %}
|
|
{{ block.super }}
|
|
{{ create_course_form.media.css }}
|
|
<style>
|
|
#create-course .miller-columns {
|
|
height: 10em;
|
|
}
|
|
#create-course label {
|
|
font-weight: bold;
|
|
}
|
|
.modal.large {
|
|
margin: -300px 0px 0px -380px;
|
|
width: 760px;
|
|
}
|
|
.modal.large .modal-body {
|
|
max-height: 600px;
|
|
}
|
|
option.unavailable {
|
|
color: #EEEEEE;
|
|
}
|
|
</style>
|
|
<script src="{{ STATIC_URL }}/jquery/js/jquery.form.js"></script>
|
|
{% endblock %}
|
|
|
|
{% block form %}
|
|
{{ block.super }}
|
|
{% addtoblock "endscripts" %}
|
|
{% include "_create_course.html" %}
|
|
{{ create_course_form.media.js }}
|
|
<script>
|
|
(function ($) {
|
|
$(function () {
|
|
var getJSON = function(url) {
|
|
var res;
|
|
$.ajax({
|
|
type: 'GET',
|
|
url: url,
|
|
dataType: 'json',
|
|
success: function(data) {
|
|
res = data;
|
|
},
|
|
async: false
|
|
});
|
|
return res;
|
|
};
|
|
$('.courses-selector').on('change', function (){
|
|
$('.courses-selector').not(this).val('');
|
|
$('#id_document_copyrights-course_code').val($(this).val());
|
|
$('#id_document_copyrights-course_name').val($('option:selected', this).text());
|
|
});
|
|
$('#id_document_copyrights-ue').on('change', function () {
|
|
var value = $(this).val();
|
|
if (value) {
|
|
var url = '/entity/' + value + '/';
|
|
var json = getJSON(url);
|
|
var url = '../../course-list/';
|
|
url = url + '?ue=' + json.code + '#ue-course';
|
|
$('#create-course .miller-columns').millercolumns('setItem', value)
|
|
$('#id_entity').trigger('change');
|
|
} else {
|
|
var url = '../../course-list/';
|
|
url = url + '?ue=';
|
|
}
|
|
|
|
$.get(url, function (data) {
|
|
var $content = $(data);
|
|
$('#ue-course-container').html($('#ue-course', $content));
|
|
var val = $('#id_document_copyrights-course_code').val();
|
|
$('.courses-selector').val(val);
|
|
$('.courses-selector').on('change', function (){
|
|
$('.courses-selector').not(this).val('');
|
|
$('#id_document_copyrights-course_code').val($(this).val());
|
|
$('#id_document_copyrights-course_name').val($('option:selected', this).text());
|
|
});
|
|
});
|
|
});
|
|
$('#create-course').on('shown', function () {
|
|
$('.miller-columns').millercolumns('refresh');
|
|
});
|
|
function toggle_mycourse_panel() {
|
|
var val = $('#id_document_copyrights-licence').val();
|
|
try {
|
|
val = parseInt(val);
|
|
} catch (err) {
|
|
val = -1;
|
|
}
|
|
if (licence_pks_with_mycourse_tag.indexOf(val) != -1) {
|
|
$('#mycourse-block').show('slow');
|
|
$('.miller-columns').millercolumns('refresh');
|
|
} else {
|
|
$('#mycourse-block').hide('slow');
|
|
}
|
|
}
|
|
function update_course_name() {
|
|
var entity_id = $('#id_entity').val();
|
|
var td_group = $('#id_td_group').val();
|
|
var $name = $('#id_course_label');
|
|
var delegate = $('#create-course .miller-columns').millercolumns('delegate');
|
|
var item = delegate.cache[entity_id];
|
|
var ue = item;
|
|
var $msg = $('#create-course .future-name');
|
|
while (item && item.type != 'version diplome') {
|
|
item = delegate.cache[item.parent_id];
|
|
}
|
|
var diploma = item;
|
|
if (item == undefined) {
|
|
$name.addClass('alert');
|
|
$name.text("La sélection n'est pas une unité d'enseignement.");
|
|
} else {
|
|
var sponsor_name = '{{ object.sponsor_name }}';
|
|
var scholar_year = '{{ course_year }}';
|
|
var diploma_name = diploma.name;
|
|
var group = '';
|
|
var year = '';
|
|
if (td_group) {
|
|
group = '_Gr' + td_group;
|
|
}
|
|
if (scholar_year.indexOf('-') != -1) {
|
|
year = scholar_year.substr(0, scholar_year.indexOf('-'));
|
|
} else {
|
|
year = scholar_year;
|
|
}
|
|
var course_code = ue.code.toUpperCase() + '_' + year + group;
|
|
var course_name = diploma.name.toUpperCase() + '_' + scholar_year + '_' +
|
|
ue.description + group + '_' + sponsor_name;
|
|
|
|
$name.removeClass('alert');
|
|
content = "<span><label>Code</label>"+course_code+"</span>";
|
|
content += "<span><label>Nom</label>"+course_name+"</span>";
|
|
$name.html(content);
|
|
}
|
|
}
|
|
$('#id_document_copyrights-licence').on('change', function () {
|
|
toggle_mycourse_panel();
|
|
});
|
|
toggle_mycourse_panel();
|
|
function update_course() {
|
|
var val = $('#id_document_copyrights-course_code').val();
|
|
$('.courses-selector').val(val);
|
|
};
|
|
function install_form() {
|
|
$('#id_entity').on('change', update_course_name);
|
|
$('#id_td_group').on('keyup', update_course_name);
|
|
$('#id_subscription_policy').on('change', function() {
|
|
if ($(this).val() == 'password') {
|
|
$('#div_id_password').parent().show();
|
|
} else {
|
|
$('#div_id_password').parent().hide();
|
|
}
|
|
});
|
|
$('#create-course form').ajaxForm({
|
|
dataType: 'json',
|
|
success: function (content, statusText, xhr, form) {
|
|
if (content.success) {
|
|
alert('Cours ' + content.course_code + ' créé.');
|
|
$('#create-course').modal('hide');
|
|
$('#div_id_document_copyrights-ue .miller-columns').millercolumns(
|
|
'setItem', ''+content.entity_pk);
|
|
$('#id_document_copyrights-course_code').val(content.course_code);
|
|
$('#id_document_copyrights-course_name').val(content.description);
|
|
$('#id_document_copyrights-ue').trigger('change');
|
|
} else {
|
|
var newform = $(content.html);
|
|
$('#create-course form').replaceWith($('form', newform));
|
|
window.install_django_miller_columns();
|
|
install_form();
|
|
}
|
|
}
|
|
});
|
|
update_course_name();
|
|
}
|
|
install_form();
|
|
update_course();
|
|
})
|
|
})(window.jQuery)
|
|
</script>
|
|
{% endaddtoblock %}
|
|
{% endblock %}
|