mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 16:32:20 +00:00
WIP noten/pruefung import
This commit is contained in:
@@ -31,9 +31,17 @@ class Benotungstool extends Auth_Controller
|
||||
|
||||
// TODO: check if related CIS config is also loaded when being routed in Cis4 by vuerouter
|
||||
// TODO: check if new benotungstool should be configurable the exact same way?
|
||||
|
||||
|
||||
$viewData = array(
|
||||
'uid'=>getAuthUID(),
|
||||
'CIS_GESAMTNOTE_UEBERSCHREIBEN' => CIS_GESAMTNOTE_UEBERSCHREIBEN
|
||||
'CIS_GESAMTNOTE_UEBERSCHREIBEN' => CIS_GESAMTNOTE_UEBERSCHREIBEN,
|
||||
'CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF' => CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF,
|
||||
'CIS_GESAMTNOTE_PRUEFUNG_TERMIN3' => CIS_GESAMTNOTE_PRUEFUNG_TERMIN3,
|
||||
'CIS_GESAMTNOTE_PRUEFUNG_TERMIN2' => CIS_GESAMTNOTE_PRUEFUNG_TERMIN2,
|
||||
'CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE' => CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE,
|
||||
'CIS_GESAMTNOTE_PUNKTE' => CIS_GESAMTNOTE_PUNKTE,
|
||||
'CIS_GESAMTNOTE_GEWICHTUNG' => CIS_GESAMTNOTE_GEWICHTUNG
|
||||
);
|
||||
|
||||
$this->load->view('CisRouterView/CisRouterView.php', ['viewData' => $viewData, 'route' => 'Benotungstool']);
|
||||
|
||||
@@ -35,7 +35,8 @@ class Noten extends FHCAPI_Controller
|
||||
'getNotenvorschlagStudent' => self::PERM_LOGGED,
|
||||
'saveNotenvorschlag' => self::PERM_LOGGED,
|
||||
'saveStudentPruefung' => self::PERM_LOGGED,
|
||||
'createPruefungen' => self::PERM_LOGGED
|
||||
'createPruefungen' => self::PERM_LOGGED,
|
||||
'saveNotenvorschlagBulk' => self::PERM_LOGGED
|
||||
]);
|
||||
|
||||
$this->load->library('AuthLib', null, 'AuthLib');
|
||||
@@ -108,6 +109,8 @@ class Noten extends FHCAPI_Controller
|
||||
}
|
||||
|
||||
// send $grades reference to moodle addon
|
||||
|
||||
// TODO: event getExterneNoten
|
||||
Events::trigger(
|
||||
'moodleGrades',
|
||||
function & () use (&$grades)
|
||||
@@ -556,6 +559,72 @@ class Noten extends FHCAPI_Controller
|
||||
|
||||
$this->terminateWithSuccess(array($ret, $lvgesamtnote));
|
||||
}
|
||||
|
||||
public function saveNotenvorschlagBulk() {
|
||||
$result = $this->getPostJSON();
|
||||
|
||||
if(!property_exists($result, 'lv_id') || !property_exists($result, 'sem_kurzbz') ||
|
||||
!property_exists($result, 'noten')) {
|
||||
$this->terminateWithError($this->p->t('global', 'missingParameters'), 'general');
|
||||
}
|
||||
|
||||
$lv_id = $result->lv_id;
|
||||
$sem_kurzbz = $result->sem_kurzbz;
|
||||
$noten = $result->noten;
|
||||
|
||||
$retLvNoten = [];
|
||||
$responseMsgs = [];
|
||||
|
||||
foreach($noten as $note)
|
||||
{
|
||||
$lvgesamtnote = new lvgesamtnote();
|
||||
if (!$lvgesamtnote->load($lv_id, $note->uid, $sem_kurzbz))
|
||||
{
|
||||
$lvgesamtnote->student_uid = $note->uid;
|
||||
$lvgesamtnote->lehrveranstaltung_id = $lv_id;
|
||||
$lvgesamtnote->studiensemester_kurzbz = $sem_kurzbz;
|
||||
$lvgesamtnote->note = trim($note->note);
|
||||
$lvgesamtnote->mitarbeiter_uid = getAuthUID();
|
||||
$lvgesamtnote->benotungsdatum = date("Y-m-d H:i:s");
|
||||
$lvgesamtnote->freigabedatum = null;
|
||||
$lvgesamtnote->freigabevon_uid = null;
|
||||
$lvgesamtnote->bemerkung = null;
|
||||
$lvgesamtnote->updateamum = null;
|
||||
$lvgesamtnote->updatevon = null;
|
||||
$lvgesamtnote->insertamum = date("Y-m-d H:i:s");
|
||||
$lvgesamtnote->insertvon = getAuthUID();
|
||||
$lvgesamtnote->punkte =// TODO: deprecated?
|
||||
$new = true;
|
||||
$response = "neu";
|
||||
}
|
||||
else
|
||||
{
|
||||
$lvgesamtnote->note = trim($note->note);
|
||||
$lvgesamtnote->punkte = null; // TODO: deprecated?
|
||||
$lvgesamtnote->benotungsdatum = date("Y-m-d H:i:s");
|
||||
$lvgesamtnote->updateamum = date("Y-m-d H:i:s");
|
||||
$lvgesamtnote->updatevon = getAuthUID();
|
||||
$new = false;
|
||||
if ($lvgesamtnote->freigabedatum)
|
||||
$response = "update_f";
|
||||
else
|
||||
$response = "update";
|
||||
}
|
||||
|
||||
if (!$lvgesamtnote->save($new))
|
||||
$responseMsgs[] = $lvgesamtnote->errormsg;
|
||||
else
|
||||
$responseMsgs[] = $response;
|
||||
|
||||
|
||||
$lvgesamtnote->load($lv_id, $note->uid, $sem_kurzbz);
|
||||
|
||||
$retLvNoten[] = $lvgesamtnote;
|
||||
}
|
||||
|
||||
$this->terminateWithSuccess(array($retLvNoten, $responseMsgs));
|
||||
|
||||
}
|
||||
|
||||
public function createPruefungen() {
|
||||
$result = $this->getPostJSON();
|
||||
|
||||
@@ -26,7 +26,8 @@ $includesArray = array(
|
||||
'vendor/npm-asset/primevue/accordion/accordion.js',
|
||||
'vendor/npm-asset/primevue/accordiontab/accordiontab.js',
|
||||
'vendor/npm-asset/primevue/password/password.js',
|
||||
'vendor/npm-asset/primevue/multiselect/multiselect.js'
|
||||
'vendor/npm-asset/primevue/multiselect/multiselect.js',
|
||||
'vendor/npm-asset/primevue/textarea/textarea.js'
|
||||
),
|
||||
'customJSModules' => array(
|
||||
'public/js/apps/Dashboard/Fhc.js'
|
||||
|
||||
Reference in New Issue
Block a user