Infocenter details changes: popup for ZGV info, show Bewerbungsfriste(n), optimized mobile responsiveness, set dokumente to "akzeptiert" when freigegeben

This commit is contained in:
alex
2018-05-08 14:13:47 +02:00
parent 81473929a3
commit aa278e89f0
7 changed files with 210 additions and 19 deletions
@@ -111,10 +111,11 @@ class InfoCenter extends VileSci_Controller
show_error('person id is not numeric!');
$personexists = $this->PersonModel->load($person_id);
if(isError($personexists))
show_error($personexists->retval);
if (empty($personexists->retval[0]))
if (empty($personexists->retval))
show_error('person does not exist!');
//mark person as locked for editing
@@ -211,6 +212,29 @@ class InfoCenter extends VileSci_Controller
->set_output(json_encode($jsonoutput));
}
/**
* Gets Zugangsvoraussetzungen for a prestudents as a description text
* @param $prestudent_id
*/
public function getZgvInfoForPrestudent($prestudent_id)
{
$studienordnung = $this->PrestudentstatusModel->getStudienordnungWithZgvText($prestudent_id);
$prestudentdata = $this->_getPersonAndStudiengangFromPrestudent($prestudent_id);
$studiengangbezeichnung = $prestudentdata['studiengang_bezeichnung'];
$data = array('studiengang_bezeichnung' => $studiengangbezeichnung, 'data' => null);
if (hasData($studienordnung))
{
$data['data'] = $studienordnung->retval[0]->data;
}
$this->load->view('system/infocenter/studiengangZgvInfo.php',
$data
);
}
/**
* Saves a zgv for a prestudent. includes Ort, Datum, Nation for bachelor and master.
* @param $prestudent_id
@@ -279,7 +303,7 @@ class InfoCenter extends VileSci_Controller
}
//check if still Interessent and not freigegeben yet
if ($lastStatus->retval[0]->status_kurzbz === 'Interessent' && !isset($lastStatus->retval[0]->bestaetigtam))
if (count($lastStatus->retval) > 0 && $lastStatus->retval[0]->status_kurzbz === 'Interessent' && !isset($lastStatus->retval[0]->bestaetigtam))
{
$result = $this->PrestudentstatusModel->insert(
array(
@@ -327,6 +351,11 @@ class InfoCenter extends VileSci_Controller
{
$lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent_id);
if (isError($lastStatus))
{
show_error($lastStatus->retval);
}
if (count($lastStatus->retval) > 0)
{
$lastStatus = $lastStatus->retval[0];
@@ -354,10 +383,34 @@ class InfoCenter extends VileSci_Controller
show_error($result->retval);
}
$this->_sendFreigabeMail($prestudent_id);
$this->load->model('crm/dokumentprestudent_model', 'DokumentprestudentModel');
$logdata = $this->_getPersonAndStudiengangFromPrestudent($prestudent_id);
//set documents which have been formal geprüft to accepted
$result = $this->AkteModel->loadWhere(array('person_id' => $logdata['person_id'], 'formal_geprueft_amum !=' => NULL));
if (isError($result))
{
show_error($result->retval);
}
$dokument_kurzbzs = array();
foreach ($result->retval as $akte)
{
$dokument_kurzbzs[] = $akte->dokument_kurzbz;
}
$result = $this->DokumentprestudentModel->setAcceptedDocuments($prestudent_id, $dokument_kurzbzs);
if (isError($result))
{
show_error($result->retval);
}
$this->_sendFreigabeMail($prestudent_id);
$this->_log($logdata['person_id'], 'freigegeben', array($prestudent_id, $logdata['studiengang_kurzbz']));
}
}
@@ -821,8 +874,9 @@ class InfoCenter extends VileSci_Controller
$person_id = $prestudent->retval[0]->person_id;
$studiengang_kurzbz = $prestudent->retval[0]->studiengang;
$studiengang_bezeichnung = $prestudent->retval[0]->studiengangbezeichnung;
return array('person_id' => $person_id, 'studiengang_kurzbz' => $studiengang_kurzbz);
return array('person_id' => $person_id, 'studiengang_kurzbz' => $studiengang_kurzbz, 'studiengang_bezeichnung' => $studiengang_bezeichnung);
}
/**
@@ -229,10 +229,34 @@ class Prestudent_model extends DB_Model
{
$this->load->model('system/sprache_model', 'SpracheModel');
$language = $this->SpracheModel->load($lastStatus->retval[0]->sprache);
if ($language->error)
return error($language->retval);
if (count($language->retval) > 0)
$lastStatus->retval[0]->sprachedetails = $language->retval[0];
//get Bewerbungsfrist
$this->load->model('crm/bewerbungstermine_model', 'BewerbungstermineModel');
$this->BewerbungstermineModel->addSelect('ende, nachfrist_ende');
$this->BewerbungstermineModel->addOrder('ende', 'DESC');
$this->BewerbungstermineModel->addLimit(1);
$bewerbungstermin = $this->BewerbungstermineModel->loadWhere(
array(
'studienplan_id' => $lastStatus->retval[0]->studienplan_id,
'studiensemester_kurzbz' => $lastStatus->retval[0]->studiensemester_kurzbz,
'studiengang_kz' => $prestudent->retval[0]->studiengang_kz
)
);
if ($bewerbungstermin->error)
return error($bewerbungstermin->retval);
if (count($bewerbungstermin->retval) > 0)
{
$lastStatus->retval[0]->bewerbungstermin = $bewerbungstermin->retval[0]->ende;
$lastStatus->retval[0]->bewerbungsnachfrist = $bewerbungstermin->retval[0]->nachfrist_ende;
}
$prestudent->retval[0]->prestudentstatus = $lastStatus->retval[0];
}
@@ -119,4 +119,40 @@ class Prestudentstatus_model extends DB_Model
return $this->execQuery($query, $parametersArray);
}
/**
* Gets Studienordnung for last status of Prestudent
* @param $prestudent_id
* @return array
*/
public function getStudienordnungWithZgvText($prestudent_id)
{
$lastStatus = $this->getLastStatus($prestudent_id);
if ($lastStatus->error)
{
return error($lastStatus->retval);
}
if (count($lastStatus->retval) > 0)
{
$lastStatus = $lastStatus->retval[0];
$this->addJoin('lehre.tbl_studienplan', 'studienplan_id');
$this->addJoin('lehre.tbl_studienordnung', 'studienordnung_id');
$this->addJoin('addon.tbl_stgv_zugangsvoraussetzung', 'studienordnung_id');
return $this->loadWhere(
array(
'public.tbl_prestudentstatus.prestudent_id' => $lastStatus->prestudent_id,
'public.tbl_prestudentstatus.status_kurzbz' => $lastStatus->status_kurzbz,
'public.tbl_prestudentstatus.studiensemester_kurzbz' => $lastStatus->studiensemester_kurzbz,
'public.tbl_prestudentstatus.ausbildungssemester' => $lastStatus->ausbildungssemester
)
);
}
else
{
return sucess(array());
}
}
}
@@ -91,7 +91,7 @@
</tbody>
</table>
<div class="row">
<div class="col-lg-6">
<div class="col-xs-6">
<form id="sendmsgform" method="post" action="<?php echo $messagelink ?>"
target="_blank">
<input type="hidden" name="person_id"
@@ -101,7 +101,7 @@
</form>
</div>
<?php if (isset($stammdaten->zugangscode)): ?>
<div class="col-lg-6 text-right">
<div class="col-xs-6 text-right">
<a href="<?php echo CIS_ROOT.'addons/bewerbung/cis/registration.php?code='.html_escape($stammdaten->zugangscode) ?>"
target='_blank'><i class="glyphicon glyphicon-new-window"></i>&nbsp;Zugang Bewerbung</a>
</div>
@@ -0,0 +1,37 @@
<?php
$this->load->view(
'templates/FHC-Header',
array(
'title' => 'ZGV Info',
'jquery' => true,
'bootstrap' => true,
'fontawesome' => true,
'sbadmintemplate' => true,
'customCSSs' => 'public/css/sbadmin2/admintemplate_contentonly.css'
)
);
?>
<body>
<div id="wrapper">
<div id="page-wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">Zugangsvoraussetzungen <?php echo $studiengang_bezeichnung; ?></h3>
</div>
</div>
<div id="data">
<?php if (empty($data)): ?>
Keine Zugangsvoraussetzungen für den Studiengang definiert
<?php
else:
echo json_decode($data);
endif;
?>
</div>
</div>
</div>
</div>
</body>
<?php $this->load->view('templates/FHC-Footer'); ?>
@@ -9,18 +9,29 @@
<div class="panel panel-default">
<div class="panel-heading">
<div class="row">
<div class="col-lg-8">
<div class="col-xs-7">
<h4 class="panel-title">
<a data-toggle="collapse"
href="#collapse<?php echo $zgvpruefung->prestudent_id ?>"><?php echo $zgvpruefung->studiengang.' - '.$zgvpruefung->studiengangbezeichnung.' | '.(isset($zgvpruefung->prestudentstatus->status_kurzbz) ? $zgvpruefung->prestudentstatus->status_kurzbz : '');
?></a>
</h4>
</div>
<?php if (isset($zgvpruefung->prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz === 'Interessent' && !$infoonly): ?>
<div class="col-lg-4 text-right">
<?php if (isset($zgvpruefung->prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz === 'Interessent'/* && !$infoonly*/): ?>
<?php if ($infoonly): ?>
<?php if (isset($zgvpruefung->prestudentstatus->bestaetigtam)): ?>
<div class="col-xs-5 text-right">
<i class="fa fa-check" style="color: green"></i>
An Studiengang freigegeben
</div>
<?php endif; ?>
<?php else: ?>
<div class="col-xs-5 text-right">
<?php echo 'Bewerbung abgeschickt: '.(isset($zgvpruefung->prestudentstatus->bewerbung_abgeschicktamum) ? '<i class="fa fa-check" style="color:green"></i>' : '<i class="fa fa-times" style="color:red"></i>'); ?>
<?php echo (isset($zgvpruefung->prestudentstatus->bewerbungsnachfrist) ? ' | Nachfrist: '. date_format(date_create($zgvpruefung->prestudentstatus->bewerbungsnachfrist), 'd.m.Y') : ''); ?>
<?php echo (isset($zgvpruefung->prestudentstatus->bewerbungstermin) ? ' | Bewerbungsfrist: '. date_format(date_create($zgvpruefung->prestudentstatus->bewerbungstermin), 'd.m.Y') : ''); ?>
</div>
<?php endif ?>
<?php endif; ?>
<?php endif; ?>
</div>
</div>
<div id="collapse<?php echo $zgvpruefung->prestudent_id ?>"
@@ -70,10 +81,24 @@
<div class="row">
<div class="col-lg-<?php echo $columns[0] ?>">
<div class="form-group">
<label>ZGV: </label>
<?php if ($infoonly)
echo $zgvpruefung->zgv_bez;
else
<div class="row">
<?php if ($infoonly): ?>
<div class="col-xs-8">
<label>ZGV:</label>
<?php echo $zgvpruefung->zgv_bez; ?>
</div>
<?php else: ?>
<div class="col-xs-3">
<label>ZGV:</label>
</div>
<?php endif;
$zgvinfocolumns = $infoonly ? 4 : 9;
?>
<div class="col-xs-<?php echo $zgvinfocolumns; ?> text-right zgvinfo" id="zgvinfo_<?php echo $zgvpruefung->prestudent_id ?>">
<a href="javascript:void(0)"><i class="fa fa-info-circle"></i> ZGV <?php echo $zgvpruefung->studiengang; ?></a>
</div>
</div>
<?php if (!$infoonly)
echo $this->widgetlib->widget(
'Zgv_widget',
array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgv_code),
@@ -188,12 +213,12 @@
<?php endif; ?>
<?php if (!$infoonly): ?>
<div class="row">
<div class="col-lg-6 text-left">
<div class="col-xs-6 text-left">
<button type="button" class="btn btn-default zgvUebernehmen" id="zgvUebernehmen_<?php echo $zgvpruefung->prestudent_id ?>">
Letzte ZGV &uuml;bernehmen
</button>
</div>
<div class="col-lg-6 text-right">
<div class="col-xs-6 text-right">
<button type="submit" class="btn btn-default saveZgv" id="zgvSpeichern_<?php echo $zgvpruefung->prestudent_id ?>">
Speichern
</button>
@@ -331,8 +356,7 @@
Interessentenstatus bestätigt und<br/>deren
Zgvdaten
können im
Infocenter nicht mehr bearbeitet oder
freigegeben
Infocenter nicht mehr bearbeitet
werden.
<br/>Alle nicht gespeicherten Zgvdaten gehen
verloren.
+17 -1
View File
@@ -79,6 +79,14 @@ $(document).ready(
}
);
//show popup with zgvinfo
$(".zgvinfo").click(function ()
{
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
openZgvInfoForPrestudent(prestudentid);
}
);
//prevent opening modal when Statusgrund not chosen
$(".absageModal").on('show.bs.modal', function (e)
{
@@ -119,7 +127,6 @@ $(document).ready(
}
);
//update notiz - autofill notizform
$(document).on("click", "#notiztable tbody tr", function ()
{
@@ -145,6 +152,15 @@ $(document).ready(
});
function openZgvInfoForPrestudent(prestudent_id)
{
var screenwidth = screen.width;
var popupwidth = 760;
var marginleft = screenwidth - popupwidth;
console.log(marginleft);
window.open("../getZgvInfoForPrestudent/" + prestudent_id, "_blank","resizable=yes,scrollbars=yes,width="+popupwidth+",height="+screen.height+",left="+marginleft);
}
// -----------------------------------------------------------------------------------------------------------------
// ajax calls