Merge remote-tracking branch 'origin/master'

This commit is contained in:
Manfred Kindl
2018-03-16 11:13:13 +01:00
27 changed files with 622 additions and 420 deletions
+1 -1
View File
@@ -243,4 +243,4 @@ $config['fhc_acl'] = array
//
$config['addons_aufnahme_url'] = array();
$config['addons_aufnahme_url']['OE_ROOT'] = 'http://debian.dev/addons/aufnahme/OE_ROOT/cis/index.php';
$config['addons_aufnahme_url']['OE_ROOT'] = 'https://SERVER-NAME/addons/aufnahme/OE_ROOT/cis/index.php';
+75
View File
@@ -0,0 +1,75 @@
<?php
$config['navigation_header'] = array(
'Vilesci/index' => array(
'FH-Complete' => base_url('index.ci.php/'),
'Vilesci' => base_url('/vilesci'),
'CIS' => CIS_ROOT
),
'system/infocenter/InfoCenter/index' => array(
'FH-Complete' => base_url('index.ci.php/'),
'Vilesci' => base_url('/vilesci'),
'CIS' => CIS_ROOT
),
'system/infocenter/InfoCenter/showDetails' => array(
'FH-Complete' => base_url('index.ci.php/'),
'Vilesci' => base_url('/vilesci'),
'CIS' => CIS_ROOT
)
);
$config['navigation_menu'] = array();
$config['navigation_menu']['Vilesci/index'] = array(
'Dashboard' => array(
'link' => '#',
'description' => 'Dashboard',
'icon' => 'dashboard'
),
'Lehre' => array(
'link' => '#',
'icon' => 'graduation-cap',
'description' => 'Lehre',
'expand' => true,
'children'=> array(
'CIS' => array(
'link' => CIS_ROOT,
'icon' => '',
'description' => 'CIS',
'expand' => true
),
'Infocenter' => array(
'link' => base_url('index.ci.php/system/infocenter/InfoCenter'),
'icon' => 'info',
'description' => 'Infocenter',
'expand' => true
),
)
),
'Administration' => array(
'link' => '#',
'icon' => 'gear',
'description' => 'Administration',
'expand' => false,
'children'=> array(
'Vilesci' => array(
'link' => base_url('vilesci/'),
'icon' => '',
'description' => 'Vilesci',
'expand' => true
),
'Extensions' => array(
'link' => base_url('index.ci.php/system/extensions/Manager'),
'icon' => 'cubes',
'description' => 'Extensions Manager',
'expand' => true
),
'Datenschutz' => array(
'link' => base_url('index.ci.php/extensions/FHC-Core-DSMS/export'),
'description' => 'Datenschutz',
'icon' => 'legal',
'expand' => true
)
)
)
);
@@ -0,0 +1,98 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
*
*/
class Navigation extends VileSci_Controller
{
const SESSION_NAME = 'NAVIGATION_MENU';
/**
*
*/
public function __construct()
{
parent::__construct();
$this->config->load('navigation');
// Load session library
$this->load->library('session');
}
/**
*
*/
public function menu()
{
$navigation_widget_called = $this->input->get('navigation_widget_called');
$json = array();
if (isset($navigation_widget_called))
{
$navigationMenuArray = $this->config->item('navigation_menu');
if (isset($navigationMenuArray) && is_array($navigationMenuArray))
{
if (isset($navigationMenuArray[$navigation_widget_called]))
{
$json = $navigationMenuArray[$navigation_widget_called];
}
}
if (isset($_SESSION['navigation_menu']))
{
$navigationMenuSessionArray = $_SESSION['navigation_menu'];
if (isset($navigationMenuSessionArray) && is_array($navigationMenuSessionArray))
{
if (isset($navigationMenuSessionArray[$navigation_widget_called]))
{
$json = array_merge($json, $navigationMenuSessionArray[$navigation_widget_called]);
}
}
}
}
$this->output->set_content_type('application/json')->set_output(json_encode($json));
}
/**
*
*/
public function header()
{
$navigation_widget_called = $this->input->get('navigation_widget_called');
$json = array();
if (isset($navigation_widget_called))
{
$navigationHeaderArray = $this->config->item('navigation_header');
if (isset($navigationHeaderArray) && is_array($navigationHeaderArray))
{
if (isset($navigationHeaderArray[$navigation_widget_called]))
{
$json = $navigationHeaderArray[$navigation_widget_called];
}
}
if (isset($_SESSION['navigation_header']))
{
$navigationHeaderSessionArray = $_SESSION['navigation_header'];
if (isset($navigationHeaderSessionArray) && is_array($navigationHeaderSessionArray))
{
if (isset($navigationHeaderSessionArray[$navigation_widget_called]))
{
$json = array_merge($json, $navigationHeaderSessionArray[$navigation_widget_called]);
}
}
}
}
$this->output->set_content_type('application/json')->set_output(json_encode($json));
}
}
@@ -11,15 +11,19 @@ class Manager extends VileSci_Controller
*
*/
public function __construct()
{
parent::__construct();
{
parent::__construct();
// Load helpers to upload files
$this->load->helper(array('form', 'url'));
// Loads the extensions library
$this->load->library('ExtensionsLib');
}
// Loads the extensions library
$this->load->library('ExtensionsLib');
$this->load->library('PermissionLib');
if(!$this->permissionlib->isBerechtigt('system/extensions'))
show_error('You have no Permission! You need Extensions Permission');
}
/**
*
@@ -45,8 +45,6 @@ class InfoCenter extends VileSci_Controller
)
);
private $uid; // contains the UID of the logged user
private $navigationMenuArray; // contains all the voices for the navigation menu
private $navigationHeaderArray;
/**
* Constructor
@@ -77,12 +75,7 @@ class InfoCenter extends VileSci_Controller
if(!$this->permissionlib->isBerechtigt('basis/person'))
show_error('You have no Permission! You need Infocenter Role');
$this->_setNavigationMenuArray(); // sets property navigationMenuArray
$this->navigationHeaderArray = array(
'headertext' => 'Infocenter',
'headertextlink' => base_url('index.ci.php/system/infocenter/InfoCenter')
);
$this->setNavigationMenuArray(); // sets property navigationMenuArray
}
// -----------------------------------------------------------------------------------------------------------------
@@ -93,13 +86,7 @@ class InfoCenter extends VileSci_Controller
*/
public function index()
{
$this->load->view(
'system/infocenter/infocenter.php',
array(
'navigationHeaderArray' => $this->navigationHeaderArray,
'navigationMenuArray' => $this->navigationMenuArray
)
);
$this->load->view('system/infocenter/infocenter.php');
}
/**
@@ -131,11 +118,7 @@ class InfoCenter extends VileSci_Controller
'system/infocenter/infocenterDetails.php',
array_merge(
$persondata,
$prestudentdata,
array(
'navigationHeaderArray' => $this->navigationHeaderArray,
'navigationMenuArray' => $this->navigationMenuArray
)
$prestudentdata
)
);
}
@@ -464,7 +447,7 @@ class InfoCenter extends VileSci_Controller
/**
*
*/
private function _setNavigationMenuArray()
public function setNavigationMenuArray()
{
$listFiltersSent = array();
$listFiltersNotSent = array();
@@ -532,12 +515,22 @@ class InfoCenter extends VileSci_Controller
$this->_fillCustomFilters($listCustomFilters, $filtersarray['personal']);
}
$this->navigationMenuArray = array(
'dashboard' => array(
if (!isset($_SESSION['navigation_menu']))
{
$_SESSION['navigation_menu'] = array();
}
$_SESSION['navigation_menu']['system/infocenter/InfoCenter/index'] = array(
'filters' => array(
'link' => '#',
'description' => 'Dashboard',
'icon' => 'dashboard'
),
'description' => 'Filter',
'icon' => 'filter',
'expand' => true,
'children' => $filtersarray
)
);
$_SESSION['navigation_menu']['system/infocenter/InfoCenter/showDetails'] = array(
'filters' => array(
'link' => '#',
'description' => 'Filter',
@@ -565,11 +558,17 @@ class InfoCenter extends VileSci_Controller
foreach ($filters as $filterId => $description)
{
$toPrint = "%s=%s";
if ($this->router->method != 'index')
{
}
$tofill['children'][] = array(
'link' => sprintf($toPrint, base_url('index.ci.php/system/infocenter/InfoCenter?filter_id'), $filterId),
'description' => $description,
'subscriptDescription' => 'Remove',
'subscriptLinkId' => 'removeFilterById',
'subscriptLinkClass' => 'remove-filter',
'subscriptLinkValue' => $filterId
);
}
@@ -817,6 +816,8 @@ class InfoCenter extends VileSci_Controller
$prestudentstatus = $prestudent->prestudentstatus;
$person_id = $prestudent->person_id;
$person = $this->PersonModel->getPersonStammdaten($person_id, true)->retval;
$dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false)->retval;
$dokumenteNachzureichen = $this->AkteModel->getAktenWithDokInfo($person_id, null, true)->retval;
//fill mail variables
$interessentbez = $person->geschlecht == 'm' ? 'Ein Interessent' : 'Eine Interessentin';
@@ -824,6 +825,25 @@ class InfoCenter extends VileSci_Controller
$orgform = $prestudentstatus->orgform != '' ? ' ('.$prestudentstatus->orgform.')' : '';
$geschlecht = $person->geschlecht == 'm' ? 'm&auml;nnlich' : 'weiblich';
$geburtsdatum = date('d.m.Y', strtotime($person->gebdatum));
$zgvort = !empty($prestudent->zgvort) ? ' in '.$prestudent->zgvort : '';
$zgvnation = !empty($prestudent->zgvnation_bez) ? ', '.$prestudent->zgvnation_bez : '';
$zgvdatum = !empty($prestudent->zgvdatum) ? ', am '.date_format(date_create($prestudent->zgvdatum), 'd.m.Y') : '';
$dokumenteNachzureichenMail = $dokumenteMail = array();
//convert documents to array so they can be parsed, and keeping only needed fields
$lastel = end($dokumente);
foreach ($dokumente as $dokument)
{
$postfix = $lastel === $dokument ? '' : ' |';
$dokumenteMail[] = array('dokument_bezeichnung' => $dokument->dokument_bezeichnung.$postfix);
}
foreach ($dokumenteNachzureichen as $dokument)
{
$anmerkung = !empty($dokument->anmerkung) ? ' | Anmerkung: '.$dokument->anmerkung : '';
$nachgereichtam = !empty($dokument->nachgereicht_am) ? ' | wird nachgereicht bis '.date_format(date_create($dokument->nachgereicht_am), 'd.m.Y') : '';
$dokumenteNachzureichenMail[] = array('dokument_bezeichnung' => $dokument->dokument_bezeichnung, 'anmerkung' => $anmerkung, 'nachgereicht_am' => $nachgereichtam);
}
$notizenBewerbung = $this->NotizModel->getNotizByTitel($person_id, 'Anmerkung zur Bewerbung')->retval;
@@ -860,7 +880,13 @@ class InfoCenter extends VileSci_Controller
'gebdatum' => $geburtsdatum,
'mailadresse' => $mailadresse,
'prestudentid' => $prestudent_id,
'notizentext' => $notizentext
'zgvbez' => $prestudent->zgv_bez,
'zgvort' => $zgvort,
'zgvdatum' => $zgvdatum,
'zgvnation' => $zgvnation,
'notizentext' => $notizentext,
'dokumente' => $dokumenteMail,
'dokumente_nachgereicht' => $dokumenteNachzureichenMail
);
$this->load->library('parser');
+3 -5
View File
@@ -29,18 +29,16 @@ class DB_Model extends FHC_Model
/**
* Constructor
*/
public function __construct($dbTable = null, $pk = null, $hasSequence = true)
public function __construct($dbtype = 'default')
{
// Call parent constructor
parent::__construct();
// Set properties
$this->pk = $pk;
$this->dbTable = $dbTable;
$this->hasSequence = $hasSequence;
$this->hasSequence = true;
// Loads DB conns and confs
$this->load->database();
$this->load->database($dbtype);
// Loads the UDF library
$this->load->library('UDFLib');
@@ -7,7 +7,7 @@ class Extensions_model extends DB_Model
*/
public function __construct()
{
parent::__construct();
parent::__construct('system');
$this->dbTable = 'system.tbl_extensions';
$this->pk = 'extension_id';
}
+1 -27
View File
@@ -11,35 +11,9 @@ $this->load->view('templates/FHC-Header',
?>
<body>
<div id="wrapper">
<?php
$navigationHeaderArray = array('headertext' => 'FH-Complete', 'headertextlink' => base_url('index.ci.php/'));
$navigationMenuArray = array(
'Dashboard' => array('link' => '#', 'description' => 'Dashboard', 'icon' => 'dashboard'),
'Lehre' => array('link' => '#', 'icon' => 'graduation-cap', 'description' => 'Lehre', 'expand' => true,
'children'=> array(
'CIS' => array('link' => CIS_ROOT, 'icon' => '', 'description' => 'CIS', 'expand' => true),
'Infocenter' => array('link' => base_url('index.ci.php/system/infocenter/InfoCenter'), 'icon' => 'info', 'description' => 'Infocenter', 'expand' => true),
)
),
'Administration' => array('link' => '#', 'icon' => 'gear', 'description' => 'Administration', 'expand' => false,
'children'=> array(
'Vilesci' => array('link' => base_url('vilesci/'), 'icon' => '', 'description' => 'Vilesci', 'expand' => true),
'Extensions' => array('link' => base_url('index.ci.php/system/extensions/Manager'), 'icon' => 'cubes', 'description' => 'Extensions Manager', 'expand' => true),
'Datenschutz' => array('link' => base_url('index.ci.php/extensions/FHC-Core-DSMS/export'), 'description' => 'Datenschutz', 'icon' => 'legal','expand' => true)
)
),
);
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
echo $this->widgetlib->widget(
'NavigationWidget',
array(
'navigationHeader' => $navigationHeaderArray,
'navigationMenu' => $navigationMenuArray
)
);
?>
<div id="page-wrapper">
<div class="container-fluid">
<div class="row">
@@ -17,15 +17,9 @@
<body>
<div id="wrapper">
<?php
echo $this->widgetlib->widget(
'NavigationWidget',
array(
'navigationHeader' => $navigationHeaderArray,
'navigationMenu' => $navigationMenuArray
)
);
?>
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
<div id="page-wrapper">
<div class="container-fluid">
<div class="row">
@@ -26,15 +26,9 @@
?>
<body>
<div id="wrapper">
<?php
echo $this->widgetlib->widget(
'NavigationWidget',
array(
'navigationHeader' => $navigationHeaderArray,
'navigationMenu' => $navigationMenuArray
)
);
?>
<?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 ?>">
@@ -8,42 +8,63 @@
<br><br>
<table style="font-size:small">
<tbody>
<tr>
<td><b>Studiengang</b></td>
<td>{studiengangbez}&nbsp;{studiengangtypbez} {orgform} {sprache}</td>
</tr>
<tr>
<td><b>Studiensemester</b></td>
<td>{studiensemester}</td>
</tr>
<tr>
<td><b>Geschlecht</b></td>
<td>{geschlecht}</td>
</tr>
<tr>
<td><b>Vorname</b></td>
<td>{vorname}</td>
</tr>
<tr>
<td><b>Nachname</b></td>
<td>{nachname}</td>
</tr>
<tr>
<td><b>Geburtsdatum</b></td>
<td>{gebdatum}</td>
</tr>
<tr>
<td><b>E-Mail Adresse</b></td>
<td>{mailadresse}</td>
</tr>
<tr>
<td><b>Prestudent ID</b></td>
<td>{prestudentid}</td>
</tr>
<tr>
<td valign="top"><b>Anmerkungen zur Bewerbung</b></td>
<td>{notizentext}</td>
</tr>
<tr>
<td><b>Studiengang</b></td>
<td>{studiengangbez}&nbsp;{studiengangtypbez} {orgform} {sprache}</td>
</tr>
<tr>
<td><b>Studiensemester</b></td>
<td>{studiensemester}</td>
</tr>
<tr>
<td><b>Geschlecht</b></td>
<td>{geschlecht}</td>
</tr>
<tr>
<td><b>Vorname</b></td>
<td>{vorname}</td>
</tr>
<tr>
<td><b>Nachname</b></td>
<td>{nachname}</td>
</tr>
<tr>
<td><b>Geburtsdatum</b></td>
<td>{gebdatum}</td>
</tr>
<tr>
<td><b>E-Mail Adresse</b></td>
<td>{mailadresse}</td>
</tr>
<tr>
<td><b>Prestudent ID</b></td>
<td>{prestudentid}</td>
</tr>
<tr>
<td><b>Zugangsvoraussetzung</b></td>
<td>{zgvbez}{zgvort}{zgvnation}{zgvdatum}</td>
</tr>
<tr>
<td valign="top"><b>Erbrachte Dokumente</b></td>
<td>
{dokumente}
{dokument_bezeichnung}
{/dokumente}
</td>
</tr>
<tr>
<td valign="top"><b>Nachzureichende Dokumente</b></td>
<td>
{dokumente_nachgereicht}
{dokument_bezeichnung}{anmerkung}{nachgereicht_am}
<br>
{/dokumente_nachgereicht}
</td>
</tr>
<tr>
<td valign="top"><b>Anmerkungen zur Bewerbung</b></td>
<td>{notizentext}</td>
</tr>
</tbody>
</table>
<br>
+26 -3
View File
@@ -94,9 +94,26 @@
</style>
<script language="Javascript" type="text/javascript">
$(document).ready(function() {
function refreshSideMenu()
{
$.ajax({
url: "<?php echo base_url('index.ci.php/system/infocenter/InfoCenter/setNavigationMenuArray'); ?>",
method: "GET",
data: {}
})
.done(function(data, textStatus, jqXHR) {
renderSideMenu();
}).fail(function(jqXHR, textStatus, errorThrown) {
alert(textStatus);
});
}
function sideMenuHook()
{
$(".remove-filter").click(function() {
$("#removeFilterById").click(function() {
$.ajax({
url: "<?php echo base_url('index.ci.php/system/Filters/deleteCustomFilter'); ?>",
method: "POST",
@@ -105,11 +122,17 @@
}
})
.done(function(data, textStatus, jqXHR) {
alert("Filter successfully removed");
refreshSideMenu();
}).fail(function(jqXHR, textStatus, errorThrown) {
alert(textStatus);
});
});
}
$(document).ready(function() {
$("[data-toggle='collapse']").click(function() {
@@ -13,14 +13,16 @@
}
})
.done(function(data, textStatus, jqXHR) {
alert("Filter successfully saved");
refreshSideMenu()
}).fail(function(jqXHR, textStatus, errorThrown) {
alert(textStatus);
});
}
else
{
alert("You forgot something!");
alert("Please fill te description of this filter");
}
});
+2 -2
View File
@@ -1,9 +1,9 @@
<nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0">
<?php
// Header
echo $this->widgetlib->widget('NavigationHeaderWidget', $widgetData[NavigationWidget::NAVIGATION_HEADER]);
echo $this->widgetlib->widget('NavigationHeaderWidget');
// Left menu
echo $this->widgetlib->widget('NavigationMenuWidget', $widgetData[NavigationWidget::NAVIGATION_MENU]);
echo $this->widgetlib->widget('NavigationMenuWidget');
?>
</nav>
+37 -7
View File
@@ -1,9 +1,39 @@
<script language="Javascript" type="text/javascript">
$(document).ready(function() {
$.ajax({
url: "<?php echo base_url('index.ci.php/system/Navigation/header'); ?>",
method: "GET",
data: {
navigation_widget_called: "<?php echo $this->router->directory.$this->router->class.'/'.$this->router->method; ?>"
}
})
.done(function(data, textStatus, jqXHR) {
if (data != null)
{
jQuery.each(data, function(i, e) {
$(".menu-header-items").append('<a class="navbar-brand" href="' + e + '">' + i + '</a>');
});
}
}).fail(function(jqXHR, textStatus, errorThrown) {
alert(textStatus);
});
});
</script>
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Men&uuml; umschalten </span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="<?php echo $headertextlink ?>"><?php echo $headertext ?></a>
<span>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Men&uuml; umschalten </span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</span>
<span class="menu-header-items"></span>
</div>
+132 -30
View File
@@ -1,14 +1,3 @@
<div class="navbar-default sidebar" role="navigation">
<div class="sidebar-nav navbar-collapse">
<ul class="nav" id="side-menu">
<li id="collapseicon" class="text-right" style="cursor: pointer; color: #337ab7">
<i class="fa fa-angle-double-left fa-fw"></i>
</li>
<?php NavigationMenuWidget::printNavigationMenu(); ?>
</ul>
</div>
<i id="collapseinicon" class="fa fa-angle-double-right fa-fw"></i>
</div>
<style>
#collapseinicon {
display: none;
@@ -23,16 +12,15 @@
background-color: #F8F8F8;
}
.nav > li > span {
position: relative;
display: block;
.nav > li > span > a:focus, .nav > li > span > a:hover {
text-decoration: none;
}
.nav > li > span > a {
display: inline;
padding-top: 10px;
padding-bottom: 10px;
padding-right: 123px;
.nav > li > span {
position: relative;
display: inline-block;
padding-top: 15px;
padding-bottom: 15px;
}
.menuSubscriptLink {
@@ -48,20 +36,134 @@
}
</style>
<script>
// Hiding/showing navigation menu - works only with sb admin 2 template!!
<script language="Javascript" type="text/javascript">
$("#collapseicon").click(function() {
$("#page-wrapper").css('margin-left', '0px');
$("#side-menu").hide();
$("#collapseinicon").show();
});
function printNavItem(item, depth = 1)
{
strMenu = "";
var expanded = typeof item['expand'] != 'undefined' && item['expand'] === true ? ' active' : '';
strMenu += '<li class="' + expanded + '">';
if (typeof item['subscriptLinkClass'] != 'undefined' && typeof item['subscriptDescription'] != 'undefined')
{
strMenu += '<span>';
}
strMenu += '<a href="' + item['link'] + '"' + expanded + '>';
if (item['icon'] != 'undefined')
{
strMenu += '<i class="fa fa-' + item['icon'] + ' fa-fw"></i> ';
}
strMenu += item['description'];
if (typeof item['children'] != 'undefined' && Object.keys(item['children']).length > 0)
{
strMenu += '<span class="fa arrow"></span>';
}
strMenu += '</a>';
if (typeof item['subscriptLinkClass'] != 'undefined' && typeof item['subscriptDescription'] != 'undefined')
{
strMenu += '<a class="' + item['subscriptLinkClass'] + ' menuSubscriptLink" value="' + item['subscriptLinkValue'] + '" href="#"> (' + item['subscriptDescription'] + ')</a>';
strMenu += '</span>';
}
if (typeof item['children'] != 'undefined' && Object.keys(item['children']).length > 0)
{
var level = '';
if (depth === 1)
{
level = 'second';
}
else if (depth > 1)
{
level = 'third';
}
strMenu += '<ul class="nav nav-' + level + '-level" ' + expanded + '>';
jQuery.each(item['children'], function(i, e) {
strMenu += printNavItem(e, ++depth);
});
strMenu += '</ul>';
}
strMenu += '</li>';
return strMenu;
}
function renderSideMenu()
{
$.ajax({
url: "<?php echo base_url('index.ci.php/system/Navigation/menu'); ?>",
method: "GET",
data: {
navigation_widget_called: "<?php echo $this->router->directory.$this->router->class.'/'.$this->router->method; ?>"
}
})
.done(function(data, textStatus, jqXHR) {
if (data != null)
{
var strMenu = '';
printCollapseIcon();
jQuery.each(data, function(i, e) {
strMenu += printNavItem(e);
});
$("#side-menu").append(strMenu);
$("#side-menu").metisMenu();
}
if (typeof sideMenuHook == 'function')
{
sideMenuHook();
}
}).fail(function(jqXHR, textStatus, errorThrown) {
alert(textStatus);
});
}
function printCollapseIcon()
{
// Hiding/showing navigation menu - works only with sb admin 2 template!!
$("#side-menu").prepend('<li id="collapseicon" class="text-right" style="cursor: pointer; color: #337ab7"><i class="fa fa-angle-double-left fa-fw"></i></li>');
$("#collapseicon").click(function() {
$("#page-wrapper").css('margin-left', '0px');
$("#side-menu").hide();
$("#collapseinicon").show();
});
$("#collapseinicon").click(function() {
$("#page-wrapper").css('margin-left', '250px');
$("#side-menu").show();
$("#collapseinicon").hide();
});
}
$(document).ready(function() {
renderSideMenu();
$("#collapseinicon").click(function() {
$("#page-wrapper").css('margin-left', '250px');
$("#side-menu").show();
$("#collapseinicon").hide();
});
</script>
<div class="navbar-default sidebar" role="navigation">
<div class="sidebar-nav navbar-collapse">
<ul class="nav" id="side-menu"></ul>
</div>
<i id="collapseinicon" class="fa fa-angle-double-right fa-fw"></i>
</div>
@@ -8,8 +8,8 @@ class NavigationHeaderWidget extends Widget
/**
*
*/
public function display($data)
public function display($widgetData)
{
$this->view('widgets/navigationHeader', $data);
$this->view('widgets/navigationHeader');
}
}
@@ -5,87 +5,11 @@
*/
class NavigationMenuWidget extends Widget
{
private $navigationMenu;
private static $navigationMenuWidgetInstance;
/**
*
*/
public function display($widgetData)
{
$this->navigationMenu = $widgetData;
self::$navigationMenuWidgetInstance = $this;
$this->view('widgets/navigationMenu');
}
/**
*
*/
public static function printNavigationMenu()
{
foreach (self::$navigationMenuWidgetInstance->navigationMenu as $item)
{
self::printNavItem($item);
}
}
/**
*
*/
public static function printNavItem($item, $depth = 1)
{
$expanded = isset($item['expand']) && $item['expand'] === true ? ' active' : '';
echo '<li class="'.$expanded.'">';
if (isset($item['subscriptLinkId']) && isset($item['subscriptDescription']))
{
echo '<span>';
}
echo '<a href="'.$item['link'].'"'.$expanded.'>';
if (isset($item['icon']))
{
echo '<i class="fa fa-'.$item['icon'].' fa-fw"></i> ';
}
echo $item['description'];
if (!empty($item['children']))
{
echo '<span class="fa arrow"></span>';
}
echo '</a>';
if (isset($item['subscriptLinkId']) && isset($item['subscriptDescription']))
{
echo '<a id="'.$item['subscriptLinkId'].'" class="menuSubscriptLink" value="'.$item['subscriptLinkValue'].'" href="#">'.$item['subscriptDescription'].'</a>';
}
if (isset($item['subscriptLinkId']) && isset($item['subscriptDescription']))
{
echo '</span>';
}
if (!empty($item['children']))
{
$level = '';
if ($depth === 1)
$level = 'second';
elseif ($depth > 1)
$level = 'third';
echo '<ul class="nav nav-'.$level.'-level" '.$expanded.'>';
foreach ($item['children'] as $child)
self::printNavItem($child, ++$depth);
echo '</ul>';
}
echo '</li>';
}
}
+1 -4
View File
@@ -5,14 +5,11 @@
*/
class NavigationWidget extends Widget
{
const NAVIGATION_HEADER = 'navigationHeader'; //
const NAVIGATION_MENU = 'navigationMenu'; //
/**
*
*/
public function display($widgetData)
{
$this->view('widgets/navigation', array('widgetData' => $widgetData));
$this->view('widgets/navigation');
}
}
+11 -11
View File
@@ -49,7 +49,7 @@ class nation extends basis_db
public function __construct($code=null)
{
parent::__construct();
if($code != null)
$this->load($code);
}
@@ -64,7 +64,7 @@ class nation extends basis_db
{
//Lesen der Daten aus der Datenbank
$qry = "SELECT * FROM bis.tbl_nation WHERE nation_code=".$this->db_add_param($code).';';
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
@@ -101,17 +101,17 @@ class nation extends basis_db
{
//Lesen der Daten aus der Datenbank
$qry = "SELECT * FROM bis.tbl_nation";
if ($ohnesperre)
$qry .= " WHERE sperre is null";
$qry .= " WHERE sperre is null OR sperre is false";
if ($orderEnglish == false)
$qry .= " ORDER BY kurztext";
else
else
$qry .= " ORDER BY engltext";
$qry .= ';';
if (!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
@@ -134,10 +134,10 @@ class nation extends basis_db
$this->nation[] = $nation;
}
return true;
}
/**
* Speichert die Personendaten in die Datenbank
* @return true wenn erfolgreich, false im Fehlerfall
@@ -169,4 +169,4 @@ class nation extends basis_db
}
}
}
?>
?>
+2 -2
View File
@@ -176,7 +176,7 @@ $menu=array
'Wartung'=> array
(
'name'=>'Wartung', 'opener'=>'true', 'hide'=>'true', 'image'=>'vilesci_wartung.png', 'link'=>'left.php?categorie=Wartung', 'target'=>'nav',
'permissions'=>array('basis/studiengang','lehre/vorrueckung','student/vorrueckung','admin','basis/firma','student/stammdaten','assistenz','lv-plan'),
'DokumenteZuteilung'=>array('name'=>'Dokumente Zuteilung', 'link'=>'stammdaten/studiengang_dokumente.php', 'target'=>'main', 'permissions'=>array('basis/studiengang')),
'Vorrueckung'=> array
(
@@ -186,7 +186,7 @@ $menu=array
),
'Kreuzerllistekopieren'=>array('name'=>'Kreuzerllisten kopieren', 'link'=>CIS_ROOT.'cis/private/lehre/benotungstool/copy_uebung.php', 'target'=>'_blank','permissions'=>array('admin')),
'Firmenwartung'=>array('name'=>'Firmenwartung', 'link'=>'stammdaten/firma_zusammen_uebersicht.php', 'target'=>'main','permissions'=>array('basis/firma')),
'checkStudenten'=>array('name'=>'CheckStudenten', 'link'=>'../system/checkStudenten.php', 'target'=>'main'),
'checkStudenten'=>array('name'=>'CheckStudenten', 'link'=>'../system/checkStudenten.php', 'target'=>'main', 'permissions'=>array('student/stammdaten')),
'StudienplanZuteilung'=>array('name'=>'Studienplan Zuteilung', 'link'=>'lehre/studienplan_zuteilung.php', 'target'=>'main','permissions'=>array('assistenz')),
'lv_merge'=>array('name'=>'LVs zusammenlegen', 'link'=>'lehre/lv_merge.php', 'target'=>'main','permissions'=>array('admin','lv-plan')),
'akteupdate'=>array('name'=>'Akten überschreiben', 'link'=>'personen/akteupdate.php', 'target'=>'main','permissions'=>array('admin')),
+60 -33
View File
@@ -133,7 +133,7 @@ class zeitaufzeichnung extends basis_db
//Variablen pruefen
if(!$this->validate())
return false;
// check ob identischer eintrag existiert
$check_qry = 'SELECT count(*) from campus.tbl_zeitaufzeichnung where uid='.$this->db_add_param($this->uid).' and start = '.$this->db_add_param($this->start).' and ende = '.$this->db_add_param($this->ende);
if($this->db_query($check_qry) && $this->new)
@@ -142,13 +142,13 @@ class zeitaufzeichnung extends basis_db
{
if ($row->count)
{
$this->errormsg = 'Identischer Eintrag existiert!';
$this->errormsg = 'Identischer Eintrag existiert!';
return false;
}
}
}
if($this->new)
{
//Neuen Datensatz einfuegen
@@ -339,7 +339,7 @@ class zeitaufzeichnung extends basis_db
//zusätzlicher Tag - SQL rechnet letzten Tag nicht hinein
$to = date('Y-m-d', strtotime($to. ' + 1 days'));
$where.= " AND ((start >= ".$this->db_add_param($from)."::DATE AND start <= ".$this->db_add_param($to)."::DATE)
$where.= " AND ((start >= ".$this->db_add_param($from)."::DATE AND start <= ".$this->db_add_param($to)."::DATE)
OR (ende >= ".$this->db_add_param($from)."::DATE AND ende <= ".$this->db_add_param($to)."::DATE))";
$qry = "SELECT
@@ -506,16 +506,16 @@ class zeitaufzeichnung extends basis_db
return false;
}
}
/**
* Löscht sämtliche Einträge eines Users für einen Tag
* Löscht sämtliche Einträge eines Users für einen Tag
* @param string $user
* @param string $tag Y-m-d
*/
public function deleteEntriesForUser($user, $tag)
{
$where = "uid=".$this->db_add_param($user);
{
$where = "uid=".$this->db_add_param($user);
$qry = "delete from campus.tbl_zeitaufzeichnung where $where and date_trunc('day', start) = '$tag'";
if($result = $this->db_query($qry))
{
@@ -529,28 +529,28 @@ class zeitaufzeichnung extends basis_db
}
/**
* Löscht Pauseneinträge eines Users für einen Tag, die außerhalb der Arbeitszeit liegen
* Löscht Pauseneinträge eines Users für einen Tag, die außerhalb der Arbeitszeit liegen
* Löscht Pauseneinträge an Tagen ohne Arbeitszeit
* @param string $user
* @param string $tag Y-m-d
*/
public function cleanPausenForUser($user, $tag)
{
$where = "uid=".$this->db_add_param($user);
{
$where = "uid=".$this->db_add_param($user);
$qry = "
delete from campus.tbl_zeitaufzeichnung where aktivitaet_kurzbz = 'Pause' and start::date = '$tag' and $where and
(
start::time >=
start::time >=
(SELECT max(ende::time) as endzeit from campus.tbl_zeitaufzeichnung where $where and start::date = '$tag' AND (aktivitaet_kurzbz != 'LehreExtern' or aktivitaet_kurzbz is null ) and aktivitaet_kurzbz != 'Pause')
or
ende::time<=
(SELECT min(start::time) as startzeit from campus.tbl_zeitaufzeichnung where $where and start::date = '$tag' AND (aktivitaet_kurzbz != 'LehreExtern' or aktivitaet_kurzbz is null ) and aktivitaet_kurzbz != 'Pause')
or not exists
(select 1 from campus.tbl_zeitaufzeichnung where aktivitaet_kurzbz != 'LehreExtern' and aktivitaet_kurzbz != 'Pause' and start::date = '$tag' and $where )
(select 1 from campus.tbl_zeitaufzeichnung where aktivitaet_kurzbz != 'LehreExtern' and aktivitaet_kurzbz != 'Pause' and start::date = '$tag' and $where )
)
";
if($result = $this->db_query($qry))
{
return true;
@@ -563,52 +563,79 @@ or not exists
}
/**
* Holt alle ZA-Einträge Typ LehreIntern und LehreExtern eines Users
* Holt alle ZA-Einträge Typ LehreIntern und LehreExtern eines Users
* für das laufende Studienjahr und gibt die Summen in einem Array zurück
* @param string $user
* @return Array mit Keay: LehreIntern, LehreExtern, LehreAuftraege, LehreInkludiert
*/
* @return Array mit Key: LehreIntern, LehreExtern, LehreAuftraege, LehreInkludiert
*/
public function getLehreForUser($user,$sem)
{
$where = "uid=".$this->db_add_param($user);
$where = "uid=".$this->db_add_param($user);
$where_sem = "studiensemester_kurzbz=".$this->db_add_param($sem);
$lehre_arr = array("LehreIntern"=>0, "LehreExtern"=>0, "LehreAuftraege"=>0);
$qry = "
select sum(extract(epoch from ende-start))/3600 as lehre, aktivitaet_kurzbz from campus.tbl_zeitaufzeichnung where $where and aktivitaet_kurzbz in ('LehreIntern', 'LehreExtern') and start > (select start from public.tbl_studiensemester where $where_sem) group by aktivitaet_kurzbz
";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$lehre_arr[$row->aktivitaet_kurzbz] = round($row->lehre,2);
$lehre_arr[$row->aktivitaet_kurzbz] = round($row->lehre,2);
}
}
else
{
return false;
}
}
$where = "mitarbeiter_uid=".$this->db_add_param($user);
$where_sem = "l.studiensemester_kurzbz=".$this->db_add_param($sem);
$qry = "
select sum(m.semesterstunden) from lehre.tbl_lehreinheitmitarbeiter m, lehre.tbl_lehreinheit l where $where and $where_sem and l.lehreinheit_id = m.lehreinheit_id and m.stundensatz*m.semesterstunden > 0
$qry = "
SELECT sum(semstunden) AS stunden
FROM
(
SELECT sum(m.semesterstunden) AS semstunden
FROM
lehre.tbl_lehreinheitmitarbeiter m,
lehre.tbl_lehreinheit l
WHERE
$where AND
$where_sem AND
l.lehreinheit_id = m.lehreinheit_id AND
m.stundensatz * m.semesterstunden > 0
UNION
SELECT sum(pb.stunden) AS semstunden
FROM
lehre.tbl_projektarbeit pa,
lehre.tbl_projektbetreuer pb,
lehre.tbl_lehreinheit l,
public.tbl_benutzer b
WHERE
pa.lehreinheit_id = l.lehreinheit_id AND
pb.projektarbeit_id = pa.projektarbeit_id AND
pb.person_id = b.person_id AND
b.uid = ".$this->db_add_param($user)." AND
pb.stunden * pb.stundensatz > 0 AND
$where_sem
) AS semstunden
";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$lehre_arr["LehreAuftraege"] = round($row->sum);
$lehre_arr["LehreAuftraege"] = round($row->stunden);
}
}
else
{
return false;
}
}
return $lehre_arr;
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
<?php
$this->phrasen['notebookregister/notebook_absatz1']='Sollten Sie mehr als ein Notebook registrieren lassen wollen, wenden Sie sich bitte an <a class="Item" href="mailto:support@technikum-wien.at?Subject=Notebook-Registration">support@technikum-wien.at</a>, da nur ein Eintrag pro Person m&ouml;glich ist.<br/><br/>Geben Sie die MAC-Adresse in folgendem Format an: 00-50-DA-C2-32-1C, oder 00:50:DA:C2:32:1C';
$this->phrasen['notebookregister/notebook_absatz2']='Die Änderungen werden in ca. 30 Minuten wirksam. Bitte haben Sie etwas Geduld.<br/><br/>Um das Internet nutzen zu können, lassen Sie bitte die Netzwerkverbindungseinstellungen vom DHCP-Server zuweisen.<br/>In Ihrem Browser tragen Sie bitte den Proxy-Server: <strong>proxy.technikum-wien.at</strong> und den Port <strong>3128</strong> ein.';
$this->phrasen['notebookregister/notebook_absatz2']='Die Änderungen werden in ca. 30 Minuten wirksam. Bitte haben Sie etwas Geduld.<br/><br/>Um das Internet nutzen zu können, lassen Sie bitte die Netzwerkverbindungseinstellungen vom DHCP-Server zuweisen.';
$this->phrasen['notebookregister/notebook_anmerkung']='muss nur angegeben werden, wenn UID nicht gleich dem angemeldetem Benutzer';
$this->phrasen['notebookregister/titelNotebookRegistration']='LAN Zugang';
$this->phrasen['notebookregister/passwortEingebenWennUIDgeaendert']='Es muss ein Passwort eingegeben werden, wenn die UID geändert wird';
+1 -1
View File
@@ -40,7 +40,7 @@ $this->phrasen['zeitaufzeichnung/alleAnzeigen']='Alle anzeigen';
$this->phrasen['zeitaufzeichnung/alleEintraege']='Alle Einträge';
$this->phrasen['zeitaufzeichnung/summeEintraege']='Summe Einträge';
$this->phrasen['zeitaufzeichnung/arbeitszeit']='Arbeitszeit';
$this->phrasen['zeitaufzeichnung/pause']='Pausen';'inkl. 30 min. Pflichtpause';
$this->phrasen['zeitaufzeichnung/pause']='Pausen';
$this->phrasen['zeitaufzeichnung/inklusivePflichtpause']='inkl. 30 min. Pflichtpause';
$this->phrasen['zeitaufzeichnung/handbuchZeitaufzeichnung']='Arbeitszeitaufzeichnung Leitfaden';
$this->phrasen['zeitaufzeichnung/fiktiveNormalarbeitszeit']='Vereinbarung der fiktiven Normalarbeitszeit';
+1 -1
View File
@@ -1,6 +1,6 @@
<?php
$this->phrasen['notebookregister/notebook_absatz1']='It is only possible to register one notebook PC per person. <br/>If you want to register more than one, please contact support at <a class="Item" href="mailto:support@technikum-wien.at?Subject=Notebook-Registration">support@technikum-wien.at</a>.<br/><br/>Enter the MAC address in the following format: 00-50-DA-C2-32-1C, or 00:50:DA:C2:32:1C';
$this->phrasen['notebookregister/notebook_absatz2']='The changes will take effect in about 30 minutes. Please be patient.<br/><br/>In order to access the Internet, please allow the DHCP server to assign the network connection settings.<br/>Please enter the following proxy server in your browser: <strong>proxy.technikum-wien.at</strong> and set the port to <strong>3128</strong>.';
$this->phrasen['notebookregister/notebook_absatz2']='The changes will take effect in about 30 minutes. Please be patient.<br/><br/>In order to access the Internet, please allow the DHCP server to assign the network connection settings.';
$this->phrasen['notebookregister/notebook_anmerkung']='only has to be entered if the UID is not the same as that of the logged-in user';
$this->phrasen['notebookregister/titelNotebookRegistration']='LAN Access';
$this->phrasen['notebookregister/passwortEingebenWennUIDgeaendert']='A password must be entered when the UID is changed.';
+20 -118
View File
@@ -1768,84 +1768,9 @@ if($result = @$db->db_query("SELECT * FROM system.tbl_filters WHERE filter_kurzb
}
}
/** Budget **/
if (!$result = @$db->db_query("SELECT 1 FROM wawi.tbl_budgetantrag LIMIT 1"))
if (!$result = @$db->db_query("SELECT projekt_id FROM fue.tbl_projekt LIMIT 1"))
{
$qry = "CREATE TABLE wawi.tbl_budgetantrag
(
budgetantrag_id integer NOT NULL,
kostenstelle_id integer NOT NULL,
geschaeftsjahr_kurzbz varchar(32) NOT NULL,
bezeichnung varchar(256),
insertamum timestamp DEFAULT now(),
insertvon varchar(32),
updateamum timestamp,
updatevon varchar(32)
);
COMMENT ON TABLE wawi.tbl_budgetantrag IS 'Budget Requests';
ALTER TABLE wawi.tbl_budgetantrag ADD CONSTRAINT pk_tbl_budgetantrag PRIMARY KEY (budgetantrag_id);
CREATE SEQUENCE wawi.tbl_budgetantrag_budgetantrag_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE wawi.tbl_budgetantrag ALTER COLUMN budgetantrag_id SET DEFAULT nextval(' wawi.tbl_budgetantrag_budgetantrag_id_seq');
GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetantrag TO vilesci;
GRANT SELECT, UPDATE ON wawi.tbl_budgetantrag_budgetantrag_id_seq TO vilesci;
ALTER TABLE wawi.tbl_budgetantrag ADD CONSTRAINT fk_budgetantrag_kostenstelle_id FOREIGN KEY (kostenstelle_id) REFERENCES wawi.tbl_kostenstelle(kostenstelle_id) ON UPDATE CASCADE ON DELETE RESTRICT;
ALTER TABLE wawi.tbl_budgetantrag ADD CONSTRAINT fk_budgetantrag_geschaeftsjahr_kurzbz FOREIGN KEY (geschaeftsjahr_kurzbz) REFERENCES public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;
CREATE TABLE wawi.tbl_budgetstatus
(
budgetstatus_kurzbz varchar(32) NOT NULL,
bezeichnung varchar(128)
);
COMMENT ON TABLE wawi.tbl_budgetstatus IS 'Key Table of Budget Request Statuses';
ALTER TABLE wawi.tbl_budgetstatus ADD CONSTRAINT pk_tbl_budgetstatus PRIMARY KEY (budgetstatus_kurzbz);
INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('new','Neu');
INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('sent','Abgeschickt');
INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('approved','Freigegeben');
INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('accepted','Akzeptiert');
INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('rejected','Abgelehnt');
GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetantrag TO vilesci;
CREATE TABLE wawi.tbl_budgetantrag_status
(
budgetantrag_status_id integer NOT NULL,
budgetantrag_id integer NOT NULL,
budgetstatus_kurzbz varchar(32) NOT NULL,
datum timestamp NOT NULL,
uid varchar(32),
oe_kurzbz varchar(32),
insertamum timestamp DEFAULT now(),
insertvon varchar(32)
);
COMMENT ON TABLE wawi.tbl_budgetantrag_status IS 'Statuses of Budget Requests';
ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT pk_tbl_budgetantrag_status PRIMARY KEY (budgetantrag_status_id);
CREATE SEQUENCE wawi.tbl_budgetantrag_status_budgetantrag_status_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE wawi.tbl_budgetantrag_status ALTER COLUMN budgetantrag_status_id SET DEFAULT nextval(' wawi.tbl_budgetantrag_status_budgetantrag_status_id_seq');
ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT fk_budgetantrag_status_budgetstatus_kurzbz FOREIGN KEY (budgetstatus_kurzbz) REFERENCES wawi.tbl_budgetstatus(budgetstatus_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;
ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT fk_budgetantrag_status_uid FOREIGN KEY (uid) REFERENCES public.tbl_benutzer(uid) ON UPDATE CASCADE ON DELETE RESTRICT;
ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT fk_budgetantrag_status_oe_kurzbz FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;
GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetantrag TO vilesci;
GRANT SELECT, UPDATE ON wawi.tbl_budgetantrag_status_budgetantrag_status_id_seq TO vilesci;
CREATE SEQUENCE fue.tbl_projekt_projekt_id_seq
$qry = "CREATE SEQUENCE fue.tbl_projekt_projekt_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
@@ -1853,47 +1778,29 @@ if (!$result = @$db->db_query("SELECT 1 FROM wawi.tbl_budgetantrag LIMIT 1"))
GRANT SELECT, UPDATE ON fue.tbl_projekt_projekt_id_seq TO vilesci;
ALTER TABLE fue.tbl_projekt ADD COLUMN projekt_id integer NOT NULL DEFAULT nextval('fue.tbl_projekt_projekt_id_seq');
ALTER TABLE fue.tbl_projekt ADD CONSTRAINT uk_tbl_projekt_projekt_id UNIQUE (projekt_id);
CREATE TABLE wawi.tbl_budgetposition
(
budgetposition_id integer NOT NULL,
budgetantrag_id integer NOT NULL,
budgetposten varchar(512),
konto_id integer,
betrag numeric(12,4),
kommentar text,
projekt_id integer,
insertamum timestamp,
insertvon varchar(32),
updateamum timestamp,
updatevon varchar(32)
);
COMMENT ON TABLE wawi.tbl_budgetposition IS 'Budget position';
ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT pk_tbl_budgetposition PRIMARY KEY (budgetposition_id);
CREATE SEQUENCE wawi.tbl_budgetposition_budgetposition_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE wawi.tbl_budgetposition ALTER COLUMN budgetposition_id SET DEFAULT nextval(' wawi.tbl_budgetposition_budgetposition_id_seq');
ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT fk_tbl_budgetposition_budgetantrag_id FOREIGN KEY (budgetantrag_id) REFERENCES wawi.tbl_budgetantrag(budgetantrag_id) ON UPDATE CASCADE ON DELETE RESTRICT;
ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT fk_tbl_budgetposition_konto_id FOREIGN KEY (konto_id) REFERENCES wawi.tbl_konto(konto_id) ON UPDATE CASCADE ON DELETE RESTRICT;
ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT fk_tbl_budgetposition_projekt_id FOREIGN KEY (projekt_id) REFERENCES fue.tbl_projekt(projekt_id) ON UPDATE CASCADE ON DELETE RESTRICT;
GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetposition TO vilesci;
GRANT SELECT, UPDATE ON wawi.tbl_budgetposition_budgetposition_id_seq TO vilesci;
";
if(!$db->db_query($qry))
echo '<strong>Budget: '.$db->db_last_error().'</strong><br>';
if (!$db->db_query($qry))
echo '<strong>Projekt: '.$db->db_last_error().'</strong><br>';
else
echo '<br>Neue Tabellen fuer Budgetantrag in Schema wawi hinzugefuegt';
echo '<br>Neue Spalte projekt_id für fue.tbl_projekt hinzugefügt';
}
// Extension Schema
if ($result = $db->db_query("SELECT schema_name FROM information_schema.schemata WHERE schema_name='extension'"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "CREATE SCHEMA extension;
COMMENT ON SCHEMA extension is 'Extension Tables';";
if (!$db->db_query($qry))
echo '<strong>Extension: '.$db->db_last_error().'</strong><br>';
else
echo '<br>Neues Schema extension hinzugefuegt';
}
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -2161,11 +2068,6 @@ $tabellen=array(
"wawi.tbl_betriebsmittel_betriebsmittelstatus" => array("betriebsmittelbetriebsmittelstatus_id","betriebsmittel_id","betriebsmittelstatus_kurzbz", "datum", "updateamum", "updatevon", "insertamum", "insertvon","anmerkung"),
"wawi.tbl_betriebsmittelstatus" => array("betriebsmittelstatus_kurzbz","beschreibung"),
"wawi.tbl_betriebsmitteltyp" => array("betriebsmitteltyp","beschreibung","anzahl","kaution","typ_code","mastershapename"),
"wawi.tbl_budget" => array("geschaeftsjahr_kurzbz","kostenstelle_id","budget"),
"wawi.tbl_budgetantrag" => array("budgetantrag_id","kostenstelle_id","geschaeftsjahr_kurzbz","bezeichnung","insertamum","insertvon","updateamum","updatevon"),
"wawi.tbl_budgetantrag_status" => array("budgetantrag_status_id","budgetantrag_id","budgetstatus_kurzbz","datum","uid","oe_kurzbz","insertamum","insertvon"),
"wawi.tbl_budgetstatus" => array("budgetstatus_kurzbz","bezeichnung"),
"wawi.tbl_budgetposition" => array("budgetposition_id","budgetantrag_id","budgetposten","konto_id","betrag","kommentar","projekt_id","insertamum","insertvon","updateamum","updatevon"),
"wawi.tbl_zahlungstyp" => array("zahlungstyp_kurzbz","bezeichnung"),
"wawi.tbl_konto" => array("konto_id","kontonr","beschreibung","kurzbz","aktiv","person_id","insertamum","insertvon","updateamum","updatevon","ext_id","person_id"),
"wawi.tbl_konto_kostenstelle" => array("konto_id","kostenstelle_id","insertamum","insertvon"),
+17 -6
View File
@@ -178,14 +178,22 @@ if(isset($_GET['excel']))
$reihungstest = new reihungstest();
if($reihungstest->load($_GET['reihungstest_id']))
{
$rt_studienplan_id = '';
$studienplaene_arr = array();
$studienplaene = new reihungstest();
$studienplaene->getStudienplaeneReihungstest($reihungstest->reihungstest_id);
foreach ($studienplaene->result AS $row)
{
$studienplan = new studienplan();
$studienplan->loadStudienplan($row->studienplan_id);
$studienplaene_arr[ $row->studienplan_id] = $studienplan->bezeichnung;
if($studienplan->loadStudienplan($row->studienplan_id))
{
$studienplaene_arr[ $row->studienplan_id] = $studienplan->bezeichnung;
$rt_studienplan_id = $row->studienplan_id;
}
else
{
die('Fehler beim Laden:'.$studienplan->errormsg);
}
}
$studienplaene_list = implode(',', array_keys($studienplaene_arr));
@@ -249,12 +257,15 @@ if(isset($_GET['excel']))
";
$gebietbezeichnungen = array();
$qry_gebiete = "SELECT gebiet_id, reihung, bezeichnung FROM testtool.tbl_ablauf JOIN testtool.tbl_gebiet USING (gebiet_id) WHERE studienplan_id = ".$db->db_add_param($row->studienplan_id)." ORDER BY reihung";
if($result_gebiete = $db->db_query($qry_gebiete))
if ($rt_studienplan_id != '')
{
while($row_gebiete = $db->db_fetch_object($result_gebiete))
$qry_gebiete = "SELECT gebiet_id, reihung, bezeichnung FROM testtool.tbl_ablauf JOIN testtool.tbl_gebiet USING (gebiet_id) WHERE studienplan_id = ".$db->db_add_param($rt_studienplan_id)." ORDER BY reihung";
if($result_gebiete = $db->db_query($qry_gebiete))
{
$gebietbezeichnungen[$row_gebiete->gebiet_id] = $row_gebiete->bezeichnung;
while($row_gebiete = $db->db_fetch_object($result_gebiete))
{
$gebietbezeichnungen[$row_gebiete->gebiet_id] = $row_gebiete->bezeichnung;
}
}
}