mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
- added UDF prestudent dropdown to infocenterDetails
- crm/Prestudent_model: improved code, e.g. replaced ->retval
This commit is contained in:
@@ -1271,7 +1271,7 @@ class InfoCenter extends Auth_Controller
|
||||
show_error(getError($prestudentWithZgv));
|
||||
}
|
||||
|
||||
$zgvpruefung = $prestudentWithZgv->retval[0];
|
||||
$zgvpruefung = getData($prestudentWithZgv);
|
||||
|
||||
if (isset($zgvpruefung->prestudentstatus))
|
||||
{
|
||||
@@ -1296,11 +1296,15 @@ class InfoCenter extends Auth_Controller
|
||||
$zgvpruefung->isRtFreigegeben = false;
|
||||
$zgvpruefung->isStgFreigegeben = false;
|
||||
$zgvpruefung->sendStgFreigabeMsg = true;//wether Stgudiengangfreigabemessage can be sent (for "exceptions", Studiengänge with no message sending)
|
||||
$this->PrestudentstatusModel->addSelect('bestaetigtam, statusgrund_id, tbl_status_grund.bezeichnung_mehrsprachig AS bezeichnung_statusgrund');
|
||||
$this->PrestudentstatusModel->addJoin('public.tbl_status_grund', 'statusgrund_id', 'LEFT');
|
||||
$isFreigegeben = $this->PrestudentstatusModel->loadWhere(array('studiensemester_kurzbz' => $zgvpruefung->prestudentstatus->studiensemester_kurzbz,
|
||||
'tbl_prestudentstatus.status_kurzbz' => self::INTERESSENTSTATUS, 'prestudent_id' => $prestudent->prestudent_id));
|
||||
|
||||
$isFreigegeben = null;
|
||||
if (isset($zgvpruefung->prestudentstatus->studiensemester_kurzbz))
|
||||
{
|
||||
$this->PrestudentstatusModel->addSelect('bestaetigtam, statusgrund_id, tbl_status_grund.bezeichnung_mehrsprachig AS bezeichnung_statusgrund');
|
||||
$this->PrestudentstatusModel->addJoin('public.tbl_status_grund', 'statusgrund_id', 'LEFT');
|
||||
$isFreigegeben = $this->PrestudentstatusModel->loadWhere(array('studiensemester_kurzbz' => $zgvpruefung->prestudentstatus->studiensemester_kurzbz,
|
||||
'tbl_prestudentstatus.status_kurzbz' => self::INTERESSENTSTATUS, 'prestudent_id' => $prestudent->prestudent_id));
|
||||
}
|
||||
|
||||
if (hasData($isFreigegeben))
|
||||
{
|
||||
@@ -1457,9 +1461,10 @@ class InfoCenter extends Auth_Controller
|
||||
show_error(getError($prestudent));
|
||||
}
|
||||
|
||||
$person_id = $prestudent->retval[0]->person_id;
|
||||
$studiengang_kurzbz = $prestudent->retval[0]->studiengang;
|
||||
$studiengang_bezeichnung = $prestudent->retval[0]->studiengangbezeichnung;
|
||||
$prestudentdata = getData($prestudent);
|
||||
$person_id = $prestudentdata->person_id;
|
||||
$studiengang_kurzbz = $prestudentdata->studiengang;
|
||||
$studiengang_bezeichnung = $prestudentdata->studiengangbezeichnung;
|
||||
|
||||
return array('person_id' => $person_id, 'studiengang_kurzbz' => $studiengang_kurzbz, 'studiengang_bezeichnung' => $studiengang_bezeichnung);
|
||||
}
|
||||
@@ -1502,7 +1507,8 @@ class InfoCenter extends Auth_Controller
|
||||
private function _sendFreigabeMail($prestudent_id)
|
||||
{
|
||||
//get data
|
||||
$prestudent = $this->PrestudentModel->getPrestudentWithZgv($prestudent_id)->retval[0];
|
||||
$prestudent = $this->PrestudentModel->getPrestudentWithZgv($prestudent_id);
|
||||
$prestudent = getData($prestudent);
|
||||
$prestudentstatus = $prestudent->prestudentstatus;
|
||||
$person_id = $prestudent->person_id;
|
||||
$person = $this->PersonModel->getPersonStammdaten($person_id, true)->retval;
|
||||
|
||||
@@ -209,6 +209,9 @@ class Prestudent_model extends DB_Model
|
||||
if (!hasData($prestudent))
|
||||
return error('prestudent could not be loaded');
|
||||
|
||||
$prestudentdata = getData($prestudent);
|
||||
$prestudentdata = $prestudentdata[0];
|
||||
|
||||
//Prestudentstatus
|
||||
$lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent_id);
|
||||
|
||||
@@ -217,32 +220,41 @@ class Prestudent_model extends DB_Model
|
||||
return $lastStatus;
|
||||
}
|
||||
|
||||
if (count($lastStatus->retval) > 0)
|
||||
if (hasData($lastStatus))
|
||||
{
|
||||
$lastStatusData = getData($lastStatus);
|
||||
$lastStatusData = $lastStatusData[0];
|
||||
//get Studiengangname from Studienplan and -ordnung
|
||||
$studienordnung = $this->PrestudentstatusModel->getStudienordnungFromPrestudent($prestudent_id);
|
||||
if ($studienordnung->error)
|
||||
return $studienordnung;
|
||||
|
||||
if (count($studienordnung->retval) > 0)
|
||||
if (hasData($studienordnung))
|
||||
{
|
||||
$lastStatus->retval[0]->studiengang_kz = $studienordnung->retval[0]->studiengang_kz;
|
||||
$lastStatus->retval[0]->studiengangkurzbzlang = $studienordnung->retval[0]->studiengangkurzbzlang;
|
||||
$lastStatus->retval[0]->studiengangbezeichnung = $studienordnung->retval[0]->studiengangbezeichnung;
|
||||
$lastStatus->retval[0]->studiengangbezeichnung_englisch = $studienordnung->retval[0]->studiengangbezeichnung_englisch;
|
||||
$lastStatus->retval[0]->regelstudiendauer = $studienordnung->retval[0]->regelstudiendauer;
|
||||
$studienordnungdata = getData($studienordnung);
|
||||
$studienordnungdata = $studienordnungdata[0];
|
||||
|
||||
$lastStatusData->studiengang_kz = $studienordnungdata->studiengang_kz;
|
||||
$lastStatusData->studiengangkurzbzlang = $studienordnungdata->studiengangkurzbzlang;
|
||||
$lastStatusData->studiengangbezeichnung = $studienordnungdata->studiengangbezeichnung;
|
||||
$lastStatusData->studiengangbezeichnung_englisch = $studienordnungdata->studiengangbezeichnung_englisch;
|
||||
$lastStatusData->regelstudiendauer = $studienordnungdata->regelstudiendauer;
|
||||
}
|
||||
|
||||
//get Sprache
|
||||
$this->load->model('system/sprache_model', 'SpracheModel');
|
||||
$this->SpracheModel->addSelect('sprache, locale, bezeichnung');
|
||||
$language = $this->SpracheModel->load($lastStatus->retval[0]->sprache);
|
||||
$language = $this->SpracheModel->load($lastStatusData->sprache);
|
||||
|
||||
if ($language->error)
|
||||
return $language;
|
||||
|
||||
if (count($language->retval) > 0)
|
||||
$lastStatus->retval[0]->sprachedetails = $language->retval[0];
|
||||
if (hasData($language))
|
||||
{
|
||||
$languagedata = getData($language);
|
||||
$languagedata = $languagedata[0];
|
||||
$lastStatusData->sprachedetails = $languagedata;
|
||||
}
|
||||
|
||||
//get Bewerbungsfrist
|
||||
$this->load->model('crm/bewerbungstermine_model', 'BewerbungstermineModel');
|
||||
@@ -251,24 +263,32 @@ class Prestudent_model extends DB_Model
|
||||
$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
|
||||
'studienplan_id' => $lastStatusData->studienplan_id,
|
||||
'studiensemester_kurzbz' => $lastStatusData->studiensemester_kurzbz,
|
||||
'studiengang_kz' => $prestudentdata->studiengang_kz
|
||||
)
|
||||
);
|
||||
if ($bewerbungstermin->error)
|
||||
return $bewerbungstermin;
|
||||
|
||||
if (count($bewerbungstermin->retval) > 0)
|
||||
if (hasData($bewerbungstermin))
|
||||
{
|
||||
$lastStatus->retval[0]->bewerbungstermin = $bewerbungstermin->retval[0]->ende;
|
||||
$lastStatus->retval[0]->bewerbungsnachfrist = $bewerbungstermin->retval[0]->nachfrist_ende;
|
||||
$bewerbungstermindata = getData($bewerbungstermin);
|
||||
$bewerbungstermindata = $bewerbungstermindata[0];
|
||||
$lastStatusData->bewerbungstermin = $bewerbungstermindata->ende;
|
||||
$lastStatusData->bewerbungsnachfrist = $bewerbungstermindata->nachfrist_ende;
|
||||
}
|
||||
|
||||
$prestudent->retval[0]->prestudentstatus = $lastStatus->retval[0];
|
||||
$prestudentdata->prestudentstatus = $lastStatusData;
|
||||
|
||||
|
||||
if ($this->hasUDF())
|
||||
{
|
||||
$prestudentdata->prestudentUdfs = $this->getUDFs($prestudent_id);
|
||||
}
|
||||
}
|
||||
|
||||
return success($prestudent->retval);
|
||||
return success($prestudentdata);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -14,7 +14,7 @@ class Studienjahr_model extends DB_Model
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets current Studienjahr, as determined by its start and enddate
|
||||
* Gets current Studienjahr, as determined by start and enddate of current semester
|
||||
* @return array|null
|
||||
*/
|
||||
public function getCurrStudienjahr()
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
'sbadmintemplate' => true,
|
||||
'addons' => true,
|
||||
'navigationwidget' => true,
|
||||
'udfs' => true,
|
||||
'customCSSs' => array(
|
||||
'public/css/sbadmin2/admintemplate.css',
|
||||
'public/css/sbadmin2/tablesort_bootstrap.css',
|
||||
|
||||
@@ -118,8 +118,7 @@
|
||||
<div id="collapse<?php echo $zgvpruefung->prestudent_id ?>"
|
||||
class="panel-collapse collapse<?php echo $infoonly ? '' : ' in' ?>">
|
||||
<div class="panel-body">
|
||||
<form method="post"
|
||||
action="#" class="zgvform">
|
||||
<form action="javascript:void(0);" class="zgvform" id="zgvform_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<input type="hidden" name="prestudentid" value="<?php echo $zgvpruefung->prestudent_id ?>" class="prestudentidinput">
|
||||
<div class="row">
|
||||
<div class="col-lg-<?php echo $columns[0] ?>">
|
||||
@@ -302,21 +301,38 @@
|
||||
</div>
|
||||
<!-- show only master zgv if master studiengang - end -->
|
||||
<?php endif; ?>
|
||||
<?php if (!$infoonly): ?>
|
||||
<div class="row">
|
||||
<div class="col-xs-6 text-left">
|
||||
<button type="button" class="btn btn-default zgvUebernehmen" id="zgvUebernehmen_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('infocenter', 'letzteZgvUebernehmen') ?>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-xs-6 text-right">
|
||||
<button type="submit" class="btn btn-default saveZgv" id="zgvSpeichern_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('ui', 'speichern') ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</form>
|
||||
<?php if (!$infoonly): ?>
|
||||
<div class="row">
|
||||
<div class="col-xs-6 text-left">
|
||||
<button type="button" class="btn btn-default zgvUebernehmen" id="zgvUebernehmen_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('infocenter', 'letzteZgvUebernehmen') ?>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-xs-6 text-right">
|
||||
<button type="submit" class="btn btn-default saveZgv" id="zgvSpeichern_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('ui', 'speichern') ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<br />
|
||||
<?php
|
||||
if (isset($zgvpruefung->prestudentUdfs))
|
||||
{
|
||||
echo $this->udflib->UDFWidget(
|
||||
array(
|
||||
UDFLib::UDF_UNIQUE_ID => 'infocenterPrestudentUDFs_'.$zgvpruefung->prestudent_id,
|
||||
UDFLib::REQUIRED_PERMISSIONS_PARAMETER => 'infocenter',
|
||||
UDFLib::SCHEMA_ARG_NAME => 'public',
|
||||
UDFLib::TABLE_ARG_NAME => 'tbl_prestudent',
|
||||
UDFLib::PRIMARY_KEY_NAME => 'prestudent_id',
|
||||
UDFLib::PRIMARY_KEY_VALUE => $zgvpruefung->prestudent_id,
|
||||
UDFLib::UDFS_ARG_NAME => $zgvpruefung->prestudentUdfs
|
||||
)
|
||||
);
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
|
||||
@@ -38,7 +38,7 @@ $(document).ready(function ()
|
||||
$(".prchbox").click(function ()
|
||||
{
|
||||
var boxid = this.id;
|
||||
var akteid = boxid.substr(boxid.indexOf("_") + 1);
|
||||
var akteid = InfocenterDetails._getPrestudentIdFromElementId(boxid);
|
||||
var checked = this.checked;
|
||||
InfocenterDetails.saveFormalGeprueft(personid, akteid, checked)
|
||||
});
|
||||
@@ -717,7 +717,7 @@ var InfocenterDetails = {
|
||||
//up/down prioritize Bewerbungen
|
||||
$(".prioup").click(function ()
|
||||
{
|
||||
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
|
||||
var prestudentid = InfocenterDetails._getPrestudentIdFromElementId(this.id);
|
||||
var data = {
|
||||
"prestudentid": prestudentid,
|
||||
"change": -1
|
||||
@@ -726,7 +726,7 @@ var InfocenterDetails = {
|
||||
});
|
||||
$(".priodown").click(function ()
|
||||
{
|
||||
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
|
||||
var prestudentid = InfocenterDetails._getPrestudentIdFromElementId(this.id);
|
||||
var data = {
|
||||
"prestudentid": prestudentid,
|
||||
"change": 1
|
||||
@@ -738,16 +738,16 @@ var InfocenterDetails = {
|
||||
$(".zgvUebernehmen").click(function ()
|
||||
{
|
||||
var btn = $(this);
|
||||
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
|
||||
var prestudentid = InfocenterDetails._getPrestudentIdFromElementId(this.id);
|
||||
$('#zgvUebernehmenNotice').remove();
|
||||
InfocenterDetails.zgvUebernehmen(personid, prestudentid, btn);
|
||||
});
|
||||
|
||||
//zgv speichern
|
||||
$(".zgvform").on('submit', function (e)
|
||||
$(".saveZgv").click(function ()
|
||||
{
|
||||
e.preventDefault();
|
||||
var formdata = $(this).serializeArray();
|
||||
var prestudentid = InfocenterDetails._getPrestudentIdFromElementId(this.id);
|
||||
var formdata = $("#zgvform_" + prestudentid).serializeArray();
|
||||
|
||||
var data = {};
|
||||
|
||||
@@ -763,14 +763,14 @@ var InfocenterDetails = {
|
||||
//show popup with zgvinfo
|
||||
$(".zgvinfo").click(function ()
|
||||
{
|
||||
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
|
||||
var prestudentid = InfocenterDetails._getPrestudentIdFromElementId(this.id);
|
||||
InfocenterDetails.openZgvInfoForPrestudent(prestudentid);
|
||||
}
|
||||
);
|
||||
|
||||
$(".freigabebtn").click(function()
|
||||
{
|
||||
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
|
||||
var prestudentid = InfocenterDetails._getPrestudentIdFromElementId(this.id);
|
||||
//true - Reihungstestfreigabe
|
||||
InfocenterDetails._toggleFreigabeDialog(prestudentid, true);
|
||||
}
|
||||
@@ -778,7 +778,7 @@ var InfocenterDetails = {
|
||||
|
||||
$(".freigabebtnstg").click(function()
|
||||
{
|
||||
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
|
||||
var prestudentid = InfocenterDetails._getPrestudentIdFromElementId(this.id);
|
||||
var statusgrel = $("#frgstatusgrselect_"+prestudentid+" select[name=frgstatusgrund]");
|
||||
var statusgrund_id = statusgrel.val();
|
||||
var statusgrund = statusgrel.find("option:selected").text();
|
||||
@@ -797,7 +797,7 @@ var InfocenterDetails = {
|
||||
|
||||
$(".absageBtn").click(function()
|
||||
{
|
||||
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
|
||||
var prestudentid = InfocenterDetails._getPrestudentIdFromElementId(this.id);
|
||||
var statusgrund = $("#absgstatusgrselect_" + prestudentid + " select[name=absgstatusgrund]").val();
|
||||
if (statusgrund === "null")
|
||||
$("#absgstatusgrselect_" + prestudentid).addClass("has-error");
|
||||
@@ -817,7 +817,7 @@ var InfocenterDetails = {
|
||||
$(".saveAbsage").click(function()
|
||||
{
|
||||
$(".absageModal").modal("hide");
|
||||
var prestudent_id = this.id.substr(this.id.indexOf("_") + 1);
|
||||
var prestudent_id = InfocenterDetails._getPrestudentIdFromElementId(this.id);
|
||||
var statusgrund_id = $("#absgstatusgrselect_" + prestudent_id + " select[name=absgstatusgrund]").val();
|
||||
var data = {"prestudent_id": prestudent_id , "statusgrund": statusgrund_id};
|
||||
InfocenterDetails.saveAbsage(data);
|
||||
@@ -827,7 +827,7 @@ var InfocenterDetails = {
|
||||
$(".saveFreigabe").click(function()
|
||||
{
|
||||
$(".freigabeModal").modal("hide");
|
||||
var prestudent_id = this.id.substr(this.id.indexOf("_") + 1);
|
||||
var prestudent_id = InfocenterDetails._getPrestudentIdFromElementId(this.id);
|
||||
var data = {"prestudent_id": prestudent_id, "statusgrund_id": null};
|
||||
InfocenterDetails.saveFreigabe(data);//Reihungstestfreigabe
|
||||
}
|
||||
@@ -836,14 +836,14 @@ var InfocenterDetails = {
|
||||
$(".saveStgFreigabe").click(function()
|
||||
{
|
||||
$(".freigabeModal").modal("hide");
|
||||
var prestudent_id = this.id.substr(this.id.indexOf("_") + 1);
|
||||
var prestudent_id = InfocenterDetails._getPrestudentIdFromElementId(this.id);
|
||||
var statusgrundel = $("#frgstatusgrselect_" + prestudent_id + " select[name=frgstatusgrund]");
|
||||
var statusgrund_id = statusgrundel.val();
|
||||
var statusgrundbezeichnung = statusgrundel.find("option[value="+statusgrund_id+"]").text();
|
||||
var data = {"prestudent_id": prestudent_id, "statusgrund_id": statusgrund_id, "statusgrundbezeichnung": statusgrundbezeichnung};
|
||||
InfocenterDetails.saveFreigabe(data);//Studiengangfreigabe
|
||||
}
|
||||
)
|
||||
);
|
||||
},
|
||||
_refreshZgv: function(preserveCollapseState)
|
||||
{
|
||||
@@ -867,6 +867,8 @@ var InfocenterDetails = {
|
||||
CONTROLLER_URL + '/reloadZgvPruefungen/' + personid + '?fhc_controller_id=' + FHC_AjaxClient.getUrlParameter('fhc_controller_id'),
|
||||
function()
|
||||
{
|
||||
// call to UDFWidget again to add events and other JS functionality (before _addZgvPruefungEvents because it adds bootstrap format)
|
||||
FHC_UDFWidget.display();
|
||||
InfocenterDetails._addZgvPruefungEvents(personid);
|
||||
if (preserveCollapseState)
|
||||
{
|
||||
@@ -1058,5 +1060,9 @@ var InfocenterDetails = {
|
||||
},
|
||||
_genericSaveError: function() {
|
||||
FHC_DialogLib.alertError("error when saving!");
|
||||
},
|
||||
_getPrestudentIdFromElementId(elementid)
|
||||
{
|
||||
return elementid.substr(elementid.indexOf("_") + 1);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user