mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-23 18:02:18 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
This commit is contained in:
@@ -14,9 +14,6 @@ class Auth_Controller extends FHC_Controller
|
||||
// Loads authentication library and starts authentication
|
||||
$this->load->library('AuthLib');
|
||||
|
||||
// Loads authentication helper
|
||||
$this->load->helper('hlp_authentication');
|
||||
|
||||
// Checks if the caller is allowed to access to this content
|
||||
$this->_isAllowed($requiredPermissions);
|
||||
}
|
||||
|
||||
@@ -2,20 +2,35 @@
|
||||
|
||||
if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
// Functions needed to manage the user authentication
|
||||
// ------------------------------------------------------------------------
|
||||
// NOTE: the following functions do NOT prompt a login page if the user is NOT logged in
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* It calls the AuthLib, if the user is NOT logged then the login page is shown
|
||||
* If the user is NOT logged then a null value is returned.
|
||||
* If the user is alredy logged, then it is possible to access to the authentication object
|
||||
* that contains the person_id of the logged user
|
||||
* NOTE: if a user is logged then a person_id is always present!
|
||||
*/
|
||||
function getAuthPersonId()
|
||||
{
|
||||
$ci =& get_instance(); // get CI instance
|
||||
|
||||
return isLogged() ? ($ci->authlib->getAuthObj())->{AuthLib::AO_PERSON_ID} : null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* If the user is NOT logged then a null value is returned.
|
||||
* If the user is alredy logged, then it is possible to access to the authentication object
|
||||
* that contains the username of the logged user
|
||||
*
|
||||
* @return string or null
|
||||
* NOTE: if the user is logged with a "foreign" method (ex. Bewerbungstool),
|
||||
* then it is possible that the username is null!
|
||||
*/
|
||||
function getAuthUID()
|
||||
{
|
||||
$ci =& get_instance(); // get CI instance
|
||||
|
||||
return ($ci->authlib->getAuthObj())->{AuthLib::AO_USERNAME};
|
||||
return isLogged() ? ($ci->authlib->getAuthObj())->{AuthLib::AO_USERNAME} : null;
|
||||
}
|
||||
|
||||
@@ -224,3 +224,19 @@ function isDateWorkingDay($date, $days = null)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the current user is logged by checking that the AuthLib is loaded and
|
||||
* it is present the authentication object in session
|
||||
* NOTE: it is placed here instead of being placed in the helper hlp_authentication_helper
|
||||
* because hlp_authentication_helper is loaded after the authentication.
|
||||
* It is very useful to use this function even in those parts of the code that are accessible
|
||||
* even when a user is NOT authenticated!!!
|
||||
* If and only if this function returns true, then all the functions present in hlp_authentication_helper can be used!
|
||||
*/
|
||||
function isLogged()
|
||||
{
|
||||
$ci =& get_instance(); // get CI instance
|
||||
|
||||
return isset($ci->authlib) && $ci->authlib->getAuthObj() != null;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,6 @@ class AuthLib
|
||||
/**
|
||||
* Construct
|
||||
*
|
||||
*
|
||||
* @param bool $authenticate If the authentication must be performed.
|
||||
*/
|
||||
public function __construct($authenticate = true)
|
||||
@@ -483,6 +482,8 @@ class AuthLib
|
||||
|
||||
/**
|
||||
* Stores the authentication object into the authentication session
|
||||
* Everything was fine, the user at this point is authenticated, it is possible to store the authentication object
|
||||
* in the user session
|
||||
*/
|
||||
private function _storeSessionAuthObj($authObj)
|
||||
{
|
||||
@@ -552,7 +553,12 @@ class AuthLib
|
||||
$this->_showError(getData($auth)); // display a generic error message and logs the occurred error
|
||||
}
|
||||
}
|
||||
// else the user is already logged, then continue with the execution
|
||||
// else the user is already logged, then loads authentication helper and continue with the execution
|
||||
// NOTE: it is needed only here because:
|
||||
// - it is called when a user is already logged in
|
||||
// - it is called after login the user
|
||||
// - it is NOT called in case of fatal error or wrong authentication
|
||||
$this->_ci->load->helper('hlp_authentication');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -108,9 +108,6 @@ class FiltersLib
|
||||
{
|
||||
$this->_ci =& get_instance(); // get code igniter instance
|
||||
|
||||
// Loads authentication helper
|
||||
$this->_ci->load->helper('hlp_authentication'); // NOTE: needed to load custom filters do not remove!
|
||||
|
||||
$this->_filterUniqueId = $this->_getFilterUniqueId($params); // sets the id for the related filter widget
|
||||
}
|
||||
|
||||
@@ -185,11 +182,8 @@ class FiltersLib
|
||||
{
|
||||
// Loads the needed models
|
||||
$this->_ci->load->model('system/Filters_model', 'FiltersModel');
|
||||
$this->_ci->load->model('person/Benutzer_model', 'BenutzerModel'); // to get the default custom filter
|
||||
|
||||
$this->_ci->FiltersModel->resetQuery(); // reset any previous built query
|
||||
|
||||
$this->_ci->FiltersModel->addJoin('public.tbl_benutzer', 'person_id', 'LEFT'); // left join with benutzer table
|
||||
$this->_ci->FiltersModel->addSelect('system.tbl_filters.*'); // select only from table filters
|
||||
$this->_ci->FiltersModel->addOrder('sort', 'ASC'); // sort on column sort
|
||||
$this->_ci->FiltersModel->addLimit(1); // if more than one filter is set as default only one will be retrieved
|
||||
@@ -223,7 +217,7 @@ class FiltersLib
|
||||
$whereParameters = array(
|
||||
'app' => $app,
|
||||
'dataset_name' => $datasetName,
|
||||
'uid' => getAuthUID(),
|
||||
'person_id' => getAuthPersonId(),
|
||||
'default_filter' => true
|
||||
);
|
||||
|
||||
@@ -260,10 +254,10 @@ class FiltersLib
|
||||
$jsonEncodedFilter = null;
|
||||
|
||||
// If the definition contains data and they are valid
|
||||
if (hasData($definition) && isset($definition->retval[0]->filter) && trim($definition->retval[0]->filter) != '')
|
||||
if (hasData($definition) && isset(getData($definition)[0]->filter) && trim(getData($definition)[0]->filter) != '')
|
||||
{
|
||||
// Get the json definition of the filter
|
||||
$tmpJsonEncodedFilter = json_decode($definition->retval[0]->filter);
|
||||
$tmpJsonEncodedFilter = json_decode(getData($definition)[0]->filter);
|
||||
|
||||
// Checks required filter's properies
|
||||
if (isset($tmpJsonEncodedFilter->name)
|
||||
@@ -585,87 +579,76 @@ class FiltersLib
|
||||
$saveCustomFilter = false; // by default returns a failure
|
||||
|
||||
// Checks parameter customFilterDescription if not valid stop the execution
|
||||
if (isEmptyString($customFilterDescription))
|
||||
{
|
||||
return $saveCustomFilter;
|
||||
}
|
||||
if (isEmptyString($customFilterDescription)) return $saveCustomFilter;
|
||||
|
||||
$this->_ci->load->model('system/Filters_model', 'FiltersModel'); // to load the filter definitions
|
||||
$this->_ci->load->model('person/Benutzer_model', 'BenutzerModel'); // to get the person_id of the authenticated user
|
||||
|
||||
$this->_ci->FiltersModel->resetQuery(); // reset any previous built query
|
||||
$this->_ci->BenutzerModel->resetQuery(); // reset any previous built query
|
||||
|
||||
// Loads data for the authenticated user
|
||||
$authBenutzer = $this->_ci->BenutzerModel->loadWhere(array('uid' => getAuthUID()));
|
||||
if (hasData($authBenutzer)) // if data are found
|
||||
// person_id of the authenticated user
|
||||
$authPersonId = getAuthPersonId();
|
||||
// Postgres array for the description
|
||||
$descPGArray = str_replace('%desc%', $customFilterDescription, '{"%desc%", "%desc%", "%desc%", "%desc%"}');
|
||||
|
||||
// Loads the definition to check if is already present in the DB
|
||||
$definition = $this->_ci->FiltersModel->loadWhere(array(
|
||||
'app' => $this->getSessionElement(self::APP_PARAMETER),
|
||||
'dataset_name' => $this->getSessionElement(self::DATASET_NAME_PARAMETER),
|
||||
'description' => $descPGArray,
|
||||
'person_id' => $authPersonId
|
||||
));
|
||||
|
||||
// New definition to be json encoded
|
||||
$jsonDeifinition = new stdClass();
|
||||
$jsonDeifinition->name = $customFilterDescription; // name of the filter
|
||||
|
||||
// Generates the "column" property
|
||||
$jsonDeifinition->columns = array();
|
||||
$selectedFields = $this->getSessionElement(self::SESSION_SELECTED_FIELDS); // retrieved the selected fields
|
||||
for ($i = 0; $i < count($selectedFields); $i++)
|
||||
{
|
||||
// person_id of the authenticated user
|
||||
$authPersonId = $authBenutzer->retval[0]->person_id;
|
||||
// Postgres array for the description
|
||||
$descPGArray = str_replace('%desc%', $customFilterDescription, '{"%desc%", "%desc%", "%desc%", "%desc%"}');
|
||||
// Each element is an object with a property called "name"
|
||||
$jsonDeifinition->columns[$i] = new stdClass();
|
||||
$jsonDeifinition->columns[$i]->name = $selectedFields[$i];
|
||||
}
|
||||
|
||||
// Loads the definition to check if is already present in the DB
|
||||
$definition = $this->_ci->FiltersModel->loadWhere(array(
|
||||
'app' => $this->getSessionElement(self::APP_PARAMETER),
|
||||
'dataset_name' => $this->getSessionElement(self::DATASET_NAME_PARAMETER),
|
||||
'description' => $descPGArray,
|
||||
'person_id' => $authPersonId
|
||||
));
|
||||
// List of applied filters
|
||||
$jsonDeifinition->filters = $this->getSessionElement(self::SESSION_FILTERS);
|
||||
|
||||
// New definition to be json encoded
|
||||
$jsonDeifinition = new stdClass();
|
||||
$jsonDeifinition->name = $customFilterDescription; // name of the filter
|
||||
// If it is already present
|
||||
if (hasData($definition))
|
||||
{
|
||||
// update it
|
||||
$this->_ci->FiltersModel->update(
|
||||
array(
|
||||
'app' => $this->getSessionElement(self::APP_PARAMETER),
|
||||
'dataset_name' => $this->getSessionElement(self::DATASET_NAME_PARAMETER),
|
||||
'description' => $descPGArray,
|
||||
'person_id' => $authPersonId
|
||||
),
|
||||
array(
|
||||
'filter' => json_encode($jsonDeifinition)
|
||||
)
|
||||
);
|
||||
|
||||
// Generates the "column" property
|
||||
$jsonDeifinition->columns = array();
|
||||
$selectedFields = $this->getSessionElement(self::SESSION_SELECTED_FIELDS); // retrieved the selected fields
|
||||
for ($i = 0; $i < count($selectedFields); $i++)
|
||||
{
|
||||
// Each element is an object with a property called "name"
|
||||
$jsonDeifinition->columns[$i] = new stdClass();
|
||||
$jsonDeifinition->columns[$i]->name = $selectedFields[$i];
|
||||
}
|
||||
$saveCustomFilter = true;
|
||||
}
|
||||
else // otherwise insert a new one
|
||||
{
|
||||
$this->_ci->FiltersModel->insert(
|
||||
array(
|
||||
'app' => $this->getSessionElement(self::APP_PARAMETER),
|
||||
'dataset_name' => $this->getSessionElement(self::DATASET_NAME_PARAMETER),
|
||||
'filter_kurzbz' => uniqid($authPersonId, true),
|
||||
'description' => $descPGArray,
|
||||
'person_id' => $authPersonId,
|
||||
'sort' => null,
|
||||
'default_filter' => false,
|
||||
'filter' => json_encode($jsonDeifinition),
|
||||
'oe_kurzbz' => null
|
||||
)
|
||||
);
|
||||
|
||||
// List of applied filters
|
||||
$jsonDeifinition->filters = $this->getSessionElement(self::SESSION_FILTERS);
|
||||
|
||||
// If it is already present
|
||||
if (hasData($definition))
|
||||
{
|
||||
// update it
|
||||
$this->_ci->FiltersModel->update(
|
||||
array(
|
||||
'app' => $this->getSessionElement(self::APP_PARAMETER),
|
||||
'dataset_name' => $this->getSessionElement(self::DATASET_NAME_PARAMETER),
|
||||
'description' => $descPGArray,
|
||||
'person_id' => $authPersonId
|
||||
),
|
||||
array(
|
||||
'filter' => json_encode($jsonDeifinition)
|
||||
)
|
||||
);
|
||||
|
||||
$saveCustomFilter = true;
|
||||
}
|
||||
else // otherwise insert a new one
|
||||
{
|
||||
$this->_ci->FiltersModel->insert(
|
||||
array(
|
||||
'app' => $this->getSessionElement(self::APP_PARAMETER),
|
||||
'dataset_name' => $this->getSessionElement(self::DATASET_NAME_PARAMETER),
|
||||
'filter_kurzbz' => uniqid($authPersonId, true),
|
||||
'description' => $descPGArray,
|
||||
'person_id' => $authPersonId,
|
||||
'sort' => null,
|
||||
'default_filter' => false,
|
||||
'filter' => json_encode($jsonDeifinition),
|
||||
'oe_kurzbz' => null
|
||||
)
|
||||
);
|
||||
|
||||
$saveCustomFilter = true;
|
||||
}
|
||||
$saveCustomFilter = true;
|
||||
}
|
||||
|
||||
return $saveCustomFilter;
|
||||
@@ -721,7 +704,7 @@ class FiltersLib
|
||||
$childrenPersonalArray = array(); // contains all the children elements in menu enty for personal filters
|
||||
|
||||
// Loops through loaded filters
|
||||
foreach ($filters->retval as $filter)
|
||||
foreach (getData($filters) as $filter)
|
||||
{
|
||||
// Generate a menu entry
|
||||
$menuEntry = $this->_ci->navigationlib->oneLevel(
|
||||
|
||||
@@ -606,9 +606,10 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
|
||||
|
||||
foreach ($prestudent->result as $ps)
|
||||
{
|
||||
if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch))
|
||||
// prüfen ob Student zum Zeitpunkt der LV oder zumindest irgendwann Student im Studiengang war/ist
|
||||
if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch) || $ps->studiengang_kz == $studiengang_kz)
|
||||
{
|
||||
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
|
||||
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher") || ($ps->status_kurzbz == ""))
|
||||
{
|
||||
array_push($prestudenten, $ps);
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ if (!$searchPerson && !$searchOrt && !$searchDms && !$searchContent && !$searchO
|
||||
|
||||
function searchPerson($searchItems)
|
||||
{
|
||||
global $db, $p, $noalias;
|
||||
global $db, $p, $noalias, $uid;
|
||||
$bn = new benutzer();
|
||||
$bn->search($searchItems, 21);
|
||||
|
||||
@@ -163,7 +163,19 @@ function searchPerson($searchItems)
|
||||
//echo '<td>',$row->titelpre,'</td>';
|
||||
echo '<td>',$row->anrede,'</td>';
|
||||
echo '<td>',$row->vorname,'</td>';
|
||||
echo '<td><a href="../profile/index.php?uid=',$row->uid,'" title="',$row->titelpre,' ',$row->vorname,' ',$row->nachname,' ',$row->titelpost,'">',$row->nachname,'</a>';
|
||||
echo '<td>';
|
||||
if(!defined('CIS_SUCHE_PROFIL_ANZEIGEN'))
|
||||
echo '<a href="../profile/index.php?uid=',$row->uid,'" title="',$row->titelpre,' ',$row->vorname,' ',$row->nachname,' ',$row->titelpost,'">',$row->nachname,'</a>';
|
||||
else if(!CIS_SUCHE_PROFIL_ANZEIGEN)
|
||||
{
|
||||
$mitarbeiter = new Mitarbeiter($uid);
|
||||
if($mitarbeiter->errormsg === NULL)
|
||||
echo '<a href="../profile/index.php?uid=',$row->uid,'" title="',$row->titelpre,' ',$row->vorname,' ',$row->nachname,' ',$row->titelpost,'">',$row->nachname,'</a>';
|
||||
else
|
||||
echo $row->nachname;
|
||||
}
|
||||
else
|
||||
echo '<a href="../profile/index.php?uid=',$row->uid,'" title="',$row->titelpre,' ',$row->vorname,' ',$row->nachname,' ',$row->titelpost,'">',$row->nachname,'</a>';
|
||||
if($row->aktiv==false)
|
||||
echo '<span style="color: red"> (ausgeschieden)</span>';
|
||||
elseif($bisverwendung->beschausmasscode=='5')
|
||||
|
||||
@@ -50,6 +50,9 @@ define('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN',true);
|
||||
// Anzeige des LV-Plan Links bei globaler Suche
|
||||
define('CIS_SUCHE_LVPLAN_ANZEIGEN',true);
|
||||
|
||||
// Anzeige des Links zum Profil von Personen bei globaler Suche
|
||||
define('CIS_SUCHE_PROFIL_ANZEIGEN',true);
|
||||
|
||||
// Soll geprueft werden ob das Passwort innerhalb des letzten Jahres geaendert wurde true|false
|
||||
// Wenn dies nicht geaendert wurde wird nach dem Login auf die Passwort aendern Seite umgeleitet
|
||||
define('CIS_CHECK_PASSWORD_CHANGE',false);
|
||||
|
||||
@@ -30,6 +30,8 @@ class organisationsform extends basis_db
|
||||
public $code;
|
||||
public $bezeichnung;
|
||||
public $rolle;
|
||||
public $bisorgform_kurzbz;
|
||||
public $bezeichnung_mehrsprachig;
|
||||
|
||||
public $result = array();
|
||||
|
||||
@@ -37,9 +39,12 @@ class organisationsform extends basis_db
|
||||
*
|
||||
* Konstruktor
|
||||
*/
|
||||
public function __construct()
|
||||
public function __construct($orgform_kurzbz = null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if($orgform_kurzbz != null)
|
||||
$this->load($orgform_kurzbz);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -48,7 +53,16 @@ class organisationsform extends basis_db
|
||||
*/
|
||||
public function load($orgform_kurzbz)
|
||||
{
|
||||
$qry = "SELECT * FROM bis.tbl_orgform WHERE orgform_kurzbz=".$this->db_add_param($orgform_kurzbz).';';
|
||||
$sprache = new sprache();
|
||||
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
|
||||
$qry = "SELECT orgform_kurzbz,
|
||||
code,
|
||||
bezeichnung,
|
||||
rolle,
|
||||
bisorgform_kurzbz,
|
||||
$bezeichnung_mehrsprachig
|
||||
FROM bis.tbl_orgform
|
||||
WHERE orgform_kurzbz=".$this->db_add_param($orgform_kurzbz).';';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -58,6 +72,8 @@ class organisationsform extends basis_db
|
||||
$this->code = $row->code;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->rolle = $this->db_parse_bool($row->rolle);
|
||||
$this->bisorgform_kurzbz = $row->bisorgform_kurzbz;
|
||||
$this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -73,7 +89,15 @@ class organisationsform extends basis_db
|
||||
*/
|
||||
public function getAll()
|
||||
{
|
||||
$qry = "SELECT * FROM bis.tbl_orgform";
|
||||
$sprache = new sprache();
|
||||
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
|
||||
$qry = "SELECT orgform_kurzbz,
|
||||
code,
|
||||
bezeichnung,
|
||||
rolle,
|
||||
bisorgform_kurzbz,
|
||||
$bezeichnung_mehrsprachig
|
||||
FROM bis.tbl_orgform";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -85,6 +109,8 @@ class organisationsform extends basis_db
|
||||
$orgform->code = $row->code;
|
||||
$orgform->bezeichnung = $row->bezeichnung;
|
||||
$orgform->rolle = $this->db_parse_bool($row->rolle);
|
||||
$orgform->bisorgform_kurzbz = $row->bisorgform_kurzbz;
|
||||
$orgform->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row);
|
||||
|
||||
$this->result[] = $orgform;
|
||||
}
|
||||
@@ -133,9 +159,16 @@ class organisationsform extends basis_db
|
||||
*/
|
||||
public function getOrgformLV()
|
||||
{
|
||||
$qry = "SELECT *
|
||||
FROM bis.tbl_orgform
|
||||
WHERE orgform_kurzbz NOT IN ('VBB', 'ZGS')
|
||||
$sprache = new sprache();
|
||||
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
|
||||
$qry = "SELECT orgform_kurzbz,
|
||||
code,
|
||||
bezeichnung,
|
||||
rolle,
|
||||
bisorgform_kurzbz,
|
||||
$bezeichnung_mehrsprachig
|
||||
FROM bis.tbl_orgform
|
||||
WHERE orgform_kurzbz NOT IN ('VBB', 'ZGS')
|
||||
ORDER BY orgform_kurzbz";
|
||||
|
||||
if ($result = $this->db_query($qry))
|
||||
@@ -148,6 +181,8 @@ class organisationsform extends basis_db
|
||||
$orgform->code = $row->code;
|
||||
$orgform->bezeichnung = $row->bezeichnung;
|
||||
$orgform->rolle = $row->rolle;
|
||||
$orgform->bisorgform_kurzbz = $row->bisorgform_kurzbz;
|
||||
$orgform->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row);
|
||||
|
||||
$this->result[] = $orgform;
|
||||
}
|
||||
|
||||
@@ -834,27 +834,44 @@ if ($punkteUebertragen)
|
||||
// Um einen Bewerberstatus zu setzen, muss "reihungstestangetreten" true sein
|
||||
if ($prestudent->reihungstestangetreten == true)
|
||||
{
|
||||
$prestudent->new = true;
|
||||
$prestudent->prestudent_id = $array['prestudent_id'];
|
||||
$prestudent->status_kurzbz = 'Bewerber';
|
||||
$prestudent->studiensemester_kurzbz = $prestudentrolle->studiensemester_kurzbz;
|
||||
$prestudent->ausbildungssemester = $prestudentrolle->ausbildungssemester;
|
||||
$prestudent->datum = date('Y-m-d');
|
||||
$prestudent->insertamum = date('Y-m-d H:i:s');
|
||||
$prestudent->insertvon = $user;
|
||||
$prestudent->orgform_kurzbz = $prestudentrolle->orgform_kurzbz;
|
||||
$prestudent->bestaetigtam = '';
|
||||
$prestudent->bestaetigtvon = '';
|
||||
$prestudent->bewerbung_abgeschicktamum = '';
|
||||
$prestudent->studienplan_id = $prestudentrolle->studienplan_id;
|
||||
|
||||
if (!$prestudent->save_rolle())
|
||||
// Um einen Bewerberstatus zu setzen, muss die ZGV ausgefüllt sein
|
||||
if ($prestudent->zgv_code != '')
|
||||
{
|
||||
$msg_error .= '<br>Fehler beim speichern des Bewerberstatus für Prestudent '.$array['prestudent_id'].': '.$prestudent->errormsg;
|
||||
$studiengang = new studiengang($prestudent->studiengang_kz);
|
||||
// Bei Mastern muss auch die ZGV-Master ausgefüllt sein
|
||||
if ($studiengang->typ == 'm' && $prestudent->zgvmas_code == '')
|
||||
{
|
||||
$msg_error .= '<br>Fehler beim speichern des Bewerberstatus für Prestudent '.$array['prestudent_id'].'. Es muss zuerst eine Master-ZGV eingetragen sein.';
|
||||
}
|
||||
else
|
||||
{
|
||||
$prestudent->new = true;
|
||||
$prestudent->prestudent_id = $array['prestudent_id'];
|
||||
$prestudent->status_kurzbz = 'Bewerber';
|
||||
$prestudent->studiensemester_kurzbz = $prestudentrolle->studiensemester_kurzbz;
|
||||
$prestudent->ausbildungssemester = $prestudentrolle->ausbildungssemester;
|
||||
$prestudent->datum = date('Y-m-d');
|
||||
$prestudent->insertamum = date('Y-m-d H:i:s');
|
||||
$prestudent->insertvon = $user;
|
||||
$prestudent->orgform_kurzbz = $prestudentrolle->orgform_kurzbz;
|
||||
$prestudent->bestaetigtam = '';
|
||||
$prestudent->bestaetigtvon = '';
|
||||
$prestudent->bewerbung_abgeschicktamum = '';
|
||||
$prestudent->studienplan_id = $prestudentrolle->studienplan_id;
|
||||
|
||||
if (!$prestudent->save_rolle())
|
||||
{
|
||||
$msg_error .= '<br>Fehler beim speichern des Bewerberstatus für Prestudent '.$array['prestudent_id'].': '.$prestudent->errormsg;
|
||||
}
|
||||
else
|
||||
{
|
||||
$count_success_bewerber++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$count_success_bewerber++;
|
||||
$msg_error .= '<br>Fehler beim speichern des Bewerberstatus für Prestudent '.$array['prestudent_id'].'. Es muss zuerst eine ZGV eingetragen sein.';
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user