mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-24 15:39:28 +00:00
Update Logik Lehrverband: as function, with transactions
This commit is contained in:
@@ -57,10 +57,6 @@ class Status extends FHC_Controller
|
||||
|
||||
public function addNewStatus($prestudent_id)
|
||||
{
|
||||
$granted_Ass = $this->permissionlib->getSTG_isEntitledFor('assistenz') ? $this->permissionlib->getSTG_isEntitledFor('assistenz') : [];
|
||||
$granted_Adm = $this->permissionlib->getSTG_isEntitledFor('admin') ? $this->permissionlib->getSTG_isEntitledFor('admin') : [];
|
||||
$granted = array_merge($granted_Ass, $granted_Adm);
|
||||
|
||||
//get Studiengang von prestudent_id
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
$this->PrestudentModel->addJoin('public.tbl_person p', 'ON (p.person_id = public.tbl_prestudent.person_id)');
|
||||
@@ -82,7 +78,8 @@ class Status extends FHC_Controller
|
||||
|
||||
$isStudent = false;
|
||||
|
||||
if(!in_array($stg, $granted)){
|
||||
if (!$this->permissionlib->isBerechtigt('admin', 'suid', $stg) && !$this->permissionlib->isBerechtigt('assistenz', 'suid', $stg) )
|
||||
{
|
||||
$result = "Sie haben keine Schreibrechte fuer diesen Studiengang!";
|
||||
$this->output->set_status_header(REST_Controller::HTTP_INTERNAL_SERVER_ERROR);
|
||||
return $this->outputJson($result);
|
||||
@@ -98,8 +95,7 @@ class Status extends FHC_Controller
|
||||
$bestaetigtam = $this->input->post('bestaetigtam');
|
||||
$bewerbung_abgeschicktamum = $this->input->post('bewerbung_abgeschicktamum');
|
||||
$studiensemester_kurzbz = $this->input->post('studiensemester_kurzbz');
|
||||
$studienplan_id = $this->input->post('studienplan_id');
|
||||
$anmerkung = $this->input->post('anmerkung');
|
||||
$anmerkung = $this->input->post('anmerkung');
|
||||
$statusgrund_id = $this->input->post('statusgrund_id');
|
||||
$rt_stufe = $this->input->post('rt_stufe');
|
||||
$bestaetigtvon = $uid;
|
||||
@@ -120,13 +116,13 @@ class Status extends FHC_Controller
|
||||
$lastStatusData = current(getData($result));
|
||||
|
||||
//Different handling depending on newStatus
|
||||
if($status_kurzbz == 'Absolvent' || $status_kurzbz == 'Diplomand')
|
||||
//Todo(manu) check if these checks makes sense?
|
||||
/* if($status_kurzbz == 'Absolvent' || $status_kurzbz == 'Diplomand')
|
||||
{
|
||||
//$studiensemester = $semester_aktuell; //TODO(Manu) oder ist hier defaultsemester gemeint?
|
||||
$ausbildungssemester = $lastStatusData->ausbildungssemester;
|
||||
}
|
||||
}*/
|
||||
|
||||
//Todo(manu) check if this check makes sense?
|
||||
/* if($status_kurzbz != 'Student')
|
||||
{
|
||||
$ausbildungssemester = $lastStatusData->ausbildungssemester;
|
||||
@@ -208,7 +204,8 @@ class Status extends FHC_Controller
|
||||
}
|
||||
|
||||
//check if studentrolle already exists
|
||||
if($status_kurzbz == 'Student')
|
||||
//TODO(manu) eigener Code für Diplomand?
|
||||
if($status_kurzbz == 'Student' || $status_kurzbz == 'Diplomand' )
|
||||
{
|
||||
$this->load->model('crm/Student_model', 'StudentModel');
|
||||
$result = $this->StudentModel->checkIfExistingStudentRolle($prestudent_id);
|
||||
@@ -228,12 +225,12 @@ class Status extends FHC_Controller
|
||||
}
|
||||
}
|
||||
|
||||
$hasPermissionToSkipStatusCheck = $this->permissionlib->isBerechtigt('student/keine_studdatuspruefung');
|
||||
/* var_dump($hasPermissionToSkipStatusCheck);
|
||||
$isBerechtigtNoStudstatusCheck = $this->permissionlib->isBerechtigt('student/keine_studstatuspruefung');
|
||||
/* var_dump(isBerechtigtNoStudstatusCheck);
|
||||
|
||||
$basis = $this->permissionlib->isBerechtigt('basis/prestudent');
|
||||
var_dump($basis);*/
|
||||
if(!$hasPermissionToSkipStatusCheck)
|
||||
if(!$isBerechtigtNoStudstatusCheck)
|
||||
{
|
||||
//Block STATUSCHECKS
|
||||
$new_status_datum = isset($datum) ? $datum : date('Y-m-d');
|
||||
@@ -268,7 +265,7 @@ class Status extends FHC_Controller
|
||||
|
||||
|
||||
// Start DB transaction
|
||||
$this->db->trans_start(false);
|
||||
$this->db->trans_begin(); // Beginnen der Transaktion
|
||||
|
||||
$result = $this->PrestudentstatusModel->insert(
|
||||
[
|
||||
@@ -278,6 +275,7 @@ class Status extends FHC_Controller
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz,
|
||||
'studienplan_id' => $lastStatusData->studienplan_id,
|
||||
'ausbildungssemester' => $ausbildungssemester,
|
||||
'anmerkung' => $anmerkung,
|
||||
'statusgrund_id' => $statusgrund_id,
|
||||
'insertvon' => $uid,
|
||||
'insertamum' => date('c'),
|
||||
@@ -288,9 +286,6 @@ class Status extends FHC_Controller
|
||||
]
|
||||
);
|
||||
|
||||
// Transaction complete!
|
||||
$this->db->trans_complete();
|
||||
|
||||
if ($this->db->trans_status() === false || isError($result))
|
||||
{
|
||||
$this->db->trans_rollback();
|
||||
@@ -321,60 +316,20 @@ class Status extends FHC_Controller
|
||||
if (!hasData($result)) {
|
||||
$this->outputJson($result);
|
||||
}
|
||||
|
||||
$studentData = current(getData($result));
|
||||
$verband = $studentData->verband == '' ? '' : $studentData->verband;
|
||||
$gruppe = $studentData->gruppe == '' ? '' : $studentData->gruppe;
|
||||
$studiengang_kz = $studentData->studiengang_kz;
|
||||
|
||||
//check if Studentlehrverband exists
|
||||
//process studentlehrverband
|
||||
$this->load->model('education/Studentlehrverband_model', 'StudentlehrverbandModel');
|
||||
$result = $this->StudentlehrverbandModel->checkIfStudentLehrverbandExists($student_uid, $studiensemester_kurzbz);
|
||||
if (isError($result)) {
|
||||
$result = $this->StudentlehrverbandModel->processStudentlehrverband($student_uid, $studiengang_kz, $ausbildungssemester, $verband, $gruppe, $studiensemester_kurzbz);
|
||||
if ($this->db->trans_status() === false || isError($result))
|
||||
{
|
||||
$this->db->trans_rollback();
|
||||
$this->output->set_status_header(REST_Controller::HTTP_INTERNAL_SERVER_ERROR);
|
||||
return $this->outputJson(getError($result));
|
||||
}
|
||||
if ($result->retval == "0")
|
||||
{
|
||||
$result = $this->StudentlehrverbandModel->insert(
|
||||
[
|
||||
'student_uid' => $student_uid,
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz,
|
||||
'semester' => $ausbildungssemester,
|
||||
'verband' => $verband,
|
||||
'gruppe' => $gruppe,
|
||||
'insertamum' => date('c'),
|
||||
'insertvon' => $uid,
|
||||
'studiengang_kz' => $studentData->studiengang_kz
|
||||
]);
|
||||
|
||||
if (isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
$this->output->set_status_header(REST_Controller::HTTP_INTERNAL_SERVER_ERROR);
|
||||
|
||||
return $this->outputJson("Error in insert Studentlehrverband");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = $this->StudentlehrverbandModel->update(
|
||||
[
|
||||
'student_uid' => $student_uid,
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz
|
||||
],
|
||||
[
|
||||
'semester' => $ausbildungssemester,
|
||||
'verband' => $verband,
|
||||
'gruppe' => $gruppe,
|
||||
'updateamum' => date('c'),
|
||||
'updatevon' => $uid,
|
||||
'studiengang_kz' => $studentData->studiengang_kz
|
||||
]);
|
||||
|
||||
if (isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
$this->output->set_status_header(REST_Controller::HTTP_INTERNAL_SERVER_ERROR);
|
||||
|
||||
return $this->outputJson("Error in insert Studentlehrverband");
|
||||
}
|
||||
return $this->outputJson($result->code);
|
||||
}
|
||||
}
|
||||
$this->db->trans_commit();
|
||||
@@ -429,31 +384,6 @@ class Status extends FHC_Controller
|
||||
$studiensemester_kurzbz = $this->input->post('studiensemester_kurzbz');
|
||||
$deletePrestudent = false;
|
||||
|
||||
//TODO(Manu) check permissions: warum sind beim Löschen andere Berechtigungen?
|
||||
//ich darf keine Stati anlegen, aber löschen, wenn mehr als einer übrig???
|
||||
/* $granted_Ass = $this->permissionlib->getSTG_isEntitledFor('assistenz');
|
||||
$granted_Adm = $this->permissionlib->getSTG_isEntitledFor('admin');
|
||||
$granted = array_merge($granted_Ass, $granted_Adm);
|
||||
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
$result = $this->PrestudentModel->load([
|
||||
'prestudent_id'=> $prestudent_id,
|
||||
]);
|
||||
if(isError($result))
|
||||
{
|
||||
$this->output->set_status_header(REST_Controller::HTTP_INTERNAL_SERVER_ERROR);
|
||||
return $this->outputJson(getError($result));
|
||||
}
|
||||
$result = current(getData($result));
|
||||
$stg = $result->studiengang_kz;
|
||||
|
||||
if(!in_array($stg, $granted))
|
||||
{
|
||||
$result = "Sie haben keine Schreibrechte fuer diesen Studiengang!";
|
||||
$this->output->set_status_header(REST_Controller::HTTP_INTERNAL_SERVER_ERROR);
|
||||
return $this->outputJson($result);
|
||||
}*/
|
||||
|
||||
$isBerechtigtAdmin = $this->permissionlib->isBerechtigt('admin', null, 'suid');
|
||||
$isBerechtigtNoStudstatusCheck = $this->permissionlib->isBerechtigt('student/keine_studstatuspruefung', null, 'suid');
|
||||
|
||||
@@ -590,11 +520,6 @@ class Status extends FHC_Controller
|
||||
|
||||
public function updateStatus($key_prestudent_id, $key_status_kurzbz, $key_studiensemester_kurzbz, $key_ausbildungssemester)
|
||||
{
|
||||
$hasPermissionToSkipStatusCheck = $this->permissionlib->isBerechtigt('student/keine_studdatuspruefung');
|
||||
$granted_Ass = $this->permissionlib->getSTG_isEntitledFor('assistenz') ? $this->permissionlib->getSTG_isEntitledFor('assistenz') : [];
|
||||
$granted_Adm = $this->permissionlib->getSTG_isEntitledFor('admin') ? $this->permissionlib->getSTG_isEntitledFor('admin') : [];
|
||||
$granted = array_merge($granted_Ass, $granted_Adm);
|
||||
|
||||
$isStudent = false;
|
||||
|
||||
//get Studiengang von prestudent_id
|
||||
@@ -611,14 +536,13 @@ class Status extends FHC_Controller
|
||||
|
||||
$stg = $result->studiengang_kz;
|
||||
|
||||
if(!in_array($stg, $granted)){
|
||||
if (!$this->permissionlib->isBerechtigt('admin', 'suid', $stg) && !$this->permissionlib->isBerechtigt('assistenz', 'suid', $stg) )
|
||||
{
|
||||
$result = "Sie haben keine Schreibrechte fuer diesen Studiengang!";
|
||||
$this->output->set_status_header(REST_Controller::HTTP_INTERNAL_SERVER_ERROR);
|
||||
return $this->outputJson($result);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//var_dump($key_prestudent_id, $key_status_kurzbz, $key_studiensemester_kurzbz, $key_ausbildungssemester);
|
||||
|
||||
/* $this->load->library('form_validation');
|
||||
@@ -647,7 +571,7 @@ class Status extends FHC_Controller
|
||||
$bestaetigtvon = $uid;
|
||||
|
||||
//check if Bismeldestichtag erreicht
|
||||
if(!$hasPermissionToSkipStatusCheck)
|
||||
if(!isBerechtigtNoStudstatusCheck)
|
||||
{
|
||||
$this->load->model('codex/Bismeldestichtag_model', 'BismeldestichtagModel');
|
||||
$result = $this->BismeldestichtagModel->checkIfMeldestichtagErreicht($datum, $studiensemester_kurzbz);
|
||||
@@ -681,7 +605,7 @@ class Status extends FHC_Controller
|
||||
}
|
||||
|
||||
//check if studentrolle already exists
|
||||
if($status_kurzbz == 'Student')
|
||||
if($status_kurzbz == 'Student' || $status_kurzbz == 'Diplomand')
|
||||
{
|
||||
$this->load->model('crm/Student_model', 'StudentModel');
|
||||
$result = $this->StudentModel->checkIfExistingStudentRolle($prestudent_id);
|
||||
@@ -702,7 +626,7 @@ class Status extends FHC_Controller
|
||||
}
|
||||
|
||||
|
||||
if(!$hasPermissionToSkipStatusCheck)
|
||||
if(!isBerechtigtNoStudstatusCheck)
|
||||
{
|
||||
//Block STATUSCHECKS
|
||||
|
||||
@@ -722,7 +646,7 @@ class Status extends FHC_Controller
|
||||
|
||||
if($isStudent)
|
||||
{
|
||||
//Studentlehrverband anlegen
|
||||
//check Studentlehrverband
|
||||
$this->load->model('crm/Student_model', 'StudentModel');
|
||||
$result = $this->StudentModel->checkIfUid($prestudent_id);
|
||||
if (isError($result)) {
|
||||
@@ -733,7 +657,7 @@ class Status extends FHC_Controller
|
||||
|
||||
//check if Lehrverband exists
|
||||
$this->load->model('education/Studentlehrverband_model', 'StudentlehrverbandModel');
|
||||
$result = $this->StudentlehrverbandModel->checkIfLehrverbandExists($student_uid, $studiensemester_kurzbz);
|
||||
$result = $this->StudentlehrverbandModel->checkIfStudentlehrverbandExists($student_uid, $studiensemester_kurzbz);
|
||||
if (isError($result)) {
|
||||
$this->output->set_status_header(REST_Controller::HTTP_INTERNAL_SERVER_ERROR);
|
||||
return $this->outputJson(getError($result));
|
||||
@@ -768,7 +692,7 @@ class Status extends FHC_Controller
|
||||
{
|
||||
$this->output->set_status_header(REST_Controller::HTTP_INTERNAL_SERVER_ERROR);
|
||||
|
||||
return $this->outputJson("Error in insert Studentlehrverband");
|
||||
return $this->outputJson("Error during insert Studentlehrverband");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -816,10 +740,6 @@ class Status extends FHC_Controller
|
||||
|
||||
public function advanceStatus($key_prestudent_id, $key_status_kurzbz, $key_studiensemester_kurzbz, $key_ausbildungssemester)
|
||||
{
|
||||
$granted_Ass = $this->permissionlib->getSTG_isEntitledFor('assistenz') ? $this->permissionlib->getSTG_isEntitledFor('assistenz') : [];
|
||||
$granted_Adm = $this->permissionlib->getSTG_isEntitledFor('admin') ? $this->permissionlib->getSTG_isEntitledFor('admin') : [];
|
||||
$granted = array_merge($granted_Ass, $granted_Adm);
|
||||
|
||||
//get Studiengang von prestudent_id
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
$result = $this->PrestudentModel->load([
|
||||
@@ -834,12 +754,14 @@ class Status extends FHC_Controller
|
||||
|
||||
$stg = $result->studiengang_kz;
|
||||
|
||||
if(!in_array($stg, $granted)){
|
||||
if (!$this->permissionlib->isBerechtigt('admin', 'suid', $stg) && !$this->permissionlib->isBerechtigt('assistenz', 'suid', $stg) )
|
||||
{
|
||||
$result = "Sie haben keine Schreibrechte fuer diesen Studiengang!";
|
||||
$this->output->set_status_header(REST_Controller::HTTP_INTERNAL_SERVER_ERROR);
|
||||
return $this->outputJson($result);
|
||||
}
|
||||
|
||||
|
||||
//Data Vorrücken
|
||||
$this->load->model('crm/Prestudentstatus_model', 'PrestudentstatusModel');
|
||||
|
||||
@@ -939,7 +861,7 @@ class Status extends FHC_Controller
|
||||
return $this->outputJson(getError($result));
|
||||
}
|
||||
|
||||
//TodoManu -> check if student, was wenn kein Studentstatus
|
||||
//TODO(manu)-> check if student, was wenn kein Studentstatus
|
||||
//Studentlehrverband anlegen
|
||||
$this->load->model('crm/Student_model', 'StudentModel');
|
||||
$result = $this->StudentModel->checkIfUid($key_prestudent_id);
|
||||
@@ -950,7 +872,7 @@ class Status extends FHC_Controller
|
||||
}
|
||||
$student_uid = $result->retval;
|
||||
|
||||
//check if Studentehrverband exists
|
||||
//check if Studentlehrverband exists
|
||||
$this->load->model('education/Studentlehrverband_model', 'StudentlehrverbandModel');
|
||||
$result = $this->StudentlehrverbandModel->checkIfStudentlehrverbandExists($student_uid, $studiensem_next);
|
||||
if (isError($result))
|
||||
@@ -973,7 +895,13 @@ class Status extends FHC_Controller
|
||||
return $this->outputJson("Error in insert Studentlehrverband");
|
||||
}
|
||||
$lvbData = current(getData($result));
|
||||
var_dump($lvbData);
|
||||
// var_dump($lvbData);
|
||||
|
||||
//Check Lehrverband!
|
||||
//check if exists lvb mit studiengang_kz, semester, verband
|
||||
/* $this->load->model('organisation/Lehrverband_model', 'LehrverbandModel');
|
||||
$result = $this->LehrverbandModel->checkIfLehrverbandExists($student_uid, $studiensem_next);*/
|
||||
|
||||
|
||||
$result = $this->StudentlehrverbandModel->insert(
|
||||
[
|
||||
@@ -1002,10 +930,6 @@ class Status extends FHC_Controller
|
||||
public function confirmStatus($key_prestudent_id, $key_status_kurzbz, $key_studiensemester_kurzbz, $key_ausbildungssemester)
|
||||
{
|
||||
$uid = getAuthUID();
|
||||
//TODO(Manu) check: Annahme, dass hier immer suid bei Berechtigung STG vergeben wird!
|
||||
$granted_Ass = $this->permissionlib->getSTG_isEntitledFor('assistenz') ? $this->permissionlib->getSTG_isEntitledFor('assistenz') : [];
|
||||
$granted_Adm = $this->permissionlib->getSTG_isEntitledFor('admin') ? $this->permissionlib->getSTG_isEntitledFor('admin') : [];
|
||||
$granted = array_merge($granted_Ass, $granted_Adm);
|
||||
|
||||
//get Studiengang von prestudent_id
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
@@ -1021,7 +945,8 @@ class Status extends FHC_Controller
|
||||
|
||||
$stg = $result->studiengang_kz;
|
||||
|
||||
if(!in_array($stg, $granted)){
|
||||
if (!$this->permissionlib->isBerechtigt('admin', 'suid', $stg) && !$this->permissionlib->isBerechtigt('assistenz', 'suid', $stg) )
|
||||
{
|
||||
$result = "Sie haben keine Schreibrechte fuer diesen Studiengang!";
|
||||
$this->output->set_status_header(REST_Controller::HTTP_INTERNAL_SERVER_ERROR);
|
||||
return $this->outputJson($result);
|
||||
@@ -1077,8 +1002,8 @@ class Status extends FHC_Controller
|
||||
[
|
||||
'bestaetigtam' => date('c'),
|
||||
'bestaetigtvon' => $uid,
|
||||
'updateamum='=> date('c'),
|
||||
'updatevon=' => $uid
|
||||
'updateamum' => date('c'),
|
||||
'updatevon' => $uid
|
||||
]
|
||||
);
|
||||
if (isError($result))
|
||||
|
||||
@@ -45,4 +45,115 @@ class Studentlehrverband_model extends DB_Model
|
||||
return success("1","Studentlehrverband vorhanden!");
|
||||
}
|
||||
}
|
||||
|
||||
public function processStudentlehrverband($student_uid, $studiengang_kz, $ausbildungssemester, $verband, $gruppe, $studiensemester_kurzbz)
|
||||
{
|
||||
$uid = getAuthUID();
|
||||
$this->db->trans_begin(); // Start Transaktion
|
||||
|
||||
$this->load->model('organisation/Lehrverband_model', 'LehrverbandModel');
|
||||
$result = $this->LehrverbandModel->checkIfLehrverbandExists($studiengang_kz, $ausbildungssemester, $verband, $gruppe);
|
||||
if (isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
return error("0", "Error during update Lehrverband");
|
||||
}
|
||||
|
||||
if ($result->retval == "0") {
|
||||
// Übergeordneten Lehrverband check and/or insert
|
||||
$result = $this->LehrverbandModel->checkIfLehrverbandExists($studiengang_kz, $ausbildungssemester, '', '');
|
||||
if (isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
return error("0", "Error during update Lehrverband");
|
||||
}
|
||||
|
||||
if ($result->retval == "0")
|
||||
{
|
||||
$result = $this->LehrverbandModel->insert([
|
||||
'studiengang_kz' => $studiengang_kz,
|
||||
'semester' => $ausbildungssemester,
|
||||
'verband' => '',
|
||||
'gruppe' => '',
|
||||
'aktiv' => true,
|
||||
'bezeichnung' => 'Ab-Unterbrecher'
|
||||
]);
|
||||
|
||||
if ($this->db->trans_status() === false || isError($result))
|
||||
{
|
||||
$this->db->trans_rollback();
|
||||
return error("0", "Error during insert lehrverband übergeordnet");
|
||||
}
|
||||
}
|
||||
|
||||
// Lehrverband insert
|
||||
$bezeichnung = $verband == 'A' ? ' Abbrecher' : 'Unterbrecher';
|
||||
$result = $this->LehrverbandModel->insert([
|
||||
'studiengang_kz' => $studiengang_kz,
|
||||
'semester' => $ausbildungssemester,
|
||||
'verband' => $verband,
|
||||
'gruppe' => $gruppe,
|
||||
'bezeichnung' => $bezeichnung,
|
||||
'aktiv' => true
|
||||
]);
|
||||
|
||||
if ($this->db->trans_status() === false || isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
return error("0", "Error during insert lehrverband");
|
||||
}
|
||||
}
|
||||
|
||||
// Studentlehrverband insert or update
|
||||
$this->load->model('education/Studentlehrverband_model', 'StudentlehrverbandModel');
|
||||
$result = $this->StudentlehrverbandModel->checkIfStudentLehrverbandExists($student_uid, $studiensemester_kurzbz);
|
||||
if (isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
return error(getError($result));
|
||||
}
|
||||
|
||||
if ($result->retval == "0") {
|
||||
$result = $this->StudentlehrverbandModel->insert([
|
||||
'student_uid' => $student_uid,
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz,
|
||||
'semester' => $ausbildungssemester,
|
||||
'verband' => $verband,
|
||||
'gruppe' => $gruppe,
|
||||
'insertamum' => date('c'),
|
||||
'insertvon' => $uid,
|
||||
'studiengang_kz' => $studiengang_kz
|
||||
]);
|
||||
if ($this->db->trans_status() === false || isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
return error("0", "Error during insert studentlehrverband");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = $this->StudentlehrverbandModel->update(
|
||||
[
|
||||
'student_uid' => $student_uid,
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz
|
||||
],
|
||||
[
|
||||
'semester' => $ausbildungssemester,
|
||||
'verband' => $verband,
|
||||
'gruppe' => $gruppe,
|
||||
'updateamum' => date('c'),
|
||||
'updatevon' => $uid,
|
||||
'studiengang_kz' => $studiengang_kz
|
||||
]
|
||||
);
|
||||
if ($this->db->trans_status() === false || isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
return error("0", "Error during update studentlehrverband");
|
||||
}
|
||||
}
|
||||
|
||||
// finish transaktion
|
||||
if ($this->db->trans_status() === false || isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
return error("0", "Error during insert/update Studentlehrverband");
|
||||
} else {
|
||||
$this->db->trans_commit();
|
||||
return success();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,28 +14,36 @@ class Lehrverband_model extends DB_Model
|
||||
|
||||
/**
|
||||
* Check if Lehrverband already exists
|
||||
* @param string $student_id
|
||||
* @param string $studiensemester_kurzbz
|
||||
* @return 1: if Rolle exists, 0: if it doesn't
|
||||
* @param Integer $studiengang_kz
|
||||
* @param Integer $semester
|
||||
* @param char $verband
|
||||
* @param char $gruppe
|
||||
* @return 1: if Lehrverband exists, 0: if it doesn't
|
||||
*/
|
||||
public function checkIfLehrverbandExists($student_uid, $studiensemester_kurzbz)
|
||||
public function checkIfLehrverbandExists($studiengang_kz, $semester, $verband, $gruppe)
|
||||
{
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
public.tbl_studentlehrverband
|
||||
public.tbl_lehrverband
|
||||
WHERE
|
||||
student_uid = ?
|
||||
studiengang_kz = ?
|
||||
AND
|
||||
studiensemester_kurzbz = ?";
|
||||
semester = ?
|
||||
AND
|
||||
verband = ?
|
||||
AND
|
||||
gruppe = ?
|
||||
|
||||
";
|
||||
|
||||
$result = $this->execQuery($qry, array($student_uid, $studiensemester_kurzbz));
|
||||
$result = $this->execQuery($qry, array($studiengang_kz, $semester, $verband, $gruppe));
|
||||
|
||||
if (isError($result))
|
||||
if(isError($result))
|
||||
{
|
||||
return error($result);
|
||||
}
|
||||
elseif (!hasData($result))
|
||||
elseif(!hasData($result))
|
||||
{
|
||||
return success("0", "Kein Lehrverband vorhanden!");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user