mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Merge branch 'feature-62366/merge_C4_25999_61235_61730' into merge_C4_25999_61235_61730_testremerge
This commit is contained in:
@@ -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';
|
||||
|
||||
+2
-2
@@ -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']);
|
||||
}
|
||||
}
|
||||
+21
-22
@@ -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,11 +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);
|
||||
$stundenplan_events = $this->getDataOrTerminateWithError($stundenplan_events);
|
||||
if( is_null($stundenplan_events) || isEmptyArray($stundenplan_events) )
|
||||
$lvplan_events = $this->getDataOrTerminateWithError($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
|
||||
@@ -103,7 +102,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') {
|
||||
@@ -125,16 +124,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);
|
||||
|
||||
}
|
||||
|
||||
@@ -162,7 +161,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);
|
||||
@@ -176,19 +175,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);
|
||||
@@ -202,7 +201,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 [];
|
||||
}
|
||||
|
||||
+12
-12
@@ -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;
|
||||
}
|
||||
+12
-12
@@ -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;
|
||||
}
|
||||
+4
-4
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
@@ -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 }
|
||||
);
|
||||
},
|
||||
@@ -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}`,
|
||||
{
|
||||
}
|
||||
);
|
||||
|
||||
@@ -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";
|
||||
@@ -150,13 +150,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
|
||||
},
|
||||
@@ -164,9 +164,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"];
|
||||
|
||||
@@ -174,7 +174,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)
|
||||
@@ -193,9 +193,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
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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(
|
||||
|
||||
+13
-14
@@ -4,18 +4,17 @@ import LvModal from "../Mylv/LvModal.js";
|
||||
import LvMenu from "../Mylv/LvMenu.js"
|
||||
import lehreinheitEvent from "./EventTypes/calendarEvent.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_LVPLAN = 'Week'
|
||||
|
||||
export const DEFAULT_MODE_STUNDENPLAN = '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,
|
||||
@@ -62,7 +61,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
|
||||
},
|
||||
@@ -140,7 +139,7 @@ const Stundenplan = {
|
||||
|
||||
|
||||
fetchStudiensemesterDetails: async function (date) {
|
||||
return this.$api.call(ApiStundenplan.studiensemesterDateInterval(date));
|
||||
return this.$api.call(ApiLvPlan.studiensemesterDateInterval(date));
|
||||
},
|
||||
|
||||
setSelectedEvent: function (event) {
|
||||
@@ -153,7 +152,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,
|
||||
@@ -175,7 +174,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,
|
||||
@@ -193,7 +192,7 @@ const Stundenplan = {
|
||||
if (m == 'Weeks' || m == 'Years' || m == 'Months') return;
|
||||
|
||||
this.$router.push({
|
||||
name: "Stundenplan",
|
||||
name: "LvPlan",
|
||||
params: {
|
||||
mode: m,
|
||||
focus_date: date,
|
||||
@@ -234,8 +233,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) => {
|
||||
@@ -363,4 +362,4 @@ const Stundenplan = {
|
||||
</template>`
|
||||
}
|
||||
|
||||
export default Stundenplan
|
||||
export default LvPlan;
|
||||
@@ -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,7 +2,7 @@ import BsModal from "../../Bootstrap/Modal.js";
|
||||
import Alert from "../../Bootstrap/Alert.js";
|
||||
import LvMenu from "./LvMenu.js"
|
||||
|
||||
import ApiStundenplan from '../../../api/factory/stundenplan.js';
|
||||
import ApiLvPlan from '../../../api/factory/lvPlan.js';
|
||||
import ApiAddons from '../../../api/factory/addons.js';
|
||||
|
||||
export default {
|
||||
@@ -52,7 +52,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,
|
||||
|
||||
@@ -12,6 +12,7 @@ export default{
|
||||
|
||||
},
|
||||
template:/*html*/`
|
||||
<template v-if="data.kontakt">
|
||||
<div class="gy-2 row align-items-center justify-content-center">
|
||||
<div class="col-1 text-center" >
|
||||
<i class="fa-solid fhc-link-color" :class="{...(data.kontakt.includes('@')?{'fa-envelope':true}:{'fa-phone':true})}" ></i>
|
||||
@@ -35,5 +36,6 @@ export default{
|
||||
<i v-else="data.zustellung" class="fa-solid fa-xmark"></i>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
`,
|
||||
};
|
||||
@@ -20,17 +20,19 @@ export default {
|
||||
<!-- HIER SIND DIE EMAILS -->
|
||||
<div class="gy-3 row justify-content-center ">
|
||||
<div v-for="email in data" class="col-12 ">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-1 text-center">
|
||||
<i class="fa-solid fa-envelope fhc-link-color" ></i>
|
||||
</div>
|
||||
<div class="col-11">
|
||||
<div class="form-underline">
|
||||
<div class="form-underline-titel">{{email.type}}</div>
|
||||
<a :href="'mailto:'+email.email" class="form-underline-content">{{email.email}} </a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<template v-if="email.email">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-1 text-center">
|
||||
<i class="fa-solid fa-envelope fhc-link-color" ></i>
|
||||
</div>
|
||||
<div class="col-11">
|
||||
<div class="form-underline">
|
||||
<div class="form-underline-titel">{{email?.type}}</div>
|
||||
<a :href="'mailto:'+email?.email" class="form-underline-content">{{email?.email}} </a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -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){
|
||||
|
||||
+5
-5
@@ -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" >
|
||||
@@ -198,7 +198,7 @@ export default {
|
||||
</div>
|
||||
</div>
|
||||
<!--EDIT MODAL-->
|
||||
<core-form draggable="true" @dragstart="stopDrag" @drag="stopDrag" @dragend="stopDrag" ref="editForm">
|
||||
<teleport to="body">
|
||||
<bs-modal @[\`hide.bs.modal\`]="bookmark_id=null; clearInputs();" ref="editModal">
|
||||
<template #title>
|
||||
<h2>{{$p.t('bookmark','editLink')}}</h2>
|
||||
@@ -213,10 +213,9 @@ export default {
|
||||
<button @click="editBookmark" class="btn btn-primary">{{$p.t('bookmark','saveLink')}}</button>
|
||||
</template>
|
||||
</bs-modal>
|
||||
</core-form>
|
||||
|
||||
</teleport>
|
||||
<!--CREATE MODAL-->
|
||||
<core-form draggable="true" @dragstart="stopDrag" @drag="stopDrag" @dragend="stopDrag" ref="createForm">
|
||||
<teleport to="body">
|
||||
<bs-modal @[\`hide.bs.modal\`]="clearInputs();" ref="createModal">
|
||||
<template #title>
|
||||
<h2>{{$p.t('bookmark','newLink')}}</h2>
|
||||
@@ -231,7 +230,8 @@ export default {
|
||||
<button @click="insertBookmark" class="btn btn-primary">{{$p.t('bookmark','saveLink')}}</button>
|
||||
</template>
|
||||
</bs-modal>
|
||||
</core-form>`,
|
||||
</teleport>
|
||||
`,
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -429,7 +429,7 @@ export default {
|
||||
this._dragStart(evt);
|
||||
},
|
||||
dragOver(evt) {
|
||||
if ((this.y + 1) > this.rows && this.mode == MODE_MOVE) {
|
||||
if ((this.y + 1) > this.rows && (this.mode == MODE_MOVE || this.mode == MODE_RESIZE)) {
|
||||
this.positionUpdates = this.positionUpdates?.filter(item => {
|
||||
return item.widgetid == this.draggedItem.data.widgetid;
|
||||
})
|
||||
@@ -628,7 +628,7 @@ export default {
|
||||
class="position-absolute"
|
||||
:active="active"
|
||||
:style="{
|
||||
zIndex: item.resizeOverlay ? 1 : 2,
|
||||
zIndex: item.resizeOverlay ? 1 : 'auto',
|
||||
top: 'calc(' + item.y + ' * var(--fhc-dg-row-height))',
|
||||
left: 'calc(' + item.x + ' * var(--fhc-dg-col-width))',
|
||||
width: 'calc(' + item.w + ' * var(--fhc-dg-col-width))',
|
||||
|
||||
Reference in New Issue
Block a user