mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 16:32:20 +00:00
lvverwaltung:
- event hinzugefuegt damit tabs erweitert werden können - berichte hinzugefuegt
This commit is contained in:
@@ -19,6 +19,8 @@
|
||||
if (!defined('BASEPATH'))
|
||||
exit('No direct script access allowed');
|
||||
|
||||
use CI3_Events as Events;
|
||||
|
||||
class Setup extends FHCAPI_Controller
|
||||
{
|
||||
private $_ci;
|
||||
@@ -65,6 +67,11 @@ class Setup extends FHCAPI_Controller
|
||||
'component' => absoluteJsImportUrl('public/js/components/LVVerwaltung/Tabs/Notiz.js'),
|
||||
'config' => []
|
||||
);
|
||||
|
||||
Events::trigger('lvv_conf_tabs', function & () use (&$tabs) {
|
||||
return $tabs;
|
||||
});
|
||||
|
||||
$this->terminateWithSuccess($tabs);
|
||||
}
|
||||
|
||||
|
||||
@@ -41,6 +41,12 @@ else
|
||||
$user = get_uid();
|
||||
loadVariables($user);
|
||||
|
||||
if (isset($_GET['studiensemester_kurzbz']))
|
||||
{
|
||||
if (check_stsem($_GET['studiensemester_kurzbz']))
|
||||
$semester_aktuell = $_GET['studiensemester_kurzbz'];
|
||||
}
|
||||
|
||||
//Studiengang laden
|
||||
$studiengang = new studiengang($studiengang_kz);
|
||||
|
||||
|
||||
@@ -50,6 +50,12 @@ else
|
||||
$user = get_uid();
|
||||
loadVariables($user);
|
||||
|
||||
if (isset($_GET['studiensemester_kurzbz']))
|
||||
{
|
||||
if (check_stsem($_GET['studiensemester_kurzbz']))
|
||||
$semester_aktuell = $_GET['studiensemester_kurzbz'];
|
||||
}
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@ import LvTabs from "./Setup/Tabs.js";
|
||||
|
||||
import ApiDetails from "../../api/lehrveranstaltung/details.js";
|
||||
import ApiLektor from "../../api/lehrveranstaltung/lektor.js";
|
||||
import ApiGruppe from "../../api/lehrveranstaltung/gruppe.js";
|
||||
import ApiStudiengangTree from "../../api/lehrveranstaltung/studiengangtree.js";
|
||||
import ApiSearchbar from "../../api/factory/searchbar.js";
|
||||
|
||||
@@ -205,6 +204,21 @@ export default {
|
||||
this.$router.push({ name: routeName, params: newParams });
|
||||
this.selected = [];
|
||||
},
|
||||
isDisabled(item)
|
||||
{
|
||||
if (!item?.requires?.length)
|
||||
return false;
|
||||
|
||||
const values = {
|
||||
stg: this.stg,
|
||||
emp: this.emp,
|
||||
studiensemester: this.selectedStudiensemester,
|
||||
semester: this.semester
|
||||
};
|
||||
|
||||
return item.requires.some(req => !values[req]);
|
||||
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.$p.loadCategory(['lehre', 'person', 'global'])
|
||||
@@ -239,6 +253,62 @@ export default {
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
computed:
|
||||
{
|
||||
appMenuExtraItems()
|
||||
{
|
||||
let extraItems = [];
|
||||
|
||||
const studiengang_kz = this.stg || '';
|
||||
const studiensemester = this.selectedStudiensemester;
|
||||
const semester = this.semester || '';
|
||||
const uid = this.emp || '';
|
||||
|
||||
extraItems.push({
|
||||
link: FHC_JS_DATA_STORAGE_OBJECT.app_root
|
||||
+ 'content/statistik/lvplanung.xls.php'
|
||||
+ '?studiengang_kz=' + studiengang_kz
|
||||
+ '&studiensemester_kurzbz=' + studiensemester
|
||||
+ '&semester=' + semester,
|
||||
description: 'lehre/lvplanung',
|
||||
requires: ['stg']
|
||||
});
|
||||
|
||||
extraItems.push({
|
||||
link: FHC_JS_DATA_STORAGE_OBJECT.app_root
|
||||
+ 'content/statistik/lehrauftragsliste_gst.xls.php'
|
||||
+ '?studiengang_kz=' + studiengang_kz
|
||||
+ '&studiensemester_kurzbz=' + studiensemester
|
||||
+ '&semester=' + semester,
|
||||
description: 'lehre/lehrauftragsliste',
|
||||
requires: ['stg']
|
||||
});
|
||||
|
||||
extraItems.push({
|
||||
link: FHC_JS_DATA_STORAGE_OBJECT.app_root
|
||||
+ 'content/pdfExport.php?xml=lehrauftrag.xml.php'
|
||||
+ '&xsl=Lehrauftrag'
|
||||
+ '&stg_kz=' + studiengang_kz
|
||||
+ '&ss=' + studiensemester,
|
||||
description: 'lehre/lehrauftraege',
|
||||
requires: ['stg']
|
||||
});
|
||||
|
||||
extraItems.push({
|
||||
link: FHC_JS_DATA_STORAGE_OBJECT.app_root
|
||||
+ 'content/pdfExport.php?xml=lehrauftrag.xml.php'
|
||||
+ '&xsl=Lehrauftrag'
|
||||
+ '&stg_kz=' + studiengang_kz
|
||||
+ '&ss=' + studiensemester
|
||||
+ '&uid=' + uid,
|
||||
description: 'lehre/lehrauftragslisteemp',
|
||||
requires: ['emp']
|
||||
});
|
||||
|
||||
return extraItems;
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
template: /* html */`
|
||||
<div class="stv">
|
||||
@@ -278,7 +348,31 @@ export default {
|
||||
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" :aria-label="$p.t('ui/schliessen')"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<app-menu app-identifier="lvv" />
|
||||
<app-menu app-identifier="lvv">
|
||||
<li class="dropend">
|
||||
<a
|
||||
class="dropdown-toggle"
|
||||
href="#"
|
||||
role="button"
|
||||
data-bs-toggle="dropdown"
|
||||
aria-expanded="false"
|
||||
data-bs-popper-config='{"strategy":"fixed"}'
|
||||
>
|
||||
{{ $p.t('lehre/berichte') }}
|
||||
</a>
|
||||
<ul class="dropdown-menu p-0">
|
||||
<li
|
||||
v-for="(item, key) in appMenuExtraItems"
|
||||
:key="key"
|
||||
>
|
||||
<a class="dropdown-item" :href="item.link" target="_blank" :class="{ disabled: isDisabled(item) }"
|
||||
>
|
||||
{{ $p.t(item.description) }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</app-menu>
|
||||
</div>
|
||||
</aside>
|
||||
<nav id="sidebarMenu" class="bg-light offcanvas offcanvas-start col-md p-md-0 h-100">
|
||||
|
||||
@@ -48849,6 +48849,106 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'lehre',
|
||||
'phrase' => 'berichte',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Berichte',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Reports',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'lehre',
|
||||
'phrase' => 'lvplanung',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'LV-Planung',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Course Planning',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'lehre',
|
||||
'phrase' => 'lehrauftragsliste',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Lehrauftragsliste',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(w
|
||||
'sprache' => 'English',
|
||||
'text' => 'Teaching Assignments',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'lehre',
|
||||
'phrase' => 'lehrauftraege',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Lehraufträge',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Lectureships',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'lehre',
|
||||
'phrase' => 'lehrauftragslisteemp',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Lehrauftrag Lehrende',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Teaching Assignment Lecturers',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
// feature-55614 end
|
||||
array(
|
||||
'app' => 'softwarebereitstellung',
|
||||
|
||||
Reference in New Issue
Block a user