mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-25 16:09:28 +00:00
importing the api calls in the component and creating api endpoints for the cis profile page
This commit is contained in:
@@ -16,10 +16,16 @@ class Profil extends Auth_Controller
|
||||
{
|
||||
parent::__construct([
|
||||
'index' => ['student/anrechnung_beantragen:r','user:r'], // TODO(chris): permissions?
|
||||
'getUser' => ['student/anrechnung_beantragen:r','user:r']
|
||||
'getUser' => ['student/anrechnung_beantragen:r','user:r'],
|
||||
'isMitarbeiterOrStudent' => ['student/anrechnung_beantragen:r','user:r'],
|
||||
'getPersonInformation' => ['student/anrechnung_beantragen:r','user:r'],
|
||||
|
||||
]);
|
||||
$this->load->model('ressource/mitarbeiter_model', 'MitarbeiterModel');
|
||||
$this->load->model('ressource/student_model', 'StudentModel');
|
||||
$this->load->model('person/Benutzer_model', 'BenutzerModel');
|
||||
$this->load->model('person/Person_model', 'PersonModel');
|
||||
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
@@ -30,9 +36,11 @@ class Profil extends Auth_Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//echo = getAuthUID();
|
||||
|
||||
$this->load->view('Cis/Profil', ["uid" => getAuthUID()]);
|
||||
//? we can pass data to the view by using the second parameter of the load->view() function
|
||||
//* the first parameter is the route that Code Igniter will switch to
|
||||
//* the second parameter can be used to pass data to the view
|
||||
$this->load->view('Cis/Profil', ["uid" => getAuthUID(),"pid" => getAuthPersonId()]);
|
||||
}
|
||||
|
||||
|
||||
@@ -42,14 +50,36 @@ class Profil extends Auth_Controller
|
||||
//* retrieve info from the Mitarbeiter model
|
||||
$mitarbeiter_result = $this->MitarbeiterModel->load(getAuthUID());
|
||||
//* retrieve info from the Benutzer model
|
||||
$benutzer_result = $this->BenutzerModel->load([getAuthUID()]);
|
||||
$benutzer_result = $this->BenutzerModel->getFromPersonId(getAuthUID());
|
||||
//* return JSON with info
|
||||
$res = ['mitarbeiter' => $mitarbeiter_result,
|
||||
'Benutzer' => $benutzer_result];
|
||||
//! was removed from $res for testing purposes: 'Benutzer' => $benutzer_result
|
||||
$res = ['mitarbeiter' => $mitarbeiter_result,'Benutzer' => $benutzer_result
|
||||
];
|
||||
|
||||
echo json_encode($res);
|
||||
}
|
||||
|
||||
public function getPersonInformation($pid){
|
||||
//? get the person information using the benutzer uid
|
||||
echo json_encode($this->PersonModel->getPersonStammdaten($pid)->retval);
|
||||
}
|
||||
|
||||
//? check wheter the parameter uid is a Mitarbeiter or a Student
|
||||
public function isMitarbeiterOrStudent($uid){
|
||||
if($this->MitarbeiterModel->isMitarbeiter($uid)->retval){
|
||||
echo json_encode("Mitarbeiter");
|
||||
}//! not sure if the user is automatically a student if he is not a mitarbeiter
|
||||
else if($this->StudentModel->isStudent($uid)->retval){
|
||||
echo json_encode("Student");
|
||||
}else{
|
||||
echo json_encode("Not a Mitarbeiter or Student");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
class Student_model extends DB_Model
|
||||
{
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->dbTable = 'public.tbl_student';
|
||||
$this->pk = 'student_uid';
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the user is a Student.
|
||||
* @param string $uid
|
||||
* @return array
|
||||
*/
|
||||
public function isStudent($uid)
|
||||
{
|
||||
$this->addSelect('1');
|
||||
|
||||
|
||||
$result = $this->loadWhere(array('student_uid' => $uid));
|
||||
|
||||
|
||||
if(hasData($result))
|
||||
{
|
||||
return success(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
return success(false);
|
||||
}
|
||||
}
|
||||
|
||||
//! THIS FILE WAS CREATED USING THE Mitarbeiter_model.php FILE
|
||||
|
||||
|
||||
}
|
||||
@@ -9,10 +9,11 @@ $this->load->view('templates/CISHTML-Header', $includesArray);
|
||||
?>
|
||||
|
||||
<div id="content">
|
||||
<h2>Profil</h2>
|
||||
<h2>Profil2</h2>
|
||||
<hr>
|
||||
<p><?php echo $uid; ?></p>
|
||||
<Profil></Profil>
|
||||
<!-- we can pass information from the php view file to the public js file through interpolating data from php into vue props -->
|
||||
<Profil uid="<?php echo $uid ?>" pid="<?php echo $pid ?>"></Profil>
|
||||
</div>
|
||||
|
||||
<?php $this->load->view('templates/CISHTML-Footer', $includesArray); ?>
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
import Profil from "../../components/Cis/Profil/Profil.js";
|
||||
|
||||
import fhcapifactory from "../api/fhcapifactory.js";
|
||||
|
||||
Vue.$fhcapi = fhcapifactory;
|
||||
|
||||
const app = Vue.createApp({
|
||||
components: {
|
||||
@@ -10,18 +7,12 @@ const app = Vue.createApp({
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
stunden: [],
|
||||
events: null
|
||||
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
testsearch: function() {
|
||||
return Vue.$fhcapi.UserData.getUser();
|
||||
},
|
||||
testsearch2: function() {
|
||||
return Vue.$fhcapi.UserData.getUser2("ma0594");
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
});
|
||||
app.mount('#content');
|
||||
app.mount('#content');
|
||||
@@ -5,6 +5,17 @@ export default {
|
||||
+ 'Cis/Profil/getUser';
|
||||
return axios.get(url);
|
||||
},
|
||||
isMitarbeiterOrStudent: function(uid) {
|
||||
const url = FHC_JS_DATA_STORAGE_OBJECT.app_root
|
||||
+ `Cis/Profil/isMitarbeiterOrStudent/${uid}`;
|
||||
return axios.get(url);
|
||||
},
|
||||
getPersonInformation: function(uid) {
|
||||
const url = FHC_JS_DATA_STORAGE_OBJECT.app_root
|
||||
+ `Cis/Profil/getPersonInformation/${uid}`;
|
||||
return axios.get(url);
|
||||
},
|
||||
|
||||
getUser2: function(uid) {
|
||||
const url = FHC_JS_DATA_STORAGE_OBJECT.app_root
|
||||
+ 'models/person/Benutzer_model/getFromPersonId';
|
||||
|
||||
@@ -1,29 +1,50 @@
|
||||
|
||||
|
||||
import fhcapifactory from "../../../apps/api/fhcapifactory.js";
|
||||
export default {
|
||||
|
||||
data: function() {
|
||||
return {
|
||||
person: null,
|
||||
person_info: null,
|
||||
role: null,
|
||||
}
|
||||
},
|
||||
//? this prop was passed in the Profil.php view file
|
||||
props:['uid','pid'],
|
||||
methods: {
|
||||
testsearch: function() {
|
||||
|
||||
}
|
||||
},
|
||||
created(){
|
||||
this.$parent.testsearch().then((res) => {
|
||||
this.person = res.data;
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
},
|
||||
computed:{
|
||||
cis_profil_info(){
|
||||
return {
|
||||
anrede:this.person_info.anrede,
|
||||
titelpre:this.person_info.titelpre,
|
||||
titelpost:this.person_info.titelpost,
|
||||
vorname:this.person_info.vorname,
|
||||
nachname:this.person_info.nachname,
|
||||
gebdatum:this.person_info.gebdatum,
|
||||
gebort:this.person_info.gebort,
|
||||
};
|
||||
}
|
||||
},
|
||||
created(){
|
||||
fhcapifactory.UserData.getUser().then(res => this.person = res.data);
|
||||
fhcapifactory.UserData.isMitarbeiterOrStudent(this.uid).then(res => this.role = res.data);
|
||||
fhcapifactory.UserData.getPersonInformation(this.pid).then(res => this.person_info = res.data);
|
||||
|
||||
},
|
||||
|
||||
template: `
|
||||
<div>
|
||||
<h1>test</h1>
|
||||
<code>{{JSON.stringify(person)}}</code>
|
||||
<p>{{"here is the uid "+uid}} </p>
|
||||
<p>{{"here is the pid "+pid}} </p>
|
||||
<code style="color:purple">{{JSON.stringify(cis_profil_info)}}</code>
|
||||
<!--<code style="color:purple">{{JSON.stringify(person_info)}}</code>-->
|
||||
<br/>
|
||||
<code style="color:red">{{JSON.stringify(person)}}</code>
|
||||
<br/>
|
||||
<code>{{JSON.stringify(role)}}</code>
|
||||
</div>
|
||||
`,
|
||||
};
|
||||
Reference in New Issue
Block a user