- Punkteübernahme aus Vilesci setzt automatisch das Hackerl "zum Reihungstest angetreten"

- Bugfix wodurch Reihungstest als nicht absolviert angezeigt wurde wenn die Person genau 0 Punkte erreicht hat beim Test
This commit is contained in:
oesi
2017-03-08 16:53:32 +01:00
parent 8872d1915a
commit c8fa540840
2 changed files with 38 additions and 18 deletions
+12 -5
View File
@@ -312,7 +312,7 @@ class pruefling extends basis_db
* @param $person_id ID der Person.
* @param $punkte Wenn true werden Punkte geliefert, sonst Prozentsumme.
* @param $reihungstest_id ID des Reihungstests.
* @return Endpunkte des Reihungstests
* @return Endpunkte des Reihungstests oder False wenn keine Punkte vorhanden
*/
public function getReihungstestErgebnisPerson($person_id, $punkte=false, $reihungstest_id=null)
{
@@ -324,9 +324,13 @@ class pruefling extends basis_db
$ergebnis=0;
if($this->db_query($qry))
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object())
// Wenn keine Eintraege vorhanden dann false
if($this->db_num_rows($result)==0)
return false;
while($row = $this->db_fetch_object($result))
{
//wenn maxpunkte ueberschritten wurde -> 100%
if($row->punkte>=$row->maxpunkte)
@@ -357,7 +361,7 @@ class pruefling extends basis_db
* @param $prestudent_id ID des Prestudenten
* @param $punkte Wenn true werden Punkte geliefert, sonst Prozentsumme.
* @param $reihungstest_id ID des Reihungstests.
* @return Endpunkte des Reihungstests
* @return Endpunkte des Reihungstests oder false wenn keine Punkte vorhanden
*/
public function getReihungstestErgebnisPrestudent($prestudent_id, $punkte=false, $reihungstest_id=null)
{
@@ -369,8 +373,11 @@ class pruefling extends basis_db
$ergebnis=0;
if($this->db_query($qry))
if($result = $this->db_query($qry))
{
if($this->db_num_rows($result)==0)
return false;
while($row = $this->db_fetch_object())
{
//wenn maxpunkte ueberschritten wurde -> 100%
+26 -13
View File
@@ -370,7 +370,7 @@ if(isset($_GET['excel']))
$erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id, true);
else
$erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id);
if($erg!=0)
if($erg!==false)
{
$rt_in_anderen_stg.=number_format($erg,2).' Punkte im Studiengang '.$studiengang->kuerzel_arr[$item->studiengang_kz]."; ";
}
@@ -602,7 +602,7 @@ if(isset($_GET['excel']))
else if (<?php echo json_encode($punkteberechnung);?> == 'true' && document.getElementById('clm_absolviert').className == 'inactive' && document.getElementById('clm_ergebnis').className == 'inactive')
window.location.href = "<?php echo $_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&reihungstest_id='.$reihungstest_id.'&studiensemester_kurzbz='.$studiensemester_kurzbz.'&punkteberechnung=false';?>";
});
if (window.localStorage && window.localStorage !== 'undefined')
if (window.localStorage && window.localStorage !== 'undefined')
{
if (typeof(Storage) !== 'undefined')
{
@@ -667,7 +667,7 @@ if(isset($_GET['excel']))
function hideColumn(column)
{
if (window.localStorage)
if (window.localStorage)
{
if ($('.'+column).css('display') == 'table-cell')
{
@@ -1068,6 +1068,7 @@ if(isset($_GET['type']) && $_GET['type']=='savertpunkte')
$rtperson = new reihungstest();
$rtperson->loadReihungstestPerson($_GET['rt_person_id']);
$rtperson->punkte = str_replace(',','.',$rtpunkte);
$rtperson->teilgenommen = true;
$rtperson->new=false;
if(!$rtperson->savePersonReihungstest())
{
@@ -1112,14 +1113,18 @@ if(isset($_GET['type']) && $_GET['type']=='saveallrtpunkte')
$rtpunkte = $pruefling->getReihungstestErgebnisPerson($row->person_id, true, $reihungstest->reihungstest_id);
else
$rtpunkte = $pruefling->getReihungstestErgebnisPerson($row->person_id, false, $reihungstest->reihungstest_id);
$reihungstest->punkte = str_replace(',','.',$rtpunkte);
$reihungstest->reihungstestangetreten=true;
$reihungstest->save(false);
$reihungstest->new=false;
if(!$reihungstest->savePersonReihungstest())
if($rtpunkte!==false)
{
$errormsg .='<br>Fehler:'.$reihungstest->errorsmg;
$reihungstest->punkte = str_replace(',','.',$rtpunkte);
$reihungstest->teilgenommen = true;
$reihungstest->save(false);
$reihungstest->new = false;
if(!$reihungstest->savePersonReihungstest())
{
$errormsg .='<br>Fehler:'.$reihungstest->errorsmg;
}
}
}
}
@@ -2016,7 +2021,7 @@ if($reihungstest_id!='')
$erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id, true);
else
$erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id);
if($erg!=0)
if($erg!==false)
{
$rt_in_anderen_stg.=number_format($erg,2).' Punkte im Studiengang '.$studiengang->kuerzel_arr[$item->studiengang_kz].'<br>';
}
@@ -2049,8 +2054,16 @@ if($reihungstest_id!='')
<td style="display: table-cell" class="clm_geburtsdatum">'.$db->convert_html_chars($row->gebdatum!=''?$datum_obj->convertISODate($row->gebdatum):' ').'</td>
<td style="display: table-cell; text-align: center" class="clm_email"><a href="mailto:'.$db->convert_html_chars($row->email).'"><img src="../../skin/images/button_mail.gif" name="mail"></a></td>
<td style="display: table-cell" class="clm_absolviert">'.$rt_in_anderen_stg.'</td>
<td style="display: table-cell; align: right" class="clm_ergebnis"">'.($rtergebnis==0?'-':number_format($rtergebnis,2,'.','')).'</td>
<td style="display: table-cell; align: right" class="clm_fas">'.($rtergebnis!=0 && $row->punkte==''?'<a href="'.$_SERVER['PHP_SELF'].'?reihungstest_id='.$reihungstest_id.'&stg_kz='.$stg_kz.'&type=savertpunkte&rt_person_id='.$row->rt_person_id.'&rtpunkte='.$rtergebnis.'" >&uuml;bertragen</a>':$row->punkte).'</td>
<td style="display: table-cell; align: right" class="clm_ergebnis"">'.($rtergebnis===false?'-':number_format($rtergebnis,2,'.','')).'</td>
<td style="display: table-cell; align: right" class="clm_fas">';
if($rtergebnis!==false && $row->punkte=='')
echo '<a href="'.$_SERVER['PHP_SELF'].'?reihungstest_id='.$reihungstest_id.'&stg_kz='.$stg_kz.'&type=savertpunkte&rt_person_id='.$row->rt_person_id.'&rtpunkte='.$rtergebnis.'" >&uuml;bertragen</a>';
else
{
if($row->punkte!='')
echo number_format($row->punkte,2,'.','');
}
echo '</td>
</tr>';
$mailto.= ($mailto!=''?',':'').$row->email;
@@ -2137,7 +2150,7 @@ if($reihungstest_id!='')
$erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id, true);
else
$erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id);
if($erg!=0)
if($erg!==false)
{
$rt_in_anderen_stg.=number_format($erg,2).' Punkte im Studiengang '.$studiengang->kuerzel_arr[$item->studiengang_kz].'<br>';
}