mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-18 15:32:17 +00:00
Import der Noten im FAS und CIS importiert jetzt entweder Noten oder Punkte
Wenn die Punkteeingabe aktiviert ist, werden Punkte importiert sonst Noten
This commit is contained in:
@@ -40,6 +40,7 @@ require_once('../../../../include/benutzer.class.php');
|
||||
require_once('../../../../include/student.class.php');
|
||||
require_once('../../../../include/phrasen.class.php');
|
||||
require_once('../../../../include/zeugnisnote.class.php');
|
||||
require_once('../../../../include/notenschluessel.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
|
||||
@@ -115,13 +116,22 @@ function savenote($db,$lvid, $student_uid, $note, $punkte=null)
|
||||
//Ermitteln ob der Student diesem Kurs zugeteilt ist
|
||||
$qry = "SELECT 1 FROM campus.vw_student_lehrveranstaltung WHERE uid=".$db->db_add_param($student_uid)." AND lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER);
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$student = new student();
|
||||
$student->load($student_uid);
|
||||
return $p->t('benotungstool/studentIstLvNichtZugeordnet', array($student->nachname, $student->vorname, trim($student->matrikelnr)))."\n";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Wenn punkte vorhanden sind, dann die note dazu ermitteln
|
||||
if($punkte!='' && $note=='')
|
||||
{
|
||||
$notenschluessel = new notenschluessel();
|
||||
$note = $notenschluessel->getNote($punkte, $lvid, $stsem);
|
||||
}
|
||||
|
||||
$lvgesamtnote = new lvgesamtnote();
|
||||
if (!$lvgesamtnote->load($lvid, $student_uid, $stsem))
|
||||
{
|
||||
@@ -182,10 +192,21 @@ if (isset($_REQUEST["submit"]))
|
||||
if(mb_strstr(mb_strtolower($row), 'matrikelnr_'))
|
||||
{
|
||||
$id=mb_substr($row, mb_strlen('matrikelnr_'));
|
||||
if(isset($_POST['matrikelnr_'.$id]) && isset($_POST['note_'.$id]))
|
||||
if(isset($_POST['matrikelnr_'.$id]) && (isset($_POST['note_'.$id]) || isset($_POST['punkte_'.$id])))
|
||||
{
|
||||
$matrikelnummer = $_POST['matrikelnr_'.$id];
|
||||
$note = $_POST['note_'.$id];
|
||||
$note=null;
|
||||
$punkte=null;
|
||||
if(isset($_POST['note_'.$id]))
|
||||
$note = $_POST['note_'.$id];
|
||||
elseif(isset($_POST['punkte_'.$id]))
|
||||
$punkte = $_POST['punkte_'.$id];
|
||||
else
|
||||
{
|
||||
$response.="\nNote oder Punkte fehlen";
|
||||
continue;
|
||||
}
|
||||
$punkte=str_replace(',','.', $punkte);
|
||||
//UID ermitteln
|
||||
$student = new student();
|
||||
if(!$student_uid = $student->getUidFromMatrikelnummer($matrikelnummer))
|
||||
@@ -195,12 +216,13 @@ 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;
|
||||
|
||||
$val=savenote($db,$lvid, $student_uid, $note);
|
||||
*/
|
||||
$val=savenote($db,$lvid, $student_uid, $note, $punkte);
|
||||
if($val!='neu' && $val!='update' && $val!='update_f')
|
||||
$response.=$val;
|
||||
}
|
||||
|
||||
@@ -486,7 +486,13 @@ foreach($noten_obj->result as $row)
|
||||
if(zeile[0]!='' && zeile[1]!='')
|
||||
{
|
||||
gradedata['matrikelnr_'+i]=zeile[0];
|
||||
gradedata['note_'+i]= zeile[1];
|
||||
<?php
|
||||
if(CIS_GESAMTNOTE_PUNKTE)
|
||||
echo "gradedata['punkte_'+i]= zeile[1];";
|
||||
else
|
||||
echo "gradedata['note_'+i]= zeile[1];";
|
||||
?>
|
||||
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -259,7 +259,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
|
||||
</template>
|
||||
</menulist>
|
||||
<label value="Punkte" control="lehrveranstaltung-noten-textbox-punkte" hidden="<?php echo $punktehidden; ?>"/>
|
||||
<textbox id="lehrveranstaltung-noten-textbox-punkte" disabled="true" hidden="<?php echo $punktehidden; ?>"/>
|
||||
<textbox id="lehrveranstaltung-noten-textbox-punkte" oninput="LehrveranstaltungNotenPunkteChange()" disabled="true" hidden="<?php echo $punktehidden; ?>"/>
|
||||
<button id="lehrveranstaltung-noten-button-speichern" oncommand="LehrveranstaltungNoteSpeichern()" label="Speichern" disabled="true" hidden="<?php echo $punktehidden; ?>"/>
|
||||
<spacer flex="1" />
|
||||
<button id="lehrveranstaltung-noten-button-import" label="Notenimport" oncommand="LehrveranstaltungNotenImport();" />
|
||||
|
||||
@@ -1767,7 +1767,13 @@ function LehrveranstaltungNotenImport()
|
||||
if(zeile[0]!='' && zeile[1]!='')
|
||||
{
|
||||
req.add('matrikelnummer_'+i, zeile[0]);
|
||||
req.add('note_'+i, zeile[1]);
|
||||
<?php
|
||||
if(CIS_GESAMTNOTE_PUNKTE)
|
||||
echo "req.add('punkte_'+i, zeile[1]);";
|
||||
else
|
||||
echo "req.add('note_'+i, zeile[1]);";
|
||||
?>
|
||||
|
||||
i++;
|
||||
}
|
||||
}
|
||||
@@ -1795,6 +1801,47 @@ function LehrveranstaltungNotenImport()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Wird aufgerufen wenn Punkte zu einer Note eingetragen werden
|
||||
* Laedt die Note anhand des Notenschluessels
|
||||
*/
|
||||
function LehrveranstaltungNotenPunkteChange()
|
||||
{
|
||||
var punkte = document.getElementById('lehrveranstaltung-noten-textbox-punkte').value;
|
||||
punkte = punkte.replace(',','.');
|
||||
if(punkte!='')
|
||||
{
|
||||
var tree=document.getElementById('lehrveranstaltung-noten-tree');
|
||||
//Ausgewaehlte LV holen
|
||||
var col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-lehrveranstaltung_id"] : "lehrveranstaltung-noten-tree-lehrveranstaltung_id";
|
||||
var lehrveranstaltung_id=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'getnotenotenschluessel');
|
||||
|
||||
req.add('lehrveranstaltung_id', lehrveranstaltung_id);
|
||||
req.add('punkte', punkte);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if(val.dbdml_errormsg=='')
|
||||
alert(response);
|
||||
else
|
||||
alert(val.dbdml_errormsg);
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('lehrveranstaltung-noten-menulist-note').value=val.dbdml_data;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Erstellt das Zertifikat fuer die Freifaecher
|
||||
// ****
|
||||
|
||||
@@ -61,6 +61,7 @@ require_once('../../include/pruefling.class.php');
|
||||
require_once('../../include/mail.class.php');
|
||||
require_once('../../include/kontakt.class.php');
|
||||
require_once('../../include/dms.class.php');
|
||||
require_once('../../include/notenschluessel.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
$db = new basis_db();
|
||||
@@ -2372,6 +2373,37 @@ if(!$error)
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='getnotenotenschluessel')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('admin', null, 's') && !$rechte->isBerechtigt('assistenz', null, 's') &&
|
||||
!$rechte->isBerechtigt('student/noten', null, 's'))
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = 'Sie haben keine Berechtigung';
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
$punkte=$_POST['punkte'];
|
||||
$lehrveranstaltung_id=$_POST['lehrveranstaltung_id'];
|
||||
$studiensemester_kurzbz=$semester_aktuell;
|
||||
|
||||
$notenschluessel = new notenschluessel();
|
||||
if($note = $notenschluessel->getNote($punkte, $lehrveranstaltung_id, $studiensemester_kurzbz))
|
||||
{
|
||||
$return = true;
|
||||
$error = false;
|
||||
$data = $note;
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg=$notenschluessel->errormsg;
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='savenote')
|
||||
{
|
||||
//Speichert einen Noteneintrag
|
||||
@@ -2607,7 +2639,7 @@ if(!$error)
|
||||
{
|
||||
$zeugnisnote = new zeugnisnote();
|
||||
$error = false;
|
||||
if(!is_numeric(trim($_POST['matrikelnummer_'.$i])) || !is_numeric($_POST['note_'.$i]))
|
||||
if(!is_numeric(trim($_POST['matrikelnummer_'.$i])) || (isset($_POST['note_'.$i]) && !is_numeric($_POST['note_'.$i])))
|
||||
{
|
||||
$error = true;
|
||||
$errormsg = "\nMatrikelnummer oder Note ist ungueltig: ".$_POST['matrikelnummer_'.$i].' - '.$_POST['note_'.$i];
|
||||
@@ -2690,7 +2722,19 @@ if(!$error)
|
||||
$zeugnisnote->studiensemester_kurzbz = $semester_aktuell;
|
||||
}
|
||||
|
||||
$zeugnisnote->note = $_POST['note_'.$i];
|
||||
if(isset($_POST['note_'.$i]))
|
||||
{
|
||||
$zeugnisnote->note = $_POST['note_'.$i];
|
||||
$zeugnisnote->punkte = null;
|
||||
}
|
||||
elseif(isset($_POST['punkte_'.$i]))
|
||||
{
|
||||
$zeugnisnote->punkte=$_POST['punkte_'.$i];
|
||||
$zeugnisnote->punkte = str_replace(',','.', $zeugnisnote->punkte);
|
||||
$notenschluessel = new notenschluessel();
|
||||
$note = $notenschluessel->getNote($zeugnisnote->punkte, $_POST['lehrveranstaltung_id'], $semester_aktuell);
|
||||
$zeugnisnote->note = $note;
|
||||
}
|
||||
$zeugnisnote->uebernahmedatum = date('Y-m-d H:i:s');
|
||||
$zeugnisnote->benotungsdatum = date('Y-m-d H:i:s');
|
||||
|
||||
|
||||
@@ -249,7 +249,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
|
||||
</template>
|
||||
</menulist>
|
||||
<label value="Punkte" control="student-noten-textbox-punkte" hidden="<?php echo $punktehidden; ?>"/>
|
||||
<textbox id="student-noten-textbox-punkte" disabled="true" hidden="<?php echo $punktehidden; ?>"/>
|
||||
<textbox id="student-noten-textbox-punkte" oninput="StudentNotenPunkteChange()" disabled="true" hidden="<?php echo $punktehidden; ?>"/>
|
||||
|
||||
<button id="student-noten-button-speichern" oncommand="StudentNoteSpeichern()" label="Speichern" disabled="true" hidden="<?php echo $punktehidden; ?>"/>
|
||||
|
||||
|
||||
@@ -3722,6 +3722,46 @@ function StudentNotenDelete()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Wird aufgerufen wenn Punkte zu einer Note eingetragen werden
|
||||
* Laedt die Note anhand des Notenschluessels
|
||||
*/
|
||||
function StudentNotenPunkteChange()
|
||||
{
|
||||
var punkte = document.getElementById('student-noten-textbox-punkte').value;
|
||||
punkte = punkte.replace(',','.');
|
||||
if(punkte!='')
|
||||
{
|
||||
var tree=document.getElementById('student-noten-tree');
|
||||
//Ausgewaehlte LV holen
|
||||
var col = tree.columns ? tree.columns["student-noten-tree-lehrveranstaltung_id"] : "student-noten-tree-lehrveranstaltung_id";
|
||||
var lehrveranstaltung_id=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'getnotenotenschluessel');
|
||||
|
||||
req.add('lehrveranstaltung_id', lehrveranstaltung_id);
|
||||
req.add('punkte', punkte);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if(val.dbdml_errormsg=='')
|
||||
alert(response);
|
||||
else
|
||||
alert(val.dbdml_errormsg);
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('student-noten-menulist-note').value=val.dbdml_data;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// **************** PRUEFUNG ************** //
|
||||
|
||||
|
||||
Reference in New Issue
Block a user