mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-9896/Add_Link_to_CIS_Details
This commit is contained in:
@@ -119,9 +119,10 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
* Gets all students of a Lehrveranstaltung
|
||||
* @param $studiensemester_kurzbz
|
||||
* @param $lehrveranstaltung_id
|
||||
* @param $active optional, if true, only active students retrieved, false - only inactive, all students otherwise
|
||||
* @return array|null
|
||||
*/
|
||||
public function getStudentsByLv($studiensemester_kurzbz, $lehrveranstaltung_id)
|
||||
public function getStudentsByLv($studiensemester_kurzbz, $lehrveranstaltung_id, $active = null)
|
||||
{
|
||||
$query = "SELECT
|
||||
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr,
|
||||
@@ -144,8 +145,18 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
WHERE
|
||||
vw_student_lehrveranstaltung.studiensemester_kurzbz=?
|
||||
AND
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id=?
|
||||
ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC";
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id=?";
|
||||
|
||||
if (isset($active))
|
||||
{
|
||||
if ($active === true)
|
||||
$query .= " AND tbl_benutzer.aktiv";
|
||||
elseif ($active === false)
|
||||
$query .= " AND tbl_benutzer.aktiv = false";
|
||||
}
|
||||
|
||||
$query .=
|
||||
" ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC";
|
||||
|
||||
return $this->execQuery($query, array($studiensemester_kurzbz, $lehrveranstaltung_id));
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ class Organisationseinheit_model extends DB_Model
|
||||
FROM tree JOIN tbl_organisationseinheit oe ON (tree.oe_kurzbz = oe.oe_parent_kurzbz)
|
||||
)
|
||||
SELECT oe_kurzbz AS id,
|
||||
SUBSTRING(REGEXP_REPLACE(path, '[A-z]+\|', '-', 'g') || bezeichnung, 2) AS description
|
||||
SUBSTRING(REGEXP_REPLACE(path, '[A-z0-9]+\|', '-', 'g') || bezeichnung, 2) AS description
|
||||
FROM tree";
|
||||
|
||||
$parametersArray = array();
|
||||
|
||||
@@ -31,7 +31,10 @@ class Organisationseinheit_widget extends DropdownWidget
|
||||
{
|
||||
// NOTE: no need to call addSelectToModel because getRecursiveList already returns
|
||||
// the correct names of the fields
|
||||
$this->setElementsArray($this->OrganisationseinheitModel->getRecursiveList());
|
||||
$this->setElementsArray($this->OrganisationseinheitModel->getRecursiveList(),
|
||||
true,
|
||||
$this->p->t('lehre', 'organisationseinheit'),
|
||||
'No organisational unit found');
|
||||
}
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
|
||||
@@ -518,7 +518,7 @@ if(count($zeit->result)>0)
|
||||
$row_vertretung = $db->db_fetch_object($result_vertretung);
|
||||
$content_table.= "<tr class='liste".($i%2)."'>
|
||||
<td>$row->bezeichnung</td>
|
||||
<td>$row->zeitsperretyp_kurzbz</td>
|
||||
<td>$row->zeitsperretyp_beschreibung</td>
|
||||
<td nowrap>".$datum_obj->convertISODate($row->vondatum)." ".($row->vonstunde!=''?'('.$row->vonstunde.')':'')."</td>
|
||||
<td nowrap>".$datum_obj->convertISODate($row->bisdatum)." ".($row->bisstunde!=''?'('.$row->bisstunde.')':'')."</td>
|
||||
<td>".(isset($row_vertretung->kurzbz)?$row_vertretung->kurzbz:'')."</td>
|
||||
@@ -587,15 +587,15 @@ $content_form.= '<form method="POST" name="zeitsperre_form" action="'.$action.'"
|
||||
$content_form.= "<table>\n";
|
||||
$content_form.= '<tr><td style="width:150px">'.$p->t('zeitsperre/grund').'</td><td colspan="2" style="width:450px"><SELECT name="zeitsperretyp_kurzbz"'.$style.' onchange="showHideBezeichnungDropDown()" class="dd_breit">';
|
||||
//dropdown fuer zeitsperretyp
|
||||
$qry = "SELECT * FROM campus.tbl_zeitsperretyp ORDER BY zeitsperretyp_kurzbz";
|
||||
$qry = "SELECT * FROM campus.tbl_zeitsperretyp ORDER BY beschreibung";
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row=$db->db_fetch_object($result))
|
||||
{
|
||||
if($zeitsperre->zeitsperretyp_kurzbz == $row->zeitsperretyp_kurzbz)
|
||||
$content_form.= "<OPTION value='$row->zeitsperretyp_kurzbz' selected>$row->zeitsperretyp_kurzbz - $row->beschreibung</OPTION>";
|
||||
$content_form.= "<OPTION value='$row->zeitsperretyp_kurzbz' selected>$row->beschreibung</OPTION>";
|
||||
else
|
||||
$content_form.= "<OPTION value='$row->zeitsperretyp_kurzbz'$disabled>$row->zeitsperretyp_kurzbz - $row->beschreibung</OPTION>";
|
||||
$content_form.= "<OPTION value='$row->zeitsperretyp_kurzbz'$disabled>$row->beschreibung</OPTION>";
|
||||
}
|
||||
}
|
||||
$content_form.= '</SELECT></td></tr>';
|
||||
|
||||
@@ -280,6 +280,51 @@ function NotePruefungAnlegen($studiensemester_kurzbz, $student_uid, $lehrveranst
|
||||
}
|
||||
}
|
||||
|
||||
function deleteFromSAP($buchung)
|
||||
{
|
||||
global $db, $user;
|
||||
|
||||
if(defined('BUCHUNGEN_CHECK_SAP') && BUCHUNGEN_CHECK_SAP == true)
|
||||
{
|
||||
$qry = "SELECT * FROM sync.tbl_sap_salesorder WHERE buchungsnr=".$db->db_add_param($buchung->buchungsnr);
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$qry = "DELETE FROM sync.tbl_sap_salesorder WHERE buchungsnr=".$db->db_add_param($buchung->buchungsnr);
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
$log = new log();
|
||||
$log->mitarbeiter_uid = $user;
|
||||
$log->beschreibung = 'Buchungszuordnung SAP geloescht: SalesOrder:'.$row->sap_sales_order_id;
|
||||
$log->sql = $qry;
|
||||
if(!$log->save(true))
|
||||
{
|
||||
echo "Fehler beim Schreiben des Log".$log->errormsg;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "Fehler beim Löschen der Zahlungszuordnung";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//Gegenbuchung
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "Zahlung nicht gefunden";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob die Kontobuchung bereits ins SAP Ubertragen wurde oder noch geändert werden darf
|
||||
*/
|
||||
@@ -1981,7 +2026,8 @@ if(!$error)
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isBuchungAllowedToChange($buchung))
|
||||
if(isBuchungAllowedToChange($buchung)
|
||||
|| $rechte->isBerechtigt('student/zahlungAdmin',$buchung->studiengang_kz,'suid'))
|
||||
{
|
||||
$buchung->betrag = $_POST['betrag'];
|
||||
$buchung->buchungsdatum = $_POST['buchungsdatum'];
|
||||
@@ -2062,7 +2108,8 @@ if(!$error)
|
||||
{
|
||||
if($buchung->buchungsnr_verweis=='')
|
||||
{
|
||||
if(isBuchungAllowedToChange($buchung))
|
||||
if(isBuchungAllowedToChange($buchung)
|
||||
|| $rechte->isBerechtigt('student/zahlungAdmin',$buchung->studiengang_kz,'suid'))
|
||||
{
|
||||
$kto = new konto();
|
||||
//$buchung->betrag*(-1);
|
||||
@@ -2139,8 +2186,17 @@ if(!$error)
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isBuchungAllowedToChange($buchung))
|
||||
$isAllowedToChange = isBuchungAllowedToChange($buchung);
|
||||
if($isAllowedToChange
|
||||
|| $rechte->isBerechtigt('student/zahlungAdmin',$buchung->studiengang_kz,'suid')
|
||||
)
|
||||
{
|
||||
if(!$isAllowedToChange)
|
||||
{
|
||||
// Buchung aus SAP Zwischentabelle loeschen
|
||||
deleteFromSAP($buchung);
|
||||
}
|
||||
|
||||
if($buchung->delete($_POST['buchungsnr']))
|
||||
{
|
||||
$return = true;
|
||||
|
||||
@@ -188,6 +188,7 @@ class dvb extends basis_db
|
||||
AND tbl_benutzer.aktiv
|
||||
AND tbl_prestudentstatus.status_kurzbz in('Student','Incoming')
|
||||
AND tbl_prestudent.bismelden
|
||||
AND tbl_prestudent.studiengang_kz<10000
|
||||
ORDER BY tbl_prestudentstatus.datum desc LIMIT 1
|
||||
";
|
||||
|
||||
|
||||
@@ -544,8 +544,11 @@ var FHC_TableWidget = {
|
||||
|
||||
options.columns = arrayTabulatorColumns;
|
||||
options.data = data.dataset;
|
||||
options.persistentLayout = true; // enables persistence (default store in localStorage if available, else in cookie)
|
||||
options.persistenceID = data.tableUniqueId; // TableWidget unique id to store persistence data seperately for multiple tables
|
||||
if (options.tableWidgetHeader == 'undefined')
|
||||
{
|
||||
options.persistentLayout = true; // enables persistence (default store in localStorage if available, else in cookie)
|
||||
options.persistenceID = data.tableUniqueId; // TableWidget unique id to store persistence data seperately for multiple tables
|
||||
}
|
||||
options.movableColumns = true; // allows changing column order
|
||||
options.tooltipsHeader = true; // set header tooltip with column title
|
||||
options.placeholder = _func_placeholder(); // display text when table is empty
|
||||
@@ -566,12 +569,16 @@ var FHC_TableWidget = {
|
||||
// -------------------------------------------------------------------------------------------------------------
|
||||
|
||||
// Render tableWidgetHeader
|
||||
var tabulatorHeaderHTML = _renderTabulatorHeaderHTML(tableWidgetDiv);
|
||||
tableWidgetDiv.find('#tableWidgetHeader').append(tabulatorHeaderHTML);
|
||||
if (options.tableWidgetHeader == 'undefined' ||
|
||||
(options.tableWidgetHeader != 'undefined' && options.tableWidgetHeader != false))
|
||||
{
|
||||
var tabulatorHeaderHTML = _renderTabulatorHeaderHTML(tableWidgetDiv);
|
||||
tableWidgetDiv.find('#tableWidgetHeader').append(tabulatorHeaderHTML);
|
||||
|
||||
// Render the collapsable div triggered by button in tableWidgetHeader
|
||||
var tabulatorHeaderCollapseHTML = _renderTabulatorHeaderCollapseHTML(tableWidgetDiv);
|
||||
tableWidgetDiv.find('#tableWidgetHeader').after(tabulatorHeaderCollapseHTML);
|
||||
// Render the collapsable div triggered by button in tableWidgetHeader
|
||||
var tabulatorHeaderCollapseHTML = _renderTabulatorHeaderCollapseHTML(tableWidgetDiv);
|
||||
tableWidgetDiv.find('#tableWidgetHeader').after(tabulatorHeaderCollapseHTML);
|
||||
}
|
||||
|
||||
/**
|
||||
* tableWidgetFooter is NOT rendered by default.
|
||||
|
||||
@@ -195,6 +195,7 @@ $berechtigungen = array(
|
||||
array('student/noten','Notenverwaltung'),
|
||||
array('student/stammdaten','Stammdaten der Studenten'),
|
||||
array('student/vorrueckung','Studentenvorrückung'),
|
||||
array('student/zahlungAdmin','Zahlungsadministration'),
|
||||
array('system/developer','Anzeige zusätzlicher Developerinfos'),
|
||||
array('system/loginasuser','Berechtigung zum Einloggen als anderer User'),
|
||||
array('system/phrase','Bearbeiten von Textphrasen'),
|
||||
|
||||
Reference in New Issue
Block a user