Merge branch 'master' into feature-6594/Studienerfolgsbestaetigung_Englisch_Studiengangstyp_anzeigen

This commit is contained in:
Andreas Österreicher
2020-03-25 16:01:13 +01:00
58 changed files with 3680 additions and 1891 deletions
+2
View File
@@ -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');
+8 -1
View File
@@ -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
+26 -17
View File
@@ -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
+1 -1
View File
@@ -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)
{
+51 -20
View File
@@ -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');
+5 -2
View File
@@ -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);
}
}
+14 -56
View File
@@ -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>
+2 -2
View File
@@ -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); ?>
+48 -21
View File
@@ -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);
}
}
}
}
+12 -1
View File
@@ -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;
+16 -2
View File
@@ -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>';
}
}
}
+8 -3
View File
@@ -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>";
+14 -8
View File
@@ -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
View File
@@ -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>&nbsp;</td>
<td>&nbsp;</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>&nbsp;</td>';
if($lvinfo)
echo '<td>&nbsp;</td>';
echo '<td>&nbsp;</td>';
echo '<td>&nbsp;</td>';
echo '<td>&nbsp;</td>';
echo '<td>&nbsp;</td>';
echo '<td>&nbsp;</td>';
echo '<td>&nbsp;</td>';
echo '<td>&nbsp;</td>';
echo '<td>&nbsp;</td>';
echo '<td>&nbsp;</td>';
echo '<td>&nbsp;</td>';
echo '<td>&nbsp;</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>&nbsp;</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>&nbsp;</td>
<td>&nbsp;</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>&nbsp;</td>';
if ($lvinfo)
$lvtable .= '<td>&nbsp;</td>';
$lvtable .= '<td>&nbsp;</td>';
$lvtable .= '<td>&nbsp;</td>';
$lvtable .= '<td>&nbsp;</td>';
$lvtable .= '<td>&nbsp;</td>';
$lvtable .= '<td>&nbsp;</td>';
$lvtable .= '<td>&nbsp;</td>';
$lvtable .= '<td>&nbsp;</td>';
$lvtable .= '<td>&nbsp;</td>';
$lvtable .= '<td>&nbsp;</td>';
$lvtable .= '<td>&nbsp;</td>';
$lvtable .= '<td>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>
+1 -1
View File
@@ -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
View File
@@ -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&amp;frage_id='. $frage->frage_id.'&amp;sprache='. $_SESSION["sprache_user"].'"></img><br/><br/><br/>
</div>
';
}
{
echo '
<div class="row text-center">
<img class="testtoolfrage" src="bild.php?src=frage&amp;frage_id='. $frage->frage_id.'&amp;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&amp;frage_id='.$frage->frage_id.'&amp;sprache='.$_SESSION['sprache_user'].'&amp;'.$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&amp;frage_id='.$frage->frage_id.'&amp;sprache='.$fallbacksprache.'&amp;'.$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&amp;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&amp;vorschlag_id=$vorschlag->vorschlag_id&amp;sprache=".$_SESSION['sprache_user']."' /><br/>";
echo "<img class='testtoolvorschlag' src='bild.php?src=vorschlag&amp;vorschlag_id=$vorschlag->vorschlag_id&amp;sprache=".$fallbacksprache."' /><br/>";
if($vorschlag->audio!='')
{
echo ' <audio src="sound.php?src=vorschlag&amp;vorschlag_id='.$vorschlag->vorschlag_id.'&amp;sprache='.$_SESSION['sprache_user'].'" controls="controls">
echo ' <audio src="sound.php?src=vorschlag&amp;vorschlag_id='.$vorschlag->vorschlag_id.'&amp;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/>';
+3 -3
View File
@@ -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>';
+13
View File
@@ -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],
+18
View File
@@ -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!
+41
View File
@@ -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'
));
?>
+72 -20
View File
@@ -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
+13 -1
View File
@@ -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>
+1 -1
View File
@@ -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()"
+160 -6
View File
@@ -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
View File
@@ -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))
+54
View File
@@ -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.
+112
View File
@@ -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
+51
View File
@@ -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;
}
}
?>
+20 -7
View File
@@ -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;
}
+77
View File
@@ -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;
}
}
}
?>
+2
View File
@@ -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!';
?>
+2
View File
@@ -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
View File
@@ -1,5 +1,6 @@
.div-table {
display: table;
width: 100%;
}
.div-row {
+6 -3
View File
@@ -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'
+3 -8
View File
@@ -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"))
+2 -2
View File
@@ -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>
+5 -1
View File
@@ -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
View File
@@ -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"),
+24
View File
@@ -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',
+43 -40
View File
@@ -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">
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 = '';
+83 -238
View File
@@ -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>';
}
}