New Feature "number_displayed_past_studiensemester"

Definiert, wie viele vergangene Studiensemester im FAS-Tree angezeigt
werden sollen
This commit is contained in:
kindlm
2017-05-08 14:11:35 +02:00
parent 07dc2e8bc0
commit 5c1dfc4f64
6 changed files with 117 additions and 11 deletions
+9
View File
@@ -95,6 +95,7 @@ foreach($addon_obj->result as $addon)
<command id="menu-prefs-stpltable-stundenplan:command" oncommand="stpltableChange('stundenplan');"/>
<command id="menu-prefs-stpltable-stundenplandev:command" oncommand="stpltableChange('stundenplandev');"/>
<command id="menu-prefs-kontofilterstg:command" oncommand="EinstellungenKontoFilterStgChange();"/>
<command id="menu-prefs-number_displayed_past_studiensemester:command" oncommand="variableChangeValue('number_displayed_past_studiensemester');"/>
<command id="menu-statistic-koordinatorstunden:command" oncommand="StatistikPrintKoordinatorstunden();"/>
<command id="menu-statistic-lehrauftraege:command" oncommand="StatistikPrintLehrauftraege();"/>
<command id="menu-statistic-lvplanung:command" oncommand="StatistikPrintLVPlanung();"/>
@@ -266,6 +267,14 @@ foreach($addon_obj->result as $addon)
checkbox ="true"
checked ="<?php echo $variable->variable->kontofilterstg;?>"
/>
<menuitem
id ="menu-prefs-number_displayed_past_studiensemester"
key ="menu-prefs-number_displayed_past_studiensemester:key"
label ="&menu-prefs-number_displayed_past_studiensemester.label;"
command ="menu-prefs-number_displayed_past_studiensemester:command"
accesskey ="&menu-prefs-number_displayed_past_studiensemester.accesskey;"
value ="<?php echo (isset($variable->variable->number_displayed_past_studiensemester)?$variable->variable->number_displayed_past_studiensemester:'');?>"
/>
</menupopup>
</menu>
<!-- ********** BERICHTE ********** -->
+68
View File
@@ -2047,3 +2047,71 @@ function OrganisationseinheitTreeRefresh()
oe_datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
tree.database.AddDataSource(oe_datasource);
}
// ****
// * Oeffnet ein Fenster zum Aendern eines Variablenwertes
// ****
function variableChangeValue(variable)
{
var variablevalue = getvariable(variable);
if(variablevalue = prompt('Bitte geben Sie den neuen Wert fuer '+variable+' ein', variablevalue))
{
variableChange(variable, '', variablevalue);
}
}
// ****
// * Sendet einen Request zum Aendern einer Variable
// ****
function variableChange(variable, id, wert)
{
if(id!=null)
item = document.getElementById(id);
if(typeof(wert)==='undefined')
{
if(item.getAttribute('checked')=='true')
checked='true';
else
checked='false';
}
else
checked=wert;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Request absetzen
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'variablechange');
req.add('name', variable);
req.add('wert', checked);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
if(variable=='ignore_kollision')
updateignorekollision();
if(variable=='db_stpl_table')
{
document.getElementById("statusbarpanel-db_table").label = wert;
updatedbstpltable();
}
//Statusbar setzen
document.getElementById("statusbarpanel-text").label = "Variable erfolgreich geaendert";
}
}
@@ -106,7 +106,7 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
<row>
<label value="Studiensemester" control="student-konto-neu-menulist-studiensemester"/>
<menulist id="student-konto-neu-menulist-studiensemester"
datasources="<?php echo APP_ROOT ?>rdf/studiensemester.rdf.php" flex="1"
datasources="<?php echo APP_ROOT ?>rdf/studiensemester.rdf.php?order=desc" flex="1"
ref="http://www.technikum-wien.at/studiensemester/liste" >
<template>
<menupopup>
+15 -9
View File
@@ -882,25 +882,31 @@ class studiensemester extends basis_db
/**
* Liefert ausgehend von heutigen Datum $plus studiensemester in die Zukunft und $minus Studiensemester in die Vergangenheit
*
* @param integer $plus Wieviele Studiensemester in die Zukunft sollen ausgegeben werden.
* @param integer $minus Wieviele Studiensemester in die Vergangenheit sollen ausgegeben werden.
* @param integer $plus Optional. Wieviele Studiensemester in die Zukunft sollen ausgegeben werden. Wenn NULL werden alle zukuenftigen geliefert.
* @param integer $minus Optional. Wieviele Studiensemester in die Vergangenheit sollen ausgegeben werden. Wenn NULL werden alle vergangenen geliefert.
* @param string $order Optional. Sortierreihenfolge. Default "ende DESC".
*
* @return true wenn ok, sonst false
*/
public function getPlusMinus($plus=null, $minus=null)
public function getPlusMinus($plus = null, $minus = null, $order = "ende DESC")
{
if((is_null($plus) || !is_numeric($plus)) || (is_null($minus) || !is_numeric($minus)))
if(($plus != '' && !is_numeric($plus)) || ($minus != '' && !is_numeric($minus)))
return false;
$qry = "SELECT DISTINCT * FROM public.tbl_studiensemester WHERE studiensemester_kurzbz IN
(
(SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE start >= now()
ORDER BY ende ASC LIMIT $plus)
UNION
ORDER BY ende ASC";
if ($plus != '')
$qry .= " LIMIT ".$this->db_add_param($plus, FHC_INTEGER);
$qry .= ") UNION
(SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE start <= now()
ORDER BY start DESC LIMIT $minus)
)
ORDER BY ende DESC";
ORDER BY start DESC ";
if ($minus != '')
$qry .= " LIMIT ".$this->db_add_param($minus, FHC_INTEGER);
$qry .= ")) ORDER BY ".$order;
if($this->db_query($qry))
{
+4
View File
@@ -38,6 +38,10 @@
<!ENTITY menu-prefs-kontofilterstg.label "Buchungen auf Studiengang filtern">
<!ENTITY menu-prefs-kontofilterstg.accesskey "B">
<!ENTITY menu-prefs-number_displayed_past_studiensemester.key "A">
<!ENTITY menu-prefs-number_displayed_past_studiensemester.label "Anzahl angezeigter vergangener Studiensemester">
<!ENTITY menu-prefs-number_displayed_past_studiensemester.accesskey "A">
<!-- Berichte -->
<!ENTITY menu-statistic.label "Berichte">
<!ENTITY menu-statistic.accesskey "R">
+20 -1
View File
@@ -27,6 +27,7 @@ require_once('../include/functions.inc.php');
require_once('../include/benutzerberechtigung.class.php');
require_once('../include/studiensemester.class.php');
require_once('../include/studiengang.class.php');
require_once('../include/variable.class.php');
$rdf_url='http://www.technikum-wien.at/lehrverbandsgruppe/';
@@ -35,6 +36,7 @@ $uid='';
$berechtigung=new benutzerberechtigung();
$dbo = new basis_db();
$show_inout_block=false;
$number_displayed_past_studiensemester = '';
// Berechtigungen ermitteln
if(!isset($_SERVER['REMOTE_USER']))
@@ -58,6 +60,23 @@ else
if(isset($_GET['studiengang_kz']))
$berechtigt_studiengang=array_merge($berechtigt_studiengang,array($_GET['studiengang_kz']));
// Pruefen ob Variable fuer number_displayed_studiensemester gesetzt ist, wenn nicht, einen neuen Eintrag anlegen
$variable = new variable();
if ($variable->load($uid, 'number_displayed_past_studiensemester'))
{
$number_displayed_past_studiensemester = $variable->wert;
}
else
{
$variable->new = true;
$variable->uid = $uid;
$variable->name = 'number_displayed_past_studiensemester';
$variable->wert = '';
$variable->save();
$number_displayed_past_studiensemester = '';
}
}
$orgform_sequence=array();
@@ -96,7 +115,7 @@ else
$num_rows=$dbo->db_num_rows();
$stsem_obj = new studiensemester();
$stsem_obj->getAll();
$stsem_obj->getPlusMinus(NULL, $number_displayed_past_studiensemester, 'ende ASC');
//Bei Mischformen werden die Organisationsformen
//getrennt aufgelistet