Bei Punkteeingabe wird der Speichernbutton deaktiviert während die Note geladen wird damit es nicht vorkommen kann dass die Note nicht zu den Punkten passt wenn die Latenz zu hoch ist.

This commit is contained in:
oesi
2016-03-08 10:38:23 +01:00
parent d70d2732bd
commit 7f8d8c3fce
3 changed files with 41 additions and 7 deletions
@@ -18,7 +18,7 @@
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
*/
/**
*
*
*/
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/functions.inc.php');
@@ -44,5 +44,5 @@ switch($work)
$note = $notenschluessel->getNote($punkte, $lehrveranstaltung_id, $studiensemester_kurzbz);
echo $note;
exit;
}
?>
}
?>
@@ -131,7 +131,8 @@ echo '<!DOCTYPE HTML>
</style>
<script language="JavaScript" type="text/javascript">
var notenrequests=0;
var notenrequests_arr=Array();
var noten_array=Array();
';
@@ -290,7 +291,7 @@ foreach($noten_obj->result as $row)
}
echo '</select></td>';
?>';
str += "</tr><tr><td colspan='2' align='center'><input type='button' name='speichern' value='<?php echo $p->t('global/speichern');?>' onclick='pruefungSpeichern();'></td></tr>";
str += "</tr><tr><td colspan='2' align='center'><input id='pruefungsnotensave' type='button' name='speichern' value='<?php echo $p->t('global/speichern');?>' onclick='pruefungSpeichern();'></td></tr>";
str += "</table></form>";
anlegendiv.innerHTML = str;
anlegendiv.style.visibility = "visible";
@@ -411,6 +412,10 @@ foreach($noten_obj->result as $row)
// Request absetzen und Note zu den Punkten holen
if(punkte!='')
{
if(typeof(notenrequests_arr[idx])=='undefined')
notenrequests_arr[idx]=0;
notenrequests_arr[idx]=notenrequests_arr[idx]+1;
$('#button-note-save-'+idx).prop('disabled',true);
$.ajax({
type:"POST",
url:"lvgesamtnote_worker.php",
@@ -422,14 +427,21 @@ foreach($noten_obj->result as $row)
success:function(result)
{
note=result;
notenrequests_arr[idx]=notenrequests_arr[idx]-1;
var notendropdown = $('#dropdown-note-'+idx);
notendropdown.val(note);
notendropdown.prop('disabled',true);
if(notenrequests_arr[idx]==0)
{
$('#button-note-save-'+idx).prop('disabled',false);
}
},
error:function(result)
{
alert('Noten ermittlung fehlgeschlagen');
notenrequests_arr[idx]=notenrequests_arr[idx]-1;
alert('Notenermittlung fehlgeschlagen');
}
});
}
@@ -452,6 +464,8 @@ foreach($noten_obj->result as $row)
// Request absetzen und Note zu den Punkten holen
if(punkte!='')
{
notenrequests = notenrequests+1;
$('#pruefungsnotensave').prop('disabled',true);
$.ajax({
type:"POST",
url:"lvgesamtnote_worker.php",
@@ -462,14 +476,21 @@ foreach($noten_obj->result as $row)
},
success:function(result)
{
notenrequests = notenrequests-1;
note=result;
var notendropdown = $('#pruefungnoteselect');
notendropdown.val(note);
notendropdown.prop('disabled',true);
if(notenrequests==0)
$('#pruefungsnotensave').prop('disabled',false);
},
error:function(result)
{
notenrequests = notenrequests-1;
if(notenrequests==0)
$('#pruefungsnotensave').prop('disabled',false);
alert('Noten ermittlung fehlgeschlagen');
}
});
@@ -1201,7 +1222,7 @@ echo "
echo '</select>';
echo "
<input type='hidden' name='note_orig' value='$note_lv'>
<input type='button' value='->' onclick=\"saveLVNote('".$row_stud->uid."');\">
<input type='button' id='button-note-save-".$i."' value='->' onclick=\"saveLVNote('".$row_stud->uid."');\">
</span>
</form></td>";
}
@@ -40,6 +40,7 @@ require_once('../../../../include/mail.class.php');
require_once('../../../../include/benutzerfunktion.class.php');
require_once('../../../../include/benutzer.class.php');
require_once('../../../../include/student.class.php');
require_once('../../../../include/notenschluessel.class.php');
if (!$db = new basis_db())
die('Fehler beim Herstellen der Datenbankverbindung');
@@ -103,6 +104,18 @@ else
$punkte = str_replace(',','.',$punkte);
if($punkte!='')
{
// Bei Punkteeingabe wird die Note nochmals geprueft und ggf korrigiert
$notenschluessel = new notenschluessel();
$note_pruef = $notenschluessel->getNote($punkte, $lvid, $stsem);
if($note_pruef!=$note)
{
$note = $note_pruef;
$note_dirty=true;
}
}
if(!isset($_GET['typ']))
{
$typ='Termin2';