forked from ScoDoc/ScoDoc
urls in javascripts
This commit is contained in:
parent
70eab84330
commit
f177e777a9
@ -28,7 +28,7 @@ function ajaxFunction(mod, etudid, dat) {
|
|||||||
document.getElementById("AjaxDiv").innerHTML = ajaxRequest.responseText;
|
document.getElementById("AjaxDiv").innerHTML = ajaxRequest.responseText;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ajaxRequest.open("POST", "doSignaleAbsenceGrSemestre", true);
|
ajaxRequest.open("POST", SCO_URL + "Absences/doSignaleAbsenceGrSemestre", true);
|
||||||
ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||||
var oSelectOne = $("#abs_form")[0].elements["moduleimpl_id"];
|
var oSelectOne = $("#abs_form")[0].elements["moduleimpl_id"];
|
||||||
var index = oSelectOne.selectedIndex;
|
var index = oSelectOne.selectedIndex;
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
|
|
||||||
|
|
||||||
function _partition_set_attr(partition_id, attr_name, attr_value) {
|
function _partition_set_attr(partition_id, attr_name, attr_value) {
|
||||||
$.post('partition_set_attr',
|
$.post(SCO_URL + '/partition_set_attr',
|
||||||
{ 'partition_id' : partition_id,
|
{
|
||||||
'attr' : attr_name,
|
'partition_id': partition_id,
|
||||||
'value' : attr_value
|
'attr': attr_name,
|
||||||
},
|
'value': attr_value
|
||||||
function(result) {
|
},
|
||||||
sco_message(result);
|
function (result) {
|
||||||
});
|
sco_message(result);
|
||||||
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -17,9 +18,9 @@ function update_rk(e) {
|
|||||||
var partition_id = $(e).attr('data-partition_id');
|
var partition_id = $(e).attr('data-partition_id');
|
||||||
var v;
|
var v;
|
||||||
if (e.checked)
|
if (e.checked)
|
||||||
v='1';
|
v = '1';
|
||||||
else
|
else
|
||||||
v='0';
|
v = '0';
|
||||||
_partition_set_attr(partition_id, 'bul_show_rank', v);
|
_partition_set_attr(partition_id, 'bul_show_rank', v);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -28,9 +29,9 @@ function update_show_in_list(e) {
|
|||||||
var partition_id = $(e).attr('data-partition_id');
|
var partition_id = $(e).attr('data-partition_id');
|
||||||
var v;
|
var v;
|
||||||
if (e.checked)
|
if (e.checked)
|
||||||
v='1';
|
v = '1';
|
||||||
else
|
else
|
||||||
v='0';
|
v = '0';
|
||||||
|
|
||||||
_partition_set_attr(partition_id, 'show_in_lists', v);
|
_partition_set_attr(partition_id, 'show_in_lists', v);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Affiche et met a jour la liste des UE partageant le meme code
|
// Affiche et met a jour la liste des UE partageant le meme code
|
||||||
|
|
||||||
$().ready(function(){
|
$().ready(function () {
|
||||||
update_ue_list();
|
update_ue_list();
|
||||||
$("#tf_ue_code").bind("keyup", update_ue_list);
|
$("#tf_ue_code").bind("keyup", update_ue_list);
|
||||||
});
|
});
|
||||||
@ -9,8 +9,8 @@ $().ready(function(){
|
|||||||
function update_ue_list() {
|
function update_ue_list() {
|
||||||
var ue_id = $("#tf_ue_id")[0].value;
|
var ue_id = $("#tf_ue_id")[0].value;
|
||||||
var ue_code = $("#tf_ue_code")[0].value;
|
var ue_code = $("#tf_ue_code")[0].value;
|
||||||
var query = "ue_sharing_code?ue_code=" + ue_code +"&hide_ue_id=" + ue_id + "&ue_id=" + ue_id;
|
var query = SCO_URL + "/Notes/ue_sharing_code?ue_code=" + ue_code + "&hide_ue_id=" + ue_id + "&ue_id=" + ue_id;
|
||||||
$.get( query, '', function(data){
|
$.get(query, '', function (data) {
|
||||||
$("#ue_list_code").html(data);
|
$("#ue_list_code").html(data);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
// console.log('etud_debouche.js loaded');
|
// console.log('etud_debouche.js loaded');
|
||||||
|
|
||||||
$(function() {
|
$(function () {
|
||||||
display_itemsuivis(false);
|
display_itemsuivis(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -13,52 +13,52 @@ function display_itemsuivis(active) {
|
|||||||
var readonly = $('div#fichedebouche').data('readonly'); // present ro interface
|
var readonly = $('div#fichedebouche').data('readonly'); // present ro interface
|
||||||
|
|
||||||
if (!readonly) {
|
if (!readonly) {
|
||||||
$('#adddebouchelink').off("click").click(function(e){
|
$('#adddebouchelink').off("click").click(function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$.post( "itemsuivi_create", { etudid: etudid, format:'json' } ).done( item_insert_new );
|
$.post(SCO_URL + "itemsuivi_create", { etudid: etudid, format: 'json' }).done(item_insert_new);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// add existing items
|
// add existing items
|
||||||
$.get( 'itemsuivi_list_etud', { etudid: etudid, format: 'json' }, function(L) {
|
$.get(SCO_URL + "/itemsuivi_list_etud", { etudid: etudid, format: 'json' }, function (L) {
|
||||||
for (var i in L) {
|
for (var i in L) {
|
||||||
item_insert( L[i]['itemsuivi_id'], L[i]['item_date'], L[i]['situation'], L[i]['tags'], readonly );
|
item_insert(L[i]['itemsuivi_id'], L[i]['item_date'], L[i]['situation'], L[i]['tags'], readonly);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$( "div#fichedebouche" ).accordion( {
|
$("div#fichedebouche").accordion({
|
||||||
heightStyle: "content",
|
heightStyle: "content",
|
||||||
collapsible: true,
|
collapsible: true,
|
||||||
active: active,
|
active: active,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function item_insert_new( it ) {
|
function item_insert_new(it) {
|
||||||
item_insert( it.itemsuivi_id, it.item_date, it.situation, '', false );
|
item_insert(it.itemsuivi_id, it.item_date, it.situation, '', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
function item_insert( itemsuivi_id, item_date, situation, tags, readonly ) {
|
function item_insert(itemsuivi_id, item_date, situation, tags, readonly) {
|
||||||
if ( item_date === undefined )
|
if (item_date === undefined)
|
||||||
item_date = Date2DMY(new Date());
|
item_date = Date2DMY(new Date());
|
||||||
if ( situation === undefined )
|
if (situation === undefined)
|
||||||
situation = '';
|
situation = '';
|
||||||
if ( tags === undefined )
|
if (tags === undefined)
|
||||||
tags = '';
|
tags = '';
|
||||||
|
|
||||||
var nodes = item_nodes(itemsuivi_id, item_date, situation, tags, readonly);
|
var nodes = item_nodes(itemsuivi_id, item_date, situation, tags, readonly);
|
||||||
// insert just before last li:
|
// insert just before last li:
|
||||||
if ($('ul.listdebouches li.adddebouche').length > 0) {
|
if ($('ul.listdebouches li.adddebouche').length > 0) {
|
||||||
$('ul.listdebouches').children(':last').before(nodes);
|
$('ul.listdebouches').children(':last').before(nodes);
|
||||||
} else {
|
} else {
|
||||||
// mode readonly, pas de li "ajouter"
|
// mode readonly, pas de li "ajouter"
|
||||||
$('ul.listdebouches').append(nodes);
|
$('ul.listdebouches').append(nodes);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
function item_nodes(itemsuivi_id, item_date, situation, tags, readonly) {
|
function item_nodes(itemsuivi_id, item_date, situation, tags, readonly) {
|
||||||
// console.log('item_nodes: itemsuivi_id=' + itemsuivi_id);
|
// console.log('item_nodes: itemsuivi_id=' + itemsuivi_id);
|
||||||
var sel_mois = 'Situation à la date du <input type="text" class="itemsuividatepicker" size="10" value="' + item_date + '"/><span class="itemsuivi_suppress" onclick="itemsuivi_suppress(\''+itemsuivi_id+'\')"><img width="10" height="9" border="0" title="" alt="supprimer cet item" src="/ScoDoc/static/icons/delete_small_img.png"/></span>';
|
var sel_mois = 'Situation à la date du <input type="text" class="itemsuividatepicker" size="10" value="' + item_date + '"/><span class="itemsuivi_suppress" onclick="itemsuivi_suppress(\'' + itemsuivi_id + '\')"><img width="10" height="9" border="0" title="" alt="supprimer cet item" src="/ScoDoc/static/icons/delete_small_img.png"/></span>';
|
||||||
|
|
||||||
var h = sel_mois;
|
var h = sel_mois;
|
||||||
// situation
|
// situation
|
||||||
@ -66,72 +66,72 @@ function item_nodes(itemsuivi_id, item_date, situation, tags, readonly) {
|
|||||||
// tags:
|
// tags:
|
||||||
h += '<div class="itemsuivi_tag_edit"><textarea class="itemsuivi_tag_editor">' + tags + '</textarea></div>';
|
h += '<div class="itemsuivi_tag_edit"><textarea class="itemsuivi_tag_editor">' + tags + '</textarea></div>';
|
||||||
|
|
||||||
var nodes = $($.parseHTML( '<li class="itemsuivi">' + h + '</li>' ));
|
var nodes = $($.parseHTML('<li class="itemsuivi">' + h + '</li>'));
|
||||||
var dp = nodes.find('.itemsuividatepicker');
|
var dp = nodes.find('.itemsuividatepicker');
|
||||||
dp.blur( function(e) {
|
dp.blur(function (e) {
|
||||||
var date = this.value;
|
var date = this.value;
|
||||||
// console.log('selected text: ' + date);
|
// console.log('selected text: ' + date);
|
||||||
$.post( "itemsuivi_set_date", { item_date: date, itemsuivi_id: itemsuivi_id } );
|
$.post(SCO_URL + "/itemsuivi_set_date", { item_date: date, itemsuivi_id: itemsuivi_id });
|
||||||
});
|
});
|
||||||
dp.datepicker({
|
dp.datepicker({
|
||||||
onSelect: function(date, instance) {
|
onSelect: function (date, instance) {
|
||||||
// console.log('selected: ' + date + 'for itemsuivi_id ' + itemsuivi_id);
|
// console.log('selected: ' + date + 'for itemsuivi_id ' + itemsuivi_id);
|
||||||
$.post( "itemsuivi_set_date", { item_date: date, itemsuivi_id: itemsuivi_id } );
|
$.post(SCO_URL + "/itemsuivi_set_date", { item_date: date, itemsuivi_id: itemsuivi_id });
|
||||||
},
|
},
|
||||||
showOn: 'button',
|
showOn: 'button',
|
||||||
buttonImage: '/ScoDoc/static/icons/calendar_img.png',
|
buttonImage: '/ScoDoc/static/icons/calendar_img.png',
|
||||||
buttonImageOnly: true,
|
buttonImageOnly: true,
|
||||||
dateFormat: 'dd/mm/yy',
|
dateFormat: 'dd/mm/yy',
|
||||||
duration : 'fast',
|
duration: 'fast',
|
||||||
disabled: readonly
|
disabled: readonly
|
||||||
});
|
});
|
||||||
dp.datepicker('option', $.extend({showMonthAfterYear: false},
|
dp.datepicker('option', $.extend({ showMonthAfterYear: false },
|
||||||
$.datepicker.regional['fr']));
|
$.datepicker.regional['fr']));
|
||||||
|
|
||||||
if (readonly) {
|
if (readonly) {
|
||||||
// show tags read-only
|
// show tags read-only
|
||||||
readOnlyTags(nodes.find('.itemsuivi_tag_editor'));
|
readOnlyTags(nodes.find('.itemsuivi_tag_editor'));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// bind tag editor
|
// bind tag editor
|
||||||
nodes.find('.itemsuivi_tag_editor').tagEditor({
|
nodes.find('.itemsuivi_tag_editor').tagEditor({
|
||||||
initialTags: '',
|
initialTags: '',
|
||||||
placeholder: 'Tags...',
|
placeholder: 'Tags...',
|
||||||
onChange: function(field, editor, tags) {
|
onChange: function (field, editor, tags) {
|
||||||
$.post('itemsuivi_tag_set',
|
$.post('itemsuivi_tag_set',
|
||||||
{
|
{
|
||||||
itemsuivi_id: itemsuivi_id,
|
itemsuivi_id: itemsuivi_id,
|
||||||
taglist: tags.join()
|
taglist: tags.join()
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
autocomplete: {
|
autocomplete: {
|
||||||
delay: 200, // ms before suggest
|
delay: 200, // ms before suggest
|
||||||
position: { collision: 'flip' }, // automatic menu position up/down
|
position: { collision: 'flip' }, // automatic menu position up/down
|
||||||
source: "itemsuivi_tag_search"
|
source: "itemsuivi_tag_search"
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
// bind inplace editor
|
// bind inplace editor
|
||||||
nodes.find('div.itemsituation').jinplace();
|
nodes.find('div.itemsituation').jinplace();
|
||||||
}
|
}
|
||||||
|
|
||||||
return nodes;
|
return nodes;
|
||||||
};
|
};
|
||||||
|
|
||||||
function Date2DMY(date) {
|
function Date2DMY(date) {
|
||||||
var year = date.getFullYear();
|
var year = date.getFullYear();
|
||||||
|
|
||||||
var month = (1 + date.getMonth()).toString();
|
var month = (1 + date.getMonth()).toString();
|
||||||
month = month.length > 1 ? month : '0' + month;
|
month = month.length > 1 ? month : '0' + month;
|
||||||
|
|
||||||
var day = date.getDate().toString();
|
var day = date.getDate().toString();
|
||||||
day = day.length > 1 ? day : '0' + day;
|
day = day.length > 1 ? day : '0' + day;
|
||||||
|
|
||||||
return day + '/' + month + '/' + year;
|
return day + '/' + month + '/' + year;
|
||||||
}
|
}
|
||||||
|
|
||||||
function itemsuivi_suppress(itemsuivi_id) {
|
function itemsuivi_suppress(itemsuivi_id) {
|
||||||
$.post( "itemsuivi_suppress", { itemsuivi_id: itemsuivi_id } );
|
$.post(SCO_URL + "/itemsuivi_suppress", { itemsuivi_id: itemsuivi_id });
|
||||||
// Clear items and rebuild:
|
// Clear items and rebuild:
|
||||||
$("ul.listdebouches li.itemsuivi").remove();
|
$("ul.listdebouches li.itemsuivi").remove();
|
||||||
display_itemsuivis(0);
|
display_itemsuivis(0);
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
|
|
||||||
/* --- Globals ---- */
|
/* --- Globals ---- */
|
||||||
var EtudColors = [ "#E8EEF7", "#ffffff" ]; // [ "#E8EEF7", "#E0ECFF", "#E5E6BE", "#F3EAE2", "#E3EAE1" ];
|
var EtudColors = ["#E8EEF7", "#ffffff"]; // [ "#E8EEF7", "#E0ECFF", "#E5E6BE", "#F3EAE2", "#E3EAE1" ];
|
||||||
var EtudColorsIdx = 0;
|
var EtudColorsIdx = 0;
|
||||||
var NbEtuds = 0;
|
var NbEtuds = 0;
|
||||||
var ETUDS = new Object(); // { etudid : etud }
|
var ETUDS = new Object(); // { etudid : etud }
|
||||||
@ -19,46 +19,46 @@ function loadGroupes() {
|
|||||||
$("#gmsg")[0].innerHTML = 'Chargement des groupes en cours...';
|
$("#gmsg")[0].innerHTML = 'Chargement des groupes en cours...';
|
||||||
var partition_id = document.formGroup.partition_id.value;
|
var partition_id = document.formGroup.partition_id.value;
|
||||||
|
|
||||||
$.get('XMLgetGroupsInPartition', { partition_id : partition_id } )
|
$.get(SCO_URL + 'XMLgetGroupsInPartition', { partition_id: partition_id })
|
||||||
.done(
|
.done(
|
||||||
function( data ) {
|
function (data) {
|
||||||
var nodes = data.getElementsByTagName('group');
|
var nodes = data.getElementsByTagName('group');
|
||||||
if (nodes) {
|
if (nodes) {
|
||||||
var nbgroups = nodes.length;
|
var nbgroups = nodes.length;
|
||||||
// put last group at first (etudiants sans groupes)
|
// put last group at first (etudiants sans groupes)
|
||||||
if (nodes.length > 1 && nodes[nbgroups-1].attributes.getNamedItem("group_id").value == '_none_') {
|
if (nodes.length > 1 && nodes[nbgroups - 1].attributes.getNamedItem("group_id").value == '_none_') {
|
||||||
populateGroup(nodes[nodes.length-1]);
|
populateGroup(nodes[nodes.length - 1]);
|
||||||
nbgroups -= 1;
|
nbgroups -= 1;
|
||||||
}
|
}
|
||||||
// then standard groups
|
// then standard groups
|
||||||
for (var i=0; i < nbgroups; i++) {
|
for (var i = 0; i < nbgroups; i++) {
|
||||||
populateGroup(nodes[i]);
|
populateGroup(nodes[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$("#gmsg")[0].innerHTML = '';
|
$("#gmsg")[0].innerHTML = '';
|
||||||
updateginfo();
|
updateginfo();
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
function populateGroup( node ) {
|
function populateGroup(node) {
|
||||||
var group_id = node.attributes.getNamedItem("group_id").value;
|
var group_id = node.attributes.getNamedItem("group_id").value;
|
||||||
var group_name = node.attributes.getNamedItem("group_name").value;
|
var group_name = node.attributes.getNamedItem("group_name").value;
|
||||||
|
|
||||||
// CREE LA BOITE POUR CE GROUPE
|
// CREE LA BOITE POUR CE GROUPE
|
||||||
if (group_id) {
|
if (group_id) {
|
||||||
var gbox = new CGroupBox( group_id, group_name );
|
var gbox = new CGroupBox(group_id, group_name);
|
||||||
var etuds = node.getElementsByTagName('etud');
|
var etuds = node.getElementsByTagName('etud');
|
||||||
var x='';
|
var x = '';
|
||||||
gbox.sorting = false; // disable to speedup
|
gbox.sorting = false; // disable to speedup
|
||||||
EtudColorsIdx = 0; // repart de la premiere couleur
|
EtudColorsIdx = 0; // repart de la premiere couleur
|
||||||
for (var j=0; j < etuds.length; j++) {
|
for (var j = 0; j < etuds.length; j++) {
|
||||||
var nom = etuds[j].attributes.getNamedItem("nom").value;
|
var nom = etuds[j].attributes.getNamedItem("nom").value;
|
||||||
var prenom = etuds[j].attributes.getNamedItem("prenom").value;
|
var prenom = etuds[j].attributes.getNamedItem("prenom").value;
|
||||||
var sexe = etuds[j].attributes.getNamedItem("sexe").value;
|
var sexe = etuds[j].attributes.getNamedItem("sexe").value;
|
||||||
var etudid = etuds[j].attributes.getNamedItem("etudid").value;
|
var etudid = etuds[j].attributes.getNamedItem("etudid").value;
|
||||||
var origin = etuds[j].attributes.getNamedItem("origin").value;
|
var origin = etuds[j].attributes.getNamedItem("origin").value;
|
||||||
var etud = new CDraggableEtud( nom, prenom, sexe, origin, etudid );
|
var etud = new CDraggableEtud(nom, prenom, sexe, origin, etudid);
|
||||||
gbox.createEtudInGroup(etud, group_id);
|
gbox.createEtudInGroup(etud, group_id);
|
||||||
}
|
}
|
||||||
gbox.sorting = true;
|
gbox.sorting = true;
|
||||||
@ -72,14 +72,14 @@ function populateGroup( node ) {
|
|||||||
var groupBoxes = new Object(); // assoc group_id : groupBox
|
var groupBoxes = new Object(); // assoc group_id : groupBox
|
||||||
var groupsToDelete = new Object(); // list of group_id to be supressed
|
var groupsToDelete = new Object(); // list of group_id to be supressed
|
||||||
|
|
||||||
var CGroupBox = function(group_id, group_name) {
|
var CGroupBox = function (group_id, group_name) {
|
||||||
group_id = $.trim(group_id);
|
group_id = $.trim(group_id);
|
||||||
var regex = /^\w+$/;
|
var regex = /^\w+$/;
|
||||||
if (! regex.test(group_id) ) {
|
if (!regex.test(group_id)) {
|
||||||
alert("Id de groupe invalide");
|
alert("Id de groupe invalide");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ( group_id in groups ) {
|
if (group_id in groups) {
|
||||||
alert("Le groupe " + group_id + " existe déjà !");
|
alert("Le groupe " + group_id + " existe déjà !");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -103,9 +103,9 @@ var CGroupBox = function(group_id, group_name) {
|
|||||||
this.updateTitle();
|
this.updateTitle();
|
||||||
$(this.groupBox).droppable(
|
$(this.groupBox).droppable(
|
||||||
{
|
{
|
||||||
accept : ".box",
|
accept: ".box",
|
||||||
activeClass: "activatedPanel",
|
activeClass: "activatedPanel",
|
||||||
drop: function( event, ui ) {
|
drop: function (event, ui) {
|
||||||
// alert("drop on " + this.group_name);
|
// alert("drop on " + this.group_name);
|
||||||
var etudid = ui.draggable[0].id;
|
var etudid = ui.draggable[0].id;
|
||||||
var etud = ETUDS[etudid];
|
var etud = ETUDS[etudid];
|
||||||
@ -119,7 +119,7 @@ var CGroupBox = function(group_id, group_name) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
/* On peut s'amuser a deplacer tout un groupe (visuellement: pas droppable) */
|
/* On peut s'amuser a deplacer tout un groupe (visuellement: pas droppable) */
|
||||||
$(this.groupBox).draggable( {
|
$(this.groupBox).draggable({
|
||||||
cursor: 'move',
|
cursor: 'move',
|
||||||
containment: '#groups'
|
containment: '#groups'
|
||||||
});
|
});
|
||||||
@ -130,25 +130,25 @@ var CGroupBox = function(group_id, group_name) {
|
|||||||
|
|
||||||
$.extend(CGroupBox.prototype, {
|
$.extend(CGroupBox.prototype, {
|
||||||
// menu for group title
|
// menu for group title
|
||||||
groupTitle : function() {
|
groupTitle: function () {
|
||||||
var menuSpan = document.createElement("span");
|
var menuSpan = document.createElement("span");
|
||||||
menuSpan.className = "barrenav";
|
menuSpan.className = "barrenav";
|
||||||
var h = "<table><tr><td><ul class=\"nav\"><li onmouseover=\"MenuDisplay(this)\" onmouseout=\"MenuHide(this)\"><a href=\"#\" class=\"menu custommenu\"><span id=\"titleSpan" + this.group_id + "\" class=\"groupTitle\">menu</span></a><ul>";
|
var h = "<table><tr><td><ul class=\"nav\"><li onmouseover=\"MenuDisplay(this)\" onmouseout=\"MenuHide(this)\"><a href=\"#\" class=\"menu custommenu\"><span id=\"titleSpan" + this.group_id + "\" class=\"groupTitle\">menu</span></a><ul>";
|
||||||
if (this.group_id != '_none_') {
|
if (this.group_id != '_none_') {
|
||||||
h += "<li><a href=\"#\" onClick=\"suppressGroup('" + this.group_id + "');\">Supprimer</a></li>";
|
h += "<li><a href=\"#\" onClick=\"suppressGroup('" + this.group_id + "');\">Supprimer</a></li>";
|
||||||
h += "<li><a href=\"#\" onClick=\"renameGroup('" + this.group_id + "');\">Renommer</a></li>";
|
h += "<li><a href=\"#\" onClick=\"renameGroup('" + this.group_id + "');\">Renommer</a></li>";
|
||||||
}
|
}
|
||||||
h += "</ul></li></ul></td></tr></table>";
|
h += "</ul></li></ul></td></tr></table>";
|
||||||
menuSpan.innerHTML = h;
|
menuSpan.innerHTML = h;
|
||||||
return menuSpan;
|
return menuSpan;
|
||||||
},
|
},
|
||||||
// add etud to group, attach to DOM
|
// add etud to group, attach to DOM
|
||||||
createEtudInGroup: function(etud) {
|
createEtudInGroup: function (etud) {
|
||||||
this.addEtudToGroup(etud);
|
this.addEtudToGroup(etud);
|
||||||
this.groupBox.appendChild(etud.htmlElement);
|
this.groupBox.appendChild(etud.htmlElement);
|
||||||
},
|
},
|
||||||
// add existing etud to group (does not affect DOM)
|
// add existing etud to group (does not affect DOM)
|
||||||
addEtudToGroup: function(etud) {
|
addEtudToGroup: function (etud) {
|
||||||
etud.group_id = this.group_id;
|
etud.group_id = this.group_id;
|
||||||
this.etuds[etud.etudid] = etud;
|
this.etuds[etud.etudid] = etud;
|
||||||
this.nbetuds++;
|
this.nbetuds++;
|
||||||
@ -156,33 +156,33 @@ $.extend(CGroupBox.prototype, {
|
|||||||
this.updateTitle();
|
this.updateTitle();
|
||||||
},
|
},
|
||||||
// remove etud
|
// remove etud
|
||||||
removeEtud: function(etud) {
|
removeEtud: function (etud) {
|
||||||
delete this.etuds[etud.etudid];
|
delete this.etuds[etud.etudid];
|
||||||
this.nbetuds--;
|
this.nbetuds--;
|
||||||
this.updateTitle();
|
this.updateTitle();
|
||||||
},
|
},
|
||||||
// Update counter display
|
// Update counter display
|
||||||
updateTitle: function() {
|
updateTitle: function () {
|
||||||
var tclass = '';
|
var tclass = '';
|
||||||
if (this.isNew) {
|
if (this.isNew) {
|
||||||
tclass = ' class="newgroup"'
|
tclass = ' class="newgroup"'
|
||||||
}
|
}
|
||||||
var titleSpan = document.getElementById('titleSpan'+this.group_id);
|
var titleSpan = document.getElementById('titleSpan' + this.group_id);
|
||||||
if (this.group_id != '_none_')
|
if (this.group_id != '_none_')
|
||||||
titleSpan.innerHTML = '<span'+tclass+'>Groupe ' + this.group_name + ' (' + this.nbetuds + ')</span>';
|
titleSpan.innerHTML = '<span' + tclass + '>Groupe ' + this.group_name + ' (' + this.nbetuds + ')</span>';
|
||||||
else
|
else
|
||||||
titleSpan.innerHTML = '<span'+tclass+'>Etudiants sans groupe' + ' (' + this.nbetuds + ')</span>';
|
titleSpan.innerHTML = '<span' + tclass + '>Etudiants sans groupe' + ' (' + this.nbetuds + ')</span>';
|
||||||
this.sortList(); // maintient toujours la liste triee
|
this.sortList(); // maintient toujours la liste triee
|
||||||
},
|
},
|
||||||
// Tri de la boite par nom
|
// Tri de la boite par nom
|
||||||
sortList: function() {
|
sortList: function () {
|
||||||
if (!this.sorting)
|
if (!this.sorting)
|
||||||
return;
|
return;
|
||||||
var newRows = new Array();
|
var newRows = new Array();
|
||||||
for (var i=1; i < this.groupBox.childNodes.length; i++) { // 1 car div titre
|
for (var i = 1; i < this.groupBox.childNodes.length; i++) { // 1 car div titre
|
||||||
newRows[i-1] = this.groupBox.childNodes[i];
|
newRows[i - 1] = this.groupBox.childNodes[i];
|
||||||
}
|
}
|
||||||
var sortfn = function(a,b) {
|
var sortfn = function (a, b) {
|
||||||
// recupere les noms qui sont dans un span
|
// recupere les noms qui sont dans un span
|
||||||
var nom_a = a.childNodes[1].childNodes[0].nodeValue;
|
var nom_a = a.childNodes[1].childNodes[0].nodeValue;
|
||||||
var nom_b = b.childNodes[1].childNodes[0].nodeValue;
|
var nom_b = b.childNodes[1].childNodes[0].nodeValue;
|
||||||
@ -194,7 +194,7 @@ $.extend(CGroupBox.prototype, {
|
|||||||
return 1;
|
return 1;
|
||||||
};
|
};
|
||||||
newRows.sort(sortfn);
|
newRows.sort(sortfn);
|
||||||
for (var i=0;i<newRows.length;i++) {
|
for (var i = 0; i < newRows.length; i++) {
|
||||||
this.groupBox.appendChild(newRows[i]);
|
this.groupBox.appendChild(newRows[i]);
|
||||||
newRows[i].style.backgroundColor = EtudColors[EtudColorsIdx];
|
newRows[i].style.backgroundColor = EtudColors[EtudColorsIdx];
|
||||||
EtudColorsIdx = (EtudColorsIdx + 1) % EtudColors.length;
|
EtudColorsIdx = (EtudColorsIdx + 1) % EtudColors.length;
|
||||||
@ -203,11 +203,11 @@ $.extend(CGroupBox.prototype, {
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
function suppressGroup( group_id ) {
|
function suppressGroup(group_id) {
|
||||||
// 1- associate all members to group _none_
|
// 1- associate all members to group _none_
|
||||||
if (!groupBoxes['_none_']) {
|
if (!groupBoxes['_none_']) {
|
||||||
// create group _none_
|
// create group _none_
|
||||||
var gbox = new CGroupBox( '_none_', 'Etudiants sans groupe' );
|
var gbox = new CGroupBox('_none_', 'Etudiants sans groupe');
|
||||||
}
|
}
|
||||||
var dst_group_id = groupBoxes['_none_'].group_id;
|
var dst_group_id = groupBoxes['_none_'].group_id;
|
||||||
var src_box_etuds = groupBoxes[group_id].etuds;
|
var src_box_etuds = groupBoxes[group_id].etuds;
|
||||||
@ -229,13 +229,13 @@ function suppressGroup( group_id ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function renameGroup( group_id ) {
|
function renameGroup(group_id) {
|
||||||
// 1-- save modifications
|
// 1-- save modifications
|
||||||
if (groups_unsaved) {
|
if (groups_unsaved) {
|
||||||
alert("Enregistrez ou annulez vos changement avant !");
|
alert("Enregistrez ou annulez vos changement avant !");
|
||||||
} else {
|
} else {
|
||||||
// 2- form rename
|
// 2- form rename
|
||||||
document.location='group_rename?group_id=' + group_id;
|
document.location = 'group_rename?group_id=' + group_id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -260,23 +260,23 @@ function createGroup() {
|
|||||||
for (var group_id in groupBoxes) {
|
for (var group_id in groupBoxes) {
|
||||||
if (group_id != 'extend') {
|
if (group_id != 'extend') {
|
||||||
if (groupBoxes[group_id].group_name == group_name) {
|
if (groupBoxes[group_id].group_name == group_name) {
|
||||||
alert("Nom de groupe déja existant !");
|
alert("Nom de groupe déja existant !");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var group_id = newGroupId();
|
var group_id = newGroupId();
|
||||||
groups_unsaved = true;
|
groups_unsaved = true;
|
||||||
var gbox = new CGroupBox( group_id, group_name );
|
var gbox = new CGroupBox(group_id, group_name);
|
||||||
gbox.isNew = true;
|
gbox.isNew = true;
|
||||||
gbox.updateTitle();
|
gbox.updateTitle();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --- Etudiant draggable --- */
|
/* --- Etudiant draggable --- */
|
||||||
var CDraggableEtud = function(nom, prenom, sexe, origin, etudid) {
|
var CDraggableEtud = function (nom, prenom, sexe, origin, etudid) {
|
||||||
this.type = 'Custom';
|
this.type = 'Custom';
|
||||||
this.name = etudid;
|
this.name = etudid;
|
||||||
this.etudid = etudid;
|
this.etudid = etudid;
|
||||||
this.nom = nom;
|
this.nom = nom;
|
||||||
this.prenom = prenom;
|
this.prenom = prenom;
|
||||||
@ -284,14 +284,14 @@ var CDraggableEtud = function(nom, prenom, sexe, origin, etudid) {
|
|||||||
this.origin = origin;
|
this.origin = origin;
|
||||||
this.createNode();
|
this.createNode();
|
||||||
ETUDS[etudid] = this;
|
ETUDS[etudid] = this;
|
||||||
NbEtuds ++;
|
NbEtuds++;
|
||||||
}
|
}
|
||||||
|
|
||||||
$.extend(CDraggableEtud.prototype, {
|
$.extend(CDraggableEtud.prototype, {
|
||||||
repr: function() {
|
repr: function () {
|
||||||
return this.sexe + ' ' + this.prenom + ' <span class="nom">' + this.nom + '</span> ' + '<b>'+this.origin+'</b>';
|
return this.sexe + ' ' + this.prenom + ' <span class="nom">' + this.nom + '</span> ' + '<b>' + this.origin + '</b>';
|
||||||
},
|
},
|
||||||
createNode: function() {
|
createNode: function () {
|
||||||
// Create DOM element for student
|
// Create DOM element for student
|
||||||
var e = document.createElement("div");
|
var e = document.createElement("div");
|
||||||
this.htmlElement = e;
|
this.htmlElement = e;
|
||||||
@ -303,35 +303,35 @@ $.extend(CDraggableEtud.prototype, {
|
|||||||
//e.appendChild(txtNode);
|
//e.appendChild(txtNode);
|
||||||
e.innerHTML = this.repr();
|
e.innerHTML = this.repr();
|
||||||
// declare as draggable
|
// declare as draggable
|
||||||
$(e).draggable( {
|
$(e).draggable({
|
||||||
cursor: 'move',
|
cursor: 'move',
|
||||||
stack: '#groups div',
|
stack: '#groups div',
|
||||||
containment: '#groups',
|
containment: '#groups',
|
||||||
revert: 'invalid'
|
revert: 'invalid'
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
endDrag: function() {
|
endDrag: function () {
|
||||||
var el = this.htmlElement;
|
var el = this.htmlElement;
|
||||||
var p = el.parentNode;
|
var p = el.parentNode;
|
||||||
// alert("endDrag: [" + this.name +"] " + p.id );
|
// alert("endDrag: [" + this.name +"] " + p.id );
|
||||||
this.changeGroup( this.group_id, p.id );
|
this.changeGroup(this.group_id, p.id);
|
||||||
this.htmlElement.style.fontStyle = 'italic'; // italic pour les etudiants deplaces
|
this.htmlElement.style.fontStyle = 'italic'; // italic pour les etudiants deplaces
|
||||||
},
|
},
|
||||||
// Move a student from a group to another
|
// Move a student from a group to another
|
||||||
changeGroup: function( oldGroupName, newGroupName ) {
|
changeGroup: function (oldGroupName, newGroupName) {
|
||||||
if (oldGroupName==newGroupName) {
|
if (oldGroupName == newGroupName) {
|
||||||
// drop on original group, just sort
|
// drop on original group, just sort
|
||||||
groupBoxes[oldGroupName].updateTitle();
|
groupBoxes[oldGroupName].updateTitle();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var oldGroupBox = null;
|
var oldGroupBox = null;
|
||||||
if (oldGroupName) {
|
if (oldGroupName) {
|
||||||
oldGroupBox = groupBoxes[oldGroupName];
|
oldGroupBox = groupBoxes[oldGroupName];
|
||||||
}
|
}
|
||||||
var newGroupBox = groupBoxes[newGroupName];
|
var newGroupBox = groupBoxes[newGroupName];
|
||||||
newGroupBox.addEtudToGroup(this);
|
newGroupBox.addEtudToGroup(this);
|
||||||
if (oldGroupBox)
|
if (oldGroupBox)
|
||||||
oldGroupBox.removeEtud(this);
|
oldGroupBox.removeEtud(this);
|
||||||
groups_unsaved = true;
|
groups_unsaved = true;
|
||||||
updatesavedinfo();
|
updatesavedinfo();
|
||||||
}
|
}
|
||||||
@ -343,36 +343,36 @@ function processResponse(value) {
|
|||||||
location.reload(); // necessaire pour reinitialiser les id des groupes créés
|
location.reload(); // necessaire pour reinitialiser les id des groupes créés
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleError( msg ) {
|
function handleError(msg) {
|
||||||
alert( 'Error: ' + msg );
|
alert('Error: ' + msg);
|
||||||
console.log( 'Error: ' + msg );
|
console.log('Error: ' + msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
function submitGroups() {
|
function submitGroups() {
|
||||||
var url = 'setGroups';
|
var url = SCO_URL + '/setGroups';
|
||||||
// build post request body: groupname \n etudid; ...
|
// build post request body: groupname \n etudid; ...
|
||||||
var groupsLists = '';
|
var groupsLists = '';
|
||||||
var groupsToCreate='';
|
var groupsToCreate = '';
|
||||||
for (var group_id in groupBoxes) {
|
for (var group_id in groupBoxes) {
|
||||||
if (group_id != 'extend') { // je ne sais pas ce dont il s'agit ???
|
if (group_id != 'extend') { // je ne sais pas ce dont il s'agit ???
|
||||||
if (group_id != '_none_') { // ne renvoie pas le groupe des sans-groupes
|
if (group_id != '_none_') { // ne renvoie pas le groupe des sans-groupes
|
||||||
groupBox = groupBoxes[group_id];
|
groupBox = groupBoxes[group_id];
|
||||||
if (groupBox.isNew) {
|
if (groupBox.isNew) {
|
||||||
groupsToCreate += groupBox.group_name + ';';
|
groupsToCreate += groupBox.group_name + ';';
|
||||||
for (var etudid in groupBox.etuds) {
|
for (var etudid in groupBox.etuds) {
|
||||||
if (etudid != 'extend')
|
if (etudid != 'extend')
|
||||||
groupsToCreate += etudid + ';';
|
groupsToCreate += etudid + ';';
|
||||||
}
|
}
|
||||||
groupsToCreate += '\n';
|
groupsToCreate += '\n';
|
||||||
groupBox.isNew = false; // is no more new !
|
groupBox.isNew = false; // is no more new !
|
||||||
} else {
|
} else {
|
||||||
groupsLists += group_id + ';';
|
groupsLists += group_id + ';';
|
||||||
for (var etudid in groupBox.etuds) {
|
for (var etudid in groupBox.etuds) {
|
||||||
if (etudid != 'extend')
|
if (etudid != 'extend')
|
||||||
groupsLists += etudid + ';';
|
groupsLists += etudid + ';';
|
||||||
}
|
}
|
||||||
groupsLists += '\n';
|
groupsLists += '\n';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -383,16 +383,16 @@ function submitGroups() {
|
|||||||
groupsToDelete = new Object(); // empty
|
groupsToDelete = new Object(); // empty
|
||||||
var partition_id = document.formGroup.partition_id.value;
|
var partition_id = document.formGroup.partition_id.value;
|
||||||
// Send to server
|
// Send to server
|
||||||
$.get( url, {
|
$.get(url, {
|
||||||
groupsLists : groupsLists, // encodeURIComponent
|
groupsLists: groupsLists, // encodeURIComponent
|
||||||
partition_id : partition_id,
|
partition_id: partition_id,
|
||||||
groupsToDelete : todel,
|
groupsToDelete: todel,
|
||||||
groupsToCreate : groupsToCreate
|
groupsToCreate: groupsToCreate
|
||||||
})
|
})
|
||||||
.done( function (data) {
|
.done(function (data) {
|
||||||
processResponse(data);
|
processResponse(data);
|
||||||
})
|
})
|
||||||
.fail(function() {
|
.fail(function () {
|
||||||
handleError("Erreur lors de l'enregistrement de groupes");
|
handleError("Erreur lors de l'enregistrement de groupes");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -402,7 +402,7 @@ function GotoAnother() {
|
|||||||
if (groups_unsaved) {
|
if (groups_unsaved) {
|
||||||
alert("Enregistrez ou annulez vos changement avant !");
|
alert("Enregistrez ou annulez vos changement avant !");
|
||||||
} else
|
} else
|
||||||
document.location='affectGroups?partition_id='+document.formGroup.other_partition_id.value;
|
document.location = SCO_URL + '/affectGroups?partition_id=' + document.formGroup.other_partition_id.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -411,7 +411,7 @@ function updateginfo() {
|
|||||||
var g = document.getElementById('ginfo');
|
var g = document.getElementById('ginfo');
|
||||||
var group_names = new Array();
|
var group_names = new Array();
|
||||||
for (var group_id in groupBoxes) {
|
for (var group_id in groupBoxes) {
|
||||||
if ((group_id != 'extend') && (groupBoxes[group_id].group_name)){
|
if ((group_id != 'extend') && (groupBoxes[group_id].group_name)) {
|
||||||
group_names.push(groupBoxes[group_id].group_name);
|
group_names.push(groupBoxes[group_id].group_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -426,16 +426,16 @@ function updatesavedinfo() {
|
|||||||
var g = document.getElementById('savedinfo');
|
var g = document.getElementById('savedinfo');
|
||||||
if (groups_unsaved) {
|
if (groups_unsaved) {
|
||||||
g.innerHTML = 'modifications non enregistrées';
|
g.innerHTML = 'modifications non enregistrées';
|
||||||
g.style.visibility='visible';
|
g.style.visibility = 'visible';
|
||||||
} else {
|
} else {
|
||||||
g.innerHTML = '';
|
g.innerHTML = '';
|
||||||
g.style.visibility='hidden';
|
g.style.visibility = 'hidden';
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$(function() {
|
$(function () {
|
||||||
loadGroupes();
|
loadGroupes();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
//
|
//
|
||||||
// Ce code utilise d3.js
|
// Ce code utilise d3.js
|
||||||
|
|
||||||
$().ready(function(){
|
$().ready(function () {
|
||||||
var etudid = $("#etudid")[0].value;
|
var etudid = $("#etudid")[0].value;
|
||||||
var formsemestre_id = $("#formsemestre_id")[0].value;
|
var formsemestre_id = $("#formsemestre_id")[0].value;
|
||||||
get_notes_and_draw(formsemestre_id, etudid);
|
get_notes_and_draw(formsemestre_id, etudid);
|
||||||
@ -14,12 +14,12 @@ $().ready(function(){
|
|||||||
|
|
||||||
var WIDTH = 460; // taille du canvas SVG
|
var WIDTH = 460; // taille du canvas SVG
|
||||||
var HEIGHT = WIDTH;
|
var HEIGHT = WIDTH;
|
||||||
var CX = WIDTH/2; // coordonnees centre du cercle
|
var CX = WIDTH / 2; // coordonnees centre du cercle
|
||||||
var CY = HEIGHT/2;
|
var CY = HEIGHT / 2;
|
||||||
var RR = 0.4*WIDTH; // Rayon du cercle exterieur
|
var RR = 0.4 * WIDTH; // Rayon du cercle exterieur
|
||||||
|
|
||||||
/* Emplacements des marques (polygones et axe gradué) */
|
/* Emplacements des marques (polygones et axe gradué) */
|
||||||
var R_TICS = [ 8, 10, 20 ]; /* [6, 8, 10, 12, 14, 16, 18, 20]; */
|
var R_TICS = [8, 10, 20]; /* [6, 8, 10, 12, 14, 16, 18, 20]; */
|
||||||
var R_AXIS_TICS = [4, 6, 8, 10, 12, 14, 16, 18, 20];
|
var R_AXIS_TICS = [4, 6, 8, 10, 12, 14, 16, 18, 20];
|
||||||
var NB_TICS = R_TICS.length;
|
var NB_TICS = R_TICS.length;
|
||||||
|
|
||||||
@ -33,18 +33,21 @@ function get_notes_and_draw(formsemestre_id, etudid) {
|
|||||||
'moy' : 16 },
|
'moy' : 16 },
|
||||||
];
|
];
|
||||||
*/
|
*/
|
||||||
var query = "formsemestre_bulletinetud?formsemestre_id=" + formsemestre_id + "&etudid=" + etudid + "&format=json&version=selectedevals&force_publishing=1"
|
var query = SCO_URL + "/Notes/formsemestre_bulletinetud?formsemestre_id=" + formsemestre_id + "&etudid=" + etudid + "&format=json&version=selectedevals&force_publishing=1"
|
||||||
|
|
||||||
$.get( query, '', function(bul){
|
$.get(query, '', function (bul) {
|
||||||
var notes = [];
|
var notes = [];
|
||||||
bul.ue.forEach(
|
bul.ue.forEach(
|
||||||
function(ue, i, ues) {
|
function (ue, i, ues) {
|
||||||
ue['module'].forEach( function(m, i) {
|
ue['module'].forEach(function (m, i) {
|
||||||
notes.push( { 'code': m['code'],
|
notes.push({
|
||||||
'titre' : m['titre'],
|
'code': m['code'],
|
||||||
'note':m['note']['value'],
|
'titre': m['titre'],
|
||||||
'moy':m['note']['moy'] } );
|
'note': m['note']['value'],
|
||||||
}); } );
|
'moy': m['note']['moy']
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
draw_radar(notes);
|
draw_radar(notes);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -52,53 +55,53 @@ function get_notes_and_draw(formsemestre_id, etudid) {
|
|||||||
function draw_radar(notes) {
|
function draw_radar(notes) {
|
||||||
/* Calcul coordonnées des éléments */
|
/* Calcul coordonnées des éléments */
|
||||||
var nmod = notes.length;
|
var nmod = notes.length;
|
||||||
var angle = 2*Math.PI/nmod;
|
var angle = 2 * Math.PI / nmod;
|
||||||
|
|
||||||
for (var i=0; i<notes.length; i++) {
|
for (var i = 0; i < notes.length; i++) {
|
||||||
var d = notes[i];
|
var d = notes[i];
|
||||||
var cx = Math.sin(i*angle);
|
var cx = Math.sin(i * angle);
|
||||||
var cy = - Math.cos(i*angle);
|
var cy = - Math.cos(i * angle);
|
||||||
d["x_v"] = CX + RR * d.note/20 * cx;
|
d["x_v"] = CX + RR * d.note / 20 * cx;
|
||||||
d["y_v"] = CY + RR * d.note/20 * cy;
|
d["y_v"] = CY + RR * d.note / 20 * cy;
|
||||||
d["x_moy"] = CX + RR * d.moy/20 * cx;
|
d["x_moy"] = CX + RR * d.moy / 20 * cx;
|
||||||
d["y_moy"] = CY + RR * d.moy/20 * cy;
|
d["y_moy"] = CY + RR * d.moy / 20 * cy;
|
||||||
d["x_20"] = CX + RR * cx;
|
d["x_20"] = CX + RR * cx;
|
||||||
d["y_20"] = CY + RR * cy;
|
d["y_20"] = CY + RR * cy;
|
||||||
d["x_label"] = CX + (RR + 25) * cx - 10
|
d["x_label"] = CX + (RR + 25) * cx - 10
|
||||||
d["y_label"] = CY + (RR + 25) * cy + 10;
|
d["y_label"] = CY + (RR + 25) * cy + 10;
|
||||||
d["tics"] = [];
|
d["tics"] = [];
|
||||||
// Coords des tics sur chaque axe
|
// Coords des tics sur chaque axe
|
||||||
for (var j=0; j < NB_TICS; j++) {
|
for (var j = 0; j < NB_TICS; j++) {
|
||||||
var r = R_TICS[j]/20 * RR;
|
var r = R_TICS[j] / 20 * RR;
|
||||||
d["tics"][j] = { "x" : CX + r * cx, "y" : CY + r * cy };
|
d["tics"][j] = { "x": CX + r * cx, "y": CY + r * cy };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var notes_circ = notes.slice(0);
|
var notes_circ = notes.slice(0);
|
||||||
notes_circ.push(notes[0])
|
notes_circ.push(notes[0])
|
||||||
var notes_circ_valid = notes_circ.filter( function(e,i,a) { return e.note != 'NA' && e.note != '-'; } );
|
var notes_circ_valid = notes_circ.filter(function (e, i, a) { return e.note != 'NA' && e.note != '-'; });
|
||||||
var notes_valid = notes.filter( function(e,i,a) { return e.note != 'NA' && e.note != '-'; } )
|
var notes_valid = notes.filter(function (e, i, a) { return e.note != 'NA' && e.note != '-'; })
|
||||||
|
|
||||||
/* Crée l'élément SVG */
|
/* Crée l'élément SVG */
|
||||||
g = d3.select("#radar_bulletin").append("svg")
|
g = d3.select("#radar_bulletin").append("svg")
|
||||||
.attr("class", "radar")
|
.attr("class", "radar")
|
||||||
.attr("width", WIDTH+100)
|
.attr("width", WIDTH + 100)
|
||||||
.attr("height", HEIGHT);
|
.attr("height", HEIGHT);
|
||||||
|
|
||||||
/* Centre */
|
/* Centre */
|
||||||
g.append( "circle" ).attr("cy", CY)
|
g.append("circle").attr("cy", CY)
|
||||||
.attr("cx", CX)
|
.attr("cx", CX)
|
||||||
.attr("r", 2)
|
.attr("r", 2)
|
||||||
.attr("class", "radar_center_mark");
|
.attr("class", "radar_center_mark");
|
||||||
|
|
||||||
/* Lignes "tics" */
|
/* Lignes "tics" */
|
||||||
for (var j=0; j < NB_TICS; j++) {
|
for (var j = 0; j < NB_TICS; j++) {
|
||||||
var ligne_tics = d3.svg.line()
|
var ligne_tics = d3.svg.line()
|
||||||
.x(function(d) { return d["tics"][j]["x"]; })
|
.x(function (d) { return d["tics"][j]["x"]; })
|
||||||
.y(function(d) { return d["tics"][j]["y"]; });
|
.y(function (d) { return d["tics"][j]["y"]; });
|
||||||
g.append( "svg:path" )
|
g.append("svg:path")
|
||||||
.attr("class", "radar_disk_tic")
|
.attr("class", "radar_disk_tic")
|
||||||
.attr("id", "radar_disk_tic_" + R_TICS[j])
|
.attr("id", "radar_disk_tic_" + R_TICS[j])
|
||||||
.attr("d", ligne_tics(notes_circ));
|
.attr("d", ligne_tics(notes_circ));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -108,25 +111,25 @@ function draw_radar(notes) {
|
|||||||
.enter().append("line")
|
.enter().append("line")
|
||||||
.attr("x1", CX)
|
.attr("x1", CX)
|
||||||
.attr("y1", CY)
|
.attr("y1", CY)
|
||||||
.attr("x2", function(d) { return d["x_20"]; })
|
.attr("x2", function (d) { return d["x_20"]; })
|
||||||
.attr("y2", function(d) { return d["y_20"]; })
|
.attr("y2", function (d) { return d["y_20"]; })
|
||||||
.attr("class", "radarrad");
|
.attr("class", "radarrad");
|
||||||
|
|
||||||
|
|
||||||
/* Lignes entre notes */
|
/* Lignes entre notes */
|
||||||
var ligne = d3.svg.line()
|
var ligne = d3.svg.line()
|
||||||
.x(function(d) { return d["x_v"]; })
|
.x(function (d) { return d["x_v"]; })
|
||||||
.y(function(d) { return d["y_v"]; });
|
.y(function (d) { return d["y_v"]; });
|
||||||
|
|
||||||
g.append( "svg:path" )
|
g.append("svg:path")
|
||||||
.attr("class", "radarnoteslines")
|
.attr("class", "radarnoteslines")
|
||||||
.attr("d", ligne(notes_circ_valid));
|
.attr("d", ligne(notes_circ_valid));
|
||||||
|
|
||||||
var ligne_moy = d3.svg.line()
|
var ligne_moy = d3.svg.line()
|
||||||
.x(function(d) { return d["x_moy"]; })
|
.x(function (d) { return d["x_moy"]; })
|
||||||
.y(function(d) { return d["y_moy"]; })
|
.y(function (d) { return d["y_moy"]; })
|
||||||
|
|
||||||
g.append( "svg:path" )
|
g.append("svg:path")
|
||||||
.attr("class", "radarmoylines")
|
.attr("class", "radarmoylines")
|
||||||
.attr("d", ligne_moy(notes_circ_valid));
|
.attr("d", ligne_moy(notes_circ_valid));
|
||||||
|
|
||||||
@ -134,15 +137,15 @@ function draw_radar(notes) {
|
|||||||
g.selectAll("circle1")
|
g.selectAll("circle1")
|
||||||
.data(notes_valid)
|
.data(notes_valid)
|
||||||
.enter().append("circle")
|
.enter().append("circle")
|
||||||
.attr("cx", function(d) { return d["x_v"]; })
|
.attr("cx", function (d) { return d["x_v"]; })
|
||||||
.attr("cy", function(d) { return d["y_v"]; })
|
.attr("cy", function (d) { return d["y_v"]; })
|
||||||
.attr("r", function(x, i) { return 3; } )
|
.attr("r", function (x, i) { return 3; })
|
||||||
.style("stroke-width", 1)
|
.style("stroke-width", 1)
|
||||||
.style("stroke", "black")
|
.style("stroke", "black")
|
||||||
.style("fill", "blue")
|
.style("fill", "blue")
|
||||||
.on("mouseover", function(d) {
|
.on("mouseover", function (d) {
|
||||||
var rwidth = 310;
|
var rwidth = 310;
|
||||||
var x = d["x_v"];
|
var x = d["x_v"];
|
||||||
if ((x - CX) < 0) {
|
if ((x - CX) < 0) {
|
||||||
x = x + 5;
|
x = x + 5;
|
||||||
if (x + rwidth + 12 > WIDTH) {
|
if (x + rwidth + 12 > WIDTH) {
|
||||||
@ -157,7 +160,7 @@ function draw_radar(notes) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
x = CX - rwidth/2;
|
x = CX - rwidth / 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var yrect = d["y_v"];
|
var yrect = d["y_v"];
|
||||||
@ -170,18 +173,18 @@ function draw_radar(notes) {
|
|||||||
yrect = yrect + 5;
|
yrect = yrect + 5;
|
||||||
ytext = ytext + 5 + 16;
|
ytext = ytext + 5 + 16;
|
||||||
}
|
}
|
||||||
var r = g.append("rect")
|
var r = g.append("rect")
|
||||||
.attr('class','radartip')
|
.attr('class', 'radartip')
|
||||||
.attr("x", x)
|
.attr("x", x)
|
||||||
.attr("y", yrect );
|
.attr("y", yrect);
|
||||||
|
|
||||||
var txt = g.append("text").text("Note: " + d.note + "/20, moyenne promo: " + d.moy + "/20")
|
var txt = g.append("text").text("Note: " + d.note + "/20, moyenne promo: " + d.moy + "/20")
|
||||||
.attr('class','radartip')
|
.attr('class', 'radartip')
|
||||||
.attr("x", x + 5)
|
.attr("x", x + 5)
|
||||||
.attr("y", ytext);
|
.attr("y", ytext);
|
||||||
r.attr("width", rwidth).attr("height", 20);
|
r.attr("width", rwidth).attr("height", 20);
|
||||||
})
|
})
|
||||||
.on("mouseout", function(d){
|
.on("mouseout", function (d) {
|
||||||
d3.selectAll(".radartip").remove()
|
d3.selectAll(".radartip").remove()
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -189,11 +192,11 @@ function draw_radar(notes) {
|
|||||||
g.selectAll("notes_labels")
|
g.selectAll("notes_labels")
|
||||||
.data(notes_valid)
|
.data(notes_valid)
|
||||||
.enter().append("text")
|
.enter().append("text")
|
||||||
.text(function(d) { return d["note"]; })
|
.text(function (d) { return d["note"]; })
|
||||||
.attr("x", function(d) {
|
.attr("x", function (d) {
|
||||||
return d["x_v"];
|
return d["x_v"];
|
||||||
})
|
})
|
||||||
.attr("y", function(d) {
|
.attr("y", function (d) {
|
||||||
if (d["y_v"] > CY)
|
if (d["y_v"] > CY)
|
||||||
return d["y_v"] + 16;
|
return d["y_v"] + 16;
|
||||||
else
|
else
|
||||||
@ -205,36 +208,36 @@ function draw_radar(notes) {
|
|||||||
g.selectAll("circle2")
|
g.selectAll("circle2")
|
||||||
.data(notes_valid)
|
.data(notes_valid)
|
||||||
.enter().append("circle")
|
.enter().append("circle")
|
||||||
.attr("cx", function(d) { return d["x_moy"]; })
|
.attr("cx", function (d) { return d["x_moy"]; })
|
||||||
.attr("cy", function(d) { return d["y_moy"]; })
|
.attr("cy", function (d) { return d["y_moy"]; })
|
||||||
.attr("r", function(x, i) { return 2; } )
|
.attr("r", function (x, i) { return 2; })
|
||||||
.style("stroke-width", 0)
|
.style("stroke-width", 0)
|
||||||
.style("stroke", "black")
|
.style("stroke", "black")
|
||||||
.style("fill", "rgb(20,90,50)");
|
.style("fill", "rgb(20,90,50)");
|
||||||
|
|
||||||
/* Valeurs sur axe */
|
/* Valeurs sur axe */
|
||||||
g.selectAll("textaxis")
|
g.selectAll("textaxis")
|
||||||
.data( R_AXIS_TICS )
|
.data(R_AXIS_TICS)
|
||||||
.enter().append("text")
|
.enter().append("text")
|
||||||
.text(String)
|
.text(String)
|
||||||
.attr("x", CX - 10)
|
.attr("x", CX - 10)
|
||||||
.attr("y", function(x, i) { return CY - x*RR/20 + 6; })
|
.attr("y", function (x, i) { return CY - x * RR / 20 + 6; })
|
||||||
.attr("class", "textaxis");
|
.attr("class", "textaxis");
|
||||||
|
|
||||||
/* Noms des modules */
|
/* Noms des modules */
|
||||||
g.selectAll("text_modules")
|
g.selectAll("text_modules")
|
||||||
.data(notes)
|
.data(notes)
|
||||||
.enter().append("text")
|
.enter().append("text")
|
||||||
.text( function(d) { return d['code']; } )
|
.text(function (d) { return d['code']; })
|
||||||
.attr("x", function(d) { return d['x_label']; } )
|
.attr("x", function (d) { return d['x_label']; })
|
||||||
.attr("y", function(d) { return d['y_label']; })
|
.attr("y", function (d) { return d['y_label']; })
|
||||||
.attr("dx", 0)
|
.attr("dx", 0)
|
||||||
.attr("dy", 0)
|
.attr("dy", 0)
|
||||||
.on("mouseover", function(d) {
|
.on("mouseover", function (d) {
|
||||||
var x = d["x_label"];
|
var x = d["x_label"];
|
||||||
var yrect = d["y_label"];
|
var yrect = d["y_label"];
|
||||||
var ytext = d["y_label"];
|
var ytext = d["y_label"];
|
||||||
var titre = d['titre'].replace("'", "'").substring(0,64);
|
var titre = d['titre'].replace("'", "'").substring(0, 64);
|
||||||
var rwidth = titre.length * 9; // rough estimate of string width in pixels
|
var rwidth = titre.length * 9; // rough estimate of string width in pixels
|
||||||
if ((x - CX) < 0) {
|
if ((x - CX) < 0) {
|
||||||
x = x + 5;
|
x = x + 5;
|
||||||
@ -250,7 +253,7 @@ function draw_radar(notes) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
x = CX - rwidth/2;
|
x = CX - rwidth / 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((yrect - CY) > 0) {
|
if ((yrect - CY) > 0) {
|
||||||
@ -262,17 +265,17 @@ function draw_radar(notes) {
|
|||||||
ytext = ytext + 5 + 16;
|
ytext = ytext + 5 + 16;
|
||||||
}
|
}
|
||||||
var r = g.append("rect")
|
var r = g.append("rect")
|
||||||
.attr('class','radartip')
|
.attr('class', 'radartip')
|
||||||
.attr("x", x)
|
.attr("x", x)
|
||||||
.attr("y", yrect)
|
.attr("y", yrect)
|
||||||
.attr("height", 20)
|
.attr("height", 20)
|
||||||
.attr("width", rwidth);
|
.attr("width", rwidth);
|
||||||
var txt = g.append("text").text( titre )
|
var txt = g.append("text").text(titre)
|
||||||
.attr('class','radartip')
|
.attr('class', 'radartip')
|
||||||
.attr("x", x + 5)
|
.attr("x", x + 5)
|
||||||
.attr("y", ytext);
|
.attr("y", ytext);
|
||||||
})
|
})
|
||||||
.on("mouseout", function(d){
|
.on("mouseout", function (d) {
|
||||||
d3.selectAll(".radartip").remove()
|
d3.selectAll(".radartip").remove()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Formulaire saisie des notes
|
// Formulaire saisie des notes
|
||||||
|
|
||||||
$().ready(function(){
|
$().ready(function () {
|
||||||
|
|
||||||
$("#formnotes .note").bind("blur", valid_note);
|
$("#formnotes .note").bind("blur", valid_note);
|
||||||
|
|
||||||
@ -15,8 +15,8 @@ function is_valid_note(v) {
|
|||||||
var note_min = parseFloat($("#eval_note_min").text());
|
var note_min = parseFloat($("#eval_note_min").text());
|
||||||
var note_max = parseFloat($("#eval_note_max").text());
|
var note_max = parseFloat($("#eval_note_max").text());
|
||||||
|
|
||||||
if (! v.match("^-?[0-9.]*$")) {
|
if (!v.match("^-?[0-9.]*$")) {
|
||||||
return (v=="ABS")||(v=="EXC")||(v=="SUPR")||(v=="ATT")||(v=="DEM");
|
return (v == "ABS") || (v == "EXC") || (v == "SUPR") || (v == "ATT") || (v == "DEM");
|
||||||
} else {
|
} else {
|
||||||
var x = parseFloat(v);
|
var x = parseFloat(v);
|
||||||
return (x >= note_min) && (x <= note_max);
|
return (x >= note_min) && (x <= note_max);
|
||||||
@ -41,33 +41,33 @@ function save_note(elem, v, etudid) {
|
|||||||
var evaluation_id = $("#formnotes_evaluation_id").attr("value");
|
var evaluation_id = $("#formnotes_evaluation_id").attr("value");
|
||||||
var formsemestre_id = $("#formnotes_formsemestre_id").attr("value");
|
var formsemestre_id = $("#formnotes_formsemestre_id").attr("value");
|
||||||
$('#sco_msg').html("en cours...").show();
|
$('#sco_msg').html("en cours...").show();
|
||||||
$.post( 'save_note',
|
$.post(SCO_URL + 'Notes/save_note',
|
||||||
{
|
{
|
||||||
'etudid' : etudid,
|
'etudid': etudid,
|
||||||
'evaluation_id' : evaluation_id,
|
'evaluation_id': evaluation_id,
|
||||||
'value' : v,
|
'value': v,
|
||||||
'comment' : $("#formnotes_comment").attr("value")
|
'comment': $("#formnotes_comment").attr("value")
|
||||||
},
|
},
|
||||||
function(result) {
|
function (result) {
|
||||||
sco_message("enregistré");
|
sco_message("enregistré");
|
||||||
elem.className = "note_saved";
|
elem.className = "note_saved";
|
||||||
if (result['nbchanged'] > 0) {
|
if (result['nbchanged'] > 0) {
|
||||||
// il y avait une decision de jury ?
|
// il y avait une decision de jury ?
|
||||||
if (result.existing_decisions[0] == etudid) {
|
if (result.existing_decisions[0] == etudid) {
|
||||||
if (v != $(elem).attr('data-orig-value')) {
|
if (v != $(elem).attr('data-orig-value')) {
|
||||||
$("#jurylink_"+etudid).html('<a href="formsemestre_validation_etud_form?formsemestre_id=' + formsemestre_id + '&etudid=' + etudid + '">mettre à jour décision de jury</a>');
|
$("#jurylink_" + etudid).html('<a href="formsemestre_validation_etud_form?formsemestre_id=' + formsemestre_id + '&etudid=' + etudid + '">mettre à jour décision de jury</a>');
|
||||||
} else {
|
} else {
|
||||||
$("#jurylink_"+etudid).html('');
|
$("#jurylink_" + etudid).html('');
|
||||||
}
|
|
||||||
}
|
|
||||||
// mise a jour menu historique
|
|
||||||
if (result['history_menu']) {
|
|
||||||
$("#hist_"+etudid).html(result['history_menu']);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$(elem).attr('data-last-saved-value', v)
|
// mise a jour menu historique
|
||||||
|
if (result['history_menu']) {
|
||||||
|
$("#hist_" + etudid).html(result['history_menu']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
);
|
$(elem).attr('data-last-saved-value', v)
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function change_history(e) {
|
function change_history(e) {
|
||||||
@ -92,22 +92,22 @@ function paste_text(e) {
|
|||||||
var list = data.split(/\r\n|\r|\n|\t| /g);
|
var list = data.split(/\r\n|\r|\n|\t| /g);
|
||||||
var currentInput = event.currentTarget;
|
var currentInput = event.currentTarget;
|
||||||
|
|
||||||
for(var i=0 ; i<list.length ; i++){
|
for (var i = 0; i < list.length; i++) {
|
||||||
currentInput.value = list[i];
|
currentInput.value = list[i];
|
||||||
var evt = document.createEvent("HTMLEvents");
|
var evt = document.createEvent("HTMLEvents");
|
||||||
evt.initEvent("blur", false, true);
|
evt.initEvent("blur", false, true);
|
||||||
currentInput.dispatchEvent(evt);
|
currentInput.dispatchEvent(evt);
|
||||||
var sibbling = currentInput.parentElement.parentElement.nextElementSibling;
|
var sibbling = currentInput.parentElement.parentElement.nextElementSibling;
|
||||||
while (sibbling && sibbling.style.display == "none") {
|
while (sibbling && sibbling.style.display == "none") {
|
||||||
sibbling = sibbling.nextElementSibling;
|
sibbling = sibbling.nextElementSibling;
|
||||||
}
|
}
|
||||||
if (sibbling) {
|
if (sibbling) {
|
||||||
currentInput = sibbling.querySelector("input");
|
currentInput = sibbling.querySelector("input");
|
||||||
if(!currentInput){
|
if (!currentInput) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
// Affichage progressif du trombinoscope html
|
// Affichage progressif du trombinoscope html
|
||||||
|
|
||||||
$().ready(function(){
|
$().ready(function () {
|
||||||
var spans = $(".unloaded_img");
|
var spans = $(".unloaded_img");
|
||||||
for (var i=0; i < spans.size(); i++) {
|
for (var i = 0; i < spans.size(); i++) {
|
||||||
var sp = spans[i];
|
var sp = spans[i];
|
||||||
var etudid = sp.id;
|
var etudid = sp.id;
|
||||||
$(sp).load('etud_photo_html?etudid='+etudid);
|
$(sp).load(SCO_URL + "/etud_photo_html?etudid=" + etudid);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Affiche et met a jour la liste des UE partageant le meme code
|
// Affiche et met a jour la liste des UE partageant le meme code
|
||||||
|
|
||||||
$().ready(function(){
|
$().ready(function () {
|
||||||
update_ue_validations();
|
update_ue_validations();
|
||||||
update_ue_list();
|
update_ue_list();
|
||||||
$("#tf_ue_id").bind("change", update_ue_list);
|
$("#tf_ue_id").bind("change", update_ue_list);
|
||||||
@ -11,10 +11,10 @@ $().ready(function(){
|
|||||||
function update_ue_list() {
|
function update_ue_list() {
|
||||||
var ue_id = $("#tf_ue_id")[0].value;
|
var ue_id = $("#tf_ue_id")[0].value;
|
||||||
if (ue_id) {
|
if (ue_id) {
|
||||||
var query = "ue_sharing_code?ue_id=" + ue_id;
|
var query = "ue_sharing_code?ue_id=" + ue_id;
|
||||||
$.get( query, '', function(data){
|
$.get(query, '', function (data) {
|
||||||
$("#ue_list_code").html(data);
|
$("#ue_list_code").html(data);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -23,9 +23,9 @@ function update_ue_validations() {
|
|||||||
var ue_id = $("#tf_ue_id")[0].value;
|
var ue_id = $("#tf_ue_id")[0].value;
|
||||||
var formsemestre_id = $("#tf_formsemestre_id")[0].value;
|
var formsemestre_id = $("#tf_formsemestre_id")[0].value;
|
||||||
if (ue_id) {
|
if (ue_id) {
|
||||||
var query = "get_etud_ue_cap_html?ue_id="+ue_id+"&etudid="+etudid+"&formsemestre_id="+formsemestre_id;
|
var query = SCO_URL + "/Notes/get_etud_ue_cap_html?ue_id=" + ue_id + "&etudid=" + etudid + "&formsemestre_id=" + formsemestre_id;
|
||||||
$.get( query, '', function(data){
|
$.get(query, '', function (data) {
|
||||||
$("#ue_list_etud_validations").html(data);
|
$("#ue_list_etud_validations").html(data);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user