Merge remote-tracking branch 'origin/master'

This commit is contained in:
Manfred Kindl
2018-12-10 10:43:30 +01:00
16 changed files with 521 additions and 95 deletions
@@ -0,0 +1,193 @@
<?php
/**
* FH-Complete
*
* @package FHC-API
* @author FHC-Team
* @copyright Copyright (c) 2016, fhcomplete.org
* @license GPLv3
* @link http://fhcomplete.org
* @since Version 1.0
* @filesource
*/
if (! defined('BASEPATH'))
exit('No direct script access allowed');
class ReihungstestJob extends FHC_Controller
{
private $VILESCI_RT_VERWALTUNGS_URL;
/**
* Constructor
*/
public function __construct()
{
parent::__construct();
// Allow script execution only from CLI
if ($this->input->is_cli_request())
{
$cli = true;
}
else
{
$this->output->set_status_header(403, 'Jobs must be run from the CLI');
echo "Jobs must be run from the CLI";
exit;
}
$this->VILESCI_RT_VERWALTUNGS_URL = site_url(). "/organisation/Reihungstest";
// Load models
$this->load->model('crm/Reihungstest_model', 'ReihungstestModel');
// Load helpers
$this->load->helper('hlp_sancho_helper');
}
/**
* Main function index as help
*
* @return void
*/
public function index()
{
$result = "The following are the available command line interface commands\n\n";
$result .= "php index.ci.php jobs/ReihungstestJob runReihungstestInfo";
echo $result. PHP_EOL;
}
public function runReihungstestJob()
{
// Get study plans that have no assigned placement tests yet
$result = $this->ReihungstestModel->checkMissingReihungstest();
$missing_rt_arr = array();
if (hasData($result))
{
$missing_rt_arr = $result->retval;
}
elseif (isError($result))
{
show_error($result->error);
}
// Get free places
$result = $this->ReihungstestModel->getFreePlaces();
$free_places_arr = array();
if (hasData($result))
{
$free_places_arr = $result->retval;
}
elseif (isError($result))
{
show_error($result->error);
}
// Prepare data for mail template 'ReihungstestJob'
$content_data_arr = $this->_getContentData($missing_rt_arr, $free_places_arr);
// Send email in Sancho design
if (!empty($missing_rt_arr) || !empty($free_places_arr))
{
sendSanchoMail(
'ReihungstestJob',
$content_data_arr,
MAIL_INFOCENTER,
'Support für die Reihungstest-Verwaltung');
}
}
// ------------------------------------------------------------------------
// Private methods
/**
* Returns associative array with data as needed in the reihungstest job template.
* @param array $missing_rt_arr Array with studienpläne, which have no assigned placement tests.
* @param array $free_places_arr Array with info and amount of free placement test places.
* @return array
*/
private function _getContentData($missing_rt_arr, $free_places_arr)
{
$style_tbl1 = ' cellpadding="0" cellspacing="10" width="100%" style="font-family: courier, verdana, sans-serif; font-size: 0.95em; border: 1px solid #000000;" ';
$style_tbl2 = ' cellpadding="0" cellspacing="20" width="100%" style="font-family: courier, verdana, sans-serif; font-size: 0.95em; border: 1px solid #000000;" ';
// Prepare HTML table with study plans that have no placement tests yet
if (!empty($missing_rt_arr))
{
$studienplan_list = '
<table'. $style_tbl2.'>
';
foreach ($missing_rt_arr as $rt)
{
$studienplan_list .= '
<tr><td>'. $rt->bezeichnung. '</td></tr>
';
}
$studienplan_list .= '
</table>
';
}
else
{
$studienplan_list = '
<table'. $style_tbl1.'>
<tr><td>Alles okay! Alle Studienpläne haben zumindest einen Reihungstest.</td></tr>
</table>
';
}
// Prepare HTML table with information and amount of free places
if (!empty($free_places_arr))
{
$freie_plaetze_list = '
<table'. $style_tbl2.'>
<tr>
<th>Fakultät</th>
<th>Reihungstesttermine</th>
<th>Freie Plätze</th>
</tr>
';
foreach ($free_places_arr as $free_place)
{
$datum = new DateTime($free_place->datum);
$style_alarm = ($free_place->freie_plaetze <= 5) ? ' style=" color: red; font-weight: bold" ' : ''; // mark if <=5 free places
$freie_plaetze_list .= '
<tr>
<td width="350">'. $free_place->fakultaet. '</td>
<td align="center">'. $datum->format('d.m.Y'). '</td>
<td align="center"'. $style_alarm.'>'. $free_place->freie_plaetze. '</td>
</tr>
';
}
$freie_plaetze_list .= '
</table>
';
}
else
{
$freie_plaetze_list = '
<table'. $style_tbl1.'>
<tr><td>Es gibt heute keine Ergebnisse zu freien Reihungstestplätze.</td></tr>
</table>
';
}
// Set associative array with the prepared HTML tables and URL be used by the template's variables
$content_data_arr['studienplan_list'] = $studienplan_list;
$content_data_arr['freie_plaetze_list'] = $freie_plaetze_list;
$content_data_arr['link'] = $this->VILESCI_RT_VERWALTUNGS_URL;
;
return $content_data_arr;
}
}
@@ -857,9 +857,20 @@ class InfoCenter extends Auth_Controller
}
$this->navigationlib->setSessionMenu(
array(
array('filters' => $this->navigationlib->oneLevel(
'Filters', // description
'#', // link
$filtersArray, // children
'filter', // icon
true, // expand
null, // subscriptDescription
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
1 // sort
),
'freigegeben' => $this->navigationlib->oneLevel(
'zum RT Freigegeben', // description
'zum RT freigegeben', // description
$freigegebenLink, // link
null, // children
'thumbs-up', // icon
@@ -868,7 +879,7 @@ class InfoCenter extends Auth_Controller
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
1 // sort
10 // sort
),
'reihungstestAbsolviert' => $this->navigationlib->oneLevel(
'Reihungstest absolviert', // description
@@ -880,19 +891,7 @@ class InfoCenter extends Auth_Controller
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
2 // sort
),
'filters' => $this->navigationlib->oneLevel(
'Filters', // description
'#', // link
$filtersArray, // children
'', // icon
true, // expand
null, // subscriptDescription
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
10 // sort
20 // sort
)
)
);
@@ -951,6 +950,8 @@ class InfoCenter extends Auth_Controller
// Generate the home link with the eventually loaded filter
$homeLink = site_url(self::INFOCENTER_URI.'/'.self::INDEX_PAGE);
$freigegebenLink = site_url(self::INFOCENTER_URI.'/'.self::FREIGEGEBEN_PAGE);
$absolviertLink = site_url(self::INFOCENTER_URI.'/'.self::REIHUNGSTESTABSOLVIERT_PAGE);
$prevFilterId = $this->input->get(self::PREV_FILTER_ID);
if (isset($prevFilterId))
{
@@ -958,20 +959,57 @@ class InfoCenter extends Auth_Controller
}
$this->navigationlib->setElementSessionMenu(
$page,
'uebersicht',
$this->navigationlib->oneLevel(
'Home', // description
'Infocenter Übersicht', // description
$homeLink, // link
null, // children
'angle-left', // icon
'info', // icon
null, // subscriptDescription
false, // expand
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
1 // sort
20 // sort
)
);
if($page == self::REIHUNGSTESTABSOLVIERT_PAGE)
{
$this->navigationlib->setElementSessionMenu(
'freigegeben',
$this->navigationlib->oneLevel(
'zum RT freigegeben', // description
$freigegebenLink, // link
null, // children
'thumbs-up', // icon
null, // subscriptDescription
false, // expand
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
30 // sort
)
);
}
if($page == self::FREIGEGEBEN_PAGE)
{
$this->navigationlib->setElementSessionMenu(
'reihungstestAbsolviert',
$this->navigationlib->oneLevel(
'Reihungstest absolviert', // description
$absolviertLink, // link
null, // children
'check', // icon
null, // subscriptDescription
false, // expand
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
30 // sort
)
);
}
}
/**
@@ -993,25 +1031,6 @@ class InfoCenter extends Auth_Controller
}
}
/**
* Utility method used to fill elements of the InfoCenter left menu of the freigegeben InfoCenter page
*/
private function _fillFiltersFreigegeben($filters, &$toFill)
{
foreach ($filters as $filterId => $description)
{
$toFill['children'][] = $this->navigationlib->oneLevel(
$description, // description
sprintf(
'%s?%s=%s',
site_url(self::INFOCENTER_URI.'/'.self::FREIGEGEBEN_PAGE),
self::FILTER_ID,
$filterId
) // link
);
}
}
/**
* Utility method used to fill elements of the InfoCenter left menu
* with the list of the custom filter of the authenticated user
+1 -1
View File
@@ -23,7 +23,7 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
// Functions needed in the view FHC-Header
// ------------------------------------------------------------------------
const DEFAULT_SANCHO_HEADER_IMG = 'sancho_header_du_hast_neue_nachrichten.jpg';
const DEFAULT_SANCHO_HEADER_IMG = 'sancho_header_DEFAULT.jpg';
/**
* Send single Mail with Sancho Design and Layout.
+1 -1
View File
@@ -757,7 +757,7 @@ class FiltersLib
self::NAV_MENU_FILTER_NAME, // description
'#', // link
$childrenArray, // children
'', // icon
'filter', // icon
true, // expand
null, // subscriptDescription
null, // subscriptLinkClass
@@ -38,4 +38,190 @@ class Reihungstest_model extends DB_Model
return $this->execQuery($query, array($reihungstest_id));
}
/**
* Checks if there are active studyplans which have no public placement tests assigned yet.
* Only check assignment to studyplans that are
* - Bachelor,
* - active,
* - set as online application
* - valid for 1st terms
* @return array Returns object array with studyplans that have no public placement tests assigned yet.
*/
public function checkMissingReihungstest()
{
$query = '
SELECT
bezeichnung
FROM
lehre.tbl_studienplan
WHERE
studienplan_id
IN
(
SELECT DISTINCT
studienplan_id
FROM
public.tbl_studiensemester
JOIN
lehre.tbl_studienplan_semester
USING (studiensemester_kurzbz)
JOIN
lehre.tbl_studienplan
USING (studienplan_id)
JOIN
lehre.tbl_studienordnung
USING (studienordnung_id)
JOIN
public.tbl_studiengang
USING (studiengang_kz)
WHERE
tbl_studiengang.aktiv = \'t\'
AND
tbl_studiensemester.onlinebewerbung = \'t\'
AND
tbl_studienplan.onlinebewerbung_studienplan = \'t\'
AND
semester = 1
AND
typ = \'b\'
EXCEPT
SELECT DISTINCT
studienplan_id
FROM
public.tbl_reihungstest
JOIN
public.tbl_rt_studienplan
USING (reihungstest_id)
WHERE
datum >= now()
AND
oeffentlich = \'t\'
)
';
return $this->execQuery($query);
}
/**
* Gets amount of free places.
* @return array Returns object array with faculty and amount of free places
* for each public actual placement test date.
*/
public function getFreePlaces()
{
$query = '
SELECT
datum,
fakultaet,
max_plaetze - anzahl_angemeldet AS freie_plaetze
FROM
(
SELECT
studiengang_kz,
oeffentlich,
tbl_studiengang.bezeichnung,
reihungstest_id,
tbl_reihungstest.datum,
COALESCE
(
max_teilnehmer,
(
SELECT
sum(arbeitsplaetze) - ceil(sum(arbeitsplaetze)/100.0*'. REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND. ')
FROM
public.tbl_rt_ort
JOIN
public.tbl_ort
ON (tbl_rt_ort.ort_kurzbz = tbl_ort.ort_kurzbz)
WHERE
tbl_rt_ort.rt_id = tbl_reihungstest.reihungstest_id
)
)
AS max_plaetze,
(
SELECT
count(*)
FROM
public.tbl_rt_person
WHERE
rt_id = tbl_reihungstest.reihungstest_id
)
AS anzahl_angemeldet,
(
WITH RECURSIVE meine_oes
(
oe_kurzbz,
oe_parent_kurzbz,
organisationseinheittyp_kurzbz
)
AS
(
SELECT
oe_kurzbz, oe_parent_kurzbz, organisationseinheittyp_kurzbz
FROM
public.tbl_organisationseinheit
WHERE
oe_kurzbz in
(
SELECT
oe_kurzbz
FROM
public.tbl_rt_studienplan
JOIN
lehre.tbl_studienplan sp USING (studienplan_id)
JOIN
lehre.tbl_studienordnung USING (studienordnung_id)
JOIN
public.tbl_studiengang sg USING (studiengang_kz)
WHERE
tbl_rt_studienplan.reihungstest_id = tbl_reihungstest.reihungstest_id
)
AND
aktiv = true
UNION ALL
SELECT
o.oe_kurzbz, o.oe_parent_kurzbz, o.organisationseinheittyp_kurzbz
FROM
public.tbl_organisationseinheit o, meine_oes
WHERE
o.oe_kurzbz = meine_oes.oe_parent_kurzbz
AND
aktiv = true
)
SELECT
ARRAY_TO_STRING(ARRAY_AGG(DISTINCT tbl_organisationseinheit.bezeichnung),\', \')
FROM
meine_oes
JOIN public.tbl_organisationseinheit USING(oe_kurzbz)
WHERE
meine_oes.organisationseinheittyp_kurzbz=\'Fakultaet\'
)
AS fakultaet
FROM
public.tbl_reihungstest
JOIN
public.tbl_studiengang
USING (studiengang_kz)
WHERE
tbl_reihungstest.datum >= now()
AND
tbl_reihungstest.oeffentlich = \'t\'
GROUP BY
tbl_studiengang.bezeichnung,
oe_kurzbz,
reihungstest_id
)
AS tbl
ORDER BY
fakultaet,
freie_plaetze
';
return $this->execQuery($query);
}
}
@@ -33,7 +33,7 @@
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">
Freigegebene Interessenten
zum Reihungstest freigegeben
</h3>
</div>
</div>
-11
View File
@@ -1,11 +0,0 @@
<?php
/**
* This Script is for Loading the Codeigniter Context in Non-Codeigniter Scripts
* Usage:
* $ci = require_once(ci_loader.php');
* $ci->load->library('xxx');
*/
ob_start();
require_once('index.ci.php');
ob_get_clean();
return $CI;
+2
View File
@@ -141,6 +141,8 @@ define('MAIL_IT', 'invalid@example.com');
define('MAIL_SUPPORT', 'invalid@example.com');
// Lehrgaenge
define('MAIL_LG', 'invalid@example.com');
// Infocenter
define('MAIL_INFOCENTER','invalid@example.com');
// Default Anmerkung fuer neue Lehreinheiten
// Beispiel: 'Abhaengigkeiten von anderen LV\'s\n\nSpez. Software/Equipment:\n\n'
+27 -5
View File
@@ -169,6 +169,28 @@ function ConvertDateToISO(datum)
return '';
}
// ****
// * Wandelt ein Datum ins ISO Format um
// * aus 2007-02-31 wird 31.2.2007
// ****
function ConvertDateToGerman(datum)
{
if(datum!='')
{
arr = datum.split('-');
if(arr[1].length==1)
arr[1]='0'+arr[1];
if(arr[2].length==1)
arr[2]='0'+arr[2];
return arr[2]+'.'+arr[1]+'.'+arr[0];
}
else
return '';
}
// ****
// * Liefert die Daten aus der Zwischenablage
// ****
@@ -281,7 +303,7 @@ function getMultipleTreeCellText(tree, col)
returnArray.push(getTreeCellText(tree, col, v));
}
}
return returnArray;
}
@@ -295,18 +317,18 @@ function openWindowPostArray(action, dataName, data)
{
var FORM_HEAD = "<form id='postform-form' name='postfrm' action='' method='POST'>\n";
var FORM_FOOT = "</form>";
var inputsHidden = "";
for (var i = 0; i < data.length; i++)
{
inputsHidden += " <input type='hidden' name='" + dataName + "[]' value='" + data[i] + "' />\n";
}
var newwindow = window.open("", "FAS");
newwindow.document.getElementsByTagName('body')[0].innerHTML = FORM_HEAD + inputsHidden + FORM_FOOT;
newwindow.document.getElementById('postform-form').action = action;
newwindow.document.postfrm.submit();
}
@@ -31,29 +31,30 @@ var glob_akte_id;
function InteressentDokumenteDialogInit(prestudent_id, akte_id)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if(akte_id!='')
{
{
glob_prestudent_id = prestudent_id;
glob_akte_id = akte_id;
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/akte.rdf.php?akte_id='+akte_id+'&'+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/akte/" + akte_id);
var predicateNS = "http://www.technikum-wien.at/akte/rdf";
//RDF parsen
//RDF parsen
var titel_intern = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#titel_intern" ));
var anmerkung_intern = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung_intern" ));
var anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
var nachgereicht = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#nachgereicht" ));
var nachgereicht_am = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#nachgereicht_am" ));
var dokument_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#dokument_kurzbz" ));
var dokument_bezeichnung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#dokument_bezeichnung" ));
}
@@ -67,7 +68,7 @@ function InteressentDokumenteDialogInit(prestudent_id, akte_id)
menuentry.setAttribute("label",dokument_bezeichnung);
dokumentemenue.appendChild(menuentry);
}
document.getElementById('interessent-dokumente-dialog-textbox-titel').value=titel_intern;
document.getElementById('interessent-dokumente-dialog-textbox-anmerkung').value=anmerkung_intern;
@@ -78,6 +79,8 @@ function InteressentDokumenteDialogInit(prestudent_id, akte_id)
document.getElementById('interessent-dokumente-dialog-label-nachgereicht').value='Dokument wird nachgereicht';
else
document.getElementById('interessent-dokumente-dialog-label-nachgereicht').value='';
document.getElementById('interessent-dokumente-dialog-textbox-nachgereicht_am').value=ConvertDateToGerman(nachgereicht_am);
}
// ****
@@ -100,6 +100,12 @@ $db = new basis_db();
<textbox multiline="true" rows="10" id="interessent-dokumente-dialog-textbox-anmerkung" />
</row>
<row id="interessent-dokumente-dialog-row-anmerkung" hidden="false">
<label value="Nachreichung am" control="student-detail-textbox-nachgereicht_am"/>
<hbox>
<box class="Datum" id="interessent-dokumente-dialog-textbox-nachgereicht_am"/>
</hbox>
</row>
<row id="interessent-dokumente-dialog-row-save" hidden="false">
<spacer />
<hbox>
<spacer flex="1" />
@@ -128,7 +128,7 @@ function InteressentDokumenteAdd()
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
dok = getTreeCellText(tree, "interessent-dokumente-tree-nichtabgegeben-dokument_kurzbz", v);
dok = getTreeCellText(tree, "interessent-dokumente-tree-nichtabgegeben-dokument_kurzbz", v);
paramList += ';'+dok;
}
}
@@ -137,7 +137,7 @@ function InteressentDokumenteAdd()
prestudent_id = document.getElementById('student-prestudent-textbox-prestudent_id').value
studiengang_kz = document.getElementById('student-prestudent-menulist-studiengang_kz').value
if(paramList!='')
{
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
@@ -207,7 +207,7 @@ function InteressentDokumenteRemove()
//Prestudent_id holen
prestudent_id = document.getElementById('student-prestudent-textbox-prestudent_id').value;
studiengang_kz = document.getElementById('student-prestudent-menulist-studiengang_kz').value;
if(paramList!='')
{
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
@@ -354,10 +354,10 @@ function ShowDokument()
i = tree.currentIndex;
else
i = 0;
col = tree.columns ? tree.columns["interessent-dokumente-tree-nichtabgegeben-akte_id"] : "interessent-dokumente-tree-nichtabgegeben-akte_id";
var akte_id=tree.view.getCellText(tree.currentIndex,col);
window.open("<?php echo APP_ROOT; ?>content/akte.php?akte_id="+akte_id,"","chrome, status=no, width=500, height=350, centerscreen, resizable");
}
function ShowDokumentAbgegeben()
@@ -368,10 +368,10 @@ function ShowDokumentAbgegeben()
i = tree.currentIndex;
else
i = 0;
col = tree.columns ? tree.columns["interessent-dokumente-tree-abgegeben-akte_id"] : "interessent-dokumente-tree-abgegeben-akte_id";
var akte_id=tree.view.getCellText(tree.currentIndex,col);
window.open("<?php echo APP_ROOT; ?>content/akte.php?akte_id="+akte_id,"","chrome, status=no, width=500, height=350, centerscreen, resizable");
}
@@ -384,7 +384,7 @@ function InteressentDokumenteUpload()
window.open("<?php echo APP_ROOT; ?>content/akteupload.php?person_id="+person_id ,"","chrome, status=no, width=800, height=350, centerscreen, resizable");
}
else
alert("kein Student ausgewählt");
alert("kein Student ausgewählt");
}
function InteressentDokumenteFilter()
@@ -398,7 +398,7 @@ function InteressentDokumenteFilter()
alert('Bitte einen Studiengang/Semester waehlen');
return;
}
// Progressmeter starten. Ab jetzt keine 'return's mehr.
document.getElementById('statusbar-progressmeter').setAttribute('mode','undetermined');
//globalProgressmeter.StartPM();
@@ -476,6 +476,8 @@ function InteressentDokumenteDialogSpeichern(dialog, prestudent_id, akte_id)
var titel_intern=dialog.getElementById('interessent-dokumente-dialog-textbox-titel').value;
var anmerkung_intern=dialog.getElementById('interessent-dokumente-dialog-textbox-anmerkung').value;
var dokument_kurzbz=dialog.getElementById('interessent-dokumente-dialog-menulist-dokument_kurzbz').value;
var nachgereicht_am=dialog.getElementById('interessent-dokumente-dialog-textbox-nachgereicht_am').value;
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
@@ -485,7 +487,8 @@ function InteressentDokumenteDialogSpeichern(dialog, prestudent_id, akte_id)
req.add('akte_id', akte_id);
req.add('titel_intern', titel_intern);
req.add('anmerkung_intern', anmerkung_intern);
req.add('dokument_kurzbz',dokument_kurzbz);
req.add('dokument_kurzbz', dokument_kurzbz);
req.add('nachgereicht_am', ConvertDateToISO(nachgereicht_am));
var response = req.executePOST();
@@ -549,7 +552,7 @@ function InteressentDokumenteAbgegebenEntfernen()
var tree = document.getElementById('interessent-dokumente-tree-abgegeben');
var akte_id = getTreeCellText(tree, 'interessent-dokumente-tree-abgegeben-akte_id', tree.currentIndex);
prestudent_id = document.getElementById('student-prestudent-textbox-prestudent_id').value;
if(confirm('Dieses Dokument wirklich loeschen?'))
{
InteressentDokumentEntfernen(akte_id, prestudent_id);
@@ -599,7 +602,7 @@ function InteressentDokumenteAbgegebenUpload()
window.open("<?php echo APP_ROOT; ?>content/akteupload.php?person_id="+person_id+"&dokument_kurzbz="+dokument_kurzbz ,"Upload","width=800, height=350, centerscreen, resizable");
}
else
alert("kein Student ausgewählt");
alert("kein Student ausgewählt");
}
function InteressentDokumenteNichtabgegebenUpload()
{
@@ -613,7 +616,7 @@ function InteressentDokumenteNichtabgegebenUpload()
window.open("<?php echo APP_ROOT; ?>content/akteupload.php?person_id="+person_id+"&dokument_kurzbz="+dokument_kurzbz ,"Upload","width=800, height=350, centerscreen, resizable");
}
else
alert("kein Student ausgewählt");
alert("kein Student ausgewählt");
}
function InteressentDokumenteTreeNichtAbgegebenPopupShowing()
+11 -10
View File
@@ -968,7 +968,7 @@ if(!$error)
elseif(isset($_POST['type']) && $_POST['type']=='returnDeletePrestudent')
{
//Prueft, wie viele Prestudentrolle-Eintraege noch vorhanden sind und gibt diese Anzahl als Wert zurueck
if(isset($_POST['prestudent_id']) && is_numeric($_POST['prestudent_id']))
{
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($_POST['prestudent_id'], FHC_INTEGER);
@@ -2200,6 +2200,7 @@ if(!$error)
$akte->anmerkung_intern = $_POST['anmerkung_intern'];
$akte->titel_intern = $_POST['titel_intern'];
$akte->dokument_kurzbz = $_POST['dokument_kurzbz'];
$akte->nachgereicht_am = $_POST['nachgereicht_am'];
$akte->updateamum = date('Y-m-d H:i:s');
$akte->updatevon = $user;
@@ -2257,8 +2258,8 @@ if(!$error)
else
{
// Log schreiben
$logdata_dms = (array)$dms;
$logdata = var_export($logdata_dms, true);
$logdata_dms = (array)$dms;
$logdata = var_export($logdata_dms, true);
$log = new log();
$log->executetime = date('Y-m-d H:i:s');
$log->mitarbeiter_uid = $user;
@@ -2268,8 +2269,8 @@ if(!$error)
$log->save(true);
}
// Log schreiben
$logdata_akte = (array)$akte;
$logdata = var_export($logdata_akte, true);
$logdata_akte = (array)$akte;
$logdata = var_export($logdata_akte, true);
$log = new log();
$log->executetime = date('Y-m-d H:i:s');
$log->mitarbeiter_uid = $user;
@@ -3972,7 +3973,7 @@ if(!$error)
$errormsg = 'Fehlerhafte Parameteruebergabe';
}
}
//******** AUFNAHMETERMINE *****
elseif(isset($_POST['type']) && $_POST['type']=='AufnahmeTermineSave') // **** AufnahmeTermine **** //
{
@@ -4007,10 +4008,10 @@ if(!$error)
$studienplan_id = $_POST['studienplan_id'];
$reihungstest = new reihungstest();
if($rt_person_id!='')
{
$reihungstest->loadReihungstestPerson($rt_person_id);
$reihungstest->loadReihungstestPerson($rt_person_id);
}
else
{
@@ -4043,7 +4044,7 @@ if(!$error)
$reihungstest->studienplan_id = $studienplan_id;
($reihungstest->new) ? $reihungstest->insertamum = date('Y-m-d H:i:s'): $reihungstest->updateamum = date('Y-m-d H:i:s');
($reihungstest->new) ? $reihungstest->insertvon = $user : $reihungstest->updatevon = $user;
if($reihungstest->savePersonReihungstest())
{
$return = true;
@@ -4188,7 +4189,7 @@ if(!$error)
$return = false;
$errormsg = 'Fehlerhafte Parameteruebergabe';
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='AufnahmeTermineBerechneGesamtpunkte')
{
//Speichert einen Aufnahmetermin einer Person
+2 -3
View File
@@ -24,7 +24,6 @@ require_once(dirname(__FILE__).'/authentication.class.php');
require_once(dirname(__FILE__).'/betriebsmittelperson.class.php');
require_once(dirname(__FILE__).'/personlog.class.php');
require_once(dirname(__FILE__).'/benutzerberechtigung.class.php');
require_once(dirname(__FILE__).'/mitarbeiter.class.php');
// Auth: Benutzer des Webportals
/**
@@ -1101,10 +1100,10 @@ function PersonLog($person_id, $logtype_kurzbz, $logdata, $taetigkeit_kurzbz, $a
}
/** Sets leading zeros to an integer number. 2 digits by default.
*
*
* @param integer $number
* @param integer $length
* @return integer
* @return integer
*/
function setLeadingZero($number, $length = 2)
{
+1
View File
@@ -97,6 +97,7 @@ foreach ($akten->result as $row)
<AKTE:titel_intern><![CDATA['.$row->titel_intern.']]></AKTE:titel_intern>
<AKTE:anmerkung><![CDATA['.$row->anmerkung.']]></AKTE:anmerkung>
<AKTE:nachgereicht><![CDATA['.($row->nachgereicht?'Ja':'Nein').']]></AKTE:nachgereicht>
<AKTE:nachgereicht_am><![CDATA['.$row->nachgereicht_am.']]></AKTE:nachgereicht_am>
<AKTE:signiert><![CDATA['.($row->signiert?'Ja':'Nein').']]></AKTE:signiert>
<AKTE:stud_selfservice><![CDATA['.($row->stud_selfservice?'Ja':'Nein').']]></AKTE:stud_selfservice>
</RDF:Description>
+4 -2
View File
@@ -264,7 +264,8 @@ $filters = array(
{"name": "StgAbgeschickt"},
{"name": "LastAction"},
{"name": "User/Operator"},
{"name": "LockUser"}
{"name": "LockUser"},
{"name": "Statusgrund"}
],
"filters": [
{
@@ -298,7 +299,8 @@ $filters = array(
{"name": "StgAbgeschickt"},
{"name": "LastAction"},
{"name": "User/Operator"},
{"name": "LockUser"}
{"name": "LockUser"},
{"name": "Statusgrund"}
],
"filters": [
{