giovedì 17 febbraio 2011

[Sistema di prenotazione Appelli DiB] Se non c'è... mettiamolo!

Un certo collega F.P.(detto Muggi.) mi ha contattato chiedendomi come mai nella sua pagina di prenotazione esami(del sistema di gestione appelli del DiB), non ci fosse la riga relativa all'insegnamento di "Ingegneria del Software"...
Dopo aver notato che invece nel mio caso fosse presente, e ignorando ampiamente quali dei misteri arcani si celassero dietro alla scelta del sistema di nasconderla nel suo caso, ho optato per la politica: Se non c'è... mettiamolo!
Il codice relativo alla riga(preso dalla mia pagina in cui era presente) è:

<tr><td nowrap="nowrap">
<font size="2">Ingegneria del SW + Lab. (2009/2010)</font></td>
<td nowrap="nowrap" align="center">
<font size="2">Scritto</font></td>
<td nowrap="nowrap" align="center">
<font size="2">23/02/2011</font></td>
<td nowrap="nowrap" align="center">
<font size="2">15.30</font></td>
<td nowrap="nowrap" align="center">
<font size="2">&nbsp;</font></td>
<td align="center">
<font size="2">&nbsp;</font></td>
<td align="center" width="1%">

<form name="form_1" action="appello_prenota_conf.php" method="post">
<input value="Prenota" type="submit">
<input name="id_insegn" value="2265" type="hidden">
<input name="data_appello" value="2011-02-23" type="hidden">
<input name="tipo_appello" value="S" type="hidden">
</form>
</td></tr>

(in grassetto i dati inviati in POST per richiedere la prenotazione all'esame specifico)
Per tanto ho scritto un piccolo script js per l'aggiunta alla pagina del precedente codice:

javascript:(function(){d=document.getElementsByTagName('body')[0];
s=document.createElement('span');
s.innerHTML="<tr><td nowrap><Font size='2'>Ingegneria del SW + Lab. (2009/2010)</Font></td><td nowrap align='center'><Font size='2'>Scritto</Font></td><td nowrap align='center'><Font size='2'>23/02/2011</Font></td><td nowrap align='center'><Font size='2'>15.30</Font></td><td nowrap align='center'><Font size='2'>&nbsp;</Font></td><td align='center'><Font size='2'>&nbsp;</Font></td><td width='1%' align='center'><form name='form_1' action='appello_prenota_conf.php' method='post'><input type='submit' value='Prenota'><input type='hidden' name='id_insegn' value='2265'><input type='hidden' name='data_appello' value='2011-02-23'><input type='hidden' name='tipo_appello' value='S'>
</td></FORM></tr>";d.appendChild(s);})()


E' Quindi bastato far incollare al mio collega il precedente script nella barra degli indirizzi, della pagina che visualizza l'elenco degli esami prenotabili, per fargli apparire infondo alla pagina il timido tasto "Prenota" :D

(prenotazione avvenuta con successo!)

MORALE DELLA FAVOLA:
Il motivo per cui a lui non appariva la riga relativa a questo esame, rimane ignoto e sarà argomento della prossima puntata di Voyager(colpa dei Maya???).
Qualunquemente esso sia, viene preso in considerazione quando viene generato l'elenco delle materie prenotabili, ma no quando il sistema riceve una richiesta di prenotazione.
Bhà?!?!