mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-25 07:59:28 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
This commit is contained in:
@@ -383,8 +383,8 @@ class LehrauftragJob extends JOB_Controller
|
||||
} // Else if UID exists
|
||||
else
|
||||
{
|
||||
// Search if studiensemester exists
|
||||
$ss_index = array_search($data['studiensemester_kurzbz'], array_column($mail_data_arr, 'studiensemester_kurzbz'));
|
||||
// Search if studiensemester exists inside the existing UID array
|
||||
$ss_index = array_search($data['studiensemester_kurzbz'], array_column($mail_data_arr[$uid_index], 'studiensemester_kurzbz'));
|
||||
|
||||
// If studiensemester is new, add studiensemester to existing UID
|
||||
if ($ss_index === false)
|
||||
@@ -394,13 +394,6 @@ class LehrauftragJob extends JOB_Controller
|
||||
$data[$i]
|
||||
);
|
||||
}
|
||||
// Else if studiensemester exists
|
||||
else
|
||||
{
|
||||
// Add corresponding data to existing studiensemester of UID
|
||||
$mail_data_arr[$uid_index]['studiensemester_kurbz'][] = $data[$i];
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -612,9 +612,9 @@ class Messages_model extends CI_Model
|
||||
if (!isEmptyString($vorlage_kurzbz))
|
||||
{
|
||||
$this->load->model('system/Vorlagestudiengang_model', 'VorlagestudiengangModel');
|
||||
$this->VorlagestudiengangModel->addOrder('version','DESC');
|
||||
$this->VorlagestudiengangModel->addOrder('version', 'DESC');
|
||||
|
||||
$getVorlage = $this->VorlagestudiengangModel->loadWhere(array('vorlage_kurzbz' => $vorlage_kurzbz));
|
||||
$getVorlage = $this->VorlagestudiengangModel->loadWhere(array('vorlage_kurzbz' => $vorlage_kurzbz, 'aktiv' => true));
|
||||
}
|
||||
|
||||
return $getVorlage;
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@
|
||||
</tr>
|
||||
<tr style="height:10%;" >
|
||||
<td align="center" valign="bottom">
|
||||
<div style="color:grey">Powered by <a href="http://www.fhcomplete.org" target="blank">FH Complete</a></div>
|
||||
<div style="color:grey">Powered by <a href="http://www.fhcomplete.info" target="blank">FH Complete</a></div>
|
||||
<br><br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
+1
-1
@@ -69,7 +69,7 @@ if(isset($_GET['login']))
|
||||
</tr>
|
||||
<tr style="height:10%;" >
|
||||
<td align="center" valign="bottom">
|
||||
<div style="color:grey">Powered by <a href="http://www.fhcomplete.org" target="blank">FH Complete</a></div>
|
||||
<div style="color:grey">Powered by <a href="http://www.fhcomplete.info" target="blank">FH Complete</a></div>
|
||||
<br><br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -12,10 +12,13 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* 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 Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
||||
* Manuela Thamer <manuela.thamer@technikum-wien.at>
|
||||
*/
|
||||
require_once ('../../../../config/cis.config.inc.php');
|
||||
require_once ('../../../../config/global.config.inc.php');
|
||||
@@ -306,6 +309,8 @@ foreach ($noten_obj->result as $row)
|
||||
{
|
||||
if(typeof(typ)=='undefined')
|
||||
typ = 'Termin2';
|
||||
var nn = document.getElementById(uid+"_nn").innerHTML;
|
||||
var vn = document.getElementById(uid+"_vn").innerHTML;
|
||||
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>";
|
||||
|
||||
@@ -314,7 +319,7 @@ foreach ($noten_obj->result as $row)
|
||||
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 colspan='2'><b><?php echo $p->t('benotungstool/pruefungAnlegenFuer');?> "+nn+" "+vn+":</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+"'>";
|
||||
@@ -1166,8 +1171,8 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
$htmlstring .= '<tr class="liste' . ($i % 2) . '">
|
||||
<td><a href="mailto:' . $uid . '@' . DOMAIN . '"><img src="../../../../skin/images/button_mail.gif"></a></td>
|
||||
<td>' . $db->convert_html_chars($uid) . '</td>
|
||||
<td>' . $db->convert_html_chars($data['nachname']) . '</td>
|
||||
<td>' . $db->convert_html_chars($data['vorname']) . '</td>';
|
||||
<td id= '. $uid. "_nn". '>' . $db->convert_html_chars($data['nachname']) . '</td>
|
||||
<td id= '. $uid. "_vn". '>' . $db->convert_html_chars($data['vorname']) . '</td>';
|
||||
|
||||
// Bereits eingetragene Note ermitteln
|
||||
if ($lvgesamtnote = new lvgesamtnote($lvid, $uid, $stsem))
|
||||
|
||||
@@ -44,6 +44,7 @@ require_once('../../../include/addon.class.php');
|
||||
require_once('../../../include/gruppe.class.php');
|
||||
require_once('../../../include/adresse.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/bisverwendung.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
@@ -271,6 +272,22 @@ if (!$ansicht)
|
||||
|
||||
}
|
||||
|
||||
if (!$ansicht)
|
||||
{
|
||||
if ($is_employee)
|
||||
{
|
||||
$verwendung = new bisverwendung();
|
||||
if($verwendung->getLastVerwendung($uid))
|
||||
{
|
||||
if (!$verwendung->hauptberuflich)
|
||||
{
|
||||
echo 'Hauptberuf: '. $verwendung->hauptberuf;
|
||||
}
|
||||
}
|
||||
echo "<br><br>";
|
||||
}
|
||||
}
|
||||
|
||||
if (!$ansicht)
|
||||
{
|
||||
$adresse = new adresse();
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
* Manuela Thamer <manuela.thamer@technikum-wien.at>
|
||||
*/
|
||||
require_once('../../../config/cis.config.inc.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
@@ -28,6 +29,13 @@ require_once('../../../include/benutzer.class.php');
|
||||
require_once('../../../include/mitarbeiter.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/addon.class.php');
|
||||
require_once('../../../include/mail.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/globals.inc.php');
|
||||
require_once('../../../include/sprache.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
@@ -43,16 +51,16 @@ else
|
||||
{
|
||||
//Bis August das aktuelle Jahr anzeigen
|
||||
//Ab September das naechste
|
||||
if(date('m')<9)
|
||||
if (date('m') < 9)
|
||||
$year = date('Y');
|
||||
else
|
||||
$year = date('Y')+1;
|
||||
$year = date('Y') + 1;
|
||||
}
|
||||
|
||||
if(isset($_GET['uid']))
|
||||
$uid=$_GET['uid'];
|
||||
if (isset($_GET['uid']))
|
||||
$uid = $_GET['uid'];
|
||||
else
|
||||
$uid='';
|
||||
$uid = '';
|
||||
|
||||
$datum_obj = new datum();
|
||||
|
||||
@@ -98,50 +106,74 @@ echo '
|
||||
$mitarbeiter = new mitarbeiter();
|
||||
$mitarbeiter->getUntergebene($user);
|
||||
|
||||
if(count($mitarbeiter->untergebene)==0 && !$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('mitarbeiter/urlaube', null, 'suid'))
|
||||
if (count($mitarbeiter->untergebene) == 0 && !$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('mitarbeiter/urlaube', null, 'suid'))
|
||||
die('Es sind Ihnen keine Mitarbeiter zugeteilt für die sie den Urlaub freigeben dürfen');
|
||||
$untergebene = '';
|
||||
foreach ($mitarbeiter->untergebene as $row)
|
||||
{
|
||||
if($untergebene!='')
|
||||
$untergebene.=',';
|
||||
if ($untergebene != '')
|
||||
$untergebene .= ',';
|
||||
$untergebene .= $db->db_add_param($row);
|
||||
}
|
||||
|
||||
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter/urlaube', null, 'suid'))
|
||||
if ($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter/urlaube', null, 'suid'))
|
||||
{
|
||||
if($untergebene!='')
|
||||
$untergebene.=',';
|
||||
if ($untergebene != '')
|
||||
$untergebene .= ',';
|
||||
$untergebene .= $db->db_add_param($uid);
|
||||
}
|
||||
$qry = "SELECT * FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid in($untergebene)";
|
||||
|
||||
$mitarbeiter = array();
|
||||
if($result = $db->db_query($qry))
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$mitarbeiter[$row->uid]['vorname']=$row->vorname;
|
||||
$mitarbeiter[$row->uid]['nachname']=$row->nachname;
|
||||
$mitarbeiter[$row->uid]['titelpre']=$row->titelpre;
|
||||
$mitarbeiter[$row->uid]['titelpost']=$row->titelpost;
|
||||
$mitarbeiter[$row->uid]['vorname'] = $row->vorname;
|
||||
$mitarbeiter[$row->uid]['nachname'] = $row->nachname;
|
||||
$mitarbeiter[$row->uid]['titelpre'] = $row->titelpre;
|
||||
$mitarbeiter[$row->uid]['titelpost'] = $row->titelpost;
|
||||
}
|
||||
}
|
||||
if($uid!='' && !isset($mitarbeiter[$uid]) && $uid!=$user && !$rechte->isBerechtigt('admin'))
|
||||
if ($uid != '' && !isset($mitarbeiter[$uid]) && $uid != $user && !$rechte->isBerechtigt('admin'))
|
||||
die('Sie haben keine Berechtigung fuer diesen Mitarbeiter');
|
||||
|
||||
//Freigeben eines Urlaubes
|
||||
if(isset($_GET['action']) && $_GET['action']=='freigabe')
|
||||
if (isset($_GET['action']) && $_GET['action'] == 'freigabe')
|
||||
{
|
||||
$zeitsperre = new zeitsperre();
|
||||
if($zeitsperre->load($_GET['id']))
|
||||
if ($zeitsperre->load($_GET['id']))
|
||||
{
|
||||
if(isset($mitarbeiter[$zeitsperre->mitarbeiter_uid]))
|
||||
if (isset($mitarbeiter[$zeitsperre->mitarbeiter_uid]))
|
||||
{
|
||||
$zeitsperre->freigabeamum = date('Y-m-d H:i:s');
|
||||
$zeitsperre->freigabevon = $user;
|
||||
if(!$zeitsperre->save(false))
|
||||
if (!$zeitsperre->save(false))
|
||||
{
|
||||
echo "<b>Fehler bei der Freigabe: $zeitsperre->errormsg</b>";
|
||||
}
|
||||
|
||||
//Bestätigungsmail an Mitarbeiter*in
|
||||
$to = $zeitsperre->mitarbeiter_uid. '@'.DOMAIN;
|
||||
$person = new person();
|
||||
$fullNameVG = $person->getFullNameFromBenutzer($user);
|
||||
$fullNameMA = $person->getFullNameFromBenutzer($zeitsperre->mitarbeiter_uid);
|
||||
$from = 'noreply@'.DOMAIN;
|
||||
$subject = $p->t('urlaubstool/urlaubsfreigabe'). date("d.m.Y", strtotime($zeitsperre->vondatum)). " ".
|
||||
$p->t('urlaubstool/bis'). " ". date("d.m.Y", strtotime($zeitsperre->bisdatum));
|
||||
$text = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n";
|
||||
$text .= $p->t('urlaubstool/urlaubVon')." ".date("d.m.Y", strtotime($zeitsperre->vondatum))." ".
|
||||
$p->t('urlaubstool/bis')." ".date("d.m.Y", strtotime($zeitsperre->bisdatum));
|
||||
$text .= $p->t('urlaubstool/urlaubBis', array($fullNameVG));
|
||||
$text .= "\n". "\n". $p->t('urlaubstool/sieKoennenDiesenUnterFolgenderAdresseEinsehen');
|
||||
$text .= "\n". APP_ROOT. 'cis/private/profile/urlaubstool.php';
|
||||
|
||||
$mail = new mail($to, $from, $subject, $text);
|
||||
|
||||
if ($mail->send())
|
||||
{
|
||||
echo "<span style='color:green;'>".$p->t('urlaubstool/bestaetigungsmailWurdeVersandt', array($fullNameMA))."</span>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -152,40 +184,38 @@ if(isset($_GET['action']) && $_GET['action']=='freigabe')
|
||||
{
|
||||
echo '<b>Die Zeitsperre konnte nicht geladen werden</b>';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Monat zeichenen
|
||||
//Monat zeichnen
|
||||
function draw_monat($monat)
|
||||
{
|
||||
global $untergebene, $mitarbeiter, $year, $datum_obj, $uid;
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
|
||||
echo '<td style="border: 1px solid black; height:100px; width: 30%" valign="top">';
|
||||
echo '<center><b>';
|
||||
echo date('F',mktime(0,0,0,$monat,1,date('Y')));
|
||||
echo " ".($monat>8?$year-1:$year);
|
||||
echo date('F', mktime(0,0,0,$monat,1,date('Y')));
|
||||
echo " ".($monat > 8?$year-1:$year);
|
||||
echo '</b></center>';
|
||||
//Alle Anzeigen bei denen das von- oder bisdatum in dieses monat fallen
|
||||
$qry = "SELECT * FROM campus.tbl_zeitsperre WHERE zeitsperretyp_kurzbz='Urlaub'
|
||||
AND
|
||||
(
|
||||
(date_part('month', vondatum)='$monat' AND date_part('year', vondatum)='".($monat>8?$year-1:$year)."')
|
||||
(date_part('month', vondatum)='$monat' AND date_part('year', vondatum)='".($monat > 8?$year - 1:$year)."')
|
||||
OR
|
||||
(date_part('month', bisdatum)='$monat' AND date_part('year', bisdatum)='".($monat>8?$year-1:$year)."')
|
||||
(date_part('month', bisdatum)='$monat' AND date_part('year', bisdatum)='".($monat > 8?$year - 1:$year)."')
|
||||
)";
|
||||
if($uid=='')
|
||||
$qry.=" AND mitarbeiter_uid in($untergebene)";
|
||||
if($uid == '')
|
||||
$qry.= " AND mitarbeiter_uid in($untergebene)";
|
||||
else
|
||||
$qry.=" AND mitarbeiter_uid=".$db->db_add_param($uid);
|
||||
$qry.= " AND mitarbeiter_uid=". $db->db_add_param($uid);
|
||||
$qry.="ORDER BY vondatum, mitarbeiter_uid";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$vertretung = new benutzer($row->vertretung_uid);
|
||||
$freigabe='';
|
||||
@@ -207,7 +237,7 @@ function draw_monat($monat)
|
||||
}
|
||||
|
||||
//Jahr mit Pfeilen zum blaettern anzeigen
|
||||
if($uid!='')
|
||||
if ($uid!='')
|
||||
{
|
||||
echo '<table width="100%"><tr><td style="width:33%">';
|
||||
echo "<a href='".$_SERVER['PHP_SELF']."?year=$year' class='Item'>Alle Mitarbeiter anzeigen</a><br></td>";
|
||||
@@ -232,16 +262,16 @@ echo '<br>';
|
||||
//Tabelle mit den Monaten ausgeben
|
||||
echo '<table cellspacing=0 width="100%" style="border: 1px solid black;"><tr>';
|
||||
$monat=9;
|
||||
for($i=0;$i<12;$i++)
|
||||
for($i = 0;$i < 12;$i++)
|
||||
{
|
||||
if($i%3==0)
|
||||
if ($i%3 == 0)
|
||||
{
|
||||
echo '</tr><tr>';
|
||||
}
|
||||
draw_monat($monat);
|
||||
$monat++;
|
||||
if($monat>12)
|
||||
$monat=1;
|
||||
if ($monat > 12)
|
||||
$monat = 1;
|
||||
}
|
||||
echo '</tr></table>
|
||||
|
||||
|
||||
@@ -1539,7 +1539,7 @@ function OpenAboutDialog()
|
||||
// ****
|
||||
function OpenManual()
|
||||
{
|
||||
window.open('https://wiki.fhcomplete.org/doku.php?','_blank');
|
||||
window.open('https://wiki.fhcomplete.info/','_blank');
|
||||
}
|
||||
|
||||
// ****
|
||||
|
||||
@@ -473,7 +473,7 @@ function SyncLVPlan()
|
||||
// ****
|
||||
function OpenManualTempus()
|
||||
{
|
||||
window.open('https://wiki.fhcomplete.org/doku.php?id=tempus:allgemeines','Manual');
|
||||
window.open('https://wiki.fhcomplete.info/doku.php?id=tempus:allgemeines','Manual');
|
||||
}
|
||||
|
||||
// ****
|
||||
|
||||
@@ -524,12 +524,13 @@ class bisverwendung extends basis_db
|
||||
{
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT
|
||||
*
|
||||
*, tbl_hauptberuf.bezeichnung as hauptberuf
|
||||
FROM
|
||||
bis.tbl_bisverwendung
|
||||
LEFT JOIN bis.tbl_hauptberuf USING(hauptberufcode)
|
||||
WHERE
|
||||
mitarbeiter_uid=".$this->db_add_param($uid)."
|
||||
ORDER BY ende DESC NULLS LAST,beginn DESC NULLS LAST LIMIT 1;";
|
||||
ORDER BY ende DESC NULLS FIRST,beginn DESC NULLS LAST LIMIT 1;";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -543,6 +544,7 @@ class bisverwendung extends basis_db
|
||||
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$this->hauptberufcode = $row->hauptberufcode;
|
||||
$this->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
|
||||
$this->hauptberuf = $row->hauptberuf;
|
||||
$this->habilitation = $this->db_parse_bool($row->habilitation);
|
||||
$this->beginn = $row->beginn;
|
||||
$this->ende = $row->ende;
|
||||
@@ -582,7 +584,7 @@ class bisverwendung extends basis_db
|
||||
(beginn<=now() OR beginn IS NULL)
|
||||
AND
|
||||
(ende>=now() OR ende IS NULL)
|
||||
ORDER BY ende DESC NULLS LAST,beginn DESC NULLS LAST LIMIT 1;";
|
||||
ORDER BY ende DESC NULLS FIRST,beginn DESC NULLS LAST LIMIT 1;";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
|
||||
@@ -40,4 +40,10 @@ $this->phrasen['urlaubstool/freigegebenerUrlaubGeloescht']='Bereits Freigegebene
|
||||
$this->phrasen['urlaubstool/VorgesetzteInformiert']='Email wurde an %s versandt';
|
||||
$this->phrasen['urlaubstool/konnteKeinInformationsemailVersendetWerden']='Es konnte kein Email versendet werden, da kein Vorgesetzter eingetragen ist!';
|
||||
$this->phrasen['urlaubstool/xHatUrlaubGeloescht']='%s %s hat bereits freigegebenen Urlaub gelöscht';
|
||||
$this->phrasen['urlaubstool/urlaubsfreigabe']='Freigabe Urlaub: ';
|
||||
$this->phrasen['urlaubstool/bestaetigungsmailWurdeVersandt']='Bestätigungsmail an %s versandt';
|
||||
$this->phrasen['urlaubstool/urlaubVon']='Ihr angefragter Urlaub von';
|
||||
$this->phrasen['urlaubstool/urlaubBis']=' wurde von %s freigegeben.';
|
||||
$this->phrasen['urlaubstool/sieKoennenDiesenUnterFolgenderAdresseEinsehen']='Sie können diesen unter folgender Adresse einsehen:';
|
||||
|
||||
?>
|
||||
|
||||
@@ -36,4 +36,10 @@ $this->phrasen['urlaubstool/meineZeitsperren']='My Planned Absences';
|
||||
$this->phrasen['urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben']='Sie können diesen unter folgender Adresse freigeben'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll
|
||||
$this->phrasen['urlaubstool/freigabeansuchenUrlaub']='Freigabeansuchen Urlaub'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll
|
||||
$this->phrasen['urlaubstool/freigabeFehlt']='Vacation has not been approved yet';
|
||||
$this->phrasen['urlaubstool/urlaubsfreigabe']='Vacation approval: ';
|
||||
$this->phrasen['urlaubstool/bestaetigungsmailWurdeVersandt']='Confirmation mail to %s sent';
|
||||
$this->phrasen['urlaubstool/urlaubVon']='Ihr angefragter Urlaub von'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll
|
||||
$this->phrasen['urlaubstool/urlaubBis']=' wurde von %s freigegeben.'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll
|
||||
$this->phrasen['urlaubstool/sieKoennenDiesenUnterFolgenderAdresseEinsehen']='Sie können diesen unter folgender Adresse einsehen:'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll
|
||||
|
||||
?>
|
||||
|
||||
@@ -275,29 +275,29 @@ function drawLehrauftrag($uid)
|
||||
FROM
|
||||
campus.vw_lehreinheit
|
||||
JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id, mitarbeiter_uid)
|
||||
JOIN lehre.tbl_vertrag_vertragsstatus vvst USING (vertrag_id)
|
||||
JOIN lehre.tbl_vertrag_vertragsstatus vvst USING (vertrag_id)
|
||||
WHERE
|
||||
mitarbeiter_uid=".$db->db_add_param($uid)."
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($ss). "
|
||||
AND lema.vertrag_id IS NOT NULL
|
||||
AND vertragsstatus_kurzbz = 'akzeptiert'";
|
||||
AND lema.vertrag_id IS NOT NULL
|
||||
AND vertragsstatus_kurzbz = 'akzeptiert'";
|
||||
|
||||
if ($studiengang_kz != '') //$studiengang_kz!='0' &&
|
||||
{
|
||||
$qry .= " AND lv_studiengang_kz=".$db->db_add_param($studiengang_kz);
|
||||
}
|
||||
{
|
||||
$qry .= " AND lv_studiengang_kz=".$db->db_add_param($studiengang_kz);
|
||||
}
|
||||
elseif (!empty($xsl_oe_kurzbz))
|
||||
{
|
||||
if ($xsl_oe_kurzbz == 'etw')
|
||||
{
|
||||
$qry .= " AND lv_studiengang_kz > 0";
|
||||
}
|
||||
{
|
||||
if ($xsl_oe_kurzbz == 'etw')
|
||||
{
|
||||
$qry .= " AND lv_studiengang_kz > 0";
|
||||
}
|
||||
|
||||
if ($xsl_oe_kurzbz == 'lehrgang')
|
||||
{
|
||||
$qry .= " AND lv_studiengang_kz <= 0";
|
||||
}
|
||||
}
|
||||
if ($xsl_oe_kurzbz == 'lehrgang')
|
||||
{
|
||||
$qry .= " AND lv_studiengang_kz <= 0";
|
||||
}
|
||||
}
|
||||
|
||||
$qry .= " ORDER BY lv_orgform_kurzbz, lv_bezeichnung, lehreinheit_id";
|
||||
$lv = array();
|
||||
@@ -390,8 +390,8 @@ function drawLehrauftrag($uid)
|
||||
$gesamtstunden = $gesamtstunden + $stunden;
|
||||
}
|
||||
}
|
||||
$qry = 'SELECT
|
||||
pa.projektarbeit_id,
|
||||
$qry = 'SELECT
|
||||
pa.projektarbeit_id,
|
||||
pb.faktor,
|
||||
pb.stunden,
|
||||
pb.stundensatz,
|
||||
@@ -401,37 +401,37 @@ function drawLehrauftrag($uid)
|
||||
student.studiengang_kz,
|
||||
projekttyp_kurzbz,
|
||||
lv.oe_kurzbz,
|
||||
vertragsstatus_kurzbz
|
||||
vertragsstatus_kurzbz
|
||||
FROM lehre.tbl_projektbetreuer pb
|
||||
JOIN lehre.tbl_projektarbeit pa USING (projektarbeit_id)
|
||||
JOIN lehre.tbl_lehreinheit le USING (lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id)
|
||||
JOIN PUBLIC.tbl_organisationseinheit oe USING (oe_kurzbz)
|
||||
JOIN public.tbl_benutzer benutzer ON pb.person_id = benutzer.person_id
|
||||
JOIN campus.vw_student student ON pa.student_uid = student.uid
|
||||
LEFT JOIN lehre.tbl_vertrag vertrag USING (vertrag_id)
|
||||
LEFT JOIN lehre.tbl_vertrag_vertragsstatus vvst USING (vertrag_id)
|
||||
JOIN lehre.tbl_projektarbeit pa USING (projektarbeit_id)
|
||||
JOIN lehre.tbl_lehreinheit le USING (lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id)
|
||||
JOIN PUBLIC.tbl_organisationseinheit oe USING (oe_kurzbz)
|
||||
JOIN public.tbl_benutzer benutzer ON pb.person_id = benutzer.person_id
|
||||
JOIN campus.vw_student student ON pa.student_uid = student.uid
|
||||
LEFT JOIN lehre.tbl_vertrag vertrag USING (vertrag_id)
|
||||
LEFT JOIN lehre.tbl_vertrag_vertragsstatus vvst USING (vertrag_id)
|
||||
WHERE pb.vertrag_id IS NOT NULL
|
||||
AND vvst.vertragsstatus_kurzbz = \'akzeptiert\'
|
||||
AND benutzer.uid = '.$db->db_add_param($uid).'
|
||||
AND le.studiensemester_kurzbz = '.$db->db_add_param($ss);
|
||||
AND vvst.vertragsstatus_kurzbz = \'akzeptiert\'
|
||||
AND benutzer.uid = '.$db->db_add_param($uid).'
|
||||
AND le.studiensemester_kurzbz = '.$db->db_add_param($ss);
|
||||
|
||||
if ($studiengang_kz != '')
|
||||
{
|
||||
$qry .= " AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
}
|
||||
elseif (!empty($xsl_oe_kurzbz))
|
||||
{
|
||||
if ($xsl_oe_kurzbz == 'etw')
|
||||
{
|
||||
$qry .= " AND lv.studiengang_kz > 0";
|
||||
}
|
||||
{
|
||||
$qry .= " AND lv.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
}
|
||||
elseif (!empty($xsl_oe_kurzbz))
|
||||
{
|
||||
if ($xsl_oe_kurzbz == 'etw')
|
||||
{
|
||||
$qry .= " AND lv.studiengang_kz > 0";
|
||||
}
|
||||
|
||||
if ($xsl_oe_kurzbz == 'lehrgang')
|
||||
{
|
||||
$qry .= " AND lv.studiengang_kz <= 0";
|
||||
}
|
||||
}
|
||||
if ($xsl_oe_kurzbz == 'lehrgang')
|
||||
{
|
||||
$qry .= " AND lv.studiengang_kz <= 0";
|
||||
}
|
||||
}
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
@@ -471,8 +471,6 @@ function drawLehrauftrag($uid)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
foreach ($lv as $lv_row)
|
||||
{
|
||||
$xml .= '
|
||||
|
||||
@@ -54,7 +54,7 @@ $data = array
|
||||
'rolle_kurzbz' => 'admin',
|
||||
'berechtigung' => array
|
||||
(
|
||||
'admin', 'assistenz', 'basis/addon', 'basis/ampel', 'basis/ampeluebersicht', 'basis/benutzer', 'basis/berechtigung', 'basis/betriebsmittel', 'basis/cms', 'basis/cms_review', 'basis/cms_sperrfreigabe', 'basis/cronjob', 'basis/dms', 'basis/fas', 'basis/ferien', 'basis/fhausweis','basis/firma', 'basis/infoscreen', 'basis/moodle', 'basis/moodle','basis/news', 'basis/notiz', 'basis/organisationseinheit', 'basis/ort', 'basis/orgform', 'basis/person', 'basis/planner', 'basis/service', 'basis/statistik', 'basis/studiengang', 'basis/tempus', 'basis/testtool', 'basis/variable', 'basis/vilesci', 'buchung/typen', 'buchung/mitarbeiter', 'inout/incoming', 'inout/outgoing', 'inout/uebersicht', 'lehre', 'lehre/abgabetool', 'lehre/freifach', 'lehre/lehrfach', 'lehre/lehrveranstaltung', 'lehre/lvplan', 'lehre/lvinfo', 'lehre/pruefungsanmeldungAdmin', 'lehre/pruefungsbeurteilung', 'lehre/pruefungsbeurteilungAdmin', 'lehre/pruefungsterminAdmin', 'lehre/pruefungsfenster', 'lehre/reihungstest', 'lehre/reservierung', 'lehre/studienordnung', 'lehre/studienordnungInaktiv', 'lehre/studienplan', 'lehre/vorrueckung', 'lv-plan', 'lv-plan/gruppenentfernen', 'lv-plan/lektorentfernen', 'mitarbeiter', 'mitarbeiter/bankdaten', 'mitarbeiter/personalnummer', 'mitarbeiter/stammdaten', 'mitarbeiter/urlaube', 'mitarbeiter/zeitsperre', 'news', 'planner', 'preinteressent', 'raumres', 'reihungstest', 'sdTools', 'soap/lv', 'soap/lvplan', 'soap/mitarbeiter', 'soap/ort', 'soap/pruefungsfenster', 'soap/student', 'soap/studienordnung', 'soap/benutzer', 'soap/buchungen', 'student/bankdaten', 'student/anrechnung', 'student/anwesenheit', 'student/dokumente', 'student/noten', 'system/phrase', 'system/vorlage', 'system/vorlagestudiengang', 'student/stammdaten', 'student/vorrueckung', 'system/developer', 'system/loginasuser', 'user', 'veranstaltung', 'vertrag/mitarbeiter', 'vertrag/typen', 'wawi/berichte', 'wawi/bestellung', 'wawi/bestellung_advanced', 'wawi/budget', 'wawi/delete_advanced', 'wawi/firma', 'wawi/freigabe', 'wawi/freigabe_advanced', 'wawi/inventar', 'wawi/konto', 'wawi/kostenstelle', 'wawi/rechnung', 'wawi/rechnung_freigeben', 'wawi/rechnung_transfer', 'wawi/storno'
|
||||
'admin', 'assistenz', 'basis/addon', 'basis/ampel', 'basis/ampeluebersicht', 'basis/benutzer', 'basis/berechtigung', 'basis/betriebsmittel', 'basis/cms', 'basis/cms_review', 'basis/cms_sperrfreigabe', 'basis/cronjob', 'basis/dms', 'basis/fas', 'basis/ferien', 'basis/fhausweis','basis/firma', 'basis/infoscreen', 'basis/moodle', 'basis/moodle','basis/news', 'basis/notiz', 'basis/organisationseinheit', 'basis/ort', 'basis/orgform', 'basis/person', 'basis/planner', 'basis/service', 'basis/statistik', 'basis/studiengang', 'basis/tempus', 'basis/testtool', 'basis/variable', 'basis/vilesci', 'buchung/typen', 'buchung/mitarbeiter', 'inout/incoming', 'inout/outgoing', 'inout/uebersicht', 'lehre', 'lehre/abgabetool', 'lehre/freifach', 'lehre/lehrfach', 'lehre/lehrveranstaltung', 'lehre/lvplan', 'lehre/lvinfo', 'lehre/pruefungsanmeldungAdmin', 'lehre/pruefungsbeurteilung', 'lehre/pruefungsbeurteilungAdmin', 'lehre/pruefungsterminAdmin', 'lehre/pruefungsfenster', 'lehre/reihungstest', 'lehre/reservierung', 'lehre/studienordnung', 'lehre/studienordnungInaktiv', 'lehre/studienplan', 'lehre/vorrueckung', 'lv-plan', 'lv-plan/gruppenentfernen', 'lv-plan/lektorentfernen', 'mitarbeiter', 'mitarbeiter/bankdaten', 'mitarbeiter/personalnummer', 'mitarbeiter/stammdaten', 'mitarbeiter/urlaube', 'mitarbeiter/zeitsperre', 'mitarbeiter/zeitwuensche', 'news', 'planner', 'preinteressent', 'raumres', 'reihungstest', 'sdTools', 'soap/lv', 'soap/lvplan', 'soap/mitarbeiter', 'soap/ort', 'soap/pruefungsfenster', 'soap/student', 'soap/studienordnung', 'soap/benutzer', 'soap/buchungen', 'student/bankdaten', 'student/anrechnung', 'student/anwesenheit', 'student/dokumente', 'student/noten', 'system/phrase', 'system/vorlage', 'system/vorlagestudiengang', 'student/stammdaten', 'student/vorrueckung', 'system/developer', 'system/loginasuser', 'user', 'veranstaltung', 'vertrag/mitarbeiter', 'vertrag/typen', 'wawi/berichte', 'wawi/bestellung', 'wawi/bestellung_advanced', 'wawi/budget', 'wawi/delete_advanced', 'wawi/firma', 'wawi/freigabe', 'wawi/freigabe_advanced', 'wawi/inventar', 'wawi/konto', 'wawi/kostenstelle', 'wawi/rechnung', 'wawi/rechnung_freigeben', 'wawi/rechnung_transfer', 'wawi/storno'
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
@@ -171,6 +171,7 @@ $berechtigungen = array(
|
||||
array('mitarbeiter/stammdaten','Stammdaten der Mitarbeiter'),
|
||||
array('mitarbeiter/urlaube','Mit diesem Recht werden im CIS die Urlaube von allen Mitarbeiter sichtbar'),
|
||||
array('mitarbeiter/zeitsperre','Zeitsperren- und Urlaubsverwaltung'),
|
||||
array('mitarbeiter/zeitwuensche','Berechtigung um Zeitwünsche zu editieren'),
|
||||
array('news','News eintragen'),
|
||||
array('planner','Planner Verwaltung'),
|
||||
array('preinteressent','Verwaltung der Preinteressenten'),
|
||||
|
||||
@@ -106,7 +106,8 @@ if(!isset($_GET['searchstr']))
|
||||
|
||||
$email=$row->uid.'@'.DOMAIN;
|
||||
echo "<td nowrap><a href='mailto:$email'>$email</a></td>";
|
||||
echo "<td nowrap class='button'><a href='personen_details.php?uid=".$row->uid."'>Edit</a></td>";
|
||||
if($rechte->isBerechtigt('student/stammdaten', null, 's') || $rechte->isBerechtigt('mitarbeiter/stammdaten', null, 's'))
|
||||
echo "<td nowrap class='button'><a href='personen_details.php?uid=".$row->uid."'>Edit</a></td>";
|
||||
echo "<td nowrap class='button'>";
|
||||
if ($row->lektor)
|
||||
{
|
||||
|
||||
@@ -66,7 +66,7 @@ $updatevon = 0;
|
||||
// Zeitwuensche speichern
|
||||
if (isset($_POST['save']))
|
||||
{
|
||||
if(!$rechte->isBerechtigt('mitarbeiter', null, 'suid'))
|
||||
if(!$rechte->isBerechtigt('mitarbeiter/zeitwuensche', null, 'suid'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
for ($t=1;$t<7;$t++)
|
||||
@@ -157,7 +157,13 @@ $updatevon = 0;
|
||||
?>
|
||||
</TR>
|
||||
<?php
|
||||
for ($j=1; $j<7; $j++)
|
||||
|
||||
$readonly = 'readonly';
|
||||
|
||||
if ($rechte->isBerechtigt('mitarbeiter/zeitwuensche', null, 'suid'))
|
||||
$readonly = '';
|
||||
|
||||
for ($j=1; $j<7; $j++)
|
||||
{
|
||||
echo '<TR><TD>'.$tagbez[1][$j].'</TD>';
|
||||
for ($i=0;$i<$num_rows_stunde;$i++)
|
||||
@@ -166,7 +172,7 @@ $updatevon = 0;
|
||||
if ($index=="")
|
||||
$index=1;
|
||||
$bgcolor=$cfgStdBgcolor[$index+3];
|
||||
echo '<TD align="center" bgcolor="'.$bgcolor.'"><INPUT align="right" type="text" name="wunsch'.$j.'_'.$i.'" size="2" maxlength="2" value="'.$index.'"></TD>';
|
||||
echo '<TD align="center" bgcolor="'.$bgcolor.'"><INPUT align="right" type="text" name="wunsch'.$j.'_'.$i.'" size="2" maxlength="2"' . $readonly .' value="'.$index.'"></TD>';
|
||||
}
|
||||
echo '</TR>';
|
||||
}
|
||||
@@ -189,7 +195,10 @@ $updatevon = 0;
|
||||
<br/>
|
||||
<br/>
|
||||
<INPUT type="hidden" name="uid" value="<?php echo $uid; ?>">
|
||||
<INPUT type="submit" name="save" value="Speichern">
|
||||
<?php
|
||||
if($rechte->isBerechtigt('mitarbeiter/zeitwuensche', null, 'suid'))
|
||||
echo '<INPUT type="submit" name="save" value="Speichern">'
|
||||
?>
|
||||
</FORM>
|
||||
<br>
|
||||
<hr>
|
||||
|
||||
@@ -135,6 +135,99 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
}
|
||||
else
|
||||
{
|
||||
// Prüfen, ob tbl_alma existiert (also ob ALMA extension installiert ist)
|
||||
if($result = @$db->db_query("SELECT 1 FROM sync.tbl_alma LIMIT 1"))
|
||||
{
|
||||
// Wenn Person in ALMA Bibliothek vorkommt, ggf. die Person dort übernehmen
|
||||
$alma_has_personToKeep = false;
|
||||
$alma_has_personToDelete = false;
|
||||
$alma_update_obj = new StdClass();
|
||||
$alma_query_upd = '';
|
||||
|
||||
$alma_query = "
|
||||
SELECT *
|
||||
FROM sync.tbl_alma
|
||||
WHERE (
|
||||
person_id = " . $db->db_add_param($personToKeep, FHC_INTEGER) . " OR
|
||||
person_id = " . $db->db_add_param($personToDelete, FHC_INTEGER) . "
|
||||
)";
|
||||
|
||||
if ($result = $db->db_query($alma_query))
|
||||
{
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if ($row->person_id == $personToKeep)
|
||||
{
|
||||
$alma_has_personToKeep = true;
|
||||
}
|
||||
if ($row->person_id == $personToDelete)
|
||||
{
|
||||
$alma_has_personToDelete = true;
|
||||
$alma_update_obj = $row;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Falls nur die zu löschende Person in ALMA vorhanden ist, mit der zu behaltenden Person ersetzen
|
||||
if ($alma_has_personToDelete && !$alma_has_personToKeep)
|
||||
{
|
||||
$alma_query_upd = "
|
||||
UPDATE sync.tbl_alma
|
||||
SET person_id = " . $db->db_add_param($personToKeep, FHC_INTEGER) . "
|
||||
WHERE alma_match_id = " . $alma_update_obj->alma_match_id . "
|
||||
AND person_id = " . $alma_update_obj->person_id . ";";
|
||||
}
|
||||
// Falls bereits doppelte Einträge in ALMA vorhanden sind (zu löschende und zu behaltende), manuell lösen
|
||||
elseif ($alma_has_personToDelete && $alma_has_personToKeep)
|
||||
{
|
||||
die('Es sind bereits beide Personen in ALMA vorhanden. Bitte zuerst direkt im ALMA Bibliotheksystem und in der tbl_alma lösen.');
|
||||
}
|
||||
}
|
||||
|
||||
// Prüfen, ob tbl_sap_students exisitiert
|
||||
if($result = @$db->db_query("SELECT 1 FROM sync.tbl_sap_students LIMIT 1"))
|
||||
{
|
||||
// Wenn Person in SAP students vorkommt, ggf. die Person dort übernehmen
|
||||
$sap_students_has_personToKeep = false;
|
||||
$sap_students_has_personToDelete = false;
|
||||
$sap_students_update_obj = new StdClass();
|
||||
$sap_students_query_upd = '';
|
||||
|
||||
$sap_students_query = "
|
||||
SELECT *
|
||||
FROM sync.tbl_sap_students
|
||||
WHERE (
|
||||
person_id = " . $db->db_add_param($personToKeep, FHC_INTEGER) . " OR
|
||||
person_id = " . $db->db_add_param($personToDelete, FHC_INTEGER) . "
|
||||
)";
|
||||
|
||||
if ($result = $db->db_query($sap_students_query)) {
|
||||
while ($row = $db->db_fetch_object($result)) {
|
||||
if ($row->person_id == $personToKeep) {
|
||||
$sap_students_has_personToKeep = true;
|
||||
}
|
||||
if ($row->person_id == $personToDelete) {
|
||||
$sap_students_has_personToDelete = true;
|
||||
$sap_students_update_obj = $row;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Wenn die zu löschende Person in SAP students eingetragen ist, dann mit der zu behaltenden Person überschreiben
|
||||
if ($sap_students_has_personToDelete && !$sap_students_has_personToKeep) {
|
||||
$sap_students_query_upd = "
|
||||
UPDATE sync.tbl_sap_students
|
||||
SET person_id = " . $db->db_add_param($personToKeep, FHC_INTEGER) . "
|
||||
WHERE sap_user_id = " . $db->db_add_param($sap_students_update_obj->sap_user_id, FHC_STRING) . "
|
||||
AND person_id = " . $sap_students_update_obj->person_id . ";";
|
||||
}
|
||||
// Wenn doppelte Personeneinträge in SAP students vorhanden sind (zu löschende UND zu behaltende Person),
|
||||
// dann manuell lösen
|
||||
elseif ($sap_students_has_personToDelete && $sap_students_has_personToKeep) {
|
||||
die('Es sind bereits beide Personen in SAP vorhanden. Bitte zuerst direkt in der tbl_sap_students lösen.');
|
||||
}
|
||||
}
|
||||
|
||||
$personToDelete_obj = new person();
|
||||
if ($personToDelete_obj->load($personToDelete))
|
||||
{
|
||||
@@ -346,6 +439,8 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$sql_query_upd1 .= "UPDATE system.tbl_person_lock SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
|
||||
$sql_query_upd1 .= "UPDATE wawi.tbl_betriebsmittelperson SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
|
||||
$sql_query_upd1 .= "UPDATE wawi.tbl_konto SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
|
||||
$sql_query_upd1 .= $alma_query_upd;
|
||||
$sql_query_upd1 .= $sap_students_query_upd;
|
||||
|
||||
$sql_query_upd1 .= "DELETE FROM public.tbl_person WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user