Merge branch 'master' into feature/Anrechnungen_NEU

This commit is contained in:
cris-technikum
2021-05-05 17:21:56 +02:00
8 changed files with 114 additions and 47 deletions
+1 -1
View File
@@ -475,7 +475,7 @@ $htmlstr .= "</td>";
if($betreuerart!="Zweitbegutachter") if($betreuerart!="Zweitbegutachter")
{ {
$htmlstr .= "<td width=10% align=center><form action='https://www1.ephorus.com/' title='ephorus' target='_blank' method='GET'>"; $htmlstr .= "<td width=10% align=center><form action='https://technikum-wien.turnitin.com' title='plagiatsprüfung' target='_blank' method='GET'>";
$htmlstr .= "<input type='submit' name='ephorus' value='".$p->t('abgabetool/plagiatspruefung')."'></form></td>"; $htmlstr .= "<input type='submit' name='ephorus' value='".$p->t('abgabetool/plagiatspruefung')."'></form></td>";
$htmlstr .= "<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\n"; $htmlstr .= "<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\n";
$htmlstr .= "<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td></tr>\n"; $htmlstr .= "<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td></tr>\n";
+6 -2
View File
@@ -398,7 +398,7 @@ if($command=="update" && $error!=true)
echo $p->t('global/dateiNichtErfolgreichHochgeladen'); echo $p->t('global/dateiNichtErfolgreichHochgeladen');
} }
} }
//E-Mail an 1.Begutachter und 2.Begutachter //E-Mail an 1.Begutachter und 2.Begutachter senden
if($bid!='' && $bid!=NULL) if($bid!='' && $bid!=NULL)
{ {
$qry_betr="SELECT distinct trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first, $qry_betr="SELECT distinct trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
@@ -444,14 +444,17 @@ if($command=="update" && $error!=true)
// 1. Begutachter mail ohne Token // 1. Begutachter mail ohne Token
$mail_baselink = APP_ROOT."index.ci.php/extensions/FHC-Core-Projektarbeitsbeurteilung/Projektarbeitsbeurteilung"; $mail_baselink = APP_ROOT."index.ci.php/extensions/FHC-Core-Projektarbeitsbeurteilung/Projektarbeitsbeurteilung";
$mail_fulllink = "$mail_baselink?projektarbeit_id=".$projektarbeit_id."&uid=".$row_std->uid; $mail_fulllink = "$mail_baselink?projektarbeit_id=".$projektarbeit_id."&uid=".$row_std->uid;
$abgabetyp = $paabgabetyp_kurzbz == 'end' ? 'Endabgabe' : 'Zwischenabgabe';
$maildata = array(); $maildata = array();
$maildata['geehrt'] = "geehrte".($row_betr->anrede=="Herr"?"r":""); $maildata['geehrt'] = "geehrte".($row_betr->anrede=="Herr"?"r":"");
$maildata['anrede'] = $row_betr->anrede; $maildata['anrede'] = $row_betr->anrede;
$maildata['betreuer_voller_name'] = $row_betr->first; $maildata['betreuer_voller_name'] = $row_betr->first;
$maildata['student_anrede'] = $row_std->anrede; $maildata['student_anrede'] = $row_std->anrede;
$maildata['student_voller_name'] = trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost); $maildata['student_voller_name'] = trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost);
$maildata['abgabetyp'] = $abgabetyp;
$maildata['parbeituebersichtlink'] = "<p><a href='".APP_ROOT."cis/private/lehre/abgabe_lektor_frameset.html'>Zur Projektarbeitsübersicht</a></p>"; $maildata['parbeituebersichtlink'] = "<p><a href='".APP_ROOT."cis/private/lehre/abgabe_lektor_frameset.html'>Zur Projektarbeitsübersicht</a></p>";
$maildata['bewertunglink'] = $num_rows_sem >= 1 ? "<p><a href='$mail_fulllink'>Zur Beurteilung der Arbeit</a></p>" : ""; $maildata['bewertunglink'] = $num_rows_sem >= 1 && $paabgabetyp_kurzbz == 'end' ? "<p><a href='$mail_fulllink'>Zur Beurteilung der Arbeit</a></p>" : "";
$maildata['token'] = ""; $maildata['token'] = "";
$mailres = sendSanchoMail( $mailres = sendSanchoMail(
@@ -495,6 +498,7 @@ if($command=="update" && $error!=true)
$zweitbetmaildata['betreuer_voller_name'] = $zweitbetr->voller_name; $zweitbetmaildata['betreuer_voller_name'] = $zweitbetr->voller_name;
$zweitbetmaildata['student_anrede'] = $maildata['student_anrede']; $zweitbetmaildata['student_anrede'] = $maildata['student_anrede'];
$zweitbetmaildata['student_voller_name'] = $maildata['student_voller_name']; $zweitbetmaildata['student_voller_name'] = $maildata['student_voller_name'];
$zweitbetmaildata['abgabetyp'] = $abgabetyp;
$zweitbetmaildata['parbeituebersichtlink'] = $intern ? $maildata['parbeituebersichtlink'] : ""; $zweitbetmaildata['parbeituebersichtlink'] = $intern ? $maildata['parbeituebersichtlink'] : "";
$zweitbetmaildata['bewertunglink'] = $num_rows_sem >= 1 ? "<p><a href='$mail_link'>Zur Beurteilung der Arbeit</a></p>" : ""; $zweitbetmaildata['bewertunglink'] = $num_rows_sem >= 1 ? "<p><a href='$mail_link'>Zur Beurteilung der Arbeit</a></p>" : "";
$zweitbetmaildata['token'] = $num_rows_sem >= 1 && isset($zweitbetr->zugangstoken) && !$intern ? "<p>Zugangstoken: " . $zweitbetr->zugangstoken . "</p>" : ""; $zweitbetmaildata['token'] = $num_rows_sem >= 1 && isset($zweitbetr->zugangstoken) && !$intern ? "<p>Zugangstoken: " . $zweitbetr->zugangstoken . "</p>" : "";
+18 -5
View File
@@ -464,7 +464,6 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr)))
{ {
if($hgfarbe[$i]!='#FFFC7F' && $hgfarbe[$i]!='#bbb' && $hgfarbe[$i]!='#CDDDEE') if($hgfarbe[$i]!='#FFFC7F' && $hgfarbe[$i]!='#bbb' && $hgfarbe[$i]!='#CDDDEE')
{ {
$hgfarbe[$i]='#E9ECEE'; $hgfarbe[$i]='#E9ECEE';
$datensatz[$i]=0; $datensatz[$i]=0;
$freigabevon[$i]=$row->freigabevon; $freigabevon[$i]=$row->freigabevon;
@@ -761,11 +760,25 @@ for ($i=0;$i<6;$i++)
echo "\n"; echo "\n";
if(strlen(stristr($tage[$j+7*$i],"."))>0) if(strlen(stristr($tage[$j+7*$i],"."))>0)
{ {
echo '<td align="center" valign="center" style="font-size:16px; color:grey; background-color: '.$hgfarbe[$j+7*$i].'">'; if($j%6==0 || $j==7)
{
echo '<td align="center" valign="center" style="font-size:16px; color:grey; background-color:#A5AFB6">';
}
else
{
echo '<td align="center" valign="center" style="font-size:16px; color:grey; background-color: ' . $hgfarbe[$j + 7 * $i] . '">';
}
} }
else else
{ {
echo '<td align="center" valign="center" style="background-color: '.$hgfarbe[$j+7*$i].'">'; if($j%6==0 || $j==7)
{
echo '<td align="center" valign="center" style="font-size:; color:; background-color:#A5AFB6">';
}
else
{
echo '<td align="center" valign="center" style="background-color: ' . $hgfarbe[$j + 7 * $i] . '">';
}
} }
if($tage[$j+7*$i]!='') if($tage[$j+7*$i]!='')
{ {
@@ -781,11 +794,11 @@ for ($i=0;$i<6;$i++)
echo '<b>'.$tage[$j+7*$i].'</b><br>'; echo '<b>'.$tage[$j+7*$i].'</b><br>';
if(strlen(stristr($tage[$j+7*$i],"."))>0) if(strlen(stristr($tage[$j+7*$i],"."))>0)
{ {
echo '<input type="checkbox" name="wtag[]" value="'.date("Y-m-d",mktime(0, 0, 0, substr($tage[$j+7*$i],3,2) , substr($tage[$j+7*$i],0,2), substr($tage[$j+7*$i],6,4))).'"></td>'; echo '<input type="checkbox" name="wtag[]" value="'.date("Y-m-d",mktime(0, 0, 0, substr($tage[$j+7*$i],3,2) , substr($tage[$j+7*$i],0,2), substr($tage[$j+7*$i],6,4))).'" id="'.date("Y-m-d",mktime(0, 0, 0, substr($tage[$j+7*$i],3,2) , substr($tage[$j+7*$i],0,2), substr($tage[$j+7*$i],6,4))).'" ></td>';
} }
else else
{ {
echo '<input type="checkbox" name="wtag[]" value="'.date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $tage[$j+7*$i], $jahre[$wjahr])).'"></td>'; echo '<input type="checkbox" name="wtag[]" value="'.date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $tage[$j+7*$i], $jahre[$wjahr])).'" id="'.date("d.m.Y",mktime(0, 0, 0, ($wmonat+1) , $tage[$j+7*$i], $jahre[$wjahr])).'"></td>';
} }
} }
else else
+27 -7
View File
@@ -112,13 +112,14 @@ foreach($addon_obj->result as $addon)
// Wenn Seite fertig geladen ist Addons aufrufen // Wenn Seite fertig geladen ist Addons aufrufen
echo ' echo '
<script> <script>
let holiDays =[];
$( document ).ready(function() $( document ).ready(function()
{ {
if(typeof addon !== \'undefined\') if(typeof addon !== \'undefined\')
{ {
for(i in addon) for(i in addon)
{ {
addon[i].init("cis/private/profile/urlaubstool.php", {uid:\''.$uid.'\'}); addon[i].init("cis/private/profile/zeitsperre_resturlaub.php", {uid:\''.$uid.'\', holiDays: holiDays});
} }
} }
@@ -126,6 +127,7 @@ $( document ).ready(function()
changeMonth: true, changeMonth: true,
changeYear: true, changeYear: true,
dateFormat: "dd.mm.yy", dateFormat: "dd.mm.yy",
beforeShowDay: setHoliDays
}); });
$( ".timepicker" ).timepicker({ $( ".timepicker" ).timepicker({
@@ -137,13 +139,31 @@ $( document ).ready(function()
}); });
}); });
</script>'; // set holidays function which is configured in beforeShowDay
?> function setHoliDays(date) {
<style> for (i = 0; i < holiDays.length; i++) {
.dd_breit if (date.getFullYear() == holiDays[i][0]
{ && date.getMonth() == holiDays[i][1] - 1
width:460px; && date.getDate() == holiDays[i][2]) {
return [true, "holiday", ""];
}
}
return [true, ""];
} }
</script>';
?>
<style type="text/css">
.dd_breit
{
width:460px;
}
.ui-datepicker td.holiday a, .ui-datepicker td.holiday a:hover
{
background: none #FFEBAF;
border: 1px solid #BF5A0C;
}
</style> </style>
<script language="Javascript"> <script language="Javascript">
function conf_del() function conf_del()
+2 -2
View File
@@ -1145,7 +1145,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
echo '<tr><td nowrap>'.$p->t("zeitaufzeichnung/organisationseinheiten").'</td> echo '<tr><td nowrap>'.$p->t("zeitaufzeichnung/organisationseinheiten").'</td>
<td colspan="3"><SELECT '.$oestyle.' name="oe_kurzbz_1">'; <td colspan="3"><SELECT '.$oestyle.' name="oe_kurzbz_1">';
$oe = new organisationseinheit(); $oe = new organisationseinheit();
$oe->getFrequent($user,'180','3',true); $oe->getFrequent($user,'180','3',true, array('oezuordnung', 'fachzuordnung', 'kstzuordnung'));
$trennlinie = true; $trennlinie = true;
echo '<option value="">-- '.$p->t("zeitaufzeichnung/keineAuswahl").' --</option>'; echo '<option value="">-- '.$p->t("zeitaufzeichnung/keineAuswahl").' --</option>';
@@ -1532,7 +1532,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
$langindex = 1; $langindex = 1;
else else
$langindex = 2; $langindex = 2;
echo '<b>'.$tagbez[$langindex][$datum->formatDatum($tag,'N')].' '.$datum->formatDatum($tag,'d.m.Y').'</b> <span id="tag_'.$datum->formatDatum($tag,'d_m_Y').'">'.$zeitsperre_text.'</span>'.$pausefehlt_str; echo '<span style="display: inline-block; width: 130px;"><b>'.$tagbez[$langindex][$datum->formatDatum($tag,'N')].' '.$datum->formatDatum($tag,'d.m.Y').'</b></span><span id="tag_'.$datum->formatDatum($tag,'d_m_Y').'">'.$zeitsperre_text.'</span>'.$pausefehlt_str;
if ($ersumme != '00:00') if ($ersumme != '00:00')
$erstr = ' (+ '.$ersumme.' ER)'; $erstr = ' (+ '.$ersumme.' ER)';
else else
+2 -2
View File
@@ -139,7 +139,7 @@ class gemeinde extends basis_db
if($this->db_query($qry)) if($this->db_query($qry))
{ {
//naechste ID aus der Sequence holen //naechste ID aus der Sequence holen
$qry="SELECT currval('tbl_gemeinde_gemeinde_id_seq') as id;"; $qry="SELECT currval('bis.tbl_gemeinde_gemeinde_id_seq') as id;";
if($this->db_query($qry)) if($this->db_query($qry))
{ {
if($row = $this->db_fetch_object()) if($row = $this->db_fetch_object())
@@ -219,4 +219,4 @@ class gemeinde extends basis_db
return true; return true;
} }
} }
?> ?>
+44 -28
View File
@@ -691,10 +691,11 @@ class organisationseinheit extends basis_db
* *
* @param string $user uid * @param string $user uid
* @param integer $zeitraum Anzahl Tage in die Vergangenheit, die fuer das Auftreten der OE beruecksichtigt werden sollen * @param integer $zeitraum Anzahl Tage in die Vergangenheit, die fuer das Auftreten der OE beruecksichtigt werden sollen
* @param integer $anzahl_ereignisse default: 3 Wie oft soll diese OE mindestens in $zeitraum vorkommen, um beruecksichtigt zu werden * @param string $anzahl_ereignisse default: 3 Wie oft soll diese OE mindestens in $zeitraum vorkommen, um beruecksichtigt zu werden
* @param boolean $aktiv * @param boolean $aktiv
* @param array $funktion_zuordnungen Einschränkung nach zugeordneten Funktionen (Gültigkeitszeitraum heute - 1 Monat 1 Tag nach Gültigkeitsende)
*/ */
public function getFrequent($user, $zeitraum=null, $anzahl_ereignisse='3', $aktiv=null) public function getFrequent($user, $zeitraum=null, $anzahl_ereignisse='3', $aktiv=null, $funktion_zuordnungen=array())
{ {
if(!is_numeric($anzahl_ereignisse)) if(!is_numeric($anzahl_ereignisse))
{ {
@@ -707,36 +708,51 @@ class organisationseinheit extends basis_db
else else
$zeit = ""; $zeit = "";
$qry = "SELECT $qry = "SELECT * FROM (
oe_kurzbz, SELECT
oe_parent_kurzbz, oe_kurzbz,
bezeichnung, oe_parent_kurzbz,
organisationseinheittyp_kurzbz, bezeichnung,
aktiv, organisationseinheittyp_kurzbz,
lehre, aktiv,
count(tbl_zeitaufzeichnung.zeitaufzeichnung_id) lehre,
FROM campus.tbl_zeitaufzeichnung count(tbl_zeitaufzeichnung.zeitaufzeichnung_id)
JOIN public.tbl_organisationseinheit ON(oe_kurzbz IN (oe_kurzbz_1,oe_kurzbz_2)) FROM campus.tbl_zeitaufzeichnung
WHERE tbl_zeitaufzeichnung.uid=".$this->db_add_param($user)." JOIN public.tbl_organisationseinheit ON(oe_kurzbz IN (oe_kurzbz_1,oe_kurzbz_2))
$zeit WHERE tbl_zeitaufzeichnung.uid=".$this->db_add_param($user)."
GROUP BY tbl_organisationseinheit.oe_kurzbz HAVING COUNT(*) > $anzahl_ereignisse $zeit
GROUP BY tbl_organisationseinheit.oe_kurzbz HAVING COUNT(*) > $anzahl_ereignisse
UNION
UNION
SELECT
oe_kurzbz, SELECT
oe_parent_kurzbz, oe_kurzbz,
bezeichnung, oe_parent_kurzbz,
organisationseinheittyp_kurzbz, bezeichnung,
aktiv, organisationseinheittyp_kurzbz,
lehre, aktiv,
'0' lehre,
FROM public.tbl_organisationseinheit"; '0'
FROM public.tbl_organisationseinheit";
if(!is_null($aktiv)) if(!is_null($aktiv))
$qry.=" WHERE aktiv=".$this->db_add_param($aktiv, FHC_BOOLEAN); $qry.=" WHERE aktiv=".$this->db_add_param($aktiv, FHC_BOOLEAN);
$qry .=" ORDER BY count DESC,bezeichnung,oe_kurzbz"; $qry .=") oes";
if (isset($funktion_zuordnungen) && is_array($funktion_zuordnungen) && count($funktion_zuordnungen) > 0)
{
$qry .= " WHERE EXISTS (
SELECT 1 FROM public.tbl_benutzerfunktion
WHERE uid = ".$this->db_add_param($user)."
AND funktion_kurzbz IN (".$this->db_implode4SQL($funktion_zuordnungen).")
AND oe_kurzbz = oes.oe_kurzbz
AND (datum_von <= now() OR datum_von IS NULL)
AND (datum_bis + interval '1 month 1 day' >= now() OR datum_bis IS NULL)
)";
}
$qry .= " ORDER BY count DESC,bezeichnung,oe_kurzbz";
if($this->db_query($qry)) if($this->db_query($qry))
{ {
+14
View File
@@ -4465,6 +4465,20 @@ if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE
} }
} }
// Add new funktion type kstzuordnung for cost center assignment in public.tbl_funktion
if ($result = @$db->db_query("SELECT 1 FROM public.tbl_funktion WHERE funktion_kurzbz = 'kstzuordnung';"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO public.tbl_funktion(funktion_kurzbz, beschreibung, aktiv, fachbereich, semester) VALUES('kstzuordnung','Standardkostenstelle Zuordnung',true,false,false);";
if (!$db->db_query($qry))
echo '<strong>public.tbl_funktion '.$db->db_last_error().'</strong><br>';
else
echo '<br>public.tbl_funktion: Added funktion kstzuordnung<br>';
}
}
// Add column zugangstoken to tbl_projektbetreuer // Add column zugangstoken to tbl_projektbetreuer
if(!$result = @$db->db_query("SELECT zugangstoken FROM lehre.tbl_projektbetreuer LIMIT 1")) if(!$result = @$db->db_query("SELECT zugangstoken FROM lehre.tbl_projektbetreuer LIMIT 1"))
{ {