mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-23 01:42:17 +00:00
merged master into anpassung_infocenter
This commit is contained in:
@@ -383,8 +383,8 @@ class LehrauftragJob extends JOB_Controller
|
||||
} // Else if UID exists
|
||||
else
|
||||
{
|
||||
// Search if studiensemester exists
|
||||
$ss_index = array_search($data['studiensemester_kurzbz'], array_column($mail_data_arr, 'studiensemester_kurzbz'));
|
||||
// Search if studiensemester exists inside the existing UID array
|
||||
$ss_index = array_search($data['studiensemester_kurzbz'], array_column($mail_data_arr[$uid_index], 'studiensemester_kurzbz'));
|
||||
|
||||
// If studiensemester is new, add studiensemester to existing UID
|
||||
if ($ss_index === false)
|
||||
@@ -394,13 +394,6 @@ class LehrauftragJob extends JOB_Controller
|
||||
$data[$i]
|
||||
);
|
||||
}
|
||||
// Else if studiensemester exists
|
||||
else
|
||||
{
|
||||
// Add corresponding data to existing studiensemester of UID
|
||||
$mail_data_arr[$uid_index]['studiensemester_kurbz'][] = $data[$i];
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -270,7 +270,6 @@ class Lehrauftrag extends Auth_Controller
|
||||
private function _sendMail($lehrvertrag_data_arr)
|
||||
{
|
||||
// Cluster data of new lehrvertraege as needed to send mail
|
||||
$lehrvertrag_data_arr = $this->_cluster_newVertragData($lehrvertrag_data_arr);
|
||||
|
||||
foreach ($lehrvertrag_data_arr as $lehrvertrag_data)
|
||||
{
|
||||
|
||||
@@ -93,6 +93,7 @@ class InfoCenter extends Auth_Controller
|
||||
const INTERESSENTSTATUS = 'Interessent';
|
||||
const ABGEWIESENERSTATUS = 'Abgewiesener';
|
||||
const BEWERBERSTATUS = 'Bewerber';
|
||||
const WARTENDER = 'Wartender';
|
||||
|
||||
// Statusgruende for which no Studiengangsfreigabemessage should be sent
|
||||
private $_statusgruendeNoStgFreigabeMessage = array('FIT Programm', 'FIT program', 'FIT programme');
|
||||
@@ -137,7 +138,9 @@ class InfoCenter extends Auth_Controller
|
||||
'setOnHold' => 'infocenter:rw',
|
||||
'removeOnHold' => 'infocenter:rw',
|
||||
'getStudienjahrEnd' => 'infocenter:r',
|
||||
'setNavigationMenuArrayJson' => 'infocenter:r'
|
||||
'setNavigationMenuArrayJson' => 'infocenter:r',
|
||||
'getAbsageData' => 'infocenter:r',
|
||||
'saveAbsageForAll' => 'infocenter:rw'
|
||||
)
|
||||
);
|
||||
|
||||
@@ -715,11 +718,14 @@ class InfoCenter extends Auth_Controller
|
||||
* Saves Absage for Prestudent including the reason for the Absage (statusgrund).
|
||||
* inserts Studiensemester and Ausbildungssemester for the new Absage of (chronologically) last status.
|
||||
*/
|
||||
public function saveAbsage()
|
||||
public function saveAbsage($prestudent_id = null, $statusgrund = null)
|
||||
{
|
||||
$json = null;
|
||||
$prestudent_id = $this->input->post('prestudent_id');
|
||||
$statusgrund = $this->input->post('statusgrund');
|
||||
if (is_null($prestudent_id))
|
||||
$prestudent_id = $this->input->post('prestudent_id');
|
||||
|
||||
if (is_null($statusgrund))
|
||||
$statusgrund = $this->input->post('statusgrund');
|
||||
|
||||
$lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent_id);
|
||||
|
||||
@@ -728,8 +734,10 @@ class InfoCenter extends Auth_Controller
|
||||
|
||||
if (hasData($lastStatus) && hasData($statusgrresult))
|
||||
{
|
||||
//check if still Interessent and not freigegeben yet
|
||||
if ($lastStatus->retval[0]->status_kurzbz === self::INTERESSENTSTATUS && !isset($lastStatus->retval[0]->bestaetigtam))
|
||||
//check if still Interessent
|
||||
if ($lastStatus->retval[0]->status_kurzbz === self::INTERESSENTSTATUS
|
||||
|| $lastStatus->retval[0]->status_kurzbz === self::BEWERBERSTATUS
|
||||
|| $lastStatus->retval[0]->status_kurzbz === self::WARTENDER)
|
||||
{
|
||||
$result = $this->PrestudentstatusModel->insert(
|
||||
array(
|
||||
@@ -1760,6 +1768,8 @@ class InfoCenter extends Auth_Controller
|
||||
|| isset($zgvpruefung->prestudentstatus->bestaetigtam)
|
||||
|| $zgvpruefung->prestudentstatus->status_kurzbz != self::INTERESSENTSTATUS;
|
||||
|
||||
$zgvpruefung->abgewiesener = $zgvpruefung->prestudentstatus->status_kurzbz === self::ABGEWIESENERSTATUS;
|
||||
|
||||
//wether prestudent was freigegeben for RT/Stg
|
||||
$zgvpruefung->isRtFreigegeben = false;
|
||||
$zgvpruefung->isStgFreigegeben = false;
|
||||
@@ -1841,8 +1851,8 @@ class InfoCenter extends Auth_Controller
|
||||
|
||||
$this->_sortPrestudents($zgvpruefungen);
|
||||
|
||||
$abwstatusgruende = $this->StatusgrundModel->loadWhere(array('status_kurzbz' => self::ABGEWIESENERSTATUS))->retval;
|
||||
$intstatusgruende = $this->StatusgrundModel->loadWhere(array('status_kurzbz' => self::INTERESSENTSTATUS))->retval;
|
||||
$abwstatusgruende = $this->StatusgrundModel->getStatus(self::ABGEWIESENERSTATUS, true)->retval;
|
||||
$intstatusgruende = $this->StatusgrundModel->getStatus(self::INTERESSENTSTATUS)->retval;
|
||||
|
||||
$data = array (
|
||||
'zgvpruefungen' => $zgvpruefungen,
|
||||
@@ -2103,4 +2113,45 @@ class InfoCenter extends Auth_Controller
|
||||
$this->loglib->logError('Studiengang has no mail for sending Freigabe mail');
|
||||
}
|
||||
}
|
||||
|
||||
public function getAbsageData()
|
||||
{
|
||||
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
|
||||
|
||||
$statusgruende = $this->StatusgrundModel->getStatus(self::ABGEWIESENERSTATUS, true)->retval;
|
||||
$studienSemester = $this->variablelib->getVar('infocenter_studiensemester');
|
||||
$studiengaenge = $this->StudiengangModel->getStudiengaengeWithOrgForm(['b', 'm'], $studienSemester);
|
||||
|
||||
$data = array (
|
||||
'statusgruende' => $statusgruende,
|
||||
'studiengaenge' => $studiengaenge->retval
|
||||
);
|
||||
|
||||
$this->outputJsonSuccess($data);
|
||||
}
|
||||
|
||||
public function saveAbsageForAll()
|
||||
{
|
||||
$statusgrund = $this->input->post('statusgrund');
|
||||
$studiengang = $this->input->post('studiengang');
|
||||
$personen = $this->input->post('personen');
|
||||
$studienSemester = $this->variablelib->getVar('infocenter_studiensemester');
|
||||
|
||||
if ($statusgrund === 'null' || $studiengang === 'null' || empty($personen))
|
||||
$this->terminateWithJsonError("Bitte Statusgrund, Studiengang und Personen auswählen.");
|
||||
|
||||
foreach($personen as $person)
|
||||
{
|
||||
$prestudent = $this->PrestudentModel->getPrestudentByStudiengangAndPerson($studiengang, $person, $studienSemester);
|
||||
|
||||
if(!hasData($prestudent))
|
||||
continue;
|
||||
|
||||
$prestudentData = getData($prestudent);
|
||||
|
||||
$this->saveAbsage($prestudentData[0]->prestudent_id, $statusgrund);
|
||||
}
|
||||
|
||||
$this->outputJsonSuccess("Success");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -220,7 +220,9 @@ class LDAPLib
|
||||
}
|
||||
else // Connection error
|
||||
{
|
||||
return error(ldap_error($ldapConnection));
|
||||
return error(
|
||||
'An error occurred while connecting to the LDAP server: '.$ldapConfigs[self::SERVER].':'.$ldapConfigs[self::PORT]
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -612,9 +612,9 @@ class Messages_model extends CI_Model
|
||||
if (!isEmptyString($vorlage_kurzbz))
|
||||
{
|
||||
$this->load->model('system/Vorlagestudiengang_model', 'VorlagestudiengangModel');
|
||||
$this->VorlagestudiengangModel->addOrder('version','DESC');
|
||||
$this->VorlagestudiengangModel->addOrder('version', 'DESC');
|
||||
|
||||
$getVorlage = $this->VorlagestudiengangModel->loadWhere(array('vorlage_kurzbz' => $vorlage_kurzbz));
|
||||
$getVorlage = $this->VorlagestudiengangModel->loadWhere(array('vorlage_kurzbz' => $vorlage_kurzbz, 'aktiv' => true));
|
||||
}
|
||||
|
||||
return $getVorlage;
|
||||
|
||||
@@ -581,4 +581,19 @@ class Prestudent_model extends DB_Model
|
||||
|
||||
return $this->execQuery($query, array($person_id));
|
||||
}
|
||||
|
||||
public function getPrestudentByStudiengangAndPerson($studiengang, $person, $studienSemester)
|
||||
{
|
||||
$query = "SELECT ps.prestudent_id
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang sg USING(studiengang_kz)
|
||||
JOIN lehre.tbl_studienplan sp USING(studienplan_id)
|
||||
WHERE ps.person_id = ?
|
||||
AND UPPER((sg.typ || sg.kurzbz) || ':' || sp.orgform_kurzbz) = ?
|
||||
AND pss.studiensemester_kurzbz = ?
|
||||
";
|
||||
|
||||
return $this->execQuery($query, array($person, $studiengang, $studienSemester));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,4 +11,18 @@ class Statusgrund_model extends DB_Model
|
||||
$this->dbTable = "public.tbl_status_grund";
|
||||
$this->pk = "statusgrund_id";
|
||||
}
|
||||
|
||||
public function getStatus($status_kurzbz = null, $aktiv = null)
|
||||
{
|
||||
$this->addOrder('bezeichnung_mehrsprachig');
|
||||
$where = array();
|
||||
if (!is_null($status_kurzbz))
|
||||
$where['status_kurzbz'] = $status_kurzbz;
|
||||
if (!is_null($aktiv))
|
||||
$where['aktiv'] = $aktiv;
|
||||
|
||||
$status = $this->loadWhere($where);
|
||||
|
||||
return success($status->retval);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -481,4 +481,18 @@ class Studiengang_model extends DB_Model
|
||||
|
||||
return $this->loadWhere($condition);
|
||||
}
|
||||
|
||||
public function getStudiengaengeWithOrgForm($typ, $semester)
|
||||
{
|
||||
$query = "SELECT DISTINCT (UPPER(sg.typ || sg.kurzbz || ':' || sp.orgform_kurzbz)) AS Studiengang
|
||||
FROM public.tbl_studiengang sg
|
||||
JOIN lehre.tbl_studienordnung USING (studiengang_kz)
|
||||
JOIN lehre.tbl_studienplan sp USING (studienordnung_id)
|
||||
JOIN lehre.tbl_studienplan_semester spsem USING (studienplan_id)
|
||||
WHERE sp.aktiv = TRUE AND sg.aktiv = TRUE AND sg.typ IN ?
|
||||
AND spsem.studiensemester_kurzbz = ?
|
||||
ORDER BY Studiengang";
|
||||
|
||||
return $this->execQuery($query, array($typ, $semester));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -189,7 +189,7 @@ $this->load->view(
|
||||
|
||||
<div class="col-xs-4 col-md-offset-0 col-md-4">
|
||||
<div class="input-group">
|
||||
<input id="username" type="hidden" autocomplete="username" value=""><!-- this is to prevent Chrome autofilling a random input field with the username-->
|
||||
<input id="username" autocomplete="username" style="position: absolute; opacity: 0;"><!-- this is to prevent Chrome autofilling a random input field with the username-->
|
||||
<input id="password" type="password" autocomplete="new-password" class="form-control" placeholder="CIS-<?php echo ucfirst($this->p->t('password', 'password')); ?>">
|
||||
<span class="input-group-btn">
|
||||
<button id="accept-lehrauftraege" class="btn btn-primary pull-right"><?php echo ucfirst($this->p->t('global', 'lehrauftraegeAnnehmen')); ?></button>
|
||||
|
||||
@@ -32,7 +32,7 @@ SELECT
|
||||
erteilt,
|
||||
akzeptiert,
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -48,7 +48,7 @@ SELECT
|
||||
)
|
||||
) AS "bestellt_von",
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -64,7 +64,7 @@ SELECT
|
||||
)
|
||||
) AS "erteilt_von",
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -241,7 +241,7 @@ FROM
|
||||
\'Betreuung\' AS "typ",
|
||||
(betreuerart_kurzbz || \' \' ||
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
PUBLIC.tbl_person
|
||||
JOIN PUBLIC.tbl_benutzer USING (person_id)
|
||||
|
||||
@@ -34,7 +34,7 @@ SELECT
|
||||
erteilt,
|
||||
akzeptiert,
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -50,7 +50,7 @@ SELECT
|
||||
)
|
||||
) AS "bestellt_von",
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -66,7 +66,7 @@ SELECT
|
||||
)
|
||||
) AS "erteilt_von",
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -128,7 +128,7 @@ FROM
|
||||
(
|
||||
SELECT
|
||||
/* lehrauftraege also planned with dummies, therefore personalnummer is needed */
|
||||
ma.personalnummer,
|
||||
(ma.personalnummer::text),
|
||||
lema.lehreinheit_id,
|
||||
lv.lehrveranstaltung_id,
|
||||
lv.bezeichnung AS "lv_bezeichnung",
|
||||
@@ -240,7 +240,7 @@ FROM
|
||||
pa.lehreinheit_id,
|
||||
lv.lehrveranstaltung_id,
|
||||
lv.bezeichnung AS "lv_bezeichnung",
|
||||
pa.projektarbeit_id AS "projektarbeit_id",
|
||||
(pa.projektarbeit_id::text) AS "projektarbeit_id",
|
||||
le.studiensemester_kurzbz,
|
||||
stg.studiengang_kz,
|
||||
upper(stg.typ || stg.kurzbz) AS "stg_typ_kurzbz",
|
||||
@@ -249,7 +249,7 @@ FROM
|
||||
\'Betreuung\' AS "typ",
|
||||
(betreuerart_kurzbz || \' \' ||
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
PUBLIC.tbl_person
|
||||
JOIN PUBLIC.tbl_benutzer USING (person_id)
|
||||
@@ -268,7 +268,7 @@ FROM
|
||||
ELSE (oe.organisationseinheittyp_kurzbz ||
|
||||
\' \' || oe.bezeichnung)
|
||||
END AS "lv_oe_kurzbz",
|
||||
(nachname || \' \' || vorname) AS "lektor",
|
||||
(vorname || \' \' || nachname) AS "lektor",
|
||||
TRUNC(pb.stunden, 1) AS "stunden",
|
||||
TRUNC((pb.stunden * pb.stundensatz), 2) AS "betrag",
|
||||
vertrag_id,
|
||||
|
||||
@@ -14,7 +14,7 @@ $query = '
|
||||
datum AS "storniert",
|
||||
(
|
||||
SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
|
||||
@@ -65,7 +65,7 @@ SELECT
|
||||
erteilt,
|
||||
akzeptiert,
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -81,7 +81,7 @@ SELECT
|
||||
)
|
||||
) AS "bestellt_von",
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -97,7 +97,7 @@ SELECT
|
||||
)
|
||||
) AS "erteilt_von",
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -281,7 +281,7 @@ FROM
|
||||
\'Betreuung\' AS "typ",
|
||||
(betreuerart_kurzbz || \' \' ||
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
PUBLIC.tbl_person
|
||||
JOIN PUBLIC.tbl_benutzer USING (person_id)
|
||||
|
||||
@@ -48,6 +48,8 @@
|
||||
name="period" value="today"><?php echo $this->p->t('ui','heute'); ?></button>
|
||||
<button type="submit" class="btn btn-default <?php echo $period == 'lastWeek' ? 'active' : ''?>"
|
||||
name="period" value="lastWeek"><?php echo $this->p->t('ui','letzteWoche'); ?></button>
|
||||
<button type="submit" class="btn btn-default <?php echo $period == 'upcoming' ? 'active' : ''?>"
|
||||
name="period" value="upcoming"><?php echo $this->p->t('ui','zukuenftige'); ?></button>
|
||||
<button type="submit" class="btn btn-default <?php echo $period == 'all' ? 'active' : ''?>"
|
||||
name="period" value="all"><?php echo $this->p->t('ui','alle'); ?></button>
|
||||
</div>
|
||||
|
||||
@@ -19,9 +19,10 @@ FROM
|
||||
WHERE
|
||||
vorsitz='".$UID."'
|
||||
AND (
|
||||
'". $PERIOD. "' = 'today' AND datum = NOW()::date OR
|
||||
'". $PERIOD. "' = 'lastWeek' AND datum = (NOW() - interval '1 week')::date OR
|
||||
'". $PERIOD. "' = 'all' AND datum >= '2020-05-27'
|
||||
('". $PERIOD. "' = 'today' AND datum = NOW()::date) OR
|
||||
('". $PERIOD. "' = 'lastWeek' AND datum >= (NOW() - interval '1 week')::date AND datum < NOW()::date) OR
|
||||
('". $PERIOD. "' = 'upcoming' AND datum > NOW()::date) OR
|
||||
('". $PERIOD. "' = 'all' AND datum >= '2020-05-27')
|
||||
)
|
||||
ORDER BY datum, nachname, vorname
|
||||
";
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
<div class="modal fade absageModalForAll"
|
||||
tabindex="-1"
|
||||
role="dialog"
|
||||
aria-labelledby="absageModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button"
|
||||
class="close"
|
||||
data-dismiss="modal"
|
||||
aria-hidden="true">
|
||||
×
|
||||
</button>
|
||||
<h4 class="modal-title"
|
||||
id="absageModalLabel"><?php echo $this->p->t('infocenter', 'absageBestaetigen') ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $this->p->t('infocenter', 'absageBestaetigenTxt') ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="modal">
|
||||
<?php echo $this->p->t('ui', 'abbrechen') ?>
|
||||
</button>
|
||||
<button class="btn btn-primary saveAbsage" id="saveAbsageForAll">
|
||||
<?php echo $this->p->t('infocenter', 'interessentAbweisen') ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
@@ -13,6 +13,7 @@
|
||||
'ajaxlib' => true,
|
||||
'filterwidget' => true,
|
||||
'navigationwidget' => true,
|
||||
'dialoglib' => true,
|
||||
'phrases' => array(
|
||||
'person' => array('vorname', 'nachname'),
|
||||
'global' => array('mailAnXversandt'),
|
||||
@@ -40,6 +41,7 @@
|
||||
</div>
|
||||
<div>
|
||||
<?php $this->load->view('system/infocenter/infocenterData.php'); ?>
|
||||
<?php $this->load->view('system/infocenter/absageModal.php'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
'ajaxlib' => true,
|
||||
'filterwidget' => true,
|
||||
'navigationwidget' => true,
|
||||
'dialoglib' => true,
|
||||
'phrases' => array(
|
||||
'person' => array('vorname', 'nachname'),
|
||||
'global' => array('mailAnXversandt'),
|
||||
@@ -40,6 +41,7 @@
|
||||
</div>
|
||||
<div>
|
||||
<?php $this->load->view('system/infocenter/infocenterFreigegebenData.php'); ?>
|
||||
<?php $this->load->view('system/infocenter/absageModal.php'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -115,6 +115,12 @@
|
||||
sg.studiengang_kz in('.$ADDITIONAL_STG.')
|
||||
)
|
||||
AND pss.studiensemester_kurzbz = '.$STUDIENSEMESTER.'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM tbl_prestudentstatus spss
|
||||
WHERE spss.prestudent_id = ps.prestudent_id
|
||||
AND spss.status_kurzbz = '.$REJECTED_STATUS.'
|
||||
)
|
||||
LIMIT 1
|
||||
) AS "StgAbgeschickt",
|
||||
(
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
'ajaxlib' => true,
|
||||
'filterwidget' => true,
|
||||
'navigationwidget' => true,
|
||||
'dialoglib' => true,
|
||||
'phrases' => array(
|
||||
'person' => array('vorname', 'nachname'),
|
||||
'global' => array('mailAnXversandt'),
|
||||
@@ -40,6 +41,7 @@
|
||||
</div>
|
||||
<div>
|
||||
<?php $this->load->view('system/infocenter/infocenterReihungstestAbsolviertData.php'); ?>
|
||||
<?php $this->load->view('system/infocenter/absageModal.php'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -84,10 +84,11 @@
|
||||
LIMIT 1
|
||||
) AS "AnzahlAbgeschickt",
|
||||
(
|
||||
SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT UPPER(sg.typ || sg.kurzbz || \':\' || sg.orgform_kurzbz)), \', \')
|
||||
SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT UPPER(sg.typ || sg.kurzbz || \':\' || sp.orgform_kurzbz)), \', \')
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang sg USING(studiengang_kz)
|
||||
JOIN lehre.tbl_studienplan sp USING(studienplan_id)
|
||||
WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.'
|
||||
AND pss.bewerbung_abgeschicktamum IS NOT NULL
|
||||
AND ps.person_id = p.person_id
|
||||
|
||||
@@ -355,7 +355,7 @@
|
||||
|
||||
<?php
|
||||
//Prestudenten cannot be abgewiesen or freigegeben if already done
|
||||
if (!$infoonly) :
|
||||
if (!$infoonly || (isset($zgvpruefung->prestudentstatus->status_kurzbz) && in_array($zgvpruefung->prestudentstatus->status_kurzbz, ['Bewerber', 'Wartender']))) :
|
||||
?>
|
||||
<div class="panel-footer solidtop">
|
||||
<div class="row">
|
||||
@@ -379,70 +379,36 @@
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="modal fade absageModal" id="absageModal_<?php echo $zgvpruefung->prestudent_id ?>"
|
||||
tabindex="-1"
|
||||
role="dialog"
|
||||
aria-labelledby="absageModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button"
|
||||
class="close"
|
||||
data-dismiss="modal"
|
||||
aria-hidden="true">
|
||||
×
|
||||
</button>
|
||||
<h4 class="modal-title"
|
||||
id="absageModalLabel"><?php echo $this->p->t('infocenter', 'absageBestaetigen') ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $this->p->t('infocenter', 'absageBestaetigenTxt') ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="modal">
|
||||
<?php echo $this->p->t('ui', 'abbrechen') ?>
|
||||
</button>
|
||||
<button class="btn btn-primary saveAbsage" id="saveAbsage_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('infocenter', 'interessentAbweisen') ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.column-absage -->
|
||||
<?php
|
||||
$disabled = $disabledStg = $disabledTxt = $disabledStgTxt = '';
|
||||
if (isEmptyString($zgvpruefung->prestudentstatus->bewerbung_abgeschicktamum))
|
||||
{
|
||||
$disabled = $disabledStg = 'disabled';
|
||||
$disabledTxt = $disabledStgTxt = $this->p->t('infocenter', 'bewerbungMussAbgeschickt');
|
||||
}
|
||||
<?php
|
||||
$disabled = $disabledStg = $disabledTxt = $disabledStgTxt = '';
|
||||
if (isEmptyString($zgvpruefung->prestudentstatus->bewerbung_abgeschicktamum))
|
||||
{
|
||||
$disabled = $disabledStg = 'disabled';
|
||||
$disabledTxt = $disabledStgTxt = $this->p->t('infocenter', 'bewerbungMussAbgeschickt');
|
||||
}
|
||||
|
||||
if ($studiengangtyp !== 'b' && $studiengangtyp !== 'm')
|
||||
{
|
||||
$disabled = 'disabled';
|
||||
$disabledTxt = $this->p->t('infocenter', 'nurBachelorMasterFreigeben');
|
||||
if ($studiengangtyp !== 'b' && $studiengangtyp !== 'm')
|
||||
{
|
||||
$disabled = 'disabled';
|
||||
$disabledTxt = $this->p->t('infocenter', 'nurBachelorMasterFreigeben');
|
||||
|
||||
// FIT-Lehrgänge: exceptions, can be freigegeben in Infocenter
|
||||
if (!in_array($studiengang_kz, $fit_programme_studiengaenge))
|
||||
{
|
||||
$disabledStg = 'disabled';
|
||||
$disabledStgTxt = $this->p->t('infocenter', 'nurBachelorMasterFreigeben');
|
||||
}
|
||||
// FIT-Lehrgänge: exceptions, can be freigegeben in Infocenter
|
||||
if (!in_array($studiengang_kz, $fit_programme_studiengaenge))
|
||||
{
|
||||
$disabledStg = 'disabled';
|
||||
$disabledStgTxt = $this->p->t('infocenter', 'nurBachelorMasterFreigeben');
|
||||
}
|
||||
?>
|
||||
}
|
||||
if (!$infoonly) :
|
||||
?>
|
||||
<div class="col-lg-8 text-right">
|
||||
<div class="form-inline">
|
||||
<div class="input-group frgstatusgrselect" id="frgstatusgrselect_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<select name="frgstatusgrund"
|
||||
class="d-inline float-right"
|
||||
<?php echo $disabledStg ?>
|
||||
<?php echo $disabledStg ?>
|
||||
required>
|
||||
<option value="null"
|
||||
selected="selected"><?php echo ucfirst($this->p->t('ui', 'freigabeart')) . '...' ?>
|
||||
@@ -452,11 +418,11 @@
|
||||
<?php endforeach ?>
|
||||
</select>
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default freigabebtnstg" <?php echo $disabledStg ?> id="freigabebtnstg_<?php echo $zgvpruefung->prestudent_id ?>"
|
||||
data-toggle="tooltip" title="<?php echo $disabledStgTxt ?>">
|
||||
<?php echo $this->p->t('ui', 'freigabeAnStudiengang') ?>
|
||||
</button>
|
||||
</span>
|
||||
<button class="btn btn-default freigabebtnstg" <?php echo $disabledStg ?> id="freigabebtnstg_<?php echo $zgvpruefung->prestudent_id ?>"
|
||||
data-toggle="tooltip" title="<?php echo $disabledStgTxt ?>">
|
||||
<?php echo $this->p->t('ui', 'freigabeAnStudiengang') ?>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="input-group" id="igrfrgbtn">
|
||||
<button type="button" id="freigabebtn_<?php echo $zgvpruefung->prestudent_id ?>" class="btn btn-default freigabebtn" <?php echo $disabled ?>
|
||||
@@ -503,6 +469,7 @@
|
||||
</div><!-- /.modal-content -->
|
||||
</div><!-- /.modal-dialog -->
|
||||
</div><!-- /.modal-fade -->
|
||||
<?php endif; ?>
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.panel-footer -->
|
||||
<?php elseif (isset($zgvpruefung->prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz === 'Interessent'): ?>
|
||||
@@ -519,9 +486,66 @@
|
||||
</label>
|
||||
</div>
|
||||
</div><!-- /.row -->
|
||||
<div class="row">
|
||||
<div class="col-lg-4 text-left">
|
||||
<div class="input-group" id="absgstatusgrselect_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<select name="absgstatusgrund"
|
||||
class="d-inline float-right"
|
||||
required>
|
||||
<option value="null"
|
||||
selected="selected"><?php echo ucfirst($this->p->t('infocenter', 'absagegrund')) . '...' ?>
|
||||
</option>
|
||||
<?php foreach ($abwstatusgruende as $statusgrund): ?>
|
||||
<option value="<?php echo $statusgrund->statusgrund_id ?>"><?php echo $statusgrund->bezeichnung_mehrsprachig[0] ?></option>
|
||||
<?php endforeach ?>
|
||||
</select>
|
||||
<span class="input-group-btn">
|
||||
<button type="button"
|
||||
class="btn btn-default absageBtn" id="absagebtn_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('ui', 'absagen') ?>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.panel-footer -->
|
||||
<?php endif; //end if infoonly
|
||||
?>
|
||||
|
||||
<?php endif; ?>
|
||||
<div class="modal fade absageModal" id="absageModal_<?php echo $zgvpruefung->prestudent_id ?>"
|
||||
tabindex="-1"
|
||||
role="dialog"
|
||||
aria-labelledby="absageModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button"
|
||||
class="close"
|
||||
data-dismiss="modal"
|
||||
aria-hidden="true">
|
||||
×
|
||||
</button>
|
||||
<h4 class="modal-title"
|
||||
id="absageModalLabel"><?php echo $this->p->t('infocenter', 'absageBestaetigen') ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $this->p->t('infocenter', 'absageBestaetigenTxt') ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="modal">
|
||||
<?php echo $this->p->t('ui', 'abbrechen') ?>
|
||||
</button>
|
||||
<button class="btn btn-primary saveAbsage" id="saveAbsage_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('infocenter', 'interessentAbweisen') ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
</div><!-- /.div collapse -->
|
||||
</div><!-- /.panel -->
|
||||
<?php
|
||||
|
||||
Reference in New Issue
Block a user