diff --git a/application/config/javascript.php b/application/config/javascript.php
index 383002dab..6f82810e2 100644
--- a/application/config/javascript.php
+++ b/application/config/javascript.php
@@ -5,3 +5,5 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
$config['use_vuejs_dev_version'] = false;
// use bundled javascript
$config['use_bundled_javascript'] = false;
+// systemerror_mailto use in FHC-Alert Plugin - if empty Link will not be rendered
+$config['systemerror_mailto'] = '';
diff --git a/application/helpers/hlp_header_helper.php b/application/helpers/hlp_header_helper.php
index 14f7ed338..de7e866f4 100644
--- a/application/helpers/hlp_header_helper.php
+++ b/application/helpers/hlp_header_helper.php
@@ -95,6 +95,9 @@ function generateJSDataStorageObject($indexPage, $calledPath, $calledMethod)
}, $server_language);
$user_language = getUserLanguage();
+ $ci->load->config('javascript');
+ $systemerror_mailto = $ci->config->item('systemerror_mailto');
+
$FHC_JS_DATA_STORAGE_OBJECT = array(
'app_root' => APP_ROOT,
'ci_router' => $indexPage,
@@ -103,6 +106,7 @@ function generateJSDataStorageObject($indexPage, $calledPath, $calledMethod)
'server_languages' => $server_language,
'user_language' => $user_language,
'timezone' => date_default_timezone_get(),
+ 'systemerror_mailto' => $systemerror_mailto,
);
$toPrint = "\n";
diff --git a/application/libraries/AntragLib.php b/application/libraries/AntragLib.php
index 885acac90..d90a98241 100644
--- a/application/libraries/AntragLib.php
+++ b/application/libraries/AntragLib.php
@@ -77,7 +77,9 @@ class AntragLib
'studiensemester_kurzbz'=>$prestudentstatus->studiensemester_kurzbz,
'ausbildungssemester'=>$prestudentstatus->ausbildungssemester
], [
- 'statusgrund_id' => null
+ 'statusgrund_id' => null,
+ 'updateamum' => date('c'),
+ 'updatevon' => $insertvon
]);
}
}
@@ -335,7 +337,10 @@ class AntragLib
'status_kurzbz'=>$prestudentstatus->status_kurzbz,
'studiensemester_kurzbz'=>$prestudentstatus->studiensemester_kurzbz,
'ausbildungssemester'=>$prestudentstatus->ausbildungssemester
- ], []);
+ ], [
+ 'updateamum' => $insertam,
+ 'updatevon' => $insertvon
+ ]);
if (isError($result))
{
$errors[] = getError($result);
diff --git a/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php b/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php
index 6827beaa4..f81a2d518 100644
--- a/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php
+++ b/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php
@@ -59,7 +59,14 @@ class Dienstverhaeltnis_model extends DB_Model
}
$qry .="
- ORDER BY dv.von desc
+ ORDER BY
+ CASE
+ WHEN (COALESCE(dv.bis, '2999-12-31'::date) - NOW()::date) < 0 THEN NULL
+ ELSE
+ (COALESCE(dv.bis, '2999-12-31'::date) - NOW()::date)
+ END ASC NULLS LAST,
+ COALESCE(dv.bis, '2999-12-31'::date) DESC,
+ dv.von DESC
";
return $this->execQuery($qry, $data);
diff --git a/application/views/system/infocenter/infocenterFreigegebenData.php b/application/views/system/infocenter/infocenterFreigegebenData.php
index 27738719c..38285b6ae 100644
--- a/application/views/system/infocenter/infocenterFreigegebenData.php
+++ b/application/views/system/infocenter/infocenterFreigegebenData.php
@@ -112,7 +112,7 @@ $query = '
LIMIT 1
) AS "AnzahlAbgeschickt",
(
- SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT UPPER(so.studiengangkurzbzlang) || \':\' || sp.orgform_kurzbz), \', \')
+ SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT UPPER(so.studiengangkurzbzlang) || \':\' || sp.orgform_kurzbz || \' [\' || pss.ausbildungssemester || \']\'), \', \')
FROM public.tbl_prestudentstatus pss
JOIN public.tbl_prestudent ps USING(prestudent_id)
JOIN public.tbl_studiengang sg USING(studiengang_kz)
diff --git a/cis/testtool/frage.php b/cis/testtool/frage.php
index 0aa37b299..c38229cdf 100644
--- a/cis/testtool/frage.php
+++ b/cis/testtool/frage.php
@@ -148,7 +148,7 @@ echo '
alert(t("testtool/alleFragenBeantwortet")."'"?>);
return true;
}
-
+
$(document).ready(function () {
$(document).bind('cut copy paste', function(e)
{
@@ -717,7 +717,7 @@ if($frage->frage_id!='')
if(!$demo)
{
- echo '';
+ echo '';
}
else
{
diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Abschlusspruefung/Abschlusspruefung.js b/public/js/components/Stv/Studentenverwaltung/Details/Abschlusspruefung/Abschlusspruefung.js
index 31f600a8c..76987aefc 100644
--- a/public/js/components/Stv/Studentenverwaltung/Details/Abschlusspruefung/Abschlusspruefung.js
+++ b/public/js/components/Stv/Studentenverwaltung/Details/Abschlusspruefung/Abschlusspruefung.js
@@ -52,6 +52,15 @@ export default {
stg_kz(){
return this.studentKzs[0];
},
+ showAllFormats() {
+ if( this.isBerechtigtDocAndOdt === false
+ || !Array.isArray(this.isBerechtigtDocAndOdt) )
+ {
+ return false;
+ }
+ let retval = this.isBerechtigtDocAndOdt.includes(this.stgInfo.oe_kurzbz);
+ return retval;
+ }
},
props: {
student: Object
@@ -478,7 +487,7 @@ export default {
@@ -162,6 +167,7 @@ const helperApp = Vue.createApp({
Fehler anzeigen
@@ -154,6 +159,7 @@ const helperApp = Vue.createApp({
Fehler anzeigen
'.$titel_en.'';
$praktikum = false;
$auslandssemester = false;
+ $internationalskills = false;
$qry = "SELECT
projektarbeit_id
FROM
@@ -403,6 +404,56 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
}
}
+ if ($row->typ === 'b')
+ {
+ //check if extension international skills is active
+ $qry = "SELECT 1
+ FROM information_schema.tables
+ WHERE table_schema = 'extension' AND table_name = 'tbl_internat_massnahme'";
+
+ if($result = $db->db_query($qry))
+ {
+ if ($db->db_num_rows($result) === 1)
+ {
+ $qry = "SELECT bezeichnung_mehrsprachig[1] as \"internationalskill_deutsch\",
+ bezeichnung_mehrsprachig[2] as \"internationalskill_english\"
+ FROM extension.tbl_internat_massnahme_zuordnung zuordnung
+ JOIN extension.tbl_internat_massnahme massnahme ON zuordnung.massnahme_id = massnahme.massnahme_id
+ JOIN extension.tbl_internat_massnahme_zuordnung_status zstatus ON zuordnung.massnahme_zuordnung_id = zstatus.massnahme_zuordnung_id
+ JOIN tbl_prestudent ON zuordnung.prestudent_id = tbl_prestudent.prestudent_id
+ JOIN tbl_student ON tbl_prestudent.prestudent_id = tbl_student.prestudent_id
+ WHERE zstatus.massnahme_status_kurzbz = 'confirmed'
+ AND tbl_student.student_uid = ".$db->db_add_param($uid_arr[$i])."
+ AND zstatus.massnahme_zuordnung_status_id = (
+ SELECT MAX(sub_zstatus.massnahme_zuordnung_status_id)
+ FROM extension.tbl_internat_massnahme_zuordnung_status sub_zstatus
+ WHERE sub_zstatus.massnahme_zuordnung_id = zuordnung.massnahme_zuordnung_id
+ )
+ GROUP BY zuordnung.massnahme_zuordnung_id, tbl_student.student_uid, tbl_prestudent.prestudent_id, tbl_prestudent.studiengang_kz, bezeichnung_mehrsprachig;";
+
+ if($db->db_query($qry))
+ {
+ if($db->db_num_rows() > 0)
+ {
+ $internationalskills = true;
+ echo "";
+ while($row1 = $db->db_fetch_object())
+ {
+ echo "";
+ echo "internationalskill_deutsch]]>";
+ echo "";
+
+ echo "";
+ echo "internationalskill_english]]>";
+ echo "";
+ }
+ echo "";
+ }
+ }
+ }
+ }
+ }
+
$qry = "SELECT tbl_bisio.bisio_id, von, bis, lehreinheit_id,
(SELECT STRING_AGG (
tbl_zweck.bezeichnung,
@@ -461,6 +512,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$abschlusspruefungsdatum = '';
$abschlussbeurteilung='';
$pruefungstyp_kurzbz='';
+ $abschlussbeurteilung_deutsch = '';
if($db->db_query($qry))
{
diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php
index b6712840b..0e2b4e7c6 100644
--- a/system/dbupdate_3.4.php
+++ b/system/dbupdate_3.4.php
@@ -213,7 +213,7 @@ $tabellen=array(
"hr.tbl_teilzeittyp" => array("teilzeittyp_kurzbz","bezeichnung","aktiv"),
"hr.tbl_gehaltsbestandteil" => array("gehaltsbestandteil_id","dienstverhaeltnis_id","vertragsbestandteil_id","gehaltstyp_kurzbz","von","bis","anmerkung","grundbetrag","betrag_valorisiert","valorisierungssperre","insertamum", "insertvon","updateamum","updatevon","valorisierung","auszahlungen"),
"hr.tbl_gehaltshistorie" => array("gehaltshistorie_id", "datum","betrag","gehaltsbestandteil_id","mitarbeiter_uid","gehaltsbestandteil_von","gehaltsbestandteil_bis"),
- "hr.tbl_gehaltstyp" => array("gehaltstyp_kurzbz","bezeichnung","valorisierung","sort","aktiv"),
+ "hr.tbl_gehaltstyp" => array("gehaltstyp_kurzbz","bezeichnung","valorisierung","sort","aktiv","lvexport","lvexport_sum"),
"hr.tbl_frist" => array("frist_id","mitarbeiter_uid","ereignis_kurzbz","bezeichnung","datum","status_kurzbz","parameter","insertvon","insertamum","updatevon","updateamum"),
"hr.tbl_frist_ereignis" => array("ereignis_kurzbz","bezeichnung","manuell","sort"),
"hr.tbl_frist_status" => array("status_kurzbz", "bezeichnung","sort"),
diff --git a/system/dbupdate_3.4/28260_vertraege.php b/system/dbupdate_3.4/28260_vertraege.php
index 073b53c18..1e0e4e048 100644
--- a/system/dbupdate_3.4/28260_vertraege.php
+++ b/system/dbupdate_3.4/28260_vertraege.php
@@ -622,4 +622,116 @@ if ($result = $db->db_query("SELECT * FROM information_schema.columns WHERE colu
else
echo 'Spalte betrag wurde in hr.tbl_sachaufwand neu erstellt
';
}
+}
+
+if ($result = $db->db_query("SELECT * FROM information_schema.columns WHERE column_name='lvexport' AND table_name='tbl_gehaltstyp' AND table_schema='hr'"))
+{
+ if ($db->db_num_rows($result) == 0)
+ {
+ $qry = "
+ ALTER TABLE
+ hr.tbl_gehaltstyp
+ ADD COLUMN
+ lvexport boolean NOT NULL DEFAULT true;
+ ";
+ if (! $db->db_query($qry))
+ echo 'Vertraege: ' . $db->db_last_error() . '
';
+ else
+ echo 'Spalte lvexport wurde in hr.tbl_gehaltstyp neu erstellt
';
+
+ $qryatz = "
+ UPDATE
+ hr.tbl_gehaltstyp
+ SET
+ lvexport = false
+ WHERE
+ gehaltstyp_kurzbz = 'lohnausgleichatz';
+ ";
+ if (! $db->db_query($qryatz))
+ echo 'Vertraege: ' . $db->db_last_error() . '
';
+ else
+ echo 'Spalte lvexport wurde in hr.tbl_gehaltstyp fuer gehaltstyp lohnausgleichatz auf false gesetzt
';
+ }
+}
+
+if ($result = $db->db_query("SELECT * FROM information_schema.columns WHERE column_name='lvexport_sum' AND table_name='tbl_gehaltstyp' AND table_schema='hr'"))
+{
+ if ($db->db_num_rows($result) == 0)
+ {
+ $qry = "
+ ALTER TABLE
+ hr.tbl_gehaltstyp
+ ADD COLUMN
+ lvexport_sum VARCHAR(255) default null;
+ ";
+ if (! $db->db_query($qry))
+ echo 'Vertraege: ' . $db->db_last_error() . '
';
+ else
+ echo 'Spalte lvexport_sum wurde in hr.tbl_gehaltstyp neu erstellt
';
+
+ $qrysortorder = "
+ UPDATE
+ hr.tbl_gehaltstyp
+ SET
+ sort = sort + 1
+ WHERE
+ sort > 3;
+ ";
+ if (! $db->db_query($qrysortorder))
+ echo 'Vertraege: ' . $db->db_last_error() . '
';
+ else
+ echo 'Spalte sort wurde in hr.tbl_gehaltstyp fuer sort > 3 erhoeht
';
+
+ $qryzulageallin = "
+ INSERT INTO
+ hr.tbl_gehaltstyp
+ (gehaltstyp_kurzbz, bezeichnung, valorisierung, sort,aktiv, lvexport)
+ VALUES
+ ('zulage_allin', 'Zulage (Allin)', true, 4, true, true);
+ ";
+ if (! $db->db_query($qryzulageallin))
+ echo 'Vertraege: ' . $db->db_last_error() . '
';
+ else
+ echo 'gehaltstyp zulage_allin wurde in hr.tbl_gehaltstyp hinzugefuegt
';
+
+ $qrysetsum = "
+ UPDATE
+ hr.tbl_gehaltstyp
+ SET
+ lvexport_sum = 'GRUNDGEHALT'
+ WHERE
+ gehaltstyp_kurzbz IN ('grundgehalt', 'zulage_allin');
+ ";
+ if (! $db->db_query($qrysetsum))
+ echo 'Vertraege: ' . $db->db_last_error() . '
';
+ else
+ echo 'Spalte lvexprt_sum wurde in hr.tbl_gehaltstyp fuer grundgehalt '
+ . 'und zulage_allin auf GRUNDGEHALT gesetzt
';
+
+ $qrysetzulageallin = "
+ WITH gbsallin AS (
+ SELECT
+ *
+ FROM
+ hr.tbl_gehaltsbestandteil g
+ JOIN
+ hr.tbl_vertragsbestandteil_freitext f ON g.vertragsbestandteil_id = f.vertragsbestandteil_id
+ WHERE
+ f.freitexttyp_kurzbz = 'allin'
+ AND
+ g.gehaltstyp_kurzbz <> 'zulage_allin'
+ )
+ UPDATE
+ hr.tbl_gehaltsbestandteil
+ SET
+ gehaltstyp_kurzbz = 'zulage_allin'
+ WHERE
+ gehaltsbestandteil_id IN (SELECT gehaltsbestandteil_id FROM gbsallin);
+ ";
+ if (! $db->db_query($qrysetzulageallin))
+ echo 'Vertraege: ' . $db->db_last_error() . '
';
+ else
+ echo 'gehaltstyp_kurzbz wurde bei gehaltsbestandteilen an allin '
+ . 'freitext vertragsbestandteilen auf zulage_allin gesetzt
';
+ }
}
\ No newline at end of file
diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php
index ee7b52b12..40711ee9b 100644
--- a/system/phrasesupdate.php
+++ b/system/phrasesupdate.php
@@ -18428,6 +18428,26 @@ array(
)
)
),
+ array(
+ 'app' => 'international',
+ 'category' => 'international',
+ 'phrase' => 'studentstatus',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Studentstatus',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Student status',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
array(
'app' => 'international',
'category' => 'international',
@@ -19331,13 +19351,33 @@ array(
'phrases' => array(
array(
'sprache' => 'German',
- 'text' => 'Maßnahmen - geplant',
+ 'text' => 'Maßnahme - geplant',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
- 'text' => 'Measures - planned',
+ 'text' => 'Measure - planned',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
+ array(
+ 'app' => 'international',
+ 'category' => 'international',
+ 'phrase' => 'geplanteMassnahmenDesc',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Die Maßhname wurde geplant.',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'The measure was planned.',
'description' => '',
'insertvon' => 'system'
)
@@ -19391,13 +19431,13 @@ array(
'phrases' => array(
array(
'sprache' => 'German',
- 'text' => 'Maßnahmen - durchgeführt',
+ 'text' => 'Maßnahme - durchgeführt',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
- 'text' => 'Measures - performed',
+ 'text' => 'Measure - performed',
'description' => '',
'insertvon' => 'system'
)
@@ -19431,13 +19471,13 @@ array(
'phrases' => array(
array(
'sprache' => 'German',
- 'text' => 'Maßnahmen - abgelehnt',
+ 'text' => 'Maßnahme - abgelehnt',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
- 'text' => 'Measures - declined',
+ 'text' => 'Measure - declined',
'description' => '',
'insertvon' => 'system'
)
@@ -19531,13 +19571,13 @@ array(
'phrases' => array(
array(
'sprache' => 'German',
- 'text' => 'Anmerkung - Studiengangsleitung',
+ 'text' => 'Begründung - Studiengangsleitung',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
- 'text' => 'Note - Study course Director',
+ 'text' => 'Reason - Study course Director',
'description' => '',
'insertvon' => 'system'
)
@@ -19563,6 +19603,26 @@ array(
)
)
),
+ array(
+ 'app' => 'international',
+ 'category' => 'international',
+ 'phrase' => 'stgtodo',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Nur offene Massnahmen',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'only open measures',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
array(
'app' => 'international',
'category' => 'international',
diff --git a/vilesci/lehre/lehrveranstaltung_details.php b/vilesci/lehre/lehrveranstaltung_details.php
index 60f2fc3c9..bad2a7d93 100644
--- a/vilesci/lehre/lehrveranstaltung_details.php
+++ b/vilesci/lehre/lehrveranstaltung_details.php
@@ -30,8 +30,6 @@
require_once('../../include/lehrmodus.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/studienplan.class.php');
- require_once('../../include/lehrveranstaltung_faktor.class.php');
- require_once('../../include/studiensemester.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
@@ -141,31 +139,6 @@
$reloadstr .= " window.location.href='".$_SERVER['PHP_SELF']."?stg_kz=$lv->studiengang_kz&semester=$lv->semester&neu=true';";
}
$reloadstr .= "\n";
-
- if (in_array($lv->lehrtyp_kurzbz, array('tpl', 'lv')) && $lv->new === true)
- {
- $lv_faktor = new lehrveranstaltung_faktor();
- $studiensemester = new studiensemester();
- $studiensemester_von = $studiensemester->getLastOrAktSemester();
- if ($lv->lehrtyp_kurzbz === 'lv' && $_POST['lehrveranstaltung_template_id'] !== '')
- {
-
- $lv_faktor->getAkt($_POST['lehrveranstaltung_template_id']);
- //TODO Faktor in eine Config
- if (is_null($lv_faktor->faktor))
- $lv_faktor->addFaktor($lv->lehrveranstaltung_id, 2, $studiensemester_von);
- else
- $lv_faktor->addFaktor($lv->lehrveranstaltung_id, $lv_faktor->faktor, $studiensemester_von);
- }
- else
- {
- $lv_faktor->loadByLV($lv->lehrveranstaltung_id);
- if (empty($lv_faktor->lv_faktoren))
- {
- $lv_faktor->addFaktor($lv->lehrveranstaltung_id, 2, $studiensemester_von);
- }
- }
- }
}
}