mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7f91e20d03 | |||
| 233a6e8b89 |
@@ -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,74 @@ 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(
|
||||
{
|
||||
description: 'lehre/berichte',
|
||||
requires: ['stg'],
|
||||
children: [
|
||||
{
|
||||
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']
|
||||
},
|
||||
{
|
||||
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']
|
||||
},
|
||||
{
|
||||
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']
|
||||
},
|
||||
{
|
||||
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']
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
link: FHC_JS_DATA_STORAGE_OBJECT.app_root
|
||||
+ 'vilesci/lehre/lehrveranstaltung.php'
|
||||
+ '?stg_kz=' + studiengang_kz,
|
||||
description: 'lehre/extrakvverwaltung',
|
||||
requires: ['stg']
|
||||
}
|
||||
);
|
||||
|
||||
return extraItems;
|
||||
}
|
||||
},
|
||||
|
||||
template: /* html */`
|
||||
<div class="stv">
|
||||
@@ -278,7 +360,40 @@ 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">
|
||||
<template v-for="(item, key) in appMenuExtraItems" :key="key">
|
||||
<li v-if="item.children" class="dropend">
|
||||
<a
|
||||
class="dropdown-toggle"
|
||||
href="#"
|
||||
role="button"
|
||||
data-bs-toggle="dropdown"
|
||||
aria-expanded="false"
|
||||
data-bs-popper-config='{"strategy":"fixed"}'
|
||||
>
|
||||
{{ $p.t(item.description) }}
|
||||
</a>
|
||||
<ul class="dropdown-menu p-0">
|
||||
<li
|
||||
v-for="(child, childKey) in item.children"
|
||||
:key="childKey"
|
||||
>
|
||||
<a class="dropdown-item" :href="child.link" target="_blank" :class="{ disabled: isDisabled(child) }">
|
||||
{{ $p.t(child.description) }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li v-else>
|
||||
<a
|
||||
:href="item.link"
|
||||
target="_blank"
|
||||
:class="{ disabled: isDisabled(item) }">
|
||||
{{ $p.t(item.description) }}
|
||||
</a>
|
||||
</li>
|
||||
</template>
|
||||
</app-menu>
|
||||
</div>
|
||||
</aside>
|
||||
<nav id="sidebarMenu" class="bg-light offcanvas offcanvas-start col-md p-md-0 h-100">
|
||||
|
||||
@@ -48849,6 +48849,126 @@ 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(
|
||||
'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'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'lehre',
|
||||
'phrase' => 'extrakvverwaltung',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Lehrveranstaltung Verwaltung',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Course Management',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
// feature-55614 end
|
||||
array(
|
||||
'app' => 'softwarebereitstellung',
|
||||
|
||||
Reference in New Issue
Block a user