mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Zeitaufzeichnung an Ressourcen angepasst
This commit is contained in:
@@ -27,6 +27,9 @@
|
||||
require_once('../../../include/fachbereich.class.php');
|
||||
require_once('../../../include/zeitaufzeichnung.class.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/projekt.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
echo '
|
||||
@@ -205,11 +208,12 @@ if(isset($_GET['type']) && $_GET['type']=='edit')
|
||||
}
|
||||
|
||||
//Projekte holen fuer zu denen der Benutzer zugeteilt ist
|
||||
$qry_projekt = "SELECT distinct tbl_projekt.* FROM fue.tbl_projektbenutzer JOIN fue.tbl_projekt USING(projekt_kurzbz) WHERE beginn<=now() AND (ende>=now() OR ende is null) AND uid='$user'";
|
||||
$projekt = new projekt();
|
||||
|
||||
if($result_projekt = $db->db_query($qry_projekt))
|
||||
|
||||
if($projekt->getProjekteMitarbeiter($user))
|
||||
{
|
||||
if($db->db_num_rows($result_projekt)>0)
|
||||
if(count($projekt->result)>0)
|
||||
{
|
||||
$bn = new benutzer();
|
||||
if(!$bn->load($user))
|
||||
@@ -224,7 +228,7 @@ if($result_projekt = $db->db_query($qry_projekt))
|
||||
echo '<table>';
|
||||
//Projekt
|
||||
echo '<tr><td>Projekt</td><td><SELECT name="projekt" id="projekt">';
|
||||
while($row_projekt = $db->db_fetch_object($result_projekt))
|
||||
foreach($projekt->result as $row_projekt)
|
||||
{
|
||||
if($projekt_kurzbz == $row_projekt->projekt_kurzbz)
|
||||
$selected = 'selected';
|
||||
|
||||
+50
-126
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
/* Copyright (C) 2007 Technikum-Wien
|
||||
/* Copyright (C) 2011 FH Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
@@ -15,32 +15,33 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
*/
|
||||
/**
|
||||
* Klasse projektarbeit
|
||||
* @create 08-02-2007
|
||||
* Klasse projekt
|
||||
*
|
||||
* Verwaltet die Projekte
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class projekt extends basis_db
|
||||
{
|
||||
public $new; // boolean
|
||||
public $result = array(); // adresse Objekt
|
||||
public $result = array(); // projekt Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
public $projekt_kurzbz; //string
|
||||
public $nummer; //string
|
||||
public $titel; //string
|
||||
public $beschreibung; //string
|
||||
public $beginn; //date
|
||||
public $ende; //date
|
||||
public $oe_kurzbz; //string
|
||||
public $ext_id; // integer
|
||||
public $insertamum; // timestamp
|
||||
public $insertvon; // bigint
|
||||
public $updateamum; // timestamp
|
||||
public $updatevon; // bigint
|
||||
public $projekt_kurzbz; // string
|
||||
public $nummer; // string
|
||||
public $titel; // string
|
||||
public $beschreibung; // string
|
||||
public $beginn; // date
|
||||
public $ende; // date
|
||||
public $oe_kurzbz; // string
|
||||
public $insertamum; // timestamp
|
||||
public $insertvon; // string
|
||||
public $updateamum; // timestamp
|
||||
public $updatevon; // string
|
||||
|
||||
|
||||
/**
|
||||
@@ -56,15 +57,13 @@ class projekt extends basis_db
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Projektarbeit mit der ID $projekt_kurzbz
|
||||
* @param $projekt_kurzbz ID der zu ladenden Projektarbeit
|
||||
* Laedt die Projek mit der Kurzbezeichnung $projekt_kurzbz
|
||||
* @param $projekt_kurzbz Kurzbz des Projekts
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load($projekt_kurzbz)
|
||||
{
|
||||
|
||||
|
||||
$qry = "SELECT * FROM fue.tbl_projekt WHERE projekt_kurzbz=".$this->addslashes($projekt_kurzbz);
|
||||
$qry = "SELECT * FROM fue.tbl_projekt WHERE projekt_kurzbz='".addslashes($projekt_kurzbz)."'";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -94,15 +93,15 @@ class projekt extends basis_db
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Projektarbeit mit der ID $projekt_kurzbz
|
||||
* @param $projekt_kurzbz ID der zu ladenden Projektarbeit
|
||||
* Laedt die Projeke einer Organisationseinheit
|
||||
* @param $projekt_kurzbz Kurzbezeichnung des Projekts
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getProjekte($oe=null,$uid=null)
|
||||
public function getProjekte($oe=null)
|
||||
{
|
||||
$qry = 'SELECT * FROM fue.tbl_projekt';
|
||||
if (!is_null($oe))
|
||||
$qry.= " WHERE oe_kurzbz='$oe'";
|
||||
$qry.= " WHERE oe_kurzbz='".addslashes($oe)."'";
|
||||
$qry.= ' ORDER BY oe_kurzbz;';
|
||||
//echo $qry;
|
||||
if($this->db_query($qry))
|
||||
@@ -185,7 +184,7 @@ class projekt extends basis_db
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
|
||||
$qry='BEGIN; INSERT INTO fue.tbl_projekt (projekt_kurzbz, nummer, titel,beschreibung, beginn, ende, oe_kurzbz) VALUES('.
|
||||
$qry='INSERT INTO fue.tbl_projekt (projekt_kurzbz, nummer, titel,beschreibung, beginn, ende, oe_kurzbz) VALUES('.
|
||||
$this->addslashes($this->projekt_kurzbz).', '.
|
||||
$this->addslashes($this->nummer).', '.
|
||||
$this->addslashes($this->titel).', '.
|
||||
@@ -210,10 +209,7 @@ class projekt extends basis_db
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($new)
|
||||
$this->db_query('COMMIT');
|
||||
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -224,19 +220,14 @@ class projekt extends basis_db
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht den Datenensatz mit der ID die uebergeben wird
|
||||
* @param $projekt_kurzbz ID die geloescht werden soll
|
||||
* Loescht den Datenensatz
|
||||
* @param $projekt_kurzbz Projekt das geloescht werden soll
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function delete($projekt_kurzbz)
|
||||
{
|
||||
if(!is_numeric($projekt_kurzbz))
|
||||
{
|
||||
$this->errormsg = 'Projektarbeit_id ist ungueltig';
|
||||
return true;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM lehre.tbl_projektarbeit WHERE projekt_kurzbz='$projekt_kurzbz'";
|
||||
|
||||
$qry = "DELETE FROM lehre.tbl_projek WHERE projekt_kurzbz='".addslashes($projekt_kurzbz)."'";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -250,109 +241,42 @@ class projekt extends basis_db
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Projektarbeiten eines Studenten
|
||||
* @param student_uid
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
* Liefert die Projekte zu denen ein Mitarbeiter zugeordnet ist
|
||||
* @param $mitarbeiter_uid
|
||||
*/
|
||||
public function getProjektarbeit($student_uid)
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_projektarbeit WHERE student_uid='".addslashes($student_uid)."'";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new projektarbeit();
|
||||
|
||||
$obj->projekt_kurzbz = $row->projekt_kurzbz;
|
||||
$obj->projekttyp_kurzbz = $row->projekttyp_kurzbz;
|
||||
$obj->titel = $row->titel;
|
||||
$obj->titel_english = $row->titel_english;
|
||||
$obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
$obj->student_uid = $row->student_uid;
|
||||
$obj->firma_id = $row->firma_id;
|
||||
$obj->note = $row->note;
|
||||
$obj->punkte = $row->punkte;
|
||||
$obj->beginn = $row->beginn;
|
||||
$obj->ende = $row->ende;
|
||||
$obj->faktor = $row->faktor;
|
||||
$obj->freigegeben = ($row->freigegeben=='t'?true:false);
|
||||
$obj->gesperrtbis = $row->gesperrtbis;
|
||||
$obj->stundensatz = $row->stundensatz;
|
||||
$obj->gesamtstunden = $row->gesamtstunden;
|
||||
$obj->themenbereich = $row->themenbereich;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->ext_id = $row->ext_id;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Projektarbeiten eines Studienganges/Studiensemesters
|
||||
* @param studiengang_kz, studiensemester_kurzbz
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function getProjektarbeitStudiensemester($studiengang_kz, $studiensemester_kurzbz)
|
||||
function getProjekteMitarbeiter($mitarbeiter_uid)
|
||||
{
|
||||
$qry = "SELECT
|
||||
tbl_projektarbeit.*
|
||||
distinct tbl_projekt.*
|
||||
FROM
|
||||
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
|
||||
WHERE
|
||||
tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||
tbl_lehrveranstaltung.studiengang_kz='".addslashes($studiengang_kz)."' AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
|
||||
fue.tbl_ressource
|
||||
JOIN fue.tbl_projekt_ressource USING(ressource_id)
|
||||
JOIN fue.tbl_projekt USING(projekt_kurzbz)
|
||||
WHERE (beginn<=now() or beginn is null)
|
||||
AND (ende>=now() OR ende is null)
|
||||
AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
|
||||
|
||||
if($this->db_query($qry))
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new projektarbeit();
|
||||
|
||||
$obj = new projekt();
|
||||
|
||||
$obj->projekt_kurzbz = $row->projekt_kurzbz;
|
||||
$obj->projekttyp_kurzbz = $row->projekttyp_kurzbz;
|
||||
$obj->nummer = $row->nummer;
|
||||
$obj->titel = $row->titel;
|
||||
$obj->titel_english = $row->titel_english;
|
||||
$obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
$obj->student_uid = $row->student_uid;
|
||||
$obj->firma_id = $row->firma_id;
|
||||
$obj->note = $row->note;
|
||||
$obj->punkte = $row->punkte;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
$obj->beginn = $row->beginn;
|
||||
$obj->ende = $row->ende;
|
||||
$obj->faktor = $row->faktor;
|
||||
$obj->freigegeben = ($row->freigegeben=='t'?true:false);
|
||||
$obj->gesperrtbis = $row->gesperrtbis;
|
||||
$obj->stundensatz = $row->stundensatz;
|
||||
$obj->gesamtstunden = $row->gesamtstunden;
|
||||
$obj->themenbereich = $row->themenbereich;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->ext_id = $row->ext_id;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
$this->erromsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -300,6 +300,5 @@ class ressource extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
@@ -2712,6 +2712,7 @@ if(!$result = @$db->db_query("SELECT 1 FROM fue.tbl_ressource LIMIT 1;"))
|
||||
ALTER TABLE fue.tbl_ressource ALTER COLUMN ressource_id SET DEFAULT nextval('fue.seq_ressource_ressource_id');
|
||||
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON fue.tbl_ressource TO vilesci;
|
||||
GRANT SELECT ON fue.tbl_ressource TO web;
|
||||
GRANT SELECT, UPDATE ON SEQUENCE fue.seq_ressource_ressource_id TO web;
|
||||
GRANT SELECT, UPDATE ON SEQUENCE fue.seq_ressource_ressource_id TO vilesci;
|
||||
|
||||
@@ -2739,6 +2740,7 @@ if(!$result = @$db->db_query("SELECT 1 FROM fue.tbl_ressource LIMIT 1;"))
|
||||
ALTER TABLE fue.tbl_projekt_ressource ALTER COLUMN projekt_ressource_id SET DEFAULT nextval('fue.seq_projekt_ressource_projekt_ressource_id');
|
||||
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON fue.tbl_projekt_ressource TO vilesci;
|
||||
GRANT SELECT ON fue.tbl_projekt_ressource TO web;
|
||||
GRANT SELECT, UPDATE ON SEQUENCE fue.seq_projekt_ressource_projekt_ressource_id TO web;
|
||||
GRANT SELECT, UPDATE ON SEQUENCE fue.seq_projekt_ressource_projekt_ressource_id TO vilesci;
|
||||
|
||||
|
||||
@@ -979,9 +979,9 @@ $error_msg='';
|
||||
flush();
|
||||
}
|
||||
|
||||
|
||||
// **************************************************************
|
||||
// Mitarbeiter Sprachen Institut
|
||||
$mlist_name='sprachen';
|
||||
$mlist_name='SPRACHEN';
|
||||
|
||||
$grp = new gruppe();
|
||||
if(!$grp->exists($mlist_name))
|
||||
@@ -1008,6 +1008,68 @@ $error_msg='';
|
||||
}
|
||||
|
||||
|
||||
// Lektoren holen die nicht mehr in den Verteiler gehoeren
|
||||
echo '<br>'.$mlist_name.' wird abgeglichen!';
|
||||
flush();
|
||||
|
||||
$sql_query = "SELECT distinct uid
|
||||
FROM
|
||||
public.tbl_benutzer
|
||||
JOIN public.tbl_benutzerfunktion USING(uid)
|
||||
JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid)
|
||||
WHERE oe_kurzbz in('Sprachen')
|
||||
AND tbl_benutzer.aktiv
|
||||
AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null)
|
||||
AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)";
|
||||
|
||||
$sql_querys="DELETE FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name' AND uid NOT IN ($sql_query)";
|
||||
if(!$db->db_query($sql_querys))
|
||||
{
|
||||
$error_msg.=$db->db_last_error().' '.$sql_querys;
|
||||
}
|
||||
|
||||
$sql_query.=" AND uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name')";
|
||||
if(!($result_oe = $db->db_query($sql_query)))
|
||||
$error_msg.=$db->db_last_error().' '.$sql_query;
|
||||
// Lektoren holen die nicht im Verteiler sind
|
||||
while($row_oe = $db->db_fetch_object($result_oe))
|
||||
{
|
||||
$sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row_oe->uid','".$mlist_name."', now(), 'mlists_generate')";
|
||||
if(!$db->db_query($sql_query))
|
||||
{
|
||||
$error_msg.=$db->db_last_error().$sql_query;
|
||||
}
|
||||
}
|
||||
|
||||
// **************************************************************
|
||||
//Mitarbeiter sprachen Institut
|
||||
$mlist_name='HUMANITIES';
|
||||
|
||||
$grp = new gruppe();
|
||||
if(!$grp->exists($mlist_name))
|
||||
{
|
||||
$grp->gruppe_kurzbz = $mlist_name;
|
||||
$grp->studiengang_kz = '0';
|
||||
$grp->bezeichnung = 'humanities';
|
||||
$grp->beschreibung = 'Mitarbeiter des Instituts Sprachen und Kulturwissenschaften';
|
||||
$grp->semester = '0';
|
||||
$grp->mailgrp = true;
|
||||
$grp->sichtbar = true;
|
||||
$grp->generiert = true;
|
||||
$grp->aktiv = true;
|
||||
$grp->lehre = true;
|
||||
$grp->insertamum = date('Y-m-d H:i:s');
|
||||
$grp->insertvon = 'mlists_generate';
|
||||
|
||||
if(!$grp->save(true, false))
|
||||
die('Fehler: '.$grp->errormsg);
|
||||
}
|
||||
else
|
||||
{
|
||||
setGeneriert($mlist_name);
|
||||
}
|
||||
|
||||
|
||||
// Lektoren holen die nicht mehr in den Verteiler gehoeren
|
||||
echo '<br>'.$mlist_name.' wird abgeglichen!';
|
||||
flush();
|
||||
|
||||
Reference in New Issue
Block a user