- Noten can be marked as not ueberschreibbar

- CIS Gesamtnote - marked Noten cannot be overwritten, also no csv import possible
This commit is contained in:
alex
2018-09-24 17:52:31 +02:00
parent e3e5f690a7
commit aa58bd7bee
6 changed files with 88 additions and 32 deletions
@@ -82,10 +82,14 @@ $uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
$uid = (isset($_GET['uid'])?$_GET['uid']:'');
$noten_anmerkung=array();
$noten_arr=array();
$note_obj = new note();
$note_obj->getAll();
foreach($note_obj->result as $row)
$noten_anmerkung[$row->anmerkung]=$row->note;
{
$noten_anmerkung[$row->anmerkung] = $row->note;
$noten_arr[$row->note] = $row;
}
//Studiensemester laden
$stsem_obj = new studiensemester();
@@ -238,12 +242,20 @@ if (isset($_REQUEST["submit"]))
}
// Hole Zeugnisnote wenn schon eine eingetragen ist
/*
if ($zeugnisnote = new zeugnisnote($lvid, $student_uid, $stsem))
{
$znote = $zeugnisnote->note;
else
$znote = null;
*/
$notenobj = $noten_arr[$znote];
// Note nicht speichern wenn Zeugnisnote nicht überschreibbar
if (!$notenobj->lkt_ueberschreibbar)
{
$response .= "\n".$p->t('benotungstool/noteNichtUeberschreibbar', array($matrikelnummer, $notenobj->bezeichnung));
continue;
}
}
$val=savenote($db,$lvid, $student_uid, $note, $punkte);
if($val!='neu' && $val!='update' && $val!='update_f')
$response.=$val;
@@ -181,6 +181,7 @@ foreach ($noten_obj->result as $row)
$noten_array[$row->note]['positiv'] = $row->positiv;
$noten_array[$row->note]['aktiv'] = $row->aktiv;
$noten_array[$row->note]['lehre'] = $row->lehre;
$noten_array[$row->note]['lkt_ueberschreibbar'] = $row->lkt_ueberschreibbar;
$noten_array[$row->note]['anmerkung'] = $row->anmerkung;
foreach ($sprachen->result AS $s)
$noten_array[$row->note]['bezeichnung_mehrsprachig'][$s->sprache] = $row->bezeichnung_mehrsprachig[$s->sprache];
@@ -1249,21 +1250,30 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
action='" . $_SERVER['PHP_SELF'] . "?lvid=$lvid&lehreinheit_id=$lehreinheit_id&stsem=$stsem'>
<span id='lvnoteneingabe_" . $uid . "' " . $hide . ">
<input type='hidden' name='student_uid' value='$uid'>";
// nur überschreibbare Noten können geändert werden
$ueberschreibbar = is_null($znote) || $noten_array[$znote]['lkt_ueberschreibbar'];
// Punkte
if (CIS_GESAMTNOTE_PUNKTE)
{
$htmlstring .= '
<input type="text"
name="punkte"
id="textbox-punkte-' . $i . '"
value="' . $punkte_vorschlag . '"
size="3"
oninput="PunkteEingabe(' . $i . ')"/>';
size="3"';
if ($ueberschreibbar)
$htmlstring .= ' oninput="PunkteEingabe(' . $i . ')"';
else
$htmlstring .= ' disabled="disabled"';
$htmlstring .= '/>';
}
// Noten DropDown
if ($punkte_vorschlag != '' && CIS_GESAMTNOTE_PUNKTE)
if (($punkte_vorschlag != '' && CIS_GESAMTNOTE_PUNKTE) || $ueberschreibbar == false)
$disabled = 'disabled="disabled"';
else
$disabled = '';
@@ -1281,10 +1291,13 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
}
$htmlstring .= '</select>';
$htmlstring .= "
<input type='hidden' name='note_orig' value='$note_lv'>
<input type='button' id='button-note-save-" . $i . "' value='->' onclick=\"saveLVNote('" . $uid . "');\">
</span>
</form></td>";
<input type='hidden' name='note_orig' value='$note_lv'>";
if ($ueberschreibbar)
{
$htmlstring .= "<input type='button' id='button-note-save-" . $i . "' value='->' onclick=\"saveLVNote('" . $uid . "');\">";
}
$htmlstring .= "</span>
</form></td>";
}
else
{
@@ -1370,13 +1383,18 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
$htmlstring .= '<tr>
<td class="td_datum">' . $pr_datum . '</td>
<td class="td_note">' . $pr_notenbezeichnung . '</td>
<td>
<input type="button"
<td>';
if ($ueberschreibbar)
{
$htmlstring .=
'<input type="button"
name="anlegen"
value="' . $p->t('global/aendern') . '"
onclick="' . $onclick . '">
<td>
</tr>';
onclick="' . $onclick . '">';
}
$htmlstring .=
'<td>
</tr>';
}
$htmlstring .= "</table>";
$htmlstring .= "</span>";
@@ -1386,12 +1404,16 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
{
if (! is_null($note_lv) || ! is_null($znote))
{
$htmlstring .= "<td colspan='2'><span id='span_Termin2_" . $uid . "'>
<input type='button'
$htmlstring .= "<td colspan='2'><span id='span_Termin2_" . $uid . "'>";
if ($ueberschreibbar)
{
$htmlstring .=
"<input type='button'
name='anlegen'
value='" . $p->t('benotungstool/anlegen') . "'
onclick='pruefungAnlegen(\"" . $uid . "\",\"\",\"\",\"\",\"\")'>
</span></td>";
onclick='pruefungAnlegen(\"" . $uid . "\",\"\",\"\",\"\",\"\")'>";
}
$htmlstring .= "</span></td>";
}
else
{
@@ -1445,7 +1467,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
}
else
{
if (! is_null($note_lv) || ! is_null($znote))
if ((! is_null($note_lv) || ! is_null($znote)) && $ueberschreibbar)
{
$htmlstring .= "
<td colspan='2'>
+17 -8
View File
@@ -42,6 +42,7 @@ class note extends basis_db
public $aktiv; // boolean
public $lehre; // boolean
public $offiziell; // boolean
public $lkt_ueberschreibbar; // boolean
public $bezeichnung_mehrsprachig; // varchar (64)[]
/**
@@ -78,7 +79,8 @@ class note extends basis_db
notenwert,
aktiv,
lehre,
offiziell,
offiziell,
lkt_ueberschreibbar,
$bezeichnung_mehrsprachig
FROM
lehre.tbl_note
@@ -98,6 +100,7 @@ class note extends basis_db
$this->lehre = $this->db_parse_bool($row->lehre);
$this->aktiv = $this->db_parse_bool($row->aktiv);
$this->offiziell = $this->db_parse_bool($row->offiziell);
$this->lkt_ueberschreibbar = $this->db_parse_bool($row->lkt_ueberschreibbar);
$this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row);
return true;
}
@@ -151,7 +154,7 @@ class note extends basis_db
$idx = sprache::$index_arr[$key];
$qry .= " bezeichnung_mehrsprachig[$idx],";
}
$qry .= ' offiziell) VALUES('.
$qry .= ' offiziell, lkt_ueberschreibbar) VALUES('.
$this->db_add_param($this->note).', '.
$this->db_add_param($this->bezeichnung).', '.
$this->db_add_param($this->anmerkung).', '.
@@ -163,8 +166,9 @@ class note extends basis_db
foreach($this->bezeichnung_mehrsprachig as $key=>$value)
$qry .= $this->db_add_param($value).',';
$qry .= $this->db_add_param($this->offiziell, FHC_BOOLEAN).');';
$qry .= $this->db_add_param($this->offiziell, FHC_BOOLEAN);
$qry .= $this->db_add_param($this->lkt_ueberschreibbar, FHC_BOOLEAN).');';
}
else
@@ -184,7 +188,8 @@ class note extends basis_db
$qry .= " bezeichnung_mehrsprachig[$idx]=".$this->db_add_param($value).", ";
}
$qry .= ' offiziell='.$this->db_add_param($this->offiziell, FHC_BOOLEAN).' '.
$qry .= ' offiziell='.$this->db_add_param($this->offiziell, FHC_BOOLEAN).', '.
$qry .= ' lkt_ueberschreibbar='.$this->db_add_param($this->lkt_ueberschreibbar, FHC_BOOLEAN).' '.
'WHERE note='.$this->db_add_param($this->note).';';
@@ -218,7 +223,8 @@ class note extends basis_db
notenwert,
aktiv,
lehre,
offiziell,
offiziell,
lkt_ueberschreibbar,
$bezeichnung_mehrsprachig
FROM
lehre.tbl_note ";
@@ -242,7 +248,8 @@ class note extends basis_db
$n->notenwert = $row->notenwert;
$n->aktiv = $this->db_parse_bool($row->aktiv);
$n->lehre = $this->db_parse_bool($row->lehre);
$n->offiziell = $this->db_parse_bool($row->lehre);
$n->offiziell = $this->db_parse_bool($row->offiziell);
$n->lkt_ueberschreibbar = $this->db_parse_bool($row->lkt_ueberschreibbar);
$n->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$this->result[] = $n;
@@ -274,6 +281,7 @@ class note extends basis_db
aktiv,
lehre,
offiziell,
lkt_ueberschreibbar,
$bezeichnung_mehrsprachig
FROM
lehre.tbl_note
@@ -299,7 +307,8 @@ class note extends basis_db
$n->notenwert = $row->notenwert;
$n->aktiv = $this->db_parse_bool($row->aktiv);
$n->lehre = $this->db_parse_bool($row->lehre);
$n->offiziell = $this->db_parse_bool($row->lehre);
$n->offiziell = $this->db_parse_bool($row->offiziell);
$n->lkt_ueberschreibbar = $this->db_parse_bool($row->lkt_ueberschreibbar);
$n->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$this->result[] = $n;
+1
View File
@@ -149,6 +149,7 @@ $this->phrasen['benotungstool/pruefungAnlegenFuer']='Prüfung anlegen für';
$this->phrasen['benotungstool/kreuzerltool']='Kreuzerltool';
$this->phrasen['benotungstool/studentIstLvNichtZugeordnet']='Der Student %s %s (%s) ist dieser Lehrveranstaltung nicht zugeordnet. Die Note wird nicht uebernommen!';
$this->phrasen['benotungstool/studentMitMatrikelnummerExistiertNicht']='Student mit Matrikelnummer %s existiert nicht.';
$this->phrasen['benotungstool/noteNichtUeberschreibbar']='Für Student mit Matrikelnummer %s eingetragene Zeugnisote %s ist nicht überschreibbar';
$this->phrasen['benotungstool/fehlerhafteNoteBeiStudent']='Fehlerhafte Note bei Student %s %s';
$this->phrasen['benotungstool/keineKreuzerllistenFuerDieseLehrveranstaltung']='Derzeit gibt es keine Kreuzerllisten für diese Lehrveranstaltung';
$this->phrasen['benotungstool/notenuebersichtFuer']='Notenübersicht</a> für';
+1
View File
@@ -148,6 +148,7 @@ $this->phrasen['benotungstool/pruefungAnlegenFuer']='Create an examination for '
$this->phrasen['benotungstool/kreuzerltool']='"Kreuzerl" tool';
$this->phrasen['benotungstool/studentIstLvNichtZugeordnet']='Student is not assigned to this course. The grade was not accepted!';
$this->phrasen['benotungstool/studentMitMatrikelnummerExistiertNicht']='Student with student ID number %s does not exist.';
$this->phrasen['benotungstool/noteNichtUeberschreibbar']='Transcript grade %2$s for student with Personal identifier %1$s is not rewritable';
$this->phrasen['benotungstool/fehlerhafteNoteBeiStudent']='Incorrect grade for student %s %s';
$this->phrasen['benotungstool/keineKreuzerllistenFuerDieseLehrveranstaltung']='There are currently no checklists for this course';
$this->phrasen['benotungstool/notenuebersichtFuer']='Grade list</a> for';
+11
View File
@@ -506,6 +506,17 @@ if(!$result = @$db->db_query("SELECT offiziell FROM lehre.tbl_note LIMIT 1;"))
echo '<br>lehre.tbl_note: Spalte offiziell hinzugefuegt!<br>';
}
// Spalte lkt_ueberschreibbar in lehre.tbl_note
if(!$result = @$db->db_query("SELECT lkt_ueberschreibbar FROM lehre.tbl_note LIMIT 1;"))
{
$qry = "ALTER TABLE lehre.tbl_note ADD COLUMN lkt_ueberschreibbar boolean NOT NULL DEFAULT true;";
if(!$db->db_query($qry))
echo '<strong>lehre.tbl_note: '.$db->db_last_error().'</strong><br>';
else
echo '<br>lehre.tbl_note: Spalte lkt_ueberschreibbar hinzugefuegt!<br>';
}
// Spalte bezeichnung_mehrsprachig in lehre.tbl_note
if(!$result = @$db->db_query("SELECT bezeichnung_mehrsprachig FROM lehre.tbl_note LIMIT 1"))
{