mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
Merge branch 'master' into Sonstiges-Sprint-176/Anrechnungen_Bugfixes
This commit is contained in:
@@ -129,6 +129,7 @@ class Statusgrund extends Auth_Controller
|
||||
$aktiv = $this->input->post("aktiv") != null && $this->input->post("aktiv") == "on" ? true : false;
|
||||
$bezeichnung_mehrsprachig = $this->input->post("bezeichnung_mehrsprachig");
|
||||
$beschreibung = $this->input->post("beschreibung");
|
||||
$statusgrund_kurzbz = $this->input->post("statusgrund_kurzbz");
|
||||
|
||||
for ($i = 0; $i < count($bezeichnung_mehrsprachig); $i++)
|
||||
{
|
||||
@@ -177,7 +178,8 @@ class Statusgrund extends Auth_Controller
|
||||
$data = array(
|
||||
"aktiv" => $aktiv,
|
||||
"bezeichnung_mehrsprachig" => $bezeichnung_mehrsprachig,
|
||||
"beschreibung" => $beschreibung
|
||||
"beschreibung" => $beschreibung,
|
||||
"statusgrund_kurzbz" => $statusgrund_kurzbz
|
||||
);
|
||||
|
||||
$statusgrund = $this->StatusgrundModel->update($statusgrund_id, $data);
|
||||
@@ -196,6 +198,7 @@ class Statusgrund extends Auth_Controller
|
||||
$bezeichnung_mehrsprachig = $this->input->post("bezeichnung_mehrsprachig");
|
||||
$beschreibung = $this->input->post("beschreibung");
|
||||
$status_kurzbz = $this->input->post("status_kurzbz");
|
||||
$statusgrund_kurzbz = $this->input->post("statusgrund_kurzbz");
|
||||
|
||||
for ($i = 0; $i < count($bezeichnung_mehrsprachig); $i++)
|
||||
{
|
||||
@@ -245,7 +248,8 @@ class Statusgrund extends Auth_Controller
|
||||
"status_kurzbz" => $status_kurzbz,
|
||||
"aktiv" => $aktiv,
|
||||
"bezeichnung_mehrsprachig" => $bezeichnung_mehrsprachig,
|
||||
"beschreibung" => $beschreibung
|
||||
"beschreibung" => $beschreibung,
|
||||
"statusgrund_kurzbz" => $statusgrund_kurzbz
|
||||
);
|
||||
|
||||
$statusgrund = $this->StatusgrundModel->insert($data);
|
||||
|
||||
@@ -16,7 +16,7 @@ if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
class AnrechnungJob extends JOB_Controller
|
||||
{
|
||||
const APPROVE_ANRECHNUNG_URI = '/lehre/anrechnung/ApproveAnrechnungUebersicht';
|
||||
|
||||
|
||||
const ANRECHNUNGSTATUS_APPROVED = 'approved';
|
||||
const ANRECHNUNGSTATUS_REJECTED = 'rejected';
|
||||
const ANRECHNUNG_NOTIZTITEL_NOTIZ_BY_STGL = 'AnrechnungNotizSTGL';
|
||||
@@ -30,7 +30,7 @@ class AnrechnungJob extends JOB_Controller
|
||||
$this->load->model('education/Zeugnisnote_model', 'ZeugnisnoteModel');
|
||||
$this->load->model('education/Anrechnung_model', 'AnrechnungModel');
|
||||
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
|
||||
|
||||
|
||||
$this->load->helper('url');
|
||||
$this->load->helper('hlp_sancho_helper');
|
||||
}
|
||||
@@ -94,7 +94,7 @@ class AnrechnungJob extends JOB_Controller
|
||||
}
|
||||
$this->logInfo('End Anrechnung Grades Job', array('Number of Grades added'=>$cnt));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Deletes Zeugnisnoten 'angerechnet', when Anrechnung is rejected afterwards.
|
||||
* E.g., when STGL first accepts, then withdraws and finally rejects the approvement.
|
||||
@@ -102,7 +102,7 @@ class AnrechnungJob extends JOB_Controller
|
||||
public function deleteAnrechnungGrades()
|
||||
{
|
||||
$this->logInfo('Start AnrechnungJob to delete Grades');
|
||||
|
||||
|
||||
// Get all Zeungisnoten,
|
||||
// WHERE note is angerechnet
|
||||
// AND Anrechnung was rejected AFTER the Zeugnisnote was created
|
||||
@@ -127,15 +127,15 @@ class AnrechnungJob extends JOB_Controller
|
||||
AND status.status_kurzbz = '. $this->db->escape(self::ANRECHNUNGSTATUS_REJECTED). '
|
||||
ORDER BY status.anrechnung_id, status.insertamum DESC
|
||||
';
|
||||
|
||||
|
||||
$db = new DB_Model();
|
||||
$result = $db->execReadOnlyQuery($qry);
|
||||
$cnt = 0;
|
||||
|
||||
|
||||
if (hasData($result))
|
||||
{
|
||||
$this->load->model('education/Zeugnisnote_model', 'ZeugnisnoteModel');
|
||||
|
||||
|
||||
foreach (getData($result) as $row)
|
||||
{
|
||||
// Delete Zeugnisnote
|
||||
@@ -144,20 +144,20 @@ class AnrechnungJob extends JOB_Controller
|
||||
'student_uid' => $row->student_uid,
|
||||
'studiensemester_kurzbz' => $row->studiensemester_kurzbz
|
||||
));
|
||||
|
||||
|
||||
// Count up
|
||||
$cnt++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$this->logInfo('End AnrechnungJob to delete Grades', array('Number of Grades deleted: ' => $cnt));
|
||||
}
|
||||
|
||||
|
||||
// Send Sancho mail to STGL with yesterdays new Anrechnungen
|
||||
public function sendMailToSTGL()
|
||||
{
|
||||
$this->logInfo('Start AnrechnungJob to send emails to STGL about yesterdays new Anrechnungen.');
|
||||
|
||||
|
||||
// Get all yesterdays Anrechnungen, that did not process further than first status
|
||||
// (If Anrechnung is new, but STGL already started the process yesterday,
|
||||
// he does not need to be informed about this new Anrechnung anymore)
|
||||
@@ -167,38 +167,38 @@ class AnrechnungJob extends JOB_Controller
|
||||
$this->AnrechnungModel->addJoin('public.tbl_benutzer benutzer', 'ON (benutzer.uid = student.student_uid)');
|
||||
$this->AnrechnungModel->addJoin('public.tbl_person person', 'person_id');
|
||||
$this->AnrechnungModel->addOrder('lv.studiengang_kz, lv.bezeichnung');
|
||||
|
||||
|
||||
$result = $this->AnrechnungModel->loadWhere(
|
||||
'(lehre.tbl_anrechnung.insertamum)::date = (NOW() - INTERVAL \'24 HOURS\')::DATE
|
||||
AND 1 = (SELECT COUNT(*) FROM lehre.tbl_anrechnung_anrechnungstatus status WHERE status.anrechnung_id = tbl_anrechnung.anrechnung_id)'
|
||||
);
|
||||
|
||||
|
||||
// Exit if there are no Anrechnungen
|
||||
if (!$anrechnungen = getData($result)) {
|
||||
$this->logInfo('ABORTED: Sending emails to STGL about yesterdays new Anrechnungen aborted - No new Anrechnungen found.');
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
$unique_studiengang_kz_arr = array_unique(array_column($anrechnungen, 'studiengang_kz'));
|
||||
|
||||
|
||||
foreach ($unique_studiengang_kz_arr as $studiengang_kz)
|
||||
{
|
||||
// Get STG bezeichnung
|
||||
$this->StudiengangModel->addSelect('UPPER( typ || kurzbz ) AS "stg_bezeichnung"');
|
||||
$studiengang_bezeichnung = $this->StudiengangModel->load($studiengang_kz)->retval[0]->stg_bezeichnung;
|
||||
|
||||
|
||||
// Get STGL mail address
|
||||
list ($to, $vorname) = self::_getSTGLMailAddress($studiengang_kz);
|
||||
|
||||
|
||||
// Get HTML table with new Anrechnungen of that STG plus amount of them
|
||||
list ($anrechnungen_amount, $anrechnungen_table) = self::_getSTGLMailDataTable($studiengang_kz, $anrechnungen);
|
||||
|
||||
|
||||
// Link to Antrag genehmigen dashboard
|
||||
$url =
|
||||
CIS_ROOT. 'cis/index.php?menu='.
|
||||
CIS_ROOT. 'cis/menu.php?content_id=&content='.
|
||||
CIS_ROOT. index_page(). self::APPROVE_ANRECHNUNG_URI;
|
||||
|
||||
|
||||
// Prepare mail content
|
||||
$body_fields = array(
|
||||
'vorname' => $vorname,
|
||||
@@ -207,7 +207,7 @@ class AnrechnungJob extends JOB_Controller
|
||||
'datentabelle' => $anrechnungen_table,
|
||||
'link' => anchor($url, 'Anrechnungsanträge Übersicht')
|
||||
);
|
||||
|
||||
|
||||
// Send mail
|
||||
sendSanchoMail(
|
||||
'AnrechnungAntragStellen',
|
||||
@@ -216,17 +216,17 @@ class AnrechnungJob extends JOB_Controller
|
||||
'Anerkennung nachgewiesener Kenntnisse: Neuer Antrag wurde gestellt'
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
$this->logInfo('SUCCEDED: Sending emails to STGL about yesterdays new Anrechnungen succeded.');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Send Sancho mail to students, whose Anrechnungen were approved 24 hours ago.
|
||||
*/
|
||||
public function sendMailApproved(){
|
||||
|
||||
|
||||
$this->logInfo('Start AnrechnungJob to send emails to students, whose Anrechnungen were approved.');
|
||||
|
||||
|
||||
// Get all yesterdays approvements
|
||||
$this->AnrechnungModel->addSelect('student.student_uid, vorname, nachname, geschlecht, lv.bezeichnung');
|
||||
$this->AnrechnungModel->addJoin('lehre.tbl_anrechnung_anrechnungstatus status', 'anrechnung_id');
|
||||
@@ -234,35 +234,35 @@ class AnrechnungJob extends JOB_Controller
|
||||
$this->AnrechnungModel->addJoin('public.tbl_student student', 'prestudent_id');
|
||||
$this->AnrechnungModel->addJoin('public.tbl_benutzer benutzer', 'ON (benutzer.uid = student.student_uid)');
|
||||
$this->AnrechnungModel->addJoin('public.tbl_person person', 'person_id');
|
||||
|
||||
|
||||
$result = $this->AnrechnungModel->loadWhere(
|
||||
'(status.insertamum)::date = (NOW() - INTERVAL \'24 HOURS\')::DATE AND
|
||||
status.status_kurzbz = '. $this->db->escape(self::ANRECHNUNGSTATUS_APPROVED)
|
||||
);
|
||||
|
||||
|
||||
// Exit if there are no approved Anrechnungen
|
||||
if (!hasData($result))
|
||||
{
|
||||
$this->logInfo('ABORTED sending emails to students, whose Anrechnungen were approved. No new approvements found.');
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
// Loop through students
|
||||
foreach ($result->retval as $student)
|
||||
{
|
||||
$to = $student->student_uid. '@'. DOMAIN;
|
||||
|
||||
|
||||
$anrede = $student->geschlecht == 'w' ? 'Sehr geehrte Frau ' : 'Sehr geehrter Herr ';
|
||||
|
||||
|
||||
$text = 'Ihrem Antrag auf Anerkennung nachgewiesener Kenntnisse der Lehrveranstaltung "'.
|
||||
$student->bezeichnung. '" wurde stattgegeben.';
|
||||
|
||||
|
||||
// Prepare mail content
|
||||
$body_fields = array(
|
||||
'anrede_name' => $anrede. $student->vorname. ' '. $student->nachname,
|
||||
'text' => $text
|
||||
);
|
||||
|
||||
|
||||
// Send mail
|
||||
sendSanchoMail(
|
||||
'AnrechnungGenehmigen',
|
||||
@@ -272,33 +272,35 @@ class AnrechnungJob extends JOB_Controller
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Send Sancho mail to students, whose Anrechnungen were rejected 24 hours ago.
|
||||
*/
|
||||
public function sendMailRejected(){
|
||||
|
||||
|
||||
$this->logInfo('Start AnrechnungJob to send emails to students, whose Anrechnungen were rejected.');
|
||||
|
||||
// Get all yesterdays rejections
|
||||
$this->AnrechnungModel->addSelect('student.student_uid, vorname, nachname, geschlecht, lv.bezeichnung, notiz.text');
|
||||
$this->AnrechnungModel->addJoin('lehre.tbl_anrechnung_anrechnungstatus status', 'anrechnung_id');
|
||||
$this->AnrechnungModel->addJoin('lehre.tbl_lehrveranstaltung lv', 'lehrveranstaltung_id');
|
||||
$this->AnrechnungModel->addJoin('public.tbl_student student', 'prestudent_id');
|
||||
$this->AnrechnungModel->addJoin('public.tbl_benutzer benutzer', 'ON (benutzer.uid = student.student_uid)');
|
||||
$this->AnrechnungModel->addJoin('public.tbl_person person', 'person_id');
|
||||
$this->AnrechnungModel->addJoin('public.tbl_notizzuordnung', 'anrechnung_id');
|
||||
$this->AnrechnungModel->addJoin('public.tbl_notiz notiz', 'notiz_id');
|
||||
|
||||
$this->AnrechnungModel->addOrder('notiz.insertamum', 'DESC');
|
||||
$this->AnrechnungModel->addLimit(1);
|
||||
|
||||
|
||||
$result = $this->AnrechnungModel->loadWhere(
|
||||
'(status.insertamum)::date = (NOW() - INTERVAL \'24 HOURS\')::DATE AND
|
||||
status.status_kurzbz = '. $this->db->escape(self::ANRECHNUNGSTATUS_REJECTED). ' AND
|
||||
notiz.titel = '. $this->db->escape(self::ANRECHNUNG_NOTIZTITEL_NOTIZ_BY_STGL)
|
||||
);
|
||||
|
||||
$qry = '
|
||||
SELECT
|
||||
student.student_uid, vorname, nachname, geschlecht, lv.bezeichnung,
|
||||
(SELECT text FROM public.tbl_notizzuordnung JOIN public.tbl_notiz USING(notiz_id)
|
||||
WHERE tbl_notizzuordnung.anrechnung_id=tbl_anrechnung.anrechnung_id
|
||||
AND tbl_notiz.titel='. $this->db->escape(self::ANRECHNUNG_NOTIZTITEL_NOTIZ_BY_STGL).'
|
||||
ORDER BY tbl_notiz.insertamum DESC LIMIT 1) as text
|
||||
FROM lehre.tbl_anrechnung
|
||||
JOIN lehre.tbl_lehrveranstaltung lv USING(lehrveranstaltung_id)
|
||||
JOIN public.tbl_student student USING(prestudent_id)
|
||||
JOIN public.tbl_benutzer benutzer ON (benutzer.uid = student.student_uid)
|
||||
JOIN public.tbl_person person USING(person_id)
|
||||
|
||||
WHERE EXISTS(SELECT 1 FROM lehre.tbl_anrechnung_anrechnungstatus status WHERE
|
||||
anrechnung_id=tbl_anrechnung.anrechnung_id AND
|
||||
(status.insertamum)::date = (NOW() - INTERVAL \'24 HOURS\')::DATE AND
|
||||
status_kurzbz = '. $this->db->escape(self::ANRECHNUNGSTATUS_REJECTED). ')
|
||||
';
|
||||
|
||||
$db = new DB_Model();
|
||||
$result = $db->execReadOnlyQuery($qry);
|
||||
|
||||
// Exit if there are no rejected Anrechnungen
|
||||
if (!hasData($result))
|
||||
@@ -306,26 +308,26 @@ class AnrechnungJob extends JOB_Controller
|
||||
$this->logInfo('ABORTED sending emails to students, whose Anrechnungen were rejected. No new rejectments found.');
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
// Loop through students
|
||||
foreach ($result->retval as $student)
|
||||
{
|
||||
$to = $student->student_uid. '@'. DOMAIN;
|
||||
|
||||
|
||||
$anrede = $student->geschlecht == 'w' ? 'Sehr geehrte Frau ' : 'Sehr geehrter Herr ';
|
||||
|
||||
|
||||
$text = <<<html
|
||||
wir haben Ihren Antrag auf Anerkennung nachgewiesener Kenntnisse geprüft und können die Lehrveranstaltung
|
||||
"$student->bezeichnung" leider nicht anrechnen, weil die Gleichwertigkeit nicht festgestellt werden konnte.<br><br>
|
||||
Begründung: $student->text
|
||||
html;
|
||||
|
||||
|
||||
// Prepare mail content
|
||||
$body_fields = array(
|
||||
'anrede_name' => $anrede. $student->vorname. ' '. $student->nachname,
|
||||
'text' => $text
|
||||
);
|
||||
|
||||
|
||||
// Send mail
|
||||
sendSanchoMail(
|
||||
'AnrechnungGenehmigen',
|
||||
@@ -334,14 +336,14 @@ html;
|
||||
'Anerkennung nachgewiesener Kenntnisse: Ihr Antrag ist abgeschlossen'
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Get STGL mail address
|
||||
private function _getSTGLMailAddress($studiengang_kz)
|
||||
{
|
||||
$result = $this->StudiengangModel->getLeitung($studiengang_kz);
|
||||
|
||||
|
||||
// Get STGL mail address
|
||||
if (hasData($result))
|
||||
{
|
||||
@@ -354,7 +356,7 @@ html;
|
||||
else
|
||||
{
|
||||
$result = $this->StudiengangModel->load($studiengang_kz);
|
||||
|
||||
|
||||
if (hasData($result))
|
||||
{
|
||||
return array(
|
||||
@@ -364,7 +366,7 @@ html;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Build HTML table with yesterdays new Anrechnungen of the given STG
|
||||
private function _getSTGLMailDataTable($studiengang_kz, $anrechnungen)
|
||||
{
|
||||
@@ -377,7 +379,7 @@ html;
|
||||
function ($anrechnung) use (&$studiengang_kz) {
|
||||
return $anrechnung->studiengang_kz == $studiengang_kz;
|
||||
});
|
||||
|
||||
|
||||
// Amount of Anrechnungen
|
||||
$amount = count($anrechnungen);
|
||||
|
||||
@@ -386,7 +388,7 @@ html;
|
||||
<table style="width: 60%; border-collapse: collapse;" border="1" cellpadding="5">
|
||||
<tbody>
|
||||
';
|
||||
|
||||
|
||||
foreach ($anrechnungen as $anrechnung)
|
||||
{
|
||||
// Head line for each LV bezeichnung
|
||||
@@ -394,18 +396,18 @@ html;
|
||||
{
|
||||
$html .= '<tr><td><span><strong>' . $anrechnung->bezeichnung . '</strong></span></td></tr>';
|
||||
}
|
||||
|
||||
|
||||
$lv_bezeichnung = $anrechnung->bezeichnung;
|
||||
|
||||
|
||||
// Row for each Anrechnung / student
|
||||
$html .= '<tr><td><span>'. $anrechnung->vorname. ' '. $anrechnung->nachname. '</span></td></tr>';
|
||||
}
|
||||
|
||||
|
||||
$html .= '
|
||||
</tbody>
|
||||
</table>
|
||||
';
|
||||
|
||||
|
||||
return array($amount, $html);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,20 +124,20 @@ class InfoCenter extends Auth_Controller
|
||||
'saveAbsage' => 'infocenter:rw',
|
||||
'saveFreigabe' => 'infocenter:rw',
|
||||
'getNotiz' => 'infocenter:r',
|
||||
'saveNotiz' => 'infocenter:rw',
|
||||
'saveNotiz' => array('infocenter:rw', 'lehre/zgvpruefung:rw'),
|
||||
'updateNotiz' => 'infocenter:rw',
|
||||
'reloadZgvPruefungen' => 'infocenter:r',
|
||||
'reloadMessages' => 'infocenter:r',
|
||||
'reloadDoks' => 'infocenter:r',
|
||||
'reloadNotizen' => 'infocenter:r',
|
||||
'reloadNotizen' => array('infocenter:r', 'lehre/zgvpruefung:r'),
|
||||
'reloadLogs' => 'infocenter:r',
|
||||
'outputAkteContent' => 'infocenter:r',
|
||||
'getPostponeDate' => 'infocenter:r',
|
||||
'outputAkteContent' => array('infocenter:r', 'lehre/zgvpruefung:r'),
|
||||
'getPostponeDate' => array('infocenter:r', 'lehre/zgvpruefung:r'),
|
||||
'park' => 'infocenter:rw',
|
||||
'unpark' => 'infocenter:rw',
|
||||
'setOnHold' => 'infocenter:rw',
|
||||
'removeOnHold' => 'infocenter:rw',
|
||||
'getStudienjahrEnd' => 'infocenter:r',
|
||||
'removeOnHold' => array('infocenter:rw', 'lehre/zgvpruefung:rw'),
|
||||
'getStudienjahrEnd' => array('infocenter:r', 'lehre/zgvpruefung:r'),
|
||||
'setNavigationMenuArrayJson' => 'infocenter:r',
|
||||
'getAbsageData' => 'infocenter:r',
|
||||
'saveAbsageForAll' => 'infocenter:rw'
|
||||
|
||||
@@ -211,7 +211,7 @@ class Filters extends FHC_Controller
|
||||
public function setNavigationMenu()
|
||||
{
|
||||
// Generates the filters structure array
|
||||
$filterMenu = $this->filterwidgetlib->generateFilterMenu($this->input->get(FilterWidgetLib::NAVIGATION_PAGE));
|
||||
$this->filterwidgetlib->generateFilterMenu($this->input->get(FilterWidgetLib::NAVIGATION_PAGE));
|
||||
|
||||
$this->outputJsonSuccess('Success');
|
||||
}
|
||||
@@ -271,3 +271,4 @@ class Filters extends FHC_Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -266,6 +266,7 @@ class FilterWidgetLib
|
||||
$whereParameters = array(
|
||||
'app' => $app,
|
||||
'dataset_name' => $datasetName,
|
||||
'person_id' => null,
|
||||
'default_filter' => true
|
||||
);
|
||||
|
||||
@@ -738,8 +739,10 @@ class FilterWidgetLib
|
||||
$this->_ci->load->model('system/Filters_model', 'FiltersModel');
|
||||
|
||||
// Loads all the filters related to this page (same dataset_name and same app name)
|
||||
$filters = $this->_ci->FiltersModel->getFiltersByAppDatasetName(
|
||||
$session[self::APP], $session[self::DATASET_NAME]
|
||||
$filters = $this->_ci->FiltersModel->getFiltersByAppDatasetNamePersonId(
|
||||
$session[self::APP],
|
||||
$session[self::DATASET_NAME],
|
||||
getAuthPersonId()
|
||||
);
|
||||
|
||||
// If filters were loaded
|
||||
@@ -813,9 +816,6 @@ class FilterWidgetLib
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------------
|
||||
// Private methods
|
||||
|
||||
/**
|
||||
* Return an unique string that identify this filter widget
|
||||
* NOTE: The default value is the URI where the FilterWidget is called
|
||||
@@ -857,6 +857,9 @@ class FilterWidgetLib
|
||||
$this->_filterUniqueId = $filterUniqueId;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------------
|
||||
// Private methods
|
||||
|
||||
/**
|
||||
* Generates a condition for a SQL where clause using the given applied filter definition.
|
||||
* By default an empty string is returned.
|
||||
@@ -972,3 +975,4 @@ class FilterWidgetLib
|
||||
return $pos;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ class Statusgrund_model extends DB_Model
|
||||
$this->pk = "statusgrund_id";
|
||||
}
|
||||
|
||||
public function getStatus($status_kurzbz = null, $aktiv = null)
|
||||
public function getStatus($status_kurzbz = null, $aktiv = null, $statusgrund_kurzbz = null)
|
||||
{
|
||||
$this->addOrder('bezeichnung_mehrsprachig');
|
||||
$where = array();
|
||||
@@ -20,6 +20,8 @@ class Statusgrund_model extends DB_Model
|
||||
$where['status_kurzbz'] = $status_kurzbz;
|
||||
if (!is_null($aktiv))
|
||||
$where['aktiv'] = $aktiv;
|
||||
if (!is_null($statusgrund_kurzbz))
|
||||
$where['statusgrund_kurzbz'] = $statusgrund_kurzbz;
|
||||
|
||||
$status = $this->loadWhere($where);
|
||||
|
||||
|
||||
@@ -169,18 +169,34 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
*/
|
||||
public function getLecturersByLv($studiensemester_kurzbz, $lehrveranstaltung_id)
|
||||
{
|
||||
$query = "SELECT * FROM (SELECT distinct on(uid) vorname, nachname, tbl_benutzer.uid as uid,
|
||||
CASE WHEN lehrfunktion_kurzbz='LV-Leitung' THEN true ELSE false END as lvleiter
|
||||
FROM lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_benutzer, public.tbl_person
|
||||
WHERE
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND
|
||||
tbl_person.person_id=tbl_benutzer.person_id AND
|
||||
lehrveranstaltung_id=? AND
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid NOT like '_Dummy%' AND
|
||||
tbl_benutzer.aktiv=true AND tbl_person.aktiv=true AND
|
||||
studiensemester_kurzbz=?) AS a
|
||||
ORDER BY lvleiter DESC, nachname, vorname";
|
||||
$query = "SELECT
|
||||
*
|
||||
FROM
|
||||
(SELECT distinct on(uid) vorname, nachname, tbl_benutzer.uid as uid,
|
||||
CASE WHEN
|
||||
EXISTS(
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter lvllem
|
||||
JOIN lehre.tbl_lehreinheit lvlle USING(lehreinheit_id)
|
||||
WHERE
|
||||
lehrfunktion_kurzbz='LV-Leitung'
|
||||
AND lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id
|
||||
AND studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz
|
||||
AND mitarbeiter_uid=tbl_benutzer.uid
|
||||
) THEN true ELSE false END as lvleiter
|
||||
FROM lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_benutzer, public.tbl_person
|
||||
WHERE
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND
|
||||
tbl_person.person_id=tbl_benutzer.person_id AND
|
||||
lehrveranstaltung_id=? AND
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid NOT like '_Dummy%' AND
|
||||
tbl_benutzer.aktiv=true AND tbl_person.aktiv=true AND
|
||||
studiensemester_kurzbz=?
|
||||
) AS a
|
||||
ORDER BY lvleiter DESC, nachname, vorname";
|
||||
|
||||
return $this->execQuery($query, array($lehrveranstaltung_id, $studiensemester_kurzbz));
|
||||
}
|
||||
@@ -273,7 +289,7 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
|
||||
return $this->execQuery($query, $parametersarray);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets Lehrveranstaltung and its Lehreinheiten (multiple rows possible).
|
||||
* Returns empty array if student has no Lehrveranstaltung.
|
||||
@@ -290,7 +306,7 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
AND studiensemester_kurzbz = ?
|
||||
AND lehrveranstaltung_id = ?;
|
||||
';
|
||||
|
||||
|
||||
return $this->execQuery($query, array($uid, $studiensemester_kurzbz, $lehrveranstaltung_id));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,6 +152,7 @@ class Notiz_model extends DB_Model
|
||||
*/
|
||||
public function getNotizByTitel($person_id, $titel)
|
||||
{
|
||||
$this->addSelect('public.tbl_notiz.insertamum as insertnotiz, *');
|
||||
// Join with the table public.tbl_notizzuordnung using notiz_id
|
||||
$this->addJoin('public.tbl_notizzuordnung', 'notiz_id');
|
||||
$this->addJoin('public.tbl_prestudent', 'prestudent_id', 'LEFT');
|
||||
|
||||
@@ -57,19 +57,34 @@ class Filters_model extends DB_Model
|
||||
/**
|
||||
* Loads all filters by their app and dataset_name
|
||||
*/
|
||||
public function getFiltersByAppDatasetName($app, $dataset_name)
|
||||
public function getFiltersByAppDatasetNamePersonId($app, $dataset_name, $person_id)
|
||||
{
|
||||
$this->resetQuery(); // reset any previous built query
|
||||
$query = '
|
||||
(
|
||||
-- Global filters
|
||||
SELECT gs.filter_id,
|
||||
gs.person_id,
|
||||
gs.description
|
||||
FROM system.tbl_filters gs
|
||||
WHERE gs.app = ?
|
||||
AND gs.dataset_name = ?
|
||||
AND gs.person_id IS NULL
|
||||
ORDER BY gs.person_id DESC, gs.sort ASC
|
||||
)
|
||||
UNION ALL
|
||||
(
|
||||
-- Personal filters
|
||||
SELECT ps.filter_id,
|
||||
ps.person_id,
|
||||
ps.description
|
||||
FROM system.tbl_filters ps
|
||||
WHERE ps.app = ?
|
||||
AND ps.dataset_name = ?
|
||||
AND ps.person_id = ?
|
||||
ORDER BY ps.person_id DESC, ps.sort ASC
|
||||
)';
|
||||
|
||||
$this->addSelect('filter_id, person_id, description');
|
||||
$this->addOrder('person_id', 'DESC'); // sort descending on column person_id
|
||||
$this->addOrder('sort', 'ASC'); // sort on column sort
|
||||
|
||||
$filterParametersArray = array(
|
||||
'app' => $app,
|
||||
'dataset_name' => $dataset_name
|
||||
);
|
||||
|
||||
return $this->loadWhere($filterParametersArray);
|
||||
return $this->execQuery($query, array($app, $dataset_name, $app, $dataset_name, $person_id));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
<th>Aktiv</th>
|
||||
<th>Bezeichnung mehrsprachig</th>
|
||||
<th>Beschreibung</th>
|
||||
<th>Statusgrund</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -25,6 +26,7 @@
|
||||
<td><?php echo json_encode($s->aktiv); ?></td>
|
||||
<td><?php echo json_encode($s->bezeichnung_mehrsprachig); ?></td>
|
||||
<td><?php echo json_encode($s->beschreibung); ?></td>
|
||||
<td><?php echo json_encode($s->statusgrund_kurzbz); ?></td>
|
||||
<td><a href="../editGrund/<?php echo $s->statusgrund_id; ?>" target="StatusgrundBottom">Edit</a></td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
@@ -33,4 +35,4 @@
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -81,6 +81,21 @@
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
StatusGrund:
|
||||
</td>
|
||||
<tr>
|
||||
</tr>
|
||||
<td>
|
||||
<input type="text" name="statusgrund_kurzbz" value="<?php echo $sg->statusgrund_kurzbz; ?>" /><br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="center">
|
||||
<button type="submit">Save</button>
|
||||
|
||||
@@ -51,6 +51,16 @@
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
StatusGrund:
|
||||
</td>
|
||||
<tr>
|
||||
</tr>
|
||||
<td>
|
||||
<input type="text" name="statusgrund_kurzbz" value="" /><br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="center">
|
||||
<button type="submit">Save</button>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<?php foreach ($notizenbewerbung as $notiz): ?>
|
||||
<tr>
|
||||
<td class="text-center">
|
||||
<?php echo date_format(date_create($notiz->insertamum), 'd.m.Y H:i:s') ?>
|
||||
<?php echo date_format(date_create($notiz->insertnotiz), 'd.m.Y H:i:s') ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php (!isset($notiz->kurzbzlang)) ?: print_r('(' . nl2br($notiz->kurzbzlang) . ') - ') ?>
|
||||
|
||||
@@ -184,6 +184,32 @@
|
||||
)
|
||||
LIMIT 1
|
||||
) AS "StgNichtAbgeschickt",
|
||||
(
|
||||
SELECT COUNT(*)
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang sg USING(studiengang_kz)
|
||||
JOIN lehre.tbl_studienplan sp USING(studienplan_id)
|
||||
WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.'
|
||||
AND pss.bewerbung_abgeschicktamum IS NULL
|
||||
AND pss.bestaetigtam IS NULL
|
||||
AND ps.person_id = p.person_id
|
||||
AND (sg.typ IN ('.$STUDIENGANG_TYP.')
|
||||
OR
|
||||
sg.studiengang_kz in('.$ADDITIONAL_STG.')
|
||||
)
|
||||
AND pss.studiensemester_kurzbz = '.$STUDIENSEMESTER.'
|
||||
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM tbl_prestudentstatus spss
|
||||
WHERE spss.prestudent_id = pss.prestudent_id
|
||||
AND spss.status_kurzbz = '.$REJECTED_STATUS.'
|
||||
AND spss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >
|
||||
(SELECT start FROM public.tbl_studiensemester sss WHERE studiensemester_kurzbz = '.$STUDIENSEMESTER.'))
|
||||
)
|
||||
LIMIT 1
|
||||
) AS "AnzahlStgNichtAbgeschickt",
|
||||
(
|
||||
SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT UPPER(sg.typ || sg.kurzbz) || \':\' || sp.orgform_kurzbz), \', \')
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
@@ -322,6 +348,7 @@
|
||||
ucfirst($this->p->t('global', 'abgeschickt')).' ('.$this->p->t('global', 'anzahl').')',
|
||||
ucfirst($this->p->t('lehre', 'studiengang')).' ('.$this->p->t('global', 'gesendet').')',
|
||||
ucfirst($this->p->t('lehre', 'studiengang')).' ('.$this->p->t('global', 'nichtGesendet').')',
|
||||
ucfirst($this->p->t('lehre', 'studiengang')).' ('.$this->p->t('global', 'anzahlNichtGesendet').')',
|
||||
ucfirst($this->p->t('lehre', 'studiengang')).' ('.$this->p->t('global', 'aktiv').')',
|
||||
'ZGV Nation BA',
|
||||
'ZGV Nation MA',
|
||||
|
||||
@@ -414,7 +414,7 @@
|
||||
selected="selected"><?php echo ucfirst($this->p->t('ui', 'freigabeart')) . '...' ?>
|
||||
</option>
|
||||
<?php foreach ($intstatusgruende as $statusgrund): ?>
|
||||
<option value="<?php echo $statusgrund->statusgrund_id ?>"><?php echo $statusgrund->bezeichnung_mehrsprachig[0] ?></option>
|
||||
<option value="<?php echo $statusgrund->statusgrund_id ?>" data-kurzbz="<?php echo $statusgrund->statusgrund_kurzbz ?>"><?php echo $statusgrund->bezeichnung_mehrsprachig[0] ?></option>
|
||||
<?php endforeach ?>
|
||||
</select>
|
||||
<span class="input-group-btn">
|
||||
|
||||
@@ -166,13 +166,14 @@ $qry = 'SELECT
|
||||
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe,
|
||||
(SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status,
|
||||
tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, tbl_student.studiengang_kz AS stg_kz_student,
|
||||
tbl_zeugnisnote.note, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr, tbl_studiengang.kurzbzlang
|
||||
tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr, tbl_studiengang.kurzbzlang
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
|
||||
JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student ON(uid=student_uid)
|
||||
LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid)
|
||||
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
|
||||
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
|
||||
LEFT JOIN lehre.tbl_note USING (note)
|
||||
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
|
||||
LEFT JOIN public.tbl_studiengang ON(tbl_student.studiengang_kz=tbl_studiengang.studiengang_kz)
|
||||
WHERE
|
||||
@@ -213,8 +214,8 @@ if($result = $db->db_query($qry))
|
||||
if($row->bisio_id!='' && $row->status!='Incoming' && ($row->bis > $stsemdatumvon || $row->bis=='') && $row->von < $stsemdatumbis) //Outgoing
|
||||
$zusatz.='(o)(ab '.$datum->formatDatum($row->von,'d.m.Y').')';
|
||||
|
||||
if($row->note==6) //angerechnet
|
||||
$zusatz.='(ar)';
|
||||
if($row->lkt_ueberschreibbar == 'f') // angerechnet / intern angerechnet / nicht zugelassen
|
||||
$zusatz.= '('. $row->anmerkung. ')';
|
||||
|
||||
if($row->mitarbeiter_uid!='') //mitarbeiter
|
||||
$zusatz.='(ma)';
|
||||
|
||||
@@ -907,8 +907,10 @@ function StatistikPrintLVPlanungExcel()
|
||||
col = tree.columns ? tree.columns["stg_kz"] : "stg_kz";
|
||||
var studiengang_kz=tree.view.getCellText(tree.currentIndex,col);
|
||||
col = tree.columns ? tree.columns["sem"] : "sem";
|
||||
var semester=tree.view.getCellText(tree.currentIndex,col);
|
||||
var url = '<?php echo APP_ROOT ?>content/statistik/lvplanung.xls.php?studiengang_kz='+studiengang_kz+'&semester='+semester+'&studiensemester_kurzbz='+studiensemester;
|
||||
var semester = tree.view.getCellText(tree.currentIndex,col);
|
||||
col = tree.columns ? tree.columns["tree-verband-col-orgform"] : "tree-verband-col-orgform";
|
||||
var orgform = tree.view.getCellText(tree.currentIndex,col);
|
||||
var url = '<?php echo APP_ROOT ?>content/statistik/lvplanung.xls.php?studiengang_kz='+studiengang_kz+'&semester='+semester+'&studiensemester_kurzbz='+studiensemester+'&orgform_kurzbz='+orgform;
|
||||
}
|
||||
else if(document.getElementById('menu-content-tabs').selectedItem == document.getElementById('tab-organisationseinheit'))
|
||||
{
|
||||
|
||||
@@ -270,7 +270,7 @@ function FunktionDelete()
|
||||
// ****
|
||||
// * Speichert die Daten
|
||||
// ****
|
||||
function FunktionDetailSpeichern()
|
||||
function FunktionDetailSpeichern(kopie)
|
||||
{
|
||||
var funktion_kurzbz = document.getElementById('funktion-menulist-funktion').value;
|
||||
var oe_kurzbz = document.getElementById('funktion-menulist-oe_kurzbz').value;
|
||||
@@ -283,6 +283,9 @@ function FunktionDetailSpeichern()
|
||||
var bezeichnung = document.getElementById('funktion-textbox-bezeichnung').value;
|
||||
var wochenstunden = document.getElementById('funktion-textbox-wochenstunden').value;
|
||||
|
||||
if(kopie == true)
|
||||
var neu = true;
|
||||
|
||||
//Bei Mitarbeitern wird kein Studiengang mitgeschickt
|
||||
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
|
||||
studiengang_kz_berecht='';
|
||||
@@ -412,6 +415,7 @@ function FunktionDetailDisableFields(val)
|
||||
document.getElementById('funktion-menulist-semester').disabled=val;
|
||||
document.getElementById('funktion-menulist-funktion').disabled=val;
|
||||
document.getElementById('funktion-button-speichern').disabled=val;
|
||||
document.getElementById('funktion-button-kopiespeichern').disabled=val;
|
||||
document.getElementById('funktion-box-datum_von').disabled=val;
|
||||
document.getElementById('funktion-box-datum_bis').disabled=val;
|
||||
document.getElementById('funktion-textbox-bezeichnung').disabled=val;
|
||||
|
||||
@@ -289,7 +289,8 @@ else
|
||||
</grid>
|
||||
<hbox>
|
||||
<spacer flex="1" />
|
||||
<button id="funktion-button-speichern" oncommand="FunktionDetailSpeichern()" label="Speichern" disabled="true"/>
|
||||
<button id="funktion-button-kopiespeichern" oncommand="FunktionDetailSpeichern(true)" label="Als Kopie speichern" disabled="true"/>
|
||||
<button id="funktion-button-speichern" oncommand="FunktionDetailSpeichern(false)" label="Speichern" disabled="true"/>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
<spacer/>
|
||||
|
||||
@@ -402,6 +402,20 @@ if(!$error)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Pruefen, ob Benutzer inaktiv ist. Wenn ja, eine Warnung ausgeben
|
||||
$benutzerAktiv = false;
|
||||
if(!$error)
|
||||
{
|
||||
$benutzer = new benutzer($lem->mitarbeiter_uid);
|
||||
$benutzerAktiv = $benutzer->bnaktiv;
|
||||
if (!$benutzerAktiv)
|
||||
{
|
||||
$return = true;
|
||||
$warnung = true;
|
||||
$errormsg = "Achtung: Der/Die Benutzer*in ist inaktiv!\nBitte informieren Sie die Personalbteilung.\n\nDaten wurden gespeichert.\n\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
|
||||
@@ -61,6 +61,11 @@ if(isset($_GET['uid']))
|
||||
else
|
||||
$uid = '';
|
||||
|
||||
if(isset($_GET['orgform_kurzbz']))
|
||||
$orgform_kurzbz = $_GET['orgform_kurzbz'];
|
||||
else
|
||||
$orgform_kurzbz = '';
|
||||
|
||||
$db = new basis_db();
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
@@ -122,6 +127,7 @@ SELECT tbl_lehrveranstaltung.bezeichnung AS lf_bezeichnung,
|
||||
tbl_lehrveranstaltung.semesterstunden AS sws,
|
||||
tbl_lehrveranstaltung.lehrform_kurzbz,
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id,
|
||||
tbl_lehrveranstaltung.orgform_kurzbz,
|
||||
(
|
||||
SELECT nachname
|
||||
FROM PUBLIC.tbl_person
|
||||
@@ -167,6 +173,9 @@ if($semester!='')
|
||||
if($uid!='')
|
||||
$qry.=" AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid=".$db->db_add_param($uid);
|
||||
|
||||
if($orgform_kurzbz!='')
|
||||
$qry.=" AND tbl_lehrveranstaltung.orgform_kurzbz=".$db->db_add_param($orgform_kurzbz);
|
||||
|
||||
$qry.=" ORDER BY tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.bezeichnung";
|
||||
|
||||
// Creating a workbook
|
||||
@@ -240,6 +249,9 @@ $maxlength[$spalte]=9;
|
||||
$worksheet->write($zeile,++$spalte,"LV-Typ", $format_bold);
|
||||
$maxlength[$spalte]=9;
|
||||
|
||||
$worksheet->write($zeile,++$spalte,"Organisationsform", $format_bold);
|
||||
$maxlength[$spalte]=15;
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
@@ -370,6 +382,10 @@ if($result = $db->db_query($qry))
|
||||
if($maxlength[$spalte]<mb_strlen($row->lv_type))
|
||||
$maxlength[$spalte]=mb_strlen($row->lv_type);
|
||||
|
||||
//Organisationsform
|
||||
$worksheet->write($zeile,++$spalte,$row->orgform_kurzbz);
|
||||
if($maxlength[$spalte]<mb_strlen($row->orgform_kurzbz))
|
||||
$maxlength[$spalte]=mb_strlen($row->orgform_kurzbz);
|
||||
}
|
||||
|
||||
//Betreuungen
|
||||
@@ -382,7 +398,8 @@ if($result = $db->db_query($qry))
|
||||
student_uid,
|
||||
stunden,
|
||||
tbl_projektbetreuer.stundensatz,
|
||||
tbl_projektbetreuer.person_id
|
||||
tbl_projektbetreuer.person_id,
|
||||
tbl_lehrveranstaltung.orgform_kurzbz
|
||||
FROM lehre.tbl_projektarbeit,
|
||||
lehre.tbl_lehreinheit,
|
||||
lehre.tbl_lehrveranstaltung,
|
||||
@@ -409,6 +426,9 @@ if($result = $db->db_query($qry))
|
||||
if($semester!='')
|
||||
$qry.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER);
|
||||
|
||||
if($orgform_kurzbz!='')
|
||||
$qry.=" AND tbl_lehrveranstaltung.orgform_kurzbz=".$db->db_add_param($orgform_kurzbz);
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
$spalte=0;
|
||||
@@ -501,7 +521,10 @@ if($result = $db->db_query($qry))
|
||||
$worksheet->write($zeile,++$spalte,$row->stunden*$row->stundensatz);
|
||||
if($maxlength[$spalte]<mb_strlen($row->stunden*$row->stundensatz))
|
||||
$maxlength[$spalte]=mb_strlen($row->stunden*$row->stundensatz);
|
||||
|
||||
//Organisationsform
|
||||
$worksheet->write($zeile,++$spalte,$row->orgform_kurzbz);
|
||||
if($maxlength[$spalte]<mb_strlen($row->orgform_kurzbz))
|
||||
$maxlength[$spalte]=mb_strlen($row->orgform_kurzbz);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ foreach ($mitarbeiterDAO->result as $key => $foo)
|
||||
array_multisort($nachname, SORT_ASC, $vorname, SORT_ASC, $mitarbeiterDAO->result);
|
||||
|
||||
$spalte = array('anrede','titelpre', 'vorname', 'vornamen', 'nachname', 'titelpost','gebdatum','svnr','ersatzkennzeichen',
|
||||
'aktiv','personalnummer', 'kurzbz','fixangestellt','lektor');
|
||||
'aktiv','personalnummer', 'kurzbz','fixangestellt','lektor','uid');
|
||||
$anzSpalten = count($spalte);
|
||||
|
||||
// Creating a workbook
|
||||
|
||||
@@ -126,6 +126,12 @@ else
|
||||
echo '
|
||||
<menu id="'.$id.'" label="'.$label.'">
|
||||
<menupopup>';
|
||||
|
||||
if ($id == 'student-toolbar-student')
|
||||
echo '<menuitem label="Student" oncommand="StudentUnterbrecherZuStudent()" disabled="false" tooltiptext="Status ändern auf Student"/>';
|
||||
if ($id == 'interessent-toolbar-zustudent')
|
||||
echo '<menuitem label="Student" oncommand="InteressentzuStudent()" disabled="false" tooltiptext="Status ändern auf Student"/>';
|
||||
|
||||
foreach($gruende[$status_kurzbz] as $row)
|
||||
{
|
||||
$commandWithID = str_replace('STATUSGRUNDID',$row['statusgrund_id'],$command);
|
||||
@@ -204,6 +210,21 @@ else
|
||||
<menuitem id="student-toolbar-filter-offenebuchungen" label="offene Buchungen" oncommand="StudentKontoFilterStudenten('konto')" disabled="false" tooltiptext="Liste aller Studenten mit offenen Buchungen"/>
|
||||
<menuitem id="student-toolbar-filter-studiengebuehr" label="nicht gebuchte Studiengebuehr" oncommand="StudentKontoFilterStudenten('studiengebuehr')" disabled="false" tooltiptext="Liste aller Studenten die noch nicht mit Studienbebuehr belastet wurden" />
|
||||
<menuitem id="student-toolbar-filter-zgvohnedatum" label="ZGV eingetragen ohne Datum" oncommand="StudentKontoFilterStudenten('zgvohnedatum')" disabled="false" tooltiptext="Liste aller Studenten die ZGV eingetragen haben bei denen aber kein ZGV Datum gesetzt ist" />
|
||||
<menu label="nach Statusgrund">
|
||||
<menupopup id="student-filter-statusgrund-menu-popup">
|
||||
<?php
|
||||
$statusgrund = new statusgrund();
|
||||
$statusgrund->getAll(true);
|
||||
|
||||
foreach($statusgrund->result as $row)
|
||||
{
|
||||
?>
|
||||
<menuitem id="student-toolbar-filter-statusgrund-<?php echo $row->statusgrund_id;?>" label="<?php echo $row->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE];?>" oncommand="StudentKontoFilterStudenten('stud-statusgrund-<?php echo $row->statusgrund_id; ?>')" disabled="false" tooltiptext="Liste aller Studenten mit Statusgrund <?php echo $row->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE];?>" />
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</menupopup>
|
||||
</menu>
|
||||
</menupopup>
|
||||
</toolbarbutton>
|
||||
<?php
|
||||
|
||||
@@ -1034,7 +1034,11 @@ function StudentAuswahl()
|
||||
StudentGesamtNotenTreeloaded=false;
|
||||
|
||||
stsem = getStudiensemester();
|
||||
var url = '<?php echo APP_ROOT ?>rdf/student.rdf.php?prestudent_id='+prestudent_id+'&studiensemester_kurzbz='+stsem+'&'+gettimestamp();
|
||||
|
||||
var url = buildStudentRDFURI({
|
||||
'prestudent_id': prestudent_id,
|
||||
'studiensemester_kurzbz': stsem
|
||||
});
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
||||
getService(Components.interfaces.nsIRDFService);
|
||||
@@ -2564,11 +2568,48 @@ function StudentKontoFilter()
|
||||
kontotree.builder.addListener(StudentKontoTreeListener);
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Generiert eine student.rdf URI
|
||||
// ****
|
||||
function buildStudentRDFURI(queryparams, tree)
|
||||
{
|
||||
var baseurl = "<?php echo APP_ROOT; ?>rdf/student.rdf.php";
|
||||
if ( typeof tree !== "undefined" )
|
||||
{
|
||||
var col = tree.columns ? tree.columns["tree-verband-col-orgform"] : "tree-verband-col-orgform";
|
||||
queryparams.orgform = tree.view.getCellText(tree.currentIndex,col);
|
||||
}
|
||||
return _buildURI(baseurl, queryparams);
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Generiert aus einer BasisURL und einem Dictionary von Parametern eine URI
|
||||
// ****
|
||||
function _buildURI(baseurl, queryparams)
|
||||
{
|
||||
var str = [];
|
||||
var url = baseurl;
|
||||
for (var p in queryparams)
|
||||
{
|
||||
if ( queryparams.hasOwnProperty(p) && queryparams[p].length > 0 )
|
||||
{
|
||||
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(queryparams[p]));
|
||||
}
|
||||
}
|
||||
var querystring = str.join("&");
|
||||
if ( querystring.length > 0 )
|
||||
{
|
||||
url = url + '?' + querystring + '&' + gettimestamp();
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Setzt im Studententree einen vordefinierten Filter
|
||||
// ****
|
||||
function StudentKontoFilterStudenten(filter)
|
||||
{
|
||||
//alert(filter);
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree=document.getElementById('tree-verband');
|
||||
|
||||
@@ -2591,12 +2632,26 @@ function StudentKontoFilterStudenten(filter)
|
||||
var gruppe = getTreeCellText(tree, 'gruppe', tree.currentIndex);
|
||||
var typ = getTreeCellText(tree, 'typ', tree.currentIndex);
|
||||
var stsem = getTreeCellText(tree, 'stsem', tree.currentIndex);
|
||||
|
||||
|
||||
if(stsem=='')
|
||||
stsem = getStudiensemester();
|
||||
if(typ=='')
|
||||
typ='student';
|
||||
url = "<?php echo APP_ROOT; ?>rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ="+typ+"&filter2="+filter+"&buchungstyp="+buchungstyp+"&"+gettimestamp();
|
||||
|
||||
var url = buildStudentRDFURI({
|
||||
'studiengang_kz': stg_kz,
|
||||
'semester': sem,
|
||||
'verband': ver,
|
||||
'gruppe': grp,
|
||||
'gruppe_kurzbz': gruppe,
|
||||
'studiensemester_kurzbz': stsem,
|
||||
'typ': typ,
|
||||
'filter2': filter,
|
||||
'buchungstyp': buchungstyp
|
||||
}, tree);
|
||||
|
||||
console.log(url);
|
||||
|
||||
var treeStudent=document.getElementById('student-tree');
|
||||
|
||||
try
|
||||
@@ -2614,6 +2669,7 @@ function StudentKontoFilterStudenten(filter)
|
||||
treeStudent.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
|
||||
//alert(url);
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
StudentTreeDatasource = rdfService.GetDataSource(url);
|
||||
StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
@@ -2655,7 +2711,18 @@ function StudentKontoFilterBuchungstyp()
|
||||
stsem = getStudiensemester();
|
||||
if(typ=='')
|
||||
typ='student';
|
||||
url = "<?php echo APP_ROOT; ?>rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ="+typ+"&filter2=buchungstyp;"+filter+"&"+gettimestamp();
|
||||
|
||||
var url = buildStudentRDFURI({
|
||||
'studiengang_kz': stg_kz,
|
||||
'semester': sem,
|
||||
'verband': ver,
|
||||
'gruppe': grp,
|
||||
'gruppe_kurzbz': gruppe,
|
||||
'studiensemester_kurzbz': stsem,
|
||||
'typ': typ,
|
||||
'filter2': 'buchungstyp;' + filter
|
||||
}, tree);
|
||||
|
||||
var treeStudent=document.getElementById('student-tree');
|
||||
|
||||
try
|
||||
@@ -5437,8 +5504,10 @@ function StudentSuche()
|
||||
document.getElementById('tree-verband').view.selection.clearSelection();
|
||||
|
||||
//Datasource setzten und Felder deaktivieren
|
||||
url = "<?php echo APP_ROOT; ?>rdf/student.rdf.php?filter="+encodeURIComponent(filter)+"&"+gettimestamp();
|
||||
|
||||
var url = buildStudentRDFURI({
|
||||
'filter': filter
|
||||
});
|
||||
|
||||
var treeStudent=document.getElementById('student-tree');
|
||||
|
||||
try
|
||||
|
||||
@@ -1,155 +1,159 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
|
||||
?>
|
||||
var StudentRolleStudiensemester_old;
|
||||
var StudentRolleAusbildungssemester_old;
|
||||
var StudentRolleStatusgrundDatasource;
|
||||
|
||||
// ****
|
||||
// * Laedt die Rolle
|
||||
// ****
|
||||
function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
if(status_kurzbz!='')
|
||||
{
|
||||
document.getElementById('student-rolle-grid-row-textbox').hidden=false;
|
||||
document.getElementById('student-rolle-grid-row-menulist').hidden=true;
|
||||
|
||||
StudentRolleStudiensemester_old=studiensemester_kurzbz;
|
||||
StudentRolleAusbildungssemester_old=ausbildungssemester;
|
||||
|
||||
//Daten holen
|
||||
var url = '<?php echo APP_ROOT ?>rdf/prestudentrolle.rdf.php?prestudent_id='+prestudent_id+'&status_kurzbz='+status_kurzbz+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&ausbildungssemester='+ausbildungssemester+'&'+gettimestamp();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
||||
getService(Components.interfaces.nsIRDFService);
|
||||
|
||||
var dsource = rdfService.GetDataSourceBlocking(url);
|
||||
|
||||
var subject = rdfService.GetResource("http://www.technikum-wien.at/prestudentrolle/" + prestudent_id+"/"+status_kurzbz+"/"+studiensemester_kurzbz+"/"+ausbildungssemester);
|
||||
|
||||
var predicateNS = "http://www.technikum-wien.at/prestudentrolle/rdf";
|
||||
|
||||
//RDF parsen
|
||||
var datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" ));
|
||||
var bestaetigt_datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bestaetigt_am" ));
|
||||
var bewerbung_abgeschicktamum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bewerbung_abgeschicktamum" ));
|
||||
var orgform_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#orgform_kurzbz" ));
|
||||
var studienplan_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studienplan_id" ));
|
||||
var anmerkung= getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
|
||||
var statusgrund_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#statusgrund_id" ));
|
||||
var rt_stufe = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#rt_stufe" ));
|
||||
var neu = false;
|
||||
StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
StudentRolleStudiensemester_old='';
|
||||
StudentRolleAusbildungssemester_old='';
|
||||
|
||||
document.getElementById('student-rolle-grid-row-textbox').hidden=true;
|
||||
document.getElementById('student-rolle-grid-row-menulist').hidden=false;
|
||||
|
||||
//Defaultwerte bei Neuem Datensatz
|
||||
var status_kurzbz = 'Interessent';
|
||||
var studiensemester_kurzbz=window.opener.getStudiensemester();
|
||||
var ausbildungssemester='1';
|
||||
var datum = '<?php echo date('d.m.Y') ?>';
|
||||
var bestaetigt_datum = '<?php echo date('d.m.Y') ?>';
|
||||
var bewerbung_abgeschicktamum = '';
|
||||
var orgform_kurzbz = '';
|
||||
var studienplan_id = '';
|
||||
var anmerkung = '';
|
||||
var statusgrund_id = '';
|
||||
var rt_stufe = '';
|
||||
StudentRolleLoadStatusgrund(status_kurzbz);
|
||||
}
|
||||
|
||||
document.getElementById('student-rolle-textbox-prestudent_id').value=prestudent_id;
|
||||
document.getElementById('student-rolle-textbox-status_kurzbz').value=status_kurzbz;
|
||||
document.getElementById('student-rolle-menulist-studiensemester').value=studiensemester_kurzbz;
|
||||
document.getElementById('student-rolle-menulist-ausbildungssemester').value=ausbildungssemester;
|
||||
document.getElementById('student-rolle-datum-datum').value=datum;
|
||||
document.getElementById('student-rolle-datum-bestaetigt_datum').value=bestaetigt_datum;
|
||||
document.getElementById('student-rolle-datum-bewerbung_abgeschicktamum').value=bewerbung_abgeschicktamum;
|
||||
document.getElementById('student-rolle-menulist-orgform_kurzbz').value=orgform_kurzbz;
|
||||
MenulistSelectItemOnValue('student-rolle-menulist-studienplan', studienplan_id);
|
||||
document.getElementById('student-rolle-textbox-anmerkung').value=anmerkung;
|
||||
MenulistSelectItemOnValue('student-rolle-menulist-statusgrund', statusgrund_id);
|
||||
MenulistSelectItemOnValue('student-rolle-menulist-stufe', rt_stufe);
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Speichern der Rolle
|
||||
// * Hierzu wird eine Funktion vom Aufrufenden Fenster gestartet weil
|
||||
// * es dann nicht zu Problemen mit den Zugriffen auf die anderen Fkt
|
||||
// * kommt.
|
||||
// ****
|
||||
function StudentRolleSpeichern()
|
||||
{
|
||||
if(window.opener.StudentRolleSpeichern(document, StudentRolleStudiensemester_old, StudentRolleAusbildungssemester_old))
|
||||
window.close();
|
||||
}
|
||||
|
||||
function StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var menulistgrund = document.getElementById('student-rolle-menulist-statusgrund');
|
||||
url='<?php echo APP_ROOT;?>rdf/statusgrund.rdf.php?status_kurzbz='+status_kurzbz+'&include_id='+statusgrund_id+'&ts'+gettimestamp();
|
||||
|
||||
try
|
||||
{
|
||||
StudentRolleStatusgrundDatasource.removeXMLSinkObserver(StudentDetailRolleTreeSinkObserver);
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = menulistgrund.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
menulistgrund.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
//Refresh damit die entfernten DS auch wirklich entfernt werden
|
||||
menulistgrund.builder.rebuild();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
StudentRolleStatusgrundDatasource = rdfService.GetDataSourceBlocking(url);
|
||||
StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
menulistgrund.database.AddDataSource(StudentRolleStatusgrundDatasource);
|
||||
menulistgrund.builder.rebuild();
|
||||
}
|
||||
|
||||
/**
|
||||
* Wenn das Dropdown fuer den Status geaendert wird, dann
|
||||
* werden die Statusgruende zu diesem Status geladen
|
||||
*/
|
||||
function StudentRolleChangeStatus()
|
||||
{
|
||||
var status = document.getElementById('student-rolle-menulist-status_kurzbz').value;
|
||||
StudentRolleLoadStatusgrund(status);
|
||||
}
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
|
||||
?>
|
||||
var StudentRolleStudiensemester_old;
|
||||
var StudentRolleAusbildungssemester_old;
|
||||
var StudentRolleStatusgrundDatasource;
|
||||
|
||||
// ****
|
||||
// * Laedt die Rolle
|
||||
// ****
|
||||
function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
if(status_kurzbz!='')
|
||||
{
|
||||
document.getElementById('student-rolle-grid-row-textbox').hidden=false;
|
||||
document.getElementById('student-rolle-grid-row-menulist').hidden=true;
|
||||
|
||||
StudentRolleStudiensemester_old=studiensemester_kurzbz;
|
||||
StudentRolleAusbildungssemester_old=ausbildungssemester;
|
||||
|
||||
//Daten holen
|
||||
var url = '<?php echo APP_ROOT ?>rdf/prestudentrolle.rdf.php?prestudent_id='+prestudent_id+'&status_kurzbz='+status_kurzbz+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&ausbildungssemester='+ausbildungssemester+'&'+gettimestamp();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
||||
getService(Components.interfaces.nsIRDFService);
|
||||
|
||||
var dsource = rdfService.GetDataSourceBlocking(url);
|
||||
|
||||
var subject = rdfService.GetResource("http://www.technikum-wien.at/prestudentrolle/" + prestudent_id+"/"+status_kurzbz+"/"+studiensemester_kurzbz+"/"+ausbildungssemester);
|
||||
|
||||
var predicateNS = "http://www.technikum-wien.at/prestudentrolle/rdf";
|
||||
|
||||
//RDF parsen
|
||||
var datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" ));
|
||||
var bestaetigt_datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bestaetigt_am" ));
|
||||
var bewerbung_abgeschicktamum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bewerbung_abgeschicktamum" ));
|
||||
var orgform_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#orgform_kurzbz" ));
|
||||
var studienplan_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studienplan_id" ));
|
||||
var anmerkung= getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
|
||||
var statusgrund_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#statusgrund_id" ));
|
||||
var rt_stufe = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#rt_stufe" ));
|
||||
var neu = false;
|
||||
StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
StudentRolleStudiensemester_old='';
|
||||
StudentRolleAusbildungssemester_old='';
|
||||
|
||||
document.getElementById('student-rolle-grid-row-textbox').hidden=true;
|
||||
document.getElementById('student-rolle-grid-row-menulist').hidden=false;
|
||||
|
||||
//Defaultwerte bei Neuem Datensatz
|
||||
var status_kurzbz = 'Interessent';
|
||||
var studiensemester_kurzbz=window.opener.getStudiensemester();
|
||||
var ausbildungssemester='1';
|
||||
var datum = '<?php echo date('d.m.Y') ?>';
|
||||
var bestaetigt_datum = '<?php echo date('d.m.Y') ?>';
|
||||
var bewerbung_abgeschicktamum = '';
|
||||
var orgform_kurzbz = '';
|
||||
var studienplan_id = '';
|
||||
var anmerkung = '';
|
||||
var statusgrund_id = '';
|
||||
var rt_stufe = '';
|
||||
StudentRolleLoadStatusgrund(status_kurzbz);
|
||||
}
|
||||
|
||||
document.getElementById('student-rolle-textbox-prestudent_id').value=prestudent_id;
|
||||
document.getElementById('student-rolle-textbox-status_kurzbz').value=status_kurzbz;
|
||||
document.getElementById('student-rolle-menulist-studiensemester').value=studiensemester_kurzbz;
|
||||
document.getElementById('student-rolle-menulist-ausbildungssemester').value=ausbildungssemester;
|
||||
document.getElementById('student-rolle-datum-datum').value=datum;
|
||||
document.getElementById('student-rolle-datum-bestaetigt_datum').value=bestaetigt_datum;
|
||||
document.getElementById('student-rolle-datum-bewerbung_abgeschicktamum').value=bewerbung_abgeschicktamum;
|
||||
document.getElementById('student-rolle-menulist-orgform_kurzbz').value=orgform_kurzbz;
|
||||
MenulistSelectItemOnValue('student-rolle-menulist-studienplan', studienplan_id);
|
||||
document.getElementById('student-rolle-textbox-anmerkung').value=anmerkung;
|
||||
MenulistSelectItemOnValue('student-rolle-menulist-statusgrund', statusgrund_id);
|
||||
MenulistSelectItemOnValue('student-rolle-menulist-stufe', rt_stufe);
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Speichern der Rolle
|
||||
// * Hierzu wird eine Funktion vom Aufrufenden Fenster gestartet weil
|
||||
// * es dann nicht zu Problemen mit den Zugriffen auf die anderen Fkt
|
||||
// * kommt.
|
||||
// ****
|
||||
function StudentRolleSpeichern()
|
||||
{
|
||||
if(window.opener.StudentRolleSpeichern(document, StudentRolleStudiensemester_old, StudentRolleAusbildungssemester_old))
|
||||
window.close();
|
||||
}
|
||||
|
||||
function StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var menulistgrund = document.getElementById('student-rolle-menulist-statusgrund');
|
||||
|
||||
if (typeof statusgrund_id !== 'undefined')
|
||||
url='<?php echo APP_ROOT;?>rdf/statusgrund.rdf.php?status_kurzbz='+status_kurzbz+'&include_id='+statusgrund_id+'&ts'+gettimestamp();
|
||||
else
|
||||
url='<?php echo APP_ROOT;?>rdf/statusgrund.rdf.php?status_kurzbz='+status_kurzbz+'&ts'+gettimestamp();
|
||||
|
||||
try
|
||||
{
|
||||
StudentRolleStatusgrundDatasource.removeXMLSinkObserver(StudentDetailRolleTreeSinkObserver);
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = menulistgrund.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
menulistgrund.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
//Refresh damit die entfernten DS auch wirklich entfernt werden
|
||||
menulistgrund.builder.rebuild();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
StudentRolleStatusgrundDatasource = rdfService.GetDataSourceBlocking(url);
|
||||
StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
menulistgrund.database.AddDataSource(StudentRolleStatusgrundDatasource);
|
||||
menulistgrund.builder.rebuild();
|
||||
}
|
||||
|
||||
/**
|
||||
* Wenn das Dropdown fuer den Status geaendert wird, dann
|
||||
* werden die Statusgruende zu diesem Status geladen
|
||||
*/
|
||||
function StudentRolleChangeStatus()
|
||||
{
|
||||
var status = document.getElementById('student-rolle-menulist-status_kurzbz').value;
|
||||
StudentRolleLoadStatusgrund(status);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,133 @@
|
||||
<?php
|
||||
/* Copyright (C) 2013 fhcomplete.org
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Manuela Thamer <manuela.thamer@technikum-wien.at>
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__). '/basis_db.class.php');
|
||||
require_once(dirname(__FILE__). '/sprache.class.php');
|
||||
require_once(dirname(__FILE__). '/functions.inc.php');
|
||||
|
||||
class lehrmodus extends basis_db
|
||||
{
|
||||
//Objekt Lehrmodus
|
||||
public $result = array();
|
||||
|
||||
//Tabellenspalten
|
||||
public $lehrmodus_kurzbz;
|
||||
public $bezeichnung_mehrsprachig;
|
||||
public $aktiv;
|
||||
|
||||
/**
|
||||
* Konstruktor - Laedt optional einen Lehrmodus
|
||||
* @param lehrmodus_kurbz Lehrmodus der geladen werden soll
|
||||
*/
|
||||
public function __construct($lehrmodus_kurzbz = null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if($lehrmodus_kurzbz != null)
|
||||
$this->load($lehrmodus_kurzbz);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert alle Lehrmodi aus der table tbl_lehrmodus
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getAll()
|
||||
{
|
||||
$sprache = new sprache();
|
||||
$qry = "SELECT *, ".$sprache->getSprachQuery('bezeichnung_mehrsprachig')."
|
||||
FROM lehre.tbl_lehrmodus";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$lehrmodus = new lehrmodus();
|
||||
|
||||
$lehrmodus->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||
$lehrmodus->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$lehrmodus->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
|
||||
|
||||
$this->result[] = $lehrmodus;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Lehrmodus
|
||||
* @param lehrmodus_kurzbz ID des Datensatzes der zu laden ist
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load($lehrmodus_kurzbz)
|
||||
{
|
||||
$sprache = new sprache();
|
||||
$qry = "SELECT
|
||||
*,".$sprache->getSprachQuery('bezeichnung_mehrsprachig')."
|
||||
FROM
|
||||
lehre.tbl_lehrmodus
|
||||
WHERE
|
||||
lehrmodus_kurzbz=".$this->db_add_param($lehrmodus_kurzbz).";";
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Lesen vom Lehrmodus';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||
$this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row);
|
||||
$this->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Lehrmodus mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Baut die Datenstruktur für senden als JSON Objekt auf
|
||||
*/
|
||||
// public function cleanResult()
|
||||
// {
|
||||
// $data = array();
|
||||
// if(count($this->result)>0)
|
||||
// {
|
||||
// foreach ($this->result as $lm)
|
||||
// {
|
||||
// $obj = new stdClass();
|
||||
// $obj->lehrmodus_kurzbz = $lm->lehrmodus_kurzbz;
|
||||
// $data[] = $obj;
|
||||
// }
|
||||
// }
|
||||
// return $data;
|
||||
// }
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -58,6 +58,7 @@ class lehrveranstaltung extends basis_db
|
||||
public $bezeichnung_english; // varchar(256)
|
||||
public $orgform_kurzbz; // varchar(3)
|
||||
public $lehrtyp_kurzbz; // varchar(32)
|
||||
public $lehrmodus_kurzbz; //varchar(32)
|
||||
public $oe_kurzbz; // varchar(32)
|
||||
public $raumtyp_kurzbz; // varchar(16)
|
||||
public $anzahlsemester; // smallint
|
||||
@@ -68,6 +69,7 @@ class lehrveranstaltung extends basis_db
|
||||
public $farbe;
|
||||
public $lehrauftrag=true;
|
||||
|
||||
|
||||
public $studienplan_lehrveranstaltung_id;
|
||||
public $studienplan_lehrveranstaltung_id_parent;
|
||||
public $stpllv_pflicht=true;
|
||||
@@ -147,6 +149,7 @@ class lehrveranstaltung extends basis_db
|
||||
$this->bezeichnung_english = $row->bezeichnung_english;
|
||||
$this->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$this->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
$this->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||
$this->oe_kurzbz = $row->oe_kurzbz;
|
||||
$this->raumtyp_kurzbz = $row->raumtyp_kurzbz;
|
||||
$this->anzahlsemester = $row->anzahlsemester;
|
||||
@@ -225,6 +228,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
|
||||
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
|
||||
$lv_obj->anzahlsemester = $row->anzahlsemester;
|
||||
@@ -258,10 +262,12 @@ class lehrveranstaltung extends basis_db
|
||||
* @param $sort smallint Sortierung
|
||||
* @param $oe_kurzbz string Organisationseinheit
|
||||
* @param $lehrtyp string lehrtyp_kurzbz
|
||||
* @param $lehrmodus string lehrmodus_kurzbz
|
||||
* @param $orgform string Organisationsform
|
||||
* @param $lehrmodus string lehrmodus_kurzbz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load_lva($studiengang_kz=null, $semester = null, $lehreverzeichnis = null, $lehre = null, $aktiv = null, $sort = null, $oe_kurzbz=null, $lehrtyp=null, $orgform=null)
|
||||
public function load_lva($studiengang_kz=null, $semester = null, $lehreverzeichnis = null, $lehre = null, $aktiv = null, $sort = null, $oe_kurzbz=null, $lehrtyp=null, $lehrmodus=null, $orgform=null)
|
||||
{
|
||||
//Variablen pruefen
|
||||
if($semester == "null")
|
||||
@@ -320,6 +326,9 @@ class lehrveranstaltung extends basis_db
|
||||
if(!is_null($lehrtyp))
|
||||
$qry .= " AND lehrtyp_kurzbz=".$this->db_add_param($lehrtyp);
|
||||
|
||||
if(!is_null($lehrmodus))
|
||||
$qry .= " AND lehrmodus_kurzbz=".$this->db_add_param($lehrmodus);
|
||||
|
||||
if(!is_null($orgform) && $orgform!='')
|
||||
$qry .= " AND orgform_kurzbz=".$this->db_add_param($orgform);
|
||||
|
||||
@@ -369,6 +378,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
|
||||
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
|
||||
$lv_obj->anzahlsemester = $row->anzahlsemester;
|
||||
@@ -497,6 +507,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
|
||||
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
|
||||
$lv_obj->anzahlsemester = $row->anzahlsemester;
|
||||
@@ -578,6 +589,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
|
||||
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
|
||||
$lv_obj->anzahlsemester = $row->anzahlsemester;
|
||||
@@ -740,40 +752,41 @@ class lehrveranstaltung extends basis_db
|
||||
semester, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis, aktiv, insertamum,
|
||||
insertvon, planfaktor, planlektoren, planpersonalkosten, plankostenprolektor, updateamum, updatevon, sort,
|
||||
zeugnis, projektarbeit, sprache, koordinator, bezeichnung_english, orgform_kurzbz, incoming, lehrtyp_kurzbz, oe_kurzbz,
|
||||
raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr, semester_alternativ, farbe,sws,lvs,alvs,lvps,las,benotung,lvinfo, lehrauftrag) VALUES (' .
|
||||
$this->db_add_param($this->studiengang_kz) . ', ' .
|
||||
$this->db_add_param($this->bezeichnung) . ', ' .
|
||||
$this->db_add_param($this->kurzbz) . ', ' .
|
||||
$this->db_add_param($this->lehrform_kurzbz) . ', ' .
|
||||
$this->db_add_param($this->semester) . ', ' .
|
||||
$this->db_add_param($this->ects) . ', ' .
|
||||
$this->db_add_param($this->semesterstunden) . ', ' .
|
||||
$this->db_add_param($this->anmerkung) . ', ' .
|
||||
$this->db_add_param($this->lehre, FHC_BOOLEAN) . ',' .
|
||||
$this->db_add_param($this->lehreverzeichnis) . ', ' .
|
||||
$this->db_add_param($this->aktiv, FHC_BOOLEAN) . ', ' .
|
||||
$this->db_add_param($this->insertamum) . ', ' .
|
||||
$this->db_add_param($this->insertvon) . ', ' .
|
||||
$this->db_add_param($this->planfaktor) . ', ' .
|
||||
$this->db_add_param($this->planlektoren) . ', ' .
|
||||
$this->db_add_param($this->planpersonalkosten) . ', ' .
|
||||
$this->db_add_param($this->plankostenprolektor) . ', ' .
|
||||
$this->db_add_param($this->updateamum) . ', ' .
|
||||
$this->db_add_param($this->updatevon) . ',' .
|
||||
$this->db_add_param($this->sort) . ',' .
|
||||
$this->db_add_param($this->zeugnis, FHC_BOOLEAN) . ',' .
|
||||
$this->db_add_param($this->projektarbeit, FHC_BOOLEAN) . ',' .
|
||||
$this->db_add_param($this->sprache) . ',' .
|
||||
$this->db_add_param($this->koordinator) . ',' .
|
||||
$this->db_add_param($this->bezeichnung_english) . ',' .
|
||||
$this->db_add_param($this->orgform_kurzbz) . ',' .
|
||||
$this->db_add_param($this->incoming) . ',' .
|
||||
$this->db_add_param($this->lehrtyp_kurzbz) . ',' .
|
||||
$this->db_add_param($this->oe_kurzbz) . ',' .
|
||||
$this->db_add_param($this->raumtyp_kurzbz) . ',' .
|
||||
$this->db_add_param($this->anzahlsemester) . ',' .
|
||||
$this->db_add_param($this->semesterwochen) . ',' .
|
||||
$this->db_add_param($this->lvnr) .','.
|
||||
raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr, semester_alternativ, farbe,sws,lvs,alvs,lvps,las,benotung,lvinfo,
|
||||
lehrauftrag, lehrmodus_kurzbz) VALUES ('.
|
||||
$this->db_add_param($this->studiengang_kz). ', '.
|
||||
$this->db_add_param($this->bezeichnung). ', '.
|
||||
$this->db_add_param($this->kurzbz). ', '.
|
||||
$this->db_add_param($this->lehrform_kurzbz). ', '.
|
||||
$this->db_add_param($this->semester). ', '.
|
||||
$this->db_add_param($this->ects). ', '.
|
||||
$this->db_add_param($this->semesterstunden). ', '.
|
||||
$this->db_add_param($this->anmerkung). ', '.
|
||||
$this->db_add_param($this->lehre, FHC_BOOLEAN). ','.
|
||||
$this->db_add_param($this->lehreverzeichnis). ', '.
|
||||
$this->db_add_param($this->aktiv, FHC_BOOLEAN). ', '.
|
||||
$this->db_add_param($this->insertamum). ', '.
|
||||
$this->db_add_param($this->insertvon). ', '.
|
||||
$this->db_add_param($this->planfaktor). ', '.
|
||||
$this->db_add_param($this->planlektoren). ', '.
|
||||
$this->db_add_param($this->planpersonalkosten). ', '.
|
||||
$this->db_add_param($this->plankostenprolektor). ', '.
|
||||
$this->db_add_param($this->updateamum). ', '.
|
||||
$this->db_add_param($this->updatevon). ','.
|
||||
$this->db_add_param($this->sort). ','.
|
||||
$this->db_add_param($this->zeugnis, FHC_BOOLEAN). ','.
|
||||
$this->db_add_param($this->projektarbeit, FHC_BOOLEAN). ','.
|
||||
$this->db_add_param($this->sprache). ','.
|
||||
$this->db_add_param($this->koordinator). ','.
|
||||
$this->db_add_param($this->bezeichnung_english). ','.
|
||||
$this->db_add_param($this->orgform_kurzbz). ','.
|
||||
$this->db_add_param($this->incoming).','.
|
||||
$this->db_add_param($this->lehrtyp_kurzbz).','.
|
||||
$this->db_add_param($this->oe_kurzbz). ','.
|
||||
$this->db_add_param($this->raumtyp_kurzbz). ','.
|
||||
$this->db_add_param($this->anzahlsemester). ','.
|
||||
$this->db_add_param($this->semesterwochen). ','.
|
||||
$this->db_add_param($this->lvnr).','.
|
||||
$this->db_add_param($this->semester_alternativ).','.
|
||||
$this->db_add_param($this->farbe).','.
|
||||
$this->db_add_param($this->sws).','.
|
||||
@@ -783,7 +796,8 @@ class lehrveranstaltung extends basis_db
|
||||
$this->db_add_param($this->las).','.
|
||||
$this->db_add_param($this->benotung, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->lvinfo, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->lehrauftrag, FHC_BOOLEAN)
|
||||
$this->db_add_param($this->lehrauftrag, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->lehrmodus_kurzbz)
|
||||
.');';
|
||||
}
|
||||
else
|
||||
@@ -823,6 +837,7 @@ class lehrveranstaltung extends basis_db
|
||||
'bezeichnung_english=' . $this->db_add_param($this->bezeichnung_english) . ',' .
|
||||
'orgform_kurzbz=' . $this->db_add_param($this->orgform_kurzbz) . ',' .
|
||||
'lehrtyp_kurzbz=' . $this->db_add_param($this->lehrtyp_kurzbz) . ',' .
|
||||
'lehrmodus_kurzbz=' . $this->db_add_param($this->lehrmodus_kurzbz) . ',' .
|
||||
'oe_kurzbz=' . $this->db_add_param($this->oe_kurzbz) . ',' .
|
||||
'raumtyp_kurzbz=' . $this->db_add_param($this->raumtyp_kurzbz) . ',' .
|
||||
'anzahlsemester=' . $this->db_add_param($this->anzahlsemester, FHC_INTEGER) . ',' .
|
||||
@@ -936,6 +951,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
|
||||
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
|
||||
$lv_obj->anzahlsemester = $row->anzahlsemester;
|
||||
@@ -1029,6 +1045,7 @@ class lehrveranstaltung extends basis_db
|
||||
$l->bezeichnung_english = $row->bezeichnung_english;
|
||||
$l->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$l->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
$l->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||
$l->oe_kurzbz = $row->oe_kurzbz;
|
||||
$l->raumtyp_kurzbz = $row->raumtyp_kurzbz;
|
||||
$l->anzahlsemester = $row->anzahlsemester;
|
||||
@@ -1111,6 +1128,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
|
||||
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
|
||||
$lv_obj->anzahlsemester = $row->anzahlsemester;
|
||||
@@ -1209,6 +1227,7 @@ class lehrveranstaltung extends basis_db
|
||||
$obj->bezeichnung_english = $row->bezeichnung_english;
|
||||
$obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
$obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
|
||||
$obj->anzahlsemester = $row->anzahlsemester;
|
||||
@@ -1333,6 +1352,7 @@ class lehrveranstaltung extends basis_db
|
||||
$obj->ects = $lv->ects;
|
||||
$obj->semesterstunden = $lv->semesterstunden;
|
||||
$obj->lehrtyp_kurzbz = $lv->lehrtyp_kurzbz;
|
||||
$obj->lehrmodus_kurzbz = $lv->lehrmodus_kurzbz;
|
||||
$obj->studienplan_lehrveranstaltung_id = $lv->studienplan_lehrveranstaltung_id;
|
||||
$obj->stpllv_semester = $lv->stpllv_semester;
|
||||
$obj->stpllv_pflicht = $lv->stpllv_pflicht;
|
||||
@@ -1398,6 +1418,7 @@ class lehrveranstaltung extends basis_db
|
||||
$obj->semesterstunden = $lv->semesterstunden;
|
||||
$obj->studienplan_lehrveranstaltung_id = $lv->studienplan_lehrveranstaltung_id;
|
||||
$obj->lehrtyp_kurzbz = $lv->lehrtyp_kurzbz;
|
||||
$obj->lehrmodus_kurzbz = $lv->lehrmodus_kurzbz;
|
||||
$obj->stpllv_semester = $lv->stpllv_semester;
|
||||
$obj->stpllv_pflicht = $lv->stpllv_pflicht;
|
||||
$obj->stpllv_koordinator = $lv->stpllv_koordinator;
|
||||
@@ -1550,6 +1571,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
|
||||
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||
$lv_obj->farbe = $row->farbe;
|
||||
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
|
||||
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
@@ -1635,6 +1657,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
|
||||
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||
$lv_obj->farbe = $row->farbe;
|
||||
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
|
||||
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
@@ -1750,6 +1773,9 @@ class lehrveranstaltung extends basis_db
|
||||
if(!is_null($lehrtyp))
|
||||
$qry .= " AND lehrtyp_kurzbz=".$this->db_add_param($lehrtyp);
|
||||
|
||||
if(!is_null($lehrmodus))
|
||||
$qry .= " AND lehrmodus_kurzbz=".$this->db_add_param($lehrmodus);
|
||||
|
||||
if(!is_null($semester))
|
||||
$qry .= " AND semester=".$this->db_add_param ($semester);
|
||||
|
||||
@@ -1800,6 +1826,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
|
||||
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||
$lv_obj->lvnr = $row->lvnr;
|
||||
$lv_obj->semester_alternativ = $row->semester_alternativ;
|
||||
$lv_obj->farbe = $row->farbe;
|
||||
@@ -1925,6 +1952,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
|
||||
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
|
||||
$lv_obj->anzahlsemester = $row->anzahlsemester;
|
||||
@@ -2051,6 +2079,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
|
||||
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
|
||||
$lv_obj->anzahlsemester = $row->anzahlsemester;
|
||||
@@ -2272,6 +2301,11 @@ class lehrveranstaltung extends basis_db
|
||||
$qry.=" AND tbl_lehrveranstaltung.lehrtyp_kurzbz=" . $this->db_add_param($lehrtyp_kurzbz, FHC_STRING);
|
||||
}
|
||||
|
||||
if (!is_null($lehrmodus_kurzbz))
|
||||
{
|
||||
$qry.=" AND tbl_lehrveranstaltung.lehrmodus_kurzbz=" . $this->db_add_param($lehrmodus_kurzbz, FHC_STRING);
|
||||
}
|
||||
|
||||
if (!is_null($semester))
|
||||
{
|
||||
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
|
||||
@@ -2315,6 +2349,7 @@ class lehrveranstaltung extends basis_db
|
||||
$obj->bezeichnung_english = $row->bezeichnung_english;
|
||||
$obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
$obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
|
||||
$obj->anzahlsemester = $row->anzahlsemester;
|
||||
|
||||
@@ -2422,13 +2422,15 @@ class prestudent extends person
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT kurzbzlang
|
||||
FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_studiengang USING (studiengang_kz)
|
||||
$qry = "SELECT
|
||||
UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz) as kuerzel
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_studiengang USING (studiengang_kz)
|
||||
WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)."
|
||||
AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student')
|
||||
AND typ in ('b','m','d')
|
||||
AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student')
|
||||
AND typ in ('b','m','d')
|
||||
ORDER BY status_kurzbz ASC
|
||||
LIMIT 1;";
|
||||
|
||||
@@ -2436,7 +2438,7 @@ class prestudent extends person
|
||||
{
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
$stg = $row->kurzbzlang;
|
||||
$stg = $row->kuerzel;
|
||||
return $stg;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -185,7 +185,8 @@ class pruefungsanmeldung extends basis_db {
|
||||
$qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung pa '
|
||||
. 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
|
||||
. 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
|
||||
. 'WHERE uid='.$this->db_add_param($uid);
|
||||
. 'WHERE uid='.$this->db_add_param($uid) . ' '
|
||||
. 'AND p.storniert=false';
|
||||
|
||||
if($studiensemester_kurzbz != null)
|
||||
{
|
||||
|
||||
@@ -142,7 +142,7 @@ class statistik extends basis_db
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->udpatevon = $row->updatevon;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
|
||||
$obj->preferences = $row->preferences;
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
Manuela Thamer <manuela.thamer@technikum-wien.at>
|
||||
*/
|
||||
require_once('basis_db.class.php');
|
||||
|
||||
@@ -30,6 +31,7 @@ class statusgrund extends basis_db
|
||||
public $aktiv = true; // boolean
|
||||
public $bezeichnung_mehrsprachig; // varchar(255)[]
|
||||
public $bezeichnung; // text[]
|
||||
public $statusgrund_kurzbz; //varchar(32)
|
||||
|
||||
/**
|
||||
* Konstruktor - Laedt optional einen Statusgrund
|
||||
@@ -71,6 +73,7 @@ class statusgrund extends basis_db
|
||||
$this->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
|
||||
$this->beschreibung = $sprache->parseSprachResult('beschreibung', $row);
|
||||
$this->statusgrund_kurzbz = $row->statusgrund_kurzbz;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -120,6 +123,7 @@ class statusgrund extends basis_db
|
||||
$obj->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
|
||||
$obj->beschreibung = $sprache->parseSprachResult('beschreibung', $row);
|
||||
$obj->statusgrund_kurzbz = $row->statusgrund_kurzbz;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -166,6 +170,7 @@ class statusgrund extends basis_db
|
||||
$obj->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
|
||||
$obj->beschreibung = $sprache->parseSprachResult('beschreibung', $row);
|
||||
$obj->statusgrund_kurzbz = $row->statusgrund_kurzbz;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -179,5 +184,28 @@ class statusgrund extends basis_db
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt das Klassenobjekt anhand der kurzbz
|
||||
*
|
||||
* @param string $statusgrund_kurzbz Statusgrund zu dem das Objekt geladen werden soll.
|
||||
* @return object classobject
|
||||
*/
|
||||
public function getByStatusgrundKurzbz($statusgrund_kurzbz)
|
||||
{
|
||||
$qry = "
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
public.tbl_status_grund
|
||||
WHERE
|
||||
statusgrund_kurzbz ='". $statusgrund_kurzbz. "'
|
||||
";
|
||||
|
||||
$this->db_query($qry);
|
||||
|
||||
return
|
||||
$this->db_fetch_object();
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -10,6 +10,7 @@ const RTFREIGABE_MESSAGE_VORLAGE_QUER_KURZ = "InfocenterRTfreigegQuerKurz";
|
||||
const STGFREIGABE_MESSAGE_VORLAGE = "InfocenterSTGfreigegeben";
|
||||
const STGFREIGABE_MESSAGE_VORLAGE_MASTER = "InfocenterSTGfreigegebenM";
|
||||
const STGFREIGABE_MESSAGE_VORLAGE_MASTER_ENGLISCH = "InfocenterSTGfreigegebenMEng";
|
||||
const STGFREIGABE_MESSAGE_VORLAGE_ANDERES_SEMESTER = "InfocenterSTGfreigegebenSemester";
|
||||
|
||||
//Statusgründe for which no Studiengang Freigabe Message should be sent
|
||||
const FIT_PROGRAMM_STUDIENGAENGE = [10021, 10027];
|
||||
@@ -653,7 +654,7 @@ var InfocenterDetails = {
|
||||
}
|
||||
else
|
||||
{
|
||||
if (receiverPrestudent.studiengangtyp === 'm' && (freigabedata.statusgrundbezeichnung === 'Ergänzungsprüfungen' || freigabedata.statusgrundbezeichnung === 'Supplementary exams'))
|
||||
if (receiverPrestudent.studiengangtyp === 'm' && freigabedata.statuskurzbz === 'ergPruefung')
|
||||
{
|
||||
msgvars = {
|
||||
'studiengangbezeichnung': studiengangbezeichnung,
|
||||
@@ -671,7 +672,11 @@ var InfocenterDetails = {
|
||||
//if Freigabe to Studiengang, send StgFreigabe Message if not already sent and allowed to send
|
||||
else if (!stgFreigegeben && receiverPrestudent.sendStgFreigabeMsg === true)
|
||||
{
|
||||
InfocenterDetails.sendFreigabeMessage(prestudent_id, STGFREIGABE_MESSAGE_VORLAGE, msgvars);
|
||||
if (receiverPrestudent.studiengangtyp === 'b' && freigabedata.statuskurzbz === 'anderesSemester')
|
||||
vorlage = STGFREIGABE_MESSAGE_VORLAGE_ANDERES_SEMESTER
|
||||
else
|
||||
vorlage = STGFREIGABE_MESSAGE_VORLAGE
|
||||
InfocenterDetails.sendFreigabeMessage(prestudent_id, vorlage, msgvars);
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -847,7 +852,8 @@ var InfocenterDetails = {
|
||||
var statusgrundel = $("#frgstatusgrselect_" + prestudent_id + " select[name=frgstatusgrund]");
|
||||
var statusgrund_id = statusgrundel.val();
|
||||
var statusgrundbezeichnung = statusgrundel.find("option[value="+statusgrund_id+"]").text();
|
||||
var data = {"prestudent_id": prestudent_id, "statusgrund_id": statusgrund_id, "statusgrundbezeichnung": statusgrundbezeichnung};
|
||||
var statuskurzbz = statusgrundel.find(':selected').data('kurzbz');
|
||||
var data = {"prestudent_id": prestudent_id, "statusgrund_id": statusgrund_id, "statusgrundbezeichnung": statusgrundbezeichnung, "statuskurzbz" : statuskurzbz};
|
||||
InfocenterDetails.saveFreigabe(data);//Studiengangfreigabe
|
||||
}
|
||||
);
|
||||
|
||||
@@ -129,7 +129,19 @@ function draw_content_xml($row)
|
||||
if($person->load($row->pruefer3))
|
||||
$pruefer3 = trim($person->titelpre.' '.$person->vorname.' '.$person->nachname.' '.$person->titelpost);
|
||||
|
||||
$qry = "SELECT * FROM public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid) WHERE funktion_kurzbz='rek'";
|
||||
$qry = "SELECT *
|
||||
FROM PUBLIC.tbl_benutzerfunktion
|
||||
JOIN campus.vw_mitarbeiter USING (uid)
|
||||
WHERE funktion_kurzbz = 'rek'
|
||||
AND (
|
||||
tbl_benutzerfunktion.datum_von <= now()
|
||||
OR tbl_benutzerfunktion.datum_von IS NULL
|
||||
)
|
||||
AND (
|
||||
tbl_benutzerfunktion.datum_bis >= now()
|
||||
OR tbl_benutzerfunktion.datum_bis IS NULL
|
||||
)
|
||||
ORDER BY tbl_benutzerfunktion.insertamum DESC LIMIT 1";
|
||||
$rektor = '';
|
||||
$db = new basis_db();
|
||||
$db2 = new basis_db();
|
||||
|
||||
+17
-1
@@ -61,8 +61,9 @@ function convdate($date)
|
||||
|
||||
function checkfilter($row, $filter2, $buchungstyp = null)
|
||||
{
|
||||
global $studiensemester_kurzbz, $kontofilterstg;
|
||||
global $studiensemester_kurzbz, $kontofilterstg, $studiengang_kz;
|
||||
$db = new basis_db();
|
||||
$studstatusgrund = array();
|
||||
|
||||
if($filter2=='dokumente')
|
||||
{
|
||||
@@ -157,6 +158,21 @@ function checkfilter($row, $filter2, $buchungstyp = null)
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif ( preg_match('/^stud-statusgrund-([0-9]+)$/', $filter2, $studstatusgrund) )
|
||||
{
|
||||
// Alle Studenten mit Statusgrund in tbl_prestudentstatus
|
||||
$qry = "SELECT count(*) AS anzahl FROM public.tbl_prestudentstatus ps JOIN
|
||||
public.tbl_prestudent p ON p.prestudent_id = ps.prestudent_id AND
|
||||
ps. studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
|
||||
p. person_id=".$db->db_add_param($row->person_id, FHC_INTEGER)." AND
|
||||
p.studiengang_kz=" . $db->db_add_param($studiengang_kz, FHC_INTEGER) . " AND
|
||||
ps.statusgrund_id = " . $db->db_add_param($studstatusgrund[1], FHC_INTEGER);
|
||||
//echo $qry . "\n";
|
||||
$filtered = ( $db->db_query($qry) && ($row_filter = $db->db_fetch_object()) && ($row_filter->anzahl > 0) )
|
||||
? true
|
||||
: false;
|
||||
return $filtered;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
+106
-12
@@ -532,6 +532,46 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'ue'
|
||||
}
|
||||
}
|
||||
|
||||
// Note "intern angerechnet" hinzufügen
|
||||
if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'iar' AND (bezeichnung = 'intern angerechnet' OR bezeichnung = 'Intern angerechnet');"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "
|
||||
INSERT INTO
|
||||
lehre.tbl_note(note, bezeichnung, anmerkung, farbe, positiv, notenwert, aktiv, lehre, offiziell, bezeichnung_mehrsprachig, lkt_ueberschreibbar)
|
||||
VALUES(
|
||||
(SELECT max(note)+1 FROM lehre.tbl_note),'intern angerechnet', 'iar', NULL, TRUE, NULL, TRUE, FALSE, FALSE, '{\"intern angerechnet\",\"internally credited\"}', FALSE
|
||||
);
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>lehre.tbl_note: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>lehre.tbl_note: Note intern angerechnet hinzugefuegt!<br>';
|
||||
}
|
||||
}
|
||||
|
||||
// Note "nicht zugelassen" hinzufügen
|
||||
if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'nz' AND (bezeichnung = 'nicht zugelassen' OR bezeichnung = 'Nicht zugelassen');"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "
|
||||
INSERT INTO
|
||||
lehre.tbl_note(note, bezeichnung, anmerkung, farbe, positiv, notenwert, aktiv, lehre, offiziell, bezeichnung_mehrsprachig, lkt_ueberschreibbar)
|
||||
VALUES(
|
||||
(SELECT max(note)+1 FROM lehre.tbl_note), 'nicht zugelassen', 'nz', NULL, TRUE, NULL, TRUE, FALSE, FALSE, '{\"nicht zugelassen\",\"not admitted\"}', FALSE
|
||||
);
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>lehre.tbl_note: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>lehre.tbl_note: Note nicht zugelassen hinzugefuegt!<br>';
|
||||
}
|
||||
}
|
||||
|
||||
// Spalte offiziell in lehre.tbl_note
|
||||
if(!$result = @$db->db_query("SELECT offiziell FROM lehre.tbl_note LIMIT 1;"))
|
||||
{
|
||||
@@ -1315,7 +1355,7 @@ if (!$result = @$db->db_query("SELECT 1 FROM system.tbl_verarbeitungstaetigkeit"
|
||||
}
|
||||
|
||||
// system.tbl_log.taetigkeit_kurzbz
|
||||
if (!$result = @$db->db_query("SELECT taetigkeit_kurzbz FROM system.tbl_log"))
|
||||
if (!$result = @$db->db_query("SELECT taetigkeit_kurzbz FROM system.tbl_log LIMIT 1"))
|
||||
{
|
||||
$qry = "
|
||||
ALTER TABLE system.tbl_log ADD COLUMN taetigkeit_kurzbz varchar(32);
|
||||
@@ -4801,13 +4841,11 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus LIMIT 1
|
||||
status_kurzbz character varying(32),
|
||||
bezeichnung character varying(256)
|
||||
);
|
||||
|
||||
ALTER TABLE public.tbl_zgvpruefungstatus ADD CONSTRAINT status_kurzbz PRIMARY KEY (status_kurzbz);
|
||||
INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('pruefung_stg', 'Wird vom Studiengang geprüft');
|
||||
INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('rejected', 'Vom Studiengang abgelehnt');
|
||||
INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('accepted', 'Vom Studiengang akzeptiert');
|
||||
INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('accepted_pruefung', 'Vom Studiengang akzeptiert mit Prüfung');
|
||||
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefungstatus TO vilesci;
|
||||
GRANT SELECT ON public.tbl_zgvpruefungstatus TO web;
|
||||
";
|
||||
@@ -4831,7 +4869,6 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefung LIMIT 1;"))
|
||||
updateamum timestamp without time zone,
|
||||
updatevon character varying(32)
|
||||
);
|
||||
|
||||
CREATE SEQUENCE public.tbl_zgvpruefung_id_seq
|
||||
INCREMENT BY 1
|
||||
NO MAXVALUE
|
||||
@@ -4840,11 +4877,9 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefung LIMIT 1;"))
|
||||
ALTER TABLE public.tbl_zgvpruefung ADD CONSTRAINT pk_tbl_zgvpruefung PRIMARY KEY (zgvpruefung_id);
|
||||
ALTER TABLE public.tbl_zgvpruefung ALTER COLUMN zgvpruefung_id SET DEFAULT nextval('public.tbl_zgvpruefung_id_seq');
|
||||
ALTER TABLE public.tbl_zgvpruefung ADD CONSTRAINT fk_tbl_zgvpruefung_student FOREIGN KEY (prestudent_id) REFERENCES public.tbl_prestudent (prestudent_id) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
GRANT SELECT, UPDATE ON public.tbl_zgvpruefung_id_seq TO vilesci;
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefung TO vilesci;
|
||||
GRANT SELECT ON public.tbl_zgvpruefung TO web;
|
||||
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
@@ -4864,18 +4899,15 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus_status
|
||||
status character varying(32),
|
||||
datum timestamp without time zone DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE SEQUENCE public.tbl_zgvpruefungstatus_status_id_seq
|
||||
INCREMENT BY 1
|
||||
NO MAXVALUE
|
||||
NO MINVALUE
|
||||
CACHE 1;
|
||||
|
||||
ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT pk_tbl_zgvpruefungstatus_status PRIMARY KEY (zgv_pruefung_status_id);
|
||||
ALTER TABLE public.tbl_zgvpruefungstatus_status ALTER COLUMN zgv_pruefung_status_id SET DEFAULT nextval('tbl_zgvpruefungstatus_status_id_seq');
|
||||
ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT fk_tbl_zgvpruefung_zgvpruefung FOREIGN KEY (zgvpruefung_id) REFERENCES public.tbl_zgvpruefung (zgvpruefung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT fk_tbl_zgvpruefung_status FOREIGN KEY (status) REFERENCES public.tbl_zgvpruefungstatus (status_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
GRANT SELECT, UPDATE ON public.tbl_zgvpruefungstatus_status_id_seq TO vilesci;
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefungstatus_status TO vilesci;
|
||||
GRANT SELECT ON public.tbl_zgvpruefungstatus_status TO web;
|
||||
@@ -4887,7 +4919,7 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus_status
|
||||
echo ' public.tbl_zgvpruefungstatus_status: Tabelle hinzugefuegt<br>';
|
||||
}
|
||||
|
||||
// Add index to system.tbl_log
|
||||
// Add index to lehre.tbl_pruefung
|
||||
if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_pruefung_student_uid'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
@@ -4913,6 +4945,67 @@ if ($result = @$db->db_query("SELECT 1 FROM public.tbl_buchungstyp WHERE buchung
|
||||
echo ' public.tbl_buchungstyp: Added buchungstyp "ZuschussIO" <br>';
|
||||
}
|
||||
}
|
||||
//Add Column statusgrund_kurzbz to public.tbl_status_grund
|
||||
if(!@$db->db_query("SELECT statusgrund_kurzbz FROM public.tbl_status_grund LIMIT 1"))
|
||||
{
|
||||
$qry = "ALTER TABLE public.tbl_status_grund ADD COLUMN statusgrund_kurzbz varchar(32);
|
||||
ALTER TABLE public.tbl_status_grund ADD CONSTRAINT uk_tbl_statusgrund_kurzbz UNIQUE (statusgrund_kurzbz);
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_status_grund '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Neue Spalte statusgrund_kurzbz zu Tabelle public.tbl_status_grund hinzugefügt';
|
||||
}
|
||||
|
||||
// INDEX idx_anrechnung_anrechnung_status_anrechnung_id
|
||||
if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'idx_anrechnung_anrechnung_status_anrechnung_id'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = 'CREATE INDEX idx_anrechnung_anrechnung_status_anrechnung_id ON lehre.tbl_anrechnung_anrechnungstatus USING btree (anrechnung_id)';
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>idx_anrechnung_anrechnung_status_anrechnung_id '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Created Index idx_anrechnung_anrechnung_status_anrechnung_id';
|
||||
}
|
||||
}
|
||||
|
||||
// Add Table lehre.tbl_lehrmodus
|
||||
if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lehrmodus LIMIT 1;"))
|
||||
{
|
||||
$qry = "
|
||||
CREATE TABLE lehre.tbl_lehrmodus
|
||||
(
|
||||
lehrmodus_kurzbz varchar(32) NOT NULL,
|
||||
bezeichnung_mehrsprachig varchar(255)[],
|
||||
aktiv boolean DEFAULT true
|
||||
);
|
||||
ALTER TABLE lehre.tbl_lehrmodus ADD CONSTRAINT pk_lehrmodus PRIMARY KEY (lehrmodus_kurzbz);
|
||||
INSERT INTO lehre.tbl_lehrmodus(lehrmodus_kurzbz, bezeichnung_mehrsprachig) VALUES('regulaer', '{\"regulaer\",\"regular\"}');
|
||||
INSERT INTO lehre.tbl_lehrmodus(lehrmodus_kurzbz, bezeichnung_mehrsprachig) VALUES('standardisiert', '{\"standardisiert\",\"standardized\"}');
|
||||
GRANT SELECT ON lehre.tbl_lehrmodus TO web;
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lehrmodus TO vilesci;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>lehre.tbl_lehrmodus: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' lehre.tbl_lehrmodus: Tabelle hinzugefuegt<br>';
|
||||
}
|
||||
|
||||
//Add Column lehrmodus_kurzbz to lehre.tbl_lehrveranstaltung
|
||||
if(!@$db->db_query("SELECT lehrmodus_kurzbz FROM lehre.tbl_lehrveranstaltung LIMIT 1"))
|
||||
{
|
||||
$qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lehrmodus_kurzbz varchar(32);
|
||||
ALTER TABLE lehre.tbl_lehrveranstaltung ADD CONSTRAINT fk_lehrveranstaltung_lehrmodus FOREIGN KEY (lehrmodus_kurzbz) REFERENCES lehre.tbl_lehrmodus(lehrmodus_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>lehre.tbl_lehrveranstaltung '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Spalte lehrmodus_kurzbz in lehre.tbl_lehrveranstaltung hinzugefügt';
|
||||
}
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
@@ -5033,8 +5126,9 @@ $tabellen=array(
|
||||
"lehre.tbl_lehrform" => array("lehrform_kurzbz","bezeichnung","verplanen","bezeichnung_kurz","bezeichnung_lang"),
|
||||
"lehre.tbl_lehrfunktion" => array("lehrfunktion_kurzbz","beschreibung","standardfaktor","sort"),
|
||||
"lehre.tbl_lehrmittel" => array("lehrmittel_kurzbz","beschreibung","ort_kurzbz"),
|
||||
"lehre.tbl_lehrmodus" => array("lehrmodus_kurzbz","bezeichnung_mehrsprachig","aktiv"),
|
||||
"lehre.tbl_lehrtyp" => array("lehrtyp_kurzbz","bezeichnung"),
|
||||
"lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag"),
|
||||
"lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag","lehrmodus_kurzbz"),
|
||||
"lehre.tbl_lehrveranstaltung_kompatibel" => array("lehrveranstaltung_id","lehrveranstaltung_id_kompatibel"),
|
||||
"lehre.tbl_lvangebot" => array("lvangebot_id","lehrveranstaltung_id","studiensemester_kurzbz","gruppe_kurzbz","incomingplaetze","gesamtplaetze","anmeldefenster_start","anmeldefenster_ende","insertamum","insertvon","updateamum","updatevon"),
|
||||
"lehre.tbl_lvregel" => array("lvregel_id","lvregeltyp_kurzbz","operator","parameter","lvregel_id_parent","lehrveranstaltung_id","studienplan_lehrveranstaltung_id","insertamum","insertvon","updateamum","updatevon"),
|
||||
@@ -5135,7 +5229,7 @@ $tabellen=array(
|
||||
"public.tbl_rt_person" => array("rt_person_id","person_id","rt_id","studienplan_id","anmeldedatum","teilgenommen","ort_kurzbz","punkte","insertamum","insertvon","updateamum","updatevon"),
|
||||
"public.tbl_rt_studienplan" => array("reihungstest_id","studienplan_id"),
|
||||
"public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id","bezeichnung_mehrsprachig"),
|
||||
"public.tbl_status_grund" => array("statusgrund_id","status_kurzbz","aktiv","bezeichnung_mehrsprachig","beschreibung"),
|
||||
"public.tbl_status_grund" => array("statusgrund_id","status_kurzbz","aktiv","bezeichnung_mehrsprachig","beschreibung","statusgrund_kurzbz"),
|
||||
"public.tbl_semesterwochen" => array("semester","studiengang_kz","wochen"),
|
||||
"public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id","design_uid","betrieb_uid","operativ_uid","servicekategorie_kurzbz"),
|
||||
"public.tbl_servicekategorie" => array("servicekategorie_kurzbz", "bezeichnung","sort"),
|
||||
|
||||
@@ -122,10 +122,10 @@ $filters = array(
|
||||
],
|
||||
"filters": [
|
||||
{
|
||||
"name": "SendDate",
|
||||
"name": "AnzahlStgNichtAbgeschickt",
|
||||
"option": "",
|
||||
"condition": "",
|
||||
"operation": "nset"
|
||||
"condition": "0",
|
||||
"operation": "gt"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -568,6 +568,26 @@ $phrases = array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'global',
|
||||
'phrase' => 'anzahlNichtGesendet',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Anzahl (nicht gesendet)',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'amount (not sent)',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'global',
|
||||
|
||||
@@ -178,7 +178,7 @@ if ($action == 'kartenabfrage' || $action == 'kartenruecknahme')
|
||||
}
|
||||
elseif ($mitarbeiter->load($bmp->uid))
|
||||
{
|
||||
echo '<br>Letzter Status: '.($benutzer->bnaktiv ? '<span style="color: green;">Mitarbeiter*in aktiv</span>' : '<span style="color: red; font-weight: bold">Mitarbeiter*in inaktiv</span>').'<br>';
|
||||
echo '<br>Letzter Status: '.($benutzer->bnaktiv ? '<span style="color: green;">Mitarbeiter*in aktiv</span>' : '<span style="color: red; font-weight: bold">Mitarbeiter*in inaktiv seit '.$datum_obj->formatDatum($benutzer->updateaktivam,'d.m.Y').'</span>').'<br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -197,7 +197,7 @@ if ($action == 'kartenabfrage' || $action == 'kartenruecknahme')
|
||||
</form><br>';
|
||||
}
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/fhausweis', 'suid'))
|
||||
if($rechte->isBerechtigt('basis/fhausweis', 'suid'))
|
||||
{
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'" METHOD="POST">
|
||||
<input type="hidden" name="action" value="karte_loeschen" />
|
||||
|
||||
+243
-115
@@ -25,14 +25,20 @@ require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/fachbereich.class.php');
|
||||
require_once('../../include/organisationseinheit.class.php');
|
||||
require_once('../../include/lvinfo.class.php');
|
||||
require_once('../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../include/organisationsform.class.php');
|
||||
require_once('../../include/addon.class.php');
|
||||
require_once('../../include/sprache.class.php');
|
||||
require_once('../../include/lehrmodus.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
//Sprache
|
||||
$sprache = getSprache();
|
||||
|
||||
$s=new studiengang();
|
||||
$s->getAll('typ, kurzbz', false);
|
||||
$studiengang=$s->result;
|
||||
@@ -64,6 +70,8 @@ if(!is_numeric($stg_kz) && $stg_kz!='')
|
||||
if(!is_numeric($semester))
|
||||
$semester = -1;
|
||||
|
||||
|
||||
|
||||
$oe_fachbereich='';
|
||||
if(isset($_REQUEST['fachbereich_kurzbz']))
|
||||
{
|
||||
@@ -79,9 +87,18 @@ if(isset($_REQUEST['fachbereich_kurzbz']))
|
||||
else
|
||||
$fachbereich_kurzbz = '';
|
||||
|
||||
|
||||
$oe_organisationseinheit='';
|
||||
if (isset($_REQUEST['oe_kurzbz']))
|
||||
{
|
||||
$oe_kurzbz = $_REQUEST['oe_kurzbz'];
|
||||
if($oe_kurzbz != '')
|
||||
{
|
||||
$oe_obj = new organisationseinheit();
|
||||
if(!$oe_obj->load($oe_kurzbz))
|
||||
die('Organisationseinheit konnte nicht geladen werden');
|
||||
$oe_organisationseinheit = $oe_obj->oe_kurzbz;
|
||||
}
|
||||
}
|
||||
else
|
||||
$oe_kurzbz='';
|
||||
@@ -163,7 +180,7 @@ if(isset($_GET['delete_lvid']))
|
||||
}
|
||||
}
|
||||
else
|
||||
echo "Keine Berechtigung, um Lehrveranstaltung zu löschen!\n";
|
||||
echo " Keine Berechtigung, um Lehrveranstaltung zu löschen!\n";
|
||||
}
|
||||
|
||||
// Speichern der Daten
|
||||
@@ -318,7 +335,7 @@ if(isset($_POST['lvid']) && is_numeric($_POST['lvid']))
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if($lv_obj->load($_POST['lvid']))
|
||||
{
|
||||
$lv_obj->lehrform_kurzbz=$_POST['lf'];
|
||||
$lv_obj->lehrform_kurzbz = $_POST['lf'];
|
||||
$lv_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$lv_obj->updatevon = $user;
|
||||
if($lv_obj->save(false))
|
||||
@@ -336,7 +353,25 @@ if(isset($_POST['lvid']) && is_numeric($_POST['lvid']))
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if($lv_obj->load($_POST['lvid']))
|
||||
{
|
||||
$lv_obj->lehrtyp_kurzbz=$_POST['lt'];
|
||||
$lv_obj->lehrtyp_kurzbz = $_POST['lt'];
|
||||
$lv_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$lv_obj->updatevon = $user;
|
||||
if($lv_obj->save(false))
|
||||
exit('true');
|
||||
else
|
||||
exit('Fehler beim Speichern:'.$lv_obj->errormsg);
|
||||
}
|
||||
else
|
||||
exit('Fehler beim Laden der LV:'.$lv_obj->errormsg);
|
||||
}
|
||||
|
||||
//Lehrmodus Speichern
|
||||
if(isset($_POST['lm']))
|
||||
{
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if($lv_obj->load($_POST['lvid']))
|
||||
{
|
||||
$lv_obj->lehrmodus_kurzbz = $_POST['lm'];
|
||||
$lv_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$lv_obj->updatevon = $user;
|
||||
if($lv_obj->save(false))
|
||||
@@ -408,6 +443,26 @@ if($result = $db->db_query($qry))
|
||||
}
|
||||
}
|
||||
|
||||
//Lehrmodus holen
|
||||
$qry = "
|
||||
SELECT
|
||||
lehrmodus_kurzbz,
|
||||
bezeichnung_mehrsprachig
|
||||
FROM
|
||||
lehre.tbl_lehrmodus ORDER BY lehrmodus_kurzbz";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
// $lm[$row->lehrmodus_kurzbz]['lehrmodus_kurzbz']=$row->lehrmodus_kurzbz;
|
||||
$lm_beschr = new lehrmodus();
|
||||
$lm_beschr ->load($row->lehrmodus_kurzbz);
|
||||
$lm[$row->lehrmodus_kurzbz]['bezeichnung_mehrsprachig'] = $lm_beschr->bezeichnung_mehrsprachig[$sprache];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Fachbereichskoordinatoren holen
|
||||
$fb_kurzbz='';
|
||||
if($stg_kz!='')
|
||||
@@ -456,14 +511,50 @@ if($result = $db->db_query($qry))
|
||||
}
|
||||
}
|
||||
|
||||
//Lehrveranstaltungen holen
|
||||
//Lehrveranstaltungen mit OEs holen
|
||||
$sql_query = "
|
||||
SELECT
|
||||
tbl_lehrveranstaltung.*, tbl_organisationseinheit.organisationseinheittyp_kurzbz,
|
||||
tbl_organisationseinheit.bezeichnung as oe_bezeichnung
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung
|
||||
LEFT JOIN lehre.tbl_lehreinheit USING (lehrveranstaltung_id)
|
||||
LEFT JOIN lehre.tbl_lehrveranstaltung as lehrfach on (lehre.tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id)
|
||||
LEFT JOIN public.tbl_organisationseinheit ON (public.tbl_organisationseinheit.oe_kurzbz = lehre.tbl_lehrveranstaltung.oe_kurzbz)
|
||||
where
|
||||
true
|
||||
";
|
||||
|
||||
if($stg_kz!='')
|
||||
$sql_query.= " AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($stg_kz, FHC_INTEGER);
|
||||
|
||||
if($oe_kurzbz!='')
|
||||
$sql_query.= " AND tbl_lehrveranstaltung.oe_kurzbz=".$db->db_add_param($oe_kurzbz);
|
||||
|
||||
if($semester != -1)
|
||||
$sql_query.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER);
|
||||
|
||||
if($orgform_kurzbz != -1)
|
||||
if($orgform_kurzbz == 'none')
|
||||
$sql_query.=" AND (tbl_lehrveranstaltung.orgform_kurzbz IS NULL OR tbl_lehrveranstaltung.orgform_kurzbz='')";
|
||||
else
|
||||
$sql_query.=" AND tbl_lehrveranstaltung.orgform_kurzbz=".$db->db_add_param($orgform_kurzbz, FHC_STRING);
|
||||
|
||||
if($lehrveranstaltung_id != '')
|
||||
$sql_query.= " AND tbl_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER);
|
||||
|
||||
if($lehrveranstaltung_name != '')
|
||||
{
|
||||
$sql_query.= " AND (UPPER(tbl_lehrveranstaltung.bezeichnung) LIKE UPPER(".$db->db_add_param('%'.$lehrveranstaltung_name.'%', FHC_STRING).")";
|
||||
$sql_query.= " OR UPPER(tbl_lehrveranstaltung.bezeichnung_english) LIKE UPPER(".$db->db_add_param('%'.$lehrveranstaltung_name.'%', FHC_STRING).")) ";
|
||||
}
|
||||
|
||||
//Wenn nicht admin, werden erst nur die aktiven angezeigt, es koennen aber auch die inaktiven eingeblendet werden
|
||||
|
||||
$aktiv='';
|
||||
$isaktiv=trim($isaktiv);
|
||||
$aktiv = '';
|
||||
$isaktiv = trim($isaktiv);
|
||||
|
||||
if($isaktiv=='true')
|
||||
if($isaktiv == 'true')
|
||||
{
|
||||
$aktiv = ' AND tbl_lehrveranstaltung.aktiv=true';
|
||||
}
|
||||
@@ -476,43 +567,9 @@ else
|
||||
$aktiv='';
|
||||
}
|
||||
|
||||
if($fb_kurzbz !='')
|
||||
$sql_query="
|
||||
SELECT
|
||||
distinct tbl_lehrveranstaltung.*
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_fachbereich
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id
|
||||
AND tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id
|
||||
AND lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz
|
||||
AND tbl_fachbereich.fachbereich_kurzbz=".$db->db_add_param($fb_kurzbz);
|
||||
else
|
||||
$sql_query="SELECT * FROM lehre.tbl_lehrveranstaltung WHERE true";
|
||||
$sql_query .= " GROUP BY tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_organisationseinheit.organisationseinheittyp_kurzbz, tbl_organisationseinheit.bezeichnung";
|
||||
|
||||
if($stg_kz!='')
|
||||
$sql_query.= " AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($stg_kz, FHC_INTEGER);
|
||||
//if($oe_kurzbz!='')
|
||||
// $sql_query.= " AND tbl_lehrveranstaltung.oe_kurzbz=".$db->db_add_param($oe_kurzbz);
|
||||
if($semester != -1)
|
||||
$sql_query.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER);
|
||||
|
||||
if($orgform_kurzbz != -1)
|
||||
if($orgform_kurzbz == 'none')
|
||||
$sql_query.=" AND (tbl_lehrveranstaltung.orgform_kurzbz IS NULL OR tbl_lehrveranstaltung.orgform_kurzbz='')";
|
||||
else
|
||||
$sql_query.=" AND tbl_lehrveranstaltung.orgform_kurzbz=".$db->db_add_param($orgform_kurzbz, FHC_STRING);
|
||||
|
||||
if($lehrveranstaltung_id != '')
|
||||
$sql_query.= " AND tbl_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER);
|
||||
|
||||
if($lehrveranstaltung_name != '')
|
||||
{
|
||||
$sql_query.= " AND (UPPER(tbl_lehrveranstaltung.bezeichnung) LIKE UPPER(".$db->db_add_param('%'.$lehrveranstaltung_name.'%', FHC_STRING).")";
|
||||
$sql_query.= " OR UPPER(tbl_lehrveranstaltung.bezeichnung_english) LIKE UPPER(".$db->db_add_param('%'.$lehrveranstaltung_name.'%', FHC_STRING).")) ";
|
||||
}
|
||||
|
||||
$sql_query.=" $aktiv ORDER BY tbl_lehrveranstaltung.bezeichnung";
|
||||
$sql_query .= " ORDER BY tbl_lehrveranstaltung.bezeichnung";
|
||||
|
||||
if($fb_kurzbz=='' && $stg_kz=='' && $semester=='0' && $oe_kurzbz=='')
|
||||
$result_lv='';
|
||||
@@ -523,11 +580,11 @@ else
|
||||
}
|
||||
|
||||
//Studiengang DropDown
|
||||
$outp='';
|
||||
$s=array();
|
||||
$outp.="<form action='".$_SERVER['PHP_SELF']."' method='GET' onsubmit='return checksubmit();'>";
|
||||
$outp.=" Studiengang <SELECT name='stg_kz' id='select_stg_kz'>";
|
||||
$outp.="<OPTION value='' ".($stg_kz==''?'selected':'').">-- Alle --</OPTION>";
|
||||
$outp = '';
|
||||
$s = array();
|
||||
$outp .= "<form action='".$_SERVER['PHP_SELF']."' method='GET' onsubmit='return checksubmit();'>";
|
||||
$outp .= " Studiengang <SELECT name='stg_kz' id='select_stg_kz'>";
|
||||
$outp .= "<OPTION value='' ".($stg_kz == ''?'selected':'').">-- Alle --</OPTION>";
|
||||
$stg_berechtigt = $rechte->getStgKz('lehre/lehrveranstaltung:begrenzt');
|
||||
|
||||
foreach ($studiengang as $stg)
|
||||
@@ -569,25 +626,6 @@ foreach ($orgform->result as $of)
|
||||
}
|
||||
$outp.='</SELECT>';
|
||||
|
||||
//Institut DropDown
|
||||
$outp.= ' Institut <SELECT name="fachbereich_kurzbz" id="select_fachbereich_kurzbz">';
|
||||
$fachb = new fachbereich();
|
||||
$fachb->getAll();
|
||||
$outp.= "<OPTION value='' ".($fachbereich_kurzbz==''?'selected':'').">-- Alle --</OPTION>";
|
||||
$fachbereich_berechtigt = $rechte->getFbKz('lehre/lehrveranstaltung:begrenzt');
|
||||
foreach ($fachb->result as $fb)
|
||||
{
|
||||
if($fachbereich_kurzbz==$fb->fachbereich_kurzbz)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
if(in_array($fb->fachbereich_kurzbz, $fachbereich_berechtigt))
|
||||
$outp.= '<OPTION value="'.$db->convert_html_chars($fb->fachbereich_kurzbz).'" '.$selected.'>'.$db->convert_html_chars($fb->fachbereich_kurzbz).'</OPTION>';
|
||||
}
|
||||
|
||||
$outp.= '</SELECT>';
|
||||
|
||||
//if($write_admin) Von kindlm am 12.04.2013 auskommentiert, da Assistentinnen auch bei inaktiven LV's die Lehrform aendern koennen sollen
|
||||
//{
|
||||
//Aktiv DropDown
|
||||
@@ -596,37 +634,44 @@ $outp.= '</SELECT>';
|
||||
$outp.= "<OPTION value='true '".($isaktiv=='true'?'selected':'').">-- Aktiv --</OPTION>";
|
||||
$outp.= "<OPTION value='false '".($isaktiv=='false'?'selected':'').">-- Nicht aktiv --</OPTION>";
|
||||
$outp.= '</SELECT>';
|
||||
|
||||
$outp.= '<input type="submit" style="margin-left:20px;" value="Anzeigen">';
|
||||
//}
|
||||
/*else
|
||||
{
|
||||
$isaktiv='aktiv';
|
||||
}*/
|
||||
|
||||
|
||||
$outp .= '</hr><details id="detailTag" style="margin-top: 10px;"><summary style="float:right">Erweiterte Suchoptionen</summary><hr></hr>';
|
||||
|
||||
//Organisationseinheit Dropdown
|
||||
$outp.= '<br>Organisationseinheit <select name="oe_kurzbz" style="width: 200px" id="select_oe_kurzbz"><option value="">-- Alle --</option>';
|
||||
$oe=new organisationseinheit();
|
||||
$outp .= '<br>Organisationseinheit <select name="oe_kurzbz" style="width: 450px" id="select_oe_kurzbz"><option value="">-- Alle --</option>';
|
||||
$oe = new organisationseinheit();
|
||||
$oe->getAll();
|
||||
foreach($oe->result as $row)
|
||||
{
|
||||
if($oe_kurzbz==$row->oe_kurzbz)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
$outp.= '<option value="'.$db->convert_html_chars($row->oe_kurzbz).'" '.$selected.'>'.$db->convert_html_chars($row->organisationseinheittyp_kurzbz.' '.$row->bezeichnung).'</option>';
|
||||
if($oe_kurzbz == $row->oe_kurzbz)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
$outp .= '<option value="'.$db->convert_html_chars($row->oe_kurzbz).'" '.$selected.'>'.$db->convert_html_chars($row->organisationseinheittyp_kurzbz.' '.$row->bezeichnung).'</option>';
|
||||
}
|
||||
$outp.= '</select>';
|
||||
|
||||
$outp .= '</select>';
|
||||
|
||||
//Lehrveranstaltung ID Input
|
||||
$outp.= ' ID <input type="text" name="lehrveranstaltung_id" style="width: 100px" id="lehrveranstaltung_id" value="'.$lehrveranstaltung_id.'">';
|
||||
|
||||
|
||||
//Lehrveranstaltung Suche Bezeichnung
|
||||
$outp.= ' Name <input type="text" name="lehrveranstaltung_name" style="width: 400px" id="lehrveranstaltung_name"
|
||||
$outp.= ' Name <input type="text" name="lehrveranstaltung_name" style="width: 450px" id="lehrveranstaltung_name"
|
||||
value="'.$lehrveranstaltung_name.'" placeholder="Mind. 3 Zeichen. Deutsche oder Englische Bezeichnung"
|
||||
title="Platzhalter _ (EIN beliebiges Zeichen) und % (beliebig viele Zeichen) möglich">';
|
||||
|
||||
$outp.= ' <input type="submit" value="Anzeigen">';
|
||||
$outp.= ' <input type="submit" style="margin-left:20px" value="Anzeigen">';
|
||||
$outp.= '<hr></hr></details>';
|
||||
$outp.= '</form>';
|
||||
|
||||
|
||||
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
@@ -669,35 +714,37 @@ echo '
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
openDetailTag();
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[2,0]],
|
||||
widgets: ["saveSort", "zebra", "filter", "stickyHeaders"],
|
||||
headers: { 4: {sorter: false, filter: false},
|
||||
5: {sorter: false, filter: false},
|
||||
11: {sorter: false, filter: false},
|
||||
6: {sorter: false, filter: false},
|
||||
13: {sorter: false, filter: false},
|
||||
14: {sorter: false, filter: false},
|
||||
17: {sorter: false, filter: false},
|
||||
18: {sorter: false, filter: false},
|
||||
15: {sorter: false, filter: false},
|
||||
16: {sorter: false, filter: false},
|
||||
19: {sorter: false, filter: false},
|
||||
20: {sorter: false, filter: false},
|
||||
21: {sorter: false, filter: false}},
|
||||
21: {sorter: false, filter: false},
|
||||
22: {sorter: false, filter: false},
|
||||
23: {sorter: false, filter: false}},
|
||||
widgetOptions : {filter_functions : {
|
||||
// Add select menu to this column
|
||||
10 : {
|
||||
"True" : function(e, n, f, i, $r, c, data) { return /t/.test(e); },
|
||||
"False" : function(e, n, f, i, $r, c, data) { return /f/.test(e); }
|
||||
},
|
||||
12 : {
|
||||
"True" : function(e, n, f, i, $r, c, data) { return /t/.test(e); },
|
||||
"False" : function(e, n, f, i, $r, c, data) { return /f/.test(e); }
|
||||
},
|
||||
15 : {
|
||||
14 : {
|
||||
"True" : function(e, n, f, i, $r, c, data) { return /t/.test(e); },
|
||||
"False" : function(e, n, f, i, $r, c, data) { return /f/.test(e); }
|
||||
},
|
||||
16 : {
|
||||
17 : {
|
||||
"True" : function(e, n, f, i, $r, c, data) { return /t/.test(e); },
|
||||
"False" : function(e, n, f, i, $r, c, data) { return /f/.test(e); }
|
||||
},
|
||||
18 : {
|
||||
"True" : function(e, n, f, i, $r, c, data) { return /t/.test(e); },
|
||||
"False" : function(e, n, f, i, $r, c, data) { return /f/.test(e); }
|
||||
}
|
||||
@@ -730,7 +777,6 @@ echo '
|
||||
}
|
||||
else
|
||||
return true;
|
||||
|
||||
}
|
||||
function changelehrevz(lvid, lehrevz)
|
||||
{
|
||||
@@ -855,6 +901,27 @@ echo '
|
||||
});
|
||||
}
|
||||
|
||||
function changelehrmodus(lvid, lm)
|
||||
{
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"lehrveranstaltung.php",
|
||||
data:{ "lvid": lvid, "lm": lm },
|
||||
success: function(data)
|
||||
{
|
||||
if(data!="true")
|
||||
alert("ERROR:"+data)
|
||||
else
|
||||
{
|
||||
$("#lm"+lvid).css("background-color", "lightgreen");
|
||||
window.setTimeout(function(){$("#lm"+lvid).css("background-color", "");}, 500);
|
||||
}
|
||||
|
||||
},
|
||||
error: function() { alert("error"); }
|
||||
});
|
||||
}
|
||||
|
||||
function copylvinfo(lvid, source_id)
|
||||
{
|
||||
$.ajax({
|
||||
@@ -922,14 +989,25 @@ echo '
|
||||
{
|
||||
return confirm("Diese Lehrveranstaltung wirklich löschen?");
|
||||
}
|
||||
|
||||
function openDetailTag()
|
||||
{
|
||||
var details = document.getElementById("detailTag");
|
||||
if(document.getElementById("lehrveranstaltung_name").value!=""
|
||||
|| document.getElementById("select_oe_kurzbz").value!=""
|
||||
|| document.getElementById("lehrveranstaltung_id").value!="")
|
||||
{
|
||||
details.open = true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.tablesorter-default input.tablesorter-filter
|
||||
{
|
||||
padding: 0 4px;
|
||||
}
|
||||
table.tablesorter tbody td
|
||||
table.tablesorter tbody td
|
||||
{
|
||||
padding: 0 4px;
|
||||
}
|
||||
@@ -991,8 +1069,10 @@ if ($result_lv!=0)
|
||||
<th>Bezeichnung English</th>
|
||||
<th>Lehrform</th>
|
||||
<th>Lehrtyp</th>
|
||||
<th>Lehrmodus</th>
|
||||
<th>Stg</th>\n
|
||||
<th>Orgform</th>
|
||||
<th>Organisationseinheit</th>
|
||||
<th title='Semesterstunden'>SS</th>
|
||||
<th>ECTS</th>
|
||||
<th>Lehre</th>
|
||||
@@ -1034,48 +1114,96 @@ if ($result_lv!=0)
|
||||
else
|
||||
echo $db->convert_html_chars($row->bezeichnung);
|
||||
echo '</td>';
|
||||
|
||||
|
||||
//Bezeichnung Englisch
|
||||
echo '<td>';
|
||||
echo $db->convert_html_chars($row->bezeichnung_english);
|
||||
echo '</td>';
|
||||
|
||||
//Lehrform
|
||||
echo '<td style="white-space:nowrap;">';
|
||||
echo '<SELECT style="width:80px;" id="lf'.$row->lehrveranstaltung_id.'">';
|
||||
echo '<option value="">--</option>';
|
||||
foreach ($lf as $lehrform=>$lf_kz)
|
||||
if($write_admin)
|
||||
{
|
||||
if($lehrform==$row->lehrform_kurzbz)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
echo '<option value="'.$db->convert_html_chars($lehrform).'" '.$selected.'>'.$db->convert_html_chars($lf_kz['lehrform_kurzbz']).' '.$db->convert_html_chars($lf_kz['bezeichnung']).'</option>';
|
||||
echo '<td style="white-space:nowrap;">';
|
||||
echo '<SELECT style="width:80px;" id="lf'.$row->lehrveranstaltung_id.'">';
|
||||
echo '<option value="">--</option>';
|
||||
foreach ($lf as $lehrform=>$lf_kz)
|
||||
{
|
||||
if($lehrform == $row->lehrform_kurzbz)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
echo '<option value="'.$db->convert_html_chars($lehrform).'" '.$selected.'>'.$db->convert_html_chars($lf_kz['lehrform_kurzbz']).' '.$db->convert_html_chars($lf_kz['bezeichnung']).'</option>';
|
||||
}
|
||||
echo '</SELECT><input type="button" value="ok" id="lf'.$row->lehrveranstaltung_id.'" onclick="changelehrform(\''.$row->lehrveranstaltung_id.'\',$(\'#lf'.$row->lehrveranstaltung_id.'\').val())">';
|
||||
echo '</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<td>';
|
||||
foreach ($lf as $lehrform=>$lf_kz)
|
||||
{
|
||||
if($lehrform == $row->lehrform_kurzbz)
|
||||
echo $db->convert_html_chars($lf_kz['lehrform_kurzbz']). ' '. $db->convert_html_chars($lf_kz['bezeichnung']);
|
||||
}
|
||||
echo '</td>';
|
||||
}
|
||||
echo '</SELECT><input type="button" value="ok" id="lf'.$row->lehrveranstaltung_id.'" onclick="changelehrform(\''.$row->lehrveranstaltung_id.'\',$(\'#lf'.$row->lehrveranstaltung_id.'\').val())">';
|
||||
echo '</td>';
|
||||
|
||||
//Lehrtyp
|
||||
echo '<td style="white-space:nowrap;">';
|
||||
echo '<SELECT id="lt'.$row->lehrveranstaltung_id.'">';
|
||||
echo '<option value="">--</option>';
|
||||
foreach ($lt as $lehrtyp=>$lt_kz)
|
||||
if($write_admin)
|
||||
{
|
||||
if($lehrtyp==$row->lehrtyp_kurzbz)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
echo '<option value="'.$db->convert_html_chars($lehrtyp).'" '.$selected.'>'.$db->convert_html_chars($lt_kz['bezeichnung']).'</option>';
|
||||
echo '<td style="white-space:nowrap;">';
|
||||
echo '<SELECT id="lt'.$row->lehrveranstaltung_id.'">';
|
||||
echo '<option value="">--</option>';
|
||||
foreach ($lt as $lehrtyp=>$lt_kz)
|
||||
{
|
||||
if($lehrtyp == $row->lehrtyp_kurzbz)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
echo '<option value="'.$db->convert_html_chars($lehrtyp).'" '.$selected.'>'.$db->convert_html_chars($lt_kz['bezeichnung']).'</option>';
|
||||
}
|
||||
echo '</SELECT><input type="button" value="ok" id="lf'.$row->lehrveranstaltung_id.'" onclick="changelehrtyp(\''.$row->lehrveranstaltung_id.'\',$(\'#lt'.$row->lehrveranstaltung_id.'\').val())">';
|
||||
echo '</td>';
|
||||
}
|
||||
echo '</SELECT><input type="button" value="ok" id="lf'.$row->lehrveranstaltung_id.'" onclick="changelehrtyp(\''.$row->lehrveranstaltung_id.'\',$(\'#lt'.$row->lehrveranstaltung_id.'\').val())">';
|
||||
else
|
||||
{
|
||||
echo '<td>';
|
||||
foreach ($lt as $lehrtyp=>$lt_kz)
|
||||
{
|
||||
if($lehrtyp == $row->lehrtyp_kurzbz)
|
||||
echo $db->convert_html_chars($lt_kz['bezeichnung']);
|
||||
}
|
||||
echo '</td>';
|
||||
}
|
||||
|
||||
//lehrmodus
|
||||
echo '<td style="white-space:nowrap;">';
|
||||
echo '<SELECT id="lm'.$row->lehrveranstaltung_id.'">';
|
||||
echo '<option value="">--</option>';
|
||||
foreach ($lm as $lehrmodus => $lm_kz)
|
||||
{
|
||||
if($lehrmodus == $row->lehrmodus_kurzbz)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
echo '<option value="'.$db->convert_html_chars($lehrmodus).'" '.$selected.'>'
|
||||
.$db->convert_html_chars($lm_kz['bezeichnung_mehrsprachig']).'</option>';
|
||||
}
|
||||
echo '</SELECT><input type="button" value="ok" id="lf'.$row->lehrveranstaltung_id.'" onclick="changelehrmodus(\''.$row->lehrveranstaltung_id.'\',$(\'#lm'.$row->lehrveranstaltung_id.'\').val())">';
|
||||
echo '</td>';
|
||||
|
||||
//Studiengang
|
||||
echo '<td>'.$db->convert_html_chars($s[$row->studiengang_kz]->kurzbz).'</td>';
|
||||
|
||||
//Organisationsform
|
||||
echo '<td style="white-space:nowrap;">';
|
||||
echo ($row->orgform_kurzbz!=''?$db->convert_html_chars($row->orgform_kurzbz):' ');
|
||||
echo '</td>';
|
||||
|
||||
//Organisationseinheit
|
||||
echo '<td>'.($row->oe_kurzbz != ''?$db->convert_html_chars($row->organisationseinheittyp_kurzbz.' '.$row->oe_bezeichnung):'-').'</td>';
|
||||
|
||||
//Semesterstunden
|
||||
echo '<td>'.($row->semesterstunden!=''?$db->convert_html_chars($row->semesterstunden):'-').'</td>';
|
||||
//ECTS
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
require_once('../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/lehrtyp.class.php');
|
||||
require_once('../../include/lehrmodus.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
@@ -104,6 +105,7 @@
|
||||
$lv->projektarbeit = isset($_POST['projektarbeit']);
|
||||
$lv->orgform_kurzbz = $_POST['orgform_kurzbz'];
|
||||
$lv->lehrtyp_kurzbz = $_POST['lehrtyp_kurzbz'];
|
||||
$lv->lehrmodus_kurzbz = $_POST['lehrmodus_kurzbz'];
|
||||
$lv->oe_kurzbz = $_POST['oe_kurzbz'];
|
||||
$lv->raumtyp_kurzbz = $_POST['raumtyp_kurzbz'];
|
||||
$lv->anzahlsemester = $_POST['anzahlsemester'];
|
||||
@@ -172,6 +174,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (isset($_REQUEST['lv_id']) || isset($_REQUEST['neu']))
|
||||
{
|
||||
//wenn ein Fehler beim Speichern auftritt, dann sollen die alten Daten nochmals
|
||||
@@ -283,6 +286,26 @@
|
||||
$htmlstr .= '</select></td>
|
||||
</tr>';
|
||||
|
||||
$htmlstr .= '
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>Lehrmodus*</td>
|
||||
<td><select name="lehrmodus_kurzbz"><option value="">-- keine Auswahl --</option>';
|
||||
|
||||
$lehrmodus_arr = new lehrmodus();
|
||||
$lehrmodus_arr->getAll();
|
||||
$sprache = getSprache();
|
||||
foreach ($lehrmodus_arr->result as $lehrmodus)
|
||||
{
|
||||
if ($lehrmodus->lehrmodus_kurzbz == $lv->lehrmodus_kurzbz)
|
||||
$sel = ' selected';
|
||||
else
|
||||
$sel = '';
|
||||
$htmlstr .= '<option value="'.$lehrmodus->lehrmodus_kurzbz.'" '.$sel.'>'.$lehrmodus->bezeichnung_mehrsprachig[$sprache].'</option>';
|
||||
}
|
||||
|
||||
$htmlstr .= '<tr>
|
||||
<td>Sort</td>
|
||||
<td><input type="text" name="sort" value="'.$lv->sort.'" maxlength="2"></td>
|
||||
@@ -601,6 +624,16 @@
|
||||
error = true;
|
||||
$('select[name="lehrtyp_kurzbz"]').addClass("missingFormData");
|
||||
}
|
||||
if($('select[name="lehrmodus_kurzbz"]').val() === "")
|
||||
{
|
||||
error = true;
|
||||
$('select[name="lehrmodus_kurzbz"]').addClass("missingFormData");
|
||||
}
|
||||
if($('input[name="lehreverzeichnis"]').val() === "")
|
||||
{
|
||||
error = true;
|
||||
$('input[name="lehreverzeichnis"]').addClass("missingFormData");
|
||||
}
|
||||
if($('input[name="lehreverzeichnis"]').val() === "")
|
||||
{
|
||||
error = true;
|
||||
|
||||
@@ -67,6 +67,13 @@ echo '<!DOCTYPE HTML>
|
||||
});
|
||||
|
||||
$("#t1").checkboxes("range", true);
|
||||
|
||||
$("#select_studiensemester_kurzbz_from").change(function()
|
||||
{
|
||||
var index = $(this).prop("selectedIndex");
|
||||
index = index+3;
|
||||
$("#select_studiensemester_kurzbz_to :nth-child("+index+")").prop("selected", true);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<title>Studienplan Semester Vorrückung</title>
|
||||
@@ -96,10 +103,10 @@ if($studiensemester_kurzbz_to == '')
|
||||
|
||||
echo '<form action="studienplan_vorrueckung.php" method="POST">';
|
||||
|
||||
echo ' Quelle: <select name="studiensemester_kurzbz_from" />';
|
||||
echo ' Quelle: <select id="select_studiensemester_kurzbz_from" name="studiensemester_kurzbz_from" />';
|
||||
|
||||
$stsem = new studiensemester();
|
||||
$stsem->getAll();
|
||||
$stsem->getPlusMinus(null,10,'ende ASC');
|
||||
|
||||
foreach($stsem->studiensemester as $row)
|
||||
{
|
||||
@@ -113,10 +120,7 @@ foreach($stsem->studiensemester as $row)
|
||||
}
|
||||
echo '</select>';
|
||||
|
||||
echo ' Ziel:<select name="studiensemester_kurzbz_to" />';
|
||||
|
||||
$stsem = new studiensemester();
|
||||
$stsem->getAll();
|
||||
echo ' Ziel:<select id="select_studiensemester_kurzbz_to" name="studiensemester_kurzbz_to" />';
|
||||
|
||||
foreach($stsem->studiensemester as $row)
|
||||
{
|
||||
@@ -168,7 +172,7 @@ if(isset($_POST['show']) && $studiensemester_kurzbz_from != '' && $studiensemest
|
||||
studienplan.sprache
|
||||
FROM lehre.tbl_studienplan studienplan
|
||||
JOIN lehre.tbl_studienplan_semester USING (studienplan_id)
|
||||
JOIN lehre.tbl_studienordnung USING (studienordnung_id)
|
||||
JOIN lehre.tbl_studienordnung sto USING (studienordnung_id)
|
||||
JOIN PUBLIC.tbl_studiengang USING (studiengang_kz)
|
||||
WHERE tbl_studienplan_semester.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz_from, FHC_STRING)."
|
||||
AND NOT EXISTS (
|
||||
@@ -179,60 +183,78 @@ if(isset($_POST['show']) && $studiensemester_kurzbz_from != '' && $studiensemest
|
||||
AND orgform_kurzbz = studienplan.orgform_kurzbz
|
||||
AND studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz_to, FHC_STRING)."
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM lehre.tbl_studienplan_semester
|
||||
JOIN lehre.tbl_studienplan USING (studienplan_id)
|
||||
JOIN lehre.tbl_studienordnung USING (studienordnung_id)
|
||||
WHERE orgform_kurzbz = studienplan.orgform_kurzbz
|
||||
AND studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz_to, FHC_STRING)."
|
||||
AND studiengang_kz = sto.studiengang_kz
|
||||
)
|
||||
AND tbl_studiengang.typ IN ('b', 'm', 'l')
|
||||
AND studienplan.onlinebewerbung_studienplan = true
|
||||
AND tbl_studienplan_semester.semester = 1
|
||||
ORDER BY studiengang";
|
||||
AND studienplan.onlinebewerbung_studienplan = true";
|
||||
if (substr($studiensemester_kurzbz_from,0,2) == 'SS')
|
||||
{
|
||||
$qry .= " AND tbl_studienplan_semester.semester = 2";
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry .= " AND tbl_studienplan_semester.semester = 1";
|
||||
}
|
||||
$qry .= " ORDER BY studiengang";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
echo '<br>Anzahl: '.$db->db_num_rows($result);
|
||||
//$pruefling = new pruefling();
|
||||
|
||||
echo '<form action="studienplan_vorrueckung.php" method="POST">';
|
||||
echo '<input type="hidden" name="show">';
|
||||
echo '<input type="hidden" value="'.$studiensemester_kurzbz_from.'" name="studiensemester_kurzbz_from">';
|
||||
echo '<input type="hidden" value="'.$studiensemester_kurzbz_to.'" name="studiensemester_kurzbz_to">';
|
||||
echo '<table id="t1" class="tablesorter" style="width: unset">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align: center">
|
||||
<nobr>
|
||||
<a href="#" id="toggle_t1" data-toggle="checkboxes" data-action="toggle" ><img src="../../skin/images/checkbox_toggle.png" name="toggle"></a>
|
||||
<a href="#" id="uncheck_t1" data-toggle="checkboxes" data-action="uncheck" ><img src="../../skin/images/checkbox_uncheck.png" name="toggle"></a>
|
||||
</nobr>
|
||||
</th>
|
||||
<th>Studiengang</th>
|
||||
<th>Organisationsform</th>
|
||||
<th>Bezeichnung</th>
|
||||
<th>Sprache</th>
|
||||
<th>Studienplan ID</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>';
|
||||
while($row = $db->db_fetch_object($result))
|
||||
|
||||
if ($db->db_num_rows($result) > 0)
|
||||
{
|
||||
echo '
|
||||
<tr>
|
||||
<td><input type="checkbox" class="chkbox" name="studienplaene[]" value="'.$row->studienplan_id.'" checked="checked"></td>
|
||||
<td>'.$row->studiengang.'</td>
|
||||
<td>'.$row->orgform_kurzbz.'</td>
|
||||
<td>'.$row->bezeichnung.'</td>
|
||||
<td>'.$row->sprache.'</td>
|
||||
<td>'.$row->studienplan_id.'</td>
|
||||
</tr>';
|
||||
echo '<form action="studienplan_vorrueckung.php" method="POST">';
|
||||
echo '<input type="hidden" name="show">';
|
||||
echo '<input type="hidden" value="'.$studiensemester_kurzbz_from.'" name="studiensemester_kurzbz_from">';
|
||||
echo '<input type="hidden" value="'.$studiensemester_kurzbz_to.'" name="studiensemester_kurzbz_to">';
|
||||
echo '<table id="t1" class="tablesorter" style="width: unset">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align: center">
|
||||
<nobr>
|
||||
<a href="#" id="toggle_t1" data-toggle="checkboxes" data-action="toggle" ><img src="../../skin/images/checkbox_toggle.png" name="toggle"></a>
|
||||
<a href="#" id="uncheck_t1" data-toggle="checkboxes" data-action="uncheck" ><img src="../../skin/images/checkbox_uncheck.png" name="toggle"></a>
|
||||
</nobr>
|
||||
</th>
|
||||
<th>Studiengang</th>
|
||||
<th>Organisationsform</th>
|
||||
<th>Bezeichnung</th>
|
||||
<th>Sprache</th>
|
||||
<th>Studienplan ID</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>';
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
echo '
|
||||
<tr>
|
||||
<td><input type="checkbox" class="chkbox" name="studienplaene[]" value="'.$row->studienplan_id.'" checked="checked"></td>
|
||||
<td>'.$row->studiengang.'</td>
|
||||
<td>'.$row->orgform_kurzbz.'</td>
|
||||
<td>'.$row->bezeichnung.'</td>
|
||||
<td>'.$row->sprache.'</td>
|
||||
<td>'.$row->studienplan_id.'</td>
|
||||
</tr>';
|
||||
}
|
||||
echo "</tbody></table>";
|
||||
if ($rechte->isBerechtigt('lehre/studienordnung', null, 'suid'))
|
||||
{
|
||||
echo '<button type="submit" name="vorruecken">Ausgewählte Studienpläne vorrücken</button>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<button name="vorruecken" disabled>Ausgewählte Studienpläne vorrücken</button> Keine Berechtigung zum Vorrücken von Studienplänen';
|
||||
}
|
||||
|
||||
echo '</form>';
|
||||
}
|
||||
echo "</tbody></table>";
|
||||
if($rechte->isBerechtigt('lehre/studienordnung', null, 'suid'))
|
||||
{
|
||||
echo '<button type="submit" name="vorruecken">Ausgewählte Studienpläne vorrücken</button>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<button name="vorruecken" disabled>Ausgewählte Studienpläne vorrücken</button> Keine Berechtigung zum Vorrücken von Studienplänen';
|
||||
}
|
||||
|
||||
echo '</form>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
|
||||
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
||||
* Manuela Thamer < manuela.thamer@technikum-wien.at >
|
||||
*/
|
||||
/**
|
||||
* Vorrückung aller AKTIVEN Studenten.
|
||||
@@ -32,6 +33,7 @@ require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/lehrverband.class.php');
|
||||
require_once('../../include/studienordnung.class.php');
|
||||
require_once('../../include/studienplan.class.php');
|
||||
require_once('../../include/statusgrund.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
@@ -301,6 +303,16 @@ if (isset($_POST['vorr']))
|
||||
}
|
||||
}
|
||||
|
||||
//auf statusgrund_kurzbz abfragen
|
||||
$statusgrundObj = new statusgrund($row_status->statusgrund_id);
|
||||
$statusgrundId = null;
|
||||
if ($statusgrundObj->statusgrund_kurzbz === "prewiederholer" && $row_status->ausbildungssemester > 1)
|
||||
{
|
||||
$s = $row->semester_stlv - 1;
|
||||
$ausbildungssemester = $row_status->ausbildungssemester - 1;
|
||||
$statusgrundId = $statusgrundObj->getByStatusgrundKurzbz('wiederholer')->statusgrund_id;
|
||||
}
|
||||
|
||||
$lvb = new lehrverband();
|
||||
|
||||
//Lehrverbandgruppe anlegen, wenn noch nicht vorhanden
|
||||
@@ -364,14 +376,15 @@ if (isset($_POST['vorr']))
|
||||
//Eintragen des neuen Status
|
||||
$sql .= "INSERT INTO public.tbl_prestudentstatus (prestudent_id, status_kurzbz,
|
||||
studiensemester_kurzbz, ausbildungssemester, datum, insertamum,
|
||||
insertvon, updateamum, updatevon, ext_id, orgform_kurzbz, studienplan_id)
|
||||
insertvon, updateamum, updatevon, ext_id, orgform_kurzbz, studienplan_id, statusgrund_id)
|
||||
VALUES (".$db->db_add_param($row->prestudent_id).", ".
|
||||
$db->db_add_param($row_status->status_kurzbz).", ".
|
||||
$db->db_add_param($next_ss).", ".
|
||||
$db->db_add_param($ausbildungssemester).", now(), now(), ".
|
||||
$db->db_add_param($user).", NULL, NULL, NULL, ".
|
||||
$db->db_add_param($row_status->orgform_kurzbz).", ".
|
||||
$db->db_add_param($studienplan_id).");";
|
||||
$db->db_add_param($studienplan_id).", ".
|
||||
$db->db_add_param($statusgrundId).");";
|
||||
}
|
||||
if ($sql != '')
|
||||
{
|
||||
@@ -408,7 +421,7 @@ $outp .= '
|
||||
<tr>
|
||||
<td>Studiengang:</td>
|
||||
<td>
|
||||
<SELECT name="stg_kz">';
|
||||
<SELECT name="stg_kz" onchange="document.location.href=this.value">';
|
||||
|
||||
//Auswahl Studiengang
|
||||
foreach ($studiengang as $stg)
|
||||
@@ -420,7 +433,7 @@ foreach ($studiengang as $stg)
|
||||
$url .= "&studiensemester_kurzbz_akt=$studiensemester_kurzbz_akt";
|
||||
$url .= "&studiensemester_kurzbz_zk=$studiensemester_kurzbz_zk";
|
||||
|
||||
$outp .= "<OPTION onclick=\"window.location.href='".$url."'\" ".($stg->studiengang_kz == $stg_kz?'selected':'').">";
|
||||
$outp .= "<OPTION value='" . $url . "' " . ($stg->studiengang_kz == $stg_kz ? 'selected' : '') . ">";
|
||||
$outp .= "$stg->kurzbzlang ($stg->kuerzel) - $stg->bezeichnung</OPTION>";
|
||||
if (!isset($s[$stg->studiengang_kz]))
|
||||
$s[$stg->studiengang_kz] = new stdClass();
|
||||
@@ -435,17 +448,12 @@ $outp .= '</SELECT>
|
||||
$outp .= "
|
||||
<tr>
|
||||
<td>Angezeigtes Studiensemester:</td>
|
||||
<td><select name='studiensemester_kurzbz'>\n";
|
||||
<td><select name='studiensemester_kurzbz' onchange='document.location.href=this.value'>\n";
|
||||
|
||||
if (isset($ss_arr) && is_array($ss_arr))
|
||||
{
|
||||
foreach ($ss_arr as $sts)
|
||||
{
|
||||
if ($studiensemester_kurzbz == $sts)
|
||||
$sel = " selected ";
|
||||
else
|
||||
$sel = '';
|
||||
|
||||
$url = $_SERVER['PHP_SELF']."?stg_kz=$stg_kz";
|
||||
$url .= "&semester=$semester";
|
||||
$url .= "&semesterv=$semesterv";
|
||||
@@ -453,7 +461,7 @@ if (isset($ss_arr) && is_array($ss_arr))
|
||||
$url .= "&studiensemester_kurzbz_akt=$studiensemester_kurzbz_akt";
|
||||
$url .= "&studiensemester_kurzbz_zk=$studiensemester_kurzbz_zk";
|
||||
|
||||
$outp .= "<option value='".$sts."' ".$sel."onclick=\"window.location.href = '".$url."'\">".$sts."</option>";
|
||||
$outp .= "<option value='" .$url ."' " . ($studiensemester_kurzbz == $sts ? 'selected' : '') . ">".$sts."</option>";
|
||||
}
|
||||
}
|
||||
$outp .= " </select>
|
||||
@@ -493,17 +501,12 @@ $outp .= '
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Ausgangs-Studiensemester:</td>
|
||||
<td><select name="studiensemester_kurzbz_akt">';
|
||||
<td><select name="studiensemester_kurzbz_akt" onchange="document.location.href=this.value">';
|
||||
|
||||
if (isset($ss_arr) && is_array($ss_arr))
|
||||
{
|
||||
foreach ($ss_arr as $sts2)
|
||||
{
|
||||
if ($studiensemester_kurzbz_akt == $sts2)
|
||||
$sel2 = " selected ";
|
||||
else
|
||||
$sel2 = '';
|
||||
|
||||
$url = $_SERVER['PHP_SELF']."?stg_kz=$stg_kz";
|
||||
$url .= "&semester=$semester";
|
||||
$url .= "&semesterv=$semesterv";
|
||||
@@ -511,7 +514,7 @@ if (isset($ss_arr) && is_array($ss_arr))
|
||||
$url .= "&studiensemester_kurzbz_akt=$sts2";
|
||||
$url .= "&studiensemester_kurzb_zk=$studiensemester_kurzbz_zk";
|
||||
|
||||
$outp .= "<option value='".$sts2."' ".$sel2."onclick=\"window.location.href = '".$url."'\">".$sts2."</option>";
|
||||
$outp .= "<option value='".$url ."' " . ($studiensemester_kurzbz_akt == $sts2 ? 'selected' : '') . ">".$sts2."</option>";
|
||||
}
|
||||
}
|
||||
$outp .= " </select>
|
||||
@@ -547,7 +550,7 @@ $outp .= '<A href="'.$url.'">alle</A> --
|
||||
$outp .= "
|
||||
<tr>
|
||||
<td>Ziel-Studiensemester:</td>
|
||||
<td><select name='studiensemester_kurzbz_zk'>\n";
|
||||
<td><select name='studiensemester_kurzbz_zk' onchange='document.location.href=this.value'>\n";
|
||||
|
||||
if (isset($ss_arr) && is_array($ss_arr))
|
||||
{
|
||||
@@ -565,7 +568,7 @@ if (isset($ss_arr) && is_array($ss_arr))
|
||||
$url .= "&studiensemester_kurzbz_akt=$studiensemester_kurzbz_akt";
|
||||
$url .= "&studiensemester_kurzbz_zk=$sts3";
|
||||
|
||||
$outp .= "<option value='".$sts3."' ".$sel3."onclick=\"window.location.href = '".$url."'\">".$sts3."</option>";
|
||||
$outp .= "<option value='" .$url ."' " . ($studiensemester_kurzbz_zk == $sts3 ? 'selected' : '') . ">".$sts3."</option>";
|
||||
}
|
||||
}
|
||||
$outp .= " </select>\n
|
||||
@@ -617,11 +620,12 @@ if ($result_std != 0)
|
||||
$row = $db->db_fetch_object($result_std, $i);
|
||||
$qry_status = "
|
||||
SELECT
|
||||
status_kurzbz, ausbildungssemester, tbl_studienplan.studienplan_id, tbl_studienplan.bezeichnung
|
||||
tbl_prestudentstatus.status_kurzbz, statusgrund_kurzbz, ausbildungssemester, tbl_studienplan.studienplan_id, tbl_studienplan.bezeichnung
|
||||
FROM
|
||||
public.tbl_prestudentstatus
|
||||
JOIN public.tbl_prestudent USING(prestudent_id)
|
||||
LEFT JOIN lehre.tbl_studienplan USING(studienplan_id)
|
||||
LEFT JOIN public.tbl_status_grund USING (statusgrund_id)
|
||||
WHERE
|
||||
person_id=".$db->db_add_param($row->person_id, FHC_INTEGER)."
|
||||
AND studiengang_kz=".$db->db_add_param($row->studiengang_kz, FHC_INTEGER)."
|
||||
@@ -638,6 +642,7 @@ if ($result_std != 0)
|
||||
if ($row_status = $db->db_fetch_object($result_status))
|
||||
{
|
||||
$status_kurzbz = $row_status->status_kurzbz;
|
||||
$statusgrund_kurzbz = $row_status->statusgrund_kurzbz;
|
||||
$ausbildungssemester = $row_status->ausbildungssemester;
|
||||
$studienplan_id = $row_status->studienplan_id;
|
||||
$studienplan_bezeichnung = $row_status->bezeichnung;
|
||||
|
||||
@@ -65,16 +65,14 @@ echo '<html>
|
||||
<head>
|
||||
<title>Zeitsperren (Urlaube) der MitarbeiterInnen</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" href="../../vendor/mottie/tablesorter/dist/css/theme.default.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../skin/jquery-ui-1.9.2.custom.min.css" type="text/css">
|
||||
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
|
||||
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/mottie/tablesorter/dist/js/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/mottie/tablesorter/dist/js/jquery.tablesorter.widgets.min.js"></script>
|
||||
<link rel="stylesheet" href="../../skin/jquery-ui-1.9.2.custom.min.css" type="text/css">';
|
||||
|
||||
include('../../include/meta/jquery.php');
|
||||
include('../../include/meta/jquery-tablesorter.php');
|
||||
|
||||
echo ' <script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<script language="Javascript">
|
||||
function confdel(val)
|
||||
{
|
||||
@@ -103,7 +101,8 @@ echo '<html>
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[3,1]],
|
||||
widgets: [\'zebra\', \'filter\']
|
||||
widgets: [\'zebra\', \'filter\'],
|
||||
headers : { 3 : { sorter: "shortDate", dateFormat: "ddmmyyyy" },4 : { sorter: "shortDate", dateFormat: "ddmmyyyy" } }
|
||||
});
|
||||
$( ".datepicker_datum" ).datepicker({
|
||||
changeMonth: true,
|
||||
@@ -149,6 +148,30 @@ if($action=='delete')
|
||||
$errormsg='Zeitsperre_id ist ungueltig';
|
||||
}
|
||||
|
||||
//Kopieren einer Zeitsperre
|
||||
if($action=='copy')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre', null, 'suid'))
|
||||
die('Sie haben keine Berechtigung für diese Aktion');
|
||||
|
||||
if($zeitsperre_id!='' && is_numeric($zeitsperre_id))
|
||||
{
|
||||
$zeitsperre = new zeitsperre($zeitsperre_id);
|
||||
$zeitsperre->new = true;
|
||||
|
||||
if($zeitsperre->save())
|
||||
{
|
||||
$message = 'Eintrag wurde erfolgreich kopiert';
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = "Fehler beim Kopieren der Zeitsperre: $zeitsperre->errormsg";
|
||||
}
|
||||
}
|
||||
else
|
||||
$errormsg='Zeitsperre_id ist ungueltig';
|
||||
}
|
||||
|
||||
if(isset($_POST['save']))
|
||||
{
|
||||
if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre', null, 'suid'))
|
||||
@@ -230,8 +253,9 @@ if($uid!='')
|
||||
<th>Freigegeben von, am</th>
|
||||
<th>Aktualisiert am</th>
|
||||
<th>Aktualisiert von</th>
|
||||
<th>edit</th>
|
||||
<th>delete</th>
|
||||
<th>Edit</th>
|
||||
<th>Copy</th>
|
||||
<th>Delete</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>';
|
||||
@@ -241,13 +265,14 @@ if($uid!='')
|
||||
echo "<td>$row->zeitsperre_id</td>";
|
||||
echo "<td>$row->zeitsperretyp_kurzbz</td>";
|
||||
echo "<td>$row->bezeichnung</td>";
|
||||
echo "<td>".$datum->formatDatum($row->vondatum,'d.m.Y')." ".($row->vonstunde!=''?'(Stunde '.$row->vonstunde.')':'')."</td>";
|
||||
echo "<td>".$datum->formatDatum($row->bisdatum,'d.m.Y')." ".($row->bisstunde!=''?'(Stunde '.$row->bisstunde.')':'')."</td>";
|
||||
echo "<td data-sorter='shortDate' data-date-format='dd.mm.yyyy'>".$datum->formatDatum($row->vondatum,'d.m.Y')." ".($row->vonstunde!=''?'(Stunde '.$row->vonstunde.')':'')."</td>";
|
||||
echo "<td data-sorter='shortDate' data-date-format='dd.mm.yyyy'>".$datum->formatDatum($row->bisdatum,'d.m.Y')." ".($row->bisstunde!=''?'(Stunde '.$row->bisstunde.')':'')."</td>";
|
||||
echo "<td>$row->vertretung_uid</td>";
|
||||
echo "<td>$row->freigabevon ".$datum->formatDatum($row->freigabeamum,'d.m.Y')."</td>";
|
||||
echo "<td>".$datum->formatDatum($row->updateamum,'d.m.Y H:i:s')."</td>";
|
||||
echo "<td>$row->updatevon</td>";
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=edit&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'><img src='../../skin/images/application_form_edit.png' alt='bearbeiten' title='bearbeiten' /></a></td>";
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=copy&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'><img src='../../skin/images/copy.png' alt='bearbeiten' title='bearbeiten' /></a></td>";
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=delete&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'' onclick='return confdel(\"$row->zeitsperretyp_kurzbz von ".$datum->formatDatum($row->vondatum,'d.m.Y')." bis ".$datum->formatDatum($row->bisdatum,'d.m.Y')."\")'><img src='../../skin/images/application_form_delete.png' alt='loeschen' title='loeschen'/></a></td>";
|
||||
echo '</tr>';
|
||||
}
|
||||
|
||||
@@ -3002,6 +3002,7 @@ else
|
||||
if ($erg->letzter_status == 'Abgewiesener')
|
||||
{
|
||||
$inaktiv = 'text-muted';
|
||||
$erg->prioritaet = 0;
|
||||
}
|
||||
echo "<tr id='row_".$erg->prestudent_id."'>
|
||||
<td class='textcentered ".$inaktiv."'>
|
||||
|
||||
@@ -1,177 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger < christian.paminger@technikum-wien.at >
|
||||
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
|
||||
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
||||
*/
|
||||
|
||||
|
||||
|
||||
// ***************************************************************
|
||||
// * Script zum Anzeigen und Zusammenlegen von
|
||||
// * doppelten Personen
|
||||
// ***************************************************************
|
||||
|
||||
//DB Verbindung herstellen
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/basis_db.class.php');
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
require_once('../../include/person.class.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
|
||||
$msg='';
|
||||
$outp='';
|
||||
$anfang='';
|
||||
$ende='';
|
||||
$person1='';
|
||||
$person2='';
|
||||
|
||||
if ((isset($_GET['person2']) || isset($_POST['person2']))&&(isset($_GET['person1']) || isset($_POST['person1'])))
|
||||
{
|
||||
//zusammenlegen der personen
|
||||
$person2=(isset($_GET['person2'])?$_GET['person2']:$_POST['person2']);
|
||||
$person1=(isset($_GET['person1'])?$_GET['person1']:$_POST['person1']);
|
||||
$sql_query_upd1="BEGIN;";
|
||||
$sql_query_upd1.="UPDATE public.tbl_benutzer SET person_id='$person1' WHERE person_id='$person2';";
|
||||
$sql_query_upd1.="UPDATE public.tbl_konto SET person_id='$person1' WHERE person_id='$person2';";
|
||||
$sql_query_upd1.="UPDATE public.tbl_prestudent SET person_id='$person1' WHERE person_id='$person2';";
|
||||
//$sql_query_upd1.="UPDATE sync.tbl_syncperson SET person_portal='$radio_2' WHERE person_portal='$radio_1';";
|
||||
$sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer1='$person1' WHERE pruefer1='$person2';";
|
||||
$sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer2='$person1' WHERE pruefer2='$person2';";
|
||||
$sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer3='$person1' WHERE pruefer3='$person2';";
|
||||
$sql_query_upd1.="UPDATE lehre.tbl_projektbetreuer SET person_id='$person1' WHERE person_id='$person2';";
|
||||
$sql_query_upd1.="UPDATE public.tbl_adresse SET person_id='$person1' WHERE person_id='$person2';";
|
||||
$sql_query_upd1.="UPDATE public.tbl_akte SET person_id='$person1' WHERE person_id='$person2';";
|
||||
$sql_query_upd1.="UPDATE public.tbl_bankverbindung SET person_id='$person1' WHERE person_id='$person2';";
|
||||
$sql_query_upd1.="UPDATE public.tbl_kontakt SET person_id='$person1' WHERE person_id='$person2';";
|
||||
|
||||
$sql_query_upd1.="UPDATE wawi.tbl_betriebsmittelperson SET person_id='$person1' WHERE person_id='$person2';";
|
||||
|
||||
$sql_query_upd1.="DELETE FROM public.tbl_person WHERE person_id='$person2';";
|
||||
if($db->db_query($sql_query_upd1))
|
||||
{
|
||||
$msg = "Daten erfolgreich gespeichert<br>";
|
||||
$db->db_query("COMMIT;");
|
||||
$msg .= "<br>".mb_eregi_replace(';',';<br>',$sql_query_upd1);
|
||||
|
||||
if(@$db->db_query('SELECT person_portal FROM sync.tbl_syncperson LIMIT 1'))
|
||||
{
|
||||
$msg.= "<br><br>Sync-Tabelle wird aktualisiert";
|
||||
$sql_query_upd1="UPDATE sync.tbl_syncperson SET person_portal='$person1' WHERE person_portal='$person2';";
|
||||
$db->db_query($sql_query_upd1);
|
||||
$msg.= "<br>".mb_eregi_replace(';',';<br>',$sql_query_upd1)."COMMIT";
|
||||
}
|
||||
if(@$db->db_query('SELECT person_id FROM sync.tbl_syncperson LIMIT 1'))
|
||||
{
|
||||
$msg.= "<br><br>Sync-Tabelle wird aktualisiert";
|
||||
$sql_query_upd1="UPDATE sync.tbl_syncperson SET person_id='$radio_2' WHERE person_id='$radio_1';";
|
||||
$db->db_query($sql_query_upd1);
|
||||
$msg.= "<br>".mb_eregi_replace(';',';<br>',$sql_query_upd1)."COMMIT";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$msg = "Die Änderung konnte nicht durchgeführt werden!";
|
||||
$db->db_query("ROLLBACK;");
|
||||
$msg.= "<br>".mb_eregi_replace(';',';<br><b>',$sql_query_upd1)."ROLLBACK</b>";
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
|
||||
|
||||
<title>Personen-Auflistung von Mehrfacheinträgen</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<H1>Mehrfache Personendatensaetze</H1>
|
||||
|
||||
<?php
|
||||
echo $outp;
|
||||
//aufruf
|
||||
if ($msg=='')
|
||||
$msg="Diese Liste enthält die ersten 50 Personendatensätze, die offenbar mehrfach vorkommen.
|
||||
<br>Der Button in der erste Spalte gibt die Person_id des Datensatzes an, der entfernt werden soll.
|
||||
<br>Wird dieser Button angeklickt, werden alle anhängenden Daten dem Datensatz dieser Zeile (Person_id in Spalte 2) angehängt.
|
||||
<br>Dadurch kann es in Folge zu Doppeleinträgen bei diesen Datensätzen kommen (z.B. Adresse).";
|
||||
?>
|
||||
<br>
|
||||
<center><h2><?php echo "<span style=\"font-size:0.7em\">".$msg."</span>"; ?></h2></center>
|
||||
<br>
|
||||
<?php
|
||||
//Tabellen anzeigen
|
||||
//echo "<form name='form_table' action='personen_listedoppelte.php' method='POST'>";
|
||||
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
|
||||
echo "<tr>";
|
||||
|
||||
//Tabelle 1
|
||||
echo "<table class='liste'><tr class='liste'>";
|
||||
echo "<th>Alt.-ID</th>";
|
||||
echo "<th>ID</th>";
|
||||
echo "<th>Nachname</th>";
|
||||
echo "<th>Vorname</th>";
|
||||
echo "<th>Geburtsdatum</th>";
|
||||
echo "<th>SVNr</th>";
|
||||
echo "<th>Ersatzkennz.</th>";
|
||||
echo "<th>Ext-ID</th>";
|
||||
|
||||
$qry="SELECT person.person_id as person2, tbl_person.person_id AS person1, tbl_person.nachname as nachname1, tbl_person.vorname as vorname1, tbl_person.gebdatum as gebdatum1,
|
||||
tbl_person.svnr as svnr1, tbl_person.ersatzkennzeichen as ersatzkennzeichen1, tbl_person.ext_id as ext_id1, tbl_person.* FROM tbl_person person
|
||||
JOIN tbl_person ON (person.vorname=tbl_person.vorname AND person.nachname=tbl_person.nachname AND person.gebdatum=tbl_person.gebdatum AND person.person_id!=tbl_person.person_id
|
||||
AND person.person_id!=tbl_person.person_id) ORDER BY tbl_person.nachname
|
||||
LIMIT 50 ;";
|
||||
$i=0;
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($l=$db->db_fetch_object($result))
|
||||
{
|
||||
|
||||
echo "<tr class='liste".($i%2)."'>";
|
||||
echo "<td align='center' ><form name='form_table' action='personen_listedoppelte.php' method='POST'>
|
||||
<input type='hidden' name='person1' value='$l->person1'><input type='submit' name='person2' value='$l->person2'>
|
||||
</form></td>";
|
||||
echo "<td>$l->person1</td>";
|
||||
echo "<td>$l->nachname1</td>";
|
||||
echo "<td>$l->vorname1</td>";
|
||||
echo "<td>$l->gebdatum1</td>";
|
||||
echo "<td>$l->svnr1</td>";
|
||||
echo "<td>$l->ersatzkennzeichen1</td>";
|
||||
echo "<td>$l->ext_id1</td>";
|
||||
echo "</tr>";
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
echo "</table>";
|
||||
echo "</td>";
|
||||
//echo "<td valign='top'><input type='submit' value=' Weiter '></td>";
|
||||
echo "</tr></table>";
|
||||
//echo "</form>";
|
||||
|
||||
?>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -330,7 +330,7 @@ if($result = $db->db_query($qry))
|
||||
}
|
||||
echo '</SELECT>';
|
||||
}
|
||||
|
||||
echo ' <input type="checkbox" name="deletePruefling"> Auch Prüfling löschen ';
|
||||
echo ' <input type="submit" value="Dieses Teilgebiet löschen" name="deleteteilgebiet" onclick="return confirm(\'Antworten dieses Gebietes wirklich löschen?\')"> ';
|
||||
if(isset($_POST['deleteteilgebiet']))
|
||||
{
|
||||
@@ -526,6 +526,57 @@ if(isset($_POST['delete_all']))
|
||||
$db->errormsg = 'Fehler beim Loeschen der Daten';
|
||||
$db->db_query('ROLLBACK');
|
||||
}
|
||||
|
||||
// Wenn Option angeklickt ist, auch den Prüfling löschen
|
||||
if (isset($_POST['deletePruefling']) && $_POST['deletePruefling'] == 'on')
|
||||
{
|
||||
$qry = "SELECT * FROM testtool.tbl_pruefling WHERE prestudent_id=".$db->db_add_param($_POST['prestudent']).";
|
||||
";
|
||||
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
{
|
||||
$undo=" INSERT INTO testtool.tbl_pruefling(pruefling_id, studiengang_kz, idnachweis, registriert, prestudent_id, semester) VALUES (".
|
||||
$db->db_add_param($row->pruefling_id, FHC_INTEGER).', '.
|
||||
$db->db_add_param($row->studiengang_kz, FHC_INTEGER).', '.
|
||||
$db->db_add_param($row->idnachweis).', '.
|
||||
$db->db_add_param($row->registriert).', '.
|
||||
$db->db_add_param($row->prestudent_id, FHC_INTEGER).', '.
|
||||
$db->db_add_param($row->semester, FHC_INTEGER).');';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$db->errormsg = 'Fehler beim Erstellen des UNDO Befehls fuer testtool.tbl_pruefling';
|
||||
$db->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
$qry = "DELETE FROM testtool.tbl_pruefling WHERE prestudent_id=".$db->db_add_param($_POST['prestudent']).";";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
//Log schreiben
|
||||
$log = new log();
|
||||
|
||||
$log->new = true;
|
||||
$log->sql = $qry;
|
||||
$log->sqlundo = $undo;
|
||||
$log->executetime = date('Y-m-d H:i:s');
|
||||
$log->mitarbeiter_uid = $user;
|
||||
$log->beschreibung = "Prüfling von Prestudent ".$_POST['prestudent']." geloescht";
|
||||
|
||||
if(!$log->save())
|
||||
{
|
||||
$db->errormsg = 'Fehler beim Schreiben des Log-Eintrages';
|
||||
$db->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
|
||||
$db->db_query('COMMIT;');
|
||||
echo '<br/><b> Prüfling wurde gelöscht</b>';
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
echo '<span class="error">Um alle Antworten eines Prüflings zu löschen, wählen Sie im DropDown bitte "Alle Gebiete" aus</span>';
|
||||
|
||||
Reference in New Issue
Block a user