Merge branch 'feature-12010/filter_for_bachelor_master' into feature-11001/zgv_ueberpruefung

This commit is contained in:
ma0048
2021-04-29 10:55:35 +02:00
9 changed files with 126 additions and 29 deletions
+5
View File
@@ -0,0 +1,5 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
$config['infocenter_studiengang_kz'] = '10021, 10027, 10002';
+14 -2
View File
@@ -20,7 +20,8 @@ class Variables extends Auth_Controller
array(
'setVar' => 'basis/variable:rw',
'getVar' => 'basis/variable:rw',
'changeStudiensemesterVar' => 'basis/variable:rw'
'changeStudiensemesterVar' => 'basis/variable:rw',
'changeStudengangsTypVar' => 'basis/variable:rw'
)
);
@@ -50,7 +51,9 @@ class Variables extends Auth_Controller
public function getVar()
{
$name = $this->input->get('name');
$this->outputJson($this->VariableModel->getVariables($this->_uid, array($name)));
$typ = $this->input->get('typ');
$this->outputJson($this->VariableModel->getVariables($this->_uid, array($name, $typ)));
}
/**
@@ -66,6 +69,15 @@ class Variables extends Auth_Controller
$this->outputJson($result);
}
public function changeStudengangsTypVar()
{
$name = $this->input->post('name');
$change = $this->input->post('change');
$result = $this->variablelib->changeStudengangsTypVar($this->_uid, $name, $change);
$this->outputJson($result);
}
/**
* Retrieve the UID of the logged user and checks if it is valid
*/
+12
View File
@@ -100,6 +100,18 @@ class VariableLib
return $result;
}
public function changeStudengangsTypVar($uid, $name, $change)
{
$result = error('error when setting variable!');
if (isEmptyString($uid) || isEmptyString($name) || isEmptyString($change))
return $result;
$result = $this->_ci->VariableModel->setVariable($uid, $name, $change);
$this->_setVariable($uid, $name);
return $result;
}
/**
* "Refreshes" variable value with given name by retrieving current value from db and saving it.
* @param $uid
@@ -11,7 +11,8 @@ class Variablenname_model extends DB_Model
ORDER BY studienjahr_kurzbz, start
) sem
WHERE start > now()
LIMIT 1;'
LIMIT 1;',
'infocenter_studiensgangtyp' => 'SELECT infocenter_studiensgangtyp FROM public.tbl_variablename LIMIT 1'
);
/**
@@ -1,16 +1,17 @@
<?php
$this->config->load('infocenter');
$APP = '\'infocenter\'';
$REJECTED_STATUS = '\'Abgewiesener\'';
$INTERESSENT_STATUS = '\'Interessent\'';
$STUDIENGANG_TYP = '\'b\'';
$STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\'';
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'New application\', \'Interessent rejected\'';
$LOGDATA_NAME_PARKED = '\'Parked\'';
$LOGDATA_NAME_ONHOLD = '\'Onhold\'';
$LOGTYPE_KURZBZ = '\'Processstate\'';
$STATUS_KURZBZ = '\'Wartender\', \'Bewerber\', \'Aufgenommener\', \'Student\'';
$ADDITIONAL_STG = '10021,10027';
$ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
$AKTE_TYP = '\'identity\', \'zgv_bakk\'';
$STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
@@ -142,10 +143,7 @@
AND pss.bewerbung_abgeschicktamum IS NOT NULL
-- AND pss.bestaetigtam IS NULL
AND ps.person_id = p.person_id
AND (sg.typ IN ('.$STUDIENGANG_TYP.')
OR
sg.studiengang_kz in('.$ADDITIONAL_STG.')
)
AND pss.studiensemester_kurzbz = '.$STUDIENSEMESTER.'
AND NOT EXISTS (
SELECT 1
@@ -1,12 +1,13 @@
<?php
$this->config->load('infocenter');
$APP = '\'infocenter\'';
$INTERESSENT_STATUS = '\'Interessent\'';
$STUDIENGANG_TYP = '\'b\'';
$STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\'';
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'New application\'';
$REJECTED_STATUS = '\'Abgewiesener\'';
$ADDITIONAL_STG = '10021,10027,10002';
$ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
$STATUS_KURZBZ = '\'Wartender\', \'Bewerber\', \'Aufgenommener\', \'Student\'';
$STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
@@ -109,10 +110,6 @@
WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.'
AND pss.bewerbung_abgeschicktamum IS NOT NULL
AND ps.person_id = p.person_id
AND (sg.typ IN ('.$STUDIENGANG_TYP.')
OR
sg.studiengang_kz in('.$ADDITIONAL_STG.')
)
AND pss.studiensemester_kurzbz = '.$STUDIENSEMESTER.'
LIMIT 1
) AS "StgAbgeschickt",
@@ -1,11 +1,12 @@
<?php
$this->config->load('infocenter');
$APP = '\'infocenter\'';
$INTERESSENT_STATUS = '\'Interessent\'';
$STUDIENGANG_TYP = '\'b\'';
$STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\'';
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'New application\'';
$ADDITIONAL_STG = '10021,10027';
$ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
$STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
$query = '
@@ -90,10 +91,6 @@
WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.'
AND pss.bewerbung_abgeschicktamum IS NOT NULL
AND ps.person_id = p.person_id
AND (sg.typ IN ('.$STUDIENGANG_TYP.')
OR
sg.studiengang_kz in('.$ADDITIONAL_STG.')
)
AND pss.studiensemester_kurzbz = '.$STUDIENSEMESTER.'
LIMIT 1
) AS "StgAbgeschickt",
@@ -20,22 +20,30 @@ if (FHC_JS_DATA_STORAGE_OBJECT.called_method == 'index')
*/
var InfocenterPersonDataset = {
infocenter_studiensemester_variablename: 'infocenter_studiensemester',
infocenter_studienganstyp_variablename: 'infocenter_studiensgangtyp',
/**
* adds person table additional actions html (above and beneath it)
*/
appendTableActionsHtml: function(infocenter_studiensemester)
appendTableActionsHtml: function(infocenter_studiensemester, infocenter_studiengangstyp)
{
var url = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/system/messages/Messages/writeTemplate";
var formHtml = '<form id="sendMsgsForm" method="post" action="'+ url +'" target="_blank"></form>';
$("#datasetActionsTop").before(formHtml);
var studienSemesterHtml = '<button class="btn btn-default btn-xs decStudiensemester">' +
var auswahlStudienart =
'<select class="form-control auswahlStudienArt" style="width:auto;">' +
'<option data-id="all"> Alle </option>' +
'<option data-id="master"> Master </option>' +
'<option data-id="bachelor"> Bachelor </option>' +
'</select>';
var studienSemesterHtml = '<button class="btn btn-default btn-sm decStudiensemester">' +
'<i class="fa fa-chevron-left"></i>' +
'</button>&nbsp;' +
infocenter_studiensemester +
'&nbsp;<button class="btn btn-default btn-xs incStudiensemester">' +
'&nbsp;<button class="btn btn-default btn-sm incStudiensemester">' +
'<i class="fa fa-chevron-right"></i>' +
'</button>';
@@ -56,9 +64,19 @@ var InfocenterPersonDataset = {
// userdefined Semestervariable shown independently of personcount,
// it is possible to change the semester
$("#datasetActionsTop, #datasetActionsBottom").append(
"<div class='row'>"+
"<div class='col-xs-12 text-center'>"+studienSemesterHtml+"</div>"+
"</div><div class='h-divider'></div><hr class='studiensemesterline'>");
"<div class='row'>" +
"<div class='col-xs-5 text-right'>" + auswahlStudienart + "</div>" +
"<div class='col-xs-7 text-left'>" + studienSemesterHtml + "</div>" +
"</div>" +
"<div class='h-divider'></div><hr class='studiensemesterline'>"
);
InfocenterPersonDataset.selectStudiengangTyp(infocenter_studiengangstyp)
$('.auswahlStudienArt').change(function()
{
InfocenterPersonDataset.changeStudengangsTyp($(this).find('option:selected').attr('data-id'));
});
$("button.incStudiensemester").click(function() {
InfocenterPersonDataset.changeStudiensemesterUservar(1);
@@ -115,6 +133,22 @@ var InfocenterPersonDataset = {
);
},
selectStudiengangTyp: function(typ)
{
switch (typ)
{
case 'b, m' :
$('.auswahlStudienArt [data-id="all"]').attr('selected', 'selected');
break;
case 'b' :
$('.auswahlStudienArt [data-id="bachelor"]').attr('selected', 'selected');
break;
case 'm' :
$('.auswahlStudienArt [data-id="master"]').attr('selected', 'selected');
break;
}
},
/**
* sets functionality for the actions above and beneath the person table
*/
@@ -173,6 +207,45 @@ var InfocenterPersonDataset = {
});
},
changeStudengangsTyp: function($typ)
{
switch ($typ)
{
case 'all' :
var change = 'b\', \'m';
break;
case 'bachelor' :
var change = 'b';
break;
case 'master' :
var change = 'm';
break;
}
FHC_AjaxClient.showVeil();
FHC_AjaxClient.ajaxCallPost(
'system/Variables/changeStudengangsTypVar',
{
'name': InfocenterPersonDataset.infocenter_studienganstyp_variablename,
'change': change,
},
{
successCallback: function(data, textStatus, jqXHR) {
if (FHC_AjaxClient.hasData(data))
{
// refresh filterwidget with page reload
FHC_FilterWidget.reloadDataset();
}
},
errorCallback: function(jqXHR, textStatus, errorThrown) {
FHC_AjaxClient.hideVeil();
alert(textStatus);
}
}
);
},
/**
* initializes change of the uservariable infocenter_studiensemesster, either
* to next semester (change > 0) or previous semester (change < 0)
@@ -211,7 +284,8 @@ var InfocenterPersonDataset = {
FHC_AjaxClient.ajaxCallGet(
'system/Variables/getVar',
{
'name': InfocenterPersonDataset.infocenter_studiensemester_variablename
'name' : InfocenterPersonDataset.infocenter_studiensemester_variablename,
'typ' : InfocenterPersonDataset.infocenter_studienganstyp_variablename
},
{
successCallback: function(data, textStatus, jqXHR) {
@@ -220,7 +294,7 @@ var InfocenterPersonDataset = {
if (typeof callback === "function")
{
var infocenter_studiensemester = FHC_AjaxClient.getData(data);
callback(infocenter_studiensemester[InfocenterPersonDataset.infocenter_studiensemester_variablename]);
callback(infocenter_studiensemester[InfocenterPersonDataset.infocenter_studiensemester_variablename], infocenter_studiensemester[InfocenterPersonDataset.infocenter_studienganstyp_variablename]);
}
}
},
+1
View File
@@ -3232,6 +3232,7 @@ if(!@$db->db_query("SELECT 0 FROM public.tbl_variablenname WHERE 0 = 1"))
INSERT INTO public.tbl_variablenname (name, defaultwert) VALUES (\'kontofilterstg\', \'false\');
INSERT INTO public.tbl_variablenname (name, defaultwert) VALUES (\'kollision_student\', \'false\');
INSERT INTO public.tbl_variablenname (name, defaultwert) VALUES (\'infocenter_studiensemester\', null);
INSERT INTO public.tbl_variablenname (name, defaultwert) VALUES (\'infocenter_studiensgangtyp\', \'b\');
INSERT INTO public.tbl_variablenname (name, defaultwert) VALUES (\'ignore_zeitsperre\', \'false\');
INSERT INTO public.tbl_variablenname (name, defaultwert) VALUES (\'ignore_reservierung\', \'false\');
INSERT INTO public.tbl_variablenname (name, defaultwert) VALUES (\'ignore_kollision\', \'false\');