Merge remote-tracking branch 'origin/master'

This commit is contained in:
alex
2018-11-21 17:06:42 +01:00
22 changed files with 1090 additions and 356 deletions
+52 -12
View File
@@ -9,20 +9,60 @@ $config['navigation_header'] = array(
'link' => site_url(''),
'icon' => '',
'description' => 'FH-Complete',
'sort' => 1
'sort' => 10
),
'vilesci' => array(
'link' => base_url('vilesci'),
'icon' => '',
'description' => 'Vilesci',
'sort' => 2,
'requiredPermissions' => 'basis/vilesci:r'
'Organisation' => array(
'link' => '#',
'icon' => 'sitemap',
'description' => 'Organisation',
'sort' => 20,
'children'=> array(
'vilesci' => array(
'link' => base_url('vilesci'),
'icon' => '',
'description' => 'Vilesci',
'expand' => true,
'sort' => 1,
'requiredPermissions' => 'basis/vilesci:r'
)
)
),
'cis' => array(
'link' => CIS_ROOT,
'icon' => '',
'description' => 'CIS',
'sort' => 3
'Lehre' => array(
'link' => '#',
'icon' => 'graduation-cap',
'description' => 'Lehre',
'sort' => 30,
'children'=> array(
'cis' => array(
'link' => CIS_ROOT,
'icon' => '',
'description' => 'CIS',
'sort' => 10
),
'infocenter' => array(
'link' => site_url('system/infocenter/InfoCenter'),
'icon' => 'info',
'description' => 'Infocenter',
'expand' => true,
'sort' => 20,
'requiredPermissions' => 'infocenter:r'
),
)
),
'Personen' => array(
'link' => '#',
'icon' => 'user',
'description' => 'Personen',
'sort' => 40,
'children'=> array(
'bpk' => array(
'link' => site_url('person/BPKWartung'),
'icon' => '',
'description' => 'BPK Wartung',
'sort' => 10,
'requiredPermissions' => 'admin:r'
)
)
)
)
);
@@ -0,0 +1,199 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Page for checking Persons where no bPK was found automatically
*/
class BPKWartung extends Auth_Controller
{
private $_uid; // contains the UID of the logged user
/**
* Constructor
*/
public function __construct()
{
parent::__construct(
array(
'index' => 'admin:r',
'showDetails' => 'admin:r',
'saveBPK' => 'admin:rw',
)
);
// Loads models
$this->load->model('crm/akte_model', 'AkteModel');
$this->load->model('person/person_model', 'PersonModel');
$this->load->model('person/adresse_model', 'AdressModel');
$this->load->library('WidgetLib');
$this->loadPhrases(
array(
'global',
'person',
'lehre',
'ui',
'infocenter',
'filter'
)
);
$this->setControllerId(); // sets the controller id
}
// -----------------------------------------------------------------------------------------------------------------
// Public methods
/**
* Main page of the InfoCenter tool
*/
public function index()
{
$this->_setNavigationMenuIndex(); // define the navigation menu for this page
$this->load->view('person/bpk/bpkwartung.php');
}
/**
* Personal details page of the InfoCenter tool
* Initialization function, gets person and prestudent data and loads the view with the data
* @param $person_id
*/
public function showDetails()
{
$this->_setNavigationMenuShowDetails();
$person_id = $this->input->get('person_id');
if (!is_numeric($person_id))
show_error('person id is not numeric!');
$personexists = $this->PersonModel->load($person_id);
if (isError($personexists))
show_error($personexists->retval);
if (!hasData($personexists))
show_error('Person does not exist!');
$persondata = $this->_loadPersonData($person_id);
$data[self::FHC_CONTROLLER_ID] = $this->getControllerId();
$this->load->view('person/bpk/bpkDetails.php', $persondata);
}
/**
* Saves a ZGV for a prestudent, includes Ort, Datum, Nation for bachelor and master
* @param $prestudent_id
*/
public function saveBPK()
{
$person_id = $this->input->post('person_id');
$bpk = $this->input->post('bpk');
if (isEmptyString($person_id))
$result = error('PersonID missing');
else
{
$result = $this->PersonModel->update(
$person_id,
array(
'bpk' => $bpk,
'updateamum' => date('Y-m-d H:i:s')
)
);
redirect('person/BPKWartung/index');
}
}
// -----------------------------------------------------------------------------------------------------------------
// Private methods
/**
* Loads all necessary Person data: Stammdaten (name, svnr, contact, ...), Dokumente, Logs and Notizen
* @param $person_id
* @return array
*/
private function _loadPersonData($person_id)
{
$stammdaten = $this->PersonModel->getPersonStammdaten($person_id, true);
if (isError($stammdaten))
{
show_error($stammdaten->retval);
}
if (!isset($stammdaten->retval))
return null;
$adresse = $this->AdressModel->getZustellAdresse($person_id);
if (isError($adresse))
{
show_error($adresse->retval);
}
$data = array(
'stammdaten' => $stammdaten->retval,
'adresse' => $adresse->retval[0]
);
return $data;
}
/**
* Define the navigation menu for the showDetails page
*/
private function _setNavigationMenuShowDetails()
{
$this->load->library('NavigationLib', array('navigation_page' => 'person/BPKWartung/showDetails'));
$link = site_url('person/BPKWartung');
$this->navigationlib->setSessionMenu(
array(
'back' => $this->navigationlib->oneLevel(
'Zurück', // description
$link, // link
array(), // children
'angle-left', // icon
true, // expand
null, // subscriptDescription
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
1 // sort
)
)
);
}
/**
* Define the navigation menu for the showDetails page
*/
private function _setNavigationMenuIndex()
{
$this->load->library('NavigationLib', array('navigation_page' => 'person/BPKWartung/index'));
$link = site_url();
$this->navigationlib->setSessionMenu(
array(
'back' => $this->navigationlib->oneLevel(
'Zurück', // description
$link, // link
array(), // children
'angle-left', // icon
true, // expand
null, // subscriptDescription
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
1 // sort
)
)
);
}
}
+40 -14
View File
@@ -26,6 +26,8 @@ class DB_Model extends FHC_Model
private $executedQueryMetaData;
private $executedQueryListFields;
private $debugMode;
/**
* Constructor
*/
@@ -42,6 +44,10 @@ class DB_Model extends FHC_Model
// Loads the UDF library
$this->load->library('UDFLib');
// Loads the logs library
$this->load->library('LogLib');
$this->debugMode = isset($this->db->db_debug) && $this->db->db_debug === true;
}
// ------------------------------------------------------------------------------------------
@@ -62,7 +68,11 @@ class DB_Model extends FHC_Model
if (isError($validate = $this->_manageUDFs($data, $this->dbTable))) return $validate;
// DB-INSERT
if ($this->db->insert($this->dbTable, $data))
$insert = $this->db->insert($this->dbTable, $data);
$this->_logLastQuery();
if ($insert)
{
// If the table has a primary key that uses a sequence
if ($this->hasSequence === true)
@@ -126,7 +136,11 @@ class DB_Model extends FHC_Model
$this->db->where($tmpId);
// DB-UPDATE
if ($this->db->update($this->dbTable, $data))
$update = $this->db->update($this->dbTable, $data);
$this->_logLastQuery();
if ($update)
{
return success($id);
}
@@ -164,7 +178,11 @@ class DB_Model extends FHC_Model
}
// DB-DELETE
if ($this->db->delete($this->dbTable, $tmpId))
$delete = $this->db->delete($this->dbTable, $tmpId);
$this->_logLastQuery();
if ($delete)
{
return success($id);
}
@@ -201,15 +219,7 @@ class DB_Model extends FHC_Model
$tmpId = array($this->pk => $id);
}
// DB-SELECT
if ($result = $this->db->get_where($this->dbTable, $tmpId))
{
return success($this->_toPhp($result));
}
else
{
return error($this->db->error(), FHC_DB_ERROR);
}
return $this->loadWhere($tmpId);
}
/**
@@ -223,7 +233,11 @@ class DB_Model extends FHC_Model
if (is_null($this->dbTable)) return error(FHC_MODEL_ERROR, FHC_NODBTABLE);
// Execute query
if ($result = $this->db->get_where($this->dbTable, $where))
$result = $this->db->get_where($this->dbTable, $where);
$this->_logLastQuery();
if ($result)
{
return success($this->_toPhp($result));
}
@@ -292,6 +306,9 @@ class DB_Model extends FHC_Model
// Execute the query
$resultDB = $this->db->get_where($this->dbTable, $where);
$this->_logLastQuery();
// If everything went ok...
if ($resultDB)
{
@@ -603,7 +620,6 @@ class DB_Model extends FHC_Model
// Workaround to get metadata from this table
$result = $this->db->query(sprintf(DB_Model::QUERY_LIST_FIELDS, $this->dbTable));
if (is_object($result))
{
$listFields = $result->list_fields();
@@ -736,6 +752,8 @@ class DB_Model extends FHC_Model
$resultDB = $this->db->query($query);
}
$this->_logLastQuery();
// If no errors occurred
if ($resultDB)
{
@@ -940,4 +958,12 @@ class DB_Model extends FHC_Model
return $this->execQuery($query, array(strtolower($schema), strtolower($table)));
}
/**
*
*/
private function _logLastQuery()
{
if ($this->debugMode) $this->loglib->logDebug($this->db->last_query());
}
}
+45 -39
View File
@@ -16,27 +16,48 @@ class LogLib
const CLASS_POSTFIX = '->';
const LINE_SEPARATOR = ':';
// --------------------------------------------------------------------------------------------------------------
// Public methods
/**
* format
* logDebug
*/
private function format($class, $function, $line)
public function logDebug($message)
{
$formatted = LogLib::CALLER_PREFIX;
if (!is_null($class) && $class != '')
{
$formatted .= $class.LogLib::CLASS_POSTFIX;
}
$formatted .= $function.LogLib::LINE_SEPARATOR.$line.LogLib::CALLER_POSTFIX.' ';
return $formatted;
$this->_log(LogLib::DEBUG, $message);
}
/**
* getCaller
* logInfo
*/
private function getCaller()
public function logInfo($message)
{
$this->_log(LogLib::INFO, $message);
}
/**
* logError
*/
public function logError($message)
{
$this->_log(LogLib::ERROR, $message);
}
// --------------------------------------------------------------------------------------------------------------
// Private methods
/**
* log
*/
private function _log($level, $message)
{
log_message($level, $this->_getCaller().$message);
}
/**
* _getCaller
*/
private function _getCaller()
{
$classIndex = 3;
$functionIndex = 3;
@@ -60,38 +81,23 @@ class LogLib
$line = $backtrace_arr[$lineIndex]['line'];
}
return $this->format($class, $function, $line);
return $this->_format($class, $function, $line);
}
/**
* log
* format
*/
private function log($level, $message)
private function _format($class, $function, $line)
{
log_message($level, $this->getCaller().$message);
}
$formatted = LogLib::CALLER_PREFIX;
/**
* logDebug
*/
public function logDebug($message)
{
$this->log(LogLib::DEBUG, $message);
}
if (!is_null($class) && $class != '')
{
$formatted .= $class.LogLib::CLASS_POSTFIX;
}
/**
* logInfo
*/
public function logInfo($message)
{
$this->log(LogLib::INFO, $message);
}
$formatted .= $function.LogLib::LINE_SEPARATOR.$line.LogLib::CALLER_POSTFIX.' ';
/**
* logError
*/
public function logError($message)
{
$this->log(LogLib::ERROR, $message);
return $formatted;
}
}
@@ -11,4 +11,15 @@ class Adresse_model extends DB_Model
$this->dbTable = 'public.tbl_adresse';
$this->pk = 'adresse_id';
}
/**
* gets person data from uid
* @param $uid
* @return array
*/
public function getZustellAdresse($person_id)
{
return $this->loadWhere(array('person_id' => $person_id, 'zustelladresse'=> true));
}
}
+58
View File
@@ -0,0 +1,58 @@
<?php
$filterWidgetArray = array(
'query' => '
SELECT
person_id, vorname, nachname, geschlecht, svnr, ersatzkennzeichen, matr_nr,
staatsbuergerschaft, gebdatum
FROM
public.tbl_person
WHERE
matr_nr is not null
AND bpk is null
AND EXISTS(SELECT 1 FROM public.tbl_benutzer JOIN public.tbl_student ON(uid=student_uid) AND
person_id=tbl_person.person_id AND tbl_benutzer.aktiv=true)
',
'requiredPermissions' => 'admin',
'additionalColumns' => array('Details'),
'columnsAliases' => array(
'PersonID',
ucfirst($this->p->t('person', 'vorname')) ,
ucfirst($this->p->t('person', 'nachname')),
ucfirst($this->p->t('person', 'geschlecht')),
ucfirst($this->p->t('person', 'svnr')),
ucfirst($this->p->t('person', 'ersatzkennzeichen')),
ucfirst($this->p->t('person', 'matrikelnummer')),
ucfirst($this->p->t('person', 'staatsbuergerschaft')),
ucfirst($this->p->t('person', 'geburtsdatum')),
),
'formatRow' => function($datasetRaw) {
/* NOTE: Dont use $this here for PHP Version compatibility */
$datasetRaw->{'Details'} = sprintf(
'<a href="%s?person_id=%s&origin_page=%s&fhc_controller_id=%s">Details</a>',
site_url('person/BPKWartung/showDetails'),
$datasetRaw->{'person_id'},
'index',
(isset($_GET['fhc_controller_id'])?$_GET['fhc_controller_id']:'')
);
if ($datasetRaw->{'ersatzkennzeichen'} == null)
{
$datasetRaw->{'ersatzkennzeichen'} = '-';
}
if ($datasetRaw->{'svnr'} == null)
{
$datasetRaw->{'svnr'} = '-';
}
return $datasetRaw;
}
);
$filterWidgetArray['app'] = 'core';
$filterWidgetArray['datasetName'] = 'overview';
$filterWidgetArray['filterKurzbz'] = 'BPKWartung';
$filterWidgetArray['filter_id'] = $this->input->get('filter_id');
echo $this->widgetlib->widget('FilterWidget', $filterWidgetArray);
?>
+153
View File
@@ -0,0 +1,153 @@
<?php
$this->load->view(
'templates/FHC-Header',
array(
'title' => 'bPK Details',
'jquery' => true,
'bootstrap' => true,
'fontawesome' => true,
'jqueryui' => true,
'ajaxlib' => true,
'tablesorter' => true,
'tinymce' => true,
'sbadmintemplate' => true,
'addons' => true,
'navigationwidget' => true,
'customCSSs' => array(
'public/css/sbadmin2/admintemplate.css',
'public/css/sbadmin2/tablesort_bootstrap.css',
'public/css/infocenter/infocenterDetails.css'
),
'customJSs' => array(
'public/js/bootstrapper.js',
'public/js/tablesort/tablesort.js'
),
'phrases' => array(
'ui' => array(
'gespeichert',
'fehlerBeimSpeichern'
),
'global' => array(
'bis',
'zeilen'
)
)
)
);
?>
<body>
<div id="wrapper">
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
<div id="page-wrapper">
<div class="container-fluid">
<input type="hidden" id="hiddenpersonid" value="<?php echo $stammdaten->person_id ?>">
<div class="row">
<div class="col-lg-8">
<h3 class="page-header">
bPK Details: <?php echo $stammdaten->vorname.' '.$stammdaten->nachname ?>
</h3>
</div>
</div>
<br/>
<section>
<div class="row">
<div class="col-lg-12">
<div class="panel panel-primary">
<div class="panel-heading text-center">
<h4><?php echo ucfirst($this->p->t('global', 'stammdaten')) ?></h4>
</div>
<div class="panel-body">
<div class="row">
<div class="col-lg-6 table-responsive">
<table class="table">
<?php if (!empty($stammdaten->titelpre)): ?>
<tr>
<td><strong><?php echo ucfirst($this->p->t('person','titelpre')) ?></strong></td>
<td><?php echo $stammdaten->titelpre ?></td>
</tr>
<?php endif; ?>
<tr>
<td><strong><?php echo ucfirst($this->p->t('person','vorname')) ?></strong></td>
<td><?php echo $stammdaten->vorname ?></td>
</tr>
<tr>
<td><strong><?php echo ucfirst($this->p->t('person','nachname')) ?></strong></td>
<td>
<?php echo $stammdaten->nachname ?></td>
</tr>
<?php if (!empty($stammdaten->titelpost)): ?>
<tr>
<td><strong><?php echo ucfirst($this->p->t('person','titelpost')) ?></strong></td>
<td><?php echo $stammdaten->titelpost ?></td>
</tr>
<?php endif; ?>
<tr>
<td><strong><?php echo ucfirst($this->p->t('person','geburtsdatum')) ?></strong></td>
<td>
<?php echo date_format(date_create($stammdaten->gebdatum), 'd.m.Y') ?></td>
</tr>
<tr>
<td><strong><?php echo ucfirst($this->p->t('person','svnr')) ?></strong></td>
<td>
<?php echo $stammdaten->svnr ?></td>
</tr>
<tr>
<td><strong><?php echo ucfirst($this->p->t('person','ersatzkennzeichen')) ?></strong></td>
<td>
<?php echo $stammdaten->ersatzkennzeichen ?></td>
</tr>
<tr>
<td><strong><?php echo ucfirst($this->p->t('person','staatsbuergerschaft')) ?></strong></td>
<td>
<?php echo $stammdaten->staatsbuergerschaft ?></td>
</tr>
<tr>
<td><strong><?php echo ucfirst($this->p->t('person','geschlecht')) ?></strong></td>
<td>
<?php echo $stammdaten->geschlecht ?></td>
</tr>
<tr>
<td><strong><?php echo ucfirst($this->p->t('person','bpk')) ?></strong></td>
<td>
<?php echo $stammdaten->bpk ?></td>
</tr>
<tr>
<td><strong><?php echo ucfirst($this->p->t('person','postleitzahl')) ?></strong></td>
<td>
<?php echo $adresse->plz ?></td>
</tr>
<tr>
<td><strong><?php echo ucfirst($this->p->t('person','strasse')) ?></strong></td>
<td>
<?php echo $adresse->strasse ?></td>
</tr>
</table>
</div>
<div class="col-lg-4 table-responsive">
<form action="<?php echo base_url('soap/datenverbund_client.php?action=pruefeBPK');?>" method="POST" target="_blank">
<input type="hidden" name="vorname" value="<?php echo $stammdaten->vorname; ?>"/>
<input type="hidden" name="nachname" value="<?php echo $stammdaten->nachname; ?>"/>
<input type="hidden" name="geburtsdatum" value="<?php echo mb_str_replace('-','',$stammdaten->gebdatum); ?>"/>
<input type="hidden" name="geschlecht" value="<?php echo mb_strtoupper($stammdaten->geschlecht); ?>"/>
<input type="submit" value="Namenssuche starten" class="btn btn-default"/>
</form>
<br><br>
<form action="<?php echo site_url('person/BPKWartung/saveBPK');?>" method="POST">
<strong>bPK</strong><input type="text" name="bpk" value="" class="form-control"/>
<input type="hidden" name="person_id" value="<?php echo $stammdaten->person_id;?>"/>
<input type="submit" value="Speichern" class="btn btn-default"/>
</form>
</div>
</div> <!-- ./panel-body -->
</div> <!-- ./panel -->
</div> <!-- ./main column -->
</div> <!-- ./main row -->
</section>
</div> <!-- ./container-fluid-->
</div> <!-- ./page-wrapper-->
</div> <!-- ./wrapper -->
</body>
<?php $this->load->view('templates/FHC-Footer'); ?>
@@ -0,0 +1,51 @@
<?php
$this->load->view(
'templates/FHC-Header',
array(
'title' => 'bPK Wartung',
'jquery' => true,
'jqueryui' => true,
'bootstrap' => true,
'fontawesome' => true,
'sbadmintemplate' => true,
'tablesorter' => true,
'ajaxlib' => true,
'filterwidget' => true,
'navigationwidget' => true,
'phrases' => array(
'ui' => array('bitteEintragWaehlen')
),
'customCSSs' => 'public/css/sbadmin2/tablesort_bootstrap.css',
'customJSs' => array('public/js/bootstrapper.js')
)
);
?>
<body>
<div id="wrapper">
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
<div id="page-wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">
bPK <?php echo ucfirst($this->p->t('global', 'uebersicht')); ?>
</h3>
</div>
</div>
<div>
Bei folgenden Personen mit Matrikelnummer konnte kein bPK ermittelt werden.
Es ist die Namensschreibweise zu prüfen und ggf zu korrigieren.
Falls die Person keine Meldeadresse hat, ist eine Eintragung der
Person in das "Ergänzungsregister für natürliche Personen" notwendig.
<br /><br />
<?php $this->load->view('person/bpk/bpkData.php'); ?>
</div>
</div>
</div>
</div>
</body>
<?php $this->load->view('templates/FHC-Footer'); ?>
@@ -286,39 +286,39 @@ foreach ($noten_obj->result as $row)
changedwarning.innerHTML = '<div class="warning"><?php echo $p->t('benotungstool/geaenderteNotenVorhanden'); ?></div>';
}
}
else
{
alert(resp);
document.getElementById(uid).note.value="";
else
{
alert(resp);
document.getElementById(uid).note.value="";
}
},
},
error:function(result)
{
alert('Speichern der Note fehlgeschlagen');
}
});
}
// *************************************************
// * Formular zum Eintragen einer Pruefung erstellen
// *************************************************
function pruefungAnlegen(uid,datum,note,lehreinheit_id,punkte,typ)
{
if(typeof(typ)=='undefined')
typ = 'Termin2';
var str = " <form name='nachpruefung_form'> <table style='width: 95%'>";
str += "<tr><td colspan='2' align='right'><a href='#' onclick='closeDiv();'>X</a></td></tr>";
var anlegendiv = document.getElementById("nachpruefung_div");
var y = getOffset('y'); y = y+50;
anlegendiv.style.top = y+"px";
var x = getOffset('x'); x = x+300;
anlegendiv.style.left = x+"px";
str += "<tr><td colspan='2'><b><?php echo $p->t('benotungstool/pruefungAnlegenFuer');?> "+uid+":</b></td></tr>";
str += "<tr><td><?php echo $p->t('global/datum');?>:</td>";
str += "<td><input type='hidden' name='uid' value='"+uid+"'>";
str += "<input type='hidden' name='le_id' value='"+lehreinheit_id+"'>";
str += "<input type='hidden' name='typ' value='"+typ+"'>";
}
// *************************************************
// * Formular zum Eintragen einer Pruefung erstellen
// *************************************************
function pruefungAnlegen(uid,datum,note,lehreinheit_id,punkte,typ)
{
if(typeof(typ)=='undefined')
typ = 'Termin2';
var str = " <form name='nachpruefung_form'> <table style='width: 95%'>";
str += "<tr><td colspan='2' align='right'><a href='#' onclick='closeDiv();'>X</a></td></tr>";
var anlegendiv = document.getElementById("nachpruefung_div");
var y = getOffset('y'); y = y+50;
anlegendiv.style.top = y+"px";
var x = getOffset('x'); x = x+300;
anlegendiv.style.left = x+"px";
str += "<tr><td colspan='2'><b><?php echo $p->t('benotungstool/pruefungAnlegenFuer');?> "+uid+":</b></td></tr>";
str += "<tr><td><?php echo $p->t('global/datum');?>:</td>";
str += "<td><input type='hidden' name='uid' value='"+uid+"'>";
str += "<input type='hidden' name='le_id' value='"+lehreinheit_id+"'>";
str += "<input type='hidden' name='typ' value='"+typ+"'>";
str += "<input type='text' id='pruefungsdatum' name='datum' size='10' value='"+datum+"'> [DD.MM.YYYY]</td></tr>";
<?php
@@ -342,9 +342,9 @@ foreach ($noten_obj->result as $row)
}
echo '</select></td>';
?>';
str += "</tr><tr><td colspan='2' align='center'>";
str += "</tr><tr><td colspan='2' align='center'>";
str += "<input id='pruefungsnotensave' type='button' name='speichern'";
str +="value='<?php echo $p->t('global/speichern');?>' onclick='pruefungSpeichern();' ></td></tr>";
str +="value='<?php echo $p->t('global/speichern');?>' onclick='pruefungSpeichern();' ></td></tr>";
str += "</table></form>";
anlegendiv.innerHTML = str;
anlegendiv.style.visibility = "visible";
@@ -432,15 +432,15 @@ foreach ($noten_obj->result as $row)
if (resp == "update_f" || resp == "update")
{
notenstatus.innerHTML = "<img src='../../../../skin/images/changed.png'>";
notenstatus.innerHTML = "<img src='../../../../skin/images/changed.png'>";
if (warningdiv != null)
warningdiv.parentNode.removeChild(warningdiv); // Entfernt das Warning-Div
changedwarning.innerHTML = '<div class="warning"><?php echo $p->t('benotungstool/geaenderteNotenVorhanden'); ?></div>';
}
document.getElementById("lvnoteneingabe_"+uid).style.visibility = "hidden";
anlegendiv.innerHTML = "";
anlegendiv.style.visibility = "hidden";
var pruefhtml = "<table><tr><td class='td_datum'>"+datum+"</td>";
changedwarning.innerHTML = '<div class="warning"><?php echo $p->t('benotungstool/geaenderteNotenVorhanden'); ?></div>';
}
document.getElementById("lvnoteneingabe_"+uid).style.visibility = "hidden";
anlegendiv.innerHTML = "";
anlegendiv.style.visibility = "hidden";
var pruefhtml = "<table><tr><td class='td_datum'>"+datum+"</td>";
pruefhtml += "<td class='td_note'>"+noten_array[note]+"</td>";
pruefhtml += "<td><input type='button' name='anlegen'";
pruefhtml +=" value='<?php echo $p->t('global/aendern'); ?>' ";
@@ -580,13 +580,13 @@ foreach ($noten_obj->result as $row)
// ****
function GradeImport()
{
var str = "<form name='gradeimport_form'><center><table style='width: 95%'>";
str += "<tr><td colspan='2' align='right'><a href='#' onclick='closeDiv();'>X</a></td></tr>";
var anlegendiv = document.getElementById("nachpruefung_div");
var y = getOffset('y'); y = y+50; anlegendiv.style.top = y+"px";
str += '<tr><td><?php echo $p->t('benotungstool/importAnweisung');?>:</td>';
str += '<td></td><tr><td><textarea id="noteimporttextarea" name="notenimport"></textarea></td></tr>';
str += "<tr><td><input type='button' name='speichern' value='<?php echo $p->t('global/speichern');?>' onclick='saveGradeBulk();'>";
var str = "<form name='gradeimport_form'><center><table style='width: 95%'>";
str += "<tr><td colspan='2' align='right'><a href='#' onclick='closeDiv();'>X</a></td></tr>";
var anlegendiv = document.getElementById("nachpruefung_div");
var y = getOffset('y'); y = y+50; anlegendiv.style.top = y+"px";
str += '<tr><td><?php echo $p->t('benotungstool/importAnweisung');?>:</td>';
str += '<td></td><tr><td><textarea id="noteimporttextarea" name="notenimport"></textarea></td></tr>';
str += "<tr><td><input type='button' name='speichern' value='<?php echo $p->t('global/speichern');?>' onclick='saveGradeBulk();'>";
str += "</td><td></td></tr></table></center></form>";
anlegendiv.innerHTML = str;
anlegendiv.style.visibility = "visible";
@@ -749,7 +749,7 @@ foreach ($stsem_obj->studiensemester as $studiensemester)
{
$selected = ($stsem == $studiensemester->studiensemester_kurzbz ? 'selected' : '');
$optionvalue = "lvgesamtnoteverwalten.php?lvid=$lvid&stsem=$studiensemester->studiensemester_kurzbz";
$stsem_content .= "<OPTION value='" . $optionvalue . "' $selected>
$studiensemester->studiensemester_kurzbz
</OPTION>\n";
@@ -768,7 +768,7 @@ if (! $rechte->isBerechtigt('admin', 0) && ! $rechte->isBerechtigt('admin', $lv_
tbl_lehrveranstaltung.lehrveranstaltung_id=" . $db->db_add_param($lvid, FHC_INTEGER) . "
AND tbl_lehreinheit.studiensemester_kurzbz=" . $db->db_add_param($stsem) . "
AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid=" . $db->db_add_param($user) . ';';
if ($result = $db->db_query($qry))
{
if ($db->db_num_rows($result) == 0)
@@ -808,14 +808,16 @@ if (isset($_REQUEST["freigabe"]) && ($_REQUEST["freigabe"] == 1))
<td><b>" . $p->t('global/personenkz') . "</b></td>
<td><b>" . $p->t('global/nachname') . "</b></td>
<td><b>" . $p->t('global/vorname') . "</b></td>";
if (defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
if (defined('CIS_GESAMTNOTE_FREIGABEMAIL_NOTE') && CIS_GESAMTNOTE_FREIGABEMAIL_NOTE)
{
$studlist .= "<td><b>" . $p->t('benotungstool/punkte') . "</b></td>\n";
if (defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
{
$studlist .= "<td><b>" . $p->t('benotungstool/punkte') . "</b></td>\n";
}
$studlist .= "<td><b>" . $p->t('benotungstool/note') . "</b></td>\n";
}
$studlist .= "<td><b>" . $p->t('benotungstool/note') . "</b></td>\n";
$studlist .= "<td><b>" . $p->t('benotungstool/bearbeitetvon') . "</b></td></tr>\n";
// studentenquery
$qry_stud = "SELECT
DISTINCT uid, vorname, nachname, matrikelnr
@@ -842,14 +844,17 @@ if (isset($_REQUEST["freigabe"]) && ($_REQUEST["freigabe"] == 1))
$studlist .= "<tr><td>" . trim($row_stud->matrikelnr) . "</td>";
$studlist .= "<td>" . trim($row_stud->nachname) . "</td>";
$studlist .= "<td>" . trim($row_stud->vorname) . "</td>";
if (defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
if (defined('CIS_GESAMTNOTE_FREIGABEMAIL_NOTE') && CIS_GESAMTNOTE_FREIGABEMAIL_NOTE)
{
$studlist .= "<td>";
if ($lvgesamtnote->punkte != '')
$studlist .= trim(number_format($lvgesamtnote->punkte, 2));
$studlist .= "</td>\n";
if (defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
{
$studlist .= "<td>";
if ($lvgesamtnote->punkte != '')
$studlist .= trim(number_format($lvgesamtnote->punkte, 2));
$studlist .= "</td>\n";
}
$studlist .= "<td>" . $noten_array[trim($lvgesamtnote->note)]['bezeichnung_mehrsprachig'][$sprache] . "</td>";
}
$studlist .= "<td>" . $noten_array[trim($lvgesamtnote->note)]['bezeichnung_mehrsprachig'][$sprache] . "</td>";
$studlist .= "<td>" . $lvgesamtnote->mitarbeiter_uid;
if ($lvgesamtnote->updatevon != '')
$studlist .= " (" . $lvgesamtnote->updatevon . ")";
@@ -859,9 +864,9 @@ if (isset($_REQUEST["freigabe"]) && ($_REQUEST["freigabe"] == 1))
}
}
}
$studlist .= "</table>";
// mail an assistentin und den user selber verschicken
if ($neuenoten > 0)
{
@@ -869,16 +874,16 @@ if (isset($_REQUEST["freigabe"]) && ($_REQUEST["freigabe"] == 1))
$sg = new studiengang($lv->studiengang_kz);
$lektor_adresse = $user . "@" . DOMAIN;
$adressen = $sg->email . ", " . $user . "@" . DOMAIN;
$studienplan = new studienplan();
$studienplan->getStudienplanLehrveranstaltung($lvid, $stsem);
$studienplan_bezeichnung = '';
foreach ($studienplan->result as $row)
$studienplan_bezeichnung .= $row->bezeichnung . ' ';
$mit = new mitarbeiter();
$mit->load($user);
$freigeber = "<b>" . mb_strtoupper($user) . "</b>";
$betreff = 'Notenfreigabe ' . $lv->bezeichnung . ' ' . $lv->orgform_kurzbz . ' - ' . $studienplan_bezeichnung;
$mail = new mail($adressen, 'vilesci@' . DOMAIN, $betreff, '');
@@ -909,7 +914,7 @@ if (defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
$onclickpath = "notenschluessel.php?lehrveranstaltung_id=$lvid&stsem=$stsem";
$onclickoptions = "height=200, width=350, left=50, top=50, resizable=yes, status=no,";
$onclickoptions .= "scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes";
echo '<br>
<a href="#" onclick="window.open(\'' . $onclickpath . '\',\'Grades\',\'' . $onclickoptions . '\'); return false;">
' . $p->t('gesamtnote/notenschluesselanzeigen') . '</a>';
@@ -1078,7 +1083,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
studiensemester_kurzbz = " . $db->db_add_param($stsem) . "
AND lehrveranstaltung_id = " . $db->db_add_param($lvid) . "
ORDER BY nachname, vorname ";
if ($result_stud = $db->db_query($qry_stud))
{
$i = 1;
@@ -1088,20 +1093,20 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
{
$grades[$row_stud->uid]['vorname'] = $row_stud->vorname;
$grades[$row_stud->uid]['nachname'] = $row_stud->nachname;
// Noten aus Uebungstool
$le = new lehreinheit();
$le->load_lehreinheiten($lvid, $stsem);
foreach ($le->lehreinheiten as $l)
{
$legesamtnote = new legesamtnote($l->lehreinheit_id);
if ($legesamtnote->load($row_stud->uid, $l->lehreinheit_id))
{
$gewicht = $l->gewicht;
if ($l->gewicht == '')
$gewicht = 1;
$grades[$row_stud->uid]['grades'][] = array(
'grade' => $legesamtnote->note,
'points' => null,
@@ -1112,7 +1117,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
}
}
}
// Load Addons to modify grades
$addon_obj = new addon();
if ($addon_obj->loadAddons())
@@ -1126,7 +1131,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
}
}
}
$anzahlChanged = 0;
foreach ($grades as $uid => $data)
{
@@ -1135,7 +1140,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
<td>' . $db->convert_html_chars($uid) . '</td>
<td>' . $db->convert_html_chars($data['nachname']) . '</td>
<td>' . $db->convert_html_chars($data['vorname']) . '</td>';
// Bereits eingetragene Note ermitteln
if ($lvgesamtnote = new lvgesamtnote($lvid, $uid, $stsem))
{
@@ -1147,7 +1152,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
$note_lv = null;
$punkte_lv = null;
}
$notensumme = 0;
$notensumme_gewichtet = 0;
$gewichtsumme = 0;
@@ -1157,7 +1162,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
$negativeteilnote = false;
$note_zusatztext = '';
$note_zusatztext_tooltip = '';
if (isset($data['grades']))
{
// Teilnoten summieren und Notenvorschlag berechnen
@@ -1173,7 +1178,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
$anzahlnoten += 1;
}
$note_zusatztext_tooltip .= $row_grades['text'] . "\n";
if (isset($noten_array[$row_grades['grade']]) && ! $noten_array[$row_grades['grade']]['positiv'])
{
$negativeteilnote = true;
@@ -1186,7 +1191,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
$note_zusatztext .= '<br>';
}
}
$punkte_vorschlag = '';
if (! is_null($note_lv))
{
@@ -1226,23 +1231,23 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
{
$note_vorschlag = null;
}
if ($zeugnisnote = new zeugnisnote($lvid, $uid, $stsem))
$znote = $zeugnisnote->note;
else
$znote = null;
if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE)
{
$htmlstring .= '<td style="white-space: nowrap;" title="' . $note_zusatztext_tooltip . '">';
$htmlstring .= $note_zusatztext . '&nbsp;</td>';
}
if (key_exists($uid, $studpruef_arr))
$hide = "style='display:none;visibility:hidden;'";
else
$hide = "style='display:block;visibility:visible;'";
if (! defined('CIS_GESAMTNOTE_UEBERSCHREIBEN') || CIS_GESAMTNOTE_UEBERSCHREIBEN || (! CIS_GESAMTNOTE_UEBERSCHREIBEN && is_null($znote)))
{
$htmlstring .= "<td valign='bottom' nowrap>
@@ -1289,7 +1294,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
$selected = 'selected';
else
$selected = '';
if ($row_note->lehre && $row_note->aktiv)
$htmlstring .= '<option value="' . $row_note->note . '" ' . $selected . '>' . $row_note->bezeichnung_mehrsprachig[$sprache] . '</option>';
}
@@ -1307,12 +1312,12 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
{
$htmlstring .= '<td></td>';
}
if (isset($noten_array[$note_lv]) && $noten_array[$note_lv]['positiv'] == false)
$negmarkier = ' class="negative"';
else
$negmarkier = "";
// LV Note
$htmlstring .= '<td align="center" id="note_' . $uid . '"><span ' . $negmarkier . '>';
if (isset($noten_array[$note_lv]))
@@ -1320,7 +1325,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
if ($punkte_lv != '')
$htmlstring .= ' (' . number_format($punkte_lv, 2) . ')';
$htmlstring .= '</span></td>';
// status
$htmlstring .= "<td align='center' id='status_$uid'>";
if (! $lvgesamtnote->freigabedatum)
@@ -1330,7 +1335,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
$htmlstring .= "<img src='../../../../skin/images/changed.png'>";
$anzahlChanged ++;
}
else
else
$htmlstring .= "<img src='../../../../skin/images/offen.png'>";
}
elseif ($lvgesamtnote->benotungsdatum > $lvgesamtnote->freigabedatum)
@@ -1340,22 +1345,22 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
}
else
$htmlstring .= "<img src='../../../../skin/images/ok.png'>";
$htmlstring .= "</td>";
if (($znote) && ($note_lv != $znote))
$stylestr = " style='color:red; border-color:red; border-style:solid; border-width:1px;'";
else
$stylestr = "";
// Zeugnisnote
$htmlstring .= "<td" . $stylestr . " align='center'>";
if (isset($noten_array[$znote]))
$htmlstring .= $noten_array[$znote]['bezeichnung_mehrsprachig'][$sprache];
$htmlstring .= "</td>";
if (isset($noten_array[$znote]) && $noten_array[$znote]['positiv'] == false)
$summe_ng ++;
if (defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2)
{
// Pruefung 2. Termin
@@ -1372,7 +1377,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
$pr_punkte = $studpruef_arr[$uid][$le_id_stud]["punkte"];
$pr_datum = $studpruef_arr[$uid][$le_id_stud]["datum"];
$pr_le_id = $le_id_stud;
if ($pr_punkte != '')
{
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung_mehrsprachig'][$sprache];
@@ -1380,10 +1385,10 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
}
else
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung_mehrsprachig'][$sprache];
$onclick = "pruefungAnlegen('" . $uid . "','" . $pr_datum . "','" . $pr_note . "',";
$onclick .= "'" . $pr_le_id . "','" . $pr_punkte . "')";
$htmlstring .= '<tr>
<td class="td_datum">' . $pr_datum . '</td>
<td class="td_note">' . $pr_notenbezeichnung . '</td>
@@ -1425,7 +1430,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
}
}
}
if (defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
{
// Pruefung 3. Termin
@@ -1442,7 +1447,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
$pr_punkte = $studpruef_arr_t3[$uid][$le_id_stud]["punkte"];
$pr_datum = $studpruef_arr_t3[$uid][$le_id_stud]["datum"];
$pr_le_id = $le_id_stud;
if ($pr_punkte != '')
{
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung_mehrsprachig'][$sprache];
@@ -1450,10 +1455,10 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
}
else
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung_mehrsprachig'][$sprache];
$onclick = "pruefungAnlegen('" . $uid . "',";
$onclick .= "'" . $pr_datum . "','" . $pr_note . "','" . $pr_le_id . "','" . $pr_punkte . "','Termin3')";
$htmlstring .= '<tr>
<td class="td_datum">' . $pr_datum . '</td>
<td class="td_note">' . $pr_notenbezeichnung . '</td>
@@ -1488,7 +1493,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
$htmlstring .= "<td colspan='2'></td>";
}
}
if (defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF)
{
// komm Pruefung
@@ -1505,7 +1510,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
$pr_punkte = $studpruef_komm[$uid][$le_id_stud]["punkte"];
$pr_datum = $studpruef_komm[$uid][$le_id_stud]["datum"];
$pr_le_id = $le_id_stud;
if ($pr_punkte != '')
{
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung_mehrsprachig'][$sprache];
@@ -1513,7 +1518,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
}
else
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung_mehrsprachig'][$sprache];
$htmlstring .= '
<tr>
<td class="td_datum">' . $pr_datum . '</td>
@@ -1529,7 +1534,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
$htmlstring .= "<td colspan='2'></td>";
}
}
$htmlstring .= "</tr>";
$i ++;
}
+74 -71
View File
@@ -45,47 +45,47 @@ if(!check_lektor($uid))
if (!$db = new basis_db())
die('Fehler beim Herstellen der Datenbankverbindung');
if(isset($_GET['lvid']) && is_numeric($_GET['lvid']))
$lvid=$_GET['lvid'];
else
die("Fehlerhafte Parameteruebergabe");
if(isset($_GET['stg']) && is_numeric($_GET['stg']))
$stg=$_GET['stg'];
else
else
die("Fehlerhafte Parameteruebergabe");
if(isset($_GET['gruppe_kurzbz']))
$gruppe_kurzbz = $_GET['gruppe_kurzbz'];
else
else
$gruppe_kurzbz = '';
if(isset($_GET['sem']) && is_numeric($_GET['sem']))
$sem = $_GET['sem'];
else
else
$sem = '';
if(isset($_GET['verband']))
$verband = $_GET['verband'];
else
else
$verband = '';
if(isset($_GET['gruppe']) && is_numeric($_GET['gruppe']))
$gruppe = $_GET['gruppe'];
else
$gruppe = '';
if(isset($_GET['stsem']))
$stsem = $_GET['stsem'];
else
die('Studiensemester muss uebergeben werden');
if(isset($_GET['lehreinheit_id']))
$lehreinheit_id = $_GET['lehreinheit_id'];
else
else
$lehreinheit_id = '';
/*
* Create Excel File
*/
@@ -93,7 +93,7 @@ else
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
$workbook->setVersion(8);
// sending HTTP headers
$workbook->send($p->t('anwesenheitsliste/notenliste'). "_" . date("d_m_Y") . ".xls");
$workbook->setCustomColor (15,192,192,192); //Setzen der HG-Farbe Hellgrau
@@ -105,12 +105,12 @@ else
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$format_highlight =& $workbook->addFormat();
$format_highlight->setFgColor(15);
$format_highlight->setBorder(1);
$format_highlight->setBorderColor('white');
$format_border_bottom =& $workbook->addFormat();
$format_border_bottom ->setBottom(2);
$format_border_bottom->setBold();
@@ -124,17 +124,17 @@ else
$format_title->setAlign('merge');
$lvobj = new lehrveranstaltung($lvid);
$worksheet->write(0,0,$p->t('anwesenheitsliste/notenliste')." ".($sprache=='English'?$lvobj->bezeichnung_english:$lvobj->bezeichnung),$format_bold);
$stg_obj = new studiengang($stg);
$qry = "SELECT
distinct on(kuerzel, semester, verband, gruppe, gruppe_kurzbz) UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel,
semester, verband, gruppe, gruppe_kurzbz
distinct on(kuerzel, semester, verband, gruppe, gruppe_kurzbz) UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel,
semester, verband, gruppe, gruppe_kurzbz
FROM
campus.vw_lehreinheit
WHERE
campus.vw_lehreinheit
WHERE
lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($stsem);
if($lehreinheit_id!='')
$qry.=" AND lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER);
@@ -152,26 +152,26 @@ else
$gruppen.=$row->gruppe_kurzbz;
}
}
$worksheet->write(1,0,$p->t('global/studiengang').": $stg_obj->bezeichnung $gruppen");
$lines=2;
//Lektoren ermitteln
$qry = "SELECT
distinct vorname, nachname
FROM
campus.vw_benutzer, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
WHERE
uid=mitarbeiter_uid AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
$qry = "SELECT
distinct vorname, nachname
FROM
campus.vw_benutzer, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
WHERE
uid=mitarbeiter_uid AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
studiensemester_kurzbz=".$db->db_add_param($stsem);
if($lehreinheit_id!='')
$qry.=" AND tbl_lehreinheit.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER);
$qry.=' ORDER BY nachname, vorname';
if($result = $db->db_query($qry))
{
while($row=$db->db_fetch_object($result))
@@ -183,10 +183,11 @@ else
//Studenten holen
$lines++;
$worksheet->write($lines,1,$p->t('global/nachname'),$format_border_bottom);
$worksheet->write($lines,2,$p->t('global/vorname'),$format_border_bottom);
$worksheet->write($lines,3,$p->t('global/gruppe'),$format_border_bottom);
$worksheet->write($lines,4,$p->t('global/personenkennzeichen'),$format_border_bottom);
$worksheet->write($lines,1,$p->t('global/uid'),$format_border_bottom);
$worksheet->write($lines,2,$p->t('global/nachname'),$format_border_bottom);
$worksheet->write($lines,3,$p->t('global/vorname'),$format_border_bottom);
$worksheet->write($lines,4,$p->t('global/gruppe'),$format_border_bottom);
$worksheet->write($lines,5,$p->t('global/personenkennzeichen'),$format_border_bottom);
if(defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
$worksheet->write($lines,5,$p->t('benotungstool/punkte'),$format_border_bottom);
@@ -196,29 +197,29 @@ else
$stsem_obj = new studiensemester();
$stsem_obj->load($stsem);
$stsemdatumvon = $stsem_obj->start;
$stsemdatumbis = $stsem_obj->ende;
$qry = "SELECT
$stsemdatumbis = $stsem_obj->ende;
$qry = "SELECT
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, person_id, tbl_student.student_uid as uid,
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe,
(SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status,
tbl_bisio.bisio_id, tbl_bisio.bis, tbl_bisio.von,
tbl_zeugnisnote.note
FROM
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid)
tbl_zeugnisnote.note
FROM
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid)
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
WHERE
vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
WHERE
vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
vw_student_lehrveranstaltung.studiensemester_kurzbz=".$db->db_add_param($stsem);
if($lehreinheit_id!='')
$qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER);
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
if($result = $db->db_query($qry))
{
$i=1;
@@ -226,36 +227,37 @@ else
while($elem = $db->db_fetch_object($result))
{
if(!preg_match('*dummy*',$elem->uid) && $elem->semester!=10)
{
{
if($elem->status!='Abbrecher' && $elem->status!='Unterbrecher')
{
$worksheet->write($lines,0,$i);
if($elem->status=='Incoming')
$inc=' (i)';
else
else
$inc='';
if($elem->bisio_id!='' && $elem->status!='Incoming' && ($elem->bis > $stsemdatumvon || $elem->bis=='') && $elem->von < $stsemdatumbis) //Outgoing
$inc.=' (o)';
if($elem->note==6) //angerechnet
{
$inc.=' (ar)';
$note='ar';
}
else
else
$note='';
$worksheet->write($lines,1,$elem->nachname.$inc);
$worksheet->write($lines,2,$elem->vorname);
$worksheet->write($lines,3,'="'.$elem->semester.$elem->verband.$elem->gruppe.'"');
$worksheet->write($lines,4,'="'.trim($elem->matrikelnr).'"',$format_highlight);
$worksheet->write($lines,5,$note,$format_highlight);
$worksheet->write($lines,1,$elem->uid);
$worksheet->write($lines,2,$elem->nachname.$inc);
$worksheet->write($lines,3,$elem->vorname);
$worksheet->write($lines,4,'="'.$elem->semester.$elem->verband.$elem->gruppe.'"');
$worksheet->write($lines,5,'="'.trim($elem->matrikelnr).'"',$format_highlight);
$worksheet->write($lines,6,$note,$format_highlight);
$i++;
$lines++;
}
}
}
}
//Noten
$note = new note();
$note->getAll();
@@ -266,8 +268,8 @@ else
$aufteilung = array();
foreach($notenschluessel->result as $row)
$aufteilung[$row->note]=$row->punkte;
$aufteilung[$row->note]=$row->punkte;
$worksheet->write(++$lines,0,$p->t('benotungstool/note').":");
foreach($note->result as $row)
{
@@ -285,19 +287,20 @@ else
$worksheet->write(++$lines,0,$row->bezeichnung.' ('.$row->anmerkung.')');
}
}
$worksheet->writeBlank(++$lines,0,0);
$worksheet->writeBlank(++$lines,0,$format_highlight);
$worksheet->write($lines,1,'...'.$p->t('anwesenheitsliste/anleitungImportFunktion'));
$lines++;
$worksheet->write(++$lines,0,'(i) ... Incoming');
$worksheet->write(++$lines,0,'(i) ... Incoming');
$worksheet->write(++$lines,0,'(o) ... Outgoing');
$worksheet->write(++$lines,0,'(ar) ... '.$p->t('anwesenheitsliste/angerechnet'));
$worksheet->setColumn(0, 0, 5);
$worksheet->setColumn(1, 1, 25);
$worksheet->setColumn(2, 2, 25);
$worksheet->setColumn(3, 3, 7);
$worksheet->setColumn(4, 4, 21);
$worksheet->setColumn(0, 1, 16);
$worksheet->setColumn(0, 2, 25);
$worksheet->setColumn(0, 3, 25);
$worksheet->setColumn(0, 4, 7);
$worksheet->setColumn(0, 5, 21);
$workbook->close();
?>
+1 -1
View File
@@ -1087,7 +1087,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
$summe=0;
$dr = new zeitaufzeichnung();
$dr->getDienstreisenUser($user);
$dr->getDienstreisenUser($user, 180);
$dr_arr = $dr->result;
//var_dump($dr->result);
+4
View File
@@ -89,6 +89,10 @@ define('CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE', true);
// Vertraege fuer Pruefungshonorare anzulegen
define('FAS_GESAMTNOTE_PRUEFUNGSHONORAR',false);
// Gibt an ob die Note im Notenfreigabemail enthalten ist oder nicht
// Aus Datenschutzgründen ist dies per default deaktiviert
define('CIS_GESAMTNOTE_FREIGABEMAIL_NOTE', false);
// Grenzwerte für Anwesenheit
define('FAS_ANWESENHEIT_ROT', 70);
define('FAS_ANWESENHEIT_GELB', 90);
+3 -3
View File
@@ -97,7 +97,7 @@ foreach($oe->result as $row)
{
$oe_arr[$row->oe_kurzbz] = $oetyp_arr[$row->organisationseinheittyp_kurzbz].' '.$row->bezeichnung;
}
$oe_arr[''] = '';
$stg_obj = new studiengang();
$stg_obj->getAll('typ, kurzbz', false);
@@ -206,8 +206,8 @@ $maxlength[$spalte]=9;
$worksheet->write($zeile,++$spalte,"LV-Nummer", $format_bold);
$maxlength[$spalte]=9;
$worksheet->write($zeile,++$spalte,"ALVS", $format_bold);
$maxlength[$spalte]=9;
$worksheet->write($zeile,++$spalte,"Semesterstunden", $format_bold);
$maxlength[$spalte]=15;
$worksheet->write($zeile,++$spalte,"ECTS", $format_bold);
$maxlength[$spalte]=9;
+64 -69
View File
@@ -74,8 +74,7 @@ class dvb extends basis_db
$person = new person();
if (!$person->load($person_id))
{
$this->errormsg = $person->errormsg;
return ErrorHandler::error();
return ErrorHandler::error($person->errormsg);
}
$matrikelnummer = false;
@@ -85,9 +84,9 @@ class dvb extends basis_db
{
$data = $this->getMatrikelnrBySVNR($person->svnr);
if(ErrorHandler::isSuccess($data))
if (ErrorHandler::isSuccess($data))
{
if(ErrorHandler::hasData($data))
if (ErrorHandler::hasData($data))
{
$matrikelnummer = $data->retval->matrikelnummer;
$bpk = $data->retval->bpk;
@@ -95,16 +94,15 @@ class dvb extends basis_db
}
else
{
$this->logRequest($person, 'getMatrikelnrBySVNR', false);
return ErrorHandler::error();
}
}
elseif ($person->ersatzkennzeichen != '')
{
$data = $this->getMatrikelnrByErsatzkennzeichen($person->ersatzkennzeichen);
if(ErrorHandler::isSuccess($data))
if (ErrorHandler::isSuccess($data))
{
if(ErrorHandler::hasData($data))
if (ErrorHandler::hasData($data))
{
$matrikelnummer = $data->retval->matrikelnummer;
$bpk = $data->retval->bpk;
@@ -112,14 +110,13 @@ class dvb extends basis_db
}
else
{
$this->logRequest($person, 'getMatrikelnrByErsatzkennzeichen', false);
return ErrorHandler::error();
}
}
else
{
$this->errormsg = 'Person braucht SVNR oder Ersatzkennzeichen';
return ErrorHandler::error();
$errormsg = 'Person braucht SVNR oder Ersatzkennzeichen';
return ErrorHandler::error($errormsg);
}
// Wenn nicht gefunden, wird zusaetzlich noch eine Namenssuche gestartet
@@ -135,13 +132,13 @@ class dvb extends basis_db
{
$this->debug('Nachnamensuche erfolgreich');
$matrikelnummer = $nachnameresult->retval->matrikelnummer;
if(isset($nachnameresult->retval->bpk))
if (isset($nachnameresult->retval->bpk))
$bpk = $nachnameresult->retval->bpk;
}
else
{
$this->errormsg = 'Namenssuche ergab nicht eindeutige Treffer -> manuelle Pruefung ist erforderlich';
return ErrorHandler::error();
$errormsg = 'Namenssuche ergab nicht eindeutige Treffer -> manuelle Pruefung ist erforderlich';
return ErrorHandler::error($errormsg);
}
}
}
@@ -160,16 +157,15 @@ class dvb extends basis_db
if ($person->save())
{
$this->logRequest($person, 'assignExistingMatrikelnummer', true, $matrikelnummer);
return ErrorHandler::success();
}
}
else
{
if($softrun == true)
if ($softrun == true)
{
$this->errormsg = 'Nicht gefunden Softrun enabled keine Meldung';
return ErrorHandler::error();
$errormsg = 'Nicht gefunden Softrun enabled keine Meldung';
return ErrorHandler::error($errormsg);
}
// Es wurde noch keine Matrikelnummer zu dieser Person zugeordnet
@@ -206,15 +202,15 @@ class dvb extends basis_db
else
{
$this->logRequest($person, 'assignNewMatrikelnummer', false);
$this->errormsg = 'Fehler beim Ermitteln des Studienjahrs für diese Person';
return ErrorHandler::error();
$errormsg = 'Fehler beim Ermitteln des Studienjahrs für diese Person';
return ErrorHandler::error($errormsg);
}
}
else
{
$this->logRequest($person, 'assignNewMatrikelnummer', false);
$this->errormsg = 'Fehler beim Ermitteln des Studienjahrs für diese Person';
return ErrorHandler::error();
$errormsg = 'Fehler beim Ermitteln des Studienjahrs für diese Person';
return ErrorHandler::error($errormsg);
}
$studienjahr = substr($studiensemester_kurzbz, 4);
@@ -229,7 +225,7 @@ class dvb extends basis_db
// Neue Matrikelnummer aus Kontingent anfordern
$data = $this->getKontingent(DVB_BILDUNGSEINRICHTUNG_CODE, $studienjahr);
if(ErrorHandler::isSuccess($data) && ErrorHandler::hasdata($data))
if (ErrorHandler::isSuccess($data) && ErrorHandler::hasdata($data))
{
$kontingent = $data->retval->kontingent;
@@ -244,7 +240,7 @@ class dvb extends basis_db
$person_meldung->staat = $person->staatsbuergerschaft;
if ($person->svnr != '')
$person_meldung->svnr = $person->svnr;
else if($person->ersatzkennzeichen != '')
else if ($person->ersatzkennzeichen != '')
$person_meldung->svnr = $person->ersatzkennzeichen;
// PLZ der Meldeadresse laden
@@ -268,28 +264,27 @@ class dvb extends basis_db
$person->matr_nr = $data->retval->matrikelnummer;
// Wenn ein BPK bei der Meldung ermittelt wurde, dann dieses auch speichern
if(ErrorHandler::hasData($data) && isset($data->retval->bpk) && $data->retval->bpk!='')
if (ErrorHandler::hasData($data) && isset($data->retval->bpk) && $data->retval->bpk != '')
{
$person->bpk = $data->retval->bpk;
}
if ($person->save())
{
$this->logRequest($person, 'assignNewMatrikelnummer', true, $matrikelnummer);
return ErrorHandler::success();
}
}
else
{
$this->logRequest($person, 'assignNewMatrikelnummer', false, $person_meldung);
$this->errormsg .= 'Vergabe fehlgeschlagen';
return ErrorHandler::error();
$errormsg = 'Vergabe fehlgeschlagen';
return ErrorHandler::error($errormsg);
}
}
else
{
$this->logRequest($person, 'assignNewMatrikelnummer', false, $studienjahr);
$this->errormsg .= 'Failed to get Kontingent';
return ErrorHandler::error();
$errormsg = 'Failed to get Kontingent';
return ErrorHandler::error($errormsg);
}
}
}
@@ -473,7 +468,7 @@ class dvb extends basis_db
}
}
if($matrikelnr !== false)
if ($matrikelnr !== false)
{
$retval = new stdClass();
$retval->matrikelnummer = $matrikelnr;
@@ -489,8 +484,8 @@ class dvb extends basis_db
}
else
{
$this->errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$response;
return ErrorHandler::error();
$errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$response;
return ErrorHandler::error($errormsg);
}
}
@@ -631,7 +626,7 @@ class dvb extends basis_db
}
}
if($matrikelnr != '')
if ($matrikelnr != '')
{
$retval = new stdClass();
$retval->matrikelnummer = $matrikelnr;
@@ -646,8 +641,8 @@ class dvb extends basis_db
}
else
{
$this->errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$xml_response;
return ErrorHandler::error();
$errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$xml_response;
return ErrorHandler::error($errormsg);
}
}
@@ -725,8 +720,8 @@ class dvb extends basis_db
}
else
{
$this->errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$response;
return ErrorHandler::error();
$errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$response;
return ErrorHandler::error($errormsg);
}
}
@@ -806,8 +801,8 @@ class dvb extends basis_db
}
else
{
$this->errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$response;
return ErrorHandler::error();
$errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$response;
return ErrorHandler::error($errormsg);
}
}
@@ -970,11 +965,11 @@ class dvb extends basis_db
* Das BPK wurde vom Datenverbund versucht zu ermitteln und wird in der Fehlermeldung
* zurückgeliefert. Dieses sollte dann gespeichert werden.
*/
if($fehlernummer->length>0 && $fehlernummer->item(0)->textContent == 'ED10065')
if ($fehlernummer->length>0 && $fehlernummer->item(0)->textContent == 'ED10065')
{
$this->debug('ED10065 Response');
$domnodes_feldinhalt = $row->getElementsByTagName('feldinhalt');
if($domnodes_feldinhalt->length > 0 && $domnodes_feldinhalt->item(0)->textContent!='')
if ($domnodes_feldinhalt->length > 0 && $domnodes_feldinhalt->item(0)->textContent!='')
{
$bpk = $domnodes_feldinhalt->item(0)->textContent;
$retval = new stdClass();
@@ -998,8 +993,8 @@ class dvb extends basis_db
}
else
{
$this->errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$response;
return ErrorHandler::error();
$errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$response;
return ErrorHandler::error($errormsg);
}
}
@@ -1023,20 +1018,20 @@ class dvb extends basis_db
if ($person->gebdatum == '')
{
$this->errormsg = 'Geburtsdatum ist nicht gesetzt';
return ErrorHandler::error();
$errormsg = 'Geburtsdatum ist nicht gesetzt';
return ErrorHandler::error($errormsg);
}
if ($person->vorname == '')
{
$this->errormsg = 'Vorname ist nicht gesetzt';
return ErrorHandler::error();
$errormsg = 'Vorname ist nicht gesetzt';
return ErrorHandler::error($errormsg);
}
if ($person->nachname == '')
{
$this->errormsg = 'Nachname ist nicht gesetzt';
return ErrorHandler::error();
$errormsg = 'Nachname ist nicht gesetzt';
return ErrorHandler::error($errormsg);
}
$geburtsdatum = str_replace("-", "", $person->gebdatum);
@@ -1136,10 +1131,10 @@ class dvb extends basis_db
$url .= '&nachname='.curl_escape($curl, $nachname);
$url .= '&geschlecht='.curl_escape($curl, $geschlecht);
if(!is_null($plz))
if (!is_null($plz))
$url .= '&plz='.curl_escape($curl, $plz);
if(!is_null($strasse))
if (!is_null($strasse))
$url .= '&strasse='.curl_escape($curl, $strasse);
curl_setopt($curl, CURLOPT_URL, $url);
@@ -1212,10 +1207,10 @@ class dvb extends basis_db
$dom->loadXML($response);
$namespace = 'http://www.brz.gv.at/datenverbund-unis';
$domnodes_fehlernummer = $dom->getElementsByTagNameNS($namespace, 'fehlernummer');
if($domnodes_fehlernummer->length > 0)
if ($domnodes_fehlernummer->length > 0)
{
$fehlercode = $domnodes_fehlernummer->item(0)->textContent;
if($fehlercode == 'ZD00001')
if ($fehlercode == 'ZD00001')
{
// Zu viele Requests pro Minute
$this->debug('Zu viele Requests pro Minute -> Pause');
@@ -1224,7 +1219,7 @@ class dvb extends basis_db
}
$domnodes_bpk = $dom->getElementsByTagNameNS($namespace, 'personenkennzeichen');
if($domnodes_bpk->length > 0)
if ($domnodes_bpk->length > 0)
{
$retval = new stdClass();
$retval->bpk = $domnodes_bpk->item(0)->textContent;
@@ -1234,19 +1229,19 @@ class dvb extends basis_db
{
$retval = new stdClass();
$domnodes_personen = $dom->getElementsByTagNameNS($namespace, 'personInfo');
if($domnodes_personen->length > 1)
if ($domnodes_personen->length > 1)
{
$retval = new stdClass();
$retval->multiple = true;
return ErrorHandler::error($retval);
return ErrorHandler::error(null, $retval);
}
}
return ErrorHandler::error();
}
else
{
$this->errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$response;
return ErrorHandler::error();
$errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$response;
return ErrorHandler::error($errormsg);
}
}
@@ -1259,22 +1254,22 @@ class dvb extends basis_db
public function existsByNachname($person_id)
{
$person = new person();
if($person->load($person_id))
if ($person->load($person_id))
{
$result = $this->getMatrikelnrByNachname($person->nachname, $person->gebdatum);
if(ErrorHandler::isSuccess($result) && ErrorHandler::hasData($result)
if (ErrorHandler::isSuccess($result) && ErrorHandler::hasData($result)
&& isset($result->retval->data)
&& is_array($result->retval->data)
&& count($result->retval->data)>0)
{
foreach($result->retval->data as $row)
{
if(isset($row->vorname) && isset($row->nachname))
if (isset($row->vorname) && isset($row->nachname))
{
$this->debug('Eintrag gefunden -> Pruefe Eindeutigkeit');
// Vorpruefung des Datenverbund
if(mb_substr(mb_strtolower($row->vorname),0,5) == mb_substr(mb_strtolower($person->vorname),0,5)
if (mb_substr(mb_strtolower($row->vorname),0,5) == mb_substr(mb_strtolower($person->vorname),0,5)
&& mb_substr(mb_strtolower($row->nachname),0,10) == mb_substr(mb_strtolower($person->nachname),0,10))
{
// Bei 100% eindeutiger Uebereinstimmung werden die Daten zurueckgeliefert
@@ -1292,7 +1287,7 @@ class dvb extends basis_db
{
$this->debug('Uebereinstimmung gefunden');
$retval = new stdClass();
if(isset($row->bpk) && $row->bpk!='')
if (isset($row->bpk) && $row->bpk!='')
$retval->bpk = $row->bpk;
$retval->matrikelnummer = $row->matrikelnummer;
return ErrorHandler::success($retval);
@@ -1413,16 +1408,16 @@ class dvb extends basis_db
break;
}
$domnodes = $row_student->getElementsByTagNameNS($namespace, 'vorName');
if($domnodes->length>0)
if ($domnodes->length>0)
$data->vorname = $domnodes->item(0)->textContent;
$domnodes = $row_student->getElementsByTagNameNS($namespace, 'nachName');
if($domnodes->length>0)
if ($domnodes->length>0)
$data->nachname = $domnodes->item(0)->textContent;
$domnodes = $row_student->getElementsByTagNameNS($namespace, 'geschlecht');
if($domnodes->length>0)
if ($domnodes->length>0)
$data->geschlecht = $domnodes->item(0)->textContent;
$domnodes = $row_student->getElementsByTagNameNS($namespace, 'staatsAngehoerigkeit');
if($domnodes->length>0)
if ($domnodes->length > 0)
$data->staatsangehoerigkeit = $domnodes->item(0)->textContent;
$retval->data[] = $data;
@@ -1434,8 +1429,8 @@ class dvb extends basis_db
}
else
{
$this->errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$response;
return ErrorHandler::error();
$errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$response;
return ErrorHandler::error($errormsg);
}
}
+3 -1
View File
@@ -32,6 +32,7 @@ class ErrorHandler
{
$data = new stdClass();
$data->error = false;
$data->errormsg = '';
$data->retval = $retval;
return $data;
}
@@ -41,10 +42,11 @@ class ErrorHandler
* @param $retval object (optional)
* @return result object
*/
public static function error($retval = '')
public static function error($errormsg = '', $retval = '')
{
$data = new stdClass();
$data->error = true;
$data->errormsg = $errormsg;
$data->retval = $retval;
return $data;
}
+69 -1
View File
@@ -1091,8 +1091,12 @@ class mitarbeiter extends benutzer
/**
* Gibt ein Array mit den UIDs der aktiv beschäftigten Untergebenen zurueck
* @param string $uid UID.
* @param boolean $include_OE_childs Wenn true, dann werden auch alle aktiv
* beschäftigten Untergebenen der Kind-OEs des Leiters zurückgegeben.
* @return boolean
*/
public function getUntergebene($uid=null)
public function getUntergebene($uid=null, $include_OE_childs = false)
{
if (is_null($uid))
$uid=$this->uid;
@@ -1113,6 +1117,70 @@ class mitarbeiter extends benutzer
$oe.=$this->db_add_param($row->oe_kurzbz);
}
}
// Kinder-Organisationseinheiten holen
if ($include_OE_childs == true)
{
if (!empty($oe))
{
$child_oe_arr = array(); // array of string child oes
$qry = '
WITH RECURSIVE
oes (oe_kurzbz, oe_parent_kurzbz) AS
(
SELECT
oe_kurzbz,
oe_parent_kurzbz
FROM
public.tbl_organisationseinheit
WHERE
oe_kurzbz IN ('. $oe. ')
UNION ALL
SELECT
o.oe_kurzbz,
o.oe_parent_kurzbz
FROM
public.tbl_organisationseinheit o, oes
WHERE
o.oe_parent_kurzbz = oes.oe_kurzbz
)
SELECT
oe_kurzbz
FROM
oes
GROUP BY
oe_kurzbz';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$child_oe_arr []= $this->db_add_param($row->oe_kurzbz);
}
}
// eliminate duplicates
$child_oe_arr = array_unique($child_oe_arr);
// check if leader has child oes by comparing the original
// string of oes with string of child oes.
if ($oe == implode(',', $child_oe_arr))
{
$this->result ['isIndirectSupervisor']= false;
}
else
{
$this->result ['isIndirectSupervisor']= true;
}
// overwrite $oe with child oes for further query
$oe = implode(',', $child_oe_arr);
}
}
//Alle Personen holen die dieser Organisationseinheit untergeordnet sind
$qry = "
+1 -1
View File
@@ -744,7 +744,7 @@ var FHC_FilterWidget = {
*/
_renderTableDataset: function(data) {
if (data.hasOwnProperty("checkboxes") && data.checkboxes.trim() != "")
if (data.hasOwnProperty("checkboxes") && data.checkboxes!=null && data.checkboxes.trim() != "")
{
$("#filterTableDataset > thead > tr").append("<th data-filter='false' title='Select'>Select</th>");
}
+9 -9
View File
@@ -210,7 +210,7 @@ if (isset($_REQUEST['submit']))
}
else
{
echo '<br><b>Matrikelnummer nicht vorhanden:</b>'.$dvb->errormsg;
echo '<br><b>Matrikelnummer nicht vorhanden:</b>'.$data->errormsg;
}
break;
@@ -220,7 +220,7 @@ if (isset($_REQUEST['submit']))
if (ErrorHandler::isSuccess($data) && ErrorHandler::hasData($data))
echo '<br><b>Matrikelnummer vorhanden:</b>'.$data->retval->matrikelnummer;
else
echo '<br><b>Matrikelnummer nicht vorhanden:</b>'.$dvb->errormsg;
echo '<br><b>Matrikelnummer nicht vorhanden:</b>'.$data->errormsg;
break;
case 'getByNachname':
@@ -240,7 +240,7 @@ if (isset($_REQUEST['submit']))
}
else
{
echo '<br><b>Matrikelnummer nicht vorhanden:</b>'.$dvb->errormsg;
echo '<br><b>Matrikelnummer nicht vorhanden:</b>'.$data->errormsg;
}
break;
case 'getReservations':
@@ -251,7 +251,7 @@ if (isset($_REQUEST['submit']))
if ($reservierteNummern !== false)
echo '<br><b>Reservierte Nummern:</b>'.print_r($reservierteNummern, true);
else
echo '<br><b>Fehlgeschlagen:</b>'.$dvb->errormsg;
echo '<br><b>Fehlgeschlagen:</b>'.$data->errormsg;
}
break;
@@ -264,7 +264,7 @@ if (isset($_REQUEST['submit']))
if ($kontingent !== false)
echo '<br><b>Kontingent:</b>'.print_r($kontingent, true);
else
echo '<br><b>Fehlgeschlagen:</b>'.$dvb->errormsg;
echo '<br><b>Fehlgeschlagen:</b>'.$data->errormsg;
}
break;
@@ -285,7 +285,7 @@ if (isset($_REQUEST['submit']))
if (ErrorHandler::isSuccess($result))
echo '<br><b>Erfolgreich gemeldet</b>';
else
echo '<br><b>Fehlgeschlagen:</b>'.$dvb->errormsg;
echo '<br><b>Fehlgeschlagen:</b>'.$data->errormsg;
break;
case 'assignMatrikelnummer':
@@ -295,7 +295,7 @@ if (isset($_REQUEST['submit']))
echo '<br><b>OK</b>';
}
else
echo '<br><b>Fehlgeschlagen:</b>'.$dvb->errormsg;
echo '<br><b>Fehlgeschlagen:</b>'.$data->errormsg;
break;
case 'getBPK':
@@ -305,7 +305,7 @@ if (isset($_REQUEST['submit']))
echo '<br><b>OK BPK:</b> '.$data->retval->bpk;
}
else
echo '<br><b>Fehlgeschlagen:</b>'.$dvb->errormsg;
echo '<br><b>Fehlgeschlagen:</b>'.$data->errormsg;
break;
case 'pruefeBPK':
@@ -315,7 +315,7 @@ if (isset($_REQUEST['submit']))
echo '<br><b>OK BPK:</b> '.$data->retval->bpk;
}
else
echo '<br><b>Fehlgeschlagen:</b>'.$dvb->errormsg;
echo '<br><b>Fehlgeschlagen:</b>'.$data->errormsg;
break;
default:
echo "Unknown action";
+22
View File
@@ -300,6 +300,28 @@ $filters = array(
}
',
'oe_kurzbz' => null,
),
array(
'app' => 'core',
'dataset_name' => 'overview',
'filter_kurzbz' => 'BPKWartung',
'description' => '{bPK Uebersicht}',
'sort' => 1,
'default_filter' => true,
'filter' => '
{
"name": "Fehlende bPK",
"columns": [
{"name": "person_id"},
{"name": "vorname"},
{"name": "nachname"},
{"name": "svnr"},
{"name": "ersatzkennzeichen"}
],
"filters": []
}
',
'oe_kurzbz' => null,
)
);
+118 -38
View File
@@ -18,7 +18,7 @@
* Authors: Cristina Hainberger <hainberg@technikum-wien.at>
*
* Beschreibung:
* The script checks phrases and phrase-texts for actuality in the database.
* The script checks phrases and phrase-texts for actuality in the database.
* Missing attributes are inserted.
*/
@@ -928,7 +928,7 @@ $phrases = array(
)
)
),
array(
'app' => 'core',
'category' => 'global',
@@ -949,7 +949,7 @@ $phrases = array(
)
)
),
array(
'app' => 'core',
'category' => 'global',
@@ -1374,8 +1374,8 @@ $phrases = array(
)
)
),
//*************************** CORE/filter
array(
'app' => 'core',
@@ -1397,7 +1397,7 @@ $phrases = array(
)
)
),
array(
'app' => 'core',
'category' => 'filter',
@@ -1418,7 +1418,7 @@ $phrases = array(
)
)
),
array(
'app' => 'core',
'category' => 'filter',
@@ -1439,7 +1439,7 @@ $phrases = array(
)
)
),
array(
'app' => 'core',
'category' => 'filter',
@@ -1460,10 +1460,10 @@ $phrases = array(
)
)
),
//**************************** CORE/person
array(
'app' => 'core',
@@ -1685,6 +1685,46 @@ $phrases = array(
)
)
),
array(
'app' => 'core',
'category' => 'person',
'phrase' => 'ersatzkennzeichen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Ersatzkennzeichen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => '',
'description' => 'Replacement Label',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'person',
'phrase' => 'bpk',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'bPK',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => '',
'description' => 'bPK',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'person',
@@ -1845,6 +1885,46 @@ $phrases = array(
)
)
),
array(
'app' => 'core',
'category' => 'person',
'phrase' => 'postleitzahl',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Postleitzahl',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => '',
'description' => 'ZIP-Code',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'person',
'phrase' => 'strasse',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Strasse',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => '',
'description' => 'Street',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'person',
@@ -1885,7 +1965,7 @@ $phrases = array(
)
)
),
//**************** CORE/lehre
array(
'app' => 'core',
@@ -2047,9 +2127,9 @@ $phrases = array(
)
)
),
//********************** INFOCENTER/infocenter
array(
'app' => 'infocenter',
@@ -2681,7 +2761,7 @@ $phrases = array(
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Bei Freigabe von InteressentInnen wird deren Interessentenstatus bestätigt
'text' => 'Bei Freigabe von InteressentInnen wird deren Interessentenstatus bestätigt
und deren Zgvdaten können im Infocenter nicht mehr bearbeitet oder freigegeben werden.<br/>
Alle nicht gespeicherten Zgvdaten gehen verloren.<br/>
Fortfahren?',
@@ -2996,19 +3076,19 @@ $phrases = array(
)
)
)
);
//***** CHECK PHRASES & PHRASENTEXTE in German and English.
//***** CHECK PHRASES & PHRASENTEXTE in German and English.
//***** INSERT into phrase_tbl if new app + category + phrase found in phrasen-array.
//***** INSERT into phrasentext_tbl if new text found in phrasen-phrases-array, conciders every language apart.
foreach ($phrases as $phrase)
{
$qry = "SELECT phrase_id
$qry = "SELECT phrase_id
FROM system.tbl_phrase
WHERE
WHERE
app=". $db->db_add_param($phrase['app']). " AND
category=". $db->db_add_param($phrase['category']). " AND
phrase=". $db->db_add_param($phrase['phrase']);
@@ -3017,16 +3097,16 @@ foreach ($phrases as $phrase)
if ($result = $db->db_query($qry))
{
$phrase_id = '';
//phrase not existing -> insert phrase and get last inserted phrase_id
if ($db->db_num_rows($result) === 0)
{
$qry_insert = "INSERT INTO system.tbl_phrase(
app,
phrase,
insertamum,
insertvon,
category)
app,
phrase,
insertamum,
insertvon,
category)
VALUES(".
$db->db_add_param($phrase['app']). ','.
$db->db_add_param($phrase['phrase']). ','.
@@ -3037,7 +3117,7 @@ foreach ($phrases as $phrase)
if ($db->db_query($qry_insert))
{
$new = true;
$qry_lastId = "SELECT currval('system.tbl_phrase_phrase_id_seq') as id";
if ($db->db_query($qry_lastId))
{
@@ -3061,37 +3141,37 @@ foreach ($phrases as $phrase)
}
echo 'Kategorie/Phrase: '. $phrase['category']. '/'. $phrase['phrase']. ' vorhanden.<br>';
}
//*** CHECK PHRASENTEXT
//loop through languages
foreach ($phrase['phrases'] as $phrase_phrases)
{
$language = $phrase_phrases['sprache'];
//query phrasentext in certain language
$qry_language =
"SELECT *
FROM system.tbl_phrasentext
WHERE
WHERE
phrase_id=". $phrase_id. " AND
sprache='". $language. "'";
if ($result_language = $db->db_query($qry_language))
{
//if phrasentext not existing in certain language -> insert
if ($db->db_num_rows($result_language) === 0 && !empty($phrase_phrases['text']))
{
$qry_insert = "INSERT INTO system.tbl_phrasentext(
phrase_id,
sprache,
phrase_id,
sprache,
orgeinheit_kurzbz,
orgform_kurzbz,
text,
description,
insertamum,
insertvon)
insertamum,
insertvon)
VALUES(".
$db->db_add_param($phrase_id, FHC_INTEGER). ','.
$db->db_add_param($phrase_phrases['sprache']). ','.
Binary file not shown.
+11
View File
@@ -386,6 +386,17 @@ if (!$errorOccurred && $dataPosted)
<form name="saveLeistungsstipendium" method="post" enctype="multipart/form-data" action="">
<table border=0>
<tr><td valign="top">CMS-Format</td>
<td></td>
<td valign="top">
Zeichensatz: UTF-8<br>
Feldtrenner: ;<br>
Texttrenner: "<br>
Felder:<br>
<pre>Nachname;Vorname;UID/PersKZ;Studiengang;Betrag;Überweisungsdatum
Dylan;Bob;1234567;MEE;750;03.10.2016</pre>
</td>
</tr>
<tr>
<th width="30%">
<th width="3%">