Compare commits

...

1 Commits

4 changed files with 35 additions and 2 deletions
+22 -2
View File
@@ -277,6 +277,7 @@ echo '
}
checkPausenblock();
checkProjektblock();
$("#kunde_name").autocomplete({
source: "zeitaufzeichnung_autocomplete.php?autocomplete=kunde",
@@ -696,7 +697,26 @@ echo '
else
hidePausenblock();
}
function checkProjektblock()
{
var sel = $("#aktivitaet").val();
var activities = ["Arztbesuch", "Behoerde", "DienstreiseMT", "Ersatzruhe", "Pause"];
if (activities.includes(sel))
hideProjektblock();
else
showProjektblock();
}
function hideProjektblock()
{
resetProjekt();
$("#projektblock").hide();
}
function showProjektblock()
{
$("#projektblock").show();
}
function hidePausenblock()
{
$("#pause_von").val("");
@@ -1131,7 +1151,7 @@ if ($projekt->getProjekteMitarbeiter($user, true))
if($result = $db->db_query($qry))
{
echo '<SELECT name="aktivitaet" id="aktivitaet" onChange="checkPausenblock()">';
echo '<SELECT name="aktivitaet" id="aktivitaet" onChange="checkPausenblock(); checkProjektblock()">';
while($row = $db->db_fetch_object($result))
{
@@ -1217,7 +1237,7 @@ if ($projekt->getProjekteMitarbeiter($user, true))
if($anzprojekte > 0)
{
//Projekt
echo '<tr>
echo '<tr id="projektblock">
<td>'.$p->t("zeitaufzeichnung/projekt").'</td>
<td colspan="4"><SELECT name="projekt" id="projekt">
<OPTION value="">-- '.$p->t('zeitaufzeichnung/keineAuswahl').' --</OPTION>';
+11
View File
@@ -11,6 +11,8 @@ require_once('../../../include/zeitaufzeichnung.class.php');
*/
class zeitaufzeichnung_import {
const AKTIVITAET_OHNE_PROJEKTZUORDNUNG = array("Arztbesuch", "Behoerde", "DienstreiseMT", "Ersatzruhe", "Pause");
protected $errors;
protected $warnings;
protected $infos;
@@ -254,4 +256,13 @@ protected function checkIfArbeitspaketZuWaehlen($projekt_kurzbz, $phase)
}
}
protected function checkIfProjektAuswahlErlaubt($projekt_kurzbz, $aktivitaet)
{
if ($projekt_kurzbz != '')
{
if (in_array($aktivitaet, self::AKTIVITAET_OHNE_PROJEKTZUORDNUNG))
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': Keine Projektzuordnung erlaubt!');
}
}
}
@@ -178,6 +178,7 @@ class zeitaufzeichnung_import_csv extends zeitaufzeichnung_import {
$this->mapLehreIntern($data);
$this->prepareZeitaufzeichnung($data);
$this->checkImporttage($data[self::STARTDT]);
$this->checkIfProjektAuswahlErlaubt($data[self::PROJEKT], $data[self::AKTIVITAET]);
$this->saveZeit($data[self::STARTDT], $data[self::ENDEDT]);
} catch (Exception $ex) {
$this->addError($ex->getMessage(), true);
@@ -74,6 +74,7 @@ class zeitaufzeichnung_import_post extends zeitaufzeichnung_import {
$this->processPause($this->data['von_pause'], $this->data['bis_pause']);
$this->checkPhaseBebuchbar($this->data['projektphase_id']);
$this->checkIfArbeitspaketZuWaehlen($this->data['projekt_kurzbz'], $this->data['projektphase_id']);
$this->checkIfProjektAuswahlErlaubt($this->data['projekt_kurzbz'], $this->data['aktivitaet_kurzbz']);
$this->saveZeit();
} catch (Exception $ex) {
$this->addError($ex->getMessage());