Select Git revision
Modulteil.php
Forked from
Stud.IP / Stud.IP
Source project has a limited visibility.
-
Jan-Hendrik Willms authored
Closes #3225 Merge request studip/studip!2186
Jan-Hendrik Willms authoredCloses #3225 Merge request studip/studip!2186
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Modulteil.php 13.62 KiB
<?php
/**
* Modulteil.php
* Model class for Modulteile (table mvv_modulteil)
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* @author Peter Thienel <thienel@data-quest.de>
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
*
* @property string $id alias column for modulteil_id
* @property string $modulteil_id database column
* @property string $modul_id database column
* @property int $position database column
* @property string|null $flexnow_modul database column
* @property string|null $nummer database column
* @property string|null $num_bezeichnung database column
* @property string|null $lernlehrform database column
* @property string|null $semester database column
* @property string|null $kapazitaet database column
* @property float|null $kp database column
* @property int|null $sws database column
* @property int|null $wl_praesenz database column
* @property int|null $wl_bereitung database column
* @property int|null $wl_selbst database column
* @property int|null $wl_pruef database column
* @property int|null $anteil_note database column
* @property int $ausgleichbar database column
* @property int $pflicht database column
* @property string $author_id database column
* @property string $editor_id database column
* @property int $mkdate database column
* @property int $chdate database column
* @property SimpleORMapCollection|ModulteilStgteilabschnitt[] $abschnitt_assignments has_many ModulteilStgteilabschnitt
* @property SimpleORMapCollection|LvgruppeModulteil[] $lvgruppen_assignments has_many LvgruppeModulteil
* @property SimpleORMapCollection|ModulteilLanguage[] $languages has_many ModulteilLanguage
* @property Modul $modul belongs_to Modul
* @property ModulteilDeskriptor $deskriptoren has_one ModulteilDeskriptor
* @property SimpleORMapCollection|StgteilAbschnitt[] $abschnitte has_and_belongs_to_many StgteilAbschnitt
* @property SimpleORMapCollection|Lvgruppe[] $lvgruppen has_and_belongs_to_many Lvgruppe
* @property mixed $count_lvgruppen additional field
*/
class Modulteil extends ModuleManagementModelTreeItem
{
protected static function configure($config = [])
{
$config['db_table'] = 'mvv_modulteil';
$config['belongs_to']['modul'] = [
'class_name' => Modul::class,
'foreign_key' => 'modul_id',
'assoc_func' => 'findCached',
];
$config['has_and_belongs_to_many']['abschnitte'] = [
'class_name' => StgteilAbschnitt::class,
'thru_table' => 'mvv_modulteil_stgteilabschnitt',
'thru_key' => 'modulteil_id',
'thru_assoc_key' => 'abschnitt_id',
'on_delete' => 'delete',
'on_store' => 'store'
];
$config['has_many']['abschnitt_assignments'] = [
'class_name' => ModulteilStgteilabschnitt::class,
'order_by' => 'ORDER BY fachsemester,mkdate',