Merge branch 'master' into feature-18224/Anrechnungen_ECTS-Grenze

# Conflicts:
#	application/controllers/lehre/anrechnung/RequestAnrechnung.php
This commit is contained in:
Cris
2022-09-08 14:15:49 +02:00
15 changed files with 916 additions and 218 deletions
@@ -6,13 +6,13 @@ class requestAnrechnung extends Auth_Controller
{
const REQUEST_ANRECHNUNG_URI = '/lehre/anrechnung/RequestAnrechnung';
const APPROVE_ANRECHNUNG_URI = '/lehre/anrechnung/ApproveAnrechnungUebersicht';
const ANRECHNUNGSTATUS_PROGRESSED_BY_STGL = 'inProgressDP';
const ANRECHNUNGSTATUS_PROGRESSED_BY_KF = 'inProgressKF';
const ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR = 'inProgressLektor';
const ANRECHNUNGSTATUS_APPROVED = 'approved';
const ANRECHNUNGSTATUS_REJECTED = 'rejected';
public function __construct()
{
// Set required permissions
@@ -23,22 +23,22 @@ class requestAnrechnung extends Auth_Controller
'download' => 'student/anrechnung_beantragen:rw',
)
);
// Load models
$this->load->model('education/Anrechnung_model', 'AnrechnungModel');
$this->load->model('content/DmsVersion_model', 'DmsVersionModel');
// Load libraries
$this->load->library('WidgetLib');
$this->load->library('PermissionLib');
$this->load->library('AnrechnungLib');
$this->load->library('DmsLib');
// Load helpers
$this->load->helper('form');
$this->load->helper('url');
$this->load->helper('hlp_sancho_helper');
// Load configs
$this->load->config('anrechnung');
@@ -208,11 +208,11 @@ class requestAnrechnung extends Auth_Controller
$this->_checkIfEntitledToReadDMSDoc($dms_id);
// Get file to be downloaded from DMS
$download = $this->dmslib->download($dms_id);
if (isError($download)) return $download;
$download = $this->dmslib->download($dms_id);
if (isError($download)) return $download;
// Download file
$this->outputFile(getData($download));
// Download file
$this->outputFile(getData($download));
}
/**
@@ -221,10 +221,10 @@ class requestAnrechnung extends Auth_Controller
private function _setAuthUID()
{
$this->_uid = getAuthUID();
if (!$this->_uid) show_error('User authentification failed');
}
/**
* Check if application deadline is expired.
*
@@ -237,7 +237,7 @@ class requestAnrechnung extends Auth_Controller
private function _isExpired($start, $ende, $studiensemester_kurzbz)
{
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
// If start is not given, set to Semesterstart.
if (!isset($start) || isEmptyString($start))
{
@@ -245,7 +245,7 @@ class requestAnrechnung extends Auth_Controller
$result = $this->StudiensemesterModel->load($studiensemester_kurzbz);
$start = getData($result)[0]->start;
}
// If ende is not given, set to Semesterende.
if (!isset($ende) || isEmptyString($ende))
{
@@ -253,15 +253,15 @@ class requestAnrechnung extends Auth_Controller
$result = $this->StudiensemesterModel->load($studiensemester_kurzbz);
$ende = getData($result)[0]->ende;
}
$today = new DateTime('today midnight');
$start = new DateTime($start);
$ende = new DateTime($ende);
// True if expired
return ($today < $start || $today > $ende);
}
/**
* Check if user is entitled to read dms doc.
*
@@ -273,9 +273,9 @@ class requestAnrechnung extends Auth_Controller
{
show_error('Failed loading Student');
}
$result = $this->AnrechnungModel->loadWhere(array('dms_id' => $dms_id));
if($result = getData($result)[0])
{
if ($result->prestudent_id == $student->prestudent_id)
@@ -283,10 +283,10 @@ class requestAnrechnung extends Auth_Controller
return;
}
}
show_error('You are not entitled to read this document');
}
/**
* Check if application already exists.
*
@@ -302,15 +302,15 @@ class requestAnrechnung extends Auth_Controller
'studiensemester_kurzbz' => $studiensemester_kurzbz,
'prestudent_id' => $prestudent_id
));
if (isError($result))
{
show_error(getError($result));
}
return hasData($result);
}
/**
* Check if applications' study semester is actual study semester.
*
@@ -322,10 +322,10 @@ class requestAnrechnung extends Auth_Controller
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
$result = $this->StudiensemesterModel->getNearest();
$actual_ss = getData($result)[0]->studiensemester_kurzbz;
return $studiensemester_kurzbz == $actual_ss;
}
private function _LVhasBlockingGrades($studiensemester_kurzbz, $lehrveranstaltung_id)
{
// Get Note of Lehrveranstaltung
@@ -336,12 +336,12 @@ class requestAnrechnung extends Auth_Controller
'lehrveranstaltung_id' => $lehrveranstaltung_id
)
);
// If Lehrveranstaltung has Note
if (hasData($result))
{
$note = getData($result)[0]->note;
// Check if Note is a blocking grade
if (in_array($note, $this->config->item('grades_blocking_application')))
{
@@ -350,7 +350,7 @@ class requestAnrechnung extends Auth_Controller
}
return false;
}
/**
* Upload file via DMS library.
*
@@ -367,7 +367,7 @@ class requestAnrechnung extends Auth_Controller
'insertamum' => (new DateTime())->format('Y-m-d H:i:s'),
'insertvon' => $this->_uid
);
// Upload document
return $this->dmslib->upload($dms, 'uploadfile', array('pdf'));
}
+118 -169
View File
@@ -50,62 +50,57 @@ class DmsLib
$kategorie_kurzbz = null, $dokument_kurzbz = null, $beschreibung = null, $cis_suche = false, $schlagworte = null
)
{
// write file with content of fileHandle
$writeFileResult = $this->_writeNewFile($name, $fileHandle);
// create unique filename, using original document name to detect file extension
$filename = $this->_getUniqueFilename($name);
if (isError($writeFileResult)) return $writeFileResult;
// copy file from fileHandle to dms folder
$copyFileResult = $this->_copyFile($fileHandle, $filename);
if (hasData($writeFileResult))
if (isError($copyFileResult)) return $copyFileResult;
// if file written successful, insert dms
$dmsResult = $this->_ci->DmsModel->insert(
array(
'kategorie_kurzbz' => $kategorie_kurzbz,
'dokument_kurzbz' => $dokument_kurzbz
)
);
if (isError($dmsResult)) return $dmsResult;
if (hasData($dmsResult))
{
$writeFileData = getData($writeFileResult);
$filename = $writeFileData->filename;
$dms_id = getData($dmsResult);
$version = 0;
// if file written successful, insert dms
$dmsResult = $this->_ci->DmsModel->insert(
array(
'kategorie_kurzbz' => $kategorie_kurzbz,
'dokument_kurzbz' => $dokument_kurzbz
)
// insert dms version
$dmsVersion = array(
'dms_id' => $dms_id,
'version' => $version,
'filename' => $filename,
'mimetype' => $mimetype,
'name' => $name,
'beschreibung' => $beschreibung,
'cis_suche' => $cis_suche,
'schlagworte' => $schlagworte,
'insertvon' => $this->_who,
'insertamum' => date('Y-m-d H:i:s')
);
if (isError($dmsResult)) return $dmsResult;
$dmsVersionResult = $this->_ci->DmsVersionModel->insert($dmsVersion);
if (hasData($dmsResult))
{
$dms_id = getData($dmsResult);
$version = 0;
if (isError($dmsVersionResult)) return $dmsVersionResult;
// insert dms version
$dmsVersion = array(
'dms_id' => $dms_id,
'version' => $version,
'filename' => $filename,
'mimetype' => $mimetype,
'name' => $name,
'beschreibung' => $beschreibung,
'cis_suche' => $cis_suche,
'schlagworte' => $schlagworte,
'insertvon' => $this->_who,
'insertamum' => date('Y-m-d H:i:s')
);
// return dms info
$resObj = new stdClass();
$resObj->dms_id = $dms_id;
$resObj->version = $version;
$resObj->filename = $filename;
$dmsVersionResult = $this->_ci->DmsVersionModel->insert($dmsVersion);
if (isError($dmsVersionResult)) return $dmsVersionResult;
// return dms info
$resObj = new stdClass();
$resObj->dms_id = $dms_id;
$resObj->version = $version;
$resObj->filename = $filename;
return success($resObj);
}
else
return error("error when inserting DMS");
return success($resObj);
}
else
return error("file could not be written");
return error("error when inserting DMS");
}
/**
@@ -125,46 +120,41 @@ class DmsLib
$originalName = isset($name) ? $name : $lastVersion->name;
// write new file with content of fileHandle
$writeFileResult = $this->_writeNewFile($originalName, $fileHandle);
// create unique filename, using original document name to detect file extension
$filename = $this->_getUniqueFilename($originalName);
if (isError($writeFileResult)) return $writeFileResult;
// copy file from fileHandle to dms folder
$copyFileResult = $this->_copyFile($fileHandle, $filename);
if (hasData($writeFileResult))
{
$writeFileData = getData($writeFileResult);
$filename = $writeFileData->filename;
if (isError($copyFileResult)) return $copyFileResult;
// insert new version
$newVersionNumber = $lastVersion->version + 1;
// insert new version
$newVersionNumber = $lastVersion->version + 1;
// if new parameters given, use them, otherwise use parameters from last version
$newVersion = array(
'dms_id' => $dms_id,
'name' => $originalName,
'filename' => $filename,
'version' => $newVersionNumber,
'mimetype' => isset($mimetype) ? $mimetype : $lastVersion->mimetype,
'beschreibung' => isset($beschreibung) ? $beschreibung : $lastVersion->beschreibung,
'cis_suche' => isset($cis_suche) ? $cis_suche : $lastVersion->cis_suche,
'schlagworte' => isset($schlagworte) ? $schlagworte : $lastVersion->schlagworte,
'insertvon' => $this->_who,
'insertamum' => date('Y-m-d H:i:s')
);
// if new parameters given, use them, otherwise use parameters from last version
$newVersion = array(
'dms_id' => $dms_id,
'name' => $originalName,
'filename' => $filename,
'version' => $newVersionNumber,
'mimetype' => isset($mimetype) ? $mimetype : $lastVersion->mimetype,
'beschreibung' => isset($beschreibung) ? $beschreibung : $lastVersion->beschreibung,
'cis_suche' => isset($cis_suche) ? $cis_suche : $lastVersion->cis_suche,
'schlagworte' => isset($schlagworte) ? $schlagworte : $lastVersion->schlagworte,
'insertvon' => $this->_who,
'insertamum' => date('Y-m-d H:i:s')
);
$addVersionResult = $this->_ci->DmsVersionModel->insert($newVersion);
$addVersionResult = $this->_ci->DmsVersionModel->insert($newVersion);
if (isError($addVersionResult)) return $addVersionResult;
if (isError($addVersionResult)) return $addVersionResult;
// return dms info
$resObj = new stdClass();
$resObj->version = $newVersionNumber;
$resObj->filename = $filename;
// return dms info
$resObj = new stdClass();
$resObj->version = $newVersionNumber;
$resObj->filename = $filename;
return success($resObj);
}
else
return error("file could not be written");
return success($resObj);
}
else
return error("last version not found");
@@ -185,44 +175,37 @@ class DmsLib
if (hasData($lastVersionResult))
{
$lastVersion = getData($lastVersionResult);
$filename = $lastVersion->filename;
// update file in filesystem
$writeFileResult = $this->_writeFile($lastVersion->filename, $fileHandle);
$copyFileResult = $this->_copyFile($fileHandle, $filename);
if (isError($writeFileResult)) return $writeFileResult;
if (isError($copyFileResult)) return $copyFileResult;
if (hasData($writeFileResult))
{
$writeFileData = getData($writeFileResult);
$filename = $writeFileData->filename;
// if new parameters given, use them, otherwise use parameters from last version
$newVersion = array(
'name' => isset($name) ? $name : $lastVersion->name,
'filename' => $filename,
'mimetype' => isset($mimetype) ? $mimetype : $lastVersion->mimetype,
'beschreibung' => isset($beschreibung) ? $beschreibung : $lastVersion->beschreibung,
'cis_suche' => isset($cis_suche) ? $cis_suche : $lastVersion->cis_suche,
'schlagworte' => isset($schlagworte) ? $schlagworte : $lastVersion->schlagworte,
);
// if new parameters given, use them, otherwise use parameters from last version
$newVersion = array(
'name' => isset($name) ? $name : $lastVersion->name,
'filename' => $filename,
'mimetype' => isset($mimetype) ? $mimetype : $lastVersion->mimetype,
'beschreibung' => isset($beschreibung) ? $beschreibung : $lastVersion->beschreibung,
'cis_suche' => isset($cis_suche) ? $cis_suche : $lastVersion->cis_suche,
'schlagworte' => isset($schlagworte) ? $schlagworte : $lastVersion->schlagworte,
);
// update last dms version
$addVersionResult = $this->_ci->DmsVersionModel->update(
array($dms_id, $lastVersion->version),
$newVersion
);
// update last dms version
$addVersionResult = $this->_ci->DmsVersionModel->update(
array($dms_id, $lastVersion->version),
$newVersion
);
if (isError($addVersionResult)) return $addVersionResult;
if (isError($addVersionResult)) return $addVersionResult;
// return dms info
$resObj = new stdClass();
$resObj->version = $lastVersion->version;
$resObj->filename = $filename;
// return dms info
$resObj = new stdClass();
$resObj->version = $lastVersion->version;
$resObj->filename = $filename;
return success($resObj);
}
else
return error("file could not be written");
return success($resObj);
}
else
return error("last version not found");
@@ -441,68 +424,35 @@ class DmsLib
// Private methods
/**
* Writes file with content of fileHandle using original document name for file extension
* Copies file from sourceFileHandle to destinationFilename in DMS folder
* Returns success or error on fail
*/
private function _writeNewFile($originalName, $fileHandle)
private function _copyFile($sourceFileHandle, $destinationFilename)
{
// create unique filename, using original document name to detect file extension
$filename = $this->_getUniqueFilename($originalName);
// get file location from file handle
$metaData = stream_get_meta_data($sourceFileHandle);
// write the file
return $this->_writeFile($filename, $fileHandle);
}
/**
* Writes file with content of fileHandle
* Returns number of bytes written and filename
*/
private function _writeFile($filename, $fileHandle)
{
// file content provided by fileHandle
$fileContent = '';
$readBlockResult = success();
// While the end of the file is not reached and the read does not fail
while (!feof($fileHandle) && isSuccess($readBlockResult = $this->_ci->DmsFSModel->readBlock($fileHandle)))
if (isset($metaData['uri']) && !isEmptyString($metaData['uri']))
{
// Concatenate the content of the file
$fileContent .= getData($readBlockResult);
// if file location determined, copy file
$source = $metaData['uri'];
if (copy($source, DMS_PATH.$destinationFilename))
{
return success();
}
else
{
// error if copy returned false
return error('error occured while copying file');
}
}
// If an error occurred while reading then return it
if (isError($readBlockResult)) return $readBlockResult;
// open file for writing
$openFileResult = $this->_ci->DmsFSModel->openReadWrite($filename);
if (isError($openFileResult)) return $openFileResult;
if (!hasData($openFileResult)) return error("File could not be opened");
$newFileHandle = getData($openFileResult);
// write file
$writeFileResult = $this->_ci->DmsFSModel->write($newFileHandle, $fileContent);
if (isError($writeFileResult)) return $writeFileResult;
// return number of bytes written and filename
$resObj = new stdClass();
$resObj->bytesWritten = 0;
$resObj->filename = '';
if (hasData($writeFileResult))
else
{
$resObj->bytesWritten = getData($writeFileResult);
$resObj->filename = $filename;
// error when source location could not be determined
return error('error occured while getting source file name');
}
// close handle
$closeResult = $this->_ci->DmsFSModel->close($newFileHandle, $fileContent);
if (isError($closeResult)) return $closeResult;
return success($resObj);
}
@@ -527,7 +477,7 @@ class DmsLib
// -----------------------------------------------------------------------------------------------------------
// Deprecated methods, not to be used
/**
* Load a DMS Document.
* If no version is particularly given, the latest version is loaded.
@@ -543,7 +493,7 @@ class DmsLib
$this->_ci->DmsModel->addJoin('campus.tbl_dms_version', 'dms_id');
$this->_ci->DmsModel->addOrder('version', 'DESC');
$this->_ci->DmsModel->addLimit(1);
if (!is_numeric($version))
{
return $this->_ci->DmsModel->load($dms_id);
@@ -620,7 +570,7 @@ class DmsLib
return $result;
}
/**
* Uploads a document and saves it to DMS
* @param $dms DMS assoc array
@@ -659,7 +609,7 @@ class DmsLib
// Return result of uploaded data
return success($upload_data);
}
/**
* Download a document.
*
@@ -678,7 +628,7 @@ class DmsLib
if (hasData($fileInfoResult))
{
$fileObj = getData($fileInfoResult);
// Change filename, if filename is provided
if (!isEmptyString($filename)) $fileObj->name = $filename;
@@ -694,7 +644,7 @@ class DmsLib
// If no data have been found then return an empty success
return success();
}
/**
* Get file information.
*
@@ -706,7 +656,7 @@ class DmsLib
{
// Checks the dms_id parameter
if (!is_numeric($dms_id)) return error('Wrong parameter');
// Load DMS from database
$result = $this->load($dms_id, $version);
if (isError($result)) return error(getError($result));
@@ -951,4 +901,3 @@ class DmsLib
$this->_ci->upload->initialize($config);
}
}
@@ -10,6 +10,7 @@ class Dokumentprestudent_model extends DB_Model
parent::__construct();
$this->dbTable = 'public.tbl_dokumentprestudent';
$this->pk = array('prestudent_id', 'dokument_kurzbz');
$this->hasSequence = false;
}
/**
+4 -3
View File
@@ -74,10 +74,11 @@ class Konto_model extends DB_Model
}
}
public function getLastStudienbeitrag($uid, $buchungstypen)
public function getStudienbeitraege($uid, $buchungstypen)
{
$query = 'SELECT konto.studiensemester_kurzbz
FROM public.tbl_konto konto,
FROM public.tbl_konto konto
JOIN public.tbl_studiensemester studiensemester ON konto.studiensemester_kurzbz = studiensemester.studiensemester_kurzbz,
public.tbl_benutzer,
public.tbl_student
WHERE tbl_benutzer.uid = \'' . $uid . '\'
@@ -91,7 +92,7 @@ class Konto_model extends DB_Model
WHERE skonto.buchungsnr = konto.buchungsnr_verweis
OR skonto.buchungsnr_verweis = konto.buchungsnr_verweis
)
ORDER BY buchungsnr DESC LIMIT 1;
ORDER BY studiensemester.start DESC;
';
return $this->execQuery($query);
+16
View File
@@ -66,4 +66,20 @@ class Student_model extends DB_Model
return $result->retval[0]->student_uid;
}
public function searchStudent($filter)
{
$this->addSelect('vorname, nachname, gebdatum, person.person_id, student_uid');
$this->addJoin('public.tbl_prestudent ps', 'prestudent_id');
$this->addJoin('public.tbl_person person', 'person_id');
$result = $this->loadWhere(
"lower(student_uid) like ".$this->db->escape('%'.$filter.'%')."
OR lower(person.nachname) like ".$this->db->escape('%'.$filter.'%')."
OR lower(person.vorname) like ".$this->db->escape('%'.$filter.'%')."
OR lower(person.nachname || ' ' || person.vorname) like ".$this->db->escape('%'.$filter.'%')."
OR lower(person.vorname || ' ' || person.nachname) like ".$this->db->escape('%'.$filter.'%'));
return $result;
}
}
@@ -72,4 +72,28 @@ class Betriebsmittelperson_model extends DB_Model
return $this->loadWhere($where);
}
public function getBetriebsmittelByUid($uid, $betriebsmitteltyp = null, $isRetourniert = false)
{
$this->addJoin('wawi.tbl_betriebsmittel', 'betriebsmittel_id');
$condition = ' wawi.tbl_betriebsmittelperson.uid = '. $this->escape($uid);
if (is_string($betriebsmitteltyp))
{
$condition .= ' AND betriebsmitteltyp = ' . $this->escape($betriebsmitteltyp);
}
if ($isRetourniert === true) {
$condition .= ' AND retouram IS NOT NULL';
}
elseif ($isRetourniert === false)
{
$condition .= ' AND retouram IS NULL';
}
$this->addOrder('ausgegebenam', 'DESC');
return $this->loadWhere($condition);
}
}
@@ -60,7 +60,6 @@ $this->load->view(
);
?>
<body>
<div id="page-wrapper">
<div class="container-fluid">
<!-- header -->
@@ -428,6 +427,5 @@ $this->load->view(
</div><!--end container-fluid-->
</div><!--end page-wrapper-->
</body>
<?php $this->load->view('templates/FHC-Footer'); ?>
View File
View File
View File
View File
+2 -2
View File
@@ -543,8 +543,8 @@ var InfocenterDetails = {
var prestudentdata = prestudentresponse.retval;
var prestudent_id = freigabedata.prestudent_id;
var statusgrund_id = freigabedata.statusgrund_id;
var prestudent_id = parseInt(freigabedata.prestudent_id);
var statusgrund_id = parseInt(freigabedata.statusgrund_id);
var rtfreigabe = !$.isNumeric(statusgrund_id);//no Statusgrund - RT Freigabe
var rtFreigegeben = false;
+8 -3
View File
@@ -32,8 +32,10 @@ if(is_numeric($anrechnung_id))
// Add last Anrechnungstatus
$anrechnungstatus = new Anrechnung();
$anrechnungstatus->getLastAnrechnungstatus($anrechnung_id);
$anrechnung->result[0]->status = $anrechnungstatus->result[0]->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE];
if(isset($anrechnungstatus->result[0]))
$anrechnung->result[0]->status = $anrechnungstatus->result[0]->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE];
else
$anrechnung->result[0]->status = '';
}
elseif(is_numeric($prestudent_id))
{
@@ -46,7 +48,10 @@ elseif(is_numeric($prestudent_id))
{
$anrechnungstatus = new Anrechnung();
$status = $anrechnungstatus->getLastAnrechnungstatus($row->anrechnung_id);
$row->status = $anrechnungstatus->result[0]->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE];
if(isset($anrechnungstatus->result[0]))
$row->status = $anrechnungstatus->result[0]->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE];
else
$row->status = '';
}
}
}
+54
View File
@@ -5681,6 +5681,46 @@ if($result = $db->db_query("SELECT 1 FROM system.tbl_app WHERE app='dvuh'"))
}
}
if($result = $db->db_query("SELECT 1 FROM system.tbl_app WHERE app = 'international' "))
{
if($db->db_num_rows($result)==0)
{
$qry = "INSERT INTO system.tbl_app(app) VALUES('international');";
if(!$db->db_query($qry))
echo '<strong>App: '.$db->db_last_error().'</strong><br>';
else
echo '<br>Neue App international in system.tbl_app hinzugefügt';
}
}
// Add DMS category "international_nachweis"
if ($result = @$db->db_query("SELECT 1 FROM campus.tbl_dms_kategorie WHERE kategorie_kurzbz = 'international_nachweis';"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO campus.tbl_dms_kategorie (
kategorie_kurzbz,
bezeichnung,
beschreibung,
parent_kategorie_kurzbz,
oe_kurzbz,
berechtigung_kurzbz
) VALUES(
'international_nachweis',
'International Nachweis',
'Nachweis der Internationalisierungsmaßnahmen',
'fas',
'etw',
NULL
);";
if (!$db->db_query($qry))
echo '<strong>campus.tbl_dms_kategorie '.$db->db_last_error().'</strong><br>';
else
echo ' campus.tbl_dms_kategorie: Added category "international_nachweis"!<br>';
}
}
// Add table issue_status
if(!$result = @$db->db_query("SELECT 1 FROM system.tbl_issue_status LIMIT 1;"))
{
@@ -6455,6 +6495,20 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants
}
}
// Insert document type Grant Agreement
if($result = @$db->db_query("SELECT 1 FROM public.tbl_dokument WHERE dokument_kurzbz = 'GrantAgr';"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO public.tbl_dokument(dokument_kurzbz, bezeichnung, bezeichnung_mehrsprachig) VALUES('GrantAgr', 'Grant Agreement', '{\"Grant Agreement\",\"Grant Agreement\"}');";
if(!$db->db_query($qry))
echo '<strong>public.tbl_dokument '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_dokument: Added value \'GrantAgr\'<br>';
}
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
+659 -9
View File
@@ -10557,13 +10557,13 @@ Any unusual occurrences
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'eines Zeugnisses (vgl. § 4 Abs. 5 Satzung „Studienrechtliche Bestimmungen / Prüfungsordnung)',
'text' => 'eines Zeugnisses (vgl. § 4 Abs. 8 Satzung „Studienrechtliche Bestimmungen / Prüfungsordnung)',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'a certificate (see § 4 para. 5, Statute on Studies Act Provisions / Examination Regulations of the UASTW)',
'text' => 'a certificate (see § 4 para. 8, Statute on Studies Act Provisions / Examination Regulations of the UASTW)',
'description' => '',
'insertvon' => 'system'
)
@@ -10577,13 +10577,13 @@ Any unusual occurrences
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'eines Hochschulzeugnisses (vgl. § 4 Abs. 5 Satzung „Studienrechtliche Bestimmungen / Prüfungsordnung)',
'text' => 'eines Hochschulzeugnisses (vgl. § 4 Abs. 8 Satzung „Studienrechtliche Bestimmungen / Prüfungsordnung)',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'a university certificate (see § 4 para. 5, Statute on Studies Act Provisions / Examination Regulations of the UASTW)',
'text' => 'a university certificate (see § 4 para. 8, Statute on Studies Act Provisions / Examination Regulations of the UASTW)',
'description' => '',
'insertvon' => 'system'
)
@@ -10597,13 +10597,13 @@ Any unusual occurrences
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'der nachgewiesenen beruflichen Praxis ((vgl. § 4 Abs. 6 Satzung „Studienrechtliche Bestimmungen / Prüfungsordnung)',
'text' => 'der nachgewiesenen beruflichen Praxis (vgl. § 4 Abs. 9 Satzung „Studienrechtliche Bestimmungen / Prüfungsordnung)',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'professional practice (see § 4 para. 6, Statute on Studies Act Provisions / Examination Regulations of the UASTW)',
'text' => 'professional practice (see § 4 para. 9, Statute on Studies Act Provisions / Examination Regulations of the UASTW)',
'description' => '',
'insertvon' => 'system'
)
@@ -15176,13 +15176,13 @@ array(
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Im Rahmen des <b>KVP</b> <i>(Kontinuierlicher Verbesserungsprozess)</i> können Sie hier wichtige Fehler und/oder Verbesserungen einmelden. Diese können sich auf technische, inhaltliche, medien-didaktische oder test- und prüfungsrelevante Aspekte beziehen. Eine mögliche Umsetzung Ihrer Einmeldungen für das folgende Studienjahr wird im KVP geprüft und priorisiert, und ggf. im Anschluss vom Teamlead im Quellkurs entsprechend eingearbeitet.",
'text' => "Im Rahmen der Weiterentwicklung von Lehrveranstaltungen können Sie hier wichtige Ideen für die Weiterentwicklung und/oder Verbesserungen einmelden. Diese können sich auf technische, inhaltliche, medien-didaktische oder test- und prüfungsrelevante Aspekte beziehen. Eine mögliche Umsetzung Ihrer Einmeldungen für das folgende Studienjahr wird im Weiteren Ablauf geprüft und priorisiert, und ggf. im Anschluss vom Teamlead im Quellkurs entsprechend eingearbeitet.",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Im Rahmen des <b>KVP</b> <i>(Kontinuierlicher Verbesserungsprozess)</i> können Sie hier wichtige Fehler und/oder Verbesserungen einmelden. Diese können sich auf technische, inhaltliche, medien-didaktische oder test- und prüfungsrelevante Aspekte beziehen. Eine mögliche Umsetzung Ihrer Einmeldungen für das folgende Studienjahr wird im KVP geprüft und priorisiert, und ggf. im Anschluss vom Teamlead im Quellkurs entsprechend eingearbeitet.",
'text' => "Im Rahmen der Weiterentwicklung von Lehrveranstaltungen können Sie hier wichtige Ideen für die Weiterentwicklung und/oder Verbesserungen einmelden. Diese können sich auf technische, inhaltliche, medien-didaktische oder test- und prüfungsrelevante Aspekte beziehen. Eine mögliche Umsetzung Ihrer Einmeldungen für das folgende Studienjahr wird im Weiteren Ablauf geprüft und priorisiert, und ggf. im Anschluss vom Teamlead im Quellkurs entsprechend eingearbeitet.",
'description' => '',
'insertvon' => 'system'
)
@@ -16107,7 +16107,657 @@ array(
'insertvon' => 'system'
)
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'studiensemesterGeplant',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Studiensemester geplant',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Semester planned',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'bestaetigungHochladen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Bestätigung hochladen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Upload confirmation',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'massnahmeLoeschen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Maßnahme löschen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Delete measure',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'massnahmen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Maßnahmen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Measures',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'internationalskills',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'International skills',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'International skills',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'massnahmen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Internationalisierungsmaßnahmen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Internationalization measures',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'internationalbeschreibung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Ab dem Studienjahr 2022/23 ist der Erwerb von internationalen und interkulturellen Kompetenzen Teil des Curriculums. <br />
Auf der Grundlage der vorliegenden Maßnahmen absolvieren Sie im Laufe ihres Studiums Internationalisierungsaktivitäten, die mit unterschiedlichen ECTS-Punkten hinterlegt sind. <br />
In Summe müssen 5 ECTS erworben werden, die im 6. Semester wirksam werden. <br/>
Das Modul „International skills“ wird mit der Beurteilung „Mit Erfolg teilgenommen“ abgeschlossen. <br />
Bitte wählen Sie die für Sie in Frage kommenden Maßnahmen aus und planen Sie das entsprechende Semester. <br />
Sobald die 5 ECTS erreicht wurden, überprüft der Studiengang die von Ihnen hochgeladenen Dokumente.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Starting with the study year 2022/23, the acquisition of international and intercultural competencies is part of the curriculum.<br />
On the basis of the measures at-hand, you will complete internationalization activities during the course of your studies, which are assigned different ECTS credits.<br />
In total, 5 ECTS must be acquired, which become effective in the 6th semester.<br />
The module “International skills” is completed with the assessment "Successfully participated". <br />
Please select the measures that apply to you and schedule the appropriate semester. <br />
Once the 5 ECTS have been achieved, the degree program will review the documents you have uploaded.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'nurBachelor',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Nur für Bachelorstudiengänge.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Only for bachelor programmes.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'bezeichnung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Bezeichnung Deutsch',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'title german',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'bezeichnungeng',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Bezeichnung Englisch',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'title english',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'beschreibung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Beschreibung Deutsch',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'description german',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'beschreibungeng',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Beschreibung Englisch',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'description english',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'massnahmeBearbeiten',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Massnahme bearbeiten',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Edit measure',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'massnahmeLoeschenConfirm',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Wollen Sie die ausgewählte Maßnahme wirklich löschen?',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Do you really want to delete the measure?',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'fileLoeschenConfirm',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Wollen Sie die ausgewählte Bestätigung wirklich löschen?',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Do you really want to delete the confirmation?',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'planAblehnen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Wollen Sie die ausgewählte Maßnahme wirklich löschen?',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Do you really want to delete the measure?',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'entbestaetigenConfirm',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Wollen Sie die Bestätigung wirklich widerrufen?',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Do you really want to cancel the confirmation?',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'entakzeptierenConfirm',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Wollen Sie die Planbestätigung wirklich widerrufen?',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Do you really want to cancel the plan confirmation?',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'allegeplanten',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Alle geplanten',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'All planned',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'alleMassnahmenJetzt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Alle Maßnahmen anzeigen die im jetzigen Studiensemester geplant sind',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Show all measures that are planned for the current study semester',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'alleStudierendeJetzt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Alle Studierende anzeigen aus dem jetzigen Studiensemester',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Show all students from the current study semester',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'lastSemester',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Alle Studierende anzeigen aus dem letzten Semester',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Show all students from the last semester"',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'meinMassnahmeplan',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Mein Maßnahmenplan',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'My action plan',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'ectsBestaetigt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'ECTS bestätigt',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'ECTS confirmed',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'ectsMassnahme',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'ECTS - Maßnahme',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'ECTS - Measures',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'geplanteMassnahmen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Maßnahmen - geplant',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Measures - planned',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'akzpetierteMassnahmen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Plan - akzeptiert',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Plan - accepted',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'durchgefuehrteMassnahmen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Maßnahmen - durchgeführt',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Measures - performed',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'bestaetigteMassnahmen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'ECTS - bestätigt',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'ECTS - confirmed',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'abgelehnteMassnahmen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Plan - abgelehnt',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Plan - declined',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'planAkzeptieren',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Plan akzeptieren',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Accept plan',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'bestaetigungAkzeptieren',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Bestätigung akzeptieren',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Accept confirmation',
'description' => '',
'insertvon' => 'system'
)
)
),
);