refactor(Rename Stundenplan to LvPlan):renames all methods and files from Stundenplan to LvPlan

This commit is contained in:
SimonGschnell
2025-06-10 11:46:19 +02:00
parent a786dec9c1
commit c080d1abb2
26 changed files with 178 additions and 178 deletions
+1 -1
View File
@@ -61,7 +61,7 @@ $route['api/v1/organisation/[O|o]rganisationseinheit/(:any)'] = 'api/v1/organisa
$route['api/v1/ressource/[B|b]etriebsmittelperson/(:any)'] = 'api/v1/ressource/betriebsmittelperson2/$1';
$route['api/v1/system/[S|s]prache/(:any)'] = 'api/v1/system/sprache2/$1';
$route['Cis/Stundenplan/.*'] = 'Cis/Stundenplan/index/$1';
$route['Cis/LvPlan/.*'] = 'Cis/LvPlan/index/$1';
// load routes from extensions
$subdir = 'application/config/extensions';
@@ -5,7 +5,7 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
*
*/
class Stundenplan extends Auth_Controller
class LvPlan extends Auth_Controller
{
/**
* Constructor
@@ -30,6 +30,6 @@ class Stundenplan extends Auth_Controller
'uid'=>getAuthUID(),
);
$this->load->view('CisRouterView/CisRouterView.php', ['viewData' => $viewData, 'route' => 'Stundenplan']);
$this->load->view('CisRouterView/CisRouterView.php', ['viewData' => $viewData, 'route' => 'LvPlan']);
}
}
@@ -20,7 +20,7 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
use CI3_Events as Events;
class Stundenplan extends FHCAPI_Controller
class LvPlan extends FHCAPI_Controller
{
/**
@@ -33,10 +33,10 @@ class Stundenplan extends FHCAPI_Controller
'getRoomplan' => self::PERM_LOGGED,
'Stunden' => self::PERM_LOGGED,
'Reservierungen' => self::PERM_LOGGED,
'StundenplanEvents' => self::PERM_LOGGED,
'LvPlanEvents' => self::PERM_LOGGED,
'getLehreinheitStudiensemester' => self::PERM_LOGGED,
'studiensemesterDateInterval' => self::PERM_LOGGED,
'getLvStundenplanForStudiensemester' => self::PERM_LOGGED,
'getLvPlanForStudiensemester' => self::PERM_LOGGED,
]);
$this->load->library('LogLib');
@@ -51,7 +51,7 @@ class Stundenplan extends FHCAPI_Controller
$this->load->library('form_validation');
//load models
$this->load->model('ressource/Stundenplan_model', 'StundenplanModel');
$this->load->model('ressource/Stundenplan_model', 'LvPlanModel');
$this->load->model('ressource/Reservierung_model', 'ReservierungModel');
@@ -61,12 +61,12 @@ class Stundenplan extends FHCAPI_Controller
// Public methods
/**
* fetches Stundenplan and Moodle events together
* fetches LvPlan and Moodle events together
* @access public
*
*/
public function StundenplanEvents(){
$this->load->library('StundenplanLib');
public function LvPlanEvents(){
$this->load->library('LvPlanLib');
// form validation
$this->load->library('form_validation');
@@ -81,10 +81,10 @@ class Stundenplan extends FHCAPI_Controller
$end_date = $this->input->get('end_date', TRUE);
$lv_id = $this->input->get('lv_id', TRUE);
$stundenplan_events = $this->stundenplanlib->getStundenplan($start_date,$end_date,$lv_id);
if( is_null($stundenplan_events) || isEmptyArray($stundenplan_events) )
$lvplan_events = $this->lvplanlib->getLvPlan($start_date,$end_date,$lv_id);
if( is_null($lvplan_events) || isEmptyArray($lvplan_events) )
{
$stundenplan_events = array();
$lvplan_events = array();
}
// fetching moodle events
$moodle_events = [];
@@ -101,7 +101,7 @@ class Stundenplan extends FHCAPI_Controller
]
);
$result = array_merge($stundenplan_events,$moodle_events);
$result = array_merge($lvplan_events,$moodle_events);
// sort array with moodle events first
usort($result, function($a, $b){
if ($a->type === 'moodle' && $b->type !== 'moodle') {
@@ -123,16 +123,16 @@ class Stundenplan extends FHCAPI_Controller
$this->terminateWithSuccess($studiensemester);
}
public function getLvStundenplanForStudiensemester($studiensemester,$lvid){
$this->load->library('StundenplanLib');
public function getLvPlanForStudiensemester($studiensemester,$lvid){
$this->load->library('LvPlanLib');
$this->load->model('organisation/Studiensemester_model','StudiensemesterModel');
$studiensemester_result = $this->StudiensemesterModel->loadWhere(["studiensemester_kurzbz"=>$studiensemester]);
$studiensemester_result = current($this->getDataOrTerminateWithError($studiensemester_result));
$timespan_start = new DateTime($studiensemester_result->start);
$timespan_ende = new DateTime($studiensemester_result->ende);
$stundenplan = $this->stundenplanlib->getStundenplan(date_format($timespan_start, 'Y-m-d'),date_format($timespan_ende, 'Y-m-d'), $lvid);
$this->terminateWithSuccess($stundenplan);
$lvplan = $this->lvplanlib->getLvPlan(date_format($timespan_start, 'Y-m-d'),date_format($timespan_ende, 'Y-m-d'), $lvid);
$this->terminateWithSuccess($lvplan);
}
@@ -160,7 +160,7 @@ class Stundenplan extends FHCAPI_Controller
*/
public function getRoomplan()
{
$this->load->library('StundenplanLib');
$this->load->library('LvPlanLib');
// form validation
$this->load->library('form_validation');
$this->form_validation->set_data($_GET);
@@ -174,19 +174,19 @@ class Stundenplan extends FHCAPI_Controller
$start_date = $this->input->get('start_date', TRUE);
$end_date = $this->input->get('end_date', TRUE);
$roomplan_data = $this->StundenplanModel->stundenplanGruppierung($this->StundenplanModel->getRoomQuery($ort_kurzbz, $start_date, $end_date));
$roomplan_data = $this->LvPlan->lvPlanGruppierung($this->LvPlan->getRoomQuery($ort_kurzbz, $start_date, $end_date));
$roomplan_data = $this->getDataOrTerminateWithError($roomplan_data);
$this->stundenplanlib->expand_object_information($roomplan_data);
$this->lvplanlib->expand_object_information($roomplan_data);
$this->terminateWithSuccess($roomplan_data);
}
// gets the reservierungen of a room if the ort_kurzbz parameter is supplied otherwise gets the reservierungen of the stundenplan of a student
// gets the reservierungen of a room if the ort_kurzbz parameter is supplied otherwise gets the reservierungen of the lvplan of a student
public function Reservierungen($ort_kurzbz = null)
{
$this->load->library('StundenplanLib');
$this->load->library('LvPlanLib');
//form validation
$this->load->library('form_validation');
$this->form_validation->set_data($_GET);
@@ -200,7 +200,7 @@ class Stundenplan extends FHCAPI_Controller
$start_date = $this->input->get('start_date', TRUE);
$end_date = $this->input->get('end_date', TRUE);
$result = $this->stundenplanlib->getReservierungen($start_date,$end_date,$ort_kurzbz);
$result = $this->lvplanlib->getReservierungen($start_date,$end_date,$ort_kurzbz);
$result = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($result);
}
@@ -39,7 +39,7 @@ class Studium extends FHCAPI_Controller
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
$this->load->model('organisation/Studienordnung_model','StudienordnungModel');
$this->load->model('organisation/Studiensemester_model',"StudiensemesterModel");
$this->load->model('organisation/Studienplan_model', 'StudienplanModel');
$this->load->model('organisation/Studienplan_model', 'LvPlanModel');
$this->load->model('education/Studentlehrverband_model', 'StudentlehrverbandModel');
$this->load->model('crm/Prestudentstatus_model', 'PrestudentstatusModel');
$this->load->model('codex/Orgform_model','OrgformModel');
@@ -143,8 +143,8 @@ class Studium extends FHCAPI_Controller
if(!$aktuelles_studienplan){
$aktuelles_studienplan = null;
}
if(isset($parameter_studienplan) && !empty(array_filter( $semester_studienplan, function($stundenplan) use($parameter_studienplan){
return $stundenplan->studienplan_id == $parameter_studienplan->studienplan_id;
if(isset($parameter_studienplan) && !empty(array_filter( $semester_studienplan, function($lvplan) use($parameter_studienplan){
return $lvplan->studienplan_id == $parameter_studienplan->studienplan_id;
}))){
$aktuelles_studienplan = $parameter_studienplan ;
}
@@ -309,8 +309,8 @@ SELECT tbl_lehrveranstaltung.*,
}
private function computeLektorenFromLehrveranstaltung($lehreinheit_id, $semester, $studiengang, $studiensemester){
$this->load->library('StundenplanLib');
$lektoren = $this->stundenplanlib->getLektorenFromLehrveranstaltung($lehreinheit_id,$semester, $studiengang,$studiensemester);
$this->load->library('LvPlanLib');
$lektoren = $this->lvplanlib->getLektorenFromLehrveranstaltung($lehreinheit_id,$semester, $studiengang,$studiensemester);
if(!$lektoren){
return [];
}
@@ -14,16 +14,16 @@
if (!defined('BASEPATH')) exit('No direct script access allowed');
class Stundenplan extends API_Controller
class LvPlan extends API_Controller
{
/**
* Stundenplan API constructor.
* LvPlan API constructor.
*/
public function __construct()
{
parent::__construct(array('Stundenplan' => 'basis/stundenplan:rw'));
// Load model StundenplanModel
$this->load->model('ressource/stundenplan_model', 'StundenplanModel');
// Load model LvPlanModel
$this->load->model('ressource/stundenplan_model', 'LvPlanModel');
}
@@ -31,13 +31,13 @@ class Stundenplan extends API_Controller
/**
* @return void
*/
public function getStundenplan()
public function getLvPlan()
{
$stundenplanID = $this->get('stundenplan_id');
$lvPlanID = $this->get('stundenplan_id');
if (isset($stundenplanID))
if (isset($lvPlanID))
{
$result = $this->StundenplanModel->load($stundenplanID);
$result = $this->LvPlanModel->load($lvPlanID);
$this->response($result, REST_Controller::HTTP_OK);
}
@@ -50,17 +50,17 @@ class Stundenplan extends API_Controller
/**
* @return void
*/
public function postStundenplan()
public function postLvPlan()
{
if ($this->_validate($this->post()))
{
if (isset($this->post()['stundenplan_id']))
{
$result = $this->StundenplanModel->update($this->post()['stundenplan_id'], $this->post());
$result = $this->LvPlanModel->update($this->post()['stundenplan_id'], $this->post());
}
else
{
$result = $this->StundenplanModel->insert($this->post());
$result = $this->LvPlanModel->insert($this->post());
}
$this->response($result, REST_Controller::HTTP_OK);
@@ -71,7 +71,7 @@ class Stundenplan extends API_Controller
}
}
private function _validate($stundenplan = NULL)
private function _validate($lvplan = NULL)
{
return true;
}
@@ -14,16 +14,16 @@
if (!defined('BASEPATH')) exit('No direct script access allowed');
class Stundenplandev extends API_Controller
class LvPlandev extends API_Controller
{
/**
* Stundenplandev API constructor.
* LvPlandev API constructor.
*/
public function __construct()
{
parent::__construct(array('Stundenplandev' => 'basis/stundenplandev:rw'));
// Load model StundenplandevModel
$this->load->model('ressource/stundenplandev_model', 'StundenplandevModel');
// Load model LvPlandevModel
$this->load->model('ressource/stundenplandev_model', 'LvPlandevModel');
}
@@ -31,13 +31,13 @@ class Stundenplandev extends API_Controller
/**
* @return void
*/
public function getStundenplandev()
public function getLvPlandev()
{
$stundenplandevID = $this->get('stundenplandev_id');
$lvplandevID = $this->get('stundenplandev_id');
if (isset($stundenplandevID))
if (isset($lvplandevID))
{
$result = $this->StundenplandevModel->load($stundenplandevID);
$result = $this->LvPlandevModel->load($lvplandevID);
$this->response($result, REST_Controller::HTTP_OK);
}
@@ -50,17 +50,17 @@ class Stundenplandev extends API_Controller
/**
* @return void
*/
public function postStundenplandev()
public function postLvPlandev()
{
if ($this->_validate($this->post()))
{
if (isset($this->post()['stundenplandev_id']))
{
$result = $this->StundenplandevModel->update($this->post()['stundenplandev_id'], $this->post());
$result = $this->LvPlandevModel->update($this->post()['stundenplandev_id'], $this->post());
}
else
{
$result = $this->StundenplandevModel->insert($this->post());
$result = $this->LvPlandevModel->insert($this->post());
}
$this->response($result, REST_Controller::HTTP_OK);
@@ -71,7 +71,7 @@ class Stundenplandev extends API_Controller
}
}
private function _validate($stundenplandev = NULL)
private function _validate($lvplandev = NULL)
{
return true;
}
@@ -5,7 +5,7 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
*
*/
class Stundenplan extends Auth_Controller
class LvPlan extends Auth_Controller
{
/**
@@ -27,14 +27,14 @@ class Stundenplan extends Auth_Controller
*/
public function index()
{
$this->load->model('ressource/Stundenplan_model', 'StundenplanModel');
$this->load->model('ressource/Stundenplan_model', 'LvPlanModel');
/* $result = $this->StundenplanModel->loadForUid(getAuthUID());
/* $result = $this->LvPlanModel->loadForUid(getAuthUID());
if (isError($result))
return $this->outputJsonError(getError($result));
*/
$res = $this->StundenplanModel->stundenplanGruppierung($this->StundenplanModel->getStundenplanQuery(getAuthUID()));
$res = $this->LvPlanModel->lvPlanGruppierung($this->LvPlanModel->getLvPlanQuery(getAuthUID()));
$res = getData($res);
+4 -4
View File
@@ -39,7 +39,7 @@ class LVPlanJob extends JOB_Controller
$studiensemester_arr = array();
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
$this->load->model('ressource/Stundenplandev_model', 'StundenplandevModel');
$this->load->model('ressource/Stundenplandev_model', 'LvPlandevModel');
$this->load->model('education/Lehreinheit_model', 'LehreinheitModel');
$this->load->model('education/Lehreinheitgruppe_model', 'LehreinheitgruppeModel');
@@ -70,7 +70,7 @@ class LVPlanJob extends JOB_Controller
$fail = 0;
// get all schedule entries where group is missing
$result = $this->StundenplandevModel->getMissingDirectGroups($studiensemester);
$result = $this->LvPlandevModel->getMissingDirectGroups($studiensemester);
if(hasData($result))
{
foreach($result->retval as $row)
@@ -112,7 +112,7 @@ class LVPlanJob extends JOB_Controller
}
// add group to schedule
$result = $this->StundenplandevModel->insert(
$result = $this->LvPlandevModel->insert(
array(
'lehreinheit_id' => $row->lehreinheit_id,
'unr' => $unr,
@@ -159,7 +159,7 @@ class LVPlanJob extends JOB_Controller
public function mailUpdatedZeitwuensche()
{
// Load models
$this->load->model('ressource/Stundenplandev_model', 'StundenplandevModel');
$this->load->model('ressource/Stundenplandev_model', 'LvPlandevModel');
$this->load->model('organisation/Studiensemester_model', 'StundiensemesterModel');
$this->load->model('education/Lehreinheit_model', 'LehreinheitModel');
$this->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel');
@@ -3,17 +3,17 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
class StundenplanLib{
class LvPlanLib{
private $_ci; // Code igniter instance
/**
* fetches stundenplan events from a UID and start/end date
* fetches LvPlan events from a UID and start/end date
* @access public
*
*/
public function getStundenplan($start_date, $end_date, $lv_id = null){
public function getLvPlan($start_date, $end_date, $lv_id = null){
$this->_ci =& get_instance();
@@ -21,7 +21,7 @@ class StundenplanLib{
$this->_ci->load->model('organisation/Studiensemester_model','StudiensemesterModel');
$this->_ci->load->model('education/Studentlehrverband_model', 'StudentlehrverbandModel');
$this->_ci->load->model('person/Benutzergruppe_model','BenutzergruppeModel');
$this->_ci->load->model('ressource/Stundenplan_model', 'StundenplanModel');
$this->_ci->load->model('ressource/Stundenplan_model', 'LvPlanModel');
$student_uid = getAuthUID();
@@ -42,20 +42,20 @@ class StundenplanLib{
return $function_error;
}
if($lv_id) { // fetch Stundenplan for lva, irrelevant of who is requesting it (for now)
if($lv_id) { // fetch LvPlan for lva, irrelevant of who is requesting it (for now)
$stundenplan_data = $this->_ci->StundenplanModel->getStundenplanLVA($start_date, $end_date, $lv_id);
if(isError($stundenplan_data))
$lvplan_data = $this->_ci->LvPlanModel->getLvPlanLVA($start_date, $end_date, $lv_id);
if(isError($lvplan_data))
{
return error(getData($stundenplan_data));
return error(getData($lvplan_data));
}
$stundenplan_data = getData($stundenplan_data) ?? [];
$function_error = $this->expand_object_information($stundenplan_data);
$lvplan_data = getData($lvplan_data) ?? [];
$function_error = $this->expand_object_information($lvplan_data);
if(!is_null($function_error)){
return $function_error;
}
// query lv itself in case its Stundenplan is being queried and it has no entries
// query lv itself in case its LvPlan is being queried and it has no entries
$this->_ci->load->model('education/Lehrveranstaltung_model','LehrveranstaltungModel');
$lv_result = $this->_ci->LehrveranstaltungModel->load($lv_id);
if(isError($lv_result))
@@ -63,7 +63,7 @@ class StundenplanLib{
return error(getData($lv_result));
}
$lv = getData($lv_result)[0];
return $stundenplan_data;
return $lvplan_data;
}
@@ -71,17 +71,17 @@ class StundenplanLib{
if($is_mitarbeiter)
{
$stundenplan_data = $this->_ci->StundenplanModel->getStundenplanMitarbeiter($start_date, $end_date, $student_uid);
if(isError($stundenplan_data))
$lvplan_data = $this->_ci->LvPlanModel->getLvPlanMitarbeiter($start_date, $end_date, $student_uid);
if(isError($lvplan_data))
{
return error(getData($stundenplan_data));
return error(getData($lvplan_data));
}
$stundenplan_data = getData($stundenplan_data) ?? [];
$function_error = $this->expand_object_information($stundenplan_data);
$lvplan_data = getData($lvplan_data) ?? [];
$function_error = $this->expand_object_information($lvplan_data);
if(!is_null($function_error)){
return $function_error;
}
return $stundenplan_data;
return $lvplan_data;
} else {
// getting the gruppen_kurzbz of the student in the different studiensemester
$benutzer_gruppen = $this->fetchBenutzerGruppenFromStudiensemester($semester_range);
@@ -99,26 +99,26 @@ class StundenplanLib{
}
$student_lehrverband = getData($student_lehrverband);
$stundenplan_query = $this->_ci->StundenplanModel->getStundenplanQuery($start_date, $end_date, $semester_range, $benutzer_gruppen, $student_lehrverband);
if(!$stundenplan_query)
$lvplan_query = $this->_ci->LvPlanModel->getLvPlanQuery($start_date, $end_date, $semester_range, $benutzer_gruppen, $student_lehrverband);
if(!$lvplan_query)
{
return [];
}
$stundenplan_data = $this->_ci->StundenplanModel->stundenplanGruppierung($stundenplan_query);
if(isError($stundenplan_data))
$lvplan_data = $this->_ci->LvPlanModel->lvPlanGruppierung($lvplan_query);
if(isError($lvplan_data))
{
return error(getData($stundenplan_data));
return error(getData($lvplan_data));
}
$stundenplan_data = getData($stundenplan_data) ?? [];
$lvplan_data = getData($lvplan_data) ?? [];
$function_error = $this->expand_object_information($stundenplan_data);
$function_error = $this->expand_object_information($lvplan_data);
if(!is_null($function_error)){
return $function_error;
}
return success($stundenplan_data);
return success($lvplan_data);
}
}
@@ -147,7 +147,7 @@ class StundenplanLib{
public function getLektorenFromLehrveranstaltung($lehrveranstaltung_id, $semester, $studiengang_kz, $studiensemester_kurzbz){
$this->_ci =& get_instance();
$this->_ci->load->model('ressource/Stundenplan_model', 'StundenplanModel');
$this->_ci->load->model('ressource/Stundenplan_model', 'LvPlanModel');
$this->_ci->load->model('organisation/Studiensemester_model','StudiensemesterModel');
$studiensemester = $this->_ci->StudiensemesterModel->loadWhere(["studiensemester_kurzbz"=>$studiensemester_kurzbz]);
@@ -156,7 +156,7 @@ class StundenplanLib{
return error(getData($studiensemester));
}
$studiensemester = current(getData($studiensemester));
$lektoren = $this->_ci->StundenplanModel->execReadOnlyQuery("
$lektoren = $this->_ci->LvPlanModel->execReadOnlyQuery("
SELECT DISTINCT uid
FROM campus.vw_stundenplan
WHERE lehrveranstaltung_id = ? AND
@@ -190,8 +190,8 @@ class StundenplanLib{
// load lektor object
foreach ($item->lektor as $lv_lektor)
{
$this->_ci->StundenplanModel->addLimit(1);
$lektor_object = $this->_ci->StundenplanModel->execReadOnlyQuery("
$this->_ci->LvPlanModel->addLimit(1);
$lektor_object = $this->_ci->LvPlanModel->execReadOnlyQuery("
SELECT mitarbeiter_uid, vorname, nachname, kurzbz
FROM public.tbl_mitarbeiter
JOIN public.tbl_benutzer benutzer ON benutzer.uid = mitarbeiter_uid
@@ -233,7 +233,7 @@ class StundenplanLib{
if($item->ort_kurzbz) {
$ort_content_object = $this->_ci->StundenplanModel->execReadOnlyQuery("
$ort_content_object = $this->_ci->LvPlanModel->execReadOnlyQuery("
SELECT content_id
FROM public.tbl_ort
WHERE ort_kurzbz = ?", [$item->ort_kurzbz]);
@@ -21,7 +21,7 @@ class Reservierung_model extends DB_Model
public function getReservierungen($start_date, $end_date, $ort_kurzbz = null)
{
$stundenplan_reservierungen_query="SELECT r.* , stund.beginn, stund.ende,
$lvplan_reservierungen_query="SELECT r.* , stund.beginn, stund.ende,
CASE
WHEN r.gruppe_kurzbz IS NOT NULL THEN r.gruppe_kurzbz
ELSE CONCAT(UPPER(studg.typ),UPPER(studg.kurzbz),'-',COALESCE(CAST(r.semester AS varchar),'/'),COALESCE(CAST(r.verband AS varchar),'/'))
@@ -46,7 +46,7 @@ class Reservierung_model extends DB_Model
JOIN lehre.tbl_stunde ON lehre.tbl_stunde.stunde = res.stunde
WHERE res.ort_kurzbz = ? AND datum >= ? AND datum <= ?";
$subquery = is_null($ort_kurzbz)? $stundenplan_reservierungen_query:$raum_reservierungen_query;
$subquery = is_null($ort_kurzbz)? $lvplan_reservierungen_query:$raum_reservierungen_query;
$query_result= $this->execReadOnlyQuery("
SELECT
@@ -89,7 +89,7 @@ class Reservierung_model extends DB_Model
JOIN lehre.tbl_stunde ON lehre.tbl_stunde.stunde = res.stunde
WHERE res.uid = ? AND datum >= ? AND datum <= ?";
// $subquery = is_null($ort_kurzbz)? $stundenplan_reservierungen_query:$raum_reservierungen_query;
// $subquery = is_null($ort_kurzbz)? $lvplan_reservierungen_query:$raum_reservierungen_query;
$subquery = $raum_reservierungen_query;
@@ -33,12 +33,12 @@ class Stundenplan_model extends DB_Model
*/
$raum_stundenplan= $this->execReadOnlyQuery("
$raum_lvplan= $this->execReadOnlyQuery("
SELECT CONCAT(UPPER(sp.stg_typ),UPPER(sp.stg_kurzbz),'-',COALESCE(CAST(sp.semester AS varchar),'/'),COALESCE(CAST(sp.verband AS varchar),'/')) AS stg, CONCAT(lehrfach,'-',lehrform) AS lv_info, * FROM lehre.vw_stundenplan sp
WHERE ort_kurzbz = ? AND datum >= ? AND datum <= ?
", [$ort_kurzbz, $start_date, $end_date]);
return $raum_stundenplan;
return $raum_lvplan;
}
/**
@@ -136,11 +136,11 @@ class Stundenplan_model extends DB_Model
/**
* groups rows of a subquery that fetches data from the lehre.vw_stundenplan table
* @param string $stundenplanViewQuery the subquery used to group the result
* @param string $lvplanViewQuery the subquery used to group the result
*
* @return stdClass
*/
public function stundenplanGruppierung($stundenplanViewQuery)
public function lvPlanGruppierung($lvplanViewQuery)
{
$query_result = $this->execReadOnlyQuery("
SELECT
@@ -173,7 +173,7 @@ class Stundenplan_model extends DB_Model
)) as organisationseinheit,
ort_kurzbz, studiengang_kz, titel,lehreinheit_id,lehrfach_id,anmerkung,fix,lehrveranstaltung_id,stg_kurzbzlang,stg_bezeichnung,stg_typ,fachbereich_kurzbz,lehrfach,lehrfach_bez,farbe,lehrform,anmerkung_lehreinheit,gruppe, verband, semester,stg_kurzbz
FROM (".$stundenplanViewQuery.") sp
FROM (".$lvplanViewQuery.") sp
JOIN lehre.tbl_stunde ON lehre.tbl_stunde.stunde = sp.stunde
) as subquery
@@ -187,11 +187,11 @@ class Stundenplan_model extends DB_Model
}
/**
* queries Stundenplan but for a whole lva, irrespective of who is requesting it
* queries LvPlan but for a whole lva, irrespective of who is requesting it
*
* @return void
*/
public function getStundenplanLVA($start_date, $end_date, $lv_id) {
public function getLvPlanLVA($start_date, $end_date, $lv_id) {
return $this->execReadOnlyQuery("
SELECT
@@ -242,11 +242,11 @@ class Stundenplan_model extends DB_Model
}
/**
* queries Stundenplan and filters by assigned ma_kurzbz, very similar to get by LVA
* queries LvPlan and filters by assigned ma_kurzbz, very similar to get by LVA
*
* @return void
*/
public function getStundenplanMitarbeiter($start_date, $end_date, $ma_uid) {
public function getLvPlanMitarbeiter($start_date, $end_date, $ma_uid) {
return $this->execReadOnlyQuery("
SELECT
@@ -302,7 +302,7 @@ class Stundenplan_model extends DB_Model
*
* @return mixed
*/
public function getStundenplanQuery($start_date, $end_date,$semester,$gruppen,$studentlehrverbaende){
public function getLvPlanQuery($start_date, $end_date,$semester,$gruppen,$studentlehrverbaende){
// helper function to check if either $gruppen or $studentlehrverbaende are empty for each semester
$emptyCheck = function($toBeCheckedArray) use ($semester){
@@ -65,7 +65,7 @@ class Stundenplandev_model extends DB_Model
}
/**
* Get Stundenplan data.
* Get LvPlan data.
*
* @param null $lehrveranstaltung_id
* @param null $studiensemester_kurzbz
@@ -75,7 +75,7 @@ class Stundenplandev_model extends DB_Model
* @param false $nurBevorstehende If true, only future data is retrieved.
* @return array|false|stdClass|null
*/
public function getStundenplanData($lehrveranstaltung_id=null, $studiensemester_kurzbz=null, $lehreinheit_id=null, $mitarbeiter_uid=null, $student_uid=null, $nurBevorstehende = false)
public function getLvPlanData($lehrveranstaltung_id=null, $studiensemester_kurzbz=null, $lehreinheit_id=null, $mitarbeiter_uid=null, $student_uid=null, $nurBevorstehende = false)
{
$params = array();
@@ -19,14 +19,14 @@ export default {
getRoomInfo(ort_kurzbz, start_date, end_date) {
return {
method: 'get',
url: '/api/frontend/v1/Stundenplan/getRoomplan',
url: '/api/frontend/v1/LvPlan/getRoomplan',
params: { ort_kurzbz, start_date, end_date }
};
},
getStundenplan(start_date, end_date, lv_id) {
getLvPlan(start_date, end_date, lv_id) {
return {
method: 'get',
url: '/api/frontend/v1/Stundenplan/getStundenplan',
url: '/api/frontend/v1/LvPlan/getLvPlan',
params: { start_date, end_date, lv_id }
};
},
@@ -34,39 +34,39 @@ export default {
// TODO(chris): seems to be called from nowhere?
return {
method: 'get',
url: '/api/frontend/v1/Stundenplan/Stunden'
url: '/api/frontend/v1/LvPlan/Stunden'
};
},
getOrtReservierungen(ort_kurzbz, start_date, end_date) {
return {
method: 'get',
url: `/api/frontend/v1/Stundenplan/Reservierungen/${ort_kurzbz}`,
url: `/api/frontend/v1/LvPlan/Reservierungen/${ort_kurzbz}`,
params: { start_date, end_date }
};
},
getStundenplanReservierungen(start_date, end_date) {
getLvPlanReservierungen(start_date, end_date) {
return {
method: 'get',
url: '/api/frontend/v1/Stundenplan/Reservierungen',
url: '/api/frontend/v1/LvPlan/Reservierungen',
params: { start_date, end_date }
};
},
getLehreinheitStudiensemester(lehreinheit_id) {
return {
method: 'get',
url: `/api/frontend/v1/Stundenplan/getLehreinheitStudiensemester/${lehreinheit_id}`
url: `/api/frontend/v1/LvPlan/getLehreinheitStudiensemester/${lehreinheit_id}`
};
},
studiensemesterDateInterval(date) {
return {
method: 'get',
url: `/api/frontend/v1/Stundenplan/studiensemesterDateInterval/${date}`
url: `/api/frontend/v1/LvPlan/studiensemesterDateInterval/${date}`
};
},
StundenplanEvents(start_date, end_date, lv_id) {
LvPlanEvents(start_date, end_date, lv_id) {
return {
method: 'get',
url: '/api/frontend/v1/Stundenplan/StundenplanEvents',
url: '/api/frontend/v1/LvPlan/LvPlanEvents',
params: {
start_date: start_date,
end_date: end_date,
+2 -2
View File
@@ -22,7 +22,7 @@ import filter from "./filter.js";
import studstatus from "./studstatus.js";
import profil from "./profil.js";
import profilUpdate from "./profilUpdate.js";
import stundenplan from "./stundenplan.js";
import lvPlan from "./lvPlan.js";
import bookmark from "./bookmark.js";
import stv from "./stv.js";
import notiz from "./notiz.js";
@@ -48,7 +48,7 @@ export default {
studstatus,
profil,
profilUpdate,
stundenplan,
lvPlan,
bookmark,
stv,
notiz,
@@ -2,43 +2,43 @@
export default {
getRoomInfo(ort_kurzbz, start_date, end_date) {
return this.$fhcApi.get(
'/api/frontend/v1/Stundenplan/getRoomplan',
'/api/frontend/v1/LvPlan/getRoomplan',
{ ort_kurzbz, start_date, end_date}
);
},
getStunden() {
return this.$fhcApi.get(
'/api/frontend/v1/Stundenplan/Stunden',
'/api/frontend/v1/LvPlan/Stunden',
{}
);
},
getOrtReservierungen(ort_kurzbz, start_date, end_date) {
return this.$fhcApi.get(
`/api/frontend/v1/Stundenplan/Reservierungen/${ort_kurzbz}`,
`/api/frontend/v1/LvPlan/Reservierungen/${ort_kurzbz}`,
{ start_date, end_date}
);
},
getStundenplanReservierungen(start_date, end_date) {
getLvPlanReservierungen(start_date, end_date) {
return this.$fhcApi.get(
'/api/frontend/v1/Stundenplan/Reservierungen',
'/api/frontend/v1/LvPlan/Reservierungen',
{ start_date, end_date }
);
},
getLehreinheitStudiensemester(lehreinheit_id) {
return this.$fhcApi.get(
`/api/frontend/v1/Stundenplan/getLehreinheitStudiensemester/${lehreinheit_id}`,
`/api/frontend/v1/LvPlan/getLehreinheitStudiensemester/${lehreinheit_id}`,
{}
);
},
studiensemesterDateInterval(date) {
return this.$fhcApi.get(
`/api/frontend/v1/Stundenplan/studiensemesterDateInterval/${date}`,
`/api/frontend/v1/LvPlan/studiensemesterDateInterval/${date}`,
{}
);
},
StundenplanEvents(start_date, end_date, lv_id) {
LvPlanEvents(start_date, end_date, lv_id) {
return this.$fhcApi.get(
'/api/frontend/v1/Stundenplan/StundenplanEvents',
'/api/frontend/v1/LvPlan/LvPlanEvents',
{ start_date, end_date, lv_id }
);
},
+2 -2
View File
@@ -29,9 +29,9 @@ export default {
}
);
},
getLvStundenplanForStudiensemester: function (studiensemester, lvid) {
getLvPlanForStudiensemester: function (studiensemester, lvid) {
return this.$fhcApi.get(
`/api/frontend/v1/Stundenplan/getLvStundenplanForStudiensemester/${studiensemester}/${lvid}`,
`/api/frontend/v1/LvPlan/getLvPlanForStudiensemester/${studiensemester}/${lvid}`,
{
}
);
+13 -13
View File
@@ -3,7 +3,7 @@ import PluginsPhrasen from '../../plugins/Phrasen.js';
import Theme from '../../plugin/Theme.js';
import contrast from '../../directives/contrast.js';
import {setScrollbarWidth} from "../../helpers/CssVarCalcHelpers.js";
import Stundenplan, {DEFAULT_MODE_STUNDENPLAN} from "../../components/Cis/Stundenplan/Stundenplan.js";
import LvPlan, {DEFAULT_MODE_LVPLAN} from "../../components/Cis/LvPlan/LvPlan.js";
import MylvStudent from "../../components/Cis/Mylv/Student.js";
import Profil from "../../components/Cis/Profil/Profil.js";
import Raumsuche from "../../components/Cis/Raumsuche/Raumsuche.js";
@@ -148,13 +148,13 @@ const router = VueRouter.createRouter({
},
// Redirect old links to new format
{
// only trigger on first param being numeric to avoid paths like "Stundenplan/Month" entering here
path: "/Cis/Stundenplan/:lv_id(\\d+)",
name: "StundenplanOld",
component: Stundenplan,
// only trigger on first param being numeric to avoid paths like "LvPlan/Month" entering here
path: "/Cis/LvPlan/:lv_id(\\d+)",
name: "LvPlanOld",
component: LvPlan,
redirect: (to) => {
return { // redirect to longer Stundenplan url and map params
name: "Stundenplan",
return { // redirect to longer LvPlan url and map params
name: "LvPlan",
params: {
lv_id: to.params.lv_id
},
@@ -162,9 +162,9 @@ const router = VueRouter.createRouter({
},
},
{
path: `/Cis/Stundenplan/:mode?/:focus_date?/:lv_id?`,
name: 'Stundenplan',
component: Stundenplan,
path: `/Cis/LvPlan/:mode?/:focus_date?/:lv_id?`,
name: 'LvPlan',
component: LvPlan,
props: (route) => { // validate and set mode/focus date if for some reason missing
const validModes = ["Month", "Week", "Day"];
@@ -172,7 +172,7 @@ const router = VueRouter.createRouter({
const mode = route.params.mode &&
validModes.includes(route.params.mode.charAt(0).toUpperCase() + route.params.mode.slice(1).toLowerCase())
? route.params.mode.charAt(0).toUpperCase() + route.params.mode.slice(1).toLowerCase()
: DEFAULT_MODE_STUNDENPLAN;
: DEFAULT_MODE_LVPLAN;
// default to today date if not provided or string forms invalid date
const d = new Date(route.params.focus_date)
@@ -191,9 +191,9 @@ const router = VueRouter.createRouter({
// missing mode or focus_date -> set defaults
if (!to.params.mode || !to.params.focus_date) {
next({
name: "Stundenplan",
name: "LvPlan",
params: {
mode: to.params.mode || DEFAULT_MODE_STUNDENPLAN,
mode: to.params.mode || DEFAULT_MODE_LVPLAN,
focus_date: to.params.focus_date || new Date().toISOString().split("T")[0],
lv_id: to.params.lv_id
}
+1 -1
View File
@@ -78,7 +78,7 @@ export default {
if (newValue?.scrollTime == oldValue?.scrollTime && newValue?.focusDate.d==oldValue?.focusDate.d) {
return;
}
// scroll the Stundenplan to the closest event
// scroll the LvPlan to the closest event
let previousScrollAnchor = document.getElementById('scroll' + (newValue.scrollTime - 1) + this.focusDate.d + this.focusDate.w)
let scrollAnchor = document.getElementById('scroll' + newValue.scrollTime + this.focusDate.d + this.focusDate.w);
if (previousScrollAnchor) {
+2 -2
View File
@@ -1,7 +1,7 @@
import CalendarDate from '../../../composables/CalendarDate.js';
import LvModal from "../../../components/Cis/Mylv/LvModal.js";
import ApiStundenplan from '../../../api/factory/stundenplan.js';
import ApiLvPlan from '../../../api/factory/lvPlan.js';
import ApiAddons from '../../../api/factory/addons.js';
function ggt(m, n) {
@@ -279,7 +279,7 @@ export default {
fetchLvMenu(event) {
if (event && event.type == 'lehreinheit') {
this.$api
.call(ApiStundenplan.getLehreinheitStudiensemester(event.lehreinheit_id[0]))
.call(ApiLvPlan.getLehreinheitStudiensemester(event.lehreinheit_id[0]))
.then(res => res.data)
.then(studiensemester_kurzbz => this.$api.call(
ApiAddons.getLvMenu(
@@ -5,17 +5,17 @@ import LvInfo from "../Mylv/LvInfo.js"
import LvMenu from "../Mylv/LvMenu.js"
import moodleSvg from "../../../helpers/moodleSVG.js"
import ApiStundenplan from '../../../api/factory/stundenplan.js';
import ApiLvPlan from '../../../api/factory/lvPlan.js';
import ApiAuthinfo from '../../../api/factory/authinfo.js';
export const DEFAULT_MODE_STUNDENPLAN = 'Week'
export const DEFAULT_MODE_LVPLAN = 'Week'
const Stundenplan = {
name: 'Stundenplan',
const LvPlan = {
name: 'LvPlan',
data() {
return {
events: null,
calendarMode: this.propsViewData?.mode ?? DEFAULT_MODE_STUNDENPLAN,
calendarMode: this.propsViewData?.mode ?? DEFAULT_MODE_LVPLAN,
calendarDate: new CalendarDate(new Date()),
eventCalendarDate: new CalendarDate(new Date()),
currentlySelectedEvent: null,
@@ -57,7 +57,7 @@ const Stundenplan = {
},
immediate: true,
},
// forward/backward on history entries happening in stundenplan
// forward/backward on history entries happening in lvplan
'propsViewData.lv_id'(newVal) {
// relevant if lv_id can be changed from within this component
},
@@ -106,7 +106,7 @@ const Stundenplan = {
},
methods:{
fetchStudiensemesterDetails: async function (date) {
return this.$api.call(ApiStundenplan.studiensemesterDateInterval(date));
return this.$api.call(ApiLvPlan.studiensemesterDateInterval(date));
},
convertTime: function([hour,minute]){
let date = new Date();
@@ -126,7 +126,7 @@ const Stundenplan = {
const capitalizedMode = this.calendarMode[0].toUpperCase() + this.calendarMode.slice(1);
this.$router.push({
name: "Stundenplan",
name: "LvPlan",
params: {
mode: capitalizedMode,
focus_date: date,
@@ -148,7 +148,7 @@ const Stundenplan = {
String(this.currentDay.getDate()).padStart(2, "0");
this.$router.push({
name: "Stundenplan",
name: "LvPlan",
params: {
mode: this.calendarMode[0].toUpperCase() + this.calendarMode.slice(1),
focus_date: date,
@@ -166,7 +166,7 @@ const Stundenplan = {
if (m == 'Weeks' || m == 'Years' || m == 'Months') return;
this.$router.push({
name: "Stundenplan",
name: "LvPlan",
params: {
mode: m,
focus_date: date,
@@ -208,8 +208,8 @@ const Stundenplan = {
},
loadEvents: function(){
Promise.allSettled([
this.$api.call(ApiStundenplan.StundenplanEvents(this.monthFirstDay, this.monthLastDay, this.propsViewData.lv_id)),
this.$api.call(ApiStundenplan.getStundenplanReservierungen(this.monthFirstDay, this.monthLastDay))
this.$api.call(ApiLvPlan.LvPlanEvents(this.monthFirstDay, this.monthLastDay, this.propsViewData.lv_id)),
this.$api.call(ApiLvPlan.getLvPlanReservierungen(this.monthFirstDay, this.monthLastDay))
]).then((result) => {
let promise_events = [];
result.forEach((promise_result) => {
@@ -365,4 +365,4 @@ const Stundenplan = {
</fhc-calendar>`
}
export default Stundenplan
export default LvPlan;
+2 -2
View File
@@ -7,7 +7,7 @@ export default {
},
containerStyles: Array,
rowStyles: Array,
hasLvStundenplanEintraege: {
hasLvPlanEintraege: {
required:false,
default:true,
type:Boolean,
@@ -23,7 +23,7 @@ export default {
if (!this.c4_link(menuItem) && !menuItem.c4_moodle_links?.length) {
return true;
}
if (menuItem.id == "addon_fhtw_menu_lvplan_lva" && !this.hasLvStundenplanEintraege){
if (menuItem.id == "addon_fhtw_menu_lvplan_lva" && !this.hasLvPlanEintraege){
return true;
}
return null;
+2 -2
View File
@@ -3,7 +3,7 @@ import Alert from "../../Bootstrap/Alert.js";
import LvMenu from "./LvMenu.js"
import LvInfo from "./LvInfo.js"
import ApiStundenplan from '../../../api/factory/stundenplan.js';
import ApiLvPlan from '../../../api/factory/lvPlan.js';
import ApiAddons from '../../../api/factory/addons.js';
export default {
@@ -51,7 +51,7 @@ export default {
if (this.event.type == 'lehreinheit') {
this.$api
.call(ApiStundenplan.getLehreinheitStudiensemester(Array.isArray(this.event.lehreinheit_id) ? this.event.lehreinheit_id[0] : this.event.lehreinheit_id))
.call(ApiLvPlan.getLehreinheitStudiensemester(Array.isArray(this.event.lehreinheit_id) ? this.event.lehreinheit_id[0] : this.event.lehreinheit_id))
.then(res => res.data)
.then(studiensemester_kurzbz => this.$api.call(
ApiAddons.getLvMenu(
@@ -33,7 +33,7 @@ export default {
result: false,
menu: [],
isMenuSelected:false,
hasLvStundenplanEintraege: true,
hasLvPlanEintraege: true,
lvEvaluierungMessage: "",
}
},
@@ -70,15 +70,15 @@ export default {
})
}
// check if the lv has stundenplan entries for this studiensemester
// check if the lv has lvplan entries for this studiensemester
if (this.studiensemester && this.event) {
return this.$fhcApi.factory.studium.getLvStundenplanForStudiensemester(this.studiensemester, this.event.lehreinheit_id ?? this.event.lehrveranstaltung_id)
return this.$fhcApi.factory.studium.getLvPlanForStudiensemester(this.studiensemester, this.event.lehreinheit_id ?? this.event.lehrveranstaltung_id)
.then(data => data.data)
.then(res => {
if (Array.isArray(res) && res.length > 0) {
this.hasLvStundenplanEintraege = true;
this.hasLvPlanEintraege = true;
} else {
this.hasLvStundenplanEintraege = false;
this.hasLvPlanEintraege = false;
}
});
}
@@ -107,7 +107,7 @@ export default {
<template #default>
<div class="mb-4" v-if="lvEvaluierungMessage" v-html="lvEvaluierungMessage"></div>
<slot name="content"></slot>
<lv-menu v-model:isMenuSelected="isMenuSelected" :hasLvStundenplanEintraege="hasLvStundenplanEintraege" :preselectedMenu="preselectedMenu" :menu="menu" @hideModal="hide"></lv-menu>
<lv-menu v-model:isMenuSelected="isMenuSelected" :hasLvPlanEintraege="hasLvPlanEintraege" :preselectedMenu="preselectedMenu" :menu="menu" @hideModal="hide"></lv-menu>
</template>
</bs-modal>
@@ -3,7 +3,7 @@ import CalendarDate from "../../../composables/CalendarDate.js";
import LvModal from "../../../components/Cis/Mylv/LvModal.js";
import LvInfo from "../../../components/Cis/Mylv/LvInfo.js"
import ApiStudenplan from '../../../api/factory/stundenplan.js';
import ApiStudenplan from '../../../api/factory/lvPlan.js';
export const DEFAULT_MODE_RAUMINFO = 'Week'
@@ -107,7 +107,7 @@ const RoomInformation = {
String(this.currentDay.getDate()).padStart(2, "0");
this.$router.push({
name: "Stundenplan",
name: "LvPlan",
params: {
mode: this.calendarMode,
focus_date: date,
+1 -1
View File
@@ -126,7 +126,7 @@ export default {
},
openLvUebersicht(lehrveranstaltung) {
this.selectedLehrveranstaltung = lehrveranstaltung;
//convert lehrveranstaltung properties for compatibility with Stundenplan LvModal
//convert lehrveranstaltung properties for compatibility with LvPlan LvModal
this.selectedLehrveranstaltung.type ="lehreinheit";
this.selectedLehrveranstaltung.lehreinheit_id = this.selectedLehrveranstaltung.lehrveranstaltung_id;
if(this.selectedLehrveranstaltung){
@@ -6,11 +6,11 @@ import ContentModal from '../Cis/Cms/ContentModal.js'
import CalendarDate from '../../composables/CalendarDate.js';
import moodleSvg from "../../helpers/moodleSVG.js"
import ApiStundenplan from '../../api/factory/stundenplan.js';
import ApiLvPlan from '../../api/factory/lvPlan.js';
import ApiOrt from '../../api/factory/ort.js';
export default {
name: "WidgetsStundenplan",
name: "LvPlanWidget",
mixins: [
Phrasen,
AbstractWidget
@@ -128,8 +128,8 @@ export default {
loadEvents: function () {
Promise.allSettled([
this.$api.call(ApiStundenplan.StundenplanEvents(this.monthFirstDay, this.monthLastDay)),
this.$api.call(ApiStundenplan.getStundenplanReservierungen(this.monthFirstDay, this.monthLastDay))
this.$api.call(ApiLvPlan.LvPlanEvents(this.monthFirstDay, this.monthLastDay)),
this.$api.call(ApiLvPlan.getLvPlanReservierungen(this.monthFirstDay, this.monthLastDay))
]).then((result) => {
let promise_events = [];
result.forEach((promise_result) => {
@@ -170,7 +170,7 @@ export default {
this.loadEvents();
},
template: /*html*/`
<div class="dashboard-widget-stundenplan d-flex flex-column h-100">
<div class="dashboard-widget-lvplan d-flex flex-column h-100">
<lv-modal v-if="selectedEvent" ref="lvmodal" :event="selectedEvent" />
<content-modal :content_id="roomInfoContentID" dialogClass="modal-lg" ref="contentModal"/>
<fhc-calendar @change:range="updateRange" :initial-date="currentDay" class="border-0" class-header="p-0" @select:day="selectDay" :widget="true" v-model:minimized="minimized" :events="events" no-week-view :show-weeks="false" >