mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-16 22:42:16 +00:00
Merge master into feature-60875/FHC4_Studierendenverwaltung_Anrechnungen
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
<?php
|
||||
/**
|
||||
* FH-Complete
|
||||
*
|
||||
* @package FHC-API
|
||||
* @author FHC-Team
|
||||
* @copyright Copyright (c) 2016, fhcomplete.org
|
||||
* @license GPLv3
|
||||
* @link http://fhcomplete.org
|
||||
* @since Version 1.0
|
||||
* @filesource
|
||||
*/
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class Studienjahr extends FHCAPI_Controller
|
||||
{
|
||||
/**
|
||||
* Studienjahr API constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(
|
||||
array(
|
||||
'getAll' => self::PERM_LOGGED,
|
||||
'getNext' => self::PERM_LOGGED
|
||||
)
|
||||
);
|
||||
// Load model StudiensemesterModel
|
||||
$this->load->model('organisation/studienjahr_model', 'StudienjahrModel');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all Studienjahre.
|
||||
*
|
||||
* @param null|string $order Sorting order for the Studienjahr, 'asc' or 'desc'. Defaults to 'asc'.
|
||||
* @param null|string $start Starting Studienjahre with given studienjahr_kurzbz
|
||||
*/
|
||||
public function getAll()
|
||||
{
|
||||
$order = $this->input->get('order');
|
||||
$start = $this->input->get('studienjahr_kurzbz');
|
||||
|
||||
if (strcasecmp($order, 'DESC') == 0) {
|
||||
$this->StudienjahrModel->addOrder('studienjahr_kurzbz', 'DESC');
|
||||
} else {
|
||||
$this->StudienjahrModel->addOrder('studienjahr_kurzbz', 'ASC');
|
||||
}
|
||||
|
||||
if ($start) {
|
||||
$result = $this->StudienjahrModel->loadWhere([
|
||||
'studienjahr_kurzbz >= ' => $start
|
||||
]);
|
||||
} else {
|
||||
$result = $this->StudienjahrModel->load();
|
||||
}
|
||||
|
||||
if (isError($result)) {
|
||||
$this->terminateWithError(getError($result), self::ERROR_TYPE_DB);
|
||||
}
|
||||
|
||||
$this->terminateWithSuccess((getData($result) ?: []));
|
||||
}
|
||||
|
||||
public function getNext()
|
||||
{
|
||||
$this->StudienjahrModel->addJoin('public.tbl_studiensemester', 'studienjahr_kurzbz');
|
||||
$this->StudienjahrModel->addOrder('start');
|
||||
$this->StudienjahrModel->addLimit(1);
|
||||
|
||||
$result = $this->StudienjahrModel->loadWhere(['start >' => 'NOW()']);
|
||||
|
||||
if (isError($result)) {
|
||||
$this->terminateWithError(getError($result), self::ERROR_TYPE_DB);
|
||||
}
|
||||
|
||||
$this->terminateWithSuccess(current(getData($result)));
|
||||
}
|
||||
}
|
||||
@@ -24,7 +24,8 @@ class Studiensemester extends FHCAPI_Controller
|
||||
parent::__construct(
|
||||
array(
|
||||
'getAll' => self::PERM_LOGGED,
|
||||
'getAktNext' => self::PERM_LOGGED
|
||||
'getAktNext' => self::PERM_LOGGED,
|
||||
'getStudienjahrByStudiensemester' => self::PERM_LOGGED
|
||||
)
|
||||
);
|
||||
// Load model StudiensemesterModel
|
||||
@@ -115,4 +116,40 @@ class Studiensemester extends FHCAPI_Controller
|
||||
|
||||
$this->terminateWithSuccess((getData($result) ?: ''));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Studienjahr by Studiensemester.
|
||||
* input param semester: studiensemester_kurzbz
|
||||
*/
|
||||
public function getStudienjahrByStudiensemester()
|
||||
{
|
||||
$semester = $this->input->get('semester');
|
||||
|
||||
$studienjahrObj = null;
|
||||
|
||||
if (!is_numeric($semester))
|
||||
{
|
||||
$this->StudiensemesterModel->addSelect('studienjahr_kurzbz');
|
||||
$result = $this->StudiensemesterModel->loadWhere(array('studiensemester_kurzbz =' => $semester));
|
||||
}
|
||||
|
||||
if (hasData($result))
|
||||
{
|
||||
$studienjahr = getData($result)[0]->studienjahr_kurzbz;
|
||||
$startstudienjahr = substr($studienjahr, 0, 4);
|
||||
$endstudienjahr = substr($studienjahr, 0, 2) . substr($studienjahr, -2);
|
||||
|
||||
$studienjahrObj = new StdClass();
|
||||
|
||||
$studienjahrObj->studienjahr_kurzbz = $studienjahr;
|
||||
$studienjahrObj->startstudienjahr = $startstudienjahr;
|
||||
$studienjahrObj->endstudienjahr= $endstudienjahr;
|
||||
}
|
||||
|
||||
if (isError($result)) {
|
||||
$this->terminateWithError(getError($result), self::ERROR_TYPE_DB);
|
||||
}
|
||||
|
||||
$this->terminateWithSuccess((getData(success($studienjahrObj))));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,6 +156,8 @@ class Student extends FHCAPI_Controller
|
||||
|
||||
$uid = $student ? current($student)->student_uid : null;
|
||||
|
||||
$studiengang_kz = $student ? current($student)->studiengang_kz : null;
|
||||
|
||||
$result = $this->PrestudentModel->loadWhere(['prestudent_id' => $prestudent_id]);
|
||||
|
||||
$person = $this->getDataOrTerminateWithError($result);
|
||||
@@ -231,10 +233,27 @@ class Student extends FHCAPI_Controller
|
||||
|
||||
// Do Updates
|
||||
if (count($update_lehrverband)) {
|
||||
$result = $this->StudentlehrverbandModel->update([
|
||||
$curstudlvb = $this->StudentlehrverbandModel->load([
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz,
|
||||
'student_uid' => $uid
|
||||
], $update_lehrverband);
|
||||
]);
|
||||
|
||||
if(hasData($curstudlvb) && count(getData($curstudlvb)) > 0 )
|
||||
{
|
||||
$result = $this->StudentlehrverbandModel->update([
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz,
|
||||
'student_uid' => $uid
|
||||
], $update_lehrverband);
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = $this->StudentlehrverbandModel->insert(array_merge([
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz,
|
||||
'student_uid' => $uid,
|
||||
'studiengang_kz' => $studiengang_kz
|
||||
], $update_lehrverband));
|
||||
}
|
||||
|
||||
$this->getDataOrTerminateWithError($result);
|
||||
}
|
||||
|
||||
|
||||
@@ -52,6 +52,7 @@ class OneTimeMessages extends JOB_Controller
|
||||
JOIN public.tbl_prestudentstatus ps USING (prestudent_id)
|
||||
JOIN public.tbl_studiengang s USING (studiengang_kz)
|
||||
WHERE get_rolle_prestudent(ps.prestudent_id, NULL) = \'Wartender\'
|
||||
AND ps.status_kurzbz = \'Wartender\'
|
||||
AND ps.studiensemester_kurzbz = ?
|
||||
AND ps.datum <= NOW() - \''.$days.' days\'::interval
|
||||
AND s.typ = ?
|
||||
|
||||
@@ -821,7 +821,7 @@ class ReihungstestJob extends JOB_Controller
|
||||
JOIN lehre.tbl_studienordnung USING (studienordnung_id)
|
||||
JOIN PUBLIC.tbl_studiengang ON (tbl_studienordnung.studiengang_kz = tbl_studiengang.studiengang_kz)
|
||||
WHERE get_rolle_prestudent (tbl_prestudent.prestudent_id, ?) IN ('Aufgenommener','Bewerber','Wartender','Abgewiesener')
|
||||
AND studiensemester_kurzbz = ?
|
||||
AND studiensemester_kurzbz = ?
|
||||
AND tbl_studiengang.typ IN ('b', 'm')
|
||||
)
|
||||
SELECT * FROM prst
|
||||
@@ -861,7 +861,7 @@ class ReihungstestJob extends JOB_Controller
|
||||
{
|
||||
// Alle niedrigeren Prios laden
|
||||
$qryNiedrPrios = "
|
||||
SELECT DISTINCT
|
||||
SELECT DISTINCT ON(prestudent_id)
|
||||
get_rolle_prestudent (tbl_prestudent.prestudent_id, '".$row_ps->studiensemester_kurzbz."') AS laststatus,
|
||||
tbl_studienplan.orgform_kurzbz,
|
||||
tbl_person.nachname,
|
||||
@@ -880,7 +880,7 @@ class ReihungstestJob extends JOB_Controller
|
||||
AND studiensemester_kurzbz = '".$row_ps->studiensemester_kurzbz."'
|
||||
AND tbl_studiengang.typ IN ('b', 'm')
|
||||
AND priorisierung > ".$row_ps->priorisierung."
|
||||
ORDER BY studiengang_kz, laststatus
|
||||
ORDER BY prestudent_id, studiengang_kz, laststatus, tbl_prestudentstatus.datum DESC
|
||||
";
|
||||
|
||||
// Wenn der letzte Status "Aufgenommener" ist, alle niedrigeren Prios auf "Abgewiesen" setzen
|
||||
@@ -976,7 +976,7 @@ class ReihungstestJob extends JOB_Controller
|
||||
FROM public.tbl_konto
|
||||
WHERE person_id = " . $row_ps->person_id . "
|
||||
AND studiensemester_kurzbz = '" . $row_ps->studiensemester_kurzbz . "'
|
||||
AND buchungstyp_kurzbz = 'StudiengebuehrAnzahlung'";
|
||||
AND buchungstyp_kurzbz IN ('StudiengebuehrAnzahlung','KautionDrittStaat')";
|
||||
|
||||
$resultKautionExists = $db->execReadOnlyQuery($qryKautionExists);
|
||||
if (hasdata($resultKautionExists))
|
||||
|
||||
@@ -109,7 +109,7 @@ class PermissionLib
|
||||
|
||||
foreach($oe_kurzbz as $value)
|
||||
{
|
||||
$results[] = $this->isBerechtigt($berechtigung_kurzbz, $value, $art, $kostenstelle_id);
|
||||
$results[] = $this->isBerechtigt($berechtigung_kurzbz, $art, $value, $kostenstelle_id);
|
||||
}
|
||||
|
||||
if(!in_array(true, $results))
|
||||
|
||||
@@ -16,145 +16,21 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Lehrveranstaltungen by eventQuery string. Use with autocomplete event queries.
|
||||
* @param $eventQuery String
|
||||
* @param string $studiensemester_kurzbz Filter by Studiensemester
|
||||
* @param array $oes Filter by Organisationseinheiten
|
||||
* @return array
|
||||
*/
|
||||
public function getAutocompleteSuggestions($eventQuery, $studiensemester_kurzbz = null, $oes = null)
|
||||
{
|
||||
$subQry = $this->_getQryLvsByStudienplan($studiensemester_kurzbz, $oes);
|
||||
$params = [];
|
||||
|
||||
/* filter by input string */
|
||||
if (is_string($eventQuery)) {
|
||||
$subQry.= ' AND lv.bezeichnung ILIKE ?';
|
||||
$params[] = '%' . $eventQuery . '%';
|
||||
}
|
||||
|
||||
$qry = 'SELECT DISTINCT ON (lehrveranstaltung_id) * FROM ('. $subQry. ') AS tmp';
|
||||
|
||||
return $this->execQuery($qry, $params);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Lehrveranstaltungen with its Stg, OE and OE-type.
|
||||
* Filter by Studiensemester and Organisationseinheiten if necessary.
|
||||
* @param $eventQuery String
|
||||
* @param string $studiensemester_kurzbz Filter by Studiensemester
|
||||
* @param array $oes Filter by Organisationseinheiten
|
||||
* @param array $lv_ids Filter by Lehrveranstaltung-Ids
|
||||
* @return array
|
||||
*/
|
||||
public function getLvsByStudienplan($studiensemester_kurzbz = null, $oes = null, $lv_ids = null)
|
||||
{
|
||||
$subQry = $this->_getQryLvsByStudienplan($studiensemester_kurzbz, $oes);
|
||||
$qry = 'SELECT * FROM ('. $subQry. ') AS tmp';
|
||||
|
||||
if (isset($lv_ids) && is_array($lv_ids))
|
||||
{
|
||||
/* filter by lv_ids */
|
||||
$implodedLvIds = "'". implode("', '", $lv_ids). "'";
|
||||
$qry.= ' WHERE lehrveranstaltung_id IN ('. $implodedLvIds. ')';
|
||||
}
|
||||
|
||||
$qry.= ' ORDER BY stg_typ_kurzbz, orgform_kurzbz DESC';
|
||||
|
||||
return $this->execQuery($qry);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get basic query to retrieve Lehrveranstaltungen according to the Orgforms and Ausbildungssemesters actual Studienplan.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
private function _getQryLvsByStudienplan($studiensemester_kurzbz = null, $oes = null, $lehrtyp_kurzbz = 'lv')
|
||||
{
|
||||
$qry = '
|
||||
SELECT
|
||||
lv.oe_kurzbz AS lv_oe_kurzbz,
|
||||
CASE
|
||||
WHEN oe.organisationseinheittyp_kurzbz = \'Kompetenzfeld\' THEN (\'KF \' || oe.bezeichnung)
|
||||
WHEN oe.organisationseinheittyp_kurzbz = \'Department\' THEN (\'DEP \' || oe.bezeichnung)
|
||||
ELSE (oe.organisationseinheittyp_kurzbz || \' \' || oe.bezeichnung)
|
||||
END AS lv_oe_bezeichnung,
|
||||
stplsem.studiensemester_kurzbz,
|
||||
studienordnung_id,
|
||||
sto.studiengang_kz,
|
||||
stpl.studienplan_id,
|
||||
stplsem.semester,
|
||||
stpl.orgform_kurzbz,
|
||||
upper(stg.typ || stg.kurzbz) AS stg_typ_kurzbz,
|
||||
stg.bezeichnung AS stg_bezeichnung,
|
||||
stgtyp.bezeichnung AS stg_typ_bezeichnung,
|
||||
lv.lehrveranstaltung_id,
|
||||
lv.semester,
|
||||
lv.bezeichnung AS lv_bezeichnung,
|
||||
(
|
||||
-- comma seperated string of all lehreinheitgruppen
|
||||
SELECT string_agg(bezeichnung, \', \') AS lehreinheitgruppe_bezeichnung
|
||||
FROM(
|
||||
-- distinct bezeichnung, as may come multiple times from different lehreinheiten
|
||||
SELECT DISTINCT ON (studiengang_kz, bezeichnung) studiengang_kz, bezeichnung FROM
|
||||
(
|
||||
-- distinct lehreinheitgruppe, as may come multiple times from different lehrform
|
||||
SELECT DISTINCT ON (legr.lehreinheitgruppe_id) legr.studiengang_kz,
|
||||
-- get Spezialgruppe or Lehrverbandgruppe
|
||||
COALESCE(
|
||||
legr.gruppe_kurzbz,
|
||||
CONCAT( UPPER(stg1.typ), UPPER(stg1.kurzbz), \'-\', legr.semester, legr.verband, legr.gruppe )
|
||||
) as bezeichnung
|
||||
FROM lehre.tbl_lehreinheitgruppe legr
|
||||
JOIN lehre.tbl_lehreinheit le USING (lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung lv1 USING (lehrveranstaltung_id)
|
||||
JOIN public.tbl_studiengang stg1 ON stg1.studiengang_kz = legr.studiengang_kz
|
||||
WHERE lv1.lehrveranstaltung_id = lv.lehrveranstaltung_id
|
||||
AND le.studiensemester_kurzbz = stplsem.studiensemester_kurzbz
|
||||
) AS lehreinheitgruppen
|
||||
GROUP BY studiengang_kz, bezeichnung
|
||||
ORDER BY studiengang_kz DESC
|
||||
) AS uniqueLehreinheitgruppen_bezeichnung
|
||||
) AS lehreinheitgruppen_bezeichnung
|
||||
FROM
|
||||
lehre.tbl_studienplan stpl
|
||||
JOIN lehre.tbl_studienordnung sto USING (studienordnung_id)
|
||||
JOIN lehre.tbl_studienplan_semester stplsem USING (studienplan_id)
|
||||
JOIN lehre.tbl_studienplan_lehrveranstaltung stpllv ON (stpllv.studienplan_id = stpl.studienplan_id AND stpllv.semester = stplsem.semester)
|
||||
JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id)
|
||||
JOIN public.tbl_organisationseinheit oe USING (oe_kurzbz)
|
||||
JOIN public.tbl_studiengang stg ON stg.studiengang_kz = sto.studiengang_kz
|
||||
JOIN public.tbl_studiengangstyp stgtyp ON stgtyp.typ = stg.typ
|
||||
/* filter by lehrtyp_kurzbz, default is lvs only */
|
||||
WHERE
|
||||
lehrtyp_kurzbz = '. $this->db->escape($lehrtyp_kurzbz);
|
||||
|
||||
if (isset($studiensemester_kurzbz) && is_string($studiensemester_kurzbz))
|
||||
{
|
||||
/* filter by studiensemester */
|
||||
$qry.= ' AND stplsem.studiensemester_kurzbz = '. $this->db->escape($studiensemester_kurzbz);
|
||||
|
||||
}
|
||||
|
||||
if (isset($oes) && is_array($oes))
|
||||
{
|
||||
/* filter by organisationseinheit */
|
||||
$implodedOes = "'". implode("', '", $oes). "'";
|
||||
$qry.= ' AND lv.oe_kurzbz IN ('. $implodedOes. ')';
|
||||
}
|
||||
|
||||
return $qry;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all Templates and union with all Lehrveranstaltungen of given Studiensemester and Oes, that are assigned to
|
||||
* a template. This data structure can be used for nested tabulator data tree.
|
||||
* Get all Templates and its assigned Lehrveranstaltungen of given Studiensemester and Oes.
|
||||
* Lvs are queried via actual Studienordnung and Studienplan.
|
||||
*
|
||||
* @param null|string $studiensemester_kurzbz
|
||||
* @param null|array $oes
|
||||
* @param null $lehrveranstaltung_id Queries certain LV only
|
||||
* @return array|stdClass|null
|
||||
*/
|
||||
public function getTemplateLvTree($studiensemester_kurzbz = null, $oes = null){
|
||||
public function getTemplateLvTree($studiensemester_kurzbz = null, $oes = null, $studienjahr_kurzbz = null){
|
||||
|
||||
if (is_string($studiensemester_kurzbz) && is_string($studienjahr_kurzbz))
|
||||
{
|
||||
return error('Query not possible for both studiensemester and studienjahr');
|
||||
}
|
||||
|
||||
$params = [];
|
||||
$qry = '
|
||||
WITH
|
||||
@@ -189,6 +65,17 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
|
||||
}
|
||||
|
||||
if (is_string($studienjahr_kurzbz)) {
|
||||
/* filter by studiensemester */
|
||||
$params[] = $studienjahr_kurzbz;
|
||||
$qry .= '
|
||||
AND stplsem.studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE studienjahr_kurzbz = ?
|
||||
)';
|
||||
}
|
||||
|
||||
if (is_array($oes))
|
||||
{
|
||||
/* filter by organisationseinheit */
|
||||
@@ -300,7 +187,15 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
JOIN public.tbl_studiengangstyp stgtyp ON stgtyp.typ = stg.typ
|
||||
JOIN public.tbl_organisationseinheit oe ON oe.oe_kurzbz = lv.oe_kurzbz
|
||||
ORDER BY
|
||||
oe.bezeichnung, lv.semester, lv.bezeichnung
|
||||
-- Sort by lv.bezeichnung
|
||||
lv.bezeichnung,
|
||||
-- Within each group, ensure templates appear first
|
||||
CASE
|
||||
WHEN lv.lehrtyp_kurzbz = \'tpl\' THEN 0
|
||||
ELSE 1
|
||||
END,
|
||||
-- Ensure assigend lvs follow their template, grouped by lehrveranstaltung_template_id
|
||||
COALESCE(lv.lehrveranstaltung_template_id, lv.lehrveranstaltung_id)
|
||||
';
|
||||
|
||||
return $this->execQuery($qry, $params);
|
||||
@@ -811,6 +706,28 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
return $this->execQuery($qry);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if given LV is a template (Quellkurs)
|
||||
*
|
||||
* @param $lehrveranstaltung_id
|
||||
* @return array|stdClass|void
|
||||
*/
|
||||
public function checkIsTemplate($lehrveranstaltung_id)
|
||||
{
|
||||
$this->addSelect('lehrtyp_kurzbz, lehrveranstaltung_template_id');
|
||||
$result = $this->load($lehrveranstaltung_id);
|
||||
|
||||
if (isError($result))
|
||||
return error(getError($result));
|
||||
|
||||
if (hasData($result))
|
||||
{
|
||||
return success(
|
||||
getData($result)[0]->lehrtyp_kurzbz === 'tpl' &&
|
||||
getData($result)[0]->lehrveranstaltung_template_id === null
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get ECTS Summe pro angerechnetes Quereinstiegssemester.
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
class Studienjahr_model extends DB_Model
|
||||
{
|
||||
|
||||
@@ -29,6 +30,22 @@ class Studienjahr_model extends DB_Model
|
||||
|
||||
return $this->execQuery($query);
|
||||
}
|
||||
public function getNextStudienjahr()
|
||||
{
|
||||
$this->addJoin('public.tbl_studiensemester', 'studienjahr_kurzbz');
|
||||
$this->addOrder('start');
|
||||
$this->addLimit(1);
|
||||
|
||||
return $this->loadWhere(['start >' => 'NOW()']);
|
||||
}
|
||||
public function getNextFrom($studienjahr_kurzbz)
|
||||
{
|
||||
$this->addLimit(1);
|
||||
|
||||
return $this->loadWhere([
|
||||
'studienjahr_kurzbz >' => $studienjahr_kurzbz
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the current Studienjahr. During the summer term, continue using the previous Studienjahr.
|
||||
@@ -38,8 +55,7 @@ class Studienjahr_model extends DB_Model
|
||||
*/
|
||||
public function getLastOrAktStudienjahr($days = 60)
|
||||
{
|
||||
if (!is_numeric($days))
|
||||
{
|
||||
if (!is_numeric($days)) {
|
||||
$days = 60;
|
||||
}
|
||||
|
||||
@@ -63,8 +79,7 @@ class Studienjahr_model extends DB_Model
|
||||
*/
|
||||
public function getAktOrNextStudienjahr($days = 62)
|
||||
{
|
||||
if (!is_numeric($days))
|
||||
{
|
||||
if (!is_numeric($days)) {
|
||||
$days = 62;
|
||||
}
|
||||
|
||||
|
||||
@@ -225,7 +225,7 @@ class Studiensemester_model extends DB_Model
|
||||
|
||||
/**
|
||||
* @param string $student_uid
|
||||
*
|
||||
*
|
||||
* @return StdClass
|
||||
*/
|
||||
public function getWhereStudentHasLvs($student_uid)
|
||||
@@ -238,7 +238,7 @@ class Studiensemester_model extends DB_Model
|
||||
$this->db->where("v.lehreverzeichnis<>''");
|
||||
|
||||
$this->addOrder($this->dbTable . '.start');
|
||||
|
||||
|
||||
return $this->loadWhere(['uid' => $student_uid, 'v.lehre' => true]);
|
||||
}
|
||||
|
||||
@@ -291,6 +291,42 @@ class Studiensemester_model extends DB_Model
|
||||
return $studienjahrNumber;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Studienjahr by Studiensemester.
|
||||
*
|
||||
* @param $studiensemester_kurzbz
|
||||
* @return array|stdClass
|
||||
*/
|
||||
public function getStudienjahrByStudiensemester($studiensemester_kurzbz)
|
||||
{
|
||||
$studienjahrObj = null;
|
||||
|
||||
if (!is_numeric($studiensemester_kurzbz))
|
||||
{
|
||||
$this->StudiensemesterModel->addSelect('studienjahr_kurzbz');
|
||||
$result = $this->StudiensemesterModel->loadWhere(array('studiensemester_kurzbz =' => $studiensemester_kurzbz));
|
||||
}
|
||||
|
||||
if (hasData($result))
|
||||
{
|
||||
$studienjahr = getData($result)[0]->studienjahr_kurzbz;
|
||||
$startstudienjahr = substr($studienjahr, 0, 4);
|
||||
$endstudienjahr = substr($studienjahr, 0, 2) . substr($studienjahr, -2);
|
||||
|
||||
$studienjahrObj = new StdClass();
|
||||
|
||||
$studienjahrObj->studienjahr_kurzbz = $studienjahr;
|
||||
$studienjahrObj->startstudienjahr = $startstudienjahr;
|
||||
$studienjahrObj->endstudienjahr= $endstudienjahr;
|
||||
}
|
||||
|
||||
if (isError($result)) {
|
||||
return error(getError($result));
|
||||
}
|
||||
|
||||
return success($studienjahrObj);
|
||||
}
|
||||
|
||||
/**
|
||||
* Holt Start und Ende des Studiensemester_kurzbz
|
||||
* @param studiensemester_kurzbz
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
$STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
|
||||
$LOGDATA_NAME = '\'Message sent\'';
|
||||
$LOGDATA_VON = '\'online\'';
|
||||
$STUDIENGEBUEHR_ANZAHLUNG = '\'StudiengebuehrAnzahlung\'';
|
||||
$KAUTION_DRITT_STAAT = '\'KautionDrittStaat\'';
|
||||
|
||||
$query = '
|
||||
SELECT
|
||||
@@ -62,7 +62,7 @@ $query = '
|
||||
FROM public.tbl_konto konto
|
||||
WHERE konto.person_id = p.person_id
|
||||
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
|
||||
AND konto.buchungstyp_kurzbz = '. $STUDIENGEBUEHR_ANZAHLUNG .'
|
||||
AND konto.buchungstyp_kurzbz = '. $KAUTION_DRITT_STAAT .'
|
||||
) AS "Kaution"
|
||||
FROM
|
||||
public.tbl_prestudentstatus pss
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
$ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
|
||||
$AKTE_TYP = '\'identity\', \'zgv_bakk\'';
|
||||
$STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
|
||||
$STUDIENGEBUEHR_ANZAHLUNG = '\'StudiengebuehrAnzahlung\'';
|
||||
$KAUTION_DRITT_STAAT = '\'KautionDrittStaat\'';
|
||||
$ORG_NAME = '\'InfoCenter\'';
|
||||
$ONLINE = '\'online\'';
|
||||
|
||||
@@ -302,7 +302,7 @@
|
||||
FROM public.tbl_konto konto
|
||||
WHERE konto.person_id = p.person_id
|
||||
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
|
||||
AND konto.buchungstyp_kurzbz = '. $STUDIENGEBUEHR_ANZAHLUNG .'
|
||||
AND konto.buchungstyp_kurzbz = '. $KAUTION_DRITT_STAAT .'
|
||||
) AS "Kaution"
|
||||
FROM public.tbl_person p
|
||||
LEFT JOIN (
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
$ORG_NAME = '\'InfoCenter\'';
|
||||
$IDENTITY = '\'identity\'';
|
||||
$ONLINE = '\'online\'';
|
||||
$STUDIENGEBUEHR_ANZAHLUNG = '\'StudiengebuehrAnzahlung\'';
|
||||
$KAUTION_DRITT_STAAT = '\'KautionDrittStaat\'';
|
||||
|
||||
|
||||
$query = '
|
||||
SELECT
|
||||
@@ -275,7 +276,7 @@ $query = '
|
||||
FROM public.tbl_konto konto
|
||||
WHERE konto.person_id = p.person_id
|
||||
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
|
||||
AND konto.buchungstyp_kurzbz = '. $STUDIENGEBUEHR_ANZAHLUNG .'
|
||||
AND konto.buchungstyp_kurzbz = '. $KAUTION_DRITT_STAAT .'
|
||||
) AS "Kaution"
|
||||
FROM public.tbl_person p
|
||||
LEFT JOIN (
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
$ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
|
||||
$STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
|
||||
$ORG_NAME = '\'InfoCenter\'';
|
||||
$STUDIENGEBUEHR_ANZAHLUNG = '\'StudiengebuehrAnzahlung\'';
|
||||
$KAUTION_DRITT_STAAT = '\'KautionDrittStaat\'';
|
||||
|
||||
|
||||
$query = '
|
||||
SELECT
|
||||
@@ -206,7 +207,7 @@ $query = '
|
||||
FROM public.tbl_konto konto
|
||||
WHERE konto.person_id = p.person_id
|
||||
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
|
||||
AND konto.buchungstyp_kurzbz = '. $STUDIENGEBUEHR_ANZAHLUNG .'
|
||||
AND konto.buchungstyp_kurzbz = '. $KAUTION_DRITT_STAAT .'
|
||||
) AS "Kaution"
|
||||
FROM public.tbl_person p
|
||||
LEFT JOIN (
|
||||
|
||||
@@ -125,7 +125,7 @@ $projekttyp_kurzbz = $projektarbeit_obj->projekttyp_kurzbz;
|
||||
// paarbeit sollte nur ab bestimmten Zeitpunkt online bewertet werden
|
||||
$paIsCurrent = $projektarbeit_obj->projektarbeitIsCurrent($projektarbeit_id);
|
||||
|
||||
if(!is_numeric($paIsCurrent) || $paIsCurrent < 0)
|
||||
if(!is_bool($paIsCurrent))
|
||||
{
|
||||
echo "<font color=\"#FF0000\">".$p->t('abgabetool/fehlerAktualitaetProjektarbeit')."</font><br> ";
|
||||
}
|
||||
@@ -166,7 +166,7 @@ if(in_array($betreuerart, array('Erstbegutachter', 'Senatsvorsitz')))
|
||||
}
|
||||
|
||||
// Mail mit Token an Zweitbegutachter senden
|
||||
if (count($zweitbetreuerArr) > 0 && $paIsCurrent >= 1 && isset($_GET['zweitbegutachtertoken']) && isset($_GET['zweitbetreuer_person_id']))
|
||||
if (count($zweitbetreuerArr) > 0 && $paIsCurrent === true && isset($_GET['zweitbegutachtertoken']) && isset($_GET['zweitbetreuer_person_id']))
|
||||
{
|
||||
$qry_std="SELECT * FROM campus.vw_benutzer where uid=".$db->db_add_param($uid);
|
||||
if(!$result_std=$db->db_query($qry_std))
|
||||
@@ -482,7 +482,7 @@ $htmlstr .= "<table id='beurteilungheadertable' width=100%>\n";
|
||||
$htmlstr .= "<tr><td style='font-size:16px'>".$p->t('abgabetool/student').": <b>".$db->convert_html_chars($studentenname)."</b></td>";
|
||||
$htmlstr .= "<td width=10% align=center>";
|
||||
|
||||
$semester_benotbar = $paIsCurrent >= 1;
|
||||
$semester_benotbar = $paIsCurrent === true;
|
||||
$endupload_vorhanden = $num_rows_endupload >= 1;
|
||||
|
||||
if ($semester_benotbar && $endupload_vorhanden)
|
||||
@@ -495,7 +495,8 @@ if ($semester_benotbar && $endupload_vorhanden)
|
||||
}
|
||||
else
|
||||
{
|
||||
$quick_info = !$semester_benotbar ? $p->t('abgabetool/aeltereParbeitBenoten') : $p->t('abgabetool/keinEnduploadErfolgt');
|
||||
$quick_info = !$semester_benotbar ? $p->t('abgabetool/aeltereParbeitBenotenQuickInfo') : $p->t('abgabetool/keinEnduploadErfolgt');
|
||||
$info_text = !$semester_benotbar ? $p->t('abgabetool/aeltereParbeitBenoten') : $p->t('abgabetool/keinEnduploadErfolgt');
|
||||
$htmlstr .= "<form action='javascript:void(0);'>";
|
||||
$htmlstr .= "<input type='submit' value='".$p->t('abgabetool/benoten')."' title='".$quick_info."'
|
||||
alt='".$quick_info."' disabled>";
|
||||
@@ -516,7 +517,7 @@ else
|
||||
}
|
||||
$htmlstr .= "<tr>
|
||||
<td style='font-size:16px'>" . $p->t('abgabetool/titel') . ": <b>".$db->convert_html_chars($titel)."<b></td>
|
||||
<td align='center' class='warningtext'>".(isset($quick_info) ? $quick_info : '')."</td>
|
||||
<td align='center' class='warningtext'>".(isset($info_text) ? $info_text : '')."</td>
|
||||
<td valign=\"right\"><a href='abgabe_student_frameset.php?uid=$uid' target='_blank'>".$p->t('abgabetool/studentenansicht')."</a></td>";
|
||||
$htmlstr .= "</tr>\n";
|
||||
|
||||
@@ -544,7 +545,7 @@ if (isset($zweitbetreuerArr) && is_array($zweitbetreuerArr)) // wenn es Zweitbet
|
||||
$htmlstr .= " <img src='../../../skin/images/exclamation.png' title='" . $p->t('abgabetool/zweitBegutachterEmailFehlt') . "' alt='" . $p->t('abgabetool/zweitBegutachterEmailFehlt') . "'/>";
|
||||
|
||||
// Token senden button wenn Zweitbegutachter extern ist und Projektarbeit nicht für altes Semester ist
|
||||
if (isset($zweitbetreuer->email) && !isset($zweitbetreuer->uid) && $paIsCurrent >= 1)
|
||||
if (isset($zweitbetreuer->email) && !isset($zweitbetreuer->uid) && $paIsCurrent === true)
|
||||
{
|
||||
$htmlstr .= "<form action='" . htmlspecialchars($_SERVER['PHP_SELF']) . "' method='GET' style='display: inline'>\n";
|
||||
$htmlstr .= "<input type='hidden' name='uid' value='" . $student_uid . "'>";
|
||||
|
||||
@@ -195,13 +195,13 @@ else
|
||||
$htmlstr .= "<td>";
|
||||
|
||||
if (!is_null($row->babgeschickt))
|
||||
$htmlstr .= "<a href='../pdfExport.php?xml=projektarbeitsbeurteilung.xml.php&xsl=Projektbeurteilung&betreuerart_kurzbz=" . $row->betreuerart_kurzbz . "&projektarbeit_id=" . $row->projektarbeit_id . "&person_id=" . $row->betreuer_person_id ."' title='".$p->t('abgabetool/projektbeurteilungDownload')."'>".$p->t('abgabetool/projektbeurteilungErstDownload')."</a>";
|
||||
$htmlstr .= "<a href='./projektbeurteilungDocumentExport.php?betreuerart_kurzbz=" . $row->betreuerart_kurzbz . "&projektarbeit_id=" . $row->projektarbeit_id . "&person_id=" . $row->betreuer_person_id ."' title='".$p->t('abgabetool/projektbeurteilungDownload')."'>".$p->t('abgabetool/projektbeurteilungErstDownload')."</a>";
|
||||
|
||||
if (!is_null($row->babgeschickt) && !is_null($row->zweitbetreuer_abgeschickt))
|
||||
$htmlstr .= "/";
|
||||
|
||||
if (!is_null($row->zweitbetreuer_abgeschickt))
|
||||
$htmlstr .= "<a href='../pdfExport.php?xml=projektarbeitsbeurteilung.xml.php&xsl=Projektbeurteilung&betreuerart_kurzbz=" . $row->zweitbetreuer_betreuerart_kurzbz . "&projektarbeit_id=" . $row->projektarbeit_id . "&person_id=" . $row->zweitbetreuer_person_id."' title='".$p->t('abgabetool/projektbeurteilungDownload')."'>".$p->t('abgabetool/projektbeurteilungZweitDownload')."</a>";
|
||||
$htmlstr .= "<a href='./projektbeurteilungDocumentExport.php?betreuerart_kurzbz=" . $row->zweitbetreuer_betreuerart_kurzbz . "&projektarbeit_id=" . $row->projektarbeit_id . "&person_id=" . $row->zweitbetreuer_person_id."' title='".$p->t('abgabetool/projektbeurteilungDownload')."'>".$p->t('abgabetool/projektbeurteilungZweitDownload')."</a>";
|
||||
|
||||
$htmlstr .= "</td>";
|
||||
}
|
||||
|
||||
@@ -472,8 +472,8 @@ if($command=="update" && $error!=true)
|
||||
else
|
||||
{
|
||||
// paarbeit sollte nur ab bestimmten Zeitpunkt online bewertet werden
|
||||
$num_rows_sem = $projektarbeit_obj->projektarbeitIsCurrent($projektarbeit_id);
|
||||
if(!is_numeric($num_rows_sem) || $num_rows_sem < 0)
|
||||
$paIsCurrent = $projektarbeit_obj->projektarbeitIsCurrent($projektarbeit_id);
|
||||
if(!is_bool($paIsCurrent))
|
||||
{
|
||||
echo "<font color=\"#FF0000\">".$p->t('abgabetool/fehlerAktualitaetProjektarbeit')."</font><br> ";
|
||||
}
|
||||
@@ -495,7 +495,7 @@ if($command=="update" && $error!=true)
|
||||
$maildata['student_voller_name'] = trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost);
|
||||
$maildata['abgabetyp'] = $abgabetyp;
|
||||
$maildata['parbeituebersichtlink'] = "<p><a href='".APP_ROOT."cis/private/lehre/abgabe_lektor_frameset.html'>Zur Projektarbeitsübersicht</a></p>";
|
||||
$maildata['bewertunglink'] = $num_rows_sem >= 1 && $paabgabetyp_kurzbz == 'end' ? "<p><a href='$mail_fulllink'>Zur Beurteilung der Arbeit</a></p>" : "";
|
||||
$maildata['bewertunglink'] = $paIsCurrent && $paabgabetyp_kurzbz == 'end' ? "<p><a href='$mail_fulllink'>Zur Beurteilung der Arbeit</a></p>" : "";
|
||||
$maildata['token'] = "";
|
||||
|
||||
$mailres = sendSanchoMail(
|
||||
@@ -557,8 +557,8 @@ if($command=="update" && $error!=true)
|
||||
$zweitbetmaildata['student_voller_name'] = $maildata['student_voller_name'];
|
||||
$zweitbetmaildata['abgabetyp'] = $abgabetyp;
|
||||
$zweitbetmaildata['parbeituebersichtlink'] = $intern ? $maildata['parbeituebersichtlink'] : "";
|
||||
$zweitbetmaildata['bewertunglink'] = $num_rows_sem >= 1 ? "<p><a href='$mail_link'>Zur Beurteilung der Arbeit</a></p>" : "";
|
||||
$zweitbetmaildata['token'] = $num_rows_sem >= 1 && isset($begutachterMitToken->zugangstoken) && !$intern ? "<p>Zugangstoken: " . $begutachterMitToken->zugangstoken . "</p>" : "";
|
||||
$zweitbetmaildata['bewertunglink'] = $paIsCurrent ? "<p><a href='$mail_link'>Zur Beurteilung der Arbeit</a></p>" : "";
|
||||
$zweitbetmaildata['token'] = $paIsCurrent && isset($begutachterMitToken->zugangstoken) && !$intern ? "<p>Zugangstoken: " . $begutachterMitToken->zugangstoken . "</p>" : "";
|
||||
|
||||
$mailres = sendSanchoMail(
|
||||
'ParbeitsbeurteilungEndupload',
|
||||
|
||||
@@ -241,7 +241,7 @@ if (isset($_REQUEST["freigabe"]) && ($_REQUEST["freigabe"] == 1))
|
||||
<body>
|
||||
$name hat neue Noten für die Lehrveranstaltung\n\n<br>
|
||||
<b>" . $sg->kuerzel . ' ' . $lv->semester . '.Semester
|
||||
' . $lv->bezeichnung . " " . $lv->orgform_kurzbz . " - " . $stsem . "</b>
|
||||
' . $lv->bezeichnung . " - " .$lv->lehrform_kurzbz. " " . $lv->orgform_kurzbz . " - " . $stsem . "</b>
|
||||
<br>eingetragen.\n<br><br>
|
||||
Die Noten können jetzt ins Zeugnis übernommen werden.\n";
|
||||
|
||||
@@ -1090,7 +1090,10 @@ foreach ($stsem_obj->studiensemester as $studiensemester)
|
||||
}
|
||||
$stsem_content .= "</SELECT>\n";
|
||||
|
||||
if (! $rechte->isBerechtigt('admin', 0) && ! $rechte->isBerechtigt('admin', $lv_obj->studiengang_kz) && ! $rechte->isBerechtigt('lehre', $lv_obj->studiengang_kz))
|
||||
if (! $rechte->isBerechtigt('admin', 0)
|
||||
&& ! $rechte->isBerechtigt('admin', $lv_obj->studiengang_kz)
|
||||
&& ! $rechte->isBerechtigt('lehre', $lv_obj->studiengang_kz)
|
||||
&& ! $rechte->isBerechtigt('lehre', $lv_obj->oe_kurzbz))
|
||||
{
|
||||
$qry = "SELECT
|
||||
lehreinheit_id
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/* Erstellt einen Lehrauftrag im PDF Format
|
||||
*
|
||||
* Erstellt ein XML File Transformiert dieses mit
|
||||
* Hilfe der XSL-FO Vorlage aus der DB und generiert
|
||||
* daraus ein PDF
|
||||
*/
|
||||
require_once('../../../config/cis.config.inc.php');
|
||||
require_once('../../../include/projektarbeit.class.php');
|
||||
|
||||
if (!isset($_GET['betreuerart_kurzbz']) || !isset($_GET['person_id']) || !isset($_GET['projektarbeit_id']))
|
||||
die('Fehlerhafte Parameteruebergabe');
|
||||
|
||||
// passende Vorlage holen
|
||||
$projektarbeitVorlage = new projektarbeit();
|
||||
$vorlage = $projektarbeitVorlage->getVorlage($_GET['projektarbeit_id'], $_GET['betreuerart_kurzbz']);
|
||||
|
||||
if ($vorlage == null)
|
||||
die("<html><body><h3>".$projektarbeitVorlage->errormsg."</h3></body></html>");
|
||||
|
||||
// weiterleiten auf Dokumentexport
|
||||
header('Location: ' . APP_ROOT . '/cis/private/pdfExport.php?xml=projektarbeitsbeurteilung.xml.php'
|
||||
.'&xsl='.$vorlage.'&betreuerart_kurzbz=' . $_GET['betreuerart_kurzbz']
|
||||
. '&projektarbeit_id=' . $_GET['projektarbeit_id'] . '&person_id=' . $_GET['person_id']
|
||||
);
|
||||
die();
|
||||
+21
-27
@@ -196,41 +196,35 @@ if (isset($_GET['output']) && $_GET['output'] != 'pdf')
|
||||
else
|
||||
$output = 'pdf';
|
||||
|
||||
if (isset($_GET['xsl']) && ($_GET['xsl'] === 'Projektbeurteilung'))
|
||||
// Berechtigungprüfung Projektarbeit
|
||||
if (isset($_GET['projektarbeit_id']))
|
||||
{
|
||||
if (!isset($_GET['betreuerart_kurzbz']) || !isset($_GET['person_id']) || !isset($_GET['projektarbeit_id']))
|
||||
die('Fehlerhafte Parameteruebergabe');
|
||||
$projektarbeitVorlage = new projektarbeit();
|
||||
$allePaVorlagen = $projektarbeitVorlage->getAllVorlagen();
|
||||
|
||||
$projektarbeit = new projektarbeit();
|
||||
$projektarbeit->load($_GET['projektarbeit_id']);
|
||||
if (!is_array($allePaVorlagen))
|
||||
die("<html><body><h3>Fehler beim Holen der Projektarbeit Vorlagen</h3></body></html>");
|
||||
|
||||
$betreuer = new person();
|
||||
$betreuer->getPersonFromBenutzer($user);
|
||||
|
||||
//Überprüft ob es der Betreuer oder der Student ist
|
||||
if ($betreuer->person_id !== $_GET['person_id'] && $projektarbeit->student_uid !== $user && !$rechte->isBerechtigt('assistenz'))
|
||||
die("<html><body><h3>Sie haben keine Berechtigung für diese Aktion.</h3></body></html>");
|
||||
|
||||
switch ($_GET['betreuerart_kurzbz'])
|
||||
if (in_array($xsl, $allePaVorlagen))
|
||||
{
|
||||
case 'Begutachter' :
|
||||
case 'Senatsvorsitz' :
|
||||
$xsl = 'ProjektBeurteilungBA';
|
||||
break;
|
||||
case 'Erstbegutachter' :
|
||||
$xsl = 'ProjektBeurteilungMAErst';
|
||||
break;
|
||||
case 'Zweitbegutachter' :
|
||||
$xsl = 'ProjektBeurteilungMAZweit';
|
||||
break;
|
||||
}
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
$allowed = true;
|
||||
$projektarbeit = new projektarbeit();
|
||||
$projektarbeit->load($_GET['projektarbeit_id']);
|
||||
|
||||
$betreuer = new person();
|
||||
$betreuer->getPersonFromBenutzer($user);
|
||||
|
||||
//Überprüft ob es der Betreuer oder der Student ist
|
||||
if ($betreuer->person_id !== $_GET['person_id'] && $projektarbeit->student_uid !== $user && !$rechte->isBerechtigt('assistenz'))
|
||||
die("<html><body><h3>Sie haben keine Berechtigung für diese Aktion.</h3></body></html>");
|
||||
$paBerechtigt = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$konto = new konto();
|
||||
if ((((isset($_GET["uid"]) && $user == $_GET["uid"])) || $rechte->isBerechtigt('admin')) || (isset($allowed) && $allowed === true))
|
||||
if (((isset($_GET["uid"]) && $user == $_GET["uid"])) || $rechte->isBerechtigt('admin') || (isset($paBerechtigt) && $paBerechtigt === true))
|
||||
{
|
||||
$buchungstypen = array();
|
||||
if (defined("CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN"))
|
||||
|
||||
@@ -177,6 +177,9 @@ if(isset($_REQUEST['AuswahlGebiet']))
|
||||
WHERE gebiet_id=".$db->db_add_param($gebiet_id)."
|
||||
ORDER BY studiengang";
|
||||
$result = $db->db_query($qry);
|
||||
|
||||
$qry_anz_fragen = "SELECT count(*) FROM testtool.tbl_frage WHERE gebiet_id=".$db->db_add_param($gebiet_id)." AND demo=false";
|
||||
$result_anz_fragen = $db->db_fetch_object($db->db_query($qry_anz_fragen));
|
||||
|
||||
if ($gebietdetails)
|
||||
{
|
||||
@@ -215,6 +218,10 @@ if(isset($_REQUEST['AuswahlGebiet']))
|
||||
<td align="right">Multipleresponse:</td>
|
||||
<td>'.($gebietdetails->multipleresponse==true?'Ja':'Nein').'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Fragen im Gebiet:</td>
|
||||
<td>'.$result_anz_fragen->count.'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Gestellte Fragen:</td>
|
||||
<td>'.$gebietdetails->maxfragen.'</td>
|
||||
|
||||
@@ -217,6 +217,24 @@ function getDataFromClipboard()
|
||||
return pastetext;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Kopiert Inhalte in die Zwischenablage
|
||||
// ****
|
||||
function copyToClipboard(link)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
||||
try {
|
||||
const clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"]
|
||||
.getService(Components.interfaces.nsIClipboardHelper);
|
||||
clipboard.copyString(link);
|
||||
|
||||
// Erfolgsmeldung anzeigen
|
||||
alert("Link erfolgreich in die Zwischenablage kopiert.\nBitte in anderem Browser einfügen und öffnen.");
|
||||
} catch (e) {
|
||||
alert("Fehler beim Kopieren in die Zwischenablage: " + e);
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Oeffnet ein neues Fenster welches dann die Datei 'action' mit dem POST Parameter 'data' aufruft
|
||||
// ****
|
||||
|
||||
@@ -355,7 +355,8 @@ if(!$error)
|
||||
WHERE
|
||||
mitarbeiter_uid=".$db->db_add_param($lem->mitarbeiter_uid)." AND
|
||||
studiensemester_kurzbz=".$db->db_add_param($le->studiensemester_kurzbz)." AND
|
||||
bismelden";
|
||||
bismelden AND
|
||||
lower(mitarbeiter_uid) NOT LIKE '_dummy%'";
|
||||
|
||||
if(count($oe_arr)>0)
|
||||
$qry.=" AND tbl_studiengang.oe_kurzbz in(".$db->db_implode4SQL($oe_arr).")";
|
||||
|
||||
@@ -175,7 +175,22 @@ function MessagesIFrameSetHTML(val)
|
||||
}
|
||||
//Value setzen
|
||||
if(val!='')
|
||||
{
|
||||
editor.contentDocument.execCommand("inserthtml", false, val);
|
||||
|
||||
setTimeout(function()
|
||||
{
|
||||
scrollToTop();
|
||||
}, 100);
|
||||
}
|
||||
}
|
||||
|
||||
function scrollToTop()
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
editor = document.getElementById('message-wysiwyg');
|
||||
|
||||
editor.contentWindow.scrollTo(0, 0);
|
||||
}
|
||||
|
||||
function MessageIFrameInit()
|
||||
|
||||
@@ -1113,15 +1113,15 @@ function StudentAbschlusspruefungTypChange()
|
||||
{
|
||||
if(document.getElementById('student-abschlusspruefung-menulist-typ').value=='Bachelor')
|
||||
{
|
||||
document.getElementById('student-abschlusspruefung-label-pruefer1').value='Pruefer 1';
|
||||
document.getElementById('student-abschlusspruefung-label-pruefer2').value='Pruefer 2';
|
||||
document.getElementById('student-abschlusspruefung-label-pruefer1').value='PrueferIn 1';
|
||||
document.getElementById('student-abschlusspruefung-label-pruefer2').value='PrueferIn 2';
|
||||
document.getElementById('student-abschlusspruefung-menulist-pruefer3').hidden=false;
|
||||
document.getElementById('student-abschlusspruefung-label-pruefer3').hidden=false;
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('student-abschlusspruefung-label-pruefer1').value='Pruefer 1 (Diplomarbeit)';
|
||||
document.getElementById('student-abschlusspruefung-label-pruefer2').value='Pruefer 2';
|
||||
document.getElementById('student-abschlusspruefung-label-pruefer1').value='PrueferIn 1 (Diplomarbeit)';
|
||||
document.getElementById('student-abschlusspruefung-label-pruefer2').value='PrueferIn 2';
|
||||
document.getElementById('student-abschlusspruefung-menulist-pruefer3').hidden=true;
|
||||
document.getElementById('student-abschlusspruefung-label-pruefer3').hidden=true;
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<?php $hideZugangscode = (defined('ACTIVE_ADDONS') && strpos(ACTIVE_ADDONS, 'bewerbung') !== false) ? '':' hidden="true"'; ?>
|
||||
<label value="Zugangscode" control="student-detail-zugangscode" <?php echo $hideZugangscode; ?>/>
|
||||
<label id="label-student-detail-link_bewerbungstool" hidden="true" value=""></label>
|
||||
<label class="text-link" href="#" id="label-student-detail-zugangscode" value="" <?php echo $hideZugangscode; ?> onclick="window.open(document.getElementById('label-student-detail-link_bewerbungstool').value)"/>
|
||||
<label class="text-link" href="#" id="label-student-detail-zugangscode" value="" <?php echo $hideZugangscode; ?> onclick="copyToClipboard(document.getElementById('label-student-detail-link_bewerbungstool').value)"/>
|
||||
<?php $hideBpk = $rechte->isBerechtigt('student/bpk') ? '':' hidden="true"'; ?>
|
||||
<label value="BPK" control="student-detail-textbox-bpk"<?php echo $hideBpk; ?>/>
|
||||
<hbox><textbox id="student-detail-textbox-bpk" disabled="true" maxlength="28" size="50"<?php echo $hideBpk; ?>/></hbox>
|
||||
|
||||
@@ -121,7 +121,7 @@ class phrasen extends basis_db
|
||||
* Wobei x durch den Index+1 im Array zu ersetzten ist. zB "%2$s" um die Variable $value[1] auszugeben
|
||||
* naehere Infos siehe sprintf
|
||||
*
|
||||
* @param $key Key der Phrase
|
||||
* @param $key String Key der Phrase
|
||||
* @param $value Array mit Parametern fuer die Phrase
|
||||
*/
|
||||
public function t($key, $value=array())
|
||||
|
||||
+169
-86
@@ -16,8 +16,8 @@
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
/**
|
||||
* Klasse projektarbeit
|
||||
@@ -27,7 +27,7 @@ require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class projektarbeit extends basis_db
|
||||
{
|
||||
public $new; // boolean
|
||||
public $new; // boolean
|
||||
public $result = array(); // adresse Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
@@ -59,6 +59,37 @@ class projektarbeit extends basis_db
|
||||
|
||||
public $abgabedatum;
|
||||
|
||||
// Welche Version der Projektarbeit wird ab welchem Semester verwendet
|
||||
private $_versions = array(
|
||||
'Diplom' => array(
|
||||
'SS2025' => 3,
|
||||
'SS2023' => 2,
|
||||
'SS2022' => 1
|
||||
),
|
||||
'Others' => array(
|
||||
'SS2025' => 2,
|
||||
'SS2022' => 1
|
||||
)
|
||||
);
|
||||
|
||||
// welche Vorlagen werden ab welcher Projekarbeitsversion verwendet (0 - erste "default" Vorlage)
|
||||
private $_projektarbeitVorlageMappings = array(
|
||||
'Begutachter' => array(
|
||||
2 => 'ProjektBeurteilungBAProzent',
|
||||
0 => 'ProjektBeurteilungBA'
|
||||
),
|
||||
'Senatsvorsitz' => array(
|
||||
2 => 'ProjektBeurteilungBAProzent',
|
||||
0 => 'ProjektBeurteilungBA'
|
||||
),
|
||||
'Erstbegutachter' => array(
|
||||
3 => 'ProjektBeurteilungMAProzent',
|
||||
0 => 'ProjektBeurteilungMAErst'
|
||||
),
|
||||
'Zweitbegutachter' => array(
|
||||
0 => 'ProjektBeurteilungMAZweit'
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
@@ -233,25 +264,25 @@ class projektarbeit extends basis_db
|
||||
$qry='BEGIN; INSERT INTO lehre.tbl_projektarbeit (projekttyp_kurzbz, titel, lehreinheit_id, student_uid, firma_id, note, punkte,
|
||||
beginn, ende, faktor, freigegeben, gesperrtbis, stundensatz, gesamtstunden, themenbereich, anmerkung,
|
||||
insertamum, insertvon, updateamum, updatevon, titel_english, final) VALUES('.
|
||||
$this->db_add_param($this->projekttyp_kurzbz).', '.
|
||||
$this->db_add_param($this->titel).', '.
|
||||
$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->student_uid).', '.
|
||||
$this->db_add_param($this->firma_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->note).', '.
|
||||
$this->db_add_param($this->punkte).', '.
|
||||
$this->db_add_param($this->beginn).', '.
|
||||
$this->db_add_param($this->ende).', '.
|
||||
$this->db_add_param($this->faktor).', '.
|
||||
$this->db_add_param($this->freigegeben, FHC_BOOLEAN).', '.
|
||||
$this->db_add_param($this->gesperrtbis).', '.
|
||||
$this->db_add_param($this->stundensatz).', '.
|
||||
$this->db_add_param($this->gesamtstunden).', '.
|
||||
$this->db_add_param($this->themenbereich).', '.
|
||||
$this->db_add_param($this->anmerkung).', now(), '.
|
||||
$this->db_add_param($this->insertvon).', now(), '.
|
||||
$this->db_add_param($this->updatevon).','.
|
||||
$this->db_add_param($this->titel_english).','.
|
||||
$this->db_add_param($this->projekttyp_kurzbz).', '.
|
||||
$this->db_add_param($this->titel).', '.
|
||||
$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->student_uid).', '.
|
||||
$this->db_add_param($this->firma_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->note).', '.
|
||||
$this->db_add_param($this->punkte).', '.
|
||||
$this->db_add_param($this->beginn).', '.
|
||||
$this->db_add_param($this->ende).', '.
|
||||
$this->db_add_param($this->faktor).', '.
|
||||
$this->db_add_param($this->freigegeben, FHC_BOOLEAN).', '.
|
||||
$this->db_add_param($this->gesperrtbis).', '.
|
||||
$this->db_add_param($this->stundensatz).', '.
|
||||
$this->db_add_param($this->gesamtstunden).', '.
|
||||
$this->db_add_param($this->themenbereich).', '.
|
||||
$this->db_add_param($this->anmerkung).', now(), '.
|
||||
$this->db_add_param($this->insertvon).', now(), '.
|
||||
$this->db_add_param($this->updatevon).','.
|
||||
$this->db_add_param($this->titel_english).','.
|
||||
$this->db_add_param($this->final, FHC_BOOLEAN).');';
|
||||
}
|
||||
else
|
||||
@@ -471,92 +502,144 @@ class projektarbeit extends basis_db
|
||||
}
|
||||
|
||||
/**
|
||||
* Prüft ob Projektarbeit aktuell ist (ab bestimmtem Semester).
|
||||
* Masterarbeiten sind ab der Änderung zur Gewichtung der Punkte aktuell,
|
||||
* Bachelorarbeiten schon ab dem Umstieg auf das Online Beurteilungsformular.
|
||||
* Prüft ob Projektarbeit aktuell ist (also zurzeit online bewertet wird).
|
||||
* @param $projektarbeit_id
|
||||
* @return int -1 wenn Fehler, 0 wenn nicht aktuell, 1 wenn aktuell
|
||||
* @return boolean
|
||||
*/
|
||||
public function projektarbeitIsCurrent($projektarbeit_id)
|
||||
{
|
||||
$version = $this->getVersion($projektarbeit_id);
|
||||
// paarbeit sollte nur ab einem Studiensemester online bewertet werden
|
||||
$qry="SELECT 1
|
||||
FROM lehre.tbl_projektarbeit
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)."
|
||||
AND
|
||||
(
|
||||
(
|
||||
projekttyp_kurzbz = 'Diplom'
|
||||
AND tbl_studiensemester.start::date >= (
|
||||
SELECT start
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz = 'SS2023'
|
||||
)::date
|
||||
)
|
||||
OR
|
||||
(
|
||||
projekttyp_kurzbz <> 'Diplom'
|
||||
AND tbl_studiensemester.start::date >= (
|
||||
SELECT start
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz = 'SS2022'
|
||||
)::date
|
||||
)
|
||||
)
|
||||
LIMIT 1";
|
||||
|
||||
$result_sem=$this->db_query($qry);
|
||||
|
||||
if (!$result_sem)
|
||||
{
|
||||
$this->errormsg = "Fehler beim Ermitteln der Projektarbeit Aktualität";
|
||||
return -1;
|
||||
}
|
||||
|
||||
$num_rows = $this->db_num_rows($result_sem);
|
||||
|
||||
if ($num_rows < 0)
|
||||
{
|
||||
$this->errormsg = "Fehler beim Ermitteln der Anzahl der aktuellen Projektarbeiten";
|
||||
}
|
||||
|
||||
return $num_rows;
|
||||
return $version === null ? null : $version->isCurrent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prüft ob Projektarbeit aktuell ist (ab bestimmtem Semester), vor der Änderung zur Gewichtung der Punkte.
|
||||
* Holt sich Version der Projektarbeit.
|
||||
* Liefert auch mit, ob die Version die aktuellste ist.
|
||||
* z.B.: Masterarbeiten waren ab der Änderung zur Gewichtung der Punkte aktuell,
|
||||
* Bachelorarbeiten waren ab dem Umstieg auf das Online Beurteilungsformular aktuell.
|
||||
* @param $projektarbeit_id
|
||||
* @return int -1 wenn Fehler, 0 wenn nicht aktuell, 1 wenn aktuell
|
||||
* @return objekt mit Versionsinfo, null im Fehlerfall
|
||||
*/
|
||||
public function projektarbeitIsCurrentBeforeWeightening($projektarbeit_id)
|
||||
public function getVersion($projektarbeit_id)
|
||||
{
|
||||
// paarbeit sollte nur ab einem Studiensemester online bewertet werden
|
||||
$qry="SELECT 1
|
||||
FROM lehre.tbl_projektarbeit
|
||||
$qry="
|
||||
SELECT
|
||||
CASE
|
||||
WHEN semesters_diplom.studiensemester_kurzbz IS NOT NULL
|
||||
THEN semesters_diplom.studiensemester_kurzbz
|
||||
ELSE semesters.studiensemester_kurzbz
|
||||
END AS version_studiensemester_kurzbz,
|
||||
pa.projekttyp_kurzbz
|
||||
FROM
|
||||
lehre.tbl_projektarbeit pa
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)."
|
||||
AND tbl_studiensemester.start::date >= (SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz = 'SS2022')::date
|
||||
LIMIT 1";
|
||||
JOIN public.tbl_studiensemester sem USING(studiensemester_kurzbz)
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
start, studiensemester_kurzbz
|
||||
FROM
|
||||
public.tbl_studiensemester
|
||||
WHERE
|
||||
studiensemester_kurzbz IN (".$this->db_implode4SQL(array_keys($this->_versions['Others'])).")
|
||||
) semesters ON sem.start >= semesters.start AND pa.projekttyp_kurzbz <> 'Diplom'
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
start, studiensemester_kurzbz
|
||||
FROM
|
||||
public.tbl_studiensemester
|
||||
WHERE
|
||||
studiensemester_kurzbz IN (".$this->db_implode4SQL(array_keys($this->_versions['Diplom'])).")
|
||||
) semesters_diplom ON sem.start >= semesters_diplom.start AND pa.projekttyp_kurzbz = 'Diplom'
|
||||
WHERE
|
||||
projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)."
|
||||
ORDER BY
|
||||
semesters.start DESC, semesters_diplom.start DESC
|
||||
LIMIT 1";
|
||||
|
||||
$result_sem=$this->db_query($qry);
|
||||
$errormsg = "Fehler beim Ermitteln der Projektarbeit Version";
|
||||
|
||||
if (!$result_sem)
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = "Fehler beim Ermitteln der Projektarbeit Aktualität";
|
||||
return -1;
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
// known project types
|
||||
if (isset($this->_versions[$row->projekttyp_kurzbz][$row->version_studiensemester_kurzbz]))
|
||||
{
|
||||
$row->versionNumber = $this->_versions[$row->projekttyp_kurzbz][$row->version_studiensemester_kurzbz];
|
||||
$row->isCurrent =
|
||||
$this->_versions[$row->projekttyp_kurzbz][$row->version_studiensemester_kurzbz]
|
||||
== max($this->_versions[$row->projekttyp_kurzbz]);
|
||||
|
||||
}
|
||||
elseif (isset($this->_versions['Others'][$row->version_studiensemester_kurzbz]))
|
||||
{
|
||||
$row->versionNumber = $this->_versions['Others'][$row->version_studiensemester_kurzbz];
|
||||
$row->isCurrent =
|
||||
$this->_versions['Others'][$row->version_studiensemester_kurzbz]
|
||||
== max($this->_versions['Others']);
|
||||
}
|
||||
else
|
||||
{
|
||||
$row->isCurrent = false;
|
||||
$row->versionNumber = 0;
|
||||
}
|
||||
return $row;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = $errormsg;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = $errormsg;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Holt Version einer Projektarbeit für eine Betreuerart.
|
||||
* @param $projektarbeit_id
|
||||
* @param $betreuerart_kurzbz
|
||||
* @return string Vorlagenname
|
||||
*/
|
||||
public function getVorlage($projektarbeit_id, $betreuerart_kurzbz)
|
||||
{
|
||||
$version = $this->getVersion($projektarbeit_id);
|
||||
|
||||
if ($version == null) return null;
|
||||
|
||||
$key = 0;
|
||||
if (isset($this->_projektarbeitVorlageMappings[$betreuerart_kurzbz]))
|
||||
{
|
||||
foreach ($this->_projektarbeitVorlageMappings[$betreuerart_kurzbz] as $versionNumber => $vorlage)
|
||||
{
|
||||
if ($versionNumber <= $version->versionNumber && $versionNumber > $key) $key = $versionNumber;
|
||||
}
|
||||
}
|
||||
|
||||
$num_rows = $this->db_num_rows($result_sem);
|
||||
return
|
||||
isset($this->_projektarbeitVorlageMappings[$betreuerart_kurzbz][$key])
|
||||
? $this->_projektarbeitVorlageMappings[$betreuerart_kurzbz][$key]
|
||||
: '';
|
||||
}
|
||||
|
||||
if ($num_rows < 0)
|
||||
/**
|
||||
* Holt alle möglichen, jemals verwendeten Projektarbeits-Vorlagen
|
||||
* @return array mit Vorlagennamen
|
||||
*/
|
||||
public function getAllVorlagen()
|
||||
{
|
||||
$vorlagen = array();
|
||||
foreach ($this->_projektarbeitVorlageMappings as $mappings)
|
||||
{
|
||||
$this->errormsg = "Fehler beim Ermitteln der Anzahl der aktuellen Projektarbeiten";
|
||||
$vorlagen = array_unique(array_merge($vorlagen, $mappings));
|
||||
}
|
||||
|
||||
return $num_rows;
|
||||
return $vorlagen;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
$this->phrasen['abgabetool/abgabetool']='Abgabetool';
|
||||
$this->phrasen['abgabetool/aeltereParbeitBenoten']='Projektarbeit für älteres Semester, bitte Word-Formular zur Benotung verwenden!';
|
||||
$this->phrasen['abgabetool/aeltereParbeitBenotenQuickInfo']='Projektarbeit für älteres Semester, bitte Word-Formular zur Benotung verwenden!';
|
||||
$this->phrasen['abgabetool/keinEnduploadErfolgt']='Endupload ist noch nicht erfolgt';
|
||||
$this->phrasen['abgabetool/typ']='Typ';
|
||||
$this->phrasen['abgabetool/titel']='Titel';
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
$this->phrasen['abgabetool/abgabetool']='Submission tool';
|
||||
$this->phrasen['abgabetool/aeltereParbeitBenoten']='Thesis handed in for older semester, please use word form for assessment!';
|
||||
$this->phrasen['abgabetool/aeltereParbeitBenotenQuickInfo']='Thesis handed in for older semester, please use word form for assessment!';
|
||||
$this->phrasen['abgabetool/keinEnduploadErfolgt']='Final version not uploaded yet';
|
||||
$this->phrasen['abgabetool/typ']='Type';
|
||||
$this->phrasen['abgabetool/titel']='Title';
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
$this->phrasen['abgabetool/abgabeLektorenbereich']='Consegna portale lettori';
|
||||
$this->phrasen['abgabetool/aeltereParbeitBenoten']='Thesis handed in for older semester, please use word form for assessment!';
|
||||
$this->phrasen['abgabetool/aeltereParbeitBenotenQuickInfo']='Thesis handed in for older semester, please use word form for assessment!';
|
||||
$this->phrasen['abgabetool/abgabeStudentenbereich']='consegna portale studente';
|
||||
$this->phrasen['abgabetool/abgabetermine']='scadenze consegna';
|
||||
$this->phrasen['abgabetool/abgabetool']='Strumenti di consegna';
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getLvMenu(lvid, studiensemester_kurzbz) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: `/api/frontend/v1/LvMenu/getLvMenu/${lvid}/${studiensemester_kurzbz}`
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getAuthUID() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/AuthInfo/getAuthUID'
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,22 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import person from "./betriebsmittel/person.js";
|
||||
|
||||
export default {
|
||||
person
|
||||
};
|
||||
@@ -0,0 +1,63 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getAllBetriebsmittel(type, id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/betriebsmittel/betriebsmittelP/getAllBetriebsmittel/' + type + '/' + id
|
||||
};
|
||||
},
|
||||
addNewBetriebsmittel(person_id, params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/betriebsmittel/betriebsmittelP/addNewBetriebsmittel/' + person_id,
|
||||
params
|
||||
};
|
||||
},
|
||||
loadBetriebsmittel(betriebsmittelperson_id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/betriebsmittel/betriebsmittelP/loadBetriebsmittel/' + betriebsmittelperson_id
|
||||
};
|
||||
},
|
||||
updateBetriebsmittel(betriebsmittelperson_id, params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/betriebsmittel/betriebsmittelP/updateBetriebsmittel/' + betriebsmittelperson_id,
|
||||
params
|
||||
};
|
||||
},
|
||||
deleteBetriebsmittel(betriebsmittelperson_id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/betriebsmittel/betriebsmittelP/deleteBetriebsmittel/' + betriebsmittelperson_id
|
||||
};
|
||||
},
|
||||
getTypenBetriebsmittel() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/betriebsmittel/betriebsmittelP/getTypenBetriebsmittel/'
|
||||
};
|
||||
},
|
||||
loadInventarliste(query) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/betriebsmittel/betriebsmittelP/loadInventarliste/' + query
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,37 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
updatePersonUnrulyStatus(person_id, unruly) {
|
||||
const params = { person_id, unruly }
|
||||
const url = '/api/frontend/v1/checkperson/CheckPerson/updatePersonUnrulyStatus';
|
||||
return {
|
||||
method: 'post',
|
||||
url,
|
||||
params
|
||||
};
|
||||
},
|
||||
filterPerson(params, base = '') {
|
||||
// TODO(chris): seems to be called from nowhere?
|
||||
const url = base + '/api/frontend/v1/checkperson/CheckPerson/filterPerson';
|
||||
return {
|
||||
method: 'post',
|
||||
url,
|
||||
params
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getViewData() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Cis4FhcApi/getViewData'
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getMenu() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/CisMenu/getMenu'
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,64 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
content(content_id, version=null, sprache=null, sichtbar=null) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Cms/content',
|
||||
params: {
|
||||
content_id,
|
||||
...(version ? { version } : {}),
|
||||
...(sprache ? { sprache } : {}),
|
||||
...(sichtbar ? { sichtbar } : {})
|
||||
}
|
||||
};
|
||||
},
|
||||
//api function used for the news View that renders the html
|
||||
getNews(page = 1, page_size = 10, sprache) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Cms/getNews',
|
||||
params: {
|
||||
page,
|
||||
page_size,
|
||||
sprache
|
||||
},
|
||||
};
|
||||
},
|
||||
//api function used for the widget component
|
||||
news(limit) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Cms/news',
|
||||
params: { limit }
|
||||
};
|
||||
},
|
||||
getNewsRowCount() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Cms/getNewsRowCount'
|
||||
};
|
||||
},
|
||||
getNewsExtra() {
|
||||
// TODO(chris): seems to be called from nowhere?
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Cms/getStudiengangInfoForNews'
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,95 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
saveCustomFilter(wsParams) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/filter/saveCustomFilter',
|
||||
params: {
|
||||
filterUniqueId: wsParams.filterUniqueId,
|
||||
filterType: wsParams.filterType,
|
||||
customFilterName: wsParams.customFilterName
|
||||
}
|
||||
};
|
||||
},
|
||||
removeCustomFilter(wsParams) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/filter/removeCustomFilter',
|
||||
params: {
|
||||
filterUniqueId: wsParams.filterUniqueId,
|
||||
filterType: wsParams.filterType,
|
||||
filterId: wsParams.filterId
|
||||
}
|
||||
};
|
||||
},
|
||||
applyFilterFields(wsParams) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/filter/applyFilterFields',
|
||||
params: {
|
||||
filterUniqueId: wsParams.filterUniqueId,
|
||||
filterType: wsParams.filterType,
|
||||
filterFields: wsParams.filterFields
|
||||
}
|
||||
};
|
||||
},
|
||||
addFilterField(wsParams) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/filter/addFilterField',
|
||||
params: {
|
||||
filterUniqueId: wsParams.filterUniqueId,
|
||||
filterType: wsParams.filterType,
|
||||
filterField: wsParams.filterField
|
||||
}
|
||||
};
|
||||
},
|
||||
removeFilterField(wsParams) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/filter/removeFilterField',
|
||||
params: {
|
||||
filterUniqueId: wsParams.filterUniqueId,
|
||||
filterType: wsParams.filterType,
|
||||
filterField: wsParams.filterField
|
||||
}
|
||||
};
|
||||
},
|
||||
getFilterById(wsParams) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/filter/getFilter',
|
||||
params: {
|
||||
filterUniqueId: wsParams.filterUniqueId,
|
||||
filterType: wsParams.filterType,
|
||||
filterId: wsParams.filterId
|
||||
}
|
||||
};
|
||||
},
|
||||
getFilter(wsParams) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/filter/getFilter',
|
||||
params: {
|
||||
filterUniqueId: wsParams.filterUniqueId,
|
||||
filterType: wsParams.filterType
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getStudentenMail(lehreinheit_id) {
|
||||
// TODO(chris): seems to be called from nowhere?
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Lehre/lvStudentenMail',
|
||||
params: { lehreinheit_id }
|
||||
};
|
||||
},
|
||||
getLvInfo(studiensemester_kurzbz, lehrveranstaltung_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: `/api/frontend/v1/Lehre/LV/${studiensemester_kurzbz}/${lehrveranstaltung_id}`
|
||||
};
|
||||
},
|
||||
getStudentPruefungen(lehrveranstaltung_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: `/api/frontend/v1/Lehre/Pruefungen/${lehrveranstaltung_id}`
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,33 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getHeader(navigation_page) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/navigation/header',
|
||||
params: { navigation_page }
|
||||
};
|
||||
},
|
||||
getMenu(navigation_page) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/navigation/menu',
|
||||
params: { navigation_page }
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,22 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import person from "./notiz/person.js";
|
||||
|
||||
export default {
|
||||
person
|
||||
};
|
||||
@@ -0,0 +1,87 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getNotizen(id, type) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/notiz/notizPerson/getNotizen/' + id + '/' + type
|
||||
};
|
||||
},
|
||||
getUid() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/notiz/notizPerson/getUid/'
|
||||
};
|
||||
},
|
||||
addNewNotiz(id, params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/notiz/notizPerson/addNewNotiz/' + id,
|
||||
params
|
||||
};
|
||||
},
|
||||
loadNotiz(notiz_id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/notiz/notizPerson/loadNotiz/',
|
||||
params: {
|
||||
notiz_id
|
||||
}
|
||||
};
|
||||
},
|
||||
loadDokumente(notiz_id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/notiz/notizPerson/loadDokumente/',
|
||||
params: {
|
||||
notiz_id
|
||||
}
|
||||
};
|
||||
},
|
||||
deleteNotiz(notiz_id, type_id, id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/notiz/notizPerson/deleteNotiz/',
|
||||
params: {
|
||||
notiz_id,
|
||||
type_id,
|
||||
id
|
||||
}
|
||||
};
|
||||
},
|
||||
updateNotiz(notiz_id, params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/notiz/notizPerson/updateNotiz/' + notiz_id,
|
||||
params
|
||||
};
|
||||
},
|
||||
getMitarbeiter(event) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/notiz/notizPerson/getMitarbeiter/' + event
|
||||
};
|
||||
},
|
||||
isBerechtigt(id, type_id) {
|
||||
// TODO(chris): seems to be called from nowhere?
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/notiz/notizPerson/isBerechtigt/'
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getContentID(ort_kurbz) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Ort/ContentID',
|
||||
params: { ort_kurzbz: ort_kurbz }
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
loadCategory(category) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/phrasen/loadModule/' + category
|
||||
};
|
||||
},
|
||||
setLanguage(categories,language) {
|
||||
const params = {categories, language}
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/phrasen/setLanguage',
|
||||
params
|
||||
};
|
||||
},
|
||||
getLanguage() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/phrasen/getLanguage'
|
||||
};
|
||||
},
|
||||
getActiveDbLanguages() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/phrasen/getAllLanguages'
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,73 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getView(uid) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: `/api/frontend/v1/Profil/getView/${uid}`
|
||||
};
|
||||
},
|
||||
fotoSperre(value) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: `/api/frontend/v1/Profil/fotoSperre/${value}`
|
||||
};
|
||||
|
||||
},
|
||||
isStudent(uid) {
|
||||
// TODO(chris): seems to be called from nowhere?
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Profil/isStudent',
|
||||
params: { uid }
|
||||
};
|
||||
},
|
||||
isMitarbeiter(uid) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: `/api/frontend/v1/Profil/isMitarbeiter/${uid}`
|
||||
};
|
||||
},
|
||||
getZustellAdresse() {
|
||||
// TODO(chris): seems to be called from nowhere?
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Profil/getZustellAdresse'
|
||||
};
|
||||
},
|
||||
getZustellKontakt() {
|
||||
// TODO(chris): seems to be called from nowhere?
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Profil/getZustellKontakt'
|
||||
};
|
||||
},
|
||||
getGemeinden(nation, zip) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: `/api/frontend/v1/Profil/getGemeinden/${nation}/${zip}`
|
||||
};
|
||||
|
||||
},
|
||||
getAllNationen() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Profil/getAllNationen'
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,110 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
//! API calls for profil update requests
|
||||
getStatus() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/ProfilUpdate/getStatus'
|
||||
};
|
||||
},
|
||||
getTopic() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/ProfilUpdate/getTopic'
|
||||
};
|
||||
},
|
||||
acceptProfilRequest({profil_update_id, uid, status_message, topic, requested_change}) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/ProfilUpdate/acceptProfilRequest',
|
||||
params: {
|
||||
profil_update_id,
|
||||
uid,
|
||||
status_message,
|
||||
topic,
|
||||
requested_change
|
||||
}
|
||||
};
|
||||
},
|
||||
denyProfilRequest({profil_update_id, uid, topic, status_message}) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/ProfilUpdate/denyProfilRequest',
|
||||
params: {
|
||||
profil_update_id,
|
||||
uid,
|
||||
topic,
|
||||
status_message
|
||||
}
|
||||
};
|
||||
},
|
||||
insertFile(dms, replace = null) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: `/api/frontend/v1/ProfilUpdate/insertFile/${replace}`,
|
||||
params: dms
|
||||
};
|
||||
},
|
||||
getProfilRequestFiles(requestID) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: `/api/frontend/v1/ProfilUpdate/getProfilRequestFiles/${requestID}`
|
||||
};
|
||||
},
|
||||
selectProfilRequest(uid = null, id = null) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/ProfilUpdate/selectProfilRequest',
|
||||
params: {
|
||||
...(uid ? { uid } : {}),
|
||||
...(id ? { id } : {})
|
||||
}
|
||||
};
|
||||
},
|
||||
insertProfilRequest(topic, payload, fileID = null) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/ProfilUpdate/insertProfilRequest',
|
||||
params: {
|
||||
topic,
|
||||
payload,
|
||||
...(fileID ? { fileID } : {})
|
||||
}
|
||||
};
|
||||
},
|
||||
updateProfilRequest(topic, payload, ID, fileID = null) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/ProfilUpdate/updateProfilRequest',
|
||||
params: {
|
||||
topic,
|
||||
payload,
|
||||
ID,
|
||||
...(fileID ? { fileID } : {})
|
||||
}
|
||||
};
|
||||
},
|
||||
deleteProfilRequest(requestID) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/ProfilUpdate/deleteProfilRequest',
|
||||
params: { requestID }
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
search(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/searchbar/search',
|
||||
params
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,32 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
studiengangInformation() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Studgang/getStudiengangInfo'
|
||||
};
|
||||
},
|
||||
getStudiengangByKz(studiengang_kz) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/organisation/StudiengangEP/getStudiengangByKz',
|
||||
params: { studiengang_kz }
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import abmeldung from "./studstatus/abmeldung.js";
|
||||
import unterbrechung from "./studstatus/unterbrechung.js";
|
||||
import wiederholung from "./studstatus/wiederholung.js";
|
||||
import leitung from "./studstatus/leitung.js";
|
||||
|
||||
export default {
|
||||
abmeldung,
|
||||
unterbrechung,
|
||||
wiederholung,
|
||||
leitung
|
||||
};
|
||||
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getDetails(antrag_id, prestudent_id) {
|
||||
const url = '/api/frontend/v1/studstatus/abmeldung/'
|
||||
+ (antrag_id !== undefined ? 'getDetailsForAntrag/' + antrag_id : 'getDetailsForNewAntrag/' + prestudent_id);
|
||||
return {
|
||||
method: 'get',
|
||||
url
|
||||
};
|
||||
},
|
||||
create(studiensemester, prestudent_id, grund) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/studstatus/abmeldung/createAntrag',
|
||||
params: {
|
||||
studiensemester,
|
||||
prestudent_id,
|
||||
grund
|
||||
}
|
||||
};
|
||||
},
|
||||
cancel(antrag_id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/studstatus/abmeldung/cancelAntrag',
|
||||
params: { antrag_id }
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,100 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getStgs() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/studstatus/leitung/getActiveStgs'
|
||||
};
|
||||
},
|
||||
getAntraege(url, config, params) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/studstatus/leitung/getAntraege/' + url
|
||||
};
|
||||
},
|
||||
getHistory(antrag_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/studstatus/leitung/getHistory/' + antrag_id
|
||||
};
|
||||
},
|
||||
getPrestudents(query, signal) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/studstatus/leitung/getPrestudents',
|
||||
params: { query }
|
||||
};
|
||||
},
|
||||
approve(antrag) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/studstatus/leitung/approveAntrag',
|
||||
params: antrag
|
||||
};
|
||||
},
|
||||
reject(antrag) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/studstatus/leitung/rejectAntrag',
|
||||
params: antrag
|
||||
};
|
||||
},
|
||||
reopen(antrag) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/studstatus/leitung/reopenAntrag',
|
||||
params: antrag
|
||||
};
|
||||
},
|
||||
pause(antrag) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/studstatus/leitung/pauseAntrag',
|
||||
params: antrag
|
||||
};
|
||||
},
|
||||
unpause(antrag) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/studstatus/leitung/unpauseAntrag',
|
||||
params: antrag
|
||||
};
|
||||
},
|
||||
object(antrag) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/studstatus/leitung/objectAntrag',
|
||||
params: antrag
|
||||
};
|
||||
},
|
||||
approveObjection(antrag) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/studstatus/leitung/approveObjection',
|
||||
params: antrag
|
||||
};
|
||||
},
|
||||
denyObjection(antrag) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/studstatus/leitung/denyObjection',
|
||||
params: antrag
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,49 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getDetails(antrag_id, prestudent_id) {
|
||||
const url = '/api/frontend/v1/studstatus/unterbrechung/'
|
||||
+ (antrag_id !== undefined ? 'getDetailsForAntrag/' + antrag_id : 'getDetailsForNewAntrag/' + prestudent_id);
|
||||
return {
|
||||
method: 'get',
|
||||
url
|
||||
};
|
||||
},
|
||||
create(studiensemester, prestudent_id, grund, datum_wiedereinstieg, attachment) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/studstatus/unterbrechung/createAntrag',
|
||||
params: {
|
||||
studiensemester,
|
||||
prestudent_id,
|
||||
grund,
|
||||
datum_wiedereinstieg,
|
||||
attachment
|
||||
}
|
||||
};
|
||||
},
|
||||
cancel(antrag_id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/studstatus/unterbrechung/cancelAntrag',
|
||||
params: {
|
||||
antrag_id
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,63 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getDetails(prestudent_id) {
|
||||
const url = '/api/frontend/v1/studstatus/wiederholung/getDetailsForNewAntrag/' + prestudent_id;
|
||||
return {
|
||||
method: 'get',
|
||||
url
|
||||
};
|
||||
},
|
||||
getLvs(antrag_id) {
|
||||
const url = '/api/frontend/v1/studstatus/wiederholung/getLvs/' + antrag_id;
|
||||
return {
|
||||
method: 'get',
|
||||
url
|
||||
};
|
||||
},
|
||||
create(prestudent_id, studiensemester) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/studstatus/wiederholung/createAntrag',
|
||||
params: {
|
||||
prestudent_id,
|
||||
studiensemester
|
||||
}
|
||||
};
|
||||
},
|
||||
cancel(prestudent_id, studiensemester) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/studstatus/wiederholung/cancelAntrag',
|
||||
params: {
|
||||
prestudent_id,
|
||||
studiensemester
|
||||
}
|
||||
};
|
||||
},
|
||||
saveLvs(forbiddenLvs, mandatoryLvs) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/studstatus/wiederholung/saveLvs',
|
||||
params: {
|
||||
forbiddenLvs,
|
||||
mandatoryLvs
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,66 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getRoomInfo(ort_kurzbz, start_date, end_date) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Stundenplan/getRoomplan',
|
||||
params: { ort_kurzbz, start_date, end_date }
|
||||
};
|
||||
},
|
||||
getStundenplan(start_date, end_date, lv_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Stundenplan/getStundenplan',
|
||||
params: { start_date, end_date, lv_id }
|
||||
};
|
||||
},
|
||||
getStunden() {
|
||||
// TODO(chris): seems to be called from nowhere?
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Stundenplan/Stunden'
|
||||
};
|
||||
},
|
||||
getOrtReservierungen(ort_kurzbz, start_date, end_date) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: `/api/frontend/v1/Stundenplan/Reservierungen/${ort_kurzbz}`,
|
||||
params: { start_date, end_date }
|
||||
};
|
||||
},
|
||||
getStundenplanReservierungen(start_date, end_date) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Stundenplan/Reservierungen',
|
||||
params: { start_date, end_date }
|
||||
};
|
||||
},
|
||||
getLehreinheitStudiensemester(lehreinheit_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: `/api/frontend/v1/Stundenplan/getLehreinheitStudiensemester/${lehreinheit_id}`
|
||||
};
|
||||
},
|
||||
studiensemesterDateInterval(date) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: `/api/frontend/v1/Stundenplan/studiensemesterDateInterval/${date}`
|
||||
};
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,48 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import app from './stv/app.js';
|
||||
import lists from './stv/lists.js';
|
||||
import verband from './stv/verband.js';
|
||||
import students from './stv/students.js';
|
||||
import filter from './stv/filter.js';
|
||||
import konto from './stv/konto.js';
|
||||
import kontakt from './stv/kontakt.js';
|
||||
import prestudent from './stv/prestudent.js';
|
||||
import status from './stv/status.js';
|
||||
import details from './stv/details.js';
|
||||
import exam from './stv/exam.js';
|
||||
import abschlusspruefung from './stv/abschlusspruefung.js';
|
||||
import grades from './stv/grades.js';
|
||||
import mobility from './stv/mobility.js';
|
||||
|
||||
export default {
|
||||
app,
|
||||
lists,
|
||||
verband,
|
||||
students,
|
||||
filter,
|
||||
konto,
|
||||
kontakt,
|
||||
prestudent,
|
||||
status,
|
||||
details,
|
||||
exam,
|
||||
abschlusspruefung,
|
||||
grades,
|
||||
mobility
|
||||
};
|
||||
@@ -0,0 +1,111 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getAbschlusspruefung(uid) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/abschlusspruefung/getAbschlusspruefung/' + uid
|
||||
};
|
||||
},
|
||||
addNewAbschlusspruefung(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/abschlusspruefung/insertAbschlusspruefung/',
|
||||
params
|
||||
};
|
||||
},
|
||||
loadAbschlusspruefung(id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/abschlusspruefung/loadAbschlusspruefung/',
|
||||
params: { id }
|
||||
};
|
||||
},
|
||||
updateAbschlusspruefung(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/abschlusspruefung/updateAbschlusspruefung/',
|
||||
params
|
||||
};
|
||||
},
|
||||
deleteAbschlusspruefung(id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/abschlusspruefung/deleteAbschlusspruefung/',
|
||||
params: { id }
|
||||
};
|
||||
},
|
||||
getTypenAbschlusspruefung() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/abschlusspruefung/getTypenAbschlusspruefung/'
|
||||
};
|
||||
},
|
||||
getTypenAntritte() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/abschlusspruefung/getTypenAntritte/'
|
||||
};
|
||||
},
|
||||
getBeurteilungen() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/abschlusspruefung/getBeurteilungen/'
|
||||
};
|
||||
},
|
||||
getAkadGrade(studiengang_kz) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/abschlusspruefung/getAkadGrade/',
|
||||
params: { studiengang_kz }
|
||||
};
|
||||
},
|
||||
getTypStudiengang(studiengang_kz) {
|
||||
// TODO(chris): seems to be called from nowhere?
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/abschlusspruefung/getTypStudiengang/',
|
||||
params: { studiengang_kz }
|
||||
};
|
||||
},
|
||||
getMitarbeiter(searchString) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/abschlusspruefung/getMitarbeiter/' + searchString
|
||||
};
|
||||
},
|
||||
getPruefer(searchString) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/abschlusspruefung/getPruefer/' + searchString
|
||||
};
|
||||
},
|
||||
getNoten() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/abschlusspruefung/getNoten/'
|
||||
};
|
||||
},
|
||||
checkForExistingExams(uids) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/abschlusspruefung/checkForExistingExams/',
|
||||
params: { uid }
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,31 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
configStudent() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/config/student'
|
||||
};
|
||||
},
|
||||
configStudents() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/config/students'
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,32 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
get(prestudent_id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/student/get/' + prestudent_id
|
||||
};
|
||||
},
|
||||
save(prestudent_id, params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/student/save/' + prestudent_id,
|
||||
params
|
||||
};
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,101 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getPruefungen(uid) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/pruefung/getPruefungen/' + uid
|
||||
};
|
||||
},
|
||||
loadPruefung(pruefung_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/pruefung/loadPruefung/' + pruefung_id
|
||||
};
|
||||
},
|
||||
getTypenPruefungen() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/pruefung/getTypenPruefungen'
|
||||
};
|
||||
},
|
||||
getAllLehreinheiten(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/pruefung/getAllLehreinheiten/',
|
||||
params
|
||||
};
|
||||
},
|
||||
getLvsByStudent(uid) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/pruefung/getLvsByStudent/' + uid
|
||||
};
|
||||
},
|
||||
getLvsandLesByStudent(uid, semester) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/pruefung/getLvsandLesByStudent/' + uid + '/' + semester
|
||||
};
|
||||
},
|
||||
getLvsAndMas(uid) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/pruefung/getLvsAndMas/' + uid
|
||||
};
|
||||
},
|
||||
getMitarbeiterLv(id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/pruefung/getMitarbeiterLv/' + id
|
||||
};
|
||||
},
|
||||
getNoten() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/pruefung/getNoten'
|
||||
};
|
||||
},
|
||||
checkZeugnisnoteLv(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/pruefung/checkZeugnisnoteLv/',
|
||||
params
|
||||
};
|
||||
},
|
||||
addPruefung(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/pruefung/insertPruefung/',
|
||||
params
|
||||
};
|
||||
},
|
||||
updatePruefung(id, params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/pruefung/updatePruefung/' + id,
|
||||
params
|
||||
};
|
||||
},
|
||||
deletePruefung(id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/pruefung/deletePruefung/' + id
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,32 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getStg() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/filter/getStg'
|
||||
};
|
||||
},
|
||||
setStg(studiengang_kz) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/filter/setStg',
|
||||
params: { studiengang_kz }
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,96 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
list() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/grades/list'
|
||||
};
|
||||
},
|
||||
getCertificate(prestudent_id, all) {
|
||||
all = all ? '/all' : '';
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/grades/getCertificate/' + prestudent_id + all
|
||||
};
|
||||
},
|
||||
getTeacherProposal(prestudent_id, all) {
|
||||
all = all ? '/all' : '';
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/grades/getTeacherProposal/' + prestudent_id + all
|
||||
};
|
||||
},
|
||||
getRepeaterGrades(prestudent_id, all) {
|
||||
all = all ? '/all' : '';
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/grades/getRepeaterGrades/' + prestudent_id + all
|
||||
};
|
||||
},
|
||||
updateCertificate({lehrveranstaltung_id, student_uid, studiensemester_kurzbz, note, lehrveranstaltung_bezeichnung}) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/grades/updateCertificate',
|
||||
params: {
|
||||
lehrveranstaltung_id,
|
||||
student_uid,
|
||||
studiensemester_kurzbz,
|
||||
note
|
||||
}
|
||||
};
|
||||
},
|
||||
deleteCertificate({lehrveranstaltung_id, student_uid, studiensemester_kurzbz, lehrveranstaltung_bezeichnung}) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/grades/deleteCertificate',
|
||||
params: {
|
||||
lehrveranstaltung_id,
|
||||
student_uid,
|
||||
studiensemester_kurzbz
|
||||
}
|
||||
};
|
||||
},
|
||||
copyTeacherProposalToCertificate({lehrveranstaltung_id, student_uid, studiensemester_kurzbz, lehrveranstaltung_bezeichnung}) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/grades/copyTeacherProposalToCertificate',
|
||||
params: {
|
||||
lehrveranstaltung_id,
|
||||
student_uid,
|
||||
studiensemester_kurzbz
|
||||
}
|
||||
};
|
||||
},
|
||||
copyRepeaterGradeToCertificate({studierendenantrag_lehrveranstaltung_id, lv_bezeichnung}) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/grades/copyRepeaterGradeToCertificate',
|
||||
params: {
|
||||
studierendenantrag_lehrveranstaltung_id
|
||||
}
|
||||
};
|
||||
},
|
||||
getGradeFromPoints(points, lehrveranstaltung_id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/grades/getGradeFromPoints',
|
||||
params: { points, lehrveranstaltung_id }
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import address from './kontakt/address.js';
|
||||
import bankaccount from './kontakt/bankaccount.js';
|
||||
import contact from './kontakt/contact.js';
|
||||
import company from './kontakt/company.js';
|
||||
|
||||
export default {
|
||||
address,
|
||||
bankaccount,
|
||||
contact,
|
||||
company
|
||||
};
|
||||
@@ -0,0 +1,71 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
get(uid) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/kontakt/getAdressen/' + uid
|
||||
};
|
||||
},
|
||||
add(uid, params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/kontakt/addNewAddress/' + uid,
|
||||
params
|
||||
};
|
||||
},
|
||||
load(address_id){
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/kontakt/loadAddress/',
|
||||
params: { address_id }
|
||||
};
|
||||
},
|
||||
update(address_id, params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/kontakt/updateAddress/' + address_id,
|
||||
params
|
||||
};
|
||||
},
|
||||
delete(address_id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/kontakt/deleteAddress/',
|
||||
params: { address_id }
|
||||
};
|
||||
},
|
||||
getTypes() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/kontakt/getAdressentypen/'
|
||||
};
|
||||
},
|
||||
getPlaces(plz) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/address/getPlaces/' + plz
|
||||
};
|
||||
},
|
||||
getNations() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/address/getNations/'
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,53 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
get(uid) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/kontakt/getBankverbindung/' + uid
|
||||
};
|
||||
},
|
||||
add(uid, params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/kontakt/addNewBankverbindung/' + uid,
|
||||
params
|
||||
};
|
||||
},
|
||||
load(bankverbindung_id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/kontakt/loadBankverbindung/',
|
||||
params: { bankverbindung_id }
|
||||
};
|
||||
},
|
||||
update(bankverbindung_id, params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/kontakt/updateBankverbindung/' + bankverbindung_id,
|
||||
params
|
||||
};
|
||||
},
|
||||
delete(bankverbindung_id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/kontakt/deleteBankverbindung/',
|
||||
params: { bankverbindung_id }
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
get(searchString) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/kontakt/getFirmen/' + searchString
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,65 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
get(uid) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/kontakt/getKontakte/' + uid
|
||||
};
|
||||
},
|
||||
add(uid, params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/kontakt/addNewContact/' + uid,
|
||||
params
|
||||
};
|
||||
},
|
||||
load(kontakt_id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/kontakt/loadContact/',
|
||||
params: { kontakt_id }
|
||||
};
|
||||
},
|
||||
update(kontakt_id, params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/kontakt/updateContact/' + kontakt_id,
|
||||
params
|
||||
};
|
||||
},
|
||||
delete(kontakt_id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/kontakt/deleteContact/',
|
||||
params: { kontakt_id }
|
||||
};
|
||||
},
|
||||
getTypes() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/kontakt/getKontakttypen/'
|
||||
};
|
||||
},
|
||||
getStandorteByFirma(searchString) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/kontakt/getStandorteByFirma/' + searchString
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,74 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
get(person_id, only_open, studiengang_kz) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/konto/get',
|
||||
params: {
|
||||
person_id,
|
||||
only_open,
|
||||
studiengang_kz
|
||||
}
|
||||
};
|
||||
},
|
||||
checkDoubles(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/konto/checkDoubles',
|
||||
params,
|
||||
config: {
|
||||
confirmErrorHandler: error => true
|
||||
}
|
||||
};
|
||||
},
|
||||
insert(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/konto/insert',
|
||||
params
|
||||
};
|
||||
},
|
||||
counter(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/konto/counter',
|
||||
params
|
||||
};
|
||||
},
|
||||
edit(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/konto/update',
|
||||
params
|
||||
};
|
||||
},
|
||||
delete(buchungsnr) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/konto/delete',
|
||||
params: { buchungsnr }
|
||||
};
|
||||
},
|
||||
getBuchungstypen() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/konto/getBuchungstypen'
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,55 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getSprachen() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/lists/getSprachen'
|
||||
};
|
||||
},
|
||||
getGeschlechter() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/lists/getGeschlechter'
|
||||
};
|
||||
},
|
||||
getAusbildungen() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/lists/getAusbildungen'
|
||||
};
|
||||
},
|
||||
getStgs() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/lists/getStgs'
|
||||
};
|
||||
},
|
||||
getOrgforms() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/lists/getOrgforms'
|
||||
};
|
||||
},
|
||||
getStudiensemester() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/lists/getStudiensemester'
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,128 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getMobilitaeten(uid) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/mobility/getMobilitaeten/' + uid
|
||||
};
|
||||
},
|
||||
getProgramsMobility() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/mobility/getProgramsMobility/'
|
||||
};
|
||||
},
|
||||
addNewMobility(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/mobility/insertMobility/',
|
||||
params
|
||||
};
|
||||
},
|
||||
loadMobility(bisio_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/mobility/loadMobility/' + bisio_id
|
||||
};
|
||||
},
|
||||
updateMobility(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/mobility/updateMobility/',
|
||||
params
|
||||
};
|
||||
},
|
||||
deleteMobility(bisio_id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/mobility/deleteMobility/' + bisio_id
|
||||
};
|
||||
},
|
||||
getLVList(studiengang_kz) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/mobility/getLVList/' + studiengang_kz
|
||||
};
|
||||
},
|
||||
getAllLehreinheiten(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/mobility/getAllLehreinheiten/',
|
||||
params
|
||||
};
|
||||
},
|
||||
getLvsandLesByStudent(uid) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/mobility/getLvsandLesByStudent/' + uid
|
||||
};
|
||||
},
|
||||
getPurposes(bisio_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/mobility/getPurposes/' + bisio_id
|
||||
};
|
||||
},
|
||||
getSupports(bisio_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/mobility/getSupports/' + bisio_id
|
||||
};
|
||||
},
|
||||
getListPurposes() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/mobility/getListPurposes/'
|
||||
};
|
||||
},
|
||||
getListSupports() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/mobility/getListSupports/'
|
||||
};
|
||||
},
|
||||
deleteMobilityPurpose(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/mobility/deleteMobilityPurpose/' + params.bisio_id,
|
||||
params
|
||||
};
|
||||
},
|
||||
addMobilityPurpose(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/mobility/addMobilityPurpose/' + params.bisio_id,
|
||||
params
|
||||
};
|
||||
},
|
||||
deleteMobilitySupport(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/mobility/deleteMobilitySupport/' + params.bisio_id,
|
||||
params
|
||||
};
|
||||
},
|
||||
addMobilitySupport(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/mobility/addMobilitySupport/' + params.bisio_id,
|
||||
params
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,150 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
//------------- Prestudent.js------------------------------------------------------
|
||||
get(prestudent_id) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/prestudent/get/' + prestudent_id
|
||||
};
|
||||
},
|
||||
updatePrestudent(prestudent_id, params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/prestudent/updatePrestudent/' + prestudent_id,
|
||||
params
|
||||
};
|
||||
},
|
||||
getBezeichnungZGV() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/prestudent/getBezeichnungZGV/'
|
||||
};
|
||||
},
|
||||
getBezeichnungMZgv() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/prestudent/getBezeichnungMZgv/'
|
||||
};
|
||||
},
|
||||
getBezeichnungDZgv() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/prestudent/getBezeichnungDZgv/'
|
||||
};
|
||||
},
|
||||
getStgs() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/lists/getStgs/'
|
||||
};
|
||||
},
|
||||
getAusbildung() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/prestudent/getAusbildung/'
|
||||
};
|
||||
},
|
||||
getAufmerksamdurch() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/prestudent/getAufmerksamdurch/'
|
||||
};
|
||||
},
|
||||
getBerufstaetigkeit() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/prestudent/getBerufstaetigkeit/'
|
||||
};
|
||||
},
|
||||
getTypenStg() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/prestudent/getTypenStg/'
|
||||
};
|
||||
},
|
||||
getBisstandort() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/prestudent/getBisstandort/'
|
||||
};
|
||||
},
|
||||
//------------- MultiStatus.js------------------------------------------------------
|
||||
getHistoryPrestudent(prestudent_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/status/getHistoryPrestudent/' + prestudent_id
|
||||
};
|
||||
},
|
||||
getMaxSem(studiengang_kzs) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/status/getMaxSemester/',
|
||||
params: { studiengang_kzs }
|
||||
};
|
||||
},
|
||||
advanceStatus({prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/status/advanceStatus/'
|
||||
+ prestudent_id + '/'
|
||||
+ status_kurzbz + '/'
|
||||
+ studiensemester_kurzbz + '/'
|
||||
+ ausbildungssemester
|
||||
};
|
||||
},
|
||||
confirmStatus({prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/status/confirmStatus/'
|
||||
+ prestudent_id + '/'
|
||||
+ status_kurzbz + '/'
|
||||
+ studiensemester_kurzbz + '/'
|
||||
+ ausbildungssemester
|
||||
};
|
||||
},
|
||||
isLastStatus(id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/status/isLastStatus/' + id
|
||||
};
|
||||
},
|
||||
deleteStatus({prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/status/deleteStatus/'
|
||||
+ prestudent_id + '/'
|
||||
+ status_kurzbz + '/'
|
||||
+ studiensemester_kurzbz + '/'
|
||||
+ ausbildungssemester
|
||||
};
|
||||
},
|
||||
getLastBismeldestichtag() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/status/getLastBismeldestichtag/'
|
||||
};
|
||||
},
|
||||
//------------- History.js------------------------------------------------------
|
||||
getHistoryPrestudents(person_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/prestudent/getHistoryPrestudents/' + person_id
|
||||
};
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,98 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
//------------- Modal.js------------------------------------------------------
|
||||
insertStatus(id, params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/status/insertStatus/' + id,
|
||||
params
|
||||
};
|
||||
},
|
||||
loadStatus({prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/status/loadStatus/'
|
||||
+ prestudent_id + '/'
|
||||
+ status_kurzbz + '/'
|
||||
+ studiensemester_kurzbz + '/'
|
||||
+ ausbildungssemester
|
||||
};
|
||||
},
|
||||
updateStatus({
|
||||
prestudent_id,
|
||||
status_kurzbz,
|
||||
studiensemester_kurzbz,
|
||||
ausbildungssemester
|
||||
}, params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/status/updateStatus/'
|
||||
+ prestudent_id + '/'
|
||||
+ status_kurzbz + '/'
|
||||
+ studiensemester_kurzbz + '/'
|
||||
+ ausbildungssemester,
|
||||
params
|
||||
};
|
||||
},
|
||||
getStudienplaene(prestudent_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/prestudent/getStudienplaene/' + prestudent_id
|
||||
};
|
||||
},
|
||||
getStudiengang(prestudent_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/prestudent/getStudiengang/' + prestudent_id
|
||||
};
|
||||
},
|
||||
getStatusgruende() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/status/getStatusgruende/'
|
||||
};
|
||||
},
|
||||
getStati() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/lists/getStati/'
|
||||
};
|
||||
},
|
||||
//------------- Dropdown.js------------------------------------------------------
|
||||
addStudent(id, params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/status/addStudent/' + id,
|
||||
params
|
||||
};
|
||||
},
|
||||
changeStatus(id, params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/status/changeStatus/' + id,
|
||||
params
|
||||
};
|
||||
},
|
||||
getStatusarray() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/status/getStatusarray/'
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,50 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
uid(uid) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/students/uid/' + uid
|
||||
};
|
||||
},
|
||||
prestudent(prestudent_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/students/prestudent/' + prestudent_id
|
||||
};
|
||||
},
|
||||
person(person_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/students/person/' + person_id
|
||||
};
|
||||
},
|
||||
verband(relative_path) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/students/' + relative_path
|
||||
};
|
||||
},
|
||||
check(params) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/student/check',
|
||||
params
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,43 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
get(path) {
|
||||
let url = 'api/frontend/v1/stv/verband';
|
||||
if (path)
|
||||
url += '/' + path;
|
||||
return {
|
||||
method: 'get',
|
||||
url
|
||||
};
|
||||
},
|
||||
favorites: {
|
||||
get() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/favorites'
|
||||
};
|
||||
},
|
||||
set(favorites) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/favorites/set',
|
||||
params: { favorites }
|
||||
};
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,37 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
open() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Ampeln/open'
|
||||
};
|
||||
},
|
||||
all() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Ampeln/all'
|
||||
};
|
||||
},
|
||||
confirm(ampel_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: `/api/frontend/v1/Ampeln/confirm/${ampel_id}`
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getBookmarks() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/Bookmark/getBookmarks'
|
||||
};
|
||||
},
|
||||
delete(bookmark_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: `/api/frontend/v1/Bookmark/delete/${bookmark_id}`
|
||||
};
|
||||
},
|
||||
update({ bookmark_id, url, title, tag=null }) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: `/api/frontend/v1/Bookmark/update/${bookmark_id}`,
|
||||
params: { url, title }
|
||||
};
|
||||
},
|
||||
insert({ url, title, tag }) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: `/api/frontend/v1/Bookmark/insert`,
|
||||
params: { url, title, tag }
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* Copyright (C) 2025 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
load({ ciModel, pk }) {
|
||||
return {
|
||||
method: 'post',
|
||||
url: '/api/frontend/v1/udf/load/' + ciModel,
|
||||
params: pk
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -23,7 +23,7 @@ import {CoreRESTClient} from '../../RESTClient.js';
|
||||
import {CoreFetchCmpt} from '../../components/Fetch.js';
|
||||
import {BismeldestichtagAPIs} from './API.js';
|
||||
|
||||
import Phrasen from '../../plugin/Phrasen.js';
|
||||
import PluginsPhrasen from '../../plugins/Phrasen.js';
|
||||
|
||||
const bismeldestichtagApp = Vue.createApp({
|
||||
data: function() {
|
||||
@@ -237,4 +237,4 @@ const bismeldestichtagApp = Vue.createApp({
|
||||
}
|
||||
});
|
||||
|
||||
bismeldestichtagApp.use(Phrasen).mount('#main');
|
||||
bismeldestichtagApp.use(PluginsPhrasen).mount('#main');
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
import FhcSearchbar from "../components/searchbar/searchbar.js";
|
||||
import CisMenu from "../components/Cis/Menu.js";
|
||||
import FhcApi from '../plugin/FhcApi.js';
|
||||
import Phrasen from '../plugin/Phrasen.js';
|
||||
import fhcapifactory from "./api/fhcapifactory.js";
|
||||
Vue.$fhcapi = fhcapifactory;
|
||||
import PluginsPhrasen from '../plugins/Phrasen.js';
|
||||
import ApiSearchbar from '../api/factory/searchbar.js';
|
||||
|
||||
const app = Vue.createApp({
|
||||
name: 'CisApp',
|
||||
@@ -113,16 +111,15 @@ const app = Vue.createApp({
|
||||
},
|
||||
methods: {
|
||||
searchfunction: function(searchsettings) {
|
||||
return Vue.$fhcapi.search.search(searchsettings);
|
||||
return this.$api.call(ApiSearchbar.search(searchsettings));
|
||||
}
|
||||
}
|
||||
});
|
||||
app.use(FhcApi);
|
||||
app.use(primevue.config.default, {
|
||||
zIndex: {
|
||||
overlay: 9000,
|
||||
tooltip: 8000
|
||||
}
|
||||
})
|
||||
app.use(Phrasen);
|
||||
app.use(PluginsPhrasen);
|
||||
app.mount('#cis-header');
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Phrasen from '../../plugin/Phrasen.js';
|
||||
import PluginsPhrasen from '../../plugins/Phrasen.js';
|
||||
import {setScrollbarWidth} from "../../helpers/CssVarCalcHelpers.js";
|
||||
|
||||
const app = Vue.createApp({
|
||||
@@ -89,5 +89,5 @@ const app = Vue.createApp({
|
||||
|
||||
setScrollbarWidth();
|
||||
|
||||
app.use(Phrasen);
|
||||
app.use(PluginsPhrasen);
|
||||
app.mount('#content');
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import ProfilUpdateView from "../../components/Cis/ProfilUpdate/ProfilUpdateView.js";
|
||||
import Phrasen from "../../plugin/Phrasen.js";
|
||||
import PluginsPhrasen from "../../plugins/Phrasen.js";
|
||||
|
||||
import ApiProfilUpdate from '../../api/factory/profilUpdate.js';
|
||||
|
||||
// TODO: sobald in verwendung den vue router pfad zu ProfilUpdateView definieren und diese app in component auslagern
|
||||
const app = Vue.createApp({
|
||||
@@ -23,7 +24,8 @@ const app = Vue.createApp({
|
||||
},
|
||||
methods: {},
|
||||
created() {
|
||||
this.$fhcApi.factory.profilUpdate.getStatus()
|
||||
this.$api
|
||||
.call(ApiProfilUpdate.getStatus())
|
||||
.then((response) => {
|
||||
this.profilUpdateStates = response.data;
|
||||
})
|
||||
@@ -32,4 +34,4 @@ const app = Vue.createApp({
|
||||
});
|
||||
},
|
||||
});
|
||||
app.use(Phrasen).mount("#content");
|
||||
app.use(PluginsPhrasen).mount("#content");
|
||||
@@ -1,7 +1,6 @@
|
||||
import {CoreNavigationCmpt} from '../../components/navigation/Navigation.js';
|
||||
import DashboardAdmin from '../../components/Dashboard/Admin.js';
|
||||
import FhcApi from '../../plugin/FhcApi.js';
|
||||
import Phrasen from '../../plugin/Phrasen.js';
|
||||
import PluginsPhrasen from '../../plugins/Phrasen.js';
|
||||
|
||||
const app = Vue.createApp({
|
||||
name: 'AdminApp',
|
||||
@@ -13,6 +12,5 @@ const app = Vue.createApp({
|
||||
DashboardAdmin
|
||||
}
|
||||
});
|
||||
app.use(FhcApi);
|
||||
app.use(Phrasen);
|
||||
app.use(PluginsPhrasen);
|
||||
app.mount('#main');
|
||||
@@ -1,6 +1,5 @@
|
||||
import FhcDashboard from '../../components/Dashboard/Dashboard.js';
|
||||
import FhcApi from '../../plugin/FhcApi.js';
|
||||
import Phrasen from '../../plugin/Phrasen.js';
|
||||
import PluginsPhrasen from '../../plugins/Phrasen.js';
|
||||
import contrast from '../../directives/contrast.js';
|
||||
import {setScrollbarWidth} from "../../helpers/CssVarCalcHelpers.js";
|
||||
import Stundenplan, {DEFAULT_MODE_STUNDENPLAN} from "../../components/Cis/Stundenplan/Stundenplan.js";
|
||||
@@ -259,13 +258,12 @@ const app = Vue.createApp({
|
||||
// kind of a bandaid for bad css on some pages to avoid horizontal scroll
|
||||
setScrollbarWidth();
|
||||
app.use(router);
|
||||
app.use(FhcApi);
|
||||
app.use(primevue.config.default, {
|
||||
zIndex: {
|
||||
overlay: 9000,
|
||||
tooltip: 8000
|
||||
}
|
||||
})
|
||||
app.use(Phrasen);
|
||||
app.use(PluginsPhrasen);
|
||||
app.directive('contrast', contrast);
|
||||
app.mount('#fhccontent');
|
||||
@@ -21,7 +21,7 @@ import {LogsViewerTabulatorEventHandlers} from './TabulatorSetup.js';
|
||||
import {CoreFilterCmpt} from '../../components/filter/Filter.js';
|
||||
import {CoreNavigationCmpt} from '../../components/navigation/Navigation.js';
|
||||
|
||||
import Phrasen from '../../plugin/Phrasen.js';
|
||||
import PluginsPhrasen from '../../plugins/Phrasen.js';
|
||||
|
||||
const logsViewerApp = Vue.createApp({
|
||||
data: function() {
|
||||
@@ -42,5 +42,5 @@ const logsViewerApp = Vue.createApp({
|
||||
}
|
||||
});
|
||||
|
||||
logsViewerApp.use(Phrasen).mount('#main');
|
||||
logsViewerApp.use(PluginsPhrasen).mount('#main');
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
import FhcStudentenverwaltung from "../components/Stv/Studentenverwaltung.js";
|
||||
import fhcapifactory from "./api/fhcapifactory.js";
|
||||
|
||||
import Phrasen from "../plugin/Phrasen.js";
|
||||
import PluginsPhrasen from "../plugins/Phrasen.js";
|
||||
|
||||
|
||||
const ciPath = FHC_JS_DATA_STORAGE_OBJECT.app_root.replace(/(https:|)(^|\/\/)(.*?\/)/g, '') + FHC_JS_DATA_STORAGE_OBJECT.ci_router;
|
||||
@@ -34,7 +34,9 @@ const router = VueRouter.createRouter({
|
||||
]
|
||||
});
|
||||
|
||||
const app = Vue.createApp();
|
||||
const app = Vue.createApp({
|
||||
name: 'StudentenverwaltungApp'
|
||||
});
|
||||
|
||||
app
|
||||
.use(router)
|
||||
@@ -43,5 +45,5 @@ app
|
||||
overlay: 1100
|
||||
}
|
||||
})
|
||||
.use(Phrasen)
|
||||
.use(PluginsPhrasen)
|
||||
.mount('#main');
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import StudierendenantragAntrag from "../../components/Studierendenantrag/Antrag.js";
|
||||
import StudierendenantragStatus from "../../components/Studierendenantrag/Status.js";
|
||||
import StudierendenantragInfoblock from "../../components/Studierendenantrag/Infoblock.js";
|
||||
import Phrasen from '../../plugin/Phrasen.js';
|
||||
import PluginsPhrasen from '../../plugins/Phrasen.js';
|
||||
|
||||
const app = Vue.createApp({
|
||||
name: 'AntragApp',
|
||||
@@ -21,5 +21,5 @@ const app = Vue.createApp({
|
||||
}
|
||||
});
|
||||
app
|
||||
.use(Phrasen)
|
||||
.use(PluginsPhrasen)
|
||||
.mount('#wrapper');
|
||||
@@ -1,5 +1,5 @@
|
||||
import StudierendenantragLeitung from '../../../components/Studierendenantrag/Leitung.js';
|
||||
import Phrasen from '../../../plugin/Phrasen.js';
|
||||
import PluginsPhrasen from '../../../plugins/Phrasen.js';
|
||||
|
||||
const app = Vue.createApp({
|
||||
name: 'LeitungApp',
|
||||
@@ -8,6 +8,6 @@ const app = Vue.createApp({
|
||||
}
|
||||
});
|
||||
app
|
||||
.use(Phrasen)
|
||||
.use(PluginsPhrasen)
|
||||
.use(primevue.config.default,{zIndex: {overlay: 9999}})
|
||||
.mount('#wrapper');
|
||||
@@ -1,5 +1,5 @@
|
||||
import LvZuweisung from '../../../components/Studierendenantrag/Lvzuweisung.js';
|
||||
import Phrasen from '../../../plugin/Phrasen.js';
|
||||
import PluginsPhrasen from '../../../plugins/Phrasen.js';
|
||||
|
||||
const app = Vue.createApp({
|
||||
name: 'LvzuweisungApp',
|
||||
@@ -13,5 +13,5 @@ const app = Vue.createApp({
|
||||
}
|
||||
});
|
||||
app
|
||||
.use(Phrasen)
|
||||
.use(PluginsPhrasen)
|
||||
.mount('#wrapper');
|
||||
@@ -1,5 +1,5 @@
|
||||
import LvPopup from '../../../components/Studierendenantrag/Leitung/LvPopup.js';
|
||||
import Phrasen from '../../../plugin/Phrasen.js';
|
||||
import PluginsPhrasen from '../../../plugins/Phrasen.js';
|
||||
|
||||
const app = Vue.createApp({
|
||||
name: 'StudentApp',
|
||||
@@ -8,5 +8,5 @@ const app = Vue.createApp({
|
||||
}
|
||||
});
|
||||
app
|
||||
.use(Phrasen)
|
||||
.use(PluginsPhrasen)
|
||||
.mount('#wrapper');
|
||||
@@ -17,9 +17,7 @@
|
||||
|
||||
import LvTemplateUebersicht from '../../../lehre/lvplanung/LvTemplateUebersicht.js';
|
||||
import {CoreNavigationCmpt} from '../../../components/navigation/Navigation.js';
|
||||
import FhcAlert from '../../../plugin/FhcAlert.js';
|
||||
import FhcApi from "../../../plugin/FhcApi.js";
|
||||
import Phrasen from "../../../plugin/Phrasen.js";
|
||||
import PluginsPhrasen from "../../../plugins/Phrasen.js";
|
||||
|
||||
|
||||
const lvTemplatesApp = Vue.createApp({
|
||||
@@ -32,7 +30,5 @@ const lvTemplatesApp = Vue.createApp({
|
||||
|
||||
lvTemplatesApp
|
||||
.use(primevue.config.default,{zIndex: {overlay: 9999}})
|
||||
.use(FhcAlert)
|
||||
.use(FhcApi)
|
||||
.use(Phrasen)
|
||||
.use(PluginsPhrasen)
|
||||
.mount('#main')
|
||||
@@ -35,13 +35,9 @@ export default {
|
||||
return {
|
||||
tabulatorOptions: {
|
||||
ajaxURL: 'dummy',
|
||||
ajaxRequestFunc: this.endpoint.getAllBetriebsmittel,
|
||||
ajaxParams: () => {
|
||||
return {
|
||||
type: this.typeId,
|
||||
id: this.id
|
||||
};
|
||||
},
|
||||
ajaxRequestFunc: () => this.$api.call(
|
||||
this.endpoint.getAllBetriebsmittel(this.typeId, this.id)
|
||||
),
|
||||
ajaxResponse: (url, params, response) => response.data,
|
||||
columns: [
|
||||
{title: "Nummer", field: "nummer", width: 150},
|
||||
@@ -221,7 +217,9 @@ export default {
|
||||
.then(result => result
|
||||
? betriebsmittelperson_id
|
||||
: Promise.reject({handled: true}))
|
||||
.then(this.endpoint.deleteBetriebsmittel)
|
||||
.then(betriebsmittelperson_id => this.$api.call(
|
||||
this.endpoint.deleteBetriebsmittel(betriebsmittelperson_id))
|
||||
)
|
||||
.then(result => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successDelete'));
|
||||
window.scrollTo(0, 0);
|
||||
@@ -234,8 +232,8 @@ export default {
|
||||
this.formData.uid = this.uid;
|
||||
if (this.formData.betriebsmitteltyp == 'Inventar')
|
||||
this.formData.betriebsmittel_id = this.formData.inventarData?.betriebsmittel_id;
|
||||
return this.endpoint
|
||||
.addNewBetriebsmittel(this.$refs.betriebsmittelData, this.id, this.formData)
|
||||
return this.$refs.betriebsmittelData
|
||||
.call(this.endpoint.addNewBetriebsmittel(this.id, this.formData))
|
||||
.then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
|
||||
this.$refs.betriebsmittelModal.hide();
|
||||
@@ -248,8 +246,11 @@ export default {
|
||||
updateBetriebsmittel(betriebsmittelperson_id) {
|
||||
if (this.formData.betriebsmitteltyp == 'Inventar')
|
||||
this.formData.betriebsmittel_id = this.formData.inventarData?.betriebsmittel_id;
|
||||
return this.endpoint
|
||||
.updateBetriebsmittel(this.$refs.betriebsmittelData, betriebsmittelperson_id, this.formData)
|
||||
return this.$refs.betriebsmittelData
|
||||
.call(this.endpoint.updateBetriebsmittel(
|
||||
betriebsmittelperson_id,
|
||||
this.formData
|
||||
))
|
||||
.then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
|
||||
this.$refs.betriebsmittelModal.hide();
|
||||
@@ -262,8 +263,8 @@ export default {
|
||||
loadBetriebsmittel(betriebsmittelperson_id) {
|
||||
this.resetModal();
|
||||
this.statusNew = false;
|
||||
return this.endpoint
|
||||
.loadBetriebsmittel(betriebsmittelperson_id)
|
||||
return this.$api
|
||||
.call(this.endpoint.loadBetriebsmittel(betriebsmittelperson_id))
|
||||
.then(result => {
|
||||
this.formData = result.data;
|
||||
})
|
||||
@@ -271,8 +272,8 @@ export default {
|
||||
},
|
||||
searchInventar(event) {
|
||||
const encodedQuery = encodeURIComponent(event.query);
|
||||
return this.endpoint
|
||||
.loadInventarliste(encodedQuery)
|
||||
return this.$api
|
||||
.call(this.endpoint.loadInventarliste(encodedQuery))
|
||||
.then(result => {
|
||||
this.filteredInventar = result.data;
|
||||
});
|
||||
@@ -294,8 +295,8 @@ export default {
|
||||
}
|
||||
},
|
||||
created() {
|
||||
return this.endpoint
|
||||
.getTypenBetriebsmittel()
|
||||
return this.$api
|
||||
.call(this.endpoint.getTypenBetriebsmittel())
|
||||
.then(result => {
|
||||
this.listBetriebsmitteltyp = result.data;
|
||||
})
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import BsModal from './Modal.js';
|
||||
|
||||
export default {
|
||||
name: 'BootstrapAlert',
|
||||
components: {
|
||||
BsModal
|
||||
},
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import BsAlert from './Alert.js';
|
||||
|
||||
export default {
|
||||
name: 'BootstrapConfirm',
|
||||
mixins: [
|
||||
BsAlert
|
||||
],
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import Phrasen from '../../plugin/Phrasen.js';
|
||||
//import Phrasen from '../../plugin/Phrasen.js';
|
||||
|
||||
export default {
|
||||
name: 'BootstrapModal',
|
||||
data: () => ({
|
||||
modal: null
|
||||
}),
|
||||
@@ -77,6 +78,7 @@ export default {
|
||||
|
||||
return new Promise((resolve,reject) => {
|
||||
const instance = Vue.createApp({
|
||||
name: 'ModalTmpApp',
|
||||
setup() {
|
||||
return () => Vue.h(BsModal, {...{
|
||||
class: 'fade'
|
||||
@@ -104,9 +106,12 @@ export default {
|
||||
instance.use(primevue.config.default, {zIndex: {overlay: 9999}})
|
||||
}
|
||||
|
||||
instance.use(Phrasen); // TODO(chris): find a more dynamic way
|
||||
instance.mount(wrapper);
|
||||
document.body.appendChild(wrapper);
|
||||
//instance.use(Phrasen); // TODO(chris): find a more dynamic way
|
||||
import('../../plugins/Phrasen.js').then((Phrasen) => {
|
||||
instance.use(Phrasen.default);
|
||||
instance.mount(wrapper);
|
||||
document.body.appendChild(wrapper);
|
||||
});
|
||||
});
|
||||
},
|
||||
template: `<div ref="modal" class="bootstrap-modal modal" tabindex="-1" @[\`hide.bs.modal\`]="$emit('hideBsModal')" @[\`hidden.bs.modal\`]="$emit('hiddenBsModal')" @[\`hidePrevented.bs.modal\`]="$emit('hidePreventedBsModal')" @[\`show.bs.modal\`]="$emit('showBsModal')" >
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import BsAlert from './Alert.js';
|
||||
|
||||
export default {
|
||||
name: 'BootstrapPrompt',
|
||||
mixins: [
|
||||
BsAlert
|
||||
],
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
import CalendarDate from '../../../composables/CalendarDate.js';
|
||||
import LvModal from "../../../components/Cis/Mylv/LvModal.js";
|
||||
|
||||
import ApiStundenplan from '../../../api/factory/stundenplan.js';
|
||||
import ApiAddons from '../../../api/factory/addons.js';
|
||||
|
||||
function ggt(m, n) {
|
||||
return n == 0 ? m : ggt(n, m % n);
|
||||
}
|
||||
@@ -245,17 +248,20 @@ export default {
|
||||
},
|
||||
fetchLvMenu(event) {
|
||||
if (event && event.type == 'lehreinheit') {
|
||||
this.$fhcApi.factory.stundenplan.getLehreinheitStudiensemester(event.lehreinheit_id[0]).then(
|
||||
res => res.data
|
||||
).then(
|
||||
studiensemester_kurzbz => {
|
||||
this.$fhcApi.factory.addons.getLvMenu(event.lehrveranstaltung_id, studiensemester_kurzbz).then(res => {
|
||||
if (res.data) {
|
||||
this.lvMenu = res.data;
|
||||
}
|
||||
});
|
||||
}
|
||||
)
|
||||
this.$api
|
||||
.call(ApiStundenplan.getLehreinheitStudiensemester(event.lehreinheit_id[0]))
|
||||
.then(res => res.data)
|
||||
.then(studiensemester_kurzbz => this.$api.call(
|
||||
ApiAddons.getLvMenu(
|
||||
event.lehreinheit_id,
|
||||
studiensemester_kurzbz
|
||||
)
|
||||
))
|
||||
.then(res => {
|
||||
if (res.data) {
|
||||
this.lvMenu = res.data;
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
hourGridIdentifier(hour) {
|
||||
|
||||
@@ -2,6 +2,8 @@ import raum_contentmittitel from './Content_types/Raum_contentmittitel.js'
|
||||
import general from './Content_types/General.js'
|
||||
import BsConfirm from "../../Bootstrap/Confirm.js";
|
||||
|
||||
import ApiCms from '../../../api/factory/cms.js';
|
||||
|
||||
export default {
|
||||
name: "ContentComponent",
|
||||
props: {
|
||||
@@ -30,33 +32,35 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
fetchContent(){
|
||||
return this.$fhcApi.factory.cms.content(this.content_id_internal, this.version, this.sprache, this.sichtbar).then(res => {
|
||||
this.content = res.data.content;
|
||||
this.content_type = res.data.type;
|
||||
|
||||
document.querySelectorAll("#cms [data-confirm]").forEach((el) => {
|
||||
el.addEventListener("click", (evt) => {
|
||||
evt.preventDefault();
|
||||
BsConfirm.popup(el.dataset.confirm)
|
||||
.then(() => {
|
||||
Axios.get(el.href)
|
||||
.then((res) => {
|
||||
// TODO(chris): check for success then show message and/or reload
|
||||
location = location;
|
||||
})
|
||||
.catch((err) => console.error("ERROR:", err));
|
||||
})
|
||||
.catch(() => {
|
||||
});
|
||||
return this.$api
|
||||
.call(ApiCms.content(this.content_id_internal, this.version, this.sprache, this.sichtbar))
|
||||
.then(res => {
|
||||
this.content = res.data.content;
|
||||
this.content_type = res.data.type;
|
||||
|
||||
document.querySelectorAll("#cms [data-confirm]").forEach((el) => {
|
||||
el.addEventListener("click", (evt) => {
|
||||
evt.preventDefault();
|
||||
BsConfirm.popup(el.dataset.confirm)
|
||||
.then(() => {
|
||||
Axios.get(el.href)
|
||||
.then((res) => {
|
||||
// TODO(chris): check for success then show message and/or reload
|
||||
location = location;
|
||||
})
|
||||
.catch((err) => console.error("ERROR:", err));
|
||||
})
|
||||
.catch(() => {
|
||||
});
|
||||
});
|
||||
});
|
||||
document.querySelectorAll("#cms [data-href]").forEach((el) => {
|
||||
el.href = el.dataset.href.replace(
|
||||
/^ROOT\//,
|
||||
FHC_JS_DATA_STORAGE_OBJECT.app_root
|
||||
);
|
||||
});
|
||||
});
|
||||
document.querySelectorAll("#cms [data-href]").forEach((el) => {
|
||||
el.href = el.dataset.href.replace(
|
||||
/^ROOT\//,
|
||||
FHC_JS_DATA_STORAGE_OBJECT.app_root
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import BsModal from "../../Bootstrap/Modal.js";
|
||||
import RaumContent from "./Content_types/Raum_contentmittitel.js";
|
||||
|
||||
import ApiCms from '../../../api/factory/cms.js';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -34,12 +35,13 @@ export default {
|
||||
// this method is always called when the modal is shown
|
||||
modalShown: function(){
|
||||
|
||||
if(this.content_id){
|
||||
this.$fhcApi.factory.cms.content(this.content_id).then(res =>{
|
||||
this.content = res.data.content;
|
||||
this.type = res.data.type;
|
||||
|
||||
})
|
||||
if (this.content_id) {
|
||||
this.$api
|
||||
.call(ApiCms.content(this.content_id))
|
||||
.then(res => {
|
||||
this.content = res.data.content;
|
||||
this.type = res.data.type;
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
@@ -2,6 +2,8 @@ import Pagination from "../../Pagination/Pagination.js";
|
||||
import StudiengangInformation from "./StudiengangInformation/StudiengangInformation.js";
|
||||
import BsConfirm from "../../Bootstrap/Confirm.js";
|
||||
|
||||
import ApiCms from '../../../api/factory/cms.js';
|
||||
|
||||
export default {
|
||||
name: "NewsComponent",
|
||||
components: {
|
||||
@@ -27,53 +29,55 @@ export default {
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
fetchNews: function(){
|
||||
return this.$fhcApi.factory.cms.getNews(this.page, this.page_size, this.sprache)
|
||||
.then(res => res.data)
|
||||
.then(result => {
|
||||
this.content = result;
|
||||
fetchNews() {
|
||||
return this.$api
|
||||
.call(ApiCms.getNews(this.page, this.page_size, this.sprache))
|
||||
.then(res => res.data)
|
||||
.then(result => {
|
||||
this.content = result;
|
||||
|
||||
document.querySelectorAll("#cms [data-confirm]").forEach((el) => {
|
||||
el.addEventListener("click", (evt) => {
|
||||
evt.preventDefault();
|
||||
BsConfirm.popup(el.dataset.confirm)
|
||||
.then(() => {
|
||||
Axios.get(el.href)
|
||||
.then((res) => {
|
||||
// TODO(chris): check for success then show message and/or reload
|
||||
location = location;
|
||||
document.querySelectorAll("#cms [data-confirm]").forEach((el) => {
|
||||
el.addEventListener("click", (evt) => {
|
||||
evt.preventDefault();
|
||||
BsConfirm.popup(el.dataset.confirm)
|
||||
.then(() => {
|
||||
Axios.get(el.href)
|
||||
.then((res) => {
|
||||
// TODO(chris): check for success then show message and/or reload
|
||||
location = location;
|
||||
})
|
||||
.catch((err) => console.error("ERROR:", err));
|
||||
})
|
||||
.catch((err) => console.error("ERROR:", err));
|
||||
})
|
||||
.catch(() => {
|
||||
.catch(() => {
|
||||
});
|
||||
});
|
||||
});
|
||||
document.querySelectorAll("#cms [data-href]").forEach((el) => {
|
||||
el.href = el.dataset.href.replace(
|
||||
/^ROOT\//,
|
||||
FHC_JS_DATA_STORAGE_OBJECT.app_root
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
document.querySelectorAll("#cms [data-href]").forEach((el) => {
|
||||
el.href = el.dataset.href.replace(
|
||||
/^ROOT\//,
|
||||
FHC_JS_DATA_STORAGE_OBJECT.app_root
|
||||
);
|
||||
});
|
||||
});
|
||||
},
|
||||
loadNewPageContent: function (data) {
|
||||
this.$fhcApi.factory.cms.getNews(data.page, data.rows)
|
||||
.then(res => res.data)
|
||||
.then(result => {
|
||||
this.content = result;
|
||||
});
|
||||
|
||||
},
|
||||
},
|
||||
loadNewPageContent(data) {
|
||||
this.$api
|
||||
.call(ApiCms.getNews(data.page, data.rows))
|
||||
.then(res => res.data)
|
||||
.then(result => {
|
||||
this.content = result;
|
||||
});
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.fetchNews();
|
||||
|
||||
this.$fhcApi.factory.cms.getNewsRowCount()
|
||||
.then(res => res.data)
|
||||
.then(result => {
|
||||
this.maxPageCount = result;
|
||||
});
|
||||
this.$api
|
||||
.call(ApiCms.getNewsRowCount())
|
||||
.then(res => res.data)
|
||||
.then(result => {
|
||||
this.maxPageCount = result;
|
||||
});
|
||||
},
|
||||
template: /*html*/ `
|
||||
<h2 >News</h2>
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import StudiengangPerson from "./StudiengangPerson.js";
|
||||
import StudiengangVertretung from "./StudiengangVertretung.js";
|
||||
|
||||
import ApiStudiengang from '../../../../api/factory/studiengang.js';
|
||||
|
||||
export default {
|
||||
data(){
|
||||
return{
|
||||
@@ -108,13 +110,12 @@ computed:{
|
||||
return `https://moodle.technikum-wien.at/course/view.php?idnumber=dl` + this.studiengang.studiengang_kz;
|
||||
},
|
||||
},
|
||||
mounted(){
|
||||
this.$fhcApi.factory.studiengang.studiengangInformation()
|
||||
.then(res => res.data)
|
||||
.then(studiengangInformationen => {
|
||||
Object.assign(this, studiengangInformationen);
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.$api
|
||||
.call(ApiStudiengang.studiengangInformation())
|
||||
.then(res => res.data)
|
||||
.then(studiengangInformationen => {
|
||||
Object.assign(this, studiengangInformationen);
|
||||
});
|
||||
}
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user