Merge branch 'master' into feature-17517/AdaptierungenZeiterfassungenSprint177

This commit is contained in:
Andreas Österreicher
2022-02-25 13:11:43 +01:00
28 changed files with 848 additions and 260 deletions
@@ -22,8 +22,8 @@ class approveAnrechnungDetail extends Auth_Controller
// Set required permissions
parent::__construct(
array(
'index' => 'lehre/anrechnung_genehmigen:rw',
'download' => 'lehre/anrechnung_genehmigen:rw',
'index' => 'lehre/anrechnung_genehmigen:r',
'download' => 'lehre/anrechnung_genehmigen:r',
'approve' => 'lehre/anrechnung_genehmigen:rw',
'reject' => 'lehre/anrechnung_genehmigen:rw',
'requestRecommendation' => 'lehre/anrechnung_genehmigen:rw',
@@ -81,7 +81,7 @@ class approveAnrechnungDetail extends Auth_Controller
}
// Check if user is entitled to read the Anrechnung
self::_checkIfEntitledToReadAnrechnung($anrechnung_id);
$this->_checkIfEntitledToReadAnrechnung($anrechnung_id);
// Get Anrechung data
$anrechnungData = $this->anrechnunglib->getAnrechnungData($anrechnung_id);
@@ -99,11 +99,16 @@ class approveAnrechnungDetail extends Auth_Controller
// Get Genehmigung data
$genehmigungData = $this->anrechnunglib->getGenehmigungData($anrechnung_id);
$hasReadOnlyAccess =
$this->permissionlib->isBerechtigt(self::BERECHTIGUNG_ANRECHNUNG_GENEHMIGEN, 's', $antragData->studiengang_kz)
&& !$this->permissionlib->isBerechtigt(self::BERECHTIGUNG_ANRECHNUNG_GENEHMIGEN, 'suid', $antragData->studiengang_kz);
$viewData = array(
'antragData' => $antragData,
'anrechnungData' => $anrechnungData,
'empfehlungData' => $empfehlungData,
'genehmigungData' => $genehmigungData
'genehmigungData' => $genehmigungData,
'hasReadOnlyAccess' => $hasReadOnlyAccess
);
$this->load->view('lehre/anrechnung/approveAnrechnungDetail.php', $viewData);
@@ -385,7 +390,7 @@ class approveAnrechnungDetail extends Auth_Controller
}
// Check if user is entitled to read dms doc
self::_checkIfEntitledToReadDMSDoc($dms_id);
$this->_checkIfEntitledToReadDMSDoc($dms_id);
// Set filename to be used on downlaod
$filename = $this->anrechnunglib->setFilenameOnDownload($dms_id);
@@ -421,26 +426,13 @@ class approveAnrechnungDetail extends Auth_Controller
'lehrveranstaltung_id' => getData($result)[0]->lehrveranstaltung_id
));
if(!hasData($result))
{
show_error('Failed loading Lehrveranstaltung');
}
$studiengang_kz = getData($result)[0]->studiengang_kz;
// Get STGL
$result = $this->StudiengangModel->getLeitung(getData($result)[0]->studiengang_kz);
if (hasData($result))
{
foreach (getData($result) as $stgl)
{
if ($stgl->uid == $this->_uid)
{
return;
}
}
}
show_error('You are not entitled to read this Anrechnung');
// Check if user is entitled
if (!$this->permissionlib->isBerechtigt(self::BERECHTIGUNG_ANRECHNUNG_GENEHMIGEN, 's', $studiengang_kz))
{
show_error('You are not entitled to read this page');
}
}
/**
@@ -460,23 +452,13 @@ class approveAnrechnungDetail extends Auth_Controller
'lehrveranstaltung_id' => $result->lehrveranstaltung_id
));
if(!$result = getData($result)[0])
{
show_error('Failed loading Lehrveranstaltung');
}
$studiengang_kz = getData($result)[0]->studiengang_kz;
// Get STGL
$result = $this->StudiengangModel->getLeitung($result->studiengang_kz);
if($result = getData($result)[0])
{
if ($result->uid == $this->_uid)
{
return;
}
}
show_error('You are not entitled to read this document');
// Check if user is entitled
if (!$this->permissionlib->isBerechtigt(self::BERECHTIGUNG_ANRECHNUNG_GENEHMIGEN, 's', $studiengang_kz))
{
show_error('You are not entitled to read this document');
}
}
/**
@@ -5,7 +5,8 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
class approveAnrechnungUebersicht extends Auth_Controller
{
const BERECHTIGUNG_ANRECHNUNG_GENEHMIGEN = 'lehre/anrechnung_genehmigen';
const BERECHTIGUNG_ANRECHNUNG_ANLEGEN = 'lehre/anrechnung_anlegen';
const REVIEW_ANRECHNUNG_URI = '/lehre/anrechnung/ReviewAnrechnungUebersicht';
const ANRECHNUNGSTATUS_PROGRESSED_BY_STGL = 'inProgressDP';
@@ -19,8 +20,8 @@ class approveAnrechnungUebersicht extends Auth_Controller
// Set required permissions
parent::__construct(
array(
'index' => 'lehre/anrechnung_genehmigen:rw',
'download' => 'lehre/anrechnung_genehmigen:rw',
'index' => 'lehre/anrechnung_genehmigen:r',
'download' => 'lehre/anrechnung_genehmigen:r',
'approve' => 'lehre/anrechnung_genehmigen:rw',
'reject' => 'lehre/anrechnung_genehmigen:rw',
'requestRecommendation' => 'lehre/anrechnung_genehmigen:rw'
@@ -76,10 +77,19 @@ class approveAnrechnungUebersicht extends Auth_Controller
{
show_error(getError($studiengang_kz_arr));
}
$hasReadOnlyAccess =
$this->permissionlib->isBerechtigt(self::BERECHTIGUNG_ANRECHNUNG_GENEHMIGEN, 's')
&& !$this->permissionlib->isBerechtigt(self::BERECHTIGUNG_ANRECHNUNG_GENEHMIGEN, 'suid');
// This permission is checked here to disable create Anrechnung button, if permission is not given
$hasCreateAnrechnungAccess = $this->permissionlib->isBerechtigt(self::BERECHTIGUNG_ANRECHNUNG_ANLEGEN, 's');
$viewData = array(
'studiensemester_selected' => $studiensemester_kurzbz,
'studiengaenge_entitled' => $studiengang_kz_arr
'studiengaenge_entitled' => $studiengang_kz_arr,
'hasReadOnlyAccess' => $hasReadOnlyAccess,
'hasCreateAnrechnungAccess' => $hasCreateAnrechnungAccess
);
$this->load->view('lehre/anrechnung/approveAnrechnungUebersicht.php', $viewData);
@@ -239,7 +249,7 @@ class approveAnrechnungUebersicht extends Auth_Controller
}
// Check if user is entitled to read dms doc
self::_checkIfEntitledToReadDMSDoc($dms_id);
$this->_checkIfEntitledToReadDMSDoc($dms_id);
// Set filename to be used on downlaod
$filename = $this->anrechnunglib->setFilenameOnDownload($dms_id);
@@ -281,22 +291,14 @@ class approveAnrechnungUebersicht extends Auth_Controller
{
show_error('Failed loading Lehrveranstaltung');
}
$studiengang_kz = $result->studiengang_kz;
// Get STGL
$result = $this->StudiengangModel->getLeitung($result->studiengang_kz);
if (hasData($result))
{
foreach (getData($result) as $stgl)
{
if ($stgl->uid == $this->_uid)
{
return;
}
}
}
show_error('You are not entitled to read this document');
// Check if user is entitled
if (!$this->permissionlib->isBerechtigt(self::BERECHTIGUNG_ANRECHNUNG_GENEHMIGEN, 's', $studiengang_kz))
{
show_error('You are not entitled to read this document');
}
}
/**
@@ -79,7 +79,7 @@ class reviewAnrechnungDetail extends Auth_Controller
// Get Anrechung data
$anrechnungData = $this->anrechnunglib->getAnrechnungData($anrechnung_id);
// Get Antrag data
$antragData = $this->anrechnunglib->getAntragData(
$anrechnungData->prestudent_id,
@@ -110,7 +110,7 @@ class reviewAnrechnungDetail extends Auth_Controller
{
return $this->outputJsonError('Fehler beim Übertragen der Daten.');
}
// Get lectors person data
if (!$person = getData($this->PersonModel->getByUID($this->_uid))[0])
{
@@ -218,10 +218,10 @@ class reviewAnrechnungDetail extends Auth_Controller
// Check if user is entitled to read dms doc
self::_checkIfEntitledToReadDMSDoc($dms_id);
// Set filename to be used on downlaod
$filename = $this->anrechnunglib->setFilenameOnDownload($dms_id);
// Download file
$this->dmslib->download($dms_id, $filename);
}
@@ -320,7 +320,12 @@ class reviewAnrechnungDetail extends Auth_Controller
foreach ($studiengang_kz_arr as $studiengang_kz)
{
// Get STGL mail address, if available, otherwise get assistance mail address
list ($to, $vorname) = $this->_getSTGLMailAddress($studiengang_kz);
$stgmail = $this->_getSTGLMailAddress($studiengang_kz);
if(isSuccess($stgmail) && hasData($stgmail))
list ($to, $vorname) = getData($stgmail)[0];
else
show_error ('Failed retrieving DegreeProgram Mail');
// Get full name of lector
$this->load->model('person/Person_model', 'PersonModel');
@@ -361,24 +366,28 @@ class reviewAnrechnungDetail extends Auth_Controller
$result = $this->StudiengangModel->getLeitung($stg_kz);
// Get STGL mail address, if available
if (hasData($result))
if (isSuccess($result) && hasData($result))
{
return array(
return success(array(
$result->retval[0]->uid. '@'. DOMAIN,
$result->retval[0]->vorname
);
));
}
// ...otherwise get assistance mail address
else
{
$result = $this->StudiengangModel->load($stg_kz);
if (hasData($result))
if (isSuccess($result) && hasData($result))
{
return array(
return success(array(
$result->retval[0]->email,
''
);
));
}
else
{
return error('Keine E-Mail für diesen Stg gefunden');
}
}
}
@@ -5,15 +5,15 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
class reviewAnrechnungUebersicht extends Auth_Controller
{
const BERECHTIGUNG_ANRECHNUNG_EMPFEHLEN = 'lehre/anrechnung_empfehlen';
const APPROVE_ANRECHNUNG_URI = '/lehre/anrechnung/ApproveAnrechnungUebersicht';
const ANRECHNUNGSTATUS_PROGRESSED_BY_STGL = 'inProgressDP';
const ANRECHNUNGSTATUS_PROGRESSED_BY_KF = 'inProgressKF';
const ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR = 'inProgressLektor';
const ANRECHNUNGSTATUS_APPROVED = 'approved';
const ANRECHNUNGSTATUS_REJECTED = 'rejected';
public function __construct()
{
// Set required permissions
@@ -25,24 +25,24 @@ class reviewAnrechnungUebersicht extends Auth_Controller
'dontRecommend' => 'lehre/anrechnung_empfehlen:rw'
)
);
// Load models
$this->load->model('education/Anrechnung_model', 'AnrechnungModel');
$this->load->model('education/Anrechnungstatus_model', 'AnrechnungstatusModel');
$this->load->model('content/DmsVersion_model', 'DmsVersionModel');
$this->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel');
// Load libraries
$this->load->library('WidgetLib');
$this->load->library('PermissionLib');
$this->load->library('AnrechnungLib');
$this->load->library('DmsLib');
// Load helpers
$this->load->helper('form');
$this->load->helper('url');
$this->load->helper('hlp_sancho_helper');
// Load language phrases
$this->loadPhrases(
array(
@@ -54,12 +54,12 @@ class reviewAnrechnungUebersicht extends Auth_Controller
'table'
)
);
$this->_setAuthUID();
$this->setControllerId();
}
public function index()
{
// Get study semester
@@ -70,14 +70,14 @@ class reviewAnrechnungUebersicht extends Auth_Controller
$result = $this->StudiensemesterModel->getNearest();
$studiensemester_kurzbz = getData($result)[0]->studiensemester_kurzbz;
}
$viewData = array(
'studiensemester_selected' => $studiensemester_kurzbz
);
$this->load->view('lehre/anrechnung/reviewAnrechnungUebersicht.php', $viewData);
}
/**
* Recommend Anrechnungen.
*/
@@ -103,7 +103,7 @@ class reviewAnrechnungUebersicht extends Auth_Controller
);
}
}
// Output json to ajax
if (isset($json) && !isEmptyArray($json))
{
@@ -123,19 +123,19 @@ class reviewAnrechnungUebersicht extends Auth_Controller
return $this->outputJsonError($this->p->t('ui', 'errorNichtAusgefuehrt'));
}
}
/**
* Dont recommend Anrechnungen.
*/
public function dontRecommend()
{
$data = $this->input->post('data');
if(isEmptyArray($data))
{
return $this->outputJsonError('Fehler beim Übertragen der Daten.');
}
foreach ($data as $item)
{
// Approve Anrechnung
@@ -149,7 +149,7 @@ class reviewAnrechnungUebersicht extends Auth_Controller
);
}
}
// Output json to ajax
if (isset($json) && !isEmptyArray($json))
{
@@ -158,7 +158,7 @@ class reviewAnrechnungUebersicht extends Auth_Controller
{
show_error('Failed sending emails');
}
return $this->outputJsonSuccess($json);
}
else
@@ -166,7 +166,7 @@ class reviewAnrechnungUebersicht extends Auth_Controller
return $this->outputJsonError($this->p->t('ui', 'errorNichtAusgefuehrt'));
}
}
/**
* Download and open uploaded document (Nachweisdokument).
*/
@@ -178,28 +178,28 @@ class reviewAnrechnungUebersicht extends Auth_Controller
{
show_error('Wrong parameter');
}
// Check if user is entitled to read dms doc
self::_checkIfEntitledToReadDMSDoc($dms_id);
// Set filename to be used on downlaod
$filename = $this->anrechnunglib->setFilenameOnDownload($dms_id);
// Download file
$this->dmslib->download($dms_id, $filename);
}
/**
* Retrieve the UID of the logged user and checks if it is valid
*/
private function _setAuthUID()
{
$this->_uid = getAuthUID();
if (!$this->_uid) show_error('User authentification failed');
}
/**
* Check if user is entitled to read dms doc
* @param $dms_id
@@ -207,15 +207,15 @@ class reviewAnrechnungUebersicht extends Auth_Controller
private function _checkIfEntitledToReadDMSDoc($dms_id)
{
$result = $this->AnrechnungModel->loadWhere(array('dms_id' => $dms_id));
if(!$result = getData($result)[0])
{
show_error('Failed retrieving Anrechnung');
}
$result = $this->LehrveranstaltungModel
->getLecturersByLv($result->studiensemester_kurzbz, $result->lehrveranstaltung_id);
if($result = getData($result))
{
$entitled_lector_arr = array_column($result, 'uid');
@@ -225,10 +225,10 @@ class reviewAnrechnungUebersicht extends Auth_Controller
return;
}
}
show_error('You are not entitled to read this document');
}
/**
* Send mails to STGL (if not present then to STGL assistance)
* @param $mail_params
@@ -239,36 +239,41 @@ class reviewAnrechnungUebersicht extends Auth_Controller
{
// Get studiengaenge
$studiengang_kz_arr = array();
foreach ($mail_params as $item)
{
$this->AnrechnungModel->addSelect('studiengang_kz');
$this->AnrechnungModel->addJoin('public.tbl_prestudent', 'prestudent_id');
$studiengang_kz_arr[]= $this->AnrechnungModel->load($item['anrechnung_id'])->retval[0]->studiengang_kz;
}
$studiengang_kz_arr = array_unique($studiengang_kz_arr);
// Send mail to STGL of each studiengang
foreach ($studiengang_kz_arr as $studiengang_kz)
{
// Get STGL mail address, if available, otherwise get assistance mail address
list ($to, $vorname) = $this->_getSTGLMailAddress($studiengang_kz);
$stgmail = $this->_getSTGLMailAddress($studiengang_kz);
if(isSuccess($stgmail) && hasData($stgmail))
list ($to, $vorname) = getData($stgmail)[0];
else
show_error ('Failed retrieving DegreeProgram Mail');
// Get full name of lector
$this->load->model('person/Person_model', 'PersonModel');
if (!$lector_name = getData($this->PersonModel->getFullName($this->_uid)))
{
show_error ('Failed retrieving person');
}
// Link to Antrag genehmigen
$url =
CIS_ROOT. 'cis/index.php?menu='.
CIS_ROOT. 'cis/menu.php?content_id=&content='.
CIS_ROOT. index_page(). self::APPROVE_ANRECHNUNG_URI;
// Prepare mail content
$body_fields = array(
'vorname' => $vorname,
@@ -276,7 +281,7 @@ class reviewAnrechnungUebersicht extends Auth_Controller
'empfehlung' => $empfehlung ? 'positive' : 'negative',
'link' => anchor($url, 'Anrechnungsanträge Übersicht')
);
sendSanchoMail(
'AnrechnungEmpfehlungAbgeben',
$body_fields,
@@ -284,37 +289,41 @@ class reviewAnrechnungUebersicht extends Auth_Controller
'Anerkennung nachgewiesener Kenntnisse: Empfehlung wurde abgegeben'
);
}
return true;
}
// Get STGL mail address, if available, otherwise get assistance mail address
private function _getSTGLMailAddress($stg_kz)
{
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
$result = $this->StudiengangModel->getLeitung($stg_kz);
// Get STGL mail address, if available
if (hasData($result))
if (isSuccess($result) && hasData($result))
{
return array(
return success(array(
$result->retval[0]->uid. '@'. DOMAIN,
$result->retval[0]->vorname
);
));
}
// ...otherwise get assistance mail address
else
{
$result = $this->StudiengangModel->load($stg_kz);
if (hasData($result))
if (isSuccess($result) && hasData($result))
{
return array(
return success(array(
$result->retval[0]->email,
''
);
));
}
else
{
return error('Keine E-Mail für diesen Stg gefunden');
}
}
}
}
}
+1
View File
@@ -89,6 +89,7 @@ class AnrechnungLib
$antrag_data->vorname = $person->vorname;
$antrag_data->nachname = $person->nachname;
$antrag_data->matrikelnr = $student->matrikelnr;
$antrag_data->studiengang_kz = $studiengang->studiengang_kz;
$antrag_data->stg_bezeichnung = $studiengang->bezeichnung;
$antrag_data->lektoren = $lv_lektoren_arr;
$antrag_data->zgv = $latest_zgv_bezeichnung;
+32 -27
View File
@@ -18,45 +18,50 @@ class Konto_model extends DB_Model
public function setPaid($buchungsnr)
{
// get payment
$buchungResult = $this->loadWhere(array('buchungsnr' => $buchungsnr));
$buchungResult = $this->loadWhere(array('buchungsnr' => $buchungsnr));
if(isSuccess($buchungResult) && hasData($buchungResult))
if (isSuccess($buchungResult) && hasData($buchungResult))
{
$buchung = getData($buchungResult)[0];
// get already paid amount
$this->addSelect('sum(betrag) as bezahlt');
$this->addGroupBy('buchungsnr_verweis');
$buchungVerweisResult = $this->loadWhere(array('buchungsnr_verweis' => $buchungsnr));
$buchungVerweisResult = $this->loadWhere(array('buchungsnr_verweis' => $buchungsnr));
if(isSuccess($buchungVerweisResult))
if (isSuccess($buchungVerweisResult))
{
if(hasData($buchungVerweisResult))
{
$betragBezahltResult = getData($buchungVerweisResult);
$betragBezahlt = $betragBezahltResult->bezahlt;
}
else
$betragBezahlt = 0;
$betragBezahlt = 0;
$buchung = getData($buchungResult);
$buchung = $buchung[0];
if (hasData($buchungVerweisResult))
{
$betragBezahlt = getData($buchungVerweisResult)[0]->bezahlt;
}
// calculate open amount
$betragOffen = $betragBezahlt - $buchung->betrag*(-1);
$betragOffen = $betragBezahlt - $buchung->betrag * (-1);
$data = array(
'person_id' => $buchung->person_id,
'studiengang_kz' => $buchung->studiengang_kz,
'studiensemester_kurzbz' => $buchung->studiensemester_kurzbz,
'buchungsnr_verweis' => $buchungsnr,
'betrag' => str_replace(',','.',$betragOffen*(-1)),
'buchungsdatum' => date('Y-m-d'),
'buchungstext' => $buchung->buchungstext,
'insertamum' => date('Y-m-d H:i:s'),
'insertvon' => '',
'buchungstyp_kurzbz' => $buchung->buchungstyp_kurzbz,
);
if ($betragOffen != 0)
{
$data = array(
'person_id' => $buchung->person_id,
'studiengang_kz' => $buchung->studiengang_kz,
'studiensemester_kurzbz' => $buchung->studiensemester_kurzbz,
'buchungsnr_verweis' => $buchungsnr,
'betrag' => str_replace(',', '.', $betragOffen * (-1)),
'buchungsdatum' => date('Y-m-d'),
'buchungstext' => $buchung->buchungstext,
'insertamum' => date('Y-m-d H:i:s'),
'insertvon' => '',
'buchungstyp_kurzbz' => $buchung->buchungstyp_kurzbz,
);
return $this->insert($data);
return $this->insert($data);
}
else
{
return success();
}
}
else
{
@@ -448,10 +448,11 @@ class Studiengang_model extends DB_Model
return $this->execQuery($query, array($typ));
}
/**
* Get Studiengangsleitung
* @param null $studiengang_kz
* Get Studiengangsleitung/en of Studiengang/Studiengaenge.
*
* @param null $studiengang_kz Numeric or Array
* @return array
*/
public function getLeitung($studiengang_kz = null)
@@ -460,7 +461,12 @@ class Studiengang_model extends DB_Model
$this->addJoin('public.tbl_benutzerfunktion', 'oe_kurzbz');
$this->addJoin('public.tbl_benutzer', 'uid');
$this->addJoin('public.tbl_person', 'person_id');
if (!is_numeric($studiengang_kz) && !is_array($studiengang_kz))
{
return error('Studiengangskennzahl ungültig');
}
if (is_null($studiengang_kz))
{
$condition = '
@@ -469,16 +475,21 @@ class Studiengang_model extends DB_Model
AND ( datum_bis >= NOW() OR datum_bis IS NULL )
';
}
elseif (is_numeric($studiengang_kz))
elseif (is_numeric($studiengang_kz) || is_array($studiengang_kz))
{
if (is_array($studiengang_kz))
{
$studiengang_kz = array_map(array($this,'escape'), $studiengang_kz);
$studiengang_kz = implode(', ', $studiengang_kz);
}
$condition = '
funktion_kurzbz = \'Leitung\'
AND ( datum_von <= NOW() OR datum_von IS NULL )
AND ( datum_bis >= NOW() OR datum_bis IS NULL )
AND studiengang_kz = ' . $this->db->escape($studiengang_kz)
AND studiengang_kz IN (' . $studiengang_kz. ')';
;
}
return $this->loadWhere($condition);
}
@@ -25,7 +25,8 @@ $this->load->view(
'bitteBegruendungAngeben',
'empfehlungWurdeAngefordert',
'anrechnungenWurdenGenehmigt',
'anrechnungenWurdenAbgelehnt'
'anrechnungenWurdenAbgelehnt',
'nurLeseberechtigung'
),
'person' => array(
'student',
@@ -72,7 +73,7 @@ $this->load->view(
</div>
<!--end header -->
<div class="row">
<div class="row" id="approveAnrechnungDetail-generell" data-readonly="<?php echo json_encode($hasReadOnlyAccess)?>">
<div class="col-xs-8">
<!-- Antragsdaten -->
<div class="row">
@@ -48,7 +48,8 @@ $this->load->view(
'empfehlungWurdeAngefordert',
'empfehlungWurdeAngefordertAusnahmeWoKeineLektoren',
'anrechnungenWurdenGenehmigt',
'anrechnungenWurdenAbgelehnt'
'anrechnungenWurdenAbgelehnt',
'nurLeseberechtigung'
),
'person' => array(
'student',
@@ -101,7 +102,7 @@ $this->load->view(
<!-- dropdown studiensemester -->
<div class="row">
<div class="col-lg-12">
<form id="formApproveAnrechnungUebersicht" class="form-inline" action="" method="get">
<form id="formApproveAnrechnungUebersicht" class="form-inline" action="" method="get" data-readonly="<?php echo json_encode($hasReadOnlyAccess)?>" data-createaccess="<?php echo json_encode($hasCreateAnrechnungAccess)?>">
<div class="form-group">
<?php
echo $this->widgetlib->widget(
@@ -226,7 +227,7 @@ $this->load->view(
class='fa fa-times'></i>
</button>
</div>
<a type="button" class="btn btn-default" style="margin-left: 20px;" href='<?php echo site_url('lehre/anrechnung/createAnrechnung') ?>' target='_blank'>
<a type="button" id="approveAnrechnungUebersicht-create-anrechnung" class="btn btn-default" style="margin-left: 20px;" href='<?php echo site_url('lehre/anrechnung/createAnrechnung') ?>' target='_blank'>
<i class='fa fa-plus' aria-hidden='true'></i> <?php echo $this->p->t('global', 'antragAnlegen'); ?>
</a>
</div>
+11 -3
View File
@@ -37,6 +37,11 @@ else
$ip = $_SERVER["REMOTE_ADDR"];
}
if(isset($_GET['norefresh']))
$norefresh = true;
else
$norefresh = false;
$infoscreen = new infoscreen();
$i=-1;
$refreshzeit = 40; // Default Refreshzeit
@@ -90,9 +95,12 @@ if(isset($infoscreen_content) && isset($infoscreen_content[$aktuellerContentIdx]
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="',$refreshzeit,'">
<link href="../../skin/infoscreen.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
if (!$norefresh)
{
echo '<meta http-equiv="refresh" content="',$refreshzeit,'">';
}
echo ' <link href="../../skin/infoscreen.css" rel="stylesheet" type="text/css">
';
//Skript fuer den automatischen bildlauf
@@ -1192,6 +1192,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
foreach ($grades as $uid => $data)
//Ausgabe Array
{
$htmlstring .= '<tr class="liste' . ($i % 2) . '">
<td><a href="mailto:' . $uid . '@' . DOMAIN . '"><img src="../../../../skin/images/button_mail.gif"></a></td>
<td>' . $db->convert_html_chars($uid) . '</td>
@@ -1219,6 +1220,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
$negativeteilnote = false;
$note_zusatztext = '';
$note_zusatztext_tooltip = '';
$ueberschreibbar = false; //Damit keine Notice Fehler kommt muss Variable bei jeden Schleifendurchgang neue gesetzt und berechnet werden.
if (isset($data['grades']))
{
+8 -4
View File
@@ -197,8 +197,10 @@ else
{
$prestudent->getFirstStatus($prestudent_id, 'Student');
$firstStudiensemester = $prestudent->studiensemester_kurzbz;
$prestudent->getLastStatus($prestudent_id, null, 'Student');
$lastStudiensemester = $prestudent->studiensemester_kurzbz;
if ($prestudent->getLastStatus($prestudent_id, null, 'Diplomand'))
$lastStudiensemester = $prestudent->studiensemester_kurzbz;
elseif ($prestudent->getLastStatus($prestudent_id, null, 'Student'))
$lastStudiensemester = $prestudent->studiensemester_kurzbz;
}
$stsem_obj->getStudiensemesterBetween($firstStudiensemester, $lastStudiensemester);
@@ -241,7 +243,7 @@ else
$qry = "SELECT
tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_zeugnisnote.note, tbl_zeugnisnote.punkte,
tbl_lvgesamtnote.note as lvnote, tbl_lvgesamtnote.punkte as lvpunkte,
tbl_zeugnisnote.benotungsdatum, tbl_lvgesamtnote.freigabedatum,
tbl_zeugnisnote.benotungsdatum, tbl_lvgesamtnote.freigabedatum, tbl_zeugnisnote.uebernahmedatum,
tbl_lvgesamtnote.benotungsdatum as lvbenotungsdatum,
tbl_zeugnisnote.studiensemester_kurzbz AS studiensemester_zeugnis, tbl_lvgesamtnote.studiensemester_kurzbz AS studiensemester_lvnote,
tbl_lehrveranstaltung.zeugnis, tbl_lehrveranstaltung.ects
@@ -354,6 +356,7 @@ else
if (count($pruefung->result) > 0)
{
$freigabedatum = $row->uebernahmedatum;
$tblBody .= '<td>';
foreach ($pruefung->result as $row)
{
@@ -367,7 +370,8 @@ else
else
$punkte = '';
$tblBody .= $row->pruefungstyp_beschreibung . ' ' . $datum_obj->formatDatum($row->datum, 'd.m.Y') . ' ' . $note . $punkte . '<br>';
if ($datum_obj->formatDatum($freigabedatum, "Y-m-d") >= $row->datum)
$tblBody .= $row->pruefungstyp_beschreibung . ' ' . $datum_obj->formatDatum($row->datum, 'd.m.Y') . ' ' . $note . $punkte . '<br>';
}
$tblBody .= '</td>';
}
+1 -1
View File
@@ -1,5 +1,5 @@
<?php
$url = "https://xgnd.bsz-bw.de/";
$url = "https://ognd.bsz-bw.de/";
$zielfeld = "kontrollschlagwoerter";
$url = $url."?zielfeld=".$zielfeld;
header('Content-Type: text/html; charset=utf-8');
+29 -3
View File
@@ -274,7 +274,7 @@ if (!$ansicht)
if (!$ansicht)
{
if ($is_employee)
if ($type === 'mitarbeiter')
{
$verwendung = new bisverwendung();
if($verwendung->getLastVerwendung($uid))
@@ -293,9 +293,35 @@ if (!$ansicht)
$adresse = new adresse();
$adresse->load_pers($user->person_id);
foreach($adresse->result as $a)
if ($type === 'mitarbeiter')
{
echo $a->strasse . "<b> (" . $a->bezeichnung_mehrsprachig[$sprache] .") </b>" . "<br>".$a->plz." ".$a->ort."<br><br>";
foreach ($adresse->result as $a)
{
echo $a->strasse . "<b> (" . $a->bezeichnung_mehrsprachig[$sprache] . ") </b>" . "<br>" . $a->plz . " " . $a->ort . "<br><br>";
}
}
else
{
function sortAdresse($a , $b)
{
if ($a->typ === $b->typ)
return 0;
return ($a->typ < $b->typ) ? -1 : 1;
}
usort($adresse->result, "sortAdresse");
foreach($adresse->result as $a)
{
if ($a->zustelladresse)
{
if ($a->bezeichnung_mehrsprachig[$sprache] !== NULL)
{
echo "<b>".$a->bezeichnung_mehrsprachig[$sprache].": </b><br>";
echo $a->strasse."<br>".$a->plz." ".$a->ort."<br><br>";
}
}
}
}
}
@@ -49,8 +49,11 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
<menupopup id="lehrveranstaltung-noten-tree-popup">
<menuitem label="Entfernen" oncommand="LehrveranstaltungNotenDelete();" id="lehrveranstaltung-noten-tree-popup-delete" hidden="false"/>
<menuitem label="Zertifikat erstellen" oncommand="LehrveranstaltungFFZertifikatPrint(event);" id="lehrveranstaltung-noten-tree-popup-ffzertifikat" hidden="false"/>
<menuitem label="Zertifikat erstellen mit Signatur" oncommand="LehrveranstaltungFFZertifikatPrint(event, true);" id="lehrveranstaltung-noten-tree-popup-ffzertifikat" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis Deutsch erstellen" oncommand="LehrveranstaltungLVZeugnisPrint(event, 'German');" id="lehrveranstaltung-noten-tree-popup-lvzeugnis" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis Deutsch erstellen mit Signatur" oncommand="LehrveranstaltungLVZeugnisPrint(event, 'German', true);" id="lehrveranstaltung-noten-tree-popup-lvzeugnis" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis Englisch erstellen" oncommand="LehrveranstaltungLVZeugnisPrint(event, 'English');" id="lehrveranstaltung-noten-tree-popup-lvzeugnis-englisch" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis Englisch erstellen mit Signatur" oncommand="LehrveranstaltungLVZeugnisPrint(event, 'English', true);" id="lehrveranstaltung-noten-tree-popup-lvzeugnis-englisch" hidden="false"/>
</menupopup>
</popupset>
<hbox flex="1" style="margin-top: 10px;">
+158 -50
View File
@@ -1335,7 +1335,7 @@ function LeMitarbeiterAuswahl()
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-checkbox-bismelden').checked=false;
var gesamtkosten = LeMitarbeiterGesamtkosten();
// Wenn Vertragsdetails angezeigt werden
if (lehrveranstaltung_vertragsdetails_anzeigen) {
@@ -2261,6 +2261,8 @@ function LehrveranstaltungNotenAuswahl()
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var url = '<?php echo APP_ROOT ?>rdf/zeugnisnote.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+'&uid='+student_uid+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&'+gettimestamp();
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/zeugnisnote/" + lehrveranstaltung_id+'/'+student_uid+'/'+studiensemester_kurzbz);
@@ -2272,9 +2274,6 @@ function LehrveranstaltungNotenAuswahl()
note = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#note" ));
punkte = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#punkte" ));
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/zeugnisnote.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+'&uid='+student_uid+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&'+gettimestamp();
if(note=='')
note='9';
@@ -2403,7 +2402,7 @@ function LehrveranstaltungNotenPunkteChange()
// ****
// * Erstellt das Zertifikat fuer die Freifaecher
// ****
function LehrveranstaltungFFZertifikatPrint(event)
function LehrveranstaltungFFZertifikatPrint(event, signieren)
{
tree = document.getElementById('lehrveranstaltung-noten-tree');
//Alle markierten Noten holen
@@ -2414,39 +2413,93 @@ function LehrveranstaltungFFZertifikatPrint(event)
var anzahl=0;
var lvid='';
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-student_uid"] : "lehrveranstaltung-noten-tree-student_uid";
uid = tree.view.getCellText(v,col);
paramList += ';'+uid;
anzahl = anzahl+1;
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-lehrveranstaltung_id"] : "lehrveranstaltung-noten-tree-lehrveranstaltung_id";
lvid = tree.view.getCellText(v,col);
}
}
var ss = getStudiensemester();
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-studiengang_kz_lv"] : "lehrveranstaltung-noten-tree-studiengang_kz_lv";
stg_kz = tree.view.getCellText(tree.currentIndex,col);
if (event.shiftKey)
var output='odt';
else if (event.ctrlKey)
var output='doc';
else
var output='pdf';
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=zertifikat.rdf.php&xsl=Zertifikat&stg_kz='+stg_kz+'&ss='+ss+'&'+gettimestamp();
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=zertifikat.rdf.php&xsl=Zertifikat&stg_kz='+stg_kz+'&uid='+paramList+'&output='+output+'&ss='+ss+'&lvid='+lvid+'&'+gettimestamp();
window.location.href = url;
//prompt('test:',url);
if (signieren)
{
// Wenn die Dokumente signiert werden, dann einzeln erstellen
var errors='';
var anz_erfolgreich=0;
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-student_uid"] : "lehrveranstaltung-noten-tree-student_uid";
uid = tree.view.getCellText(v,col);
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-lehrveranstaltung_id"] : "lehrveranstaltung-noten-tree-lehrveranstaltung_id";
lvid = tree.view.getCellText(v,col);
// Dokument fuer alle markierten Personen einzeln erstellen und signieren/archivieren
var req = new phpRequest(url,'','');
req.add('output', 'pdf');
req.add('sign', '1');
req.add('archive', '1');
req.add('uid', uid);
req.add('lvid', lvid);
var response = req.execute();
if (response != '')
errors = errors + response;
else
{
anz_erfolgreich = anz_erfolgreich + 1;
}
}
}
if (errors != '')
{
alert(anz_erfolgreich + ' Dokumente wurden erfolgreich erstellt und signiert. Folgende Fehler sind aufgetreten:' + errors);
}
else
{
alert(anz_erfolgreich + ' Dokumente wurden erfolgreich erstellt und signiert');
}
}
else
{
// wenn die Dokumente unsigniert erstellt werden, dann alle in ein Dokument generieren
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-student_uid"] : "lehrveranstaltung-noten-tree-student_uid";
uid = tree.view.getCellText(v,col);
paramList += ';'+uid;
anzahl = anzahl+1;
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-lehrveranstaltung_id"] : "lehrveranstaltung-noten-tree-lehrveranstaltung_id";
lvid = tree.view.getCellText(v,col);
}
}
if (event.shiftKey)
var output='odt';
else if (event.ctrlKey)
var output='doc';
else
var output='pdf';
url = url +'&uid='+paramList+'&lvid='+lvid+'&output='+output;
window.location.href = url;
}
}
// ****
// * Erstellt ein Lehrveranstaltungszeugnis fuer die LV
// ****
function LehrveranstaltungLVZeugnisPrint(event, sprache)
function LehrveranstaltungLVZeugnisPrint(event, sprache, signieren)
{
tree = document.getElementById('lehrveranstaltung-noten-tree');
//Alle markierten Noten holen
@@ -2457,37 +2510,92 @@ function LehrveranstaltungLVZeugnisPrint(event, sprache)
var anzahl=0;
var lvid='';
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-student_uid"] : "lehrveranstaltung-noten-tree-student_uid";
uid = tree.view.getCellText(v,col);
paramList += ';'+uid;
anzahl = anzahl+1;
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-lehrveranstaltung_id"] : "lehrveranstaltung-noten-tree-lehrveranstaltung_id";
lvid = tree.view.getCellText(v,col);
}
}
var ss = getStudiensemester();
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-studiengang_kz"] : "lehrveranstaltung-noten-tree-studiengang_kz";
stg_kz = tree.view.getCellText(tree.currentIndex,col);
if (event.shiftKey)
var output='odt';
else if (event.ctrlKey)
var output='doc';
else
var output='pdf';
var xsl = 'LVZeugnis';
if (sprache == 'English')
xsl = 'LVZeugnisEng';
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl='+xsl+'&stg_kz='+stg_kz+'&uid='+paramList+'&output='+output+'&ss='+ss+'&lvid='+lvid+'&'+gettimestamp();
window.location.href = url;
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl='+xsl+'&stg_kz='+stg_kz+'&ss='+ss+'&'+gettimestamp();
if(signieren)
{
// Wenn die Dokumente signiert werden, dann einzeln erstellen
var errors='';
var anz_erfolgreich=0;
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-student_uid"] : "lehrveranstaltung-noten-tree-student_uid";
uid = tree.view.getCellText(v,col);
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-lehrveranstaltung_id"] : "lehrveranstaltung-noten-tree-lehrveranstaltung_id";
lvid = tree.view.getCellText(v,col);
// Dokument fuer alle markierten Personen einzeln erstellen und signieren/archivieren
var req = new phpRequest(url,'','');
req.add('output', 'pdf');
req.add('sign', '1');
req.add('archive', '1');
req.add('uid', uid);
req.add('lvid', lvid);
var response = req.execute();
if (response != '')
errors = errors + response;
else
{
anz_erfolgreich = anz_erfolgreich + 1;
}
}
}
if (errors != '')
{
alert(anz_erfolgreich + ' Dokumente wurden erfolgreich erstellt und signiert. Folgende Fehler sind aufgetreten:' + errors);
}
else
{
alert(anz_erfolgreich + ' Dokumente wurden erfolgreich erstellt und signiert');
}
}
else
{
// wenn die Dokumente unsigniert erstellt werden, dann alle in ein Dokument generieren
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-student_uid"] : "lehrveranstaltung-noten-tree-student_uid";
uid = tree.view.getCellText(v,col);
paramList += ';'+uid;
anzahl = anzahl+1;
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-lehrveranstaltung_id"] : "lehrveranstaltung-noten-tree-lehrveranstaltung_id";
lvid = tree.view.getCellText(v,col);
}
}
if (event.shiftKey)
var output='odt';
else if (event.ctrlKey)
var output='doc';
else
var output='pdf';
url = url+'&lvid='+lvid+'&uid='+paramList+'&output='+output;
window.location.href = url;
}
}
// ****
+8
View File
@@ -47,6 +47,7 @@ require_once('../include/studienordnung.class.php');
require_once('../include/dokument_export.class.php');
require_once('../include/dokument.class.php');
require_once('../include/pdf.class.php');
require_once('../include/lehrveranstaltung.class.php');
$user = get_uid();
$db = new basis_db();
@@ -520,6 +521,13 @@ else
{
$bezeichnung = mb_substr($vorlage->bezeichnung." ".$studiengang->kuerzel, 0, 64);
}
elseif ($xsl === 'LVZeugnisEng' || $xsl === 'LVZeugnis' || $xsl === 'Zertifikat')
{
$lehrveranstaltung = new lehrveranstaltung($_GET['lvid']);
$vorlage->dokument_kurzbz = $xsl;
$bezeichnung = mb_substr($xsl." ".strtoupper($row->typ).strtoupper($row->kurzbz)." ".$semester.". Semester".' '.$ss . ' '. $lehrveranstaltung->bezeichnung, 0, 64);
$titel = mb_substr($xsl."_".strtoupper($row->typ).strtoupper($row->kurzbz)."_".$semester.'_'.$ss. '_' . str_replace(' ', '_', $lehrveranstaltung->bezeichnung), 0, 60);
}
else
{
$bezeichnung = mb_substr($xsl." ".strtoupper($row->typ).strtoupper($row->kurzbz)." ".$semester.". Semester".' '.$ss, 0, 64);
@@ -47,8 +47,11 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
<menupopup id="student-noten-tree-popup">
<menuitem label="Entfernen" oncommand="StudentNotenDelete();" id="student-noten-tree-popup-delete" hidden="false"/>
<menuitem label="Zertifikat erstellen" oncommand="StudentFFZertifikatPrint(event);" id="student-noten-tree-popup-ffzertifikat" hidden="false"/>
<menuitem label="Zertifikat archivieren mit Signatur" oncommand="StudentFFZertifikatPrint(event, true);" id="student-noten-tree-popup-ffzertifikat" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis erstellen" oncommand="StudentLVZeugnisPrint(event, 'German');" id="student-noten-tree-popup-lvzeugnis" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis archivieren mit Signatur" oncommand="StudentLVZeugnisPrint(event, 'German', true);" id="student-noten-tree-popup-lvzeugnis" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis Englisch erstellen" oncommand="StudentLVZeugnisPrint(event, 'English');" id="student-noten-tree-popup-lvzeugnis_eng" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis Englisch archivieren mit Signatur" oncommand="StudentLVZeugnisPrint(event, 'English', true);" id="student-noten-tree-popup-lvzeugnis_eng" hidden="false"/>
</menupopup>
</popupset>
<hbox flex="1" style="margin-top: 10px;">
+48 -7
View File
@@ -462,7 +462,7 @@ function StudentTreeKeyPress(event)
// ****
// * Erstellt das Zertifikat fuer die Freifaecher
// ****
function StudentFFZertifikatPrint(event)
function StudentFFZertifikatPrint(event, signieren)
{
// netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-noten-tree');
@@ -486,16 +486,36 @@ function StudentFFZertifikatPrint(event)
else
var output='pdf';
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=zertifikat.rdf.php&xsl=Zertifikat&stg_kz='+stg_kz+'&uid=;'+uid+'&output='+output+'&ss='+stsem+'&lvid='+lvid+'&'+gettimestamp();
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=zertifikat.rdf.php&xsl=Zertifikat&stg_kz='+stg_kz+'&uid='+uid+'&ss='+stsem+'&lvid='+lvid+'&'+gettimestamp();
// alert('url: '+url);
window.location.href = url;
if (signieren)
{
var req = new phpRequest(url,'','');
req.add('output', 'pdf');
req.add('sign', '1');
req.add('archive', '1');
var response = req.execute();
if (response != '')
alert(response)
else
{
alert('Erfolgreich archiviert und signiert');
StudentTreeRefresh();
}
}
else
{
url = url+'&output='+output;
window.location.href = url;
}
}
//****
//* Erstellt ein Lehrveranstaltungszeugnis fuer die LV
//****
function StudentLVZeugnisPrint(event, sprache)
function StudentLVZeugnisPrint(event, sprache, signieren)
{
// netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-noten-tree');
@@ -523,9 +543,30 @@ function StudentLVZeugnisPrint(event, sprache)
if (sprache == 'English')
xsl = 'LVZeugnisEng';
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl='+xsl+'&stg_kz='+stg_kz+'&uid=;'+uid+'&output='+output+'&ss='+stsem+'&lvid='+lvid+'&'+gettimestamp();
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl='+xsl+'&stg_kz='+stg_kz+'&uid='+uid+'&ss='+stsem+'&lvid='+lvid+'&'+gettimestamp();
window.location.href = url;
if (signieren)
{
var req = new phpRequest(url,'','');
req.add('output', 'pdf');
req.add('sign', '1');
req.add('archive', '1');
var response = req.execute();
if (response != '')
alert(response)
else
{
alert('Erfolgreich archiviert und signiert');
StudentTreeRefresh();
}
}
else
{
url = url+'&output='+output;
window.location.href = url;
}
}
// ****
+1 -1
View File
@@ -48,7 +48,7 @@ class bisverwendung extends basis_db
public $inkludierte_lehre;
public $zeitaufzeichnungspflichtig;
public $azgrelevant;
public $homeoffice;
public $homeoffice=false;
public $ba1bez;
public $ba2bez;
+1
View File
@@ -1358,6 +1358,7 @@ class mitarbeiter extends benutzer
WHERE
bismelden
AND personalnummer>0
AND tbl_bisverwendung.beginn<='.$this->db_add_param($meldungEnde).'
AND (tbl_bisverwendung.ende is NULL OR tbl_bisverwendung.ende>'.$this->db_add_param($meldungBeginn).')
ORDER BY uid, nachname,vorname
';
+6
View File
@@ -553,6 +553,12 @@ class statistik extends basis_db
{
$name = $this->db_field_name($this->data,$spalte);
$this->html.= '<td>'.$this->convert_html_chars($row->$name).'</td>';
// Umwandeln von Punkt in Komma bei Float-Werten
if (is_numeric($row->$name))
{
if (strpos($row->$name,'.') != false)
$row->$name = number_format($row->$name,2,",","");
}
$this->csv.= '"'.$row->$name.'",';
}
@@ -10,6 +10,7 @@ $(function(){
const genehmigung_panel = $('#approveAnrechnungDetail-genehmigung-panel');
const begruendung_panel = $('#approveAnrechnungDetail-begruendung-panel');
const hasReadOnlyAccess = $('#approveAnrechnungDetail-generell').data('readonly');
// Pruefen ob Promise unterstuetzt wird
// Tabulator funktioniert nicht mit IE
@@ -21,6 +22,11 @@ $(function(){
return;
}
if (hasReadOnlyAccess)
{
approveAnrechnungDetail.disableEditElements();
}
// Set status alert color
approveAnrechnungDetail.setStatusAlertColor();
@@ -417,6 +423,34 @@ var approveAnrechnungDetail = {
}
);
},
disableEditElements: function()
{
// Disable:
// ...button Empfehlung anfordern
$('#approveAnrechnungDetail-request-recommendation')
.prop('disabled', true)
.attr('title', FHC_PhrasesLib.t("ui", "nurLeseberechtigung"));
// ...button Empfehlung zuruecknehmen
$('#approveAnrechnungDetail-withdraw-request-recommedation')
.prop('disabled', true)
.attr('title', FHC_PhrasesLib.t("ui", "nurLeseberechtigung"));
// ...button Genehmigen
$('#approveAnrechnungDetail-approve-anrechnung-ask')
.prop('disabled', true)
.attr('title', FHC_PhrasesLib.t("ui", "nurLeseberechtigung"));
// ...button Ablehnen
$('#approveAnrechnungDetail-reject-anrechnung-ask')
.prop('disabled', true)
.attr('title', FHC_PhrasesLib.t("ui", "nurLeseberechtigung"));
// ...button Genehmigung zurücknehmen
$('#approveAnrechnungDetail-withdraw-anrechnung-approvement')
.prop('disabled', true)
.attr('title', FHC_PhrasesLib.t("ui", "nurLeseberechtigung"));
// ... form Empfehlungsnotiz
$('#form-empfehlungNotiz :input')
.prop('disabled', true)
.attr('title', FHC_PhrasesLib.t("ui", "nurLeseberechtigung"));
},
copyIntoTextarea: function(elem){
// Find closest textarea
@@ -148,6 +148,8 @@ $(function(){
const genehmigung_panel = $('#approveAnrechnungUebersicht-genehmigung-panel');
const begruendung_panel = $('#approveAnrechnungUebersicht-begruendung-panel');
const hasReadOnlyAccess = $('#formApproveAnrechnungUebersicht').data('readonly');
const hasCreateAnrechnungAccess = $('#formApproveAnrechnungUebersicht').data('createaccess');
// Pruefen ob Promise unterstuetzt wird
// Tabulator funktioniert nicht mit IE
@@ -165,6 +167,16 @@ $(function(){
$('#tableWidgetTabulator').tabulator('redraw', true);
});
if (hasReadOnlyAccess)
{
approveAnrechnung.disableEditElements();
}
if (!hasCreateAnrechnungAccess)
{
approveAnrechnung.disableCreateAnrechnungButton();
}
// Set status alert color
approveAnrechnung.setStatusAlertColor();
@@ -517,6 +529,30 @@ var approveAnrechnung = {
$('#requestAnrechnung-status_kurzbz').closest('div').addClass('alert-warning');
}
},
disableEditElements: function()
{
// Disable:
// ...button Empfehlung anfordern
$('#approveAnrechnungUebersicht-request-recommendation')
.prop('disabled', true)
.attr('title', FHC_PhrasesLib.t("ui", "nurLeseberechtigung"));
// ...button Ablehnen
$('#approveAnrechnungUebersicht-reject-anrechnungen-ask')
.prop('disabled', true)
.attr('title', FHC_PhrasesLib.t("ui", "nurLeseberechtigung"));
// ...button Genehmigen
$('#approveAnrechnungUebersicht-approve-anrechnungen-ask')
.prop('disabled', true)
.attr('title', FHC_PhrasesLib.t("ui", "nurLeseberechtigung"));
},
disableCreateAnrechnungButton: function()
{
// Disable button Antrag anlegen
$('#approveAnrechnungUebersicht-create-anrechnung')
.removeAttr('href')
.css({'color': 'grey', 'pointer-events': 'none'}); // property disabled does not work for <a> link
},
copyIntoTextarea: function(elem){
// Find closest textarea
+1 -1
View File
@@ -158,7 +158,7 @@ foreach($uid_arr as $uid)
echo "\t\t<ects_pro_semester_studienplan><![CDATA[".($studienplan->regelstudiendauer!=0?$studienplan->ects_stpl/$studienplan->regelstudiendauer:0)."]]></ects_pro_semester_studienplan>";
echo "\t\t<aktuellesJahr><![CDATA[".date('Y')."]]></aktuellesJahr>";
$status_aktuell = ($prestudent->getLastStatus($student->prestudent_id,null,null))?$prestudent->status_kurzbz:'';
$status_aktuell = ($prestudent->getLastStatus($student->prestudent_id,$studiensemester,null))?$prestudent->status_kurzbz:'';
$abbrecher = false;
$absolvent = false;
+239
View File
@@ -3458,6 +3458,231 @@ if(!@$db->db_query("SELECT insertamum FROM public.tbl_vorlage LIMIT 1"))
echo '<br>Neue Spalten insertamum,insertvon,updateamum und updatevon in public.tbl_vorlage hinzugefügt';
}
// Spalte archivierbar und signierbar in public.tbl_vorlage auf TRUE gesetzt bei Vorlage: Zertifikat
if($result = @$db->db_query("SELECT 1 FROM public.tbl_vorlage WHERE vorlage_kurzbz = 'Zertifikat' AND archivierbar AND signierbar;"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "UPDATE public.tbl_vorlage SET archivierbar = TRUE, signierbar = TRUE WHERE vorlage_kurzbz = 'Zertifikat';";
if(!$db->db_query($qry))
echo '<strong>public.tbl_vorlage '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_vorlage: Spalten archivierbar und signierbar auf TRUE gesetzt bei Vorlage: Zertifikat<br>';
}
}
// Spalte archivierbar und signierbar in public.tbl_vorlage auf TRUE gesetzt bei Vorlage: LVZeugnis
if($result = @$db->db_query("SELECT 1 FROM public.tbl_vorlage WHERE vorlage_kurzbz = 'LVZeugnis' AND archivierbar AND signierbar;"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "UPDATE public.tbl_vorlage SET archivierbar = TRUE, signierbar = TRUE WHERE vorlage_kurzbz = 'LVZeugnis';";
if(!$db->db_query($qry))
echo '<strong>public.tbl_vorlage '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_vorlage: Spalten archivierbar und signierbar auf TRUE gesetzt bei Vorlage: LVZeugnis<br>';
}
}
// Spalte archivierbar und signierbar in public.tbl_vorlage auf TRUE gesetzt bei Vorlage: LVZeugnisEng
if($result = @$db->db_query("SELECT 1 FROM public.tbl_vorlage WHERE vorlage_kurzbz = 'LVZeugnisEng' AND archivierbar AND signierbar;"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "UPDATE public.tbl_vorlage SET archivierbar = TRUE, signierbar = TRUE WHERE vorlage_kurzbz = 'LVZeugnisEng';";
if(!$db->db_query($qry))
echo '<strong>public.tbl_vorlage '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_vorlage: Spalten archivierbar und signierbar auf TRUE gesetzt bei Vorlage: LVZeugnisEng<br>';
}
}
// Spalte stud_selfservice in public.tbl_vorlage auf TRUE gesetzt bei Vorlage: Zertifikat
if($result = @$db->db_query("SELECT 1 FROM public.tbl_vorlage WHERE vorlage_kurzbz = 'Zertifikat' AND stud_selfservice;"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "UPDATE public.tbl_vorlage SET stud_selfservice = TRUE WHERE vorlage_kurzbz = 'Zertifikat';";
if(!$db->db_query($qry))
echo '<strong>public.tbl_vorlage '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_vorlage: Spalte stud_selfservice auf TRUE gesetzt bei Vorlage: Zertifikat<br>';
}
}
// Spalte stud_selfservice in public.tbl_vorlage auf TRUE gesetzt bei Vorlage: LVZeugnis
if($result = @$db->db_query("SELECT 1 FROM public.tbl_vorlage WHERE vorlage_kurzbz = 'LVZeugnis' AND stud_selfservice;"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "UPDATE public.tbl_vorlage SET stud_selfservice = TRUE WHERE vorlage_kurzbz = 'LVZeugnis';";
if(!$db->db_query($qry))
echo '<strong>public.tbl_vorlage '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_vorlage: Spalte stud_selfservice auf TRUE gesetzt bei Vorlage: LVZeugnis<br>';
}
}
// Spalte stud_selfservice in public.tbl_vorlage auf TRUE gesetzt bei Vorlage: LVZeugnisEng
if($result = @$db->db_query("SELECT 1 FROM public.tbl_vorlage WHERE vorlage_kurzbz = 'LVZeugnisEng' AND stud_selfservice;"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "UPDATE public.tbl_vorlage SET stud_selfservice = TRUE WHERE vorlage_kurzbz = 'LVZeugnisEng';";
if(!$db->db_query($qry))
echo '<strong>public.tbl_vorlage '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_vorlage: Spalte stud_selfservice auf TRUE gesetzt bei Vorlage: LVZeugnisEng<br>';
}
}
// dokument_kurzbz in public.tbl_dokument auf 32 Zeichen verlängert
if($result = @$db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'public' AND TABLE_NAME = 'tbl_dokument' AND COLUMN_NAME = 'dokument_kurzbz' AND character_maximum_length = 32"))
{
if($db->db_num_rows($result) == 0)
{
$qry = " ALTER TABLE public.tbl_dokument ALTER COLUMN dokument_kurzbz TYPE varchar(32)";
if(!$db->db_query($qry))
echo '<strong>public.tbl_dokument '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte dokument_kurzbz in public.tbl_dokument auf varchar(32) geändert<br>';
}
}
// dokument_kurzbz in public.tbl_akte auf 32 Zeichen verlängert
if($result = @$db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'public' AND TABLE_NAME = 'tbl_akte' AND COLUMN_NAME = 'dokument_kurzbz' AND character_maximum_length = 32"))
{
if($db->db_num_rows($result) == 0)
{
$qry = " ALTER TABLE public.tbl_akte ALTER COLUMN dokument_kurzbz TYPE varchar(32)";
if(!$db->db_query($qry))
echo '<strong>public.tbl_dokument '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte dokument_kurzbz in public.tbl_akte auf varchar(32) geändert<br>';
}
}
// dokument_kurzbz in campus.tbl_dms auf 32 Zeichen verlängert
if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='campus' AND TABLE_NAME='tbl_dms' AND COLUMN_NAME = 'dokument_kurzbz' AND character_maximum_length = 32"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "ALTER TABLE campus.tbl_dms ALTER COLUMN dokument_kurzbz TYPE varchar(32)";
if(!$db->db_query($qry))
echo '<strong>campus.tbl_dms '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte dokument_kurzbz in campus.tbl_dms auf varchar(32) geändert<br>';
}
}
// dokument_kurzbz in public.tbl_dokumentprestudent auf 32 Zeichen verlängert
if($result = @$db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'public' AND TABLE_NAME = 'tbl_dokumentprestudent' AND COLUMN_NAME = 'dokument_kurzbz' AND character_maximum_length = 32"))
{
if($db->db_num_rows($result) == 0)
{
$qry = " ALTER TABLE public.tbl_dokumentprestudent ALTER COLUMN dokument_kurzbz TYPE varchar(32)";
if(!$db->db_query($qry))
echo '<strong>public.tbl_dokumentprestudent '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte dokument_kurzbz in public.tbl_dokumentprestudent auf varchar(32) geändert<br>';
}
}
// dokument_kurzbz in public.tbl_dokumentstudiengang auf 32 Zeichen verlängert
if($result = @$db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'public' AND TABLE_NAME = 'tbl_dokumentstudiengang' AND COLUMN_NAME = 'dokument_kurzbz' AND character_maximum_length = 32"))
{
if($db->db_num_rows($result) == 0)
{
$qry = " ALTER TABLE public.tbl_dokumentstudiengang ALTER COLUMN dokument_kurzbz TYPE varchar(32)";
if(!$db->db_query($qry))
echo '<strong>public.tbl_dokumentstudiengang '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte dokument_kurzbz in public.tbl_dokumentstudiengang auf varchar(32) geändert<br>';
}
}
// dokument_kurzbz in public.tbl_vorlage auf 32 Zeichen verlängert
if($result = @$db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'public' AND TABLE_NAME = 'tbl_vorlage' AND COLUMN_NAME = 'dokument_kurzbz' AND character_maximum_length = 32"))
{
if($db->db_num_rows($result) == 0)
{
$qry = " ALTER TABLE public.tbl_vorlage ALTER COLUMN dokument_kurzbz TYPE varchar(32)";
if(!$db->db_query($qry))
echo '<strong>public.tbl_vorlage '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte dokument_kurzbz in public.tbl_vorlage auf varchar(32) geändert<br>';
}
}
// dokument_kurzbz in public.tbl_vorlagedokument auf 32 Zeichen verlängert
if($result = @$db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'public' AND TABLE_NAME = 'tbl_vorlagedokument' AND COLUMN_NAME = 'dokument_kurzbz' AND character_maximum_length = 32"))
{
if($db->db_num_rows($result) == 0)
{
$qry = " ALTER TABLE public.tbl_vorlagedokument ALTER COLUMN dokument_kurzbz TYPE varchar(32)";
if(!$db->db_query($qry))
echo '<strong>public.tbl_vorlage '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte dokument_kurzbz in public.tbl_vorlagedokument auf varchar(32) geändert<br>';
}
}
// Neues Dokument hinzugefuegt LVZeugnisEng
if($result = @$db->db_query("SELECT 1 FROM public.tbl_dokument WHERE dokument_kurzbz = 'LVZeugnisEng'"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO public.tbl_dokument (dokument_kurzbz, bezeichnung, bezeichnung_mehrsprachig) VALUES ('LVZeugnisEng', 'Lehrveranstaltungszeugnis Englisch', '{\"Lehrveranstaltungszeugnis\",\"Course Certificate\"}')";
if(!$db->db_query($qry))
echo '<strong>public.tbl_dokument '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_dokument: LVZeugnisEng hinzugefügt<br>';
}
}
// Neues Dokument hinzugefuegt LVZeugnis
if($result = @$db->db_query("SELECT 1 FROM public.tbl_dokument WHERE dokument_kurzbz = 'LVZeugnis'"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO public.tbl_dokument (dokument_kurzbz, bezeichnung, bezeichnung_mehrsprachig) VALUES ('LVZeugnis', 'Lehrveranstaltungszeugnis', '{\"Lehrveranstaltungszeugnis\",\"Course Certificate\"}')";
if(!$db->db_query($qry))
echo '<strong>public.tbl_dokument '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_dokument: LVZeugnis hinzugefügt<br>';
}
}
// Neues Dokument hinzugefuegt Zertifikat
if($result = @$db->db_query("SELECT 1 FROM public.tbl_dokument WHERE dokument_kurzbz = 'Zertifikat'"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO public.tbl_dokument (dokument_kurzbz, bezeichnung, bezeichnung_mehrsprachig) VALUES ('Zertifikat', 'Zertifikat', '{\"Zertifikat\",\"Certificate\"}')";
if(!$db->db_query($qry))
echo '<strong>public.tbl_dokument '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_dokument: Zertifikat hinzugefügt<br>';
}
}
// insert und update fuer public.tbl_vorlagestudiengang
if(!@$db->db_query("SELECT insertamum FROM public.tbl_vorlagestudiengang LIMIT 1"))
{
@@ -5716,6 +5941,20 @@ if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_zeita
}
}
// Change size of wawi.tbl_kostenstelle.kostenstelle_nr from character varying(4) to character varying(6)
if ($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='wawi' AND TABLE_NAME='tbl_kostenstelle' AND COLUMN_NAME = 'kostenstelle_nr' AND character_maximum_length < 6"))
{
if ($db->db_num_rows($result) > 0)
{
$qry = "ALTER TABLE wawi.tbl_kostenstelle ALTER COLUMN kostenstelle_nr TYPE varchar(6);";
if(!$db->db_query($qry))
echo '<strong>wawi.tbl_kostenstelle '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte kostenstelle_nr in wawi.tbl_kostenstelle von varchar(4) auf varchar(6) geändert<br>';
}
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
+41 -1
View File
@@ -12873,6 +12873,26 @@ array(
)
)
),
array(
'app' => 'core',
'category' => 'eucovidqr',
'phrase' => 'maxtagebeschreibung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "ACHTUNG seit Februar 2022 werden Zutrittskarten für maximal 60 Tage freigeschalten.",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "ATTENTION since February 2022 a maximum of 60 days validity is granted for accesscards",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'eucovidqr',
@@ -13674,7 +13694,27 @@ array(
'insertvon' => 'system'
)
)
)
),
array(
'app' => 'core',
'category' => 'ui',
'phrase' => 'nurLeseberechtigung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Nur Leseberechtigung",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Read-Only Access",
'description' => '',
'insertvon' => 'system'
)
)
)
);
@@ -86,9 +86,22 @@ $(document).ready(function()
$("#t3").tablesorter(
{
sortList: [[1,0],[2,0],[3,0]],
widgets: ["zebra"],
widgets: ["zebra", "filter", "stickyHeaders"],
headers: {8:{sorter:false}},
emptyTo: "emptyMax"
emptyTo: "emptyMax",
widgetOptions : { filter_functions:
{
// Add select menu to this column
6 : {
"Ja" : function(e, n, f, i, $r, c, data) { return /Ja/.test(e); },
"Nein" : function(e, n, f, i, $r, c, data) { return /Nein/.test(e); }
},
7 : {
"Aktiv" : function(e, n, f, i, $r, c, data) { return $r.find("div").hasClass( "buttonGreen" ); },
"Inaktiv" : function(e, n, f, i, $r, c, data) { return $r.find("div").hasClass( "buttonRed" ) || $r.find("div").hasClass( "buttonYellow" ); }
}
}
}
});
$("#t4").tablesorter(
{
@@ -528,8 +541,22 @@ if($rolle_kurzbz != '')
if(isset($rollen->result) && count($rollen->result) != 0)
{
// Anzahl uniquer UIDs ermitteln
$berechtigungen_array_uids = sizeof(array_column($rollen->result, null, 'uid'));
$htmlstr .= "<h3>".$berechtigung_kurzbz."</h3>\n";
$htmlstr .= "<div style='font-size: 9pt'>".count($rollen->result)." Einträge</div>";
$htmlstr .= "<div style='font-size: 9pt'>".$berechtigungen_array_uids." UIDs</div>";
$htmlstr .= "<table id='t3' class='tablesorter'><thead><tr>\n";
$htmlstr .= "<th>Rolle</th><th>Funktion</th><th>Nachname</th><th>Vorname</th><th>UID</th><th>Art</th><th>Benutzer Aktiv</th><th>Status</th><th>Aktion</th>";
$htmlstr .= " <th>Rolle</th>
<th>Funktion</th>
<th>Nachname</th>
<th>Vorname</th>
<th>UID</th>
<th>Art</th>
<th>Benutzer Aktiv</th>
<th>Status</th>
<th>Aktion</th>";
$htmlstr .= "</tr></thead><tbody>\n";
foreach($rollen->result as $row)
@@ -541,35 +568,16 @@ if($rolle_kurzbz != '')
if ($row->ende!='' && strtotime($row->ende) < $heute)
{
$color1 = '#f79c9c';
$color2 = '#cc0202';
$status = '<div class="buttonRed"></div>';
}
elseif ($row->start!='' && strtotime($row->start) > $heute)
{
$color1 = '#faf7b9';
$color2 = '#cfde00';
$status = '<div class="buttonYellow"></div>';
}
else
{
$color1 = '#d1fab9';
$color2 = '#00de00';
$status = '<div class="buttonGreen"></div>';
}
$status='<div style="
width: 10px;
height: 10px;
background: '.$color1.';
background-image: -webkit-linear-gradient(top, '.$color1.', '.$color2.');
background-image: -moz-linear-gradient(top, '.$color1.', '.$color2.');
background-image: -ms-linear-gradient(top, '.$color1.', '.$color2.');
background-image: -o-linear-gradient(top, '.$color1.', '.$color2.');
background-image: linear-gradient(to bottom, '.$color1.', '.$color2.');
-webkit-border-radius: 10;
-moz-border-radius: 10;
border-radius: 10px;
border: solid #999 1px;
text-decoration: none;
"></div>';
$htmlstr .= ' <tr>';
$htmlstr .= ' <td>'.$row->rolle_kurzbz.'</td>';