mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
WIP room planning in calendar
This commit is contained in:
@@ -115,4 +115,8 @@ class Cms extends FHC_Controller
|
||||
show_error("News number rows: No data found");
|
||||
}
|
||||
}
|
||||
|
||||
public function getRoomInformation(){
|
||||
$this->load->view('CisVue/Cms/RoomInformation');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,8 @@ class Stundenplan extends Auth_Controller
|
||||
parent::__construct([
|
||||
'index' => ['student/anrechnung_beantragen:r','user:r'], // TODO(chris): permissions?
|
||||
'Reservierungen' => ['student/anrechnung_beantragen:r','user:r'], // TODO(chris): permissions?
|
||||
'Stunden' => ['student/anrechnung_beantragen:r','user:r'] // TODO(chris): permissions?
|
||||
'Stunden' => ['student/anrechnung_beantragen:r','user:r'], // TODO(chris): permissions?
|
||||
'RoomInformation'=> ['student/anrechnung_beantragen:r','user:r'],
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -65,4 +66,14 @@ class Stundenplan extends Auth_Controller
|
||||
$this->outputJsonSuccess(getData($result));
|
||||
}
|
||||
|
||||
public function RoomInformation()
|
||||
{
|
||||
$this->load->model('ressource/Stundenplan_model', 'StundenplanModel');
|
||||
|
||||
$result = $this->StundenplanModel->getRoomDataOnDay('EDV_A2.06','2024-05-21');
|
||||
//echo($this->db->last_query());
|
||||
echo json_encode($result);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -12,6 +12,18 @@ class Stundenplan_model extends DB_Model
|
||||
$this->pk = 'stundenplan_id';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $ort_kurzbz
|
||||
* @param string $date
|
||||
*
|
||||
* @return stdClass
|
||||
*/
|
||||
public function getRoomDataOnDay($ort_kurzbz,$date){
|
||||
$res = $this->loadWhere(['ort_kurzbz'=>$ort_kurzbz,'datum'=>$date]);
|
||||
$res = hasData($res) ? getData($res): null;
|
||||
return $res;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $uid
|
||||
*
|
||||
|
||||
@@ -12,6 +12,8 @@ class Stundenplandev_model extends DB_Model
|
||||
$this->pk = 'stundenplandev_id';
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function getMissingDirectGroups($studiensemester_kurzbz = null)
|
||||
{
|
||||
$qry = "
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
$includesArray = array(
|
||||
'title' => 'RoomInformation',
|
||||
'customJSModules' => ['public/js/apps/Cis/RoomInformation.js'],
|
||||
'customCSSs' => ['public/css/components/calendar.css']
|
||||
);
|
||||
|
||||
$this->load->view('templates/CISHTML-Header', $includesArray);
|
||||
?>
|
||||
|
||||
<div >
|
||||
<h2>Room Information</h2>
|
||||
<hr>
|
||||
<div id="content"></div>
|
||||
</div>
|
||||
|
||||
<?php $this->load->view('templates/CISHTML-Footer', $includesArray); ?>
|
||||
@@ -0,0 +1,61 @@
|
||||
import FhcCalendar from "../../components/Calendar/Calendar.js";
|
||||
|
||||
const app = Vue.createApp({
|
||||
components: {
|
||||
FhcCalendar
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
stunden: [],
|
||||
events: null
|
||||
}
|
||||
},
|
||||
created() {
|
||||
axios.get(FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + '/components/Cis/Stundenplan/Stunden').then(res => {
|
||||
|
||||
|
||||
res.data.retval.forEach(std => {
|
||||
this.stunden[std.stunde] = std; // TODO(chris): geht besser
|
||||
});
|
||||
console.log("this are the loaded stunden", this.stunden)
|
||||
});
|
||||
|
||||
axios.get(FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + '/components/Cis/Stundenplan').then(res => {
|
||||
|
||||
let events;
|
||||
if (res.data.retval && res.data.retval.forEach) {
|
||||
res.data.retval.forEach((el, i) => {
|
||||
el.id = i;
|
||||
el.color = '#' + (el.farbe || 'CCCCCC');
|
||||
el.start = new Date(el.datum + ' ' + this.stunden[el.stunde].beginn);
|
||||
el.end = new Date(el.datum + ' ' + this.stunden[el.stunde].ende);
|
||||
el.title = el.lehrfach;
|
||||
if (el.lehrform)
|
||||
el.title += '-' + el.lehrform;
|
||||
});
|
||||
events = res.data.retval;
|
||||
}
|
||||
|
||||
console.log("this are the loaded events",events)
|
||||
// TODO(chris): do we need that
|
||||
|
||||
}).catch((e)=>{console.log(e,"this is the exception")})
|
||||
|
||||
|
||||
axios.get(FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + '/components/Cis/Stundenplan/RoomInformation').then(res => {
|
||||
console.log(res)
|
||||
console.log("this string got printed after the get was successfully finished")
|
||||
}).catch((e)=>{console.log(e,"this is the exception")})
|
||||
|
||||
|
||||
|
||||
},
|
||||
template: /*html*/`
|
||||
<div>
|
||||
<!--initialDate="2023-5-12"-->
|
||||
<fhc-calendar :events="events" initial-mode="week" show-weeks></fhc-calendar>
|
||||
</div>
|
||||
`,
|
||||
});
|
||||
app.config.unwrapInjectedRef = true;
|
||||
app.mount('#content');
|
||||
Reference in New Issue
Block a user