mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 16:32:20 +00:00
Studierendenverwaltung Projektbetreuer: default Stunden coming from global config, Stundensatz is requested each time BetreuerIn is selected
This commit is contained in:
@@ -83,10 +83,15 @@ if (!defined('ZGV_DOKTOR_ANZEIGEN') || !ZGV_DOKTOR_ANZEIGEN) {
|
||||
$fieldsZgvDoktor
|
||||
);
|
||||
}
|
||||
|
||||
$config['tabs']['projektarbeit']['defaultProjektbetreuerStunden'] = '4.0';
|
||||
$config['tabs']['projektarbeit']['defaultProjektbetreuerStundenDiplom'] = '5.0';
|
||||
$config['tabs']['projektarbeit']['lvLektroinnenzuteilungFixangestelltStundensatz'] = true;
|
||||
error_log(print_r(defined(FAS_STUDIERENDE_PROJEKTARBEIT_DEFAULT_BETREUER_STUNDEN_BACHELOR), true));
|
||||
$config['tabs']['projektarbeit']['defaultProjektbetreuerStunden'] =
|
||||
defined('FAS_STUDIERENDE_PROJEKTARBEIT_DEFAULT_BETREUER_STUNDEN_BACHELOR')
|
||||
? FAS_STUDIERENDE_PROJEKTARBEIT_DEFAULT_BETREUER_STUNDEN_BACHELOR
|
||||
: '0.0';
|
||||
$config['tabs']['projektarbeit']['defaultProjektbetreuerStundenDiplom'] =
|
||||
defined('FAS_STUDIERENDE_PROJEKTARBEIT_DEFAULT_BETREUER_STUNDEN_MASTER')
|
||||
? FAS_STUDIERENDE_PROJEKTARBEIT_DEFAULT_BETREUER_STUNDEN_MASTER
|
||||
: '0.0';
|
||||
$config['tabs']['projektarbeit']['defaultProjektbetreuerStundensatz'] = '80.0';
|
||||
|
||||
$config['student_tab_order'] = [
|
||||
|
||||
@@ -114,18 +114,36 @@ class Projektbetreuer extends FHCAPI_Controller
|
||||
if (!$this->ProjektarbeitModel->hasBerechtigungForProjektarbeit($projektarbeit_id))
|
||||
return $this->_outputAuthError([$this->router->method => ['admin:rw', 'assistenz:rw']]);
|
||||
|
||||
if (isset($projektbetreuer['stunden']) && !isEmptyString($projektbetreuer['stunden']) && !is_numeric($projektbetreuer['stunden']))
|
||||
{
|
||||
return $this->terminateWithError(
|
||||
$this->p->t('ui', 'error_fieldNotNumeric', ['field'=> 'Stunden', 'Field'=> 'Stunden']), self::ERROR_TYPE_GENERAL
|
||||
);
|
||||
}
|
||||
|
||||
if (isset($projektbetreuer['stundensatz']) && !isEmptyString($projektbetreuer['stundensatz']) && !is_numeric($projektbetreuer['stundensatz']))
|
||||
{
|
||||
return $this->terminateWithError(
|
||||
$this->p->t('ui', 'error_fieldNotNumeric', ['field'=> 'Stundensatz', 'Field'=> 'Stundensatz']), self::ERROR_TYPE_GENERAL
|
||||
);
|
||||
}
|
||||
|
||||
$projektbetreuer = $this->input->post('projektbetreuer');
|
||||
|
||||
if ($this->_validate($projektbetreuer) == false) $this->terminateWithValidationErrors($this->form_validation->error_array());
|
||||
|
||||
$result = null;
|
||||
|
||||
$stunden = isset($projektbetreuer['stunden']) && !isEmptyString($projektbetreuer['stunden']) ? $projektbetreuer['stunden'] : null;
|
||||
$stundensatz =
|
||||
isset($projektbetreuer['stundensatz']) && !isEmptyString($projektbetreuer['stundensatz']) ? $projektbetreuer['stundensatz'] : null;
|
||||
|
||||
$betreuer = [
|
||||
'projektarbeit_id' => $projektarbeit_id,
|
||||
'person_id' => $projektbetreuer['person_id'],
|
||||
'note' => $projektbetreuer['note'],
|
||||
'stunden' => $projektbetreuer['stunden'],
|
||||
'stundensatz' => $projektbetreuer['stundensatz'],
|
||||
'stunden' => $stunden,
|
||||
'stundensatz' => $stundensatz,
|
||||
'betreuerart_kurzbz' => $projektbetreuer['betreuerart_kurzbz']
|
||||
];
|
||||
|
||||
|
||||
@@ -47,7 +47,6 @@ class Stundensatz_model extends DB_Model
|
||||
{
|
||||
$this->load->config('stv');
|
||||
|
||||
$useFixangestelltStundensatz = $this->config->item('tabs')['projektarbeit']['lvLektroinnenzuteilungFixangestelltStundensatz'];
|
||||
$defaultStundensatz = $this->config->item('tabs')['projektarbeit']['defaultProjektbetreuerStundensatz'];
|
||||
|
||||
$stundensatz = '';
|
||||
@@ -63,7 +62,7 @@ class Stundensatz_model extends DB_Model
|
||||
{
|
||||
$studiensemester = getData($result)[0];
|
||||
|
||||
if (isset($useFixangestelltStundensatz) && !$useFixangestelltStundensatz)
|
||||
if (defined('FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ') && !FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ)
|
||||
{
|
||||
// load Mitarbeiter
|
||||
$params = [$person_id];
|
||||
@@ -83,19 +82,30 @@ class Stundensatz_model extends DB_Model
|
||||
|
||||
if (hasData($result))
|
||||
{
|
||||
foreach (getData($result) as $ma)
|
||||
{
|
||||
if (!$ma->fixangestellt)
|
||||
{
|
||||
$stundensatzRes = $this->getStundensatzByDatum(
|
||||
$ma->mitarbeiter_uid, $studiensemester->start, $studiensemester->ende, 'lehre'
|
||||
);
|
||||
$ma = getData($result)[0];
|
||||
|
||||
if (hasData($stundensatzRes))
|
||||
$stundensatz = getData($stundensatzRes)[0]->stundensatz;
|
||||
else
|
||||
$stundensatz = '0.00';
|
||||
}
|
||||
$this->load->model('vertragsbestandteil/Dienstverhaeltnis_model','DienstverhaeltnisModel');
|
||||
$echterdv_result = $this->DienstverhaeltnisModel->existsDienstverhaeltnis(
|
||||
$ma->mitarbeiter_uid,
|
||||
$studiensemester->start,
|
||||
$studiensemester->ende,
|
||||
'echterdv'
|
||||
);
|
||||
|
||||
if (hasData($echterdv_result))
|
||||
{
|
||||
$stundensatz = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
$stundensatzRes = $this->getStundensatzByDatum(
|
||||
$ma->mitarbeiter_uid, $studiensemester->start, $studiensemester->ende, 'lehre'
|
||||
);
|
||||
|
||||
if (hasData($stundensatzRes))
|
||||
$stundensatz = getData($stundensatzRes)[0]->stundensatz;
|
||||
else
|
||||
$stundensatz = '0.00';
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user