mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-16 22:42:16 +00:00
add basis framework for lv dates
This commit is contained in:
@@ -128,6 +128,11 @@ class Config extends FHCAPI_Controller
|
||||
'component' => './Stv/Studentenverwaltung/Details/Mobility.js'
|
||||
];
|
||||
|
||||
$result['coursedates'] = [
|
||||
'title' => $this->p->t('stv', 'tab_courseDates'),
|
||||
'component' => './Stv/Studentenverwaltung/Details/Lehrveranstaltungstermine.js'
|
||||
];
|
||||
|
||||
Events::trigger('stv_conf_student', function & () use (&$result) {
|
||||
return $result;
|
||||
});
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
use \DateTime as DateTime;
|
||||
|
||||
class Lvtermine extends FHCAPI_Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct([
|
||||
'getStundenplan' => ['admin:r', 'assistenz:r'],
|
||||
'getLvsStudent' => ['admin:r', 'assistenz:r'],
|
||||
]);
|
||||
|
||||
// Load Libraries
|
||||
$this->load->library('VariableLib', ['uid' => getAuthUID()]);
|
||||
$this->load->library('form_validation');
|
||||
|
||||
// Load language phrases
|
||||
$this->loadPhrases([
|
||||
'ui',
|
||||
]);
|
||||
|
||||
// Load models
|
||||
$this->load->model('ressource/Stundenplan_model', 'StundenplanModel');
|
||||
}
|
||||
|
||||
public function getStundenplan($uid)
|
||||
{
|
||||
//get stundenplan for uid
|
||||
$result = $this->StundenplanModel->loadForUid($uid);
|
||||
|
||||
$data = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
$this->terminateWithSuccess($data);
|
||||
|
||||
}
|
||||
|
||||
public function getLvsStudent($uid)
|
||||
{
|
||||
$authUID = getAuthUID();
|
||||
//$this->terminateWithError('uid' . $uid, self::ERROR_TYPE_GENERAL);
|
||||
//$this->terminateWithError('uid' . $authUID, self::ERROR_TYPE_GENERAL);
|
||||
|
||||
$this->load->model('system/Variable_model', 'VariableModel');
|
||||
$result = $this->VariableModel->getVariables($authUID);
|
||||
$data = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
//$this->terminateWithSuccess(current($data)); // WS2025
|
||||
|
||||
$this->load->model('ressource/Stunde_model', 'StundeModel');
|
||||
$this->StundeModel->addOrder('stunde', 'ASC');
|
||||
$result = $this->StundeModel->load();
|
||||
$dataStunden = $this->getDataOrTerminateWithError($result);
|
||||
$this->terminateWithSuccess($dataStunden);
|
||||
// $this->terminateWithSuccess(current($data));
|
||||
|
||||
//TODO(manu) check existing apis for liste stundenplan und lvs
|
||||
// version for student
|
||||
// version for lehrfaecherverteilung
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -421,7 +421,7 @@ class Stundenplan_model extends DB_Model
|
||||
*/
|
||||
public function loadForUid($uid)
|
||||
{
|
||||
$this->addSelect(['sp.*','le.studiensemester_kurzbz']);
|
||||
$this->addSelect(['5sp.*','le.studiensemester_kurzbz']);
|
||||
$this->db->join('public.tbl_benutzergruppe bg', 'sp.gruppe_kurzbz=bg.gruppe_kurzbz AND bg.uid=?', 'LEFT', false);
|
||||
$this->addJoin('public.tbl_studiensemester ss1', 'bg.studiensemester_kurzbz=ss1.studiensemester_kurzbz AND ss1.start<=sp.datum AND ss1.ende>=sp.datum', 'LEFT');
|
||||
$this->db->join('public.tbl_studentlehrverband slv', "sp.studiengang_kz=slv.studiengang_kz AND slv.student_uid=? AND (slv.semester=sp.semester OR sp.semester IS NULL) AND (slv.verband=sp.verband OR sp.verband IS NULL OR sp.verband='' OR sp.verband='0') AND (slv.gruppe=sp.gruppe OR sp.gruppe IS NULL OR sp.gruppe='' OR sp.gruppe='0') AND sp.gruppe_kurzbz IS NULL", 'LEFT', false);
|
||||
|
||||
@@ -10,6 +10,7 @@ import exam from './stv/exam.js';
|
||||
import abschlusspruefung from './stv/abschlusspruefung.js';
|
||||
import grades from './stv/grades.js';
|
||||
import mobility from './stv/mobility.js';
|
||||
import courselist from './stv/courselist.js';
|
||||
|
||||
export default {
|
||||
verband,
|
||||
@@ -24,6 +25,7 @@ export default {
|
||||
abschlusspruefung,
|
||||
grades,
|
||||
mobility,
|
||||
courselist,
|
||||
configStudent() {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/config/student');
|
||||
},
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
export default {
|
||||
getCourselist(url, config, params) {
|
||||
console.log("her");
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/Lvtermine/getLvsStudent/' + params.id);
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
import TableLvList from "./Lehrveranstaltungstermine/ListLehrveranstaltungstermine.js";
|
||||
|
||||
export default {
|
||||
name: "TabCourseList",
|
||||
components: {
|
||||
TableLvList
|
||||
},
|
||||
props: {
|
||||
modelValue: Object,
|
||||
},
|
||||
data(){
|
||||
return {}
|
||||
},
|
||||
template: `
|
||||
<div class="stv-details-course-list h-100 d-flex flex-column">
|
||||
<table-lv-list ref="tbl_course_list" :student="modelValue"></table-lv-list>
|
||||
</div>`
|
||||
};
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
import {CoreFilterCmpt} from "../../../../filter/Filter.js";
|
||||
|
||||
export default {
|
||||
name: "TblCourseList",
|
||||
components: {
|
||||
CoreFilterCmpt
|
||||
},
|
||||
props: {
|
||||
student: Object
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
tabulatorOptions: {
|
||||
ajaxURL: 'dummy',
|
||||
ajaxRequestFunc: this.$fhcApi.factory.stv.courselist.getCourselist,
|
||||
ajaxParams: () => {
|
||||
return {
|
||||
id: this.student.uid
|
||||
};
|
||||
},
|
||||
ajaxResponse: (url, params, response) => response.data,
|
||||
columns: [
|
||||
{title: "Prestudent_id", field: "prestudent_id"},
|
||||
]
|
||||
},
|
||||
tabulatorEvents: [],
|
||||
}
|
||||
|
||||
},
|
||||
methods: {},
|
||||
template: `
|
||||
<div class="stv-details-courselist h-100 pb-3">
|
||||
<h4>Termine</h4>
|
||||
{{student}}
|
||||
|
||||
<core-filter-cmpt
|
||||
ref="table"
|
||||
:tabulator-options="tabulatorOptions"
|
||||
:tabulator-events="tabulatorEvents"
|
||||
table-only
|
||||
:side-menu="false"
|
||||
reload
|
||||
>
|
||||
</core-filter-cmpt>
|
||||
</div>
|
||||
`
|
||||
}
|
||||
@@ -41393,8 +41393,30 @@ and represent the current state of research on the topic. The prescribed citatio
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
)
|
||||
),
|
||||
// PROJEKTARBEITSBEURTEILUNG SS2025 ENDE ---------------------------------------------------------------------------
|
||||
// FHC 4 Lehrveranstaltungstermine START ---------------------------------------------------------------------------
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'stv',
|
||||
'phrase' => 'tab_courseDates',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'LV Termine',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Course Dates',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
// FHC 4 Lehrveranstaltungstermine ENDE ---------------------------------------------------------------------------
|
||||
);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user