mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Merge branch 'master' into feature-6594/Studienerfolgsbestaetigung_Englisch_Studiengangstyp_anzeigen
This commit is contained in:
@@ -18,6 +18,8 @@ $config['ou_receivers'] = array('ass');
|
||||
$config['ou_receivers_no_notice'] = array('infocenter');
|
||||
// Organization units that will not send the notice email to the internal account, but to the private one
|
||||
$config['ou_receivers_private'] = array('eac', 'ewu', 'scs');
|
||||
//
|
||||
$config['ou_function_whitelist'] = array('ass', 'Leitung', 'fachzuordnung', 'oezuordnung');
|
||||
|
||||
$config['message_redirect_url'] = array();
|
||||
$config['message_redirect_url']['fallback'] = site_url('system/messages/ViewMessage/writeReply');
|
||||
|
||||
@@ -72,11 +72,18 @@ $config['navigation_header'] = array(
|
||||
'sort' => 40,
|
||||
'requiredPermissions' => 'basis/vilesci:r',
|
||||
'children'=> array(
|
||||
'messages' => array(
|
||||
'link' => site_url('system/messages/MessageClient/read'),
|
||||
'icon' => '',
|
||||
'target' => '_blank',
|
||||
'description' => 'Messages',
|
||||
'sort' => 10,
|
||||
),
|
||||
'bpk' => array(
|
||||
'link' => site_url('person/BPKWartung'),
|
||||
'icon' => '',
|
||||
'description' => 'BPK Wartung',
|
||||
'sort' => 10,
|
||||
'sort' => 20,
|
||||
'requiredPermissions' => 'admin:r'
|
||||
)
|
||||
)
|
||||
|
||||
@@ -149,10 +149,10 @@ class Message extends APIv1_Controller
|
||||
if (isSuccess($postMessage))
|
||||
{
|
||||
$result = $this->messagelib->sendMessageUser(
|
||||
$this->post()['receiver_id']), // receiverPersonId
|
||||
$this->post()['receiver_id'], // receiverPersonId
|
||||
$this->post()['subject'], // subject
|
||||
$this->post()['body'], // body
|
||||
$this->post()['person_id']) ? $this->post()['person_id'] : null, // sender_id
|
||||
$this->post()['person_id'] ? $this->post()['person_id'] : null, // sender_id
|
||||
isset($this->post()['oe_kurzbz']) ? $this->post()['oe_kurzbz'] : null, // senderOU
|
||||
isset($this->post()['relationmessage_id']) ? $this->post()['relationmessage_id'] : null, // relationmessage_id
|
||||
MSG_PRIORITY_NORMAL, // priority
|
||||
|
||||
@@ -1,20 +1,8 @@
|
||||
<?php
|
||||
/**
|
||||
* FH-Complete
|
||||
*
|
||||
* @package FHC-API
|
||||
* @author FHC-Team
|
||||
* @copyright Copyright (c) 2016, fhcomplete.org
|
||||
* @license GPLv3
|
||||
* @link http://fhcomplete.org
|
||||
* @since Version 1.0
|
||||
* @filesource
|
||||
*/
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
if (!defined("BASEPATH")) exit("No direct script access allowed");
|
||||
|
||||
class MailJob extends CLI_Controller
|
||||
class MailJob extends JOB_Controller
|
||||
{
|
||||
/**
|
||||
* API constructor
|
||||
@@ -28,11 +16,32 @@ class MailJob extends CLI_Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Send all not sent messages
|
||||
* Parameters are used to overrride messages and mail configuration
|
||||
* Send all the NOT sent notice emails for messaging system
|
||||
* The parameters are all not mandatory, they could be used to overrides the configs for testing, debug or one shot purposes
|
||||
*/
|
||||
public function sendMessages($numberToSent = null, $numberPerTimeRange = null, $emailTimeRange = null, $emailFromSystem = null)
|
||||
public function sendAllMessageEmailNotices($since = '1970-01-01', $numberToSent = null, $numberPerTimeRange = null, $emailTimeRange = null, $emailFromSystem = null)
|
||||
{
|
||||
$this->messagelib->sendAllNotices($numberToSent, $numberPerTimeRange, $emailTimeRange, $emailFromSystem);
|
||||
$this->logInfo('Send all message email notices started');
|
||||
|
||||
// Send them all!
|
||||
$sendAllEmailNotices = $this->messagelib->sendAllEmailNotices($since, $numberToSent, $numberPerTimeRange, $emailTimeRange, $emailFromSystem);
|
||||
|
||||
if (isError($sendAllEmailNotices))
|
||||
{
|
||||
$optionalParameters = new stdClass();
|
||||
$optionalParameters->$since = $since;
|
||||
$optionalParameters->$numberToSent = $numberToSent;
|
||||
$optionalParameters->$numberPerTimeRange = $numberPerTimeRange;
|
||||
$optionalParameters->$emailTimeRange = $emailTimeRange;
|
||||
$optionalParameters->$emailFromSystem = $emailFromSystem;
|
||||
|
||||
$this->logError($sendAllEmailNotices->retval, $optionalParameters);
|
||||
}
|
||||
elseif (!hasData($sendAllEmailNotices))
|
||||
{
|
||||
$this->logInfo('There were no unsent messages');
|
||||
}
|
||||
|
||||
$this->logInfo('Send all message email notices ended');
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -161,7 +161,7 @@ class Phrases extends Auth_Controller
|
||||
|
||||
$phrase_inhalt = $this->phraseslib->insertPhraseinhalt($data);
|
||||
if ($phrase_inhalt->error)
|
||||
show_error(getError($phrase_inhalt);
|
||||
show_error(getError($phrase_inhalt));
|
||||
|
||||
$phrase_inhalt_id = $phrase_inhalt->retval;
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@ class InfoCenter extends Auth_Controller
|
||||
// Name of Interessentenstatus
|
||||
const INTERESSENTSTATUS = 'Interessent';
|
||||
const ABGEWIESENERSTATUS = 'Abgewiesener';
|
||||
const BEWERBERSTATUS = 'Bewerber';
|
||||
|
||||
// Statusgruende for which no Studiengangsfreigabemessage should be sent
|
||||
private $_statusgruendeNoStgFreigabeMessage = array('FIT Programm', 'FIT program', 'FIT programme');
|
||||
@@ -493,7 +494,9 @@ class InfoCenter extends Auth_Controller
|
||||
|
||||
$logdata = $this->_getPersonAndStudiengangFromPrestudent($prestudent_id);
|
||||
|
||||
$akteresult = $this->AkteModel->loadWhere(array('person_id' => $logdata['person_id'], 'formal_geprueft_amum !=' => NULL));
|
||||
$person_id = $logdata['person_id'];
|
||||
|
||||
$akteresult = $this->AkteModel->loadWhere(array('person_id' => $person_id, 'formal_geprueft_amum !=' => NULL));
|
||||
|
||||
if (hasData($lastStatus) && isSuccess($akteresult))
|
||||
{
|
||||
@@ -529,6 +532,8 @@ class InfoCenter extends Auth_Controller
|
||||
if (isSuccess($result))
|
||||
{
|
||||
$this->load->model('crm/Dokumentprestudent_model', 'DokumentprestudentModel');
|
||||
$json->retval['nonCriticalErrors'] = array();
|
||||
$json->retval['infoMessages'] = array();
|
||||
|
||||
//set documents which have been formal geprüft to accepted
|
||||
$dokument_kurzbzs = array();
|
||||
@@ -542,7 +547,7 @@ class InfoCenter extends Auth_Controller
|
||||
|
||||
// acceptresult returns null if no documents to accept
|
||||
if ($acceptresult !== null && isError($acceptresult))
|
||||
$json->retval['nonCriticalErrors'] = 'error when accepting documents in FAS';
|
||||
$json->retval['nonCriticalErrors'][] = 'error when accepting documents in FAS';
|
||||
|
||||
$logparams = array($prestudent_id, $logdata['studiengang_kurzbz'], '');
|
||||
|
||||
@@ -554,8 +559,69 @@ class InfoCenter extends Auth_Controller
|
||||
if (hasData($statusgrund_kurzbz))
|
||||
$logparams[2] = ', confirmation type '.$statusgrund_kurzbz->retval[0]->bezeichnung_mehrsprachig[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
// check if there is already a Bewerberstatus and Reihungsverfahren already absolviert
|
||||
$bewerber = $this->PersonModel->hasBewerber($person_id, $lastStatus->studiensemester_kurzbz, 'b');
|
||||
|
||||
$this->_log($logdata['person_id'], 'freigegeben', $logparams);
|
||||
if (hasData($bewerber))
|
||||
{
|
||||
$bewerbercnt = getData($bewerber);
|
||||
|
||||
if (is_numeric($bewerbercnt[0]->anzahl_bewerber) && $bewerbercnt[0]->anzahl_bewerber > 0)
|
||||
{
|
||||
// then insert Bewerberstatus and rt absolviert, teilgenommen for prestudent
|
||||
$bewerberresult = $this->PrestudentstatusModel->insert(
|
||||
array(
|
||||
'prestudent_id' => $prestudent_id,
|
||||
'status_kurzbz' => self::BEWERBERSTATUS,
|
||||
'studiensemester_kurzbz' => $lastStatus->studiensemester_kurzbz,
|
||||
'ausbildungssemester' => $lastStatus->ausbildungssemester,
|
||||
'datum' => date('Y-m-d'),
|
||||
'orgform_kurzbz' => $lastStatus->orgform_kurzbz,
|
||||
'studienplan_id' => $lastStatus->studienplan_id,
|
||||
'insertvon' => $this->_uid,
|
||||
'insertamum' => date('Y-m-d H:i:s')
|
||||
)
|
||||
);
|
||||
|
||||
if (isError($bewerberresult))
|
||||
$json->retval['nonCriticalErrors'][] = 'error when inserting Bewerberstatus';
|
||||
|
||||
$rtangetretenres = $this->PrestudentModel->update(
|
||||
$prestudent_id,
|
||||
array(
|
||||
'reihungstestangetreten' => true
|
||||
)
|
||||
);
|
||||
|
||||
if (isError($rtangetretenres))
|
||||
{
|
||||
$json->retval['nonCriticalErrors'][] = 'error when setting reihungstestangetreten';
|
||||
}
|
||||
else
|
||||
{
|
||||
$json->retval['infoMessages'][] = $this->p->t('infocenter', 'rtPunkteEintragenInfo');
|
||||
$this->load->model('crm/RtPerson_model', 'RtPersonModel');
|
||||
|
||||
$rtteilgenommenres = $this->RtPersonModel->update(
|
||||
array(
|
||||
'person_id' => $person_id,
|
||||
'studienplan_id' => $lastStatus->studienplan_id
|
||||
),
|
||||
array(
|
||||
'teilgenommen' => true
|
||||
)
|
||||
);
|
||||
|
||||
if (isError($rtteilgenommenres))
|
||||
$json->retval['nonCriticalErrors'][] = 'error when setting reihungstest teilgenommen';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->_log($person_id, 'freigegeben', $logparams);
|
||||
|
||||
$this->_sendFreigabeMail($prestudent_id);
|
||||
}
|
||||
@@ -1496,7 +1562,7 @@ class InfoCenter extends Auth_Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends infomail with prestudent and person data when Prestudent is freigegeben
|
||||
* Sends infomail to Studiengang with prestudent and person data when Prestudent is freigegeben
|
||||
* @param $prestudent_id
|
||||
*/
|
||||
private function _sendFreigabeMail($prestudent_id)
|
||||
|
||||
@@ -92,9 +92,9 @@ class Messages extends Auth_Controller
|
||||
*/
|
||||
public function parseMessageText()
|
||||
{
|
||||
$receiver_id = $this->input->get('receiver_id');
|
||||
$text = $this->input->get('text');
|
||||
$type = $this->input->get('type');
|
||||
$receiver_id = $this->input->post('receiver_id');
|
||||
$text = $this->input->post('text');
|
||||
$type = $this->input->post('type');
|
||||
|
||||
if ($type == Messages_model::TYPE_PERSONS)
|
||||
{
|
||||
|
||||
@@ -15,6 +15,7 @@ class MessageLib
|
||||
const CFG_OU_RECEIVERS = 'ou_receivers';
|
||||
const CFG_OU_RECEIVERS_NO_NOTICE = 'ou_receivers_no_notice';
|
||||
const CFG_OU_RECEIVERS_PRIVATE = 'ou_receivers_private';
|
||||
const CFG_OU_FUNCTION_WHITELIST = 'ou_function_whitelist';
|
||||
const CFG_REDIRECT_VIEW_MESSAGE_URL = 'redirect_view_message_url';
|
||||
|
||||
// Templates names
|
||||
@@ -26,8 +27,6 @@ class MessageLib
|
||||
const EMAIL_KONTAKT_TYPE = 'email'; // Email kontakt type
|
||||
const SENT_INFO_NEWLINE = '\n'; // tbl_msg_recipient->sentInfo separator
|
||||
|
||||
const ALT_OE = 'infocenter'; // alternative organisation unit when no one is found for a presetudent
|
||||
|
||||
private $_ci;
|
||||
|
||||
/**
|
||||
@@ -139,27 +138,31 @@ class MessageLib
|
||||
// Public methods called by a job
|
||||
|
||||
/**
|
||||
* Gets all NOT sent messages from DB and sends for each of them the notice email
|
||||
* Does not return anything, it logs info and errors on CI logs and in tbl_msg_recipient table
|
||||
* Gets all messages for which notice emails are still not sent from DB and sends for each of them the notice email
|
||||
* Wrapper for _sendNoticeEmail.
|
||||
*/
|
||||
public function sendAllEmailNotices($numberToSent, $numberPerTimeRange, $emailTimeRange, $emailFromSystem)
|
||||
public function sendAllEmailNotices($since, $numberToSent, $numberPerTimeRange, $emailTimeRange, $emailFromSystem)
|
||||
{
|
||||
// Overrides MailLib configs with the given parameters
|
||||
$this->_ci->maillib->overrideConfigs($numberToSent, $numberPerTimeRange, $emailTimeRange, $emailFromSystem);
|
||||
|
||||
// Retrieves a certain amount of NOT sent messages, the amount is given by maillib->email_number_to_sent
|
||||
$messagesResult = $this->_ci->RecipientModel->getMessages(
|
||||
self::EMAIL_KONTAKT_TYPE,
|
||||
null,
|
||||
$this->_ci->maillib->getEmailNumberToSent()
|
||||
// Retrieves a certain amount of NOT sent messages
|
||||
$messagesResult = $this->_ci->RecipientModel->getNotSentMessages(
|
||||
$this->_ci->maillib->getEmailNumberToSent(),
|
||||
$since
|
||||
);
|
||||
|
||||
if (isError($messagesResult)) terminateWithError(getData($messagesResult)); // If an error occurred then log it and terminate
|
||||
if (isError($messagesResult) || !hasData($messagesResult)) return $messagesResult;
|
||||
|
||||
$sendNotice = $this->_sendNoticeEmails(getData($messagesResult));
|
||||
// Collects all the message ids in an array
|
||||
$messageIds = array();
|
||||
foreach (getData($messagesResult) as $message)
|
||||
{
|
||||
$messageIds[] = $message->message_id;
|
||||
}
|
||||
|
||||
if (isError($sendNotice)) terminateWithError(getData($sendNotice)); // If an error occurred then log it and terminate
|
||||
// Send'em all
|
||||
return $this->_sendNoticeEmails($messageIds);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------------
|
||||
@@ -221,13 +224,20 @@ class MessageLib
|
||||
$this->_ci->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel');
|
||||
|
||||
// Retrieves organisation units for a user from database
|
||||
$benutzer = $this->_ci->BenutzerfunktionModel->getByPersonId($sender_id);
|
||||
$benutzer = $this->_ci->BenutzerfunktionModel->getActiveFunctionsByPersonId($sender_id);
|
||||
if (isSuccess($benutzer)) // if everything is ok
|
||||
{
|
||||
$ouArray = array();
|
||||
|
||||
// Copies organisation units in $ouArray array
|
||||
foreach (getData($benutzer) as $val) $ouArray[] = $val->oe_kurzbz;
|
||||
foreach (getData($benutzer) as $val)
|
||||
{
|
||||
// If the function is in the white list then get the organisation unit
|
||||
if (in_array($val->funktion_kurzbz, $this->_ci->config->item(self::CFG_OU_FUNCTION_WHITELIST)))
|
||||
{
|
||||
$ouArray[] = $val->oe_kurzbz;
|
||||
}
|
||||
}
|
||||
|
||||
return success($ouArray);
|
||||
}
|
||||
@@ -494,7 +504,7 @@ class MessageLib
|
||||
* Stores the type of error in 'sentinfo' column keeping en eventual previous error
|
||||
* sent column is set to null
|
||||
*/
|
||||
private function _setSentError($message_id, $receiver_id, $sentInfo, $prevSentInfo)
|
||||
private function _updatedRecipientNoticeEmailInfo($message_id, $receiver_id, $sentInfo, $prevSentInfo)
|
||||
{
|
||||
if (!isEmptyString($prevSentInfo))
|
||||
{
|
||||
@@ -759,15 +769,15 @@ class MessageLib
|
||||
if (!$sent)
|
||||
{
|
||||
// Set in database why this email is NOT going to be send
|
||||
$sse = $this->_setSentError(
|
||||
$sse = $this->_updatedRecipientNoticeEmailInfo(
|
||||
$messageData->message_id,
|
||||
$messageData->receiver_id,
|
||||
'An error occurred while sending the notice email',
|
||||
$messageData->sentinfo
|
||||
'An error occurred while sending the notice email', // current info
|
||||
$messageData->sentinfo // previous info
|
||||
);
|
||||
|
||||
// If database error occurred then return it, otherwise return a logic error
|
||||
return isError($sse) ? $sse : error('An error occurred while sending the notice email');
|
||||
return isError($sse) ? $sse : error('An error occurred while updating the recipient notice email info');
|
||||
}
|
||||
else // success!
|
||||
{
|
||||
@@ -776,6 +786,27 @@ class MessageLib
|
||||
if (isError($sss)) return $sss; // If database error occurred then return it
|
||||
}
|
||||
}
|
||||
else // Because was not possible to find a valid contact
|
||||
{
|
||||
$reason = 'Was not possible to find a valid contact for this user'; // default reason
|
||||
|
||||
// In case that the organisation unit does not receive any email notices
|
||||
if (!isEmptyString($messageData->receiver_ou)) $reason = 'This organization unit does not receive email notices';
|
||||
|
||||
// In case that a degree program sent a message to a user without a valid contact or UID
|
||||
if (!isEmptyString($messageData->sender_ou)) $reason = 'Sent from a degree program to a user that does not have a valid UID or a valid contact';
|
||||
|
||||
// Set in database why this email is NOT going to be send
|
||||
$sse = $this->_updatedRecipientNoticeEmailInfo(
|
||||
$messageData->message_id,
|
||||
$messageData->receiver_id,
|
||||
$reason, // current info
|
||||
$messageData->sentinfo // previous info
|
||||
);
|
||||
|
||||
// If database error occurred then return it
|
||||
if (isError($sse)) return $sse;
|
||||
}
|
||||
}
|
||||
|
||||
return success('Notice emails sent successfully');
|
||||
|
||||
@@ -26,6 +26,8 @@ class Messages_model extends CI_Model
|
||||
const TYPE_PERSONS = 'persons';
|
||||
const TYPE_PRESTUDENTS = 'prestudents';
|
||||
|
||||
const ALT_OE = 'infocenter'; // alternative organisation unit when no one is found for a presetudent
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
@@ -106,7 +108,7 @@ class Messages_model extends CI_Model
|
||||
{
|
||||
$ouOptions .= sprintf(
|
||||
"\n".'<option value="%s">%s</option>',
|
||||
is_numeric($ou->prestudent_id) ? $ou->oe_kurzbz : MessageLib::ALT_OE,
|
||||
is_numeric($ou->prestudent_id) ? $ou->oe_kurzbz : self::ALT_OE,
|
||||
$ou->bezeichnung . (is_numeric($ou->prestudent_id) ? '' : ' *')
|
||||
);
|
||||
}
|
||||
@@ -509,7 +511,8 @@ class Messages_model extends CI_Model
|
||||
if (!hasData($message)) return error('No messages were saved in database');
|
||||
|
||||
// Write log entry
|
||||
$personLog = $this->_personLog($sender_id, $receiver_id, getData($message)[0]);
|
||||
// NOTE: $receiver_id and $sender_id are switched!!! Currently this is a workaround
|
||||
$personLog = $this->_personLog($receiver_id, $sender_id, getData($message)[0]);
|
||||
if (isError($personLog)) return $personLog;
|
||||
|
||||
return success('Messages sent successfully');
|
||||
|
||||
@@ -125,12 +125,12 @@ class Organisationseinheit_model extends DB_Model
|
||||
public function getChilds($oe_kurzbz, $includeinactive = false)
|
||||
{
|
||||
$query = "
|
||||
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
|
||||
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
|
||||
(
|
||||
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
|
||||
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
|
||||
WHERE oe_kurzbz=? %s
|
||||
UNION ALL
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
|
||||
WHERE o.oe_parent_kurzbz=oes.oe_kurzbz %s
|
||||
)
|
||||
SELECT oe_kurzbz
|
||||
@@ -150,12 +150,12 @@ class Organisationseinheit_model extends DB_Model
|
||||
public function getParents($oe_kurzbz, $includeinactive = false)
|
||||
{
|
||||
$query=
|
||||
"WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
|
||||
"WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
|
||||
(
|
||||
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
|
||||
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
|
||||
WHERE oe_kurzbz=? %s
|
||||
UNION ALL
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
|
||||
WHERE o.oe_kurzbz=oes.oe_parent_kurzbz %s
|
||||
)
|
||||
SELECT oe_kurzbz
|
||||
@@ -177,7 +177,7 @@ class Organisationseinheit_model extends DB_Model
|
||||
{
|
||||
$condition = '
|
||||
oe_kurzbz = (
|
||||
SELECT
|
||||
SELECT
|
||||
oe_parent_kurzbz
|
||||
FROM
|
||||
public.tbl_organisationseinheit
|
||||
|
||||
@@ -11,16 +11,20 @@ class Benutzerfunktion_model extends DB_Model
|
||||
$this->dbTable = 'public.tbl_benutzerfunktion';
|
||||
$this->pk = 'benutzerfunktion_id';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the Benutzerfunktion using the person_id
|
||||
*/
|
||||
public function getByPersonId($person_id)
|
||||
public function getActiveFunctionsByPersonId($person_id)
|
||||
{
|
||||
// Join with the table
|
||||
$this->addJoin('public.tbl_benutzer', 'uid');
|
||||
|
||||
return $this->loadWhere(array('person_id' => $person_id));
|
||||
$query = 'SELECT bf.*
|
||||
FROM public.tbl_benutzerfunktion bf
|
||||
JOIN public.tbl_benutzer b USING (uid)
|
||||
WHERE b.person_id = ?
|
||||
AND (bf.datum_von IS NULL OR bf.datum_von <= now())
|
||||
AND (bf.datum_bis IS NULL OR bf.datum_bis >= now())';
|
||||
|
||||
return $this->execQuery($query, array($person_id));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -213,4 +213,39 @@ class Person_model extends DB_Model
|
||||
|
||||
return $this->loadWhere(array('uid' => $uid, 'content' => true));
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if a person has a Bewerberstatus and reihungstestangetreten = true
|
||||
* @param $person_id
|
||||
* @param $studiensemester_kurzbz
|
||||
* @return array
|
||||
*/
|
||||
public function hasBewerber($person_id, $studiensemester_kurzbz, $studiengangtyp = null)
|
||||
{
|
||||
$parametersArray = array($person_id, $studiensemester_kurzbz);
|
||||
|
||||
$qry = "SELECT count(*) AS anzahl_bewerber FROM public.tbl_person
|
||||
JOIN public.tbl_prestudent USING (person_id)
|
||||
JOIN public.tbl_prestudentstatus ON tbl_prestudentstatus.prestudent_id = tbl_prestudent.prestudent_id";
|
||||
|
||||
if (isset($studiengangtyp))
|
||||
{
|
||||
$qry .= " JOIN lehre.tbl_studienplan USING(studienplan_id)
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
JOIN public.tbl_studiengang ON tbl_studienordnung.studiengang_kz = tbl_studiengang.studiengang_kz";
|
||||
}
|
||||
|
||||
$qry .= " WHERE person_id = ?
|
||||
AND studiensemester_kurzbz = ?
|
||||
AND tbl_prestudentstatus.status_kurzbz = 'Bewerber'
|
||||
AND reihungstestangetreten";
|
||||
|
||||
if (isset($studiengangtyp))
|
||||
{
|
||||
$parametersArray[] = $studiengangtyp;
|
||||
$qry .= " AND tbl_studiengang.typ = ?";
|
||||
}
|
||||
|
||||
return $this->execQuery($qry, $parametersArray);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -199,66 +199,24 @@ class Recipient_model extends DB_Model
|
||||
}
|
||||
|
||||
/**
|
||||
* getMessages
|
||||
* Gets all messages for which notice emails are still not sent
|
||||
*
|
||||
* Gets all the messages to be sent
|
||||
*
|
||||
* @param kontaktType specifies the type of the kontakt to get
|
||||
* @param sent specifies the status of the messages to get (NULL never sent, otherwise the shipping date)
|
||||
* @param limit specifies the number of messages to get
|
||||
* @param message_id specifies a single message
|
||||
* @param kontaktType specifies the type of the kontakt to get (email,...)
|
||||
* @param limit specifies the max number of messages to get
|
||||
* @param since specifies from which date messages have to be retrieved
|
||||
*/
|
||||
public function getMessages($kontaktType, $message_id = null, $limit = 1)
|
||||
public function getNotSentMessages($limit, $since)
|
||||
{
|
||||
$query = 'SELECT mm.message_id,
|
||||
ks.kontakt as sender,
|
||||
kr.kontakt as receiver,
|
||||
mu.mitarbeiter_uid as employeeContact,
|
||||
ms.mitarbeiter_uid as senderemployeeContact,
|
||||
mr.person_id as receiver_id,
|
||||
mr.token,
|
||||
mm.subject,
|
||||
mm.body,
|
||||
mr.sentinfo,
|
||||
mr.oe_kurzbz
|
||||
FROM public.tbl_msg_recipient mr INNER JOIN public.tbl_msg_message mm USING (message_id)
|
||||
LEFT JOIN (
|
||||
SELECT person_id, kontakt FROM public.tbl_kontakt WHERE zustellung = true AND kontakttyp = ?
|
||||
) ks ON (ks.person_id = mm.person_id)
|
||||
LEFT JOIN (
|
||||
SELECT person_id, kontakt FROM public.tbl_kontakt WHERE zustellung = true AND kontakttyp = ?
|
||||
) kr ON (kr.person_id = mr.person_id)
|
||||
LEFT JOIN (
|
||||
SELECT b.person_id,
|
||||
m.mitarbeiter_uid
|
||||
FROM public.tbl_benutzer b INNER JOIN public.tbl_mitarbeiter m ON(b.uid = m.mitarbeiter_uid)
|
||||
WHERE b.aktiv = TRUE
|
||||
) mu ON (mu.person_id = mr.person_id)
|
||||
LEFT JOIN (
|
||||
SELECT b.person_id,
|
||||
m.mitarbeiter_uid
|
||||
FROM public.tbl_benutzer b INNER JOIN public.tbl_mitarbeiter m ON(b.uid = m.mitarbeiter_uid)
|
||||
WHERE b.aktiv = TRUE
|
||||
) ms ON (ms.person_id = mm.person_id)
|
||||
WHERE mr.sent IS NULL';
|
||||
$query = 'SELECT mm.message_id
|
||||
FROM public.tbl_msg_recipient mr
|
||||
JOIN public.tbl_msg_message mm USING (message_id)
|
||||
WHERE mr.sent IS NULL
|
||||
AND mr.sentinfo IS NULL
|
||||
AND mm.insertamum > ?
|
||||
ORDER BY mr.insertamum ASC
|
||||
LIMIT ?';
|
||||
|
||||
$parametersArray = array($kontaktType, $kontaktType);
|
||||
|
||||
if (is_numeric($message_id))
|
||||
{
|
||||
array_push($parametersArray, $message_id);
|
||||
$query .= ' AND mm.message_id = ?';
|
||||
}
|
||||
|
||||
$query .= ' ORDER BY mr.insertamum ASC';
|
||||
|
||||
if (is_numeric($limit))
|
||||
{
|
||||
$query .= ' LIMIT ?';
|
||||
array_push($parametersArray, $limit);
|
||||
}
|
||||
|
||||
return $this->execQuery($query, $parametersArray);
|
||||
return $this->execQuery($query, array($since, $limit));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -69,13 +69,11 @@ $this->load->view(
|
||||
<table class="table table-bordered">
|
||||
<tr class="text-center">
|
||||
<td class="col-xs-1"><i class='fa fa-users'></i></td>
|
||||
<td class="col-xs-1"><img src="../../../public/images/icons/fa-user-tag.png" style="height: 30px; width: 30px;"></td>
|
||||
<td class="col-xs-1"><img src="../../../public/images/icons/fa-user-check.png" style="height: 30px; width: 30px;"></td>
|
||||
<td class="col-xs-1"><i class='fa fa-handshake-o'></i></td>
|
||||
</tr>
|
||||
<tr class="text-center">
|
||||
<td><b>Alle</b><br>Alle Lehraufträge mit jedem Status</td>
|
||||
<td><b>Bestellt</b><br>Nur bestellte UND bestellte Lehraufträge, die in Bearbeitung sind</td>
|
||||
<td><b>Erteilt</b><br>Nur erteilte UND geänderte Lehraufträge, die in Bearbeitung sind</td>
|
||||
<td><b>Angenommen</b><br>Nur von Ihnen angenommene Lehraufträge</td>
|
||||
</tr>
|
||||
@@ -148,9 +146,6 @@ $this->load->view(
|
||||
<button id="show-all" class="btn btn-default btn-lehrauftrag active focus" type="button"
|
||||
data-toggle="tooltip" data-placement="left" title="Alle anzeigen"><i class='fa fa-users'></i>
|
||||
</button>
|
||||
<button id="show-ordered" class="btn btn-default btn-lehrauftrag" type="button"
|
||||
data-toggle="tooltip" data-placement="left" title="Nur bestellte anzeigen">
|
||||
</button><!-- png img set in javascript -->
|
||||
<button id="show-approved" class="btn btn-default btn-lehrauftrag" type="button"
|
||||
data-toggle="tooltip" data-placement="left" title="Nur erteilte anzeigen">
|
||||
</button><!-- png img set in javascript -->
|
||||
@@ -166,12 +161,13 @@ $this->load->view(
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-offset-2 col-md-4 col-xs-6">
|
||||
<div class="input-group">
|
||||
<input id="password" type="password" class="form-control" placeholder="CIS-Passwort">
|
||||
<span class="input-group-btn">
|
||||
<button id="accept-lehrauftraege" class="btn btn-primary pull-right">Lehrauftrag annehmen</button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<input id="username" type="hidden" value=""><!-- this is to prevent Chrome autofilling a random input field with the username-->
|
||||
<input id="password" type="password" autocomplete="new-password" class="form-control" placeholder="CIS-Passwort">
|
||||
<span class="input-group-btn">
|
||||
<button id="accept-lehrauftraege" class="btn btn-primary pull-right">Lehrauftrag annehmen</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
@@ -195,7 +191,7 @@ $this->load->view(
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- end container -->
|
||||
</div><!-- end page-wrapper -->
|
||||
<br>
|
||||
|
||||
@@ -170,7 +170,7 @@ FROM
|
||||
/* filter active organisationseinheiten */
|
||||
AND oe.aktiv = TRUE
|
||||
/* filter vertragsstatus to avoid showing before status is bestellt */
|
||||
AND vvs.vertragsstatus_kurzbz IN (\'bestellt\', \'erteilt\', \'akzeptiert\')
|
||||
AND vvs.vertragsstatus_kurzbz IN (\'erteilt\', \'akzeptiert\')
|
||||
) tmp_lehrauftraege
|
||||
|
||||
UNION
|
||||
@@ -182,8 +182,8 @@ FROM
|
||||
(SELECT
|
||||
uid
|
||||
FROM
|
||||
public.tbl_benutzer JOIN public.tbl_mitarbeiter ma
|
||||
ON tbl_benutzer.uid = ma.mitarbeiter_uid
|
||||
public.tbl_benutzer JOIN public.tbl_mitarbeiter ma
|
||||
ON tbl_benutzer.uid = ma.mitarbeiter_uid
|
||||
WHERE
|
||||
person_id = tmp_projektbetreuung.person_id
|
||||
ORDER BY aktiv DESC, updateaktivam DESC -- accept inactive as some person_ids have no active, but order them last
|
||||
@@ -285,8 +285,8 @@ FROM
|
||||
AND lv.aktiv = TRUE
|
||||
/* filter active organisationseinheiten */
|
||||
AND oe.aktiv = TRUE
|
||||
/* filter vertragsstatus to avoid showing before status is bestellt */
|
||||
AND vvs.vertragsstatus_kurzbz IN (\'bestellt\', \'erteilt\', \'akzeptiert\')
|
||||
/* filter vertragsstatus to avoid showing before status is erteilt */
|
||||
AND vvs.vertragsstatus_kurzbz IN (\'erteilt\', \'akzeptiert\')
|
||||
) tmp_projektbetreuung
|
||||
) auftraege
|
||||
ORDER BY "akzeptiert" NULLS FIRST, "erteilt" NULLS LAST, "bestellt"
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-lg-10">
|
||||
<div class="col-lg-9">
|
||||
<label>
|
||||
|
||||
<?php echo ucfirst($this->p->t('global', 'nachricht')); ?>:
|
||||
@@ -74,7 +74,7 @@
|
||||
|
||||
</textarea>
|
||||
</div>
|
||||
<div class="col-lg-2">
|
||||
<div class="col-lg-3">
|
||||
<div class="form-group">
|
||||
<label>
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
array(
|
||||
'name' => 'variables[]',
|
||||
'id' => 'variables',
|
||||
'size' => 14,
|
||||
'size' => 27,
|
||||
'multiple' => true
|
||||
)
|
||||
);
|
||||
@@ -129,34 +129,29 @@
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="well">
|
||||
<div class="well" id="templatePreviewDiv">
|
||||
<div class="row">
|
||||
<div class="col-lg-3">
|
||||
<div class="form-grop form-inline">
|
||||
|
||||
<div class="col-sm-12" style="display: inline">
|
||||
<div class="form-group form-inline">
|
||||
<div class="input-group">
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Dropdown_widget',
|
||||
array('elements' => success($recipientsArray), 'emptyElement' => 'Select...'),
|
||||
array('elements' => success($recipientsArray), 'emptyElement' => ucfirst($this->p->t('global', 'empfaenger')).'...'),
|
||||
array(
|
||||
'title' => ucfirst($this->p->t('global', 'empfaenger')).': ',
|
||||
'name' => 'recipients[]',
|
||||
'id' => 'recipients'
|
||||
)
|
||||
);
|
||||
?>
|
||||
|
||||
<span class="input-group-btn">
|
||||
<a class="btn btn-default" href="#templatePreviewDiv" id="refresh">
|
||||
<?php echo ucfirst($this->p->t('ui', 'refresh')); ?>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-1 valign-middle">
|
||||
<strong>
|
||||
<a href="#" id="refresh">
|
||||
|
||||
<?php echo ucfirst($this->p->t('ui', 'refresh')); ?>
|
||||
|
||||
</a>
|
||||
</strong>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<textarea id="tinymcePreview"></textarea>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
$align = "valign-top";
|
||||
}
|
||||
?>
|
||||
<div class="div-cell width-150px <?php echo $align; ?>">
|
||||
<div class="div-cell <?php echo $align; ?>">
|
||||
<label
|
||||
for="<?php echo ${HTMLWidget::HTML_ARG_NAME}[HTMLWidget::HTML_ID]; ?>"
|
||||
<?php HTMLWidget::printAttribute(${HTMLWidget::HTML_ARG_NAME}, HTMLWidget::REQUIRED); ?>
|
||||
@@ -22,7 +22,7 @@
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<div class="div-cell width-150px">
|
||||
<div class="div-cell">
|
||||
<select
|
||||
<?php HTMLWidget::printAttribute(${HTMLWidget::HTML_ARG_NAME}, HTMLWidget::HTML_ID); ?>
|
||||
<?php HTMLWidget::printAttribute(${HTMLWidget::HTML_ARG_NAME}, HTMLWidget::HTML_NAME); ?>
|
||||
|
||||
@@ -11,9 +11,9 @@ class Vorlage_widget extends DropdownWidget
|
||||
$vorlage = null;
|
||||
|
||||
// If the user is an admin
|
||||
if ($idAdmin === true)
|
||||
if ($idAdmin)
|
||||
{
|
||||
// Get all the vorlage with mimetype = text/html
|
||||
// Get all the vorlage with mimetype = text/html
|
||||
$vorlage = $this->_getAllHTMLVorlage();
|
||||
}
|
||||
else
|
||||
@@ -39,7 +39,7 @@ class Vorlage_widget extends DropdownWidget
|
||||
private function _getAllHTMLVorlage()
|
||||
{
|
||||
$this->load->model('system/Vorlage_model', 'VorlageModel');
|
||||
$this->VorlageModel->addOrder('vorlage_kurzbz');
|
||||
$this->VorlageModel->addOrder('bezeichnung');
|
||||
|
||||
$this->addSelectToModel($this->VorlageModel, 'vorlage_kurzbz', 'bezeichnung');
|
||||
|
||||
@@ -59,15 +59,31 @@ class Vorlage_widget extends DropdownWidget
|
||||
$vorlage = success(array()); // Default value
|
||||
|
||||
$table = '(
|
||||
SELECT v.vorlage_kurzbz, v.bezeichnung, vs.version, vs.oe_kurzbz, vs.aktiv, vs.subject, vs.text, v.mimetype
|
||||
FROM tbl_vorlagestudiengang vs INNER JOIN tbl_vorlage v USING(vorlage_kurzbz)
|
||||
SELECT v.vorlage_kurzbz,
|
||||
v.bezeichnung,
|
||||
vs.version,
|
||||
vs.oe_kurzbz,
|
||||
vs.aktiv,
|
||||
vs.subject,
|
||||
vs.text,
|
||||
v.mimetype
|
||||
FROM tbl_vorlagestudiengang vs
|
||||
JOIN tbl_vorlage v USING(vorlage_kurzbz)
|
||||
) templates';
|
||||
|
||||
$alias = 'templates';
|
||||
$fields = array("templates.vorlage_kurzbz AS id", "UPPER(templates.oe_kurzbz) || ' - ' || templates.bezeichnung || ' - V' || templates.version AS description");
|
||||
|
||||
$fields = array(
|
||||
'templates.vorlage_kurzbz AS id',
|
||||
'templates.bezeichnung || \' (\' || UPPER(templates.oe_kurzbz) || \')\' AS description'
|
||||
);
|
||||
|
||||
$where = 'templates.aktiv = TRUE
|
||||
AND templates.subject IS NOT NULL
|
||||
AND templates.text IS NOT NULL
|
||||
AND templates.mimetype = \'text/html\'';
|
||||
AND templates.subject IS NOT NULL
|
||||
AND templates.text IS NOT NULL
|
||||
AND templates.mimetype = \'text/html\'
|
||||
GROUP BY 1, 2, 3';
|
||||
|
||||
$order_by = 'description ASC';
|
||||
|
||||
if (!is_array($oe_kurzbz))
|
||||
@@ -99,30 +115,41 @@ class Vorlage_widget extends DropdownWidget
|
||||
if (hasData($tmpVorlage))
|
||||
{
|
||||
// If it's the first vorlage copy it
|
||||
if (count($vorlage->retval) == 0)
|
||||
if (!hasData($vorlage))
|
||||
{
|
||||
for ($j = 0; $j < count($tmpVorlage->retval); $j++)
|
||||
for ($j = 0; $j < count(getData($tmpVorlage)); $j++)
|
||||
{
|
||||
if ($tmpVorlage->retval[$j]->id != '')
|
||||
if (getData($tmpVorlage)[$j]->id != '')
|
||||
{
|
||||
array_push($vorlage->retval, $tmpVorlage->retval[$j]);
|
||||
array_push($vorlage->retval, getData($tmpVorlage)[$j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
else // checks for duplicates, if it's not already present push it into the array $vorlage->retval
|
||||
else // checks for duplicates, if it's not already present push it into the array getData($vorlage)
|
||||
{
|
||||
for ($i = 0; $i < count($vorlage->retval); $i++)
|
||||
for ($j = 0; $j < count(getData($tmpVorlage)); $j++)
|
||||
{
|
||||
for ($j = 0; $j < count($tmpVorlage->retval); $j++)
|
||||
$found = false;
|
||||
$currentTmpVorlageData = null;
|
||||
|
||||
for ($i = 0; $i < count(getData($vorlage)); $i++)
|
||||
{
|
||||
if ($tmpVorlage->retval[$j]->id != ''
|
||||
&& $vorlage->retval[$i]->_pk != $tmpVorlage->retval[$j]->_pk
|
||||
&& $vorlage->retval[$i]->_ppk != $tmpVorlage->retval[$j]->_ppk
|
||||
&& $vorlage->retval[$i]->_jtpk != $tmpVorlage->retval[$j]->_jtpk)
|
||||
$currentTmpVorlageData = getData($tmpVorlage)[$j];
|
||||
|
||||
if (getData($vorlage)[$i]->id == getData($tmpVorlage)[$j]->id
|
||||
&& getData($vorlage)[$i]->_pk == getData($tmpVorlage)[$j]->_pk
|
||||
&& getData($vorlage)[$i]->_ppk == getData($tmpVorlage)[$j]->_ppk
|
||||
&& getData($vorlage)[$i]->_jtpk == getData($tmpVorlage)[$j]->_jtpk)
|
||||
{
|
||||
array_push($vorlage->retval, $tmpVorlage->retval[$j]);
|
||||
$found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$found && $currentTmpVorlageData->id != '')
|
||||
{
|
||||
array_push($vorlage->retval, $currentTmpVorlageData);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
require_once('../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
|
||||
require_once('../../../include/vertrag.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p=new phrasen($sprache);
|
||||
@@ -134,6 +134,17 @@
|
||||
{
|
||||
while($row_lkt = $db->db_fetch_object($result_lkt))
|
||||
{
|
||||
// Lektor wird erst angezeigt wenn der Auftrag erteilt wurde
|
||||
if (defined('CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON')
|
||||
&& CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON != '')
|
||||
{
|
||||
$vertrag = new vertrag();
|
||||
if (!$vertrag->isVertragErteiltLV($lvid, $stsem, $row_lkt->mitarbeiter_uid))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if($lektoren!='')
|
||||
$lektoren.=', ';
|
||||
$lektoren .= $row_lkt->kurzbz;
|
||||
|
||||
@@ -33,6 +33,7 @@ require_once('../../../include/lvangebot.class.php');
|
||||
require_once('../../../include/benutzergruppe.class.php');
|
||||
require_once('../../../include/lehreinheit.class.php');
|
||||
require_once('../../../include/variable.class.php');
|
||||
require_once('../../../include/vertrag.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
@@ -316,6 +317,17 @@ $( document ).ready(function()
|
||||
$i=0;
|
||||
while($row_lector = $db->db_fetch_object($result))
|
||||
{
|
||||
// Lektor wird erst angezeigt wenn der Auftrag erteilt wurde
|
||||
if (defined('CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON')
|
||||
&& CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON != '')
|
||||
{
|
||||
$vertrag = new vertrag();
|
||||
if (!$vertrag->isVertragErteiltLV($lvid, $angezeigtes_stsem, $row_lector->uid))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
$i++;
|
||||
if($user==$row_lector->uid)
|
||||
{
|
||||
@@ -327,9 +339,11 @@ $( document ).ready(function()
|
||||
$style='style="font-weight: bold"';
|
||||
else
|
||||
$style='';
|
||||
echo '<a href="mailto:'.$row_lector->uid.'@'.DOMAIN.'" '.$style.'>'.$row_lector->vorname.' '.$row_lector->nachname.'</a>';
|
||||
if($i!=$num_rows_result)
|
||||
|
||||
if ($i != 1)
|
||||
echo ', ';
|
||||
echo '<a href="mailto:'.$row_lector->uid.'@'.DOMAIN.'" '.$style.'>'.$row_lector->vorname.' '.$row_lector->nachname.'</a>';
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -417,10 +417,15 @@ else
|
||||
|
||||
$tblFoot .= "</tfoot>";
|
||||
|
||||
$tbl .= $tblHead.$tblFoot.$tblBody;
|
||||
if (!defined('CIS_NOTENLISTE_DURCHSCHNITT_ANZEIGEN') || (defined('CIS_NOTENLISTE_DURCHSCHNITT_ANZEIGEN') && CIS_NOTENLISTE_DURCHSCHNITT_ANZEIGEN))
|
||||
{
|
||||
$tbl .= $tblHead.$tblFoot.$tblBody;
|
||||
$tbl .= "<table><tbody><tr><td width='20' style='text-align: right;'>*</td><td>" . $p->t('tools/legendeNotendurchschnitt') . "</td></tr>";
|
||||
$tbl .= "<tr><td width='20' style='text-align: right;'>**</td><td>" . $p->t('tools/legendeGewichteterNotendurchschnitt') . "</td></tr>";
|
||||
}
|
||||
else
|
||||
$tbl .= $tblHead.$tblBody;
|
||||
|
||||
$tbl .= "<table><tbody><tr><td width='20' style='text-align: right;'>*</td><td>" . $p->t('tools/legendeNotendurchschnitt') . "</td></tr>";
|
||||
$tbl .= "<tr><td width='20' style='text-align: right;'>**</td><td>" . $p->t('tools/legendeGewichteterNotendurchschnitt') . "</td></tr>";
|
||||
if ($legende)
|
||||
{
|
||||
$tbl .= "<tr><td width='20' style='background-color: #FFD999;'></td><td>" . $p->t('tools/hinweistextMarkierung') . "</td></tr>";
|
||||
|
||||
@@ -341,16 +341,16 @@ if ($type == 'mitarbeiter')
|
||||
echo $p->t('profil/telefonTw').": $vorwahl - $user->telefonklappe<BR>";
|
||||
//echo $p->t('profil/faxTw').": $vorwahl - 99 $user->telefonklappe<BR>";
|
||||
}
|
||||
else {
|
||||
$kontakt = new kontakt();
|
||||
$kontakt->load_pers($user->person_id);
|
||||
foreach($kontakt->result as $k)
|
||||
{
|
||||
if ($k->kontakttyp == 'firmenhandy')
|
||||
echo $p->t('profil/telefonTw').': '.$k->kontakt.'<br>';
|
||||
}
|
||||
|
||||
$kontakt = new kontakt();
|
||||
$kontakt->load_pers($user->person_id);
|
||||
foreach($kontakt->result as $k)
|
||||
{
|
||||
if ($k->kontakttyp == 'firmenhandy')
|
||||
echo 'Firmenhandy: '.$k->kontakt.'<br>';
|
||||
}
|
||||
|
||||
|
||||
if ($user->ort_kurzbz != '')
|
||||
echo $p->t('profil/buero').': '.$user->ort_kurzbz.'<br>';
|
||||
}
|
||||
@@ -427,6 +427,7 @@ if (!$ansicht)
|
||||
usort($kontakt->result, "sortKontakt");
|
||||
echo '<table>';
|
||||
|
||||
$has_notfallkontakt = false;
|
||||
foreach($kontakt->result as $k)
|
||||
{
|
||||
if ($k->kontakttyp != 'firmenhandy' && $k->kontakttyp != 'hidden')
|
||||
@@ -441,6 +442,8 @@ if (!$ansicht)
|
||||
echo '<td>'.$k->anmerkung.'</td>';
|
||||
echo '<td>'.$zustellung.'</td>';
|
||||
echo '</tr>';
|
||||
if ($k->kontakttyp == 'notfallkontakt')
|
||||
$has_notfallkontakt = true;
|
||||
}
|
||||
/*
|
||||
if ($k->zustellung === TRUE)
|
||||
@@ -462,6 +465,9 @@ if (!$ansicht)
|
||||
}
|
||||
*/
|
||||
}
|
||||
if (!$has_notfallkontakt)
|
||||
echo '<tr><td>'.$p->t('profil/notfallkontakt').'</td><td colspan="3">'.$p->t('profil/notfallkontaktBekanntgeben').'</td></tr>';
|
||||
|
||||
echo '</table>';
|
||||
}
|
||||
|
||||
|
||||
+423
-393
@@ -37,46 +37,51 @@ require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/lvangebot.class.php');
|
||||
require_once('../../../include/addon.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/vertrag.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
|
||||
$adress=MAIL_ADMIN;
|
||||
$adress = MAIL_ADMIN;
|
||||
|
||||
$user=get_uid();
|
||||
$studiensemester = new studiensemester();
|
||||
$user=get_uid();
|
||||
$studiensemester = new studiensemester();
|
||||
|
||||
if (isset($_GET['uid']))
|
||||
$uid=$_GET['uid'];
|
||||
else
|
||||
$uid = $user;
|
||||
if (isset($_GET['uid']))
|
||||
$uid = $_GET['uid'];
|
||||
else
|
||||
$uid = $user;
|
||||
|
||||
if (isset($_GET['stdsem']))
|
||||
$stdsem=$_GET['stdsem'];
|
||||
else
|
||||
$stdsem=$studiensemester->getaktorNext();
|
||||
if (isset($_GET['stdsem']))
|
||||
$stdsem = $_GET['stdsem'];
|
||||
else
|
||||
$stdsem = $studiensemester->getaktorNext();
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
if(!$rechte->isBerechtigt('admin') && $uid!=$user)
|
||||
die('Sie haben keine Berechtigung für diesen Vorgang');
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
if (!$rechte->isBerechtigt('admin') && $uid != $user)
|
||||
die('Sie haben keine Berechtigung für diesen Vorgang');
|
||||
|
||||
$datum = new datum();
|
||||
$datum = new datum();
|
||||
|
||||
$addon = new addon();
|
||||
if(in_array('lvinfo',$addon->aktive_addons))
|
||||
$lvinfo=true;
|
||||
else
|
||||
$lvinfo=false;
|
||||
$addon = new addon();
|
||||
if (in_array('lvinfo',$addon->aktive_addons))
|
||||
$lvinfo=true;
|
||||
else
|
||||
$lvinfo=false;
|
||||
|
||||
//Studiensemester abfragen. Letzten 5, aktuelles und naechstes.
|
||||
$sql_query='SELECT * FROM public.tbl_studiensemester WHERE (start<=(now()::date+240) AND ende>=(now()::date-900)) ORDER BY start';
|
||||
$result_stdsem=$db->db_query($sql_query);
|
||||
$num_rows_stdsem=$db->db_num_rows($result_stdsem);
|
||||
//if (!isset($stdsem))
|
||||
//$stdsem=$db->db_result($result_stdsem,0,"studiensemester_kurzbz");
|
||||
//Studiensemester abfragen. Letzten 5, aktuelles und naechstes.
|
||||
$sql_query = '
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
public.tbl_studiensemester
|
||||
WHERE (start<=(now()::date+240) AND ende>=(now()::date-900))
|
||||
ORDER BY start';
|
||||
$result_stdsem = $db->db_query($sql_query);
|
||||
$num_rows_stdsem = $db->db_num_rows($result_stdsem);
|
||||
|
||||
$p = new phrasen(getSprache());
|
||||
$p = new phrasen(getSprache());
|
||||
/*
|
||||
0000453: Sortierung von LVs - Meine LV
|
||||
1. Bachelor
|
||||
@@ -89,401 +94,426 @@ require_once('../../../include/benutzerberechtigung.class.php');
|
||||
8. Name der LV
|
||||
|
||||
*/
|
||||
//Lehrveranstaltungen abfragen.
|
||||
$sql_query="
|
||||
SELECT
|
||||
*, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as stg_kurzbz,
|
||||
tbl_lehrveranstaltung.semester as lv_semester,
|
||||
lehrfach.kurzbz as lehrfach,
|
||||
lehrfach.bezeichnung as lehrfach_bez,
|
||||
tbl_lehreinheitmitarbeiter.semesterstunden as semesterstunden,
|
||||
tbl_lehrveranstaltung.bezeichnung as lv_bezeichnung,
|
||||
tbl_lehreinheit.anmerkung as le_anmerkung,
|
||||
tbl_lehreinheit.lehrform_kurzbz as le_lehrform_kurzbz,
|
||||
(SELECT kurzbz FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=tbl_lehreinheitmitarbeiter.mitarbeiter_uid) as lektor,
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||
FROM
|
||||
//Lehrveranstaltungen abfragen.
|
||||
$sql_query = "
|
||||
SELECT
|
||||
*, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as stg_kurzbz,
|
||||
tbl_lehrveranstaltung.semester as lv_semester,
|
||||
lehrfach.kurzbz as lehrfach,
|
||||
lehrfach.bezeichnung as lehrfach_bez,
|
||||
tbl_lehreinheitmitarbeiter.semesterstunden as semesterstunden,
|
||||
tbl_lehrveranstaltung.bezeichnung as lv_bezeichnung,
|
||||
tbl_lehreinheit.anmerkung as le_anmerkung,
|
||||
tbl_lehreinheit.lehrform_kurzbz as le_lehrform_kurzbz,
|
||||
(SELECT kurzbz FROM public.tbl_mitarbeiter
|
||||
WHERE mitarbeiter_uid=tbl_lehreinheitmitarbeiter.mitarbeiter_uid) as lektor,
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||
FROM
|
||||
lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
|
||||
WHERE tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stdsem)." AND mitarbeiter_uid=".$db->db_add_param($uid);
|
||||
$sql_query.=" ORDER BY stg_kurzbz,lv_semester,lv_bezeichnung";
|
||||
$result=$db->db_query($sql_query);
|
||||
$num_rows=$db->db_num_rows($result);
|
||||
WHERE
|
||||
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stdsem)."
|
||||
AND mitarbeiter_uid = ".$db->db_add_param($uid)."
|
||||
ORDER BY stg_kurzbz,lv_semester,lv_bezeichnung";
|
||||
|
||||
echo '<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>'.$p->t('lvaliste/titel').'</title>
|
||||
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
|
||||
<link rel="stylesheet" href="../../../skin/jquery.css" type="text/css"/>
|
||||
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
|
||||
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
|
||||
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.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 type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
|
||||
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
|
||||
<script language="Javascript">
|
||||
<!--
|
||||
function printhelp()
|
||||
$result = $db->db_query($sql_query);
|
||||
$num_rows = $db->db_num_rows($result);
|
||||
|
||||
echo '<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>'.$p->t('lvaliste/titel').'</title>
|
||||
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
|
||||
<link rel="stylesheet" href="../../../skin/jquery.css" type="text/css"/>
|
||||
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
|
||||
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
|
||||
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
|
||||
<script language="Javascript">
|
||||
<!--
|
||||
function printhelp()
|
||||
{
|
||||
alert("'.$p->t('lvaliste/hilfeText').'");
|
||||
}
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
alert("'.$p->t('lvaliste/hilfeText').'");
|
||||
}
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[5,0],[6,0],[3,0]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
$("#t2").tablesorter(
|
||||
{
|
||||
sortList: [[0,0],[1,0],[3,0]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
$("#t3").tablesorter(
|
||||
{
|
||||
sortList: [[0,0],[1,0],[3,0]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
sortList: [[5,0],[6,0],[3,0]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
-->
|
||||
</script>
|
||||
</head>
|
||||
<body id="inhalt">
|
||||
<H1>'.$p->t('lvaliste/titel').' ( '.$stdsem.' )</H1>';
|
||||
echo '<table width="100%"><tr><td>';
|
||||
for ($i=0;$i<$num_rows_stdsem;$i++)
|
||||
{
|
||||
$row=$db->db_fetch_object($result_stdsem);
|
||||
if ($stdsem==$row->studiensemester_kurzbz)
|
||||
echo '<strong><A class="Item" style="text-decoration: underline;" href="lva_liste.php?uid='.$uid.'&stdsem='.$row->studiensemester_kurzbz.'">'.$row->studiensemester_kurzbz.'</A></strong> - ';
|
||||
else
|
||||
echo '<A class="Item" href="lva_liste.php?uid='.$uid.'&stdsem='.$row->studiensemester_kurzbz.'">'.$row->studiensemester_kurzbz.'</A> - ';
|
||||
}
|
||||
echo '</td><td align="right">';
|
||||
echo '<a href="#" onclick="printhelp()" class="Item">'.$p->t('lvaliste/hilfeAnzeigen').'</a>';
|
||||
echo '</td></tr></table><br>';
|
||||
if ($num_rows>0)
|
||||
{
|
||||
|
||||
echo '<h3>'.$p->t('lvaliste/lehrveranstaltungen').'</h3>';
|
||||
echo $p->t('lvaliste/anzahl').': '.$num_rows;
|
||||
echo '
|
||||
<table class="tablesorter" id="t1">
|
||||
<thead>
|
||||
<tr>';
|
||||
if(!defined('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN') || CIS_LVALISTE_NOTENEINGABE_ANZEIGEN)
|
||||
echo '<th>'.$p->t('lvaliste/gesamtnote').'</th>';
|
||||
|
||||
|
||||
if($lvinfo)
|
||||
echo '<th>'.$p->t('lvaliste/lvinfo').'</th>';
|
||||
|
||||
echo '
|
||||
<th>'.$p->t('lvaliste/id').'</th>
|
||||
<th>'.$p->t('lvaliste/lehrfach').'</th>
|
||||
<th>'.$p->t('lvaliste/lehrform').'</th>
|
||||
<th>'.$p->t('lvaliste/lvBezeichnung').'</th>
|
||||
<th>'.$p->t('lvaliste/lektor').'</th>
|
||||
<th>'.$p->t('lvaliste/studiengang').'</th>
|
||||
<th>'.$p->t('lvaliste/semester').'</th>
|
||||
<th>'.$p->t('lvaliste/gruppen').'</th>
|
||||
<th>'.$p->t('lvaliste/raumtyp').'</th>
|
||||
<th>'.$p->t('lvaliste/raumtypalternativ').'</th>
|
||||
<th>'.$p->t('lvaliste/blockung').'</th>
|
||||
<th>'.$p->t('lvaliste/wochenrythmus').'</th>
|
||||
<th>'.$p->t('lvaliste/stunden').'</th>
|
||||
<th>'.$p->t('lvaliste/kalenderwoche').'</th>
|
||||
<th>Anm. von</th>
|
||||
<th>Anm. bis</th>';
|
||||
//<th>'.$p->t('lvaliste/anmerkung').'</th> Lektoren sollen die Anmerkung dzt. nicht sehen, da nur für intern gedacht
|
||||
|
||||
echo '</tr>
|
||||
</thead><tbody>';
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->getAll(null,null);
|
||||
$summe_std=0;
|
||||
|
||||
for ($i=0; $i<$num_rows; $i++)
|
||||
$("#t2").tablesorter(
|
||||
{
|
||||
$row=$db->db_fetch_object($result);
|
||||
$lvangebot = new lvangebot();
|
||||
echo '<tr>';
|
||||
if(!defined('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN') || CIS_LVALISTE_NOTENEINGABE_ANZEIGEN)
|
||||
echo '<td nowrap><a href="../lehre/benotungstool/lvgesamtnoteverwalten.php?lvid='.$row->lehrveranstaltung_id.'&stsem='.$stdsem.'">'.$p->t('lvaliste/gesamtnote').'</a></td>';
|
||||
|
||||
if($lvinfo)
|
||||
echo '<td><a href="../../../addons/lvinfo/cis/lvinfo.php?lv_id='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stdsem.'" target="_blank">'.$p->t('lvaliste/lvinfo').'</a></td>';
|
||||
|
||||
echo '<td>'.$row->lehreinheit_id.'</td>';
|
||||
echo '<td>'.$row->lehrfach.'</td>';
|
||||
echo '<td>'.$row->le_lehrform_kurzbz.'</td>';
|
||||
if ($row->lehrfach_bez!=$row->lv_bezeichnung)
|
||||
echo '<td><a href="../lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stdsem.'">'.$row->lv_bezeichnung.' ('.$p->t('lvaliste/lehrfach').': '.$row->lehrfach_bez.')</a></td>';
|
||||
else
|
||||
echo '<td><a href="../lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stdsem.'">'.$row->lv_bezeichnung.'</a></td>';
|
||||
echo '<td>'.$row->lektor.'</td>';
|
||||
echo '<td><a href="mailto:'.$row->email.'">'.$row->stg_kurzbz.'</a></td>';
|
||||
echo '<td>'.$row->semester.'</td>';
|
||||
|
||||
$qry ="SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id);
|
||||
$gruppe='';
|
||||
if($result_grp = $db->db_query($qry))
|
||||
{
|
||||
while($row_grp = $db->db_fetch_object($result_grp))
|
||||
{
|
||||
if($row_grp->gruppe_kurzbz!='')
|
||||
$gruppe.= $row_grp->gruppe_kurzbz.'<br>';
|
||||
else
|
||||
$gruppe.= $stg_obj->kuerzel_arr[$row->studiengang_kz].'-'.$row_grp->semester.$row_grp->verband.$row_grp->gruppe.'<br>';
|
||||
}
|
||||
}
|
||||
echo '<td>'.$gruppe.'</td>';
|
||||
echo '<td>'.$row->raumtyp.'</td>';
|
||||
echo '<td>'.$row->raumtypalternativ.'</td>';
|
||||
echo '<td>'.$row->stundenblockung.'</td>';
|
||||
echo '<td>'.$row->wochenrythmus.'</td>';
|
||||
if(getSprache()=='German')
|
||||
{
|
||||
echo '<td>'.number_format($row->semesterstunden,2,$dec_point=",",$thousands_sep=".").'</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<td>'.number_format($row->semesterstunden,2,$dec_point=".",$thousands_sep=",").'</td>';
|
||||
}
|
||||
echo '<td>'.$row->start_kw.'</td>';
|
||||
|
||||
$lvangebot->getAllFromLvId($row->lehrveranstaltung_id, $row->studiensemester_kurzbz);
|
||||
if(!empty($lvangebot->result))
|
||||
{
|
||||
echo '<td>'.$datum->formatDatum($lvangebot->result[0]->anmeldefenster_start, "d.m.Y").'</td>';
|
||||
echo '<td>'.$datum->formatDatum($lvangebot->result[0]->anmeldefenster_ende, "d.m.Y").'</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<td> </td>
|
||||
<td> </td>';
|
||||
}
|
||||
//echo '<td>'.$row->le_anmerkung.'</td>'; Lektoren sollen die Anmerkung dzt. nicht sehen, da nur für intern gedacht
|
||||
|
||||
echo '</tr>';
|
||||
$summe_std+=$row->semesterstunden;
|
||||
}
|
||||
echo '</tbody>';
|
||||
echo '<tfoot>';
|
||||
echo '<tr>';
|
||||
if(!defined('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN') || CIS_LVALISTE_NOTENEINGABE_ANZEIGEN)
|
||||
echo '<td> </td>';
|
||||
if($lvinfo)
|
||||
echo '<td> </td>';
|
||||
|
||||
echo '<td> </td>';
|
||||
echo '<td> </td>';
|
||||
echo '<td> </td>';
|
||||
echo '<td> </td>';
|
||||
echo '<td> </td>';
|
||||
echo '<td> </td>';
|
||||
echo '<td> </td>';
|
||||
echo '<td> </td>';
|
||||
echo '<td> </td>';
|
||||
echo '<td> </td>';
|
||||
echo '<td> </td>';
|
||||
echo '<td align="right"><b>'.$p->t('lvaliste/summe').'</b></td>';
|
||||
if(getSprache()=='German')
|
||||
sortList: [[0,0],[1,0],[3,0]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
$("#t3").tablesorter(
|
||||
{
|
||||
echo '<th>'.number_format($summe_std,2,$dec_point=",",$thousands_sep=".").'</th>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<th>'.number_format($summe_std,2,$dec_point=".",$thousands_sep=",").'</th>';
|
||||
}
|
||||
echo '<td> </td>';
|
||||
echo '</tr>';
|
||||
echo '</tfoot>';
|
||||
echo '</table>';
|
||||
}
|
||||
sortList: [[0,0],[1,0],[3,0]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
});
|
||||
-->
|
||||
</script>
|
||||
</head>
|
||||
<body id="inhalt">
|
||||
<H1>'.$p->t('lvaliste/titel').' ( '.$stdsem.' )</H1>';
|
||||
echo '<table width="100%"><tr><td>';
|
||||
for ($i = 0;$i < $num_rows_stdsem;$i++)
|
||||
{
|
||||
$row = $db->db_fetch_object($result_stdsem);
|
||||
if ($stdsem == $row->studiensemester_kurzbz)
|
||||
echo '<strong><A class="Item" style="text-decoration: underline;" href="lva_liste.php?uid='.$uid.'&stdsem='.$row->studiensemester_kurzbz.'">'.$row->studiensemester_kurzbz.'</A></strong> - ';
|
||||
else
|
||||
echo $p->t('lvaliste/keineDatensaetze').'<BR>';
|
||||
echo '<A class="Item" href="lva_liste.php?uid='.$uid.'&stdsem='.$row->studiensemester_kurzbz.'">'.$row->studiensemester_kurzbz.'</A> - ';
|
||||
}
|
||||
echo '</td><td align="right">';
|
||||
echo '<a href="#" onclick="printhelp()" class="Item">'.$p->t('lvaliste/hilfeAnzeigen').'</a>';
|
||||
echo '</td></tr></table><br>';
|
||||
if ($num_rows > 0)
|
||||
{
|
||||
$anzahl_lvs = 0;
|
||||
$lvtable = '
|
||||
<table class="tablesorter" id="t1">
|
||||
<thead>
|
||||
<tr>';
|
||||
if (!defined('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN') || CIS_LVALISTE_NOTENEINGABE_ANZEIGEN)
|
||||
$lvtable .= '<th>'.$p->t('lvaliste/gesamtnote').'</th>';
|
||||
|
||||
//Betreuungen
|
||||
|
||||
$mitarbeiter = new benutzer();
|
||||
$mitarbeiter->load($uid);
|
||||
|
||||
$qry = "SELECT
|
||||
tbl_lehrveranstaltung.bezeichnung, tbl_projektarbeit.titel,
|
||||
(SELECT nachname || ' ' || vorname FROM public.tbl_benutzer JOIN public.tbl_person USING(person_id)
|
||||
WHERE uid=student_uid) as student, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester,
|
||||
tbl_studiengang.email, tbl_betreuerart.beschreibung AS beutreuerart_beschreibung, tbl_projektbetreuer.stunden
|
||||
FROM
|
||||
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektarbeit, lehre.tbl_projektbetreuer, public.tbl_studiengang, lehre.tbl_betreuerart
|
||||
WHERE
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stdsem)." AND
|
||||
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
||||
tbl_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz AND
|
||||
tbl_projektbetreuer.betreuerart_kurzbz=tbl_betreuerart.betreuerart_kurzbz AND
|
||||
tbl_projektbetreuer.person_id=".$db->db_add_param($mitarbeiter->person_id, FHC_INTEGER);
|
||||
if ($lvinfo)
|
||||
$lvtable .= '<th>'.$p->t('lvaliste/lvinfo').'</th>';
|
||||
|
||||
$lvtable .= '
|
||||
<th>'.$p->t('lvaliste/id').'</th>
|
||||
<th>'.$p->t('lvaliste/lehrfach').'</th>
|
||||
<th>'.$p->t('lvaliste/lehrform').'</th>
|
||||
<th>'.$p->t('lvaliste/lvBezeichnung').'</th>
|
||||
<th>'.$p->t('lvaliste/lektor').'</th>
|
||||
<th>'.$p->t('lvaliste/studiengang').'</th>
|
||||
<th>'.$p->t('lvaliste/semester').'</th>
|
||||
<th>'.$p->t('lvaliste/gruppen').'</th>
|
||||
<th>'.$p->t('lvaliste/raumtyp').'</th>
|
||||
<th>'.$p->t('lvaliste/raumtypalternativ').'</th>
|
||||
<th>'.$p->t('lvaliste/blockung').'</th>
|
||||
<th>'.$p->t('lvaliste/wochenrythmus').'</th>
|
||||
<th>'.$p->t('lvaliste/stunden').'</th>
|
||||
<th>'.$p->t('lvaliste/kalenderwoche').'</th>
|
||||
<th>Anm. von</th>
|
||||
<th>Anm. bis</th>
|
||||
</tr>
|
||||
</thead><tbody>';
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->getAll(null,null);
|
||||
$summe_std = 0;
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
for ($i = 0; $i < $num_rows; $i++)
|
||||
{
|
||||
if($db->db_num_rows($result)>0)
|
||||
$row = $db->db_fetch_object($result);
|
||||
|
||||
// Nur erteilte Vertraege anzeigen wenn dies im Config hinterlegt ist.
|
||||
if (defined('CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON')
|
||||
&& CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON != '')
|
||||
{
|
||||
echo '<H3>'.$p->t('lvaliste/betreuungen').'</H3>';
|
||||
echo $p->t('lvaliste/anzahl').': '.$db->db_num_rows($result);
|
||||
echo '<table class="tablesorter" id="t2">';
|
||||
echo '<thead><tr>';
|
||||
echo '<th>'.$p->t('lvaliste/studiengang').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/semester').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/stunden').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/lvBezeichnung').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/student').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/betreuungsart').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/titelProjektarbeit').'</th>';
|
||||
echo '</tr></thead><tbody>';
|
||||
while($row = $db->db_fetch_object($result))
|
||||
$vertrag = new vertrag();
|
||||
if (!$vertrag->isVertragErteiltLV($row->lehrveranstaltung_id, $stdsem, $user))
|
||||
{
|
||||
echo '<tr>';
|
||||
echo '<td><a href="mailto:'.$row->email.'">'.$stg_obj->kuerzel_arr[$row->studiengang_kz].'</a></td>';
|
||||
echo '<td>'.$row->semester.'</td>';
|
||||
if(getSprache()=='German')
|
||||
{
|
||||
echo '<td>'.number_format($row->stunden,2,$dec_point =",", $thousands_sep ="."). '</td>';
|
||||
}
|
||||
continue;
|
||||
}
|
||||
}
|
||||
$anzahl_lvs++;
|
||||
|
||||
$lvangebot = new lvangebot();
|
||||
$lvtable .= '<tr>';
|
||||
if (!defined('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN') || CIS_LVALISTE_NOTENEINGABE_ANZEIGEN)
|
||||
$lvtable .= '<td nowrap><a href="../lehre/benotungstool/lvgesamtnoteverwalten.php?lvid='.$row->lehrveranstaltung_id.'&stsem='.$stdsem.'">'.$p->t('lvaliste/gesamtnote').'</a></td>';
|
||||
|
||||
if ($lvinfo)
|
||||
$lvtable .= '<td><a href="../../../addons/lvinfo/cis/lvinfo.php?lv_id='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stdsem.'" target="_blank">'.$p->t('lvaliste/lvinfo').'</a></td>';
|
||||
|
||||
$lvtable .= '<td>'.$row->lehreinheit_id.'</td>';
|
||||
$lvtable .= '<td>'.$row->lehrfach.'</td>';
|
||||
$lvtable .= '<td>'.$row->le_lehrform_kurzbz.'</td>';
|
||||
if ($row->lehrfach_bez != $row->lv_bezeichnung)
|
||||
$lvtable .= '<td><a href="../lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stdsem.'">'.$row->lv_bezeichnung.' ('.$p->t('lvaliste/lehrfach').': '.$row->lehrfach_bez.')</a></td>';
|
||||
else
|
||||
$lvtable .= '<td><a href="../lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stdsem.'">'.$row->lv_bezeichnung.'</a></td>';
|
||||
$lvtable .= '<td>'.$row->lektor.'</td>';
|
||||
$lvtable .= '<td><a href="mailto:'.$row->email.'">'.$row->stg_kurzbz.'</a></td>';
|
||||
$lvtable .= '<td>'.$row->semester.'</td>';
|
||||
|
||||
$qry = "
|
||||
SELECT * FROM lehre.tbl_lehreinheitgruppe
|
||||
WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id);
|
||||
|
||||
$gruppe = '';
|
||||
if ($result_grp = $db->db_query($qry))
|
||||
{
|
||||
while ($row_grp = $db->db_fetch_object($result_grp))
|
||||
{
|
||||
if ($row_grp->gruppe_kurzbz != '')
|
||||
$gruppe .= $row_grp->gruppe_kurzbz.'<br>';
|
||||
else
|
||||
{
|
||||
echo '<td>'.number_format($row->stunden,2,$dec_point =".", $thousands_sep =","). '</td>';
|
||||
}
|
||||
echo '<td>'.$row->bezeichnung.'</td>';
|
||||
echo '<td>'.$row->student.'</td>';
|
||||
echo '<td>'.$row->beutreuerart_beschreibung.'</td>';
|
||||
echo '<td>'.$row->titel.'</td>';
|
||||
|
||||
$summe_std+=$row->stunden;
|
||||
$gruppe .= $stg_obj->kuerzel_arr[$row->studiengang_kz].'-'.$row_grp->semester.$row_grp->verband.$row_grp->gruppe.'<br>';
|
||||
}
|
||||
echo '</tbody>';
|
||||
echo '<tfoot>';
|
||||
}
|
||||
$lvtable .= '<td>'.$gruppe.'</td>';
|
||||
$lvtable .= '<td>'.$row->raumtyp.'</td>';
|
||||
$lvtable .= '<td>'.$row->raumtypalternativ.'</td>';
|
||||
$lvtable .= '<td>'.$row->stundenblockung.'</td>';
|
||||
$lvtable .= '<td>'.$row->wochenrythmus.'</td>';
|
||||
if (getSprache() == 'German')
|
||||
{
|
||||
$lvtable .= '<td>'.number_format($row->semesterstunden,2,$dec_point=",",$thousands_sep=".").'</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$lvtable .= '<td>'.number_format($row->semesterstunden,2,$dec_point=".",$thousands_sep=",").'</td>';
|
||||
}
|
||||
$lvtable .= '<td>'.$row->start_kw.'</td>';
|
||||
|
||||
$lvangebot->getAllFromLvId($row->lehrveranstaltung_id, $row->studiensemester_kurzbz);
|
||||
if (!empty($lvangebot->result))
|
||||
{
|
||||
$lvtable .= '<td>'.$datum->formatDatum($lvangebot->result[0]->anmeldefenster_start, "d.m.Y").'</td>';
|
||||
$lvtable .= '<td>'.$datum->formatDatum($lvangebot->result[0]->anmeldefenster_ende, "d.m.Y").'</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$lvtable .= '<td> </td>
|
||||
<td> </td>';
|
||||
}
|
||||
|
||||
$lvtable .= '</tr>';
|
||||
$summe_std += $row->semesterstunden;
|
||||
}
|
||||
$lvtable .= '</tbody>';
|
||||
$lvtable .= '<tfoot>';
|
||||
$lvtable .= '<tr>';
|
||||
if (!defined('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN') || CIS_LVALISTE_NOTENEINGABE_ANZEIGEN)
|
||||
$lvtable .= '<td> </td>';
|
||||
if ($lvinfo)
|
||||
$lvtable .= '<td> </td>';
|
||||
|
||||
$lvtable .= '<td> </td>';
|
||||
$lvtable .= '<td> </td>';
|
||||
$lvtable .= '<td> </td>';
|
||||
$lvtable .= '<td> </td>';
|
||||
$lvtable .= '<td> </td>';
|
||||
$lvtable .= '<td> </td>';
|
||||
$lvtable .= '<td> </td>';
|
||||
$lvtable .= '<td> </td>';
|
||||
$lvtable .= '<td> </td>';
|
||||
$lvtable .= '<td> </td>';
|
||||
$lvtable .= '<td> </td>';
|
||||
$lvtable .= '<td align="right"><b>'.$p->t('lvaliste/summe').'</b></td>';
|
||||
if (getSprache() == 'German')
|
||||
{
|
||||
$lvtable .= '<th>'.number_format($summe_std, 2, $dec_point = ",", $thousands_sep = ".").'</th>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$lvtable .= '<th>'.number_format($summe_std, 2, $dec_point = ".", $thousands_sep = ",").'</th>';
|
||||
}
|
||||
$lvtable .= '<td> </td>';
|
||||
$lvtable .= '</tr>';
|
||||
$lvtable .= '</tfoot>';
|
||||
$lvtable .= '</table>';
|
||||
|
||||
if($anzahl_lvs > 0)
|
||||
{
|
||||
echo '<h3>'.$p->t('lvaliste/lehrveranstaltungen').'</h3>';
|
||||
echo $p->t('lvaliste/anzahl').': '.$anzahl_lvs;
|
||||
echo $lvtable;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $p->t('lvaliste/keineDatensaetze').'<BR>';
|
||||
}
|
||||
}
|
||||
else
|
||||
echo $p->t('lvaliste/keineDatensaetze').'<BR>';
|
||||
|
||||
//Betreuungen
|
||||
$mitarbeiter = new benutzer();
|
||||
$mitarbeiter->load($uid);
|
||||
|
||||
$qry = "SELECT
|
||||
tbl_lehrveranstaltung.bezeichnung, tbl_projektarbeit.titel,
|
||||
(SELECT nachname || ' ' || vorname FROM public.tbl_benutzer JOIN public.tbl_person USING(person_id)
|
||||
WHERE uid=student_uid) as student, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester,
|
||||
tbl_studiengang.email, tbl_betreuerart.beschreibung AS beutreuerart_beschreibung, tbl_projektbetreuer.stunden
|
||||
FROM
|
||||
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektarbeit, lehre.tbl_projektbetreuer, public.tbl_studiengang, lehre.tbl_betreuerart
|
||||
WHERE
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stdsem)." AND
|
||||
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
||||
tbl_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz AND
|
||||
tbl_projektbetreuer.betreuerart_kurzbz=tbl_betreuerart.betreuerart_kurzbz AND
|
||||
tbl_projektbetreuer.person_id=".$db->db_add_param($mitarbeiter->person_id, FHC_INTEGER);
|
||||
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->getAll(null,null);
|
||||
$summe_std = 0;
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
if ($db->db_num_rows($result) > 0)
|
||||
{
|
||||
echo '<br>';
|
||||
echo '<H3>'.$p->t('lvaliste/betreuungen').'</H3>';
|
||||
echo $p->t('lvaliste/anzahl').': '.$db->db_num_rows($result);
|
||||
echo '<table class="tablesorter" id="t2">';
|
||||
echo '<thead><tr>';
|
||||
echo '<th>'.$p->t('lvaliste/studiengang').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/semester').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/stunden').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/lvBezeichnung').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/student').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/betreuungsart').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/titelProjektarbeit').'</th>';
|
||||
echo '</tr></thead><tbody>';
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
echo '<tr>';
|
||||
if(!defined('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN') || CIS_LVALISTE_NOTENEINGABE_ANZEIGEN)
|
||||
echo '<td><a href="mailto:'.$row->email.'">'.$stg_obj->kuerzel_arr[$row->studiengang_kz].'</a></td>';
|
||||
echo '<td>'.$row->semester.'</td>';
|
||||
if (getSprache() == 'German')
|
||||
{
|
||||
echo '<td> </td>';
|
||||
}
|
||||
if($lvinfo)
|
||||
|
||||
echo '<td align="right"><b>'.$p->t('lvaliste/summe').'</b></td>';
|
||||
|
||||
if(getSprache()=='German')
|
||||
{
|
||||
echo '<th>'.number_format($summe_std,2,$dec_point=",",$thousands_sep=".").'</th>';
|
||||
echo '<td>'.number_format($row->stunden,2,$dec_point =",", $thousands_sep ="."). '</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<th>'.number_format($summe_std,2,$dec_point=".",$thousands_sep=",").'</th>';
|
||||
echo '<td>'.number_format($row->stunden,2,$dec_point =".", $thousands_sep =","). '</td>';
|
||||
}
|
||||
echo '<td>'.$row->bezeichnung.'</td>';
|
||||
echo '<td>'.$row->student.'</td>';
|
||||
echo '<td>'.$row->beutreuerart_beschreibung.'</td>';
|
||||
echo '<td>'.$row->titel.'</td>';
|
||||
|
||||
|
||||
echo '<td> </td>';
|
||||
|
||||
echo '</tr>';
|
||||
|
||||
echo '</tbody></table>';
|
||||
$summe_std += $row->stunden;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Koordination
|
||||
|
||||
$qry = "SELECT
|
||||
distinct
|
||||
tbl_lehrveranstaltung.studiengang_kz, tbl_fachbereich.fachbereich_kurzbz, tbl_lehrveranstaltung.bezeichnung,
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.semester,tbl_lehrveranstaltung.koordinator,
|
||||
tbl_studiengang.email
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung,
|
||||
lehre.tbl_lehreinheit,
|
||||
lehre.tbl_lehrveranstaltung as lehrfach,
|
||||
public.tbl_studiengang,
|
||||
public.tbl_fachbereich
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
|
||||
tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stdsem)." AND
|
||||
(tbl_lehrveranstaltung.koordinator=".$db->db_add_param($uid)."
|
||||
OR
|
||||
( tbl_lehrveranstaltung.koordinator is null and (tbl_lehrveranstaltung.studiengang_kz, fachbereich_kurzbz) IN (SELECT studiengang_kz, fachbereich_kurzbz
|
||||
FROM public.tbl_benutzerfunktion JOIN public.tbl_studiengang USING(oe_kurzbz)
|
||||
WHERE funktion_kurzbz='fbk' AND uid=".$db->db_add_param($uid)."
|
||||
and ( tbl_benutzerfunktion.datum_bis is null or now() between tbl_benutzerfunktion.datum_von and tbl_benutzerfunktion.datum_bis )
|
||||
))
|
||||
) AND
|
||||
tbl_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz
|
||||
order by tbl_lehrveranstaltung.studiengang_kz,tbl_lehrveranstaltung.semester ,tbl_lehrveranstaltung.bezeichnung
|
||||
";
|
||||
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result)>0)
|
||||
echo '</tbody>';
|
||||
echo '<tfoot>';
|
||||
echo '<tr>';
|
||||
if (!defined('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN') || CIS_LVALISTE_NOTENEINGABE_ANZEIGEN)
|
||||
{
|
||||
echo '<H3>'.$p->t('lvaliste/koordination').'</H3>';
|
||||
echo $p->t('lvaliste/anzahl').': '.$db->db_num_rows($result);
|
||||
echo '<table class="tablesorter" id="t3">';
|
||||
echo '<thead><tr>';
|
||||
echo '<th>'.$p->t('lvaliste/studiengang').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/semester').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/institut').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/lvBezeichnung').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/lektor').'</th>';
|
||||
echo '</tr></thead><tbody>';
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
//Fachbereichskoordinatoren holen
|
||||
$qry = "SELECT distinct
|
||||
uid,titelpre, titelpost, vorname, nachname
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter,
|
||||
public.tbl_benutzer,
|
||||
public.tbl_person,
|
||||
lehre.tbl_lehreinheit
|
||||
WHERE
|
||||
tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($row->lehrveranstaltung_id, FHC_INTEGER)." AND
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND
|
||||
tbl_benutzer.person_id=tbl_person.person_id AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stdsem);
|
||||
$lektoren='';
|
||||
if($result_lkt = $db->db_query($qry))
|
||||
{
|
||||
while($row_lkt = $db->db_fetch_object($result_lkt))
|
||||
{
|
||||
if($lektoren!='')
|
||||
$lektoren.=',';
|
||||
$lektoren.=trim($row_lkt->titelpre.' '.$row_lkt->vorname.' '.$row_lkt->nachname.' '.$row_lkt->titelpost);
|
||||
}
|
||||
}
|
||||
|
||||
echo '<tr>';
|
||||
echo '<td><a href="mailto:'.$row->email.'">'.$stg_obj->kuerzel_arr[$row->studiengang_kz].'</a></td>';
|
||||
echo '<td>'.$row->semester.'</td>';
|
||||
echo '<td>'.$row->stunden.'</td>';
|
||||
echo '<td>'.$row->fachbereich_kurzbz.'</td>';
|
||||
echo '<td>'.$row->bezeichnung.'</td>';
|
||||
echo '<td>'.$lektoren.'</td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
echo '<td> </td>';
|
||||
}
|
||||
if ($lvinfo)
|
||||
|
||||
echo '<td align="right"><b>'.$p->t('lvaliste/summe').'</b></td>';
|
||||
|
||||
if (getSprache() == 'German')
|
||||
{
|
||||
echo '<th>'.number_format($summe_std, 2, $dec_point = ",", $thousands_sep = ".").'</th>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<th>'.number_format($summe_std, 2, $dec_point = ".", $thousands_sep = ",").'</th>';
|
||||
}
|
||||
|
||||
echo '<td> </td>';
|
||||
echo '</tr>';
|
||||
echo '</tbody></table>';
|
||||
}
|
||||
}
|
||||
|
||||
//Koordination
|
||||
$qry = "SELECT
|
||||
distinct
|
||||
tbl_lehrveranstaltung.studiengang_kz, tbl_fachbereich.fachbereich_kurzbz, tbl_lehrveranstaltung.bezeichnung,
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.semester,tbl_lehrveranstaltung.koordinator,
|
||||
tbl_studiengang.email
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung,
|
||||
lehre.tbl_lehreinheit,
|
||||
lehre.tbl_lehrveranstaltung as lehrfach,
|
||||
public.tbl_studiengang,
|
||||
public.tbl_fachbereich
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
|
||||
tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stdsem)." AND
|
||||
(
|
||||
tbl_lehrveranstaltung.koordinator=".$db->db_add_param($uid)."
|
||||
OR
|
||||
( tbl_lehrveranstaltung.koordinator is null
|
||||
AND (tbl_lehrveranstaltung.studiengang_kz, fachbereich_kurzbz) IN (
|
||||
SELECT studiengang_kz, fachbereich_kurzbz
|
||||
FROM public.tbl_benutzerfunktion JOIN public.tbl_studiengang USING(oe_kurzbz)
|
||||
WHERE funktion_kurzbz='fbk' AND uid=".$db->db_add_param($uid)."
|
||||
AND (
|
||||
tbl_benutzerfunktion.datum_bis is null
|
||||
OR now() between tbl_benutzerfunktion.datum_von and tbl_benutzerfunktion.datum_bis )
|
||||
)
|
||||
)
|
||||
)
|
||||
AND tbl_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz
|
||||
ORDER BY
|
||||
tbl_lehrveranstaltung.studiengang_kz,
|
||||
tbl_lehrveranstaltung.semester,
|
||||
tbl_lehrveranstaltung.bezeichnung
|
||||
";
|
||||
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
if ($db->db_num_rows($result) > 0)
|
||||
{
|
||||
echo '<H3>'.$p->t('lvaliste/koordination').'</H3>';
|
||||
echo $p->t('lvaliste/anzahl').': '.$db->db_num_rows($result);
|
||||
echo '<table class="tablesorter" id="t3">';
|
||||
echo '<thead><tr>';
|
||||
echo '<th>'.$p->t('lvaliste/studiengang').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/semester').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/institut').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/lvBezeichnung').'</th>';
|
||||
echo '<th>'.$p->t('lvaliste/lektor').'</th>';
|
||||
echo '</tr></thead><tbody>';
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
//Fachbereichskoordinatoren holen
|
||||
$qry = "SELECT distinct
|
||||
uid,titelpre, titelpost, vorname, nachname
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter,
|
||||
public.tbl_benutzer,
|
||||
public.tbl_person,
|
||||
lehre.tbl_lehreinheit
|
||||
WHERE
|
||||
tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($row->lehrveranstaltung_id, FHC_INTEGER)." AND
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND
|
||||
tbl_benutzer.person_id=tbl_person.person_id AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stdsem);
|
||||
$lektoren='';
|
||||
if($result_lkt = $db->db_query($qry))
|
||||
{
|
||||
while($row_lkt = $db->db_fetch_object($result_lkt))
|
||||
{
|
||||
if($lektoren!='')
|
||||
$lektoren.=',';
|
||||
$lektoren.=trim($row_lkt->titelpre.' '.$row_lkt->vorname.' '.$row_lkt->nachname.' '.$row_lkt->titelpost);
|
||||
}
|
||||
}
|
||||
|
||||
echo '<tr>';
|
||||
echo '<td><a href="mailto:'.$row->email.'">'.$stg_obj->kuerzel_arr[$row->studiengang_kz].'</a></td>';
|
||||
echo '<td>'.$row->semester.'</td>';
|
||||
echo '<td>'.$row->stunden.'</td>';
|
||||
echo '<td>'.$row->fachbereich_kurzbz.'</td>';
|
||||
echo '<td>'.$row->bezeichnung.'</td>';
|
||||
echo '<td>'.$lektoren.'</td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
}
|
||||
}
|
||||
echo '<BR>'.$p->t('lvaliste/fehlerAnStudiengang').'<BR><BR><BR>';
|
||||
?>
|
||||
</body>
|
||||
|
||||
@@ -268,7 +268,7 @@ if ($gebiet_id != '')
|
||||
$offsethinweis = ' <span class="error">empfohlene Offsetpunkteanzahl: '.round($offsetpunkte).(round($offsetpunkte) != $offsetpunkte ? ' ('.$offsetpunkte.' gerundet)' : '').'</span>';
|
||||
$offsethinweis .= '<span class="error">'.$offsetwarnung.'</span>';
|
||||
}
|
||||
echo '<td>Offsetpunkte (minimale Punkteanzahl)</td><td><input type="text" size="5" maxlength="5" name="offsetpunkte" value="'.$gebiet->offsetpunkte.'">'.$offsethinweis.'</td>';
|
||||
echo '<td>Offsetpunkte (maximale Negativpunkte)</td><td><input type="text" size="5" maxlength="7" name="offsetpunkte" value="'.$gebiet->offsetpunkte.'">'.$offsethinweis.'</td>';
|
||||
echo '</tr><tr>';
|
||||
echo '<td>Maximale Fragenanzahl</td><td><input type="text" size="5" maxlength="5" name="maxfragen" value="'.$gebiet->maxfragen.'"></td>';
|
||||
echo '</tr><tr>';
|
||||
|
||||
+81
-76
@@ -16,8 +16,8 @@
|
||||
* 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>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
|
||||
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>,
|
||||
* Manfred Kindl <manfred.kindl@technikum-wien.at>
|
||||
*/
|
||||
@@ -48,8 +48,8 @@ session_start();
|
||||
// If language is changed by language select menu, reset language variables
|
||||
if (isset($_GET['sprache_user']) && !empty($_GET['sprache_user']))
|
||||
{
|
||||
$_SESSION['sprache_user'] = $_GET['sprache_user'];
|
||||
$sprache_user = $_GET['sprache_user'];
|
||||
$_SESSION['sprache_user'] = $_GET['sprache_user'];
|
||||
$sprache_user = $_GET['sprache_user'];
|
||||
}
|
||||
|
||||
// Set language variable, which impacts the question language
|
||||
@@ -78,10 +78,10 @@ echo '
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" />
|
||||
<link rel="stylesheet" href="../../vendor/twbs/bootstrap/dist/css/bootstrap.min.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="../../vendor/twbs/bootstrap/dist/css/bootstrap.min.css" type="text/css"/>
|
||||
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript" src="../../vendor/components/jquery/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/twbs/bootstrap/dist/js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/components/jquery/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/twbs/bootstrap/dist/js/bootstrap.min.js"></script>
|
||||
<script language="Javascript" type="text/javascript">
|
||||
//<![CDATA[
|
||||
function killChildNodes(an_element)
|
||||
@@ -132,19 +132,19 @@ echo '
|
||||
function GebietStarten(bezeichnung,stunde,minute,sekunde,gebiet_id)
|
||||
{
|
||||
var check = confirm(<?php echo "'".$p->t('testtool/okKlickenUmZuStarten')."'"?>+' '+stunde+'h '+minute+'m '+sekunde+'s');
|
||||
if (check == true) {
|
||||
if (check == true) {
|
||||
var sprache_user = <?php echo "'".$sprache_user."'"?>;
|
||||
document.location.href = 'frage.php?gebiet_id='+gebiet_id+'&start=true';
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
document.location.href = 'frage.php?gebiet_id='+gebiet_id+'&start=true';
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function letzteFrage()
|
||||
{
|
||||
alert(<?php echo "'".$p->t("testtool/alleFragenBeantwortet")."'"?>);
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
//]]>
|
||||
@@ -357,8 +357,8 @@ if($levelgebiet)
|
||||
<tr>
|
||||
<td valign="top" style="height:1px;font-size:2px;">
|
||||
<table cellpadding="0" cellspacing="0" style="border:0px;height:1px;font-size:2px;">
|
||||
<tr>
|
||||
<td nowrap="nowrap" style="height:1px;font-size:2px;">
|
||||
<tr>
|
||||
<td nowrap="nowrap" style="height:1px;font-size:2px;">
|
||||
<font size="2" face="Arial, Helvetica, sans-serif">
|
||||
<img src="../../skin/images/entry.gif" width="'.($psolved*3).'" height="10" alt="" border="1" />
|
||||
</font>
|
||||
@@ -372,32 +372,32 @@ if($levelgebiet)
|
||||
}
|
||||
//Zeit des Gebietes holen
|
||||
echo '
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td valign="top" width="50%">TeilnehmerIn: '.$info.'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">'.$fortschrittsbalken.'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>';
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td valign="top" width="50%">TeilnehmerIn: '.$info.'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">'.$fortschrittsbalken.'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>';
|
||||
|
||||
if($demo)
|
||||
{
|
||||
//Wenn es sich um ein Demobeispiel handelt, dann wird die Maximale Gesamtzeit angezeigt
|
||||
echo
|
||||
$p->t('testtool/bearbeitungszeit').': '.$stunde.'h '.$minute.'m '.$sekunde.'s';
|
||||
$p->t('testtool/bearbeitungszeit').': '.$stunde.'h '.$minute.'m '.$sekunde.'s';
|
||||
echo '
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
';
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
';
|
||||
echo "
|
||||
<input type=\"button\" class='btn btn-default btn-testtool' value=\"".$p->t("testtool/gebietStarten")."\" onclick=\"GebietStarten('".$db->convert_html_chars($gebiet->bezeichnung)."','".$stunde."','".$minute."','".$sekunde."','".$gebiet_id."')\" /> ";
|
||||
<input type=\"button\" class='btn btn-default btn-testtool' value=\"".$p->t("testtool/gebietStarten")."\" onclick=\"GebietStarten('".$db->convert_html_chars($gebiet->bezeichnung)."','".$stunde."','".$minute."','".$sekunde."','".$gebiet_id."')\" /> ";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -458,12 +458,17 @@ else
|
||||
if($frage->frage_id!='')
|
||||
{
|
||||
$frage_id = $frage->frage_id;
|
||||
$frage->bild = '';
|
||||
$frage->audio = '';
|
||||
$frage->text = '';
|
||||
$frage->getFrageSprache($frage_id, $_SESSION['sprache_user']);
|
||||
$fallbacksprache = $_SESSION['sprache_user'];
|
||||
|
||||
// Fallback auf DEFAULT_LANGUAGE wenn keine Frage in der $_SESSION['sprache_user'] vorhanden ist
|
||||
if ($frage->text == '' && $frage->bild == '' && $frage->audio == '')
|
||||
{
|
||||
$frage->getFrageSprache($frage_id, DEFAULT_LANGUAGE);
|
||||
$fallbacksprache = DEFAULT_LANGUAGE;
|
||||
}
|
||||
|
||||
if(!$demo)
|
||||
@@ -495,9 +500,9 @@ if($frage->frage_id!='')
|
||||
WHERE gebiet_id=".$db->db_add_param($gebiet_id, FHC_INTEGER)." AND pruefling_id=".$db->db_add_param($_SESSION['pruefling_id'], FHC_INTEGER)." AND demo=false ORDER BY nummer";
|
||||
|
||||
echo "
|
||||
<table class='table' style='margin-top: 20px; margin-bottom: 40px;'>
|
||||
<tr class='text-center'>
|
||||
";
|
||||
<table class='table' style='margin-top: 20px; margin-bottom: 40px;'>
|
||||
<tr class='text-center'>
|
||||
";
|
||||
//Nummern der Fragen Anzeigen
|
||||
$result = $db->db_query($qry);
|
||||
while($row = $db->db_fetch_object($result))
|
||||
@@ -539,46 +544,46 @@ if($frage->frage_id!='')
|
||||
echo " </tr></table>";
|
||||
|
||||
echo '
|
||||
<br/>
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-lg-offset-1 col-lg-10">
|
||||
';
|
||||
<br/>
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-lg-offset-1 col-lg-10">
|
||||
';
|
||||
|
||||
//Bild und Text der Frage anzeigen
|
||||
if($frage->bild!='')
|
||||
{
|
||||
echo '
|
||||
<div class="row text-center">
|
||||
<img class="testtoolfrage" src="bild.php?src=frage&frage_id='. $frage->frage_id.'&sprache='. $_SESSION["sprache_user"].'"></img><br/><br/><br/>
|
||||
</div>
|
||||
';
|
||||
}
|
||||
{
|
||||
echo '
|
||||
<div class="row text-center">
|
||||
<img class="testtoolfrage" src="bild.php?src=frage&frage_id='. $frage->frage_id.'&sprache='.$fallbacksprache.'"></img><br/><br/><br/>
|
||||
</div>
|
||||
';
|
||||
}
|
||||
$timestamp = time();
|
||||
|
||||
//Sound einbinden
|
||||
if($frage->audio!='')
|
||||
{
|
||||
echo '
|
||||
<div class="row text-center">
|
||||
<audio src="sound.php?src=frage&frage_id='.$frage->frage_id.'&sprache='.$_SESSION['sprache_user'].'&'.$timestamp.'" controls="controls" type="audio/ogg">
|
||||
<div>
|
||||
<p>Ihr Browser unterstützt dieses Audioelement leider nicht.</p>
|
||||
</div>
|
||||
</audio>
|
||||
</div>
|
||||
';
|
||||
<div class="row text-center">
|
||||
<audio src="sound.php?src=frage&frage_id='.$frage->frage_id.'&sprache='.$fallbacksprache.'&'.$timestamp.'" controls="controls" type="audio/ogg">
|
||||
<div>
|
||||
<p>Ihr Browser unterstützt dieses Audioelement leider nicht.</p>
|
||||
</div>
|
||||
</audio>
|
||||
</div>
|
||||
';
|
||||
}
|
||||
|
||||
$display_well = $frage->nummer == 0 ? '' : 'well'; // don't style frage 0 because this is always the introduction to gebiet
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-xs-offset-1 col-xs-10 col-sm-offset-2 col-sm-8">
|
||||
<div class="'. $display_well. ' text-center">'. $frage->text. '</div>
|
||||
</div>
|
||||
</div>
|
||||
';
|
||||
$display_well = $frage->nummer == 0 ? '' : 'well'; // don't style frage 0 because this is always the introduction to gebiet
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-xs-offset-1 col-xs-10 col-sm-offset-2 col-sm-8">
|
||||
<div class="'. $display_well. ' text-center">'. $frage->text. '</div>
|
||||
</div>
|
||||
</div>
|
||||
';
|
||||
|
||||
//Vorschlaege laden
|
||||
//Vorschlaege laden
|
||||
$vs = new vorschlag();
|
||||
$vs->getVorschlag($frage->frage_id, $_SESSION['sprache_user'], $gebiet->zufallvorschlag);
|
||||
|
||||
@@ -592,14 +597,14 @@ if($frage->frage_id!='')
|
||||
$letzte = $frage->getNextFrage($gebiet_id, $_SESSION['pruefling_id'], $frage_id, $demo);
|
||||
echo "<form action=\"$PHP_SELF?gebiet_id=$gebiet_id&frage_id=$frage->frage_id\" method=\"POST\" ".(!$letzte && !$levelgebiet?"onsubmit=\"letzteFrage()\"":"").">";
|
||||
echo '
|
||||
<div class="row text-center">
|
||||
<table class="table" style="width: 600px; margin-left: auto; margin-right: auto;">
|
||||
<tr>
|
||||
';
|
||||
<div class="row text-center">
|
||||
<table class="table" style="width: 600px; margin-left: auto; margin-right: auto;">
|
||||
<tr>
|
||||
';
|
||||
$anzahl = 1;
|
||||
$beantwortet = false;
|
||||
$cnt = 0; // counter für foreach-Schleife
|
||||
$len = count($vs->result);
|
||||
$len = count($vs->result);
|
||||
|
||||
//Antworten laden falls bereits vorhanden
|
||||
$antwort = new antwort();
|
||||
@@ -632,10 +637,10 @@ if($frage->frage_id!='')
|
||||
|
||||
echo '<br/>';
|
||||
if($vorschlag->bild!='')
|
||||
echo "<img class='testtoolvorschlag' src='bild.php?src=vorschlag&vorschlag_id=$vorschlag->vorschlag_id&sprache=".$_SESSION['sprache_user']."' /><br/>";
|
||||
echo "<img class='testtoolvorschlag' src='bild.php?src=vorschlag&vorschlag_id=$vorschlag->vorschlag_id&sprache=".$fallbacksprache."' /><br/>";
|
||||
if($vorschlag->audio!='')
|
||||
{
|
||||
echo ' <audio src="sound.php?src=vorschlag&vorschlag_id='.$vorschlag->vorschlag_id.'&sprache='.$_SESSION['sprache_user'].'" controls="controls">
|
||||
echo ' <audio src="sound.php?src=vorschlag&vorschlag_id='.$vorschlag->vorschlag_id.'&sprache='.$fallbacksprache.'" controls="controls">
|
||||
<div>
|
||||
<p>Ihr Browser unterstützt dieses Audioelement leider nicht.</p>
|
||||
</div>
|
||||
@@ -696,9 +701,9 @@ if($frage->frage_id!='')
|
||||
}
|
||||
}
|
||||
}
|
||||
echo '
|
||||
</div> <!--/.row-->
|
||||
';
|
||||
echo '
|
||||
</div> <!--/.row-->
|
||||
';
|
||||
echo "</form>";
|
||||
echo '</div></div>';
|
||||
echo '<br/><br/><br/><br/><br/>';
|
||||
|
||||
@@ -277,11 +277,11 @@ else
|
||||
$ps=new prestudent();
|
||||
$datum=date('Y-m-d');
|
||||
// An der FHTW wird ein Bewerber nur einmal ausgegeben (1. Prio) falls es mehrere Bewerbungen gibt
|
||||
if (CAMPUS_NAME == 'FH Technikum Wien')
|
||||
/*if (CAMPUS_NAME == 'FH Technikum Wien')
|
||||
{
|
||||
$ps->getFirstPrioPrestudentRT($datum);
|
||||
}
|
||||
else
|
||||
else*/
|
||||
{
|
||||
$ps->getPrestudentRT($datum);
|
||||
}
|
||||
@@ -504,7 +504,7 @@ if (isset($prestudent_id))
|
||||
|| $ps_obj->lastStatus == "Wartender"
|
||||
|| $ps_obj->lastStatus == "Aufgenommener")
|
||||
{
|
||||
echo '<td style="width: 50%;">'. $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). '</td>';
|
||||
echo '<td style="width: 50%;">'. $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). ' ('.$ps_obj->orgform_bezeichnung[$sprache_user].')</td>';
|
||||
if($ps_obj->ausbildungssemester == '1')
|
||||
{
|
||||
echo '<td>'. $p->t('testtool/regulaererEinstieg'). ' (1. Semester)</td>';
|
||||
|
||||
@@ -24,11 +24,13 @@
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/menu_addon.class.php');
|
||||
require_once(dirname(__FILE__).'/../../config/cis.config.inc.php');
|
||||
require_once(dirname(__FILE__).'/../../config/global.config.inc.php');
|
||||
require_once(dirname(__FILE__).'/../../include/functions.inc.php');
|
||||
require_once(dirname(__FILE__).'/../../include/phrasen.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/studiensemester.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/studiengang.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/lehrveranstaltung.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/vertrag.class.php');
|
||||
|
||||
class menu_addon_meinelv extends menu_addon
|
||||
{
|
||||
@@ -187,6 +189,17 @@ class menu_addon_meinelv extends menu_addon
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
$lv_obj->load($row->lehrveranstaltung_id);
|
||||
|
||||
// Nur erteilte Vertraege anzeigen wenn dies im Config hinterlegt ist.
|
||||
if (defined('CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON')
|
||||
&& CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON != '')
|
||||
{
|
||||
$vertrag = new vertrag();
|
||||
if (!$vertrag->isVertragErteiltLV($lv_obj->lehrveranstaltung_id, $stsem, $user))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if($row->studiengang_kz==0 AND $row->semester==0)
|
||||
{
|
||||
$this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
|
||||
|
||||
@@ -101,6 +101,9 @@ define('CIS_GESAMTNOTE_FREIGABEMAIL_NOTE', false);
|
||||
// Gibt an ob in der Notenliste der Studierenden nur offizielle Noten oder alle angezeigt werden
|
||||
define('CIS_NOTENLISTE_OFFIZIELL_ANZEIGEN', false);
|
||||
|
||||
// Gibt an ob in der Notenliste der Durchschnitt und der gewichtete Durchschnitt angezeigt werden
|
||||
define('CIS_NOTENLISTE_DURCHSCHNITT_ANZEIGEN', true);
|
||||
|
||||
// Grenzwerte für Anwesenheit
|
||||
define('FAS_ANWESENHEIT_ROT', 70);
|
||||
define('FAS_ANWESENHEIT_GELB', 90);
|
||||
@@ -108,6 +111,10 @@ define('FAS_ANWESENHEIT_GELB', 90);
|
||||
// Legt einen Prüfungstermin an wenn eine neue Note erfasst wird
|
||||
define('FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN',false);
|
||||
|
||||
// Legt fest ob die Uebernahme der Reihungstestpunkte im FAS moeglich ist
|
||||
// true | false
|
||||
define('FAS_REIHUNGSTEST_PUNKTEUEBERNAHME', true);
|
||||
|
||||
// Legt fest ob bei der Uebernahme der Reihungstestpunkte die Punkte
|
||||
//oder Prozentpunkte uebernommen werden true=Punkte, false=Prozentpunkte
|
||||
define('FAS_REIHUNGSTEST_PUNKTE', false);
|
||||
@@ -128,6 +135,13 @@ define('FAS_REIHUNGSTEST_AUFNAHMEGRUPPEN',false);
|
||||
// Legt fest, ob Vertragsdetails zum Lehrauftrag im Reiter LektorInnenzuteilung angezeigt werden
|
||||
define('FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN', false);
|
||||
|
||||
// Legt fest ob bei Fixangestellten Lektoren der Stundensatz vorgeschlagen wird
|
||||
define('FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ', true);
|
||||
|
||||
// Gibt an, ob/ab welchen Studiensemester eine zusätzliche Vertragspruefung der Lektoren erfolgt.
|
||||
// Ab diesem Semester wird die Lektorenzuordnung nur angezeigt wenn ein erteilter Vertrag vorhanden ist
|
||||
define('CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON', '');
|
||||
|
||||
// Legt fest, ob Vertragsdetails zum Projektauftrag im Reiter Projektarbeit angezeigt werden
|
||||
define('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN', false);
|
||||
|
||||
@@ -248,6 +262,10 @@ define('FAS_KONTO_SHOW_CREDIT_POINTS','false');
|
||||
// Bei "default" wird der Standard-Stundensatz des Lektors (aus tbl_mitarbeiter) ermittelt, und dieser eingetragen.
|
||||
// Wenn numerisch, wird dieser Wert bei allen LektorInnen eingetragen.
|
||||
// Wenn nicht definiert, wird der Stundensatz des Vorjahres übernommen.
|
||||
// Bei "nachbeschaeftigungsart" wird
|
||||
// bei echten Dienstvertraegen mit voller inkludierter Lehre (-1) der Stundensatz auf null gesetzt
|
||||
// bei echten Dienstvertraegen mit teilweise oder nicht inkludierter Lehre der Default Stundensatz gesetzt
|
||||
// bei sonstigen Dienstvertraegen der Default Stundensatz gesetzt
|
||||
define('VILESCI_STUNDENSATZ_VORRUECKUNG', '');
|
||||
|
||||
// Wenn true, werden die Content-Aufrufe des CIS in der tbl_webservicelog mitgeloggt. Zuvor manuell einen neuen Webservicetyp "content" anlegen!
|
||||
|
||||
@@ -208,4 +208,45 @@ define('DVB_PASSWORD','passwort');
|
||||
|
||||
define('CI_ENVIRONMENT', 'development'); // Code igniter environment variable
|
||||
|
||||
// BIS Personalmeldung
|
||||
|
||||
// Studiengaenge, die nicht gemeldet werden
|
||||
define('BIS_EXCLUDE_STG', array());
|
||||
|
||||
// Basis Vollzeit Arbeitsstunden für Berechnung von Jahresvollzeitaequivalenz JVZAE (echte Dienstverträge)
|
||||
define('BIS_VOLLZEIT_ARBEITSSTUNDEN', '40');
|
||||
|
||||
// Basis Vollzeit Semesterwochenstunden für Berechnung von Jahresvollzeitaequivalenz JVZAE auf Stundenbasis (freie Dienstverträge)
|
||||
define('BIS_VOLLZEIT_SWS_EINZELSTUNDENBASIS', '15');
|
||||
|
||||
// Basis Vollzeit Semesterwochenstunden für Berechnung von Jahresvollzeitaequivalenz JVZAE für inkludierte Lehre bei echten Dienstverträgen
|
||||
define('BIS_VOLLZEIT_SWS_INKLUDIERTE_LEHRE', '25');
|
||||
|
||||
// Semester Gewichtung für Berechnung von Jahresvollzeitaequivalenz JVZAE
|
||||
define('BIS_HALBJAHRES_GEWICHTUNG_SWS', 0.5);
|
||||
|
||||
// Jahrespauschale fuer studentische Hilfskraefte (in Stunden)
|
||||
define('BIS_PAUSCHALE_STUDENTISCHE_HILFSKRAFT', 0);
|
||||
|
||||
// Jahrespauschale fuer sonstige Dienstverhaeltnisse, zb Werkvertrag (in Stunden)
|
||||
define('BIS_PAUSCHALE_SONSTIGES_DIENSTVERHAELTNIS', 0);
|
||||
|
||||
define('BIS_FUNKTIONSCODE_1234_ARR', array(
|
||||
'vertrBefugter' => 1, // Vertretungsbefugte/r des Erhalters (GF, Prokura)
|
||||
'kollegium_Ltg' => 2, // Leiter/in des Kollegiums
|
||||
'kollegium_Ltg' => 2, // Leiter/in des Kollegiums
|
||||
'kollegium_stvLtg' => 3, // stellv. Leiter/In des Kollegiums
|
||||
'kollegium' => 4 // Mitglied des Kollegiums
|
||||
));
|
||||
|
||||
// Liste der Leitungsfunktionen
|
||||
define('BIS_FUNKTIONSCODE_5_ARR', array(
|
||||
'Leitung'
|
||||
));
|
||||
|
||||
// Organisationseinheitstypen bei denen KEINE Leiter gemeldet werden
|
||||
define('BIS_FUNKTIONSCODE_6_ARR', array(
|
||||
'Team'
|
||||
));
|
||||
|
||||
?>
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
// ****************************************
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../config/global.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/lehreinheit.class.php');
|
||||
require_once('../../include/lehreinheitmitarbeiter.class.php');
|
||||
@@ -52,6 +53,7 @@ require_once('../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/vertrag.class.php');
|
||||
require_once('../../include/benutzergruppe.class.php');
|
||||
require_once('../../include/bisverwendung.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
$db = new basis_db();
|
||||
@@ -440,11 +442,18 @@ if(!$error)
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_add')
|
||||
{
|
||||
//neue Lehreinheitmitarbeiterzuteilung anlegen
|
||||
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.lehrveranstaltung_id,
|
||||
(SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz
|
||||
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach
|
||||
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER);
|
||||
$qry = "SELECT
|
||||
tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.lehrveranstaltung_id,
|
||||
lehrfach.oe_kurzbz as lehrfach_oe_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung,
|
||||
lehre.tbl_lehreinheit,
|
||||
lehre.tbl_lehrveranstaltung as lehrfach
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id
|
||||
AND tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id
|
||||
AND lehreinheit_id = ".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER);
|
||||
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object())
|
||||
@@ -454,8 +463,8 @@ if(!$error)
|
||||
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
|
||||
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
|
||||
!$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'suid') &&
|
||||
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz) &&
|
||||
!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz))
|
||||
!$rechte->isBerechtigtMultipleOe('assistenz', $row->lehrfach_oe_kurzbz, 'suid') &&
|
||||
!$rechte->isBerechtigtMultipleOe('admin', $row->lehrfach_oe_kurzbz, 'suid'))
|
||||
{
|
||||
$error = true;
|
||||
$return = false;
|
||||
@@ -496,29 +505,47 @@ if(!$error)
|
||||
|
||||
$fixangestellt=false;
|
||||
//Stundensatz aus tbl_mitarbeiter holen
|
||||
$qry = "SELECT stundensatz, fixangestellt FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=".$db->db_add_param($_POST['mitarbeiter_uid']);
|
||||
if($result = $db->db_query($qry))
|
||||
$mitarbeiter = new mitarbeiter();
|
||||
if ($mitarbeiter->load($_POST['mitarbeiter_uid']))
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
$fixangestellt = $mitarbeiter->fixangestellt;
|
||||
$lem->stundensatz = $mitarbeiter->stundensatz;
|
||||
|
||||
if (defined('FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ')
|
||||
&& !FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ)
|
||||
{
|
||||
if($row->stundensatz!='')
|
||||
$lem->stundensatz = $row->stundensatz;
|
||||
else
|
||||
$lem->stundensatz = '0';
|
||||
$fixangestellt = ($row->fixangestellt=='t'?true:false);
|
||||
$stsem = new studiensemester();
|
||||
$stsem->load($semester_aktuell);
|
||||
$bisverwendung = new bisverwendung();
|
||||
$data = $mitarbeiter->stundensatz;
|
||||
if(!$bisverwendung->getVerwendungRange($mitarbeiter->uid, $stsem->start, $stsem->ende))
|
||||
{
|
||||
$bisverwendung->getLastAktVerwendung($mitarbeiter->uid);
|
||||
$bisverwendung->result[] = $bisverwendung;
|
||||
}
|
||||
|
||||
foreach($bisverwendung->result as $row_verwendung)
|
||||
{
|
||||
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
|
||||
// geliefert da dies im Vertrag inkludiert ist.
|
||||
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
|
||||
{
|
||||
$fixangestellt = true;
|
||||
$lem->stundensatz = '';
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error=true;
|
||||
$return=false;
|
||||
$errormsg='Mitarbeiter '.$db->convert_html_chars($_POST['mitarbeiter_uid']).' wurde nicht gefunden';
|
||||
$lem->stundensatz = $mitarbeiter->stundensatz;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error=true;
|
||||
$return=false;
|
||||
$errormsg='Fehler bei einer Datenbankabfrage:'.$db->db_last_error();
|
||||
$errormsg='Mitarbeiter '.$db->convert_html_chars($_POST['mitarbeiter_uid']).' wurde nicht gefunden';
|
||||
}
|
||||
|
||||
$maxstunden=9999;
|
||||
@@ -1381,7 +1408,32 @@ if(!$error)
|
||||
$mitarbeiter = new mitarbeiter();
|
||||
if($mitarbeiter->load($_POST['mitarbeiter_uid']))
|
||||
{
|
||||
$data = $mitarbeiter->stundensatz;
|
||||
if (defined('FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ')
|
||||
&& !FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ)
|
||||
{
|
||||
$stsem = new studiensemester();
|
||||
$stsem->load($semester_aktuell);
|
||||
$bisverwendung = new bisverwendung();
|
||||
$data = $mitarbeiter->stundensatz;
|
||||
if(!$bisverwendung->getVerwendungRange($mitarbeiter->uid, $stsem->start, $stsem->ende))
|
||||
{
|
||||
$bisverwendung->getLastAktVerwendung($mitarbeiter->uid);
|
||||
$bisverwendung->result[] = $bisverwendung;
|
||||
}
|
||||
|
||||
foreach($bisverwendung->result as $row_verwendung)
|
||||
{
|
||||
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
|
||||
// geliefert da dies im Vertrag inkludiert ist.
|
||||
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
|
||||
{
|
||||
$data = '';
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
$data = $mitarbeiter->stundensatz;
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -179,7 +179,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
</hbox>
|
||||
|
||||
|
||||
<groupbox id="mitarbeiter-detail-groupbox-funktion">
|
||||
<groupbox id="mitarbeiter-detail-groupbox-funktion" hidden="true">
|
||||
<caption label="Funktion" />
|
||||
<hbox>
|
||||
<tree id="mitarbeiter-tree-funktion" seltype="single" hidecolumnpicker="false" flex="1"
|
||||
@@ -392,4 +392,4 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
</hbox>
|
||||
</groupbox>
|
||||
</vbox>
|
||||
</overlay>
|
||||
</overlay>
|
||||
|
||||
@@ -87,12 +87,12 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
|
||||
var predicateNS = "http://www.technikum-wien.at/mitarbeiter/rdf";
|
||||
|
||||
fixangestellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fixangestellt" ));
|
||||
|
||||
|
||||
//neuer Datensatz wird angelegt
|
||||
MitarbeiterVerwendungDetailNeu='true';
|
||||
|
||||
//Defaultwerte
|
||||
ba1code=3; //fixer Dienstvertrag
|
||||
ba1code=103; //fixer Dienstvertrag
|
||||
ba2code=1; //unbefristet
|
||||
beschausmasscode=1; //Vollzeit
|
||||
verwendung_code=1; //Lehr- und Forschungspersonal
|
||||
|
||||
@@ -45,6 +45,10 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
|
||||
|
||||
$prestudent_id = filter_input(INPUT_GET,'prestudent_id');
|
||||
|
||||
if(!defined('FAS_REIHUNGSTEST_PUNKTEUEBERNAHME') || FAS_REIHUNGSTEST_PUNKTEUEBERNAHME == true)
|
||||
$rt_uebernahme = true;
|
||||
else
|
||||
$rt_uebernahme = false;
|
||||
echo '
|
||||
<!DOCTYPE overlay [';
|
||||
require('../../locale/'.$variable->variable->locale.'/fas.dtd');
|
||||
@@ -293,7 +297,15 @@ echo ']>
|
||||
<label value="Punkte" control="aufnahmetermine-textbox-punkte" />
|
||||
<hbox>
|
||||
<textbox id="aufnahmetermine-textbox-punkte" disabled="true" maxlength="8" size="6"/>
|
||||
<toolbarbutton id="aufnahmetermine-button-reihungstest-punktesync" image="../../skin/images/transmit.png" tooltiptext="Reihungstest Ergebnis holen" onclick="AufnahemTermineReihungstestPunkteTransmit()"/>
|
||||
<toolbarbutton
|
||||
id="aufnahmetermine-button-reihungstest-punktesync"
|
||||
<?php
|
||||
if(!$rt_uebernahme)
|
||||
echo 'hidden="true"';
|
||||
?>
|
||||
image="../../skin/images/transmit.png"
|
||||
tooltiptext="Reihungstest Ergebnis holen"
|
||||
onclick="AufnahemTermineReihungstestPunkteTransmit()"/>
|
||||
<spacer flex="1" />
|
||||
</hbox>
|
||||
</row>
|
||||
|
||||
@@ -509,7 +509,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<caption label="Status" />
|
||||
<tree id="student-prestudent-tree-rolle" seltype="single" hidecolumnpicker="false" flex="1"
|
||||
datasources="rdf:null" ref="http://www.technikum-wien.at/prestudentrolle/liste"
|
||||
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="200px" enableColumnDrag="true"
|
||||
style="margin-left:10px;margin-right:10px;margin-bottom:5px;min-height: 200px" height="200px" enableColumnDrag="true"
|
||||
flags="dont-build-content"
|
||||
context="student-prestudent-rolle-tree-popup"
|
||||
ondblclick="StudentRolleBearbeiten()"
|
||||
|
||||
@@ -404,8 +404,8 @@ class bisverwendung extends basis_db
|
||||
$obj->verwendung_code = $row->verwendung_code;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$obj->hauptberufcode = $row->hauptberufcode;
|
||||
$obj->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
|
||||
$obj->habilitation = $this->db_parse_bool($row->habilitation);
|
||||
$obj->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
|
||||
$obj->habilitation = $this->db_parse_bool($row->habilitation);
|
||||
$obj->beginn = $row->beginn;
|
||||
$obj->ende = $row->ende;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
@@ -513,8 +513,8 @@ class bisverwendung extends basis_db
|
||||
$this->verwendung_code = $row->verwendung_code;
|
||||
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$this->hauptberufcode = $row->hauptberufcode;
|
||||
$this->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
|
||||
$this->habilitation = $this->db_parse_bool($row->habilitation);
|
||||
$this->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
|
||||
$this->habilitation = $this->db_parse_bool($row->habilitation);
|
||||
$this->beginn = $row->beginn;
|
||||
$this->ende = $row->ende;
|
||||
$this->updatevon = $row->updatevon;
|
||||
@@ -566,8 +566,8 @@ class bisverwendung extends basis_db
|
||||
$this->verwendung_code = $row->verwendung_code;
|
||||
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$this->hauptberufcode = $row->hauptberufcode;
|
||||
$this->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
|
||||
$this->habilitation = $this->db_parse_bool($row->habilitation);
|
||||
$this->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
|
||||
$this->habilitation = $this->db_parse_bool($row->habilitation);
|
||||
$this->beginn = $row->beginn;
|
||||
$this->ende = $row->ende;
|
||||
$this->updatevon = $row->updatevon;
|
||||
@@ -587,5 +587,159 @@ class bisverwendung extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Verwendungen eines Mitarbeiters die in einen Datumsbereich fallen
|
||||
* @param $uid UID des Mitarbeiters
|
||||
* @param $von
|
||||
* @param $bis
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function getVerwendungRange($uid, $von, $bis)
|
||||
{
|
||||
$datum_obj = new datum();
|
||||
//laden des Datensatzes
|
||||
$qry = "
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
bis.tbl_bisverwendung
|
||||
WHERE
|
||||
mitarbeiter_uid=".$this->db_add_param($uid)."
|
||||
AND
|
||||
(
|
||||
".$this->db_add_param($datum_obj->formatDatum($von,'Y-m-d'))." BETWEEN COALESCE(beginn,'1970-01-01') AND COALESCE(ende,'2999-12-31')
|
||||
OR
|
||||
".$this->db_add_param($datum_obj->formatDatum($bis,'Y-m-d'))." BETWEEN COALESCE(beginn,'1970-01-01') AND COALESCE(ende,'2999-12-31')
|
||||
)
|
||||
ORDER BY ende desc;";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
|
||||
$obj = new bisverwendung();
|
||||
|
||||
$obj->bisverwendung_id = $row->bisverwendung_id;
|
||||
$obj->ba1code = $row->ba1code;
|
||||
$obj->ba2code = $row->ba2code;
|
||||
$obj->beschausmasscode = $row->beschausmasscode;
|
||||
$obj->verwendung_code = $row->verwendung_code;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$obj->hauptberufcode = $row->hauptberufcode;
|
||||
$obj->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
|
||||
$obj->habilitation = $this->db_parse_bool($row->habilitation);
|
||||
$obj->beginn = $row->beginn;
|
||||
$obj->ende = $row->ende;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->vertragsstunden = $row->vertragsstunden;
|
||||
$obj->dv_art = $row->dv_art;
|
||||
$obj->inkludierte_lehre = $row->inkludierte_lehre;
|
||||
$obj->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Prueft, ob Mitarbeiter habilitiert ist
|
||||
* @param $uid UID des Mitarbeiters
|
||||
* @return bool
|
||||
*/
|
||||
public function isHabilitiert($uid)
|
||||
{
|
||||
$qry = '
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
bis.tbl_bisverwendung
|
||||
WHERE
|
||||
mitarbeiter_uid = '. $this->db_add_param($uid). '
|
||||
AND
|
||||
habilitation = true;
|
||||
';
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
return $this->db_num_rows() > 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Holt alle Verwendungen eines Mitarbeiters innerhalb des BIS Meldungszeitraums
|
||||
* @param $uid UID des Mitarbeiters
|
||||
* @param $stichtag
|
||||
* @return bool
|
||||
*/
|
||||
public function getVerwendungenBISMeldung($uid, $stichtag)
|
||||
{
|
||||
$datetime = new DateTime($stichtag);
|
||||
$stichtag = $datetime->format('Y-m-d');
|
||||
$bismeldung_jahr = $datetime->format('Y');
|
||||
|
||||
$qry = '
|
||||
SELECT
|
||||
*,
|
||||
CASE
|
||||
WHEN (beginn is null OR beginn < make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 1, 1))
|
||||
THEN make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 1, 1)
|
||||
ELSE beginn
|
||||
END as beginn_imBISMeldungsJahr,
|
||||
CASE
|
||||
WHEN (ende is null OR ende > make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 12, 31))
|
||||
THEN make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 12, 31)
|
||||
ELSE ende
|
||||
END as ende_imBISMeldungsJahr
|
||||
FROM
|
||||
bis.tbl_bisverwendung
|
||||
JOIN bis.tbl_beschaeftigungsart1 USING (ba1code)
|
||||
WHERE
|
||||
mitarbeiter_uid = '. $this->db_add_param($uid).'
|
||||
AND (beginn <= '. $this->db_add_param($stichtag).' OR beginn is null)
|
||||
AND (ende >= make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 1, 1) OR ende is null)
|
||||
ORDER BY ende
|
||||
';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new StdClass();
|
||||
|
||||
$obj->bisverwendung_id = $row->bisverwendung_id;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$obj->vertragsstunden = $row->vertragsstunden;
|
||||
$obj->ba1code = $row->ba1code_bis;
|
||||
$obj->ba2code = $row->ba2code;
|
||||
$obj->verwendung_code = $row->verwendung_code;
|
||||
$obj->beschausmasscode = $row->beschausmasscode;
|
||||
$obj->hauptberufcode = $row->hauptberufcode;
|
||||
$obj->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
|
||||
$obj->beginn = $row->beginn;
|
||||
$obj->ende = $row->ende;
|
||||
$obj->beginn_imBISMeldungsJahr = $row->beginn_imbismeldungsjahr;
|
||||
$obj->ende_imBISMeldungsJahr = $row->ende_imbismeldungsjahr;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
+82
-56
@@ -677,13 +677,13 @@ class gebiet extends basis_db
|
||||
|
||||
$qry = "
|
||||
WITH fragen AS (
|
||||
SELECT tbl_frage.frage_id, tbl_frage.gebiet_id, tbl_frage.level, punkte
|
||||
FROM testtool.tbl_frage
|
||||
JOIN testtool.tbl_vorschlag USING (frage_id)
|
||||
WHERE tbl_vorschlag.aktiv
|
||||
AND tbl_vorschlag.punkte < 0
|
||||
AND tbl_frage.demo = false
|
||||
AND tbl_frage.aktiv
|
||||
SELECT tbl_frage.frage_id, tbl_frage.gebiet_id, tbl_frage.level, tbl_frage.nummer, punkte
|
||||
FROM testtool.tbl_frage
|
||||
JOIN testtool.tbl_vorschlag USING (frage_id)
|
||||
WHERE tbl_vorschlag.aktiv
|
||||
AND tbl_vorschlag.punkte < 0
|
||||
AND tbl_frage.demo = false
|
||||
AND tbl_frage.aktiv
|
||||
),
|
||||
fragenanzahl AS (
|
||||
SELECT gebiet_id, level, levelgleichverteilung,
|
||||
@@ -712,57 +712,83 @@ class gebiet extends basis_db
|
||||
tbl_gebiet.level_start,
|
||||
(
|
||||
CASE WHEN tbl_gebiet.levelgleichverteilung THEN
|
||||
(CASE WHEN tbl_gebiet.multipleresponse=false THEN
|
||||
(SELECT sum(frprolevel) FROM
|
||||
(
|
||||
SELECT fragen.level, (min(punkte)
|
||||
* (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = fragen.gebiet_id and fragenanzahl.level = fragen.level LIMIT 1)) AS frprolevel
|
||||
FROM fragen
|
||||
WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id
|
||||
GROUP BY fragen.gebiet_id, level
|
||||
) pkteprolevel)
|
||||
ELSE
|
||||
(SELECT sum(frprolevel) FROM
|
||||
(
|
||||
SELECT fragen.level, (sum(punkte)
|
||||
* (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = fragen.gebiet_id and fragenanzahl.level = fragen.level LIMIT 1)) AS frprolevel
|
||||
FROM fragen
|
||||
WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id
|
||||
AND frage_id = (SELECT min(frage_id) FROM fragen fr WHERE fr.gebiet_id = fragen.gebiet_id AND fr.level = fragen.level)
|
||||
GROUP BY fragen.gebiet_id, level
|
||||
) pkteprolevel)
|
||||
END)
|
||||
(CASE WHEN tbl_gebiet.multipleresponse=false THEN
|
||||
(SELECT sum(frprolevel) FROM
|
||||
(
|
||||
SELECT fragen.level, (SELECT sum(punkte) FROM (SELECT min(punkte) AS punkte FROM fragen lvlfr WHERE lvlfr.gebiet_id = fragen.gebiet_id and lvlfr.level = fragen.level
|
||||
GROUP BY lvlfr.frage_id, lvlfr.nummer
|
||||
ORDER BY lvlfr.nummer
|
||||
LIMIT (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = fragen.gebiet_id and fragenanzahl.level = fragen.level LIMIT 1)) fr)
|
||||
AS frprolevel
|
||||
FROM fragen
|
||||
WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id
|
||||
GROUP BY fragen.gebiet_id, level
|
||||
) pkteprolevel)
|
||||
ELSE
|
||||
(SELECT sum(frprolevel) FROM
|
||||
(
|
||||
SELECT fragen.level,
|
||||
(SELECT sum(punkte) FROM (SELECT sum(punkte) AS punkte FROM fragen lvlfr WHERE lvlfr.gebiet_id = fragen.gebiet_id and lvlfr.level = fragen.level
|
||||
GROUP by lvlfr.frage_id, lvlfr.nummer
|
||||
ORDER BY lvlfr.nummer
|
||||
LIMIT (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = fragen.gebiet_id and fragenanzahl.level = fragen.level LIMIT 1)) fr)
|
||||
AS frprolevel
|
||||
FROM fragen
|
||||
WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id
|
||||
GROUP BY fragen.gebiet_id, level
|
||||
) pkteprolevel)
|
||||
END)
|
||||
WHEN tbl_gebiet.level_start IS NOT NULL THEN
|
||||
(CASE WHEN tbl_gebiet.multipleresponse=false THEN
|
||||
(
|
||||
SELECT min(punkte)
|
||||
FROM fragen
|
||||
WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id
|
||||
(CASE WHEN tbl_gebiet.multipleresponse=false THEN
|
||||
(SELECT sum(pkte)
|
||||
FROM (
|
||||
SELECT min(punkte) AS pkte
|
||||
FROM fragen
|
||||
WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id
|
||||
AND fragen.level = tbl_gebiet.level_start
|
||||
) * (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = tbl_gebiet.gebiet_id AND fragenanzahl.level = tbl_gebiet.level_start LIMIT 1)
|
||||
ELSE
|
||||
(SELECT sum(punkte)
|
||||
FROM fragen
|
||||
WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id
|
||||
AND frage_id = (SELECT min(frage_id) FROM fragen WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id)
|
||||
AND fragen.level = tbl_gebiet.level_start
|
||||
)* (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = tbl_gebiet.gebiet_id AND fragenanzahl.level = tbl_gebiet.level_start LIMIT 1)
|
||||
END)
|
||||
GROUP BY frage_id, nummer
|
||||
ORDER BY nummer
|
||||
LIMIT (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = tbl_gebiet.gebiet_id AND fragenanzahl.level = tbl_gebiet.level_start LIMIT 1)
|
||||
) minpkte
|
||||
)
|
||||
ELSE
|
||||
(
|
||||
SELECT sum(pkte)
|
||||
FROM (SELECT sum(punkte) AS pkte
|
||||
FROM fragen
|
||||
WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id
|
||||
AND fragen.level = tbl_gebiet.level_start
|
||||
GROUP BY frage_id, nummer
|
||||
ORDER BY nummer
|
||||
LIMIT (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = tbl_gebiet.gebiet_id AND fragenanzahl.level = tbl_gebiet.level_start LIMIT 1)
|
||||
) sumpkte
|
||||
)
|
||||
END)
|
||||
ELSE
|
||||
(CASE WHEN tbl_gebiet.multipleresponse=false THEN
|
||||
(
|
||||
SELECT min(punkte)
|
||||
FROM fragen
|
||||
WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id
|
||||
) * (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = tbl_gebiet.gebiet_id LIMIT 1)
|
||||
ELSE
|
||||
(SELECT sum(punkte)
|
||||
FROM fragen
|
||||
WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id
|
||||
AND frage_id = (SELECT min(frage_id) FROM fragen WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id)
|
||||
)* (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = tbl_gebiet.gebiet_id LIMIT 1)
|
||||
END)
|
||||
|
||||
(CASE WHEN tbl_gebiet.multipleresponse=false THEN
|
||||
(
|
||||
SELECT sum(pkte)
|
||||
FROM (SELECT min(punkte) AS pkte
|
||||
FROM fragen
|
||||
WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id
|
||||
GROUP BY frage_id, nummer
|
||||
ORDER BY nummer
|
||||
LIMIT (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = tbl_gebiet.gebiet_id LIMIT 1)
|
||||
) minpkte
|
||||
)
|
||||
ELSE
|
||||
(
|
||||
SELECT sum(pkte)
|
||||
FROM (SELECT sum(punkte) AS pkte
|
||||
FROM fragen
|
||||
WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id
|
||||
GROUP BY frage_id, nummer
|
||||
ORDER BY nummer
|
||||
LIMIT (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = tbl_gebiet.gebiet_id LIMIT 1)
|
||||
) sumpkte
|
||||
)
|
||||
END)
|
||||
|
||||
END) * (-1) AS offsetpunkte
|
||||
FROM
|
||||
testtool.tbl_gebiet
|
||||
@@ -770,7 +796,7 @@ class gebiet extends basis_db
|
||||
EXISTS(
|
||||
SELECT 1 FROM fragen WHERE fragen.gebiet_id=tbl_gebiet.gebiet_id
|
||||
)
|
||||
AND gebiet_id = ".$this->db_add_param($gebiet_id, FHC_INTEGER)."
|
||||
AND gebiet_id = ".$this->db_add_param($gebiet_id, FHC_INTEGER)."
|
||||
";
|
||||
|
||||
if($this->db_query($qry))
|
||||
|
||||
@@ -257,6 +257,60 @@ class lehreinheit extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle vorhandenen Lehreinheiten zu einer Lehrveranstaltung
|
||||
*
|
||||
* @param $lehrveranstaltung_id
|
||||
* @return bool
|
||||
*/
|
||||
public function load_all_lehreinheiten($lehrveranstaltung_id)
|
||||
{
|
||||
$this->lehreinheiten = array();
|
||||
$this->errormsg ='';
|
||||
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE
|
||||
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
|
||||
ORDER BY lehreinheit_id;";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$le_obj = new lehreinheit();
|
||||
|
||||
$le_obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
$le_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$le_obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$le_obj->lehrfach_id = $row->lehrfach_id;
|
||||
$le_obj->lehrform_kurzbz = $row->lehrform_kurzbz;
|
||||
$le_obj->stundenblockung = $row->stundenblockung;
|
||||
$le_obj->wochenrythmus = $row->wochenrythmus;
|
||||
$le_obj->start_kw = $row->start_kw;
|
||||
$le_obj->raumtyp = $row->raumtyp;
|
||||
$le_obj->raumtypalternativ = $row->raumtypalternativ;
|
||||
$le_obj->lehre = $this->db_parse_bool($row->lehre);
|
||||
$le_obj->anmerkung = $row->anmerkung;
|
||||
$le_obj->unr = $row->unr;
|
||||
$le_obj->lvnr = $row->lvnr;
|
||||
$le_obj->sprache = $row->sprache;
|
||||
$le_obj->insertamum = $row->insertamum;
|
||||
$le_obj->insertvon = $row->insertvon;
|
||||
$le_obj->updateamum = $row->updateamum;
|
||||
$le_obj->updatevon = $row->updatevon;
|
||||
$le_obj->ext_id = $row->ext_id;
|
||||
$le_obj->gewicht = $row->gewicht;
|
||||
|
||||
$this->lehreinheiten[] = $le_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Lehreinheiten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Variablen vor dem Speichern
|
||||
* auf Gueltigkeit.
|
||||
|
||||
@@ -44,6 +44,8 @@ class lehreinheitmitarbeiter extends basis_db
|
||||
public $ext_id; // bigint
|
||||
public $vertrag_id;
|
||||
|
||||
public $result = array();
|
||||
|
||||
/**
|
||||
* Konstruktor - Laedt optional einee LEMitarbeiterzuordnung
|
||||
* @param $lehreinheit_id
|
||||
@@ -495,6 +497,116 @@ class lehreinheitmitarbeiter extends basis_db
|
||||
return $ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ladet Semesterwochenstunden-Summe eines Mitarbeiters eines Semesters.
|
||||
* Nur bisrelevante SWS.
|
||||
* @param String $uid
|
||||
* @param String $studiensemester
|
||||
* @return bool
|
||||
*/
|
||||
public function getLehreinheiten_SWS_BISMeldung($uid, $studiensemester)
|
||||
{
|
||||
$qry = '
|
||||
SELECT
|
||||
round(sum(semesterstunden) / 15) AS sws
|
||||
FROM (
|
||||
SELECT DISTINCT lehreinheit_id, studiensemester_kurzbz, mitarbeiter_uid, semesterstunden
|
||||
FROM lehre.tbl_lehreinheitmitarbeiter lema
|
||||
JOIN public.tbl_mitarbeiter ma USING (mitarbeiter_uid)
|
||||
JOIN public.tbl_benutzer ON (mitarbeiter_uid = uid)
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
JOIN bis.tbl_bisverwendung USING (mitarbeiter_uid)
|
||||
JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
|
||||
JOIN public.tbl_studiensemester ss USING (studiensemester_kurzbz)
|
||||
WHERE mitarbeiter_uid = '. $this->db_add_param($uid).'
|
||||
AND lema.bismelden
|
||||
AND studiensemester_kurzbz = '. $this->db_add_param($studiensemester).'
|
||||
) tbl_semesterstunden
|
||||
';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->result[] = $row->sws;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Ladet Semesterwochenstunden-Summe gruppiert nach Studiengang und Studiensemester.
|
||||
* Es werden die Studiensemester herangezogen, die im Zeitraum zwischen beginn und ende beginnen.
|
||||
* @param String $uid
|
||||
* @param String $beginn
|
||||
* @param String $ende
|
||||
* @return bool
|
||||
*/
|
||||
public function get_SWS_groupByStg($uid, $beginn, $ende)
|
||||
{
|
||||
$beginn = new DateTime($beginn);
|
||||
$ende = new DateTime($ende);
|
||||
|
||||
$qry = '
|
||||
WITH semester_sws_tbl AS (
|
||||
SELECT DISTINCT lehreinheit_id, studiensemester_kurzbz, lema.semesterstunden, stg.studiengang_kz
|
||||
FROM lehre.tbl_lehreinheitmitarbeiter lema
|
||||
JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_studienplan_lehrveranstaltung USING (lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_studienplan USING (studienplan_id)
|
||||
JOIN lehre.tbl_studienordnung sto USING (studienordnung_id)
|
||||
JOIN public.tbl_studiengang stg ON stg.studiengang_kz = sto.studiengang_kz
|
||||
JOIN public.tbl_studiensemester ss USING (studiensemester_kurzbz)
|
||||
WHERE mitarbeiter_uid = '. $this->db_add_param($uid). '
|
||||
AND (
|
||||
ss.start BETWEEN
|
||||
'. $this->db_add_param($beginn->format('Y-m-d')). ' AND
|
||||
'. $this->db_add_param($ende->format('Y-m-d')). ')
|
||||
-- nur lehre, die bisgemeldet wird
|
||||
AND lema.bismelden
|
||||
-- keine lehreinheiten ohne semesterstunden
|
||||
AND lema.semesterstunden != 0
|
||||
)
|
||||
|
||||
SELECT
|
||||
studiengang_kz,
|
||||
studiensemester_kurzbz,
|
||||
sum(semesterstunden) AS summe,
|
||||
round(sum(semesterstunden) / 15, 2) AS sws
|
||||
FROM
|
||||
semester_sws_tbl
|
||||
GROUP BY
|
||||
studiengang_kz,
|
||||
studiensemester_kurzbz
|
||||
ORDER BY
|
||||
studiengang_kz;
|
||||
';
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new StdClass();
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$obj->sws = $row->sws;
|
||||
$this->result []= $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Lektoren einer Lehrveranstaltung in einem Studiensemester
|
||||
* @param lehrveranstaltung_id
|
||||
|
||||
@@ -1539,5 +1539,56 @@ class mitarbeiter extends benutzer
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt alle Mitarbeiter zurück, die im BIS Meldungszeitraum bisgemeldet sind
|
||||
* @param String $stichtag BIS Meldung Stichtag
|
||||
* @return boolean
|
||||
*/
|
||||
public function getMitarbeiterBISMeldung($stichtag)
|
||||
{
|
||||
$datetime = new DateTime($stichtag);
|
||||
$bismeldung_jahr = $datetime->format('Y');
|
||||
|
||||
$qry = '
|
||||
SELECT DISTINCT ON (UID) *,
|
||||
transform_geschlecht(tbl_person.geschlecht, tbl_person.gebdatum) as geschlecht_imputiert
|
||||
FROM
|
||||
public.tbl_mitarbeiter
|
||||
JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
JOIN bis.tbl_bisverwendung USING(mitarbeiter_uid)
|
||||
JOIN bis.tbl_beschaeftigungsausmass USING(beschausmasscode)
|
||||
WHERE
|
||||
bismelden
|
||||
AND personalnummer > 0
|
||||
AND (beginn <= make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 12, 31) OR beginn is null)
|
||||
AND (tbl_bisverwendung.ende is NULL OR tbl_bisverwendung.ende >= make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 1, 1))
|
||||
ORDER BY uid, nachname, vorname
|
||||
';
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new StdClass();
|
||||
|
||||
$obj->uid = $row->uid;
|
||||
$obj->vorname = $row->vorname;
|
||||
$obj->vornamen = $row->vornamen;
|
||||
$obj->nachname = $row->nachname;
|
||||
$obj->gebdatum = $row->gebdatum;
|
||||
$obj->geschlecht = $row->geschlecht;
|
||||
$obj->geschlechtX = $row->geschlecht_imputiert;
|
||||
$obj->staatsbuergerschaft = $row->staatsbuergerschaft;
|
||||
$obj->personalnummer = $row->personalnummer;
|
||||
$obj->ausbildungcode = $row->ausbildungcode;
|
||||
|
||||
$this->result []= $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -433,20 +433,27 @@ class prestudent extends person
|
||||
pers.vorname, pers.nachname, pers.person_id, pers.titelpre,
|
||||
pers.titelpost, pers.gebdatum,
|
||||
tbl_reihungstest.*,
|
||||
ps.studiengang_kz as studiengang_kz
|
||||
ps.studiengang_kz as studiengang_kz,
|
||||
tbl_studiengang.typ
|
||||
FROM
|
||||
public.tbl_prestudent ps
|
||||
JOIN public.tbl_person pers USING(person_id)
|
||||
JOIN public.tbl_rt_person USING(person_id)
|
||||
JOIN public.tbl_reihungstest ON(tbl_reihungstest.reihungstest_id=tbl_rt_person.rt_id)
|
||||
JOIN public.tbl_person pers USING (person_id)
|
||||
JOIN public.tbl_rt_person USING (person_id)
|
||||
JOIN public.tbl_reihungstest ON (tbl_reihungstest.reihungstest_id=tbl_rt_person.rt_id)
|
||||
JOIN public.tbl_studiengang ON (ps.studiengang_kz=tbl_studiengang.studiengang_kz)
|
||||
JOIN public.tbl_prestudentstatus ON (tbl_prestudentstatus.prestudent_id=ps.prestudent_id
|
||||
AND status_kurzbz=\'Interessent\'
|
||||
AND tbl_prestudentstatus.studiensemester_kurzbz=tbl_reihungstest.studiensemester_kurzbz)
|
||||
WHERE
|
||||
tbl_reihungstest.datum='.$this->db_add_param($datum).'
|
||||
/*AND tbl_rt_person.studienplan_id IN (SELECT studienplan_id FROM public.tbl_prestudentstatus WHERE prestudent_id=ps.prestudent_id)*/
|
||||
AND tbl_prestudentstatus.studienplan_id IN (SELECT studienplan_id FROM public.tbl_rt_studienplan WHERE reihungstest_id=tbl_rt_person.rt_id)
|
||||
AND EXISTS(SELECT * FROM public.tbl_prestudentstatus JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE prestudent_id=ps.prestudent_id AND tbl_studiensemester.ende>'.$this->db_add_param($datum).')
|
||||
WHERE prestudent_id=ps.prestudent_id AND tbl_studiensemester.ende > '.$this->db_add_param($datum).')
|
||||
AND priorisierung = (SELECT priorisierung FROM public.tbl_prestudent
|
||||
WHERE person_id = pers.person_id
|
||||
AND get_rolle_prestudent (ps.prestudent_id,NULL) IN (\'Interessent\',\'Bewerber\',\'Wartender\',\'Aufgenommener\')
|
||||
--AND tbl_prestudent.studiengang_kz=ps.studiengang_kz
|
||||
ORDER BY priorisierung ASC LIMIT 1)
|
||||
ORDER BY nachname,vorname';
|
||||
|
||||
@@ -492,11 +499,12 @@ class prestudent extends person
|
||||
SELECT DISTINCT ON (priorisierung, prestudent_id)
|
||||
priorisierung,
|
||||
prestudent_id,
|
||||
studienplan_id,
|
||||
tbl_prestudentstatus.studienplan_id,
|
||||
studiengang_kz,
|
||||
typ,
|
||||
tbl_studiengangstyp.bezeichnung AS typ_bz,
|
||||
ausbildungssemester
|
||||
ausbildungssemester,
|
||||
tbl_orgform.bezeichnung_mehrsprachig
|
||||
FROM
|
||||
public.tbl_prestudentstatus
|
||||
JOIN
|
||||
@@ -505,6 +513,10 @@ class prestudent extends person
|
||||
public.tbl_studiengang USING (studiengang_kz)
|
||||
JOIN
|
||||
public.tbl_studiengangstyp USING (typ)
|
||||
JOIN
|
||||
lehre.tbl_studienplan ON (tbl_prestudentstatus.studienplan_id = tbl_studienplan.studienplan_id)
|
||||
JOIN
|
||||
bis.tbl_orgform ON (tbl_studienplan.orgform_kurzbz = tbl_orgform.orgform_kurzbz)
|
||||
WHERE
|
||||
tbl_prestudent.person_id = (
|
||||
SELECT
|
||||
@@ -572,6 +584,7 @@ class prestudent extends person
|
||||
$obj->typ = $row->typ;
|
||||
$obj->typ_bz = $row->typ_bz;
|
||||
$obj->ausbildungssemester = $row->ausbildungssemester;
|
||||
$obj->orgform_bezeichnung = $this->db_parse_lang_array($row->bezeichnung_mehrsprachig);
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
|
||||
@@ -1168,5 +1168,82 @@ class vertrag extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob ein Mitarbeiter einen erteilten Vertrag zu einer Lehrveranstaltung besitzt.
|
||||
* @param $lehrveranstaltung_id ID der Lehrveranstaltung
|
||||
* @param $studiensemester_kurzbz Studiensemester das geprueft wird
|
||||
* @param $mitarbeiter_uid UID des Mitarbeiters
|
||||
*/
|
||||
public function isVertragErteiltLV($lehrveranstaltung_id, $studiensemester_kurzbz, $mitarbeiter_uid)
|
||||
{
|
||||
if (defined('CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON')
|
||||
&& CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON != '')
|
||||
{
|
||||
// Liegt das Studiensemester vor dem Pruefdatum, wird die LV immer als Erteilt angezeigt
|
||||
$qry = "
|
||||
SELECT
|
||||
tbl_studiensemester.start
|
||||
FROM
|
||||
public.tbl_studiensemester
|
||||
WHERE
|
||||
studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
||||
AND tbl_studiensemester.start < (SELECT start
|
||||
FROM public.tbl_studiensemester stsem WHERE
|
||||
stsem.studiensemester_kurzbz=".$this->db_add_param(CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON)."
|
||||
)";
|
||||
|
||||
if ($result = $this->db_query($qry))
|
||||
{
|
||||
if ($this->db_num_rows($result)>0)
|
||||
{
|
||||
// Wenn das Studiensemester vor dem Pruefdatum liegt, gilt der Vertrag immer als erteilt.
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Studiensemesters';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$qry = "
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_vertrag USING(vertrag_id)
|
||||
JOIN lehre.tbl_vertrag_vertragsstatus USING(vertrag_id)
|
||||
WHERE
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid)."
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
||||
AND tbl_lehreinheit.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id)."
|
||||
AND tbl_vertrag_vertragsstatus.vertragsstatus_kurzbz='erteilt'
|
||||
AND NOT EXISTS(
|
||||
SELECT 1 FROM lehre.tbl_vertrag_vertragsstatus vstatus
|
||||
WHERE vstatus.vertrag_id = tbl_vertrag.vertrag_id
|
||||
AND vstatus.vertragsstatus_kurzbz='storno'
|
||||
)
|
||||
";
|
||||
|
||||
if ($result = $this->db_query($qry))
|
||||
{
|
||||
if ($this->db_num_rows($result) > 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -84,4 +84,6 @@ $this->phrasen['profil/gueltigbis']='Gültig bis';
|
||||
$this->phrasen['profil/wochenstunden']='Wochenstunden';
|
||||
$this->phrasen['profil/vertragsstunden']='Vertragsstunden';
|
||||
$this->phrasen['profil/zukuenftigeFunktionen']='Zukünftige Funktionen';
|
||||
$this->phrasen['profil/notfallkontakt']='Notfallkontakt';
|
||||
$this->phrasen['profil/notfallkontaktBekanntgeben']='Bitte geben Sie einen Notfallkontakt bekannt!';
|
||||
?>
|
||||
|
||||
@@ -82,4 +82,6 @@ $this->phrasen['profil/gueltigbis']='Valid to';
|
||||
$this->phrasen['profil/wochenstunden']='week hours';
|
||||
$this->phrasen['profil/vertragsstunden']='contract hours';
|
||||
$this->phrasen['profil/zukuenftigeFunktionen']='Future functions';
|
||||
$this->phrasen['profil/notfallkontakt']='Emergency contact';
|
||||
$this->phrasen['profil/notfallkontaktBekanntgeben']='Please provide an emergency contact!';
|
||||
?>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
.div-table {
|
||||
display: table;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.div-row {
|
||||
|
||||
@@ -284,10 +284,13 @@ var InfocenterDetails = {
|
||||
{
|
||||
var freigabeResponseData = FHC_AjaxClient.getData(data);
|
||||
|
||||
if (freigabeResponseData.nonCriticalErrors && freigabeResponseData.nonCriticalErrors.length > 0
|
||||
&& typeof freigabeResponseData.nonCriticalErrors == "string")
|
||||
if (freigabeResponseData.nonCriticalErrors && freigabeResponseData.nonCriticalErrors.length > 0)
|
||||
{
|
||||
FHC_DialogLib.alertWarning(freigabeResponseData.nonCriticalErrors);
|
||||
FHC_DialogLib.alertWarning(freigabeResponseData.nonCriticalErrors.join(", "));
|
||||
}
|
||||
else if (freigabeResponseData.infoMessages && freigabeResponseData.infoMessages.length > 0)
|
||||
{
|
||||
FHC_DialogLib.alertInfo(freigabeResponseData.infoMessages.join(", "));
|
||||
}
|
||||
FHC_AjaxClient.showVeil();
|
||||
InfocenterDetails.initFrgMessageSend(freigabeData);
|
||||
|
||||
@@ -294,11 +294,12 @@ function footer_downloadCSV(){
|
||||
*/
|
||||
function footer_selectAll(){
|
||||
$('#tableWidgetTabulator').tabulator('getRows', true)
|
||||
.filter(row => row.getData().bestellt != null && // bestellt
|
||||
.filter(function(row){ return row.getData().bestellt != null && // bestellt
|
||||
row.getData().erteilt != null && // AND erteilt
|
||||
row.getData().akzeptiert == null && // AND NOT akzeptiert
|
||||
row.getData().status != 'Geändert') // AND NOT geändert
|
||||
.forEach((row => row.select()));
|
||||
row.getData().status != 'Geändert'
|
||||
;}) // AND NOT geändert
|
||||
.forEach((function(row){ return row.select();}));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -464,6 +465,17 @@ storniert_tooltip = function(cell){
|
||||
}
|
||||
|
||||
$(function() {
|
||||
|
||||
// Pruefen ob Promise unterstuetzt wird
|
||||
// Tabulator funktioniert nicht mit IE
|
||||
var canPromise = !! window.Promise;
|
||||
if(!canPromise)
|
||||
{
|
||||
alert("Diese Seite kann mit ihrem Browser nicht angezeigt werden. Bitte verwenden Sie Firefox, Chrome oder Edge um die Seite anzuzeigen");
|
||||
window.location.href='about:blank';
|
||||
return;
|
||||
}
|
||||
|
||||
// Show all rows
|
||||
$("#show-all").click(function(){
|
||||
$('#tableWidgetTabulator').tabulator('clearFilter');
|
||||
@@ -582,7 +594,7 @@ $(function() {
|
||||
// Print error message
|
||||
FHC_DialogLib.alertWarning(data.retval);
|
||||
}
|
||||
|
||||
|
||||
if (!data.error && data.retval != null)
|
||||
{
|
||||
// Update status 'Erteilt'
|
||||
|
||||
@@ -19,7 +19,7 @@ function tinymcePreviewSetContent()
|
||||
|
||||
function parseMessageText(receiver_id, text)
|
||||
{
|
||||
FHC_AjaxClient.ajaxCallGet(
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
"system/messages/Messages/parseMessageText",
|
||||
{
|
||||
receiver_id: receiver_id,
|
||||
@@ -46,10 +46,7 @@ $(document).ready(function ()
|
||||
{
|
||||
tinymce.init({
|
||||
selector: "#bodyTextArea",
|
||||
plugins: "autoresize",
|
||||
autoresize_min_height: 150,
|
||||
autoresize_max_height: 600,
|
||||
autoresize_bottom_margin: 10
|
||||
plugins: "autoresize"
|
||||
});
|
||||
|
||||
tinymce.init({
|
||||
@@ -58,9 +55,7 @@ $(document).ready(function ()
|
||||
menubar: false,
|
||||
toolbar: false,
|
||||
statusbar: false,
|
||||
readonly: 1,
|
||||
autoresize_min_height: 150,
|
||||
autoresize_bottom_margin: 10
|
||||
readonly: 1
|
||||
});
|
||||
|
||||
if ($("#variables"))
|
||||
|
||||
@@ -43,7 +43,7 @@ echo '
|
||||
<RDF:Seq about="'.$rdf_url.'/liste">
|
||||
';
|
||||
|
||||
$qry = "SELECT * FROM bis.tbl_beschaeftigungsart1 ORDER BY ba1code";
|
||||
$qry = "SELECT * FROM bis.tbl_beschaeftigungsart1 ORDER BY ba1kurzbz";
|
||||
$db = new basis_db();
|
||||
|
||||
if($db->db_query($qry))
|
||||
@@ -62,4 +62,4 @@ if($db->db_query($qry))
|
||||
}
|
||||
?>
|
||||
</RDF:Seq>
|
||||
</RDF:RDF>
|
||||
</RDF:RDF>
|
||||
|
||||
@@ -86,7 +86,11 @@ else
|
||||
{
|
||||
if($lehrveranstaltung_id!='')
|
||||
{
|
||||
$lehreinheit->load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz);
|
||||
if($studiensemester_kurzbz!='')
|
||||
$lehreinheit->load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz);
|
||||
else
|
||||
$lehreinheit->load_all_lehreinheiten($lehrveranstaltung_id);
|
||||
|
||||
foreach ($lehreinheit->lehreinheiten as $row)
|
||||
draw_row($row);
|
||||
}
|
||||
|
||||
+103
-1
@@ -3869,6 +3869,108 @@ if(!$result = @$db->db_query("SELECT bezeichnung_mehrsprachig FROM public.tbl_st
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Anpassungen fuer BIS Personalmeldung 6.8
|
||||
*/
|
||||
if (!$result = @$db->db_query("SELECT ba1code_bis FROM bis.tbl_beschaeftigungsart1 LIMIT 1"))
|
||||
{
|
||||
/*
|
||||
Beschaeftigungsausmass Kodextabelle aktualisieren
|
||||
|
||||
BA1Code alt 1 => BA1Code neu 1
|
||||
BA1Code alt 2 => BA1Code neu 2
|
||||
BA1Code alt 3 => BA1Code neu 3 (Echter DV)
|
||||
BA1Code alt 4 => BA1Code neu 5 (Freier DV -> Sonstiges)
|
||||
BA1Code alt 5 => BA1Code neu 4
|
||||
BA1Code alt 6 => BA1Code neu 5 (Werkvertrag -> Sonstiges)
|
||||
|
||||
BA1Code ist nicht mehr der Code der gemeldet wird.
|
||||
BA1code wird um 100 erhöht damit klar ist, dass es sich um einen anderen Code handelt.
|
||||
*/
|
||||
$qry = "
|
||||
ALTER TABLE bis.tbl_beschaeftigungsart1 ADD COLUMN ba1code_bis smallint;
|
||||
UPDATE bis.tbl_beschaeftigungsart1 SET ba1code_bis=1, ba1code=101 WHERE ba1code=1;
|
||||
UPDATE bis.tbl_beschaeftigungsart1 SET ba1code_bis=2, ba1code=102 WHERE ba1code=2;
|
||||
UPDATE bis.tbl_beschaeftigungsart1 SET ba1code_bis=3, ba1code=103 WHERE ba1code=3;
|
||||
UPDATE bis.tbl_beschaeftigungsart1 SET ba1code_bis=5, ba1code=105 WHERE ba1code=4;
|
||||
UPDATE bis.tbl_beschaeftigungsart1 SET ba1code_bis=4, ba1code=104 WHERE ba1code=5;
|
||||
UPDATE bis.tbl_beschaeftigungsart1 SET ba1code_bis=6, ba1code=106 WHERE ba1code=6;
|
||||
";
|
||||
|
||||
/*
|
||||
Für Werkvertraege wird eine eigene Beschaeftigungsart erstellt.
|
||||
Die alten Eintraege für "Sonstiges (Werkvertrag)" werden auf diese neue Beschaeftigungsart umgehaengt
|
||||
da diese bei uns alles Werkvertraege sind.
|
||||
Fuer Studentische Hilfskraefte wird ebenfalls eine eigene Beschaeftigungsart erstellt.
|
||||
Diese werden als Echter DV gemeldet aber getrennt verwaltet.
|
||||
Alle Personen mit einer Funktion als Hilfskraft werden auf diese Beschaeftigungsart geaendert.
|
||||
*/
|
||||
$qry .= "
|
||||
INSERT INTO bis.tbl_beschaeftigungsart1(ba1code, ba1bez, ba1kurzbz, ba1code_bis) VALUES(107,'Werkvertrag (Sonstiges)','Werkvertrag (Sonstiges)', 5);
|
||||
INSERT INTO bis.tbl_beschaeftigungsart1(ba1code, ba1bez, ba1kurzbz, ba1code_bis) VALUES(108,'Studentische Hilfskraft (Echter DV)','Stud. Hilfskraft (Echter DV)', 3);
|
||||
UPDATE bis.tbl_bisverwendung SET ba1code=107 WHERE ba1code=106;
|
||||
UPDATE bis.tbl_bisverwendung SET ba1code=108 WHERE ba1code=103 AND EXISTS(
|
||||
SELECT 1 FROM public.tbl_benutzerfunktion
|
||||
WHERE uid=tbl_bisverwendung.mitarbeiter_uid AND funktion_kurzbz='hilfskraft' AND
|
||||
(
|
||||
datum_von BETWEEN tbl_bisverwendung.beginn AND tbl_bisverwendung.ende
|
||||
OR
|
||||
datum_bis BETWEEN tbl_bisverwendung.beginn AND tbl_bisverwendung.ende
|
||||
)
|
||||
);
|
||||
";
|
||||
|
||||
$qry .= "
|
||||
UPDATE bis.tbl_beschaeftigungsart1 SET ba1bez='Dienstverhältnis zur postsekundären Bildungseinrichtung oder deren Träger' WHERE ba1code=103;
|
||||
UPDATE bis.tbl_beschaeftigungsart1 SET ba1kurzbz='Lehr- oder Ausbildungsverhältnis', ba1bez='Lehr- oder Ausbildungsverhältnis' WHERE ba1code=104;
|
||||
UPDATE bis.tbl_beschaeftigungsart1 SET ba1kurzbz='Freier Dienstvertrag (Sonstiges)', ba1bez='Sonstiges Beschäftigungsverhältnis' WHERE ba1code=105;
|
||||
UPDATE bis.tbl_beschaeftigungsart1 SET ba1kurzbz='Andere Bildungseinrichtung', ba1bez='Dienstverhältnis zu einer anderen Bildungseinrichtung oder einem anderen Träger' WHERE ba1code=106;
|
||||
";
|
||||
|
||||
/*
|
||||
Verwendungs Kodextabelle aktualisieren
|
||||
|
||||
VerwendungCode alt 1 => VerwendungsCode neu 1
|
||||
VerwendungCode alt 2 => VerwendungsCode neu 2
|
||||
VerwendungCode alt 3 => VerwendungsCode neu 3
|
||||
VerwendungCode alt 4 => VerwendungsCode neu 4
|
||||
VerwendungCode alt 5 => VerwendungsCode neu 5
|
||||
VerwendungCode alt 6 => VerwendungsCode neu 5
|
||||
VerwendungCode alt 7 => VerwendungsCode neu 5
|
||||
VerwendungCode alt 8 => VerwendungsCode neu 6
|
||||
VerwendungCode alt 9 => VerwendungsCode neu 7
|
||||
*/
|
||||
|
||||
$qry .= "
|
||||
UPDATE bis.tbl_bisverwendung SET verwendung_code=5 WHERE verwendung_code=6;
|
||||
UPDATE bis.tbl_bisverwendung SET verwendung_code=5 WHERE verwendung_code=7;
|
||||
UPDATE bis.tbl_bisverwendung SET verwendung_code=6 WHERE verwendung_code=8;
|
||||
UPDATE bis.tbl_bisverwendung SET verwendung_code=7 WHERE verwendung_code=9;
|
||||
|
||||
UPDATE bis.tbl_verwendung SET verwendungbez='wissenschaftliche Lehre und Forschung' WHERE verwendung_code=1;
|
||||
UPDATE bis.tbl_verwendung SET verwendungbez='wissenschaftliche Mitarbeit in Lehre und Forschung' WHERE verwendung_code=2;
|
||||
UPDATE bis.tbl_verwendung SET verwendungbez='professionelle Unterstützung der Studierenden in akademischen Belangen' WHERE verwendung_code=3;
|
||||
UPDATE bis.tbl_verwendung SET verwendungbez='professionelle Unterstützung der Studierenden in Gesundheits- und Sozialbelangen' WHERE verwendung_code=4;
|
||||
UPDATE bis.tbl_verwendung SET verwendungbez='Management' WHERE verwendung_code=5;
|
||||
UPDATE bis.tbl_verwendung SET verwendungbez='Verwaltung' WHERE verwendung_code=6;
|
||||
UPDATE bis.tbl_verwendung SET verwendungbez='Wartung und Betrieb' WHERE verwendung_code=7;
|
||||
|
||||
DELETE FROM bis.tbl_verwendung WHERE verwendung_code=8;
|
||||
DELETE FROM bis.tbl_verwendung WHERE verwendung_code=9;
|
||||
";
|
||||
|
||||
$qry.="
|
||||
INSERT INTO public.tbl_funktion(funktion_kurzbz, beschreibung, aktiv, fachbereich, semester) VALUES('vertrBefugter','Vertretungsbefugte/r des Erhalters',true,false,false);
|
||||
INSERT INTO public.tbl_funktion(funktion_kurzbz, beschreibung, aktiv, fachbereich, semester) VALUES('kollegium_Ltg','Leiter/in des Kollegiums',true,false,false);
|
||||
INSERT INTO public.tbl_funktion(funktion_kurzbz, beschreibung, aktiv, fachbereich, semester) VALUES('kollegium_stvLtg','Stellv. Leiter/in des Kollegiums',true,false,false);
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>bis.tbl_verwendung und bis.tbl_beschaeftigungsart: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Verwendung und Beschaeftigungsart für BIS Version 6.8 aktualisiert.';
|
||||
}
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
@@ -3879,7 +3981,7 @@ $tabellen=array(
|
||||
"bis.tbl_bisio_aufenthaltfoerderung" => array("bisio_id","aufenthaltfoerderung_code"),
|
||||
"bis.tbl_ausbildung" => array("ausbildungcode","ausbildungbez","ausbildungbeschreibung"),
|
||||
"bis.tbl_berufstaetigkeit" => array("berufstaetigkeit_code","berufstaetigkeit_bez","berufstaetigkeit_kurzbz"),
|
||||
"bis.tbl_beschaeftigungsart1" => array("ba1code","ba1bez","ba1kurzbz"),
|
||||
"bis.tbl_beschaeftigungsart1" => array("ba1code","ba1bez","ba1kurzbz","ba1code_bis"),
|
||||
"bis.tbl_beschaeftigungsart2" => array("ba2code","ba2bez"),
|
||||
"bis.tbl_beschaeftigungsausmass" => array("beschausmasscode","beschausmassbez","min","max"),
|
||||
"bis.tbl_besqual" => array("besqualcode","besqualbez"),
|
||||
|
||||
@@ -3610,6 +3610,30 @@ When on hold, the date is only a reminder.',
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'infocenter',
|
||||
'category' => 'infocenter',
|
||||
'phrase' => 'rtPunkteEintragenInfo',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Es existierte bereits ein Bewerberstatus und eine Reihungstestteilnahme.
|
||||
Deshalb wurde bei der Freigabe der Bewerberstatus automatisch hinzugefügt und der Bewerber als Reihungstestabsolvent markiert.
|
||||
Die Reihungstestpunkte müssen aber noch manuell eingetragen werden!',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'An applicant status and a placement test participation already existed for this person.
|
||||
Thus, the applicant status was added automatically and the applicant was marked as placement test participant.
|
||||
However, the placement test result is yet to be entered manually!',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'password',
|
||||
|
||||
@@ -40,19 +40,19 @@ $rechte->getBerechtigungen($uid);
|
||||
if(!$rechte->isBerechtigt('mitarbeiter/stammdaten', null,'suid'))
|
||||
die('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
$error_log='';
|
||||
$fehler=0;
|
||||
$error_log = '';
|
||||
$fehler = 0;
|
||||
|
||||
$text = '';
|
||||
$anzahl_quelle=0;
|
||||
$anzahl_eingefuegt=0;
|
||||
$anzahl_update=0;
|
||||
$anzahl_fehler=0;
|
||||
$ausgabe='';
|
||||
$error_log_fas='';
|
||||
$update=false;
|
||||
$bismeldedatum=date("Y-m-d", mktime(0, 0, 0, 9, 1, date("Y")));
|
||||
$bismeldedatumvorjahr=date("Y-m-d", mktime(0, 0, 0, 9, 1, date("Y")-1));
|
||||
$anzahl_quelle = 0;
|
||||
$anzahl_eingefuegt = 0;
|
||||
$anzahl_update = 0;
|
||||
$anzahl_fehler = 0;
|
||||
$ausgabe = '';
|
||||
$error_log_fas = '';
|
||||
$update = false;
|
||||
$bismeldedatum_start = date("Y-m-d", mktime(0, 0, 0, 1, 1, date("Y")-1));
|
||||
$bismeldedatum_ende = date("Y-m-d", mktime(0, 0, 0, 12, 31, date("Y")-1));
|
||||
|
||||
$ba1_arr = array();
|
||||
$qry = "SELECT * FROM bis.tbl_beschaeftigungsart1";
|
||||
@@ -141,14 +141,14 @@ if($resultall = $db->db_query($qryall))
|
||||
AND mitarbeiter_uid=".$db->db_add_param($rowall->uid)."
|
||||
ORDER BY beginn";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
$num_rows=$db->db_num_rows($result);
|
||||
if($num_rows>1)
|
||||
$num_rows = $db->db_num_rows($result);
|
||||
if ($num_rows > 1)
|
||||
{
|
||||
while($row=$db->db_fetch_object($result))
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($i==0)
|
||||
if ($i == 0)
|
||||
{
|
||||
echo "
|
||||
<br>
|
||||
@@ -165,7 +165,7 @@ if($resultall = $db->db_query($qryall))
|
||||
$row->beginn." - ".$row->ende."<br>";
|
||||
}
|
||||
}
|
||||
elseif($num_rows==0)
|
||||
elseif ($num_rows == 0)
|
||||
echo "<br><u>Aktive(r) Mitarbeiter(in): <b>".$rowall->nachname." ".$rowall->vorname."</b>
|
||||
hat ".$num_rows." aktuelle Verwendungen:</u><br>";
|
||||
}
|
||||
@@ -188,14 +188,14 @@ $qryall = '
|
||||
)
|
||||
GROUP BY uid, nachname, vorname
|
||||
ORDER by nachname, vorname;';
|
||||
if($resultall = $db->db_query($qryall))
|
||||
if ($resultall = $db->db_query($qryall))
|
||||
{
|
||||
$num_rows_all=$db->db_num_rows($resultall);
|
||||
$num_rows_all = $db->db_num_rows($resultall);
|
||||
echo "<br><br><H2>Bei $num_rows_all aktiven Fixangestellten Mitarbeitern sind keine aktuellen Verwendungen eingetragen</H2>";
|
||||
while($rowall=$db->db_fetch_object($resultall))
|
||||
while ($rowall = $db->db_fetch_object($resultall))
|
||||
{
|
||||
$i=0;
|
||||
$qry="
|
||||
$i = 0;
|
||||
$qry = "
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
@@ -207,12 +207,12 @@ if($resultall = $db->db_query($qryall))
|
||||
AND mitarbeiter_uid=".$db->db_add_param($rowall->uid)."
|
||||
ORDER by beginn";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
$num_rows=$db->db_num_rows($result);
|
||||
while($row=$db->db_fetch_object($result))
|
||||
while ($row=$db->db_fetch_object($result))
|
||||
{
|
||||
if($i==0)
|
||||
if ($i == 0)
|
||||
{
|
||||
echo "<br>
|
||||
<u>
|
||||
@@ -233,7 +233,7 @@ if($resultall = $db->db_query($qryall))
|
||||
}
|
||||
|
||||
//3 - nicht aktive mitarbeiter mitarbeiter mit aktueller verwendung
|
||||
$qryall='
|
||||
$qryall = '
|
||||
SELECT
|
||||
uid, nachname, vorname
|
||||
FROM
|
||||
@@ -246,14 +246,14 @@ $qryall='
|
||||
GROUP BY uid, nachname, vorname
|
||||
ORDER by nachname, vorname;';
|
||||
|
||||
if($resultall = $db->db_query($qryall))
|
||||
if ($resultall = $db->db_query($qryall))
|
||||
{
|
||||
$num_rows_all=$db->db_num_rows($resultall);
|
||||
echo "<br><br><H2>Bei $num_rows_all nicht aktiven Mitarbeitern sind die aktuellen Verwendungen nicht plausibel (inaktiv aber aktuelle Verwendung)</H2>";
|
||||
while($rowall=$db->db_fetch_object($resultall))
|
||||
while ($rowall = $db->db_fetch_object($resultall))
|
||||
{
|
||||
$i=0;
|
||||
$qry="
|
||||
$i = 0;
|
||||
$qry = "
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
@@ -263,12 +263,12 @@ if($resultall = $db->db_query($qryall))
|
||||
AND mitarbeiter_uid=".$db->db_add_param($rowall->uid)."
|
||||
ORDER BY beginn";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
$num_rows=$db->db_num_rows($result);
|
||||
while($row=$db->db_fetch_object($result))
|
||||
$num_rows = $db->db_num_rows($result);
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($i==0)
|
||||
if ($i == 0)
|
||||
{
|
||||
echo "<br>
|
||||
<u>
|
||||
@@ -287,16 +287,17 @@ if($resultall = $db->db_query($qryall))
|
||||
}
|
||||
}
|
||||
}
|
||||
//4 - wenn hauptberuf=j dann sollte verwendung=1,5,6 sein - check
|
||||
$qryall="
|
||||
//4 - wenn hauptberufcode gesetzt ist, muss die Verwendung 1 sein
|
||||
$qryall = "
|
||||
SELECT
|
||||
uid, nachname, vorname
|
||||
FROM
|
||||
campus.vw_mitarbeiter
|
||||
JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid)
|
||||
WHERE
|
||||
verwendung_code NOT IN ('1','5','6')
|
||||
verwendung_code NOT IN ('1')
|
||||
AND hauptberuflich=true
|
||||
AND (tbl_bisverwendung.ende>".$db->db_add_param($bismeldedatum_start)." or tbl_bisverwendung.ende is null)
|
||||
GROUP BY uid, nachname, vorname
|
||||
ORDER by nachname, vorname, uid;";
|
||||
|
||||
@@ -304,8 +305,7 @@ if($resultall = $db->db_query($qryall))
|
||||
{
|
||||
$num_rows_all=$db->db_num_rows($resultall);
|
||||
echo "<br><br><H2>Bei $num_rows_all Mitarbeitern sind die Eintragungen 'hauptberuflich' nicht plausibel</H2>";
|
||||
echo "hauptberuflich=ja, aber Verwendung nicht ".
|
||||
$verwendung_arr[1].", ".$verwendung_arr[5]." oder ".$verwendung_arr[6];
|
||||
echo "hauptberuflich=ja, aber Verwendung nicht ".$verwendung_arr[1];
|
||||
|
||||
while($rowall=$db->db_fetch_object($resultall))
|
||||
{
|
||||
@@ -316,9 +316,10 @@ if($resultall = $db->db_query($qryall))
|
||||
FROM
|
||||
bis.tbl_bisverwendung
|
||||
WHERE
|
||||
verwendung_code NOT IN ('1','5','6')
|
||||
verwendung_code NOT IN ('1')
|
||||
AND hauptberuflich=true
|
||||
AND mitarbeiter_uid=".$db->db_add_param($rowall->uid)."
|
||||
AND (tbl_bisverwendung.ende>".$db->db_add_param($bismeldedatum_start)." or tbl_bisverwendung.ende is null)
|
||||
ORDER BY beginn";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
@@ -342,6 +343,7 @@ if($resultall = $db->db_query($qryall))
|
||||
}
|
||||
}
|
||||
//5 - stimmt beschausmasscode mit vertragsstunden überein?
|
||||
/* Beschaeftigungsausmass nicht mehr relevant
|
||||
$qryall="
|
||||
SELECT
|
||||
uid, nachname, vorname
|
||||
@@ -403,6 +405,7 @@ if($resultall = $db->db_query($qryall))
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
//6 - aktive, freie lektoren auf verwendung 1 oder 2 prüfen
|
||||
$qryall="
|
||||
SELECT
|
||||
|
||||
@@ -219,7 +219,7 @@ if ($result = $db->db_query($qry))
|
||||
echo '<br><br>Anzahl:'.$db->db_num_rows($result);
|
||||
echo '
|
||||
<div style="float:right" >Beendingungsdatum der Verwendung:
|
||||
<input class="datepicker_datum" type="text" size="10" value="'.date('Y').'-08-31" id="deaktivierungsdatum"/>
|
||||
<input class="datepicker_datum" type="text" size="10" value="'.(date('Y')-2).'-12-31" id="deaktivierungsdatum"/>
|
||||
</div>
|
||||
<br><br>
|
||||
<table class="tablesorter" id="t1">
|
||||
|
||||
+1118
-454
File diff suppressed because it is too large
Load Diff
@@ -42,10 +42,6 @@ echo '<!doctype html>
|
||||
<a href="checkverwendung.php">Plausibilitätsprüfungen Verwendungen</a><br>
|
||||
Diverse Prüfungen auf inkonsistente Daten<br><br>
|
||||
</li>
|
||||
<li>
|
||||
<a href="checkfunktion.php">Funktionen generieren</a><br>
|
||||
Funktionen zu den Verwendungen generieren (SWS pro Studiengang)<br><br>
|
||||
</li>
|
||||
<li>
|
||||
<a href="personalmeldung.php">Meldung generieren</a><br>
|
||||
Abschließende Plausibilitätsprüfungen durchführen und Meldung generieren<br><br>
|
||||
|
||||
@@ -32,6 +32,7 @@ require_once('../../include/lehreinheitgruppe.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/mitarbeiter.class.php');
|
||||
require_once('../../include/gruppe.class.php');
|
||||
require_once('../../include/bisverwendung.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
@@ -162,6 +163,14 @@ elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
|
||||
Alle Lehraufträge werden mit dem aktuell hinterlegten Standard-Stundensatz der/des Lehrenden vorgerückt
|
||||
</span>';
|
||||
}
|
||||
elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG != ''
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG == 'nachbeschaeftigungsart')
|
||||
{
|
||||
echo '<br><span style="color: blue">
|
||||
Stundensätze werden abhängig von der Beschaeftigungsart aktualisiert.
|
||||
</span>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<br><span style="color: blue">
|
||||
@@ -219,6 +228,9 @@ if ($studiengang_kz != '' && $stsem_von != '' && $stsem_nach != '')
|
||||
}
|
||||
}
|
||||
|
||||
$stsem_nach_obj = new studiensemester();
|
||||
$stsem_nach_obj->load($stsem_nach);
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
@@ -314,6 +326,38 @@ if ($studiengang_kz != '' && $stsem_von != '' && $stsem_nach != '')
|
||||
$stundensatz = new mitarbeiter($row_lem->mitarbeiter_uid);
|
||||
$lem_obj->stundensatz = $stundensatz->stundensatz;
|
||||
}
|
||||
// Wenn VILESCI_STUNDENSATZ_VORRUECKUNG nachbeschaeftigungsart ist, wird
|
||||
// bei echten Dienstvertraegen mit voller inkludierter Lehre (-1) der Stundensatz auf null gesetzt
|
||||
// bei echten Dienstvertraegen mit teilweise oder nicht inkludierter Lehre der Default Stundensatz gesetzt
|
||||
// bei sonstigen Dienstvertraegen der Default Stundensatz gesetzt
|
||||
elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG != ''
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG == 'nachbeschaeftigungsart')
|
||||
{
|
||||
if ($lem_obj->stundensatz != '0')
|
||||
{
|
||||
$stundensatz = new mitarbeiter($row_lem->mitarbeiter_uid);
|
||||
$lem_obj->stundensatz = $stundensatz->stundensatz;
|
||||
|
||||
$bisverwendung = new bisverwendung();
|
||||
if(!$bisverwendung->getVerwendungRange($row_lem->mitarbeiter_uid, $stsem_nach_obj->start, $stsem_nach_obj->ende))
|
||||
{
|
||||
$bisverwendung->getLastAktVerwendung($row_lem->mitarbeiter_uid);
|
||||
$bisverwendung->result[] = $bisverwendung;
|
||||
}
|
||||
|
||||
foreach($bisverwendung->result as $row_verwendung)
|
||||
{
|
||||
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
|
||||
// geliefert da dies im Vertrag inkludiert ist.
|
||||
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
|
||||
{
|
||||
$lem_obj->stundensatz = '';
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$lem_obj->insertamum = date('Y-m-d H:i:s');
|
||||
$lem_obj->insertvon = 'Vorrueckung_'.$user;
|
||||
$lem_obj->ext_id = '';
|
||||
|
||||
@@ -504,7 +504,7 @@ if ($testende)
|
||||
|
||||
// Setzt "teilgenommen" (Zum Reihungstest angetreten) auf TRUE
|
||||
$teilgenommen = new reihungstest();
|
||||
$teilgenommen->getPersonReihungstest($prestudentrolle->person_id, $_POST['reihungstest_id']);
|
||||
$teilgenommen->getPersonReihungstest($prestudentrolle->person_id, $_POST['reihungstest_id'], $prestudentrolle->studienplan_id);
|
||||
|
||||
$teilgenommen->new = false;
|
||||
$teilgenommen->teilgenommen = true;
|
||||
@@ -565,6 +565,7 @@ if ($testende)
|
||||
$mailtext .= '<br> Es haben <b>'.$anzahl.'</b> Person(en) aus dem Studiengang '.$stg->kuerzel.'-'.$orgForm.' teilgenommen.';
|
||||
$mailtext .= '<br><br><a href="' . APP_ROOT . 'vilesci/stammdaten/auswertung_fhtw.php?reihungstest=' . $reihungstest->reihungstest_id . '&studiengang=' . $studiengang_kz . '&orgform_kurzbz=' . $orgForm . '">Link zur Auswertung</a>';
|
||||
$mailtext .= '<br><br><a href="' . APP_ROOT . 'addons/reports/cis/vorschau.php?statistik_kurzbz=BewerberReihungstestPriorisierung&debug=true">Link zur Pivot-Tabelle für die Priorisierung</a>';
|
||||
$mailtext .= '<br><br>Reihung der BewerberInnen: Prio 1 innerhalb von 2 Werktagen, Prio 2 am 3. Werktag und Prio 3 am 4. Werktag';
|
||||
$mailtext .= '</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -765,7 +766,7 @@ if ($punkteUebertragen)
|
||||
}
|
||||
else
|
||||
{
|
||||
$msg_warning .= '<br>Der Prestudent '.$array['prestudent_id'].' hat bereits Punkte eingetragen.';
|
||||
$msg_warning .= '<br>Der Prestudent '.$array['prestudent_id'].' hat bereits Punkte für den Studienplan '.$prestudentrolle->studienplan_id.' eingetragen.';
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -778,6 +779,7 @@ if ($punkteUebertragen)
|
||||
{
|
||||
$ort_kurzbz = $setRTPunkte->ort_kurzbz;
|
||||
}
|
||||
$setRTPunkte = new reihungstest();
|
||||
$setRTPunkte->getPersonReihungstest($prestudentrolle->person_id, $_POST['reihungstest_id'], $prestudentrolle->studienplan_id);
|
||||
|
||||
// Check, ob Punkte schon befüllt sind
|
||||
@@ -787,6 +789,7 @@ if ($punkteUebertragen)
|
||||
$setRTPunkte->person_id = $prestudentrolle->person_id;
|
||||
$setRTPunkte->reihungstest_id = $_POST['reihungstest_id'];
|
||||
$setRTPunkte->anmeldedatum = '';
|
||||
$setRTPunkte->teilgenommen = true;
|
||||
$setRTPunkte->ort_kurzbz = $ort_kurzbz;
|
||||
$setRTPunkte->studienplan_id = $prestudentrolle->studienplan_id;
|
||||
$setRTPunkte->punkte = $rtpunkte;
|
||||
@@ -804,7 +807,7 @@ if ($punkteUebertragen)
|
||||
}
|
||||
else
|
||||
{
|
||||
$msg_warning .= '<br>Der Prestudent '.$array['prestudent_id'].' hat bereits Punkte eingetragen.';
|
||||
$msg_warning .= '<br>Der Prestudent '.$array['prestudent_id'].' hat bereits Punkte für den Studienplan '.$prestudentrolle->studienplan_id.' eingetragen.';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -818,7 +821,7 @@ if ($punkteUebertragen)
|
||||
if ($prestudent->punkte == '')
|
||||
{
|
||||
$prestudent->new = false;
|
||||
$prestudent->punkte = number_format($array['ergebnis'], 4);
|
||||
$prestudent->punkte = $rtpunkte;
|
||||
$prestudent->reihungstestangetreten = true;
|
||||
$setRTPunkte->updateamum = date('Y-m-d H:i:s');
|
||||
$setRTPunkte->updatevon = $user;
|
||||
@@ -1197,7 +1200,7 @@ if (isset($_REQUEST['reihungstest']))
|
||||
}
|
||||
if ($orgform_kurzbz != '' && $studiengang != '')
|
||||
{
|
||||
$query .= " AND tbl_ablauf.studienplan_id=(
|
||||
$query .= " AND (tbl_ablauf.studienplan_id=(
|
||||
SELECT studienplan_id FROM lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienordnung USING (studienordnung_id)
|
||||
WHERE studiengang_kz=".$db->db_add_param($studiengang, FHC_INTEGER)."
|
||||
@@ -1207,7 +1210,8 @@ if (isset($_REQUEST['reihungstest']))
|
||||
AND ((SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz=tbl_studienordnung.gueltigvon) <= now()
|
||||
OR tbl_studienordnung.gueltigvon IS NULL)
|
||||
AND ((SELECT ende FROM public.tbl_studiensemester WHERE studiensemester_kurzbz=tbl_studienordnung.gueltigbis) >= now() OR tbl_studienordnung.gueltigbis IS NULL)
|
||||
ORDER BY studienplan_id DESC LIMIT 1)";
|
||||
ORDER BY studienplan_id DESC LIMIT 1)
|
||||
OR tbl_ablauf.studienplan_id IS NULL)";
|
||||
}
|
||||
//$query .= " AND nachname='Al-Mafrachi'";
|
||||
$query .= " ORDER BY tbl_ablauf.studiengang_kz, tbl_ablauf.semester, reihung";
|
||||
@@ -1224,7 +1228,11 @@ if (isset($_REQUEST['reihungstest']))
|
||||
}
|
||||
$gebiet[$row->gebiet_id]->name = $row->gebiet;
|
||||
$gebiet[$row->gebiet_id]->gebiet_id = $row->gebiet_id;
|
||||
$gebiet[$row->gebiet_id]->gewicht = $row->gewicht;
|
||||
//gewicht ist meist für alle Studiengänge gleich (Bachelor, Master und Distance haben jeweilsandere Gebiete)
|
||||
if (!isset($gebiet[$row->gebiet_id]->gewicht))
|
||||
{
|
||||
$gebiet[$row->gebiet_id]->gewicht = $row->gewicht;
|
||||
}
|
||||
}
|
||||
|
||||
// Alle Ergebnisse laden
|
||||
@@ -1469,18 +1477,6 @@ if (isset($_REQUEST['reihungstest']))
|
||||
}
|
||||
|
||||
$ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->name = $row->gebiet;
|
||||
/*if ($row->punkte == 0 && $row->punkte != '')
|
||||
{
|
||||
$prozent = '0';
|
||||
}
|
||||
elseif ($row->punkte >= $row->maxpunkte) //wenn maxpunkte ueberschritten wurde -> 100%
|
||||
{
|
||||
$prozent = 100;
|
||||
}
|
||||
else
|
||||
{
|
||||
$prozent = ($row->punkte / $row->maxpunkte) * 100;
|
||||
}*/
|
||||
|
||||
if ($row->punkte >= $row->maxpunkte)
|
||||
{
|
||||
@@ -1493,19 +1489,23 @@ if (isset($_REQUEST['reihungstest']))
|
||||
|
||||
$ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->prozent = null;
|
||||
$ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->punkte = $punkte;
|
||||
$ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->punktemitoffset = null;
|
||||
|
||||
// Punkte berechnen
|
||||
if (isset($punkte))
|
||||
{
|
||||
//offset zur Vermeidung negativer Prozentzahlen
|
||||
$punkte_positiv = $punkte + $row->offsetpunkte;
|
||||
$maxpunkte_positiv = $row->maxpunkte + $row->offsetpunkte;
|
||||
$ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->punktemitoffset = $punkte_positiv;
|
||||
|
||||
if ($row->punkte >= $row->maxpunkte)
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->prozent = 100;
|
||||
}
|
||||
else
|
||||
{
|
||||
//offset zur Vermeidung negativer Prozentzahlen
|
||||
$punkte_positiv = $punkte + $row->offsetpunkte;
|
||||
$maxpunkte_positiv = $row->maxpunkte + $row->offsetpunkte;
|
||||
//Formel: Summe(Punkte/Maxpunkte * Gewicht)
|
||||
$ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->prozent = $maxpunkte_positiv > 0 ? $punkte_positiv / $maxpunkte_positiv * /*$row->gewicht **/ 100 : null;
|
||||
$ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->prozent = $maxpunkte_positiv > 0 ? $punkte_positiv / $maxpunkte_positiv * 100 : null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1535,6 +1535,15 @@ if (isset($_REQUEST['reihungstest']))
|
||||
$ergebnis[$row->prestudent_id]->gesamtpunkte = $punkte;
|
||||
}
|
||||
|
||||
if (isset($ergebnis[$row->prestudent_id]->gesamtoffsetpunkte))
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamtoffsetpunkte += $ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->punktemitoffset;
|
||||
}
|
||||
else
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamtoffsetpunkte = $ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->punktemitoffset;
|
||||
}
|
||||
|
||||
if (isset($row->punkte))
|
||||
{
|
||||
if (isset($ergebnis[$row->prestudent_id]->gesamtgewicht))
|
||||
@@ -1546,28 +1555,6 @@ if (isset($_REQUEST['reihungstest']))
|
||||
$ergebnis[$row->prestudent_id]->gesamtgewicht = $row->gewicht;
|
||||
}
|
||||
}
|
||||
|
||||
// Gesamtpunkte ohne Physik
|
||||
/* if ($row->gebiet_id != 10)
|
||||
{
|
||||
if (isset($ergebnis[$row->prestudent_id]->gesamt_ohne_physik))
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamt_ohne_physik += $prozent * $row->gewicht;
|
||||
}
|
||||
else
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamt_ohne_physik = $prozent * $row->gewicht;
|
||||
}
|
||||
|
||||
if (isset($ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik))
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik += $punkte;
|
||||
}
|
||||
else
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik = $punkte;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1714,32 +1701,33 @@ if (isset($_REQUEST['format']) && $_REQUEST['format'] == 'xls')
|
||||
$worksheet->mergeCells(0, 12, 1, 12);
|
||||
$maxlength[12] = 20;
|
||||
|
||||
$spalte = 11;
|
||||
$spalte = 12;
|
||||
$zeile = 0;
|
||||
|
||||
foreach ($gebiet AS $gbt)
|
||||
{
|
||||
++$spalte;
|
||||
$worksheet->write($zeile, ++$spalte, strip_tags($gbt->name) . (isset($gbt->gewicht) ? " (Gew: $gbt->gewicht)" : ""), $format_bold_border);
|
||||
$worksheet->mergeCells($zeile, $spalte, 0, $spalte + 1);
|
||||
$maxlength[$spalte] = 10;
|
||||
$worksheet->write($zeile, ++$spalte, strip_tags($gbt->name) . ( isset($gbt->gewicht) ? " (Gew: $gbt->gewicht)" : ""), $format_bold_border);
|
||||
$worksheet->mergeCells($zeile, $spalte, 0, $spalte + 2);
|
||||
$spalte += 2;
|
||||
}
|
||||
$worksheet->write($zeile, ++$spalte + 1, 'Gesamt', $format_bold_border);
|
||||
$worksheet->mergeCells($zeile, ++$spalte, 0, $spalte + 1);
|
||||
$maxlength[$spalte] = 12;
|
||||
$worksheet->write($zeile, ++$spalte, 'Gesamt', $format_bold_border);
|
||||
$worksheet->mergeCells($zeile, $spalte, 0, $spalte + 2);
|
||||
|
||||
$spalte = 12;
|
||||
$zeile = 0;
|
||||
|
||||
foreach ($gebiet AS $gbt)
|
||||
{
|
||||
$maxlength[$spalte +1] = $maxlength[$spalte + 2] = $maxlength[$spalte + 3] = 14;
|
||||
$worksheet->write($zeile + 1, ++$spalte, 'Punkte', $format_bold_border);
|
||||
$worksheet->write($zeile + 1, ++$spalte, 'Punkte + Offset', $format_bold_border);
|
||||
$worksheet->write($zeile + 1, ++$spalte, 'Prozent', $format_bold_border);
|
||||
$maxlength[$spalte] = 10;
|
||||
}
|
||||
$maxlength[$spalte +1] = $maxlength[$spalte + 2] = 14;
|
||||
$maxlength[$spalte + 3] = 17;
|
||||
$worksheet->write($zeile + 1, ++$spalte, 'Punkte', $format_bold_border);
|
||||
$worksheet->write($zeile + 1, ++$spalte, 'Prozent', $format_bold_border);
|
||||
$maxlength[$spalte] = 10;
|
||||
$worksheet->write($zeile + 1, ++$spalte, 'Punkte + Offset', $format_bold_border);
|
||||
$worksheet->write($zeile + 1, ++$spalte, 'Prozent (gewichtet)', $format_bold_border);
|
||||
|
||||
$maxspalten = $spalte;
|
||||
|
||||
@@ -1784,6 +1772,14 @@ if (isset($_REQUEST['format']) && $_REQUEST['format'] == 'xls')
|
||||
{
|
||||
$worksheet->writeNumber($zeile, ++$spalte, $erg->gebiet[$gbt->gebiet_id]->punkte, $format_punkte_rot);
|
||||
}
|
||||
if ($erg->gebiet[$gbt->gebiet_id]->punktemitoffset != '' && $erg->gebiet[$gbt->gebiet_id]->punktemitoffset != '0')
|
||||
{
|
||||
$worksheet->writeNumber($zeile, ++$spalte, $erg->gebiet[$gbt->gebiet_id]->punktemitoffset, $format_punkte);
|
||||
}
|
||||
else
|
||||
{
|
||||
$worksheet->writeNumber($zeile, ++$spalte, $erg->gebiet[$gbt->gebiet_id]->punktemitoffset, $format_punkte_rot);
|
||||
}
|
||||
if ($erg->gebiet[$gbt->gebiet_id]->prozent != '0%')
|
||||
{
|
||||
$worksheet->writeNumber($zeile, ++$spalte, $erg->gebiet[$gbt->gebiet_id]->prozent / 100, $format_prozent);
|
||||
@@ -1797,10 +1793,12 @@ if (isset($_REQUEST['format']) && $_REQUEST['format'] == 'xls')
|
||||
{
|
||||
$worksheet->write($zeile, ++$spalte, '');
|
||||
$worksheet->write($zeile, ++$spalte, '');
|
||||
$worksheet->write($zeile, ++$spalte, '');
|
||||
}
|
||||
}
|
||||
$worksheet->writeNumber($zeile, ++$spalte, $erg->gesamtpunkte, $format_punkte);
|
||||
$worksheet->writeNumber($zeile, ++$spalte, $erg->gesamt, $format_punkte);
|
||||
$worksheet->writeNumber($zeile, ++$spalte, $erg->gesamtoffsetpunkte, $format_punkte);
|
||||
$worksheet->writeNumber($zeile, ++$spalte, $erg->gesamt / 100, $format_prozent);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1810,165 +1808,6 @@ if (isset($_REQUEST['format']) && $_REQUEST['format'] == 'xls')
|
||||
$worksheet->setColumn($i, $i, $breite);
|
||||
}
|
||||
|
||||
// Worksheet ohne Physik nur für Bachelor-Studiengänge
|
||||
/*if (isset($studiengangObj) && $studiengangObj->typ == 'b')
|
||||
{
|
||||
$worksheetOhnePhsyik =& $workbook->addWorksheet("Auswertung OHNE Physik " . ($titel_studiengang ? $stg_arr[$_REQUEST['studiengang']] : '') . ($titel_semester ? ' ' . $semester . '.Semester' : ''));
|
||||
$worksheetOhnePhsyik->setInputEncoding('utf-8');
|
||||
$worksheetOhnePhsyik->setZoom(85);
|
||||
|
||||
$spalte = 0;
|
||||
$zeile = 0;
|
||||
|
||||
$worksheetOhnePhsyik->write(0, $spalte, 'PrestudentIn_ID', $format_bold);
|
||||
$worksheetOhnePhsyik->mergeCells(0, 0, 1, 0);
|
||||
$maxlength[0] = 15;
|
||||
$worksheetOhnePhsyik->write(0, ++$spalte, 'Nachname', $format_bold);
|
||||
$worksheetOhnePhsyik->mergeCells(0, 1, 1, 1);
|
||||
$maxlength[1] = 15;
|
||||
$worksheetOhnePhsyik->write(0, ++$spalte, 'Vorname', $format_bold);
|
||||
$worksheetOhnePhsyik->mergeCells(0, 2, 1, 2);
|
||||
$maxlength[2] = 15;
|
||||
$worksheetOhnePhsyik->write(0, ++$spalte, 'GebDatum', $format_bold);
|
||||
$worksheetOhnePhsyik->mergeCells(0, 3, 1, 3);
|
||||
$maxlength[3] = 10;
|
||||
$worksheetOhnePhsyik->write(0, ++$spalte, 'G', $format_bold);
|
||||
$worksheetOhnePhsyik->mergeCells(0, 4, 1, 4);
|
||||
$maxlength[4] = 2;
|
||||
$worksheetOhnePhsyik->write(0, ++$spalte, 'Registriert', $format_bold);
|
||||
$worksheetOhnePhsyik->mergeCells(0, 5, 1, 5);
|
||||
$maxlength[5] = 18;
|
||||
$worksheetOhnePhsyik->write(0, ++$spalte, 'STG', $format_bold);
|
||||
$worksheetOhnePhsyik->mergeCells(0, 6, 1, 6);
|
||||
$maxlength[6] = 4;
|
||||
$worksheetOhnePhsyik->write(0, ++$spalte, 'Studiengang', $format_bold);
|
||||
$worksheetOhnePhsyik->mergeCells(0, 7, 1, 7);
|
||||
$maxlength[7] = 25;
|
||||
$worksheetOhnePhsyik->write(0, ++$spalte, 'S', $format_bold);
|
||||
$worksheetOhnePhsyik->mergeCells(0, 8, 1, 8);
|
||||
$maxlength[8] = 2;
|
||||
$worksheetOhnePhsyik->write(0, ++$spalte, 'OrgForm', $format_bold);
|
||||
$worksheetOhnePhsyik->mergeCells(0, 9, 1, 9);
|
||||
$maxlength[9] = 8;
|
||||
$worksheetOhnePhsyik->write(0, ++$spalte, 'Prio', $format_bold);
|
||||
$worksheetOhnePhsyik->mergeCells(0, 10, 1, 10);
|
||||
$maxlength[10] = 5;
|
||||
$worksheetOhnePhsyik->write(0, ++$spalte, 'ZGV', $format_bold);
|
||||
$worksheetOhnePhsyik->mergeCells(0, 11, 1, 11);
|
||||
$maxlength[11] = 20;
|
||||
$worksheetOhnePhsyik->write(0, ++$spalte, 'ZGV MA', $format_bold);
|
||||
$worksheetOhnePhsyik->mergeCells(0, 12, 1, 12);
|
||||
$maxlength[12] = 20;
|
||||
|
||||
$spalte = 11;
|
||||
$zeile = 0;
|
||||
|
||||
foreach ($gebiet AS $gbt)
|
||||
{
|
||||
if ($gbt->gebiet_id == 10)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
++$spalte;
|
||||
$worksheetOhnePhsyik->write($zeile, ++$spalte, strip_tags($gbt->name), $format_bold_border);
|
||||
$worksheetOhnePhsyik->mergeCells($zeile, $spalte, 0, $spalte + 1);
|
||||
$maxlength[$spalte] = 10;
|
||||
}
|
||||
$worksheetOhnePhsyik->write($zeile, ++$spalte + 1, 'Gesamt', $format_bold_border);
|
||||
$worksheetOhnePhsyik->mergeCells($zeile, ++$spalte, 0, $spalte + 1);
|
||||
$maxlength[$spalte] = 12;
|
||||
|
||||
$spalte = 12;
|
||||
$zeile = 0;
|
||||
|
||||
foreach ($gebiet AS $gbt)
|
||||
{
|
||||
if ($gbt->gebiet_id == 10)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
$worksheetOhnePhsyik->write($zeile + 1, ++$spalte, 'Punkte', $format_bold_border);
|
||||
$worksheetOhnePhsyik->write($zeile + 1, ++$spalte, 'Prozent', $format_bold_border);
|
||||
$maxlength[$spalte] = 10;
|
||||
}
|
||||
$worksheetOhnePhsyik->write($zeile + 1, ++$spalte, 'Punkte', $format_bold_border);
|
||||
$worksheetOhnePhsyik->write($zeile + 1, ++$spalte, 'Prozent', $format_bold_border);
|
||||
$maxlength[$spalte] = 10;
|
||||
|
||||
$maxspalten = $spalte;
|
||||
|
||||
$zeile = 1;
|
||||
$spalte = 0;
|
||||
|
||||
if (isset($ergb))
|
||||
{
|
||||
foreach ($ergb AS $erg)
|
||||
{
|
||||
$zeile++;
|
||||
$spalte = 0;
|
||||
$worksheetOhnePhsyik->write($zeile, $spalte, $erg->prestudent_id);
|
||||
$worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->nachname);
|
||||
$worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->vorname);
|
||||
$worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->gebdatum, $format_date);
|
||||
if ($erg->geschlecht == 'm')
|
||||
{
|
||||
$worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->geschlecht, $format_male);
|
||||
}
|
||||
else
|
||||
{
|
||||
$worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->geschlecht, $format_female);
|
||||
}
|
||||
$worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->registriert, $format_registriert);
|
||||
$worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->stg_kurzbz);
|
||||
$worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->stg_bez);
|
||||
$worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->ausbildungssemester);
|
||||
$worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->orgform);
|
||||
$worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->prioritaet);
|
||||
$worksheetOhnePhsyik->write($zeile, ++$spalte, $zgv_arr[$erg->zgv]);
|
||||
$worksheetOhnePhsyik->write($zeile, ++$spalte, $zgvma_arr[$erg->zgvma]);
|
||||
foreach ($gebiet AS $gbt)
|
||||
{
|
||||
if ($gbt->gebiet_id == 10)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (isset($erg->gebiet[$gbt->gebiet_id]))
|
||||
{
|
||||
if ($erg->gebiet[$gbt->gebiet_id]->punkte != '' && $erg->gebiet[$gbt->gebiet_id]->punkte != '0')
|
||||
{
|
||||
$worksheetOhnePhsyik->writeNumber($zeile, ++$spalte, $erg->gebiet[$gbt->gebiet_id]->punkte, $format_punkte);
|
||||
}
|
||||
else
|
||||
{
|
||||
$worksheetOhnePhsyik->writeNumber($zeile, ++$spalte, $erg->gebiet[$gbt->gebiet_id]->punkte, $format_punkte_rot);
|
||||
}
|
||||
if ($erg->gebiet[$gbt->gebiet_id]->prozent != '0%')
|
||||
{
|
||||
$worksheetOhnePhsyik->writeNumber($zeile, ++$spalte, $erg->gebiet[$gbt->gebiet_id]->prozent / 100, $format_prozent);
|
||||
}
|
||||
else
|
||||
{
|
||||
$worksheetOhnePhsyik->writeNumber($zeile, ++$spalte, $erg->gebiet[$gbt->gebiet_id]->prozent / 100, $format_prozent_rot);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$worksheetOhnePhsyik->write($zeile, ++$spalte, '');
|
||||
$worksheetOhnePhsyik->write($zeile, ++$spalte, '');
|
||||
}
|
||||
}
|
||||
$worksheetOhnePhsyik->writeNumber($zeile, ++$spalte, $erg->gesamtpunkte_ohne_physik, $format_punkte);
|
||||
$worksheetOhnePhsyik->writeNumber($zeile, ++$spalte, $erg->gesamt_ohne_physik, $format_punkte);
|
||||
}
|
||||
}
|
||||
|
||||
//Die Breite der Spalten setzen
|
||||
foreach ($maxlength as $i => $breite)
|
||||
{
|
||||
$worksheetOhnePhsyik->setColumn($i, $i, $breite);
|
||||
}
|
||||
}*/
|
||||
|
||||
if (isset($erg_kat) && count($erg_kat) > 0)
|
||||
{
|
||||
// Creating second worksheet
|
||||
@@ -2159,7 +1998,7 @@ else
|
||||
$("#auswertung_table").tablesorter(
|
||||
{
|
||||
widgets: ["zebra", "filter", "columnSelector"],
|
||||
sortList: [[15,1],[17,1],[3,0],[4,0]],//16th fake hidden column for correct sort with colspan
|
||||
sortList: [[15,1],[18,1],[3,0],[4,0]],//16th (index 15) fake hidden column for correct sort with colspan
|
||||
headers: {0: { sorter: false, filter: false}, 2: { sorter: false, filter: false}, 4: { dateFormat: "ddmmyyyy" }, 15: { sorter: false, filter: false}}
|
||||
/*widgetOptions : {
|
||||
columnSelector_container : $("#columnSelector"),
|
||||
@@ -2574,6 +2413,10 @@ else
|
||||
$("#msgbox").show();
|
||||
$("#msgbox").append(data["msg_success"]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$(".loaderIcon").hide();
|
||||
}
|
||||
if(data["msg_warning"] !== "")
|
||||
{
|
||||
$("#msgbox").attr("class","alert alert-warning");
|
||||
@@ -2582,6 +2425,10 @@ else
|
||||
$("#msgbox").append(data["msg_warning"]);
|
||||
//$("#msgbox").html(data["msg"]).delay(2000).fadeOut();
|
||||
}
|
||||
else
|
||||
{
|
||||
$(".loaderIcon").hide();
|
||||
}
|
||||
if(data["msg_error"] !== "")
|
||||
{
|
||||
$("#msgbox").attr("class","alert alert-danger");
|
||||
@@ -2589,6 +2436,10 @@ else
|
||||
$("#msgbox").show();
|
||||
$("#msgbox").append(data["msg_error"]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$(".loaderIcon").hide();
|
||||
}
|
||||
},
|
||||
error: function(data)
|
||||
{
|
||||
@@ -2957,22 +2808,24 @@ else
|
||||
<th rowspan="2">Raum</th>
|
||||
<th title="Teilgenommen" rowspan="2">TG</th>
|
||||
<th style="display: none"></th>
|
||||
<th colspan="2">Gesamt</th>';
|
||||
<th colspan="3">Gesamt</th>';
|
||||
|
||||
foreach ($gebiet AS $gbt)
|
||||
{
|
||||
echo '<th colspan="2">' . $gbt->name . '</th>';
|
||||
echo '<th colspan="3">' . $gbt->name . '</th>';
|
||||
}
|
||||
|
||||
echo '</tr>
|
||||
<tr>
|
||||
<th style="display: none"></th>
|
||||
<th><small>Punkte</small></th>
|
||||
<th><small>Prozent</small></th>';
|
||||
<th><small>Punkte mit Offset</small></th>
|
||||
<th><small>Prozent (gewichtet)</small></th>';
|
||||
|
||||
foreach ($gebiet AS $gbt)
|
||||
{
|
||||
echo "<th><small>Punkte</small></th>";
|
||||
echo "<th><small>Punkte mit Offset</small></th>";
|
||||
echo "<th><small>Prozent</small></th>";
|
||||
}
|
||||
|
||||
@@ -3009,7 +2862,7 @@ else
|
||||
<td class='".$inaktiv."'>$erg->raum</td>
|
||||
<td class='".$inaktiv."'>".($erg->teilgenommen == true ? "<span class='glyphicon glyphicon-ok'></span>" : "")."</td>";
|
||||
//<td>$erg->idnachweis</td>
|
||||
$gesamtprozent = ($erg->gesamt != '' ? number_format($erg->gesamt, 2, ',', ' ') : '');
|
||||
$gesamtprozent = ($erg->gesamt != '' ? number_format($erg->gesamt, 2, ',', ' ') . ' %': '');
|
||||
echo '<td style="display: none">'. $gesamtprozent .'</td>';
|
||||
echo ' <td style="text-align: right; padding-right: 3px" class="punkte '.$inaktiv.'" nowrap>';
|
||||
// Punkte können nur gelöscht werden, solange "Zum Reihungstest angetreten" nicht gesetzt ist
|
||||
@@ -3027,25 +2880,16 @@ else
|
||||
echo ' <span class=""><b>' . ($erg->gesamtpunkte != '' ? number_format($erg->gesamtpunkte, 2, ',', ' ') : '') . '</b></span>';
|
||||
}
|
||||
echo ' </td>';
|
||||
/* if (!isset($erg->gesamtpunkte_ohne_physik))
|
||||
{
|
||||
$erg->gesamtpunkte_ohne_physik = '';
|
||||
}*/
|
||||
/* if (!isset($erg->gesamt_ohne_physik))
|
||||
{
|
||||
$erg->gesamt_ohne_physik = '';
|
||||
}*/
|
||||
|
||||
echo ' <td style="text-align: right; padding-right: 3px" class="col_gesamtpunkte_mit_offset '.$inaktiv.'" nowrap>
|
||||
<b>' . ($erg->gesamtoffsetpunkte != '' ? number_format($erg->gesamtoffsetpunkte, 2, ',', ' ') : '') . '</b>
|
||||
</td>';
|
||||
|
||||
echo ' <td style="text-align: right; padding-right: 3px" class="col_gesamtpunkte punkte '.$inaktiv.'" nowrap>
|
||||
<b>' . $gesamtprozent . '</b>
|
||||
<span class="erg_gesamt" style="display: none">'.$erg->gesamt.'</span>
|
||||
</td>';
|
||||
/* echo ' <td style="text-align: right; padding-right: 3px" class="col_gesamtpunkte_ohne_physik '.$inaktiv.'" nowrap>
|
||||
<b>' . ($erg->gesamtpunkte_ohne_physik != '' ? number_format($erg->gesamtpunkte_ohne_physik, 2, ',', ' ') : '') . '</b>
|
||||
</td>';*/
|
||||
/* echo ' <td style="text-align: right; padding-right: 3px" class="punkte '.$inaktiv.'" nowrap>
|
||||
<b>' . ($erg->gesamt_ohne_physik != '' ? number_format($erg->gesamt_ohne_physik, 2, ',', ' ') : '') . '</b>
|
||||
<span class="erg_gesamt_ohne_physik" style="display: none">'.$erg->gesamt_ohne_physik.'</span>
|
||||
</td>';*/
|
||||
|
||||
foreach ($gebiet AS $gbt)
|
||||
{
|
||||
if (isset($erg->gebiet[$gbt->gebiet_id]))
|
||||
@@ -3077,11 +2921,12 @@ else
|
||||
echo ' <span class="">' . ($erg->gebiet[$gbt->gebiet_id]->punkte != '' ? number_format($erg->gebiet[$gbt->gebiet_id]->punkte, 2, ',', ' ') : '') . '</span>';
|
||||
}
|
||||
echo '</td>';
|
||||
echo '<td ' . $style . ' class="pst_' . $erg->prestudent_id . '_gbt_' . $gbt->gebiet_id . ' punkte '.$inaktiv.'" nowrap>' . ($erg->gebiet[$gbt->gebiet_id]->punktemitoffset != '' ? number_format($erg->gebiet[$gbt->gebiet_id]->punktemitoffset, 2, ',', ' ') : '') . '</td>';
|
||||
echo '<td ' . $style . ' class="pst_' . $erg->prestudent_id . '_gbt_' . $gbt->gebiet_id . ' punkte '.$inaktiv.'" nowrap>' . ($erg->gebiet[$gbt->gebiet_id]->prozent != '' ? number_format($erg->gebiet[$gbt->gebiet_id]->prozent, 2, ',', ' ') . ' %' : '') . '</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<td></td><td></td>';
|
||||
echo '<td></td><td></td><td></td>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user