diff --git a/FHC-vendor/jquery-tablesorter/package.json b/FHC-vendor/jquery-tablesorter/package.json
index b16fcb45e..110042959 100644
--- a/FHC-vendor/jquery-tablesorter/package.json
+++ b/FHC-vendor/jquery-tablesorter/package.json
@@ -56,7 +56,7 @@
]
},
"devDependencies": {
- "grunt": "^0.4.5",
+ "grunt": "^1.3.0",
"grunt-cli": "~0.1.13",
"grunt-contrib-clean": "^0.7.0",
"grunt-contrib-concat": "^0.5.1",
diff --git a/application/controllers/jobs/LehrauftragJob.php b/application/controllers/jobs/LehrauftragJob.php
index 4ba327a2f..7f5754595 100644
--- a/application/controllers/jobs/LehrauftragJob.php
+++ b/application/controllers/jobs/LehrauftragJob.php
@@ -383,8 +383,8 @@ class LehrauftragJob extends JOB_Controller
} // Else if UID exists
else
{
- // Search if studiensemester exists
- $ss_index = array_search($data['studiensemester_kurzbz'], array_column($mail_data_arr, 'studiensemester_kurzbz'));
+ // Search if studiensemester exists inside the existing UID array
+ $ss_index = array_search($data['studiensemester_kurzbz'], array_column($mail_data_arr[$uid_index], 'studiensemester_kurzbz'));
// If studiensemester is new, add studiensemester to existing UID
if ($ss_index === false)
@@ -394,13 +394,6 @@ class LehrauftragJob extends JOB_Controller
$data[$i]
);
}
- // Else if studiensemester exists
- else
- {
- // Add corresponding data to existing studiensemester of UID
- $mail_data_arr[$uid_index]['studiensemester_kurbz'][] = $data[$i];
- }
-
}
}
}
diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php
index 43de8bb60..7d36690e7 100644
--- a/application/controllers/system/infocenter/InfoCenter.php
+++ b/application/controllers/system/infocenter/InfoCenter.php
@@ -70,6 +70,7 @@ class InfoCenter extends Auth_Controller
const INTERESSENTSTATUS = 'Interessent';
const ABGEWIESENERSTATUS = 'Abgewiesener';
const BEWERBERSTATUS = 'Bewerber';
+ const WARTENDER = 'Wartender';
// Statusgruende for which no Studiengangsfreigabemessage should be sent
private $_statusgruendeNoStgFreigabeMessage = array('FIT Programm', 'FIT program', 'FIT programme');
@@ -108,7 +109,9 @@ class InfoCenter extends Auth_Controller
'setOnHold' => 'infocenter:rw',
'removeOnHold' => 'infocenter:rw',
'getStudienjahrEnd' => 'infocenter:r',
- 'setNavigationMenuArrayJson' => 'infocenter:r'
+ 'setNavigationMenuArrayJson' => 'infocenter:r',
+ 'getAbsageData' => 'infocenter:r',
+ 'saveAbsageForAll' => 'infocenter:rw'
)
);
@@ -433,11 +436,14 @@ class InfoCenter extends Auth_Controller
* Saves Absage for Prestudent including the reason for the Absage (statusgrund).
* inserts Studiensemester and Ausbildungssemester for the new Absage of (chronologically) last status.
*/
- public function saveAbsage()
+ public function saveAbsage($prestudent_id = null, $statusgrund = null)
{
$json = null;
- $prestudent_id = $this->input->post('prestudent_id');
- $statusgrund = $this->input->post('statusgrund');
+ if (is_null($prestudent_id))
+ $prestudent_id = $this->input->post('prestudent_id');
+
+ if (is_null($statusgrund))
+ $statusgrund = $this->input->post('statusgrund');
$lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent_id);
@@ -446,8 +452,10 @@ class InfoCenter extends Auth_Controller
if (hasData($lastStatus) && hasData($statusgrresult))
{
- //check if still Interessent and not freigegeben yet
- if ($lastStatus->retval[0]->status_kurzbz === self::INTERESSENTSTATUS && !isset($lastStatus->retval[0]->bestaetigtam))
+ //check if still Interessent
+ if ($lastStatus->retval[0]->status_kurzbz === self::INTERESSENTSTATUS
+ || $lastStatus->retval[0]->status_kurzbz === self::BEWERBERSTATUS
+ || $lastStatus->retval[0]->status_kurzbz === self::WARTENDER)
{
$result = $this->PrestudentstatusModel->insert(
array(
@@ -1358,6 +1366,8 @@ class InfoCenter extends Auth_Controller
|| isset($zgvpruefung->prestudentstatus->bestaetigtam)
|| $zgvpruefung->prestudentstatus->status_kurzbz != self::INTERESSENTSTATUS;
+ $zgvpruefung->abgewiesener = $zgvpruefung->prestudentstatus->status_kurzbz === self::ABGEWIESENERSTATUS;
+
//wether prestudent was freigegeben for RT/Stg
$zgvpruefung->isRtFreigegeben = false;
$zgvpruefung->isStgFreigegeben = false;
@@ -1427,8 +1437,8 @@ class InfoCenter extends Auth_Controller
$this->_sortPrestudents($zgvpruefungen);
- $abwstatusgruende = $this->StatusgrundModel->loadWhere(array('status_kurzbz' => self::ABGEWIESENERSTATUS))->retval;
- $intstatusgruende = $this->StatusgrundModel->loadWhere(array('status_kurzbz' => self::INTERESSENTSTATUS))->retval;
+ $abwstatusgruende = $this->StatusgrundModel->getStatus(self::ABGEWIESENERSTATUS, true)->retval;
+ $intstatusgruende = $this->StatusgrundModel->getStatus(self::INTERESSENTSTATUS)->retval;
$data = array (
'zgvpruefungen' => $zgvpruefungen,
@@ -1687,4 +1697,45 @@ class InfoCenter extends Auth_Controller
$this->loglib->logError('Studiengang has no mail for sending Freigabe mail');
}
}
+
+ public function getAbsageData()
+ {
+ $this->load->model('organisation/Studiengang_model', 'StudiengangModel');
+
+ $statusgruende = $this->StatusgrundModel->getStatus(self::ABGEWIESENERSTATUS, true)->retval;
+ $studienSemester = $this->variablelib->getVar('infocenter_studiensemester');
+ $studiengaenge = $this->StudiengangModel->getStudiengaengeWithOrgForm(['b', 'm'], $studienSemester);
+
+ $data = array (
+ 'statusgruende' => $statusgruende,
+ 'studiengaenge' => $studiengaenge->retval
+ );
+
+ $this->outputJsonSuccess($data);
+ }
+
+ public function saveAbsageForAll()
+ {
+ $statusgrund = $this->input->post('statusgrund');
+ $studiengang = $this->input->post('studiengang');
+ $personen = $this->input->post('personen');
+ $studienSemester = $this->variablelib->getVar('infocenter_studiensemester');
+
+ if ($statusgrund === 'null' || $studiengang === 'null' || empty($personen))
+ $this->terminateWithJsonError("Bitte Statusgrund, Studiengang und Personen auswählen.");
+
+ foreach($personen as $person)
+ {
+ $prestudent = $this->PrestudentModel->getPrestudentByStudiengangAndPerson($studiengang, $person, $studienSemester);
+
+ if(!hasData($prestudent))
+ continue;
+
+ $prestudentData = getData($prestudent);
+
+ $this->saveAbsage($prestudentData[0]->prestudent_id, $statusgrund);
+ }
+
+ $this->outputJsonSuccess("Success");
+ }
}
diff --git a/application/models/CL/Messages_model.php b/application/models/CL/Messages_model.php
index 9ffd12cf6..4975af382 100644
--- a/application/models/CL/Messages_model.php
+++ b/application/models/CL/Messages_model.php
@@ -612,9 +612,9 @@ class Messages_model extends CI_Model
if (!isEmptyString($vorlage_kurzbz))
{
$this->load->model('system/Vorlagestudiengang_model', 'VorlagestudiengangModel');
- $this->VorlagestudiengangModel->addOrder('version','DESC');
+ $this->VorlagestudiengangModel->addOrder('version', 'DESC');
- $getVorlage = $this->VorlagestudiengangModel->loadWhere(array('vorlage_kurzbz' => $vorlage_kurzbz));
+ $getVorlage = $this->VorlagestudiengangModel->loadWhere(array('vorlage_kurzbz' => $vorlage_kurzbz, 'aktiv' => true));
}
return $getVorlage;
diff --git a/application/models/crm/Prestudent_model.php b/application/models/crm/Prestudent_model.php
index 2e014800c..52ba4d9f3 100644
--- a/application/models/crm/Prestudent_model.php
+++ b/application/models/crm/Prestudent_model.php
@@ -581,4 +581,19 @@ class Prestudent_model extends DB_Model
return $this->execQuery($query, array($person_id));
}
+
+ public function getPrestudentByStudiengangAndPerson($studiengang, $person, $studienSemester)
+ {
+ $query = "SELECT ps.prestudent_id
+ FROM public.tbl_prestudentstatus pss
+ JOIN public.tbl_prestudent ps USING(prestudent_id)
+ JOIN public.tbl_studiengang sg USING(studiengang_kz)
+ JOIN lehre.tbl_studienplan sp USING(studienplan_id)
+ WHERE ps.person_id = ?
+ AND UPPER((sg.typ || sg.kurzbz) || ':' || sp.orgform_kurzbz) = ?
+ AND pss.studiensemester_kurzbz = ?
+ ";
+
+ return $this->execQuery($query, array($person, $studiengang, $studienSemester));
+ }
}
diff --git a/application/models/crm/Statusgrund_model.php b/application/models/crm/Statusgrund_model.php
index 4717a7571..7ab17a45b 100644
--- a/application/models/crm/Statusgrund_model.php
+++ b/application/models/crm/Statusgrund_model.php
@@ -11,4 +11,18 @@ class Statusgrund_model extends DB_Model
$this->dbTable = "public.tbl_status_grund";
$this->pk = "statusgrund_id";
}
+
+ public function getStatus($status_kurzbz = null, $aktiv = null)
+ {
+ $this->addOrder('bezeichnung_mehrsprachig');
+ $where = array();
+ if (!is_null($status_kurzbz))
+ $where['status_kurzbz'] = $status_kurzbz;
+ if (!is_null($aktiv))
+ $where['aktiv'] = $aktiv;
+
+ $status = $this->loadWhere($where);
+
+ return success($status->retval);
+ }
}
diff --git a/application/models/organisation/Studiengang_model.php b/application/models/organisation/Studiengang_model.php
index 8b8be0366..41bdabd11 100644
--- a/application/models/organisation/Studiengang_model.php
+++ b/application/models/organisation/Studiengang_model.php
@@ -481,4 +481,18 @@ class Studiengang_model extends DB_Model
return $this->loadWhere($condition);
}
+
+ public function getStudiengaengeWithOrgForm($typ, $semester)
+ {
+ $query = "SELECT DISTINCT (UPPER(sg.typ || sg.kurzbz || ':' || sp.orgform_kurzbz)) AS Studiengang
+ FROM public.tbl_studiengang sg
+ JOIN lehre.tbl_studienordnung USING (studiengang_kz)
+ JOIN lehre.tbl_studienplan sp USING (studienordnung_id)
+ JOIN lehre.tbl_studienplan_semester spsem USING (studienplan_id)
+ WHERE sp.aktiv = TRUE AND sg.aktiv = TRUE AND sg.typ IN ?
+ AND spsem.studiensemester_kurzbz = ?
+ ORDER BY Studiengang";
+
+ return $this->execQuery($query, array($typ, $semester));
+ }
}
diff --git a/application/views/lehre/lehrauftrag/acceptLehrauftrag.php b/application/views/lehre/lehrauftrag/acceptLehrauftrag.php
index e87f0945c..521883452 100644
--- a/application/views/lehre/lehrauftrag/acceptLehrauftrag.php
+++ b/application/views/lehre/lehrauftrag/acceptLehrauftrag.php
@@ -189,7 +189,7 @@ $this->load->view(
-
+
p->t('global', 'lehrauftraegeAnnehmen')); ?>
diff --git a/application/views/lehre/pruefungsprotokollUebersicht.php b/application/views/lehre/pruefungsprotokollUebersicht.php
index 35bea7963..c7de8fcd0 100644
--- a/application/views/lehre/pruefungsprotokollUebersicht.php
+++ b/application/views/lehre/pruefungsprotokollUebersicht.php
@@ -48,6 +48,8 @@
name="period" value="today">p->t('ui','heute'); ?>
p->t('ui','letzteWoche'); ?>
+ p->t('ui','zukuenftige'); ?>
p->t('ui','alle'); ?>
diff --git a/application/views/lehre/pruefungsprotokollUebersichtData.php b/application/views/lehre/pruefungsprotokollUebersichtData.php
index dd247c2eb..ff2caa774 100644
--- a/application/views/lehre/pruefungsprotokollUebersichtData.php
+++ b/application/views/lehre/pruefungsprotokollUebersichtData.php
@@ -19,9 +19,10 @@ FROM
WHERE
vorsitz='".$UID."'
AND (
- '". $PERIOD. "' = 'today' AND datum = NOW()::date OR
- '". $PERIOD. "' = 'lastWeek' AND datum = (NOW() - interval '1 week')::date OR
- '". $PERIOD. "' = 'all' AND datum >= '2020-05-27'
+ ('". $PERIOD. "' = 'today' AND datum = NOW()::date) OR
+ ('". $PERIOD. "' = 'lastWeek' AND datum >= (NOW() - interval '1 week')::date AND datum < NOW()::date) OR
+ ('". $PERIOD. "' = 'upcoming' AND datum > NOW()::date) OR
+ ('". $PERIOD. "' = 'all' AND datum >= '2020-05-27')
)
ORDER BY datum, nachname, vorname
";
diff --git a/application/views/system/infocenter/absageModal.php b/application/views/system/infocenter/absageModal.php
new file mode 100644
index 000000000..00298945e
--- /dev/null
+++ b/application/views/system/infocenter/absageModal.php
@@ -0,0 +1,35 @@
+
+
+
+
+
+ p->t('infocenter', 'absageBestaetigenTxt') ?>
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/application/views/system/infocenter/infocenter.php b/application/views/system/infocenter/infocenter.php
index 4005518a1..38e644846 100644
--- a/application/views/system/infocenter/infocenter.php
+++ b/application/views/system/infocenter/infocenter.php
@@ -13,6 +13,7 @@
'ajaxlib' => true,
'filterwidget' => true,
'navigationwidget' => true,
+ 'dialoglib' => true,
'phrases' => array(
'person' => array('vorname', 'nachname'),
'global' => array('mailAnXversandt'),
@@ -40,6 +41,7 @@
load->view('system/infocenter/infocenterData.php'); ?>
+ load->view('system/infocenter/absageModal.php'); ?>
diff --git a/application/views/system/infocenter/infocenterFreigegeben.php b/application/views/system/infocenter/infocenterFreigegeben.php
index 15e73f1b6..4855e5cd6 100644
--- a/application/views/system/infocenter/infocenterFreigegeben.php
+++ b/application/views/system/infocenter/infocenterFreigegeben.php
@@ -13,6 +13,7 @@
'ajaxlib' => true,
'filterwidget' => true,
'navigationwidget' => true,
+ 'dialoglib' => true,
'phrases' => array(
'person' => array('vorname', 'nachname'),
'global' => array('mailAnXversandt'),
@@ -40,6 +41,7 @@
load->view('system/infocenter/infocenterFreigegebenData.php'); ?>
+ load->view('system/infocenter/absageModal.php'); ?>
diff --git a/application/views/system/infocenter/infocenterFreigegebenData.php b/application/views/system/infocenter/infocenterFreigegebenData.php
index aab69b651..3e14e7323 100644
--- a/application/views/system/infocenter/infocenterFreigegebenData.php
+++ b/application/views/system/infocenter/infocenterFreigegebenData.php
@@ -114,6 +114,12 @@
sg.studiengang_kz in('.$ADDITIONAL_STG.')
)
AND pss.studiensemester_kurzbz = '.$STUDIENSEMESTER.'
+ AND NOT EXISTS (
+ SELECT 1
+ FROM tbl_prestudentstatus spss
+ WHERE spss.prestudent_id = ps.prestudent_id
+ AND spss.status_kurzbz = '.$REJECTED_STATUS.'
+ )
LIMIT 1
) AS "StgAbgeschickt",
(
diff --git a/application/views/system/infocenter/infocenterReihungstestAbsolviert.php b/application/views/system/infocenter/infocenterReihungstestAbsolviert.php
index 79f75885b..f2d838fac 100644
--- a/application/views/system/infocenter/infocenterReihungstestAbsolviert.php
+++ b/application/views/system/infocenter/infocenterReihungstestAbsolviert.php
@@ -13,6 +13,7 @@
'ajaxlib' => true,
'filterwidget' => true,
'navigationwidget' => true,
+ 'dialoglib' => true,
'phrases' => array(
'person' => array('vorname', 'nachname'),
'global' => array('mailAnXversandt'),
@@ -40,6 +41,7 @@
load->view('system/infocenter/infocenterReihungstestAbsolviertData.php'); ?>
+ load->view('system/infocenter/absageModal.php'); ?>
diff --git a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php
index 22b122bb0..beb4887ae 100644
--- a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php
+++ b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php
@@ -83,10 +83,11 @@
LIMIT 1
) AS "AnzahlAbgeschickt",
(
- SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT UPPER(sg.typ || sg.kurzbz || \':\' || sg.orgform_kurzbz)), \', \')
+ SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT UPPER(sg.typ || sg.kurzbz || \':\' || sp.orgform_kurzbz)), \', \')
FROM public.tbl_prestudentstatus pss
JOIN public.tbl_prestudent ps USING(prestudent_id)
JOIN public.tbl_studiengang sg USING(studiengang_kz)
+ JOIN lehre.tbl_studienplan sp USING(studienplan_id)
WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.'
AND pss.bewerbung_abgeschicktamum IS NOT NULL
AND ps.person_id = p.person_id
diff --git a/application/views/system/infocenter/zgvpruefungen.php b/application/views/system/infocenter/zgvpruefungen.php
index 41b549616..2d00a789d 100644
--- a/application/views/system/infocenter/zgvpruefungen.php
+++ b/application/views/system/infocenter/zgvpruefungen.php
@@ -344,7 +344,7 @@
prestudentstatus->status_kurzbz) && in_array($zgvpruefung->prestudentstatus->status_kurzbz, ['Bewerber', 'Wartender']))) :
?>
- prestudentstatus->bewerbung_abgeschicktamum))
- {
- $disabled = $disabledStg = 'disabled';
- $disabledTxt = $disabledStgTxt = $this->p->t('infocenter', 'bewerbungMussAbgeschickt');
- }
+ prestudentstatus->bewerbung_abgeschicktamum))
+ {
+ $disabled = $disabledStg = 'disabled';
+ $disabledTxt = $disabledStgTxt = $this->p->t('infocenter', 'bewerbungMussAbgeschickt');
+ }
- if ($studiengangtyp !== 'b')
- {
- $disabled = 'disabled';
- $disabledTxt = $this->p->t('infocenter', 'nurBachelorFreigeben');
+ if ($studiengangtyp !== 'b')
+ {
+ $disabled = 'disabled';
+ $disabledTxt = $this->p->t('infocenter', 'nurBachelorFreigeben');
- // FIT-Lehrgänge: exceptions, can be freigegeben in Infocenter
- if (!in_array($studiengang_kz, $fit_programme_studiengaenge))
- {
- $disabledStg = 'disabled';
- $disabledStgTxt = $this->p->t('infocenter', 'nurBachelorFreigeben');
- }
+ // FIT-Lehrgänge: exceptions, can be freigegeben in Infocenter
+ if (!in_array($studiengang_kz, $fit_programme_studiengaenge))
+ {
+ $disabledStg = 'disabled';
+ $disabledStgTxt = $this->p->t('infocenter', 'nurBachelorFreigeben');
}
- ?>
-
prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz === 'Interessent'): ?>
@@ -508,9 +475,69 @@
+
+
+
+
+ p->t('infocenter', 'absagegrund')) . '...' ?>
+
+
+ bezeichnung_mehrsprachig[0] ?>
+
+
+
+
+ p->t('ui', 'absagen') ?>
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+ p->t('infocenter', 'absageBestaetigenTxt') ?>
+
+
+
+
+
+
+
-
+
diff --git a/cis/index_login.php b/cis/index_login.php
index 4c4d75f93..74c87f649 100644
--- a/cis/index_login.php
+++ b/cis/index_login.php
@@ -69,7 +69,7 @@ if(isset($_GET['login']))
-
+
diff --git a/cis/private/profile/index.php b/cis/private/profile/index.php
index dd39cf301..80062a932 100644
--- a/cis/private/profile/index.php
+++ b/cis/private/profile/index.php
@@ -44,6 +44,7 @@ require_once('../../../include/addon.class.php');
require_once('../../../include/gruppe.class.php');
require_once('../../../include/adresse.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
+require_once('../../../include/bisverwendung.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
@@ -271,6 +272,22 @@ if (!$ansicht)
}
+if (!$ansicht)
+{
+ if ($is_employee)
+ {
+ $verwendung = new bisverwendung();
+ if($verwendung->getLastVerwendung($uid))
+ {
+ if (!$verwendung->hauptberuflich)
+ {
+ echo 'Hauptberuf: '. $verwendung->hauptberuf;
+ }
+ }
+ echo " ";
+ }
+}
+
if (!$ansicht)
{
$adresse = new adresse();
diff --git a/cms/menu.inc.php b/cms/menu.inc.php
index 136187f70..7375ee849 100644
--- a/cms/menu.inc.php
+++ b/cms/menu.inc.php
@@ -19,7 +19,7 @@
*/
/**
* Dieses File enthaelt Hilfsklassen zur Anzeige des CMS-Menues
- *
+ *
* mit drawSubmenu($id) wird das enstprechende Menue gezeichnet.
*/
require_once(dirname(__FILE__).'/../include/functions.inc.php');
@@ -30,13 +30,14 @@ $params = array();
foreach($_REQUEST as $key=>$value)
$params[$key]=$value;
+$user = null;
//Parameter fuer Include Addons
$includeparams = array();
$contentobjects=array();
$chldsobject = array();
/**
* Zeichnet einen Menueeintrag aus dem CMS System
- *
+ *
* @param $content_id
*/
function drawSubmenu($content_id)
@@ -47,16 +48,16 @@ function drawSubmenu($content_id)
global $contentobjects;
$content = new content();
$sprache = getSprache();
-
+
// Daten Laden
-
+
// Alle Kindelemente des Contents holen
$ids = $content->getAllChilds($content_id);
- // Alle vorkommenden Contenteintraege laden
+ // Alle vorkommenden Contenteintraege laden
$content->loadArray($ids, $sprache, true);
$contentobjects = $content->result;
-
+
// Baumstruktur laden
$childsobject = $content->getChildArray($content_id);
@@ -91,7 +92,7 @@ function drawSubmenu1($content_id)
drawEntry($contentobj);
}
}
-
+
}
}
@@ -101,12 +102,13 @@ function drawSubmenu1($content_id)
*/
function drawEntry($item)
{
- global $childsobject;
+ global $childsobject, $user;
//pruefen ob der Content eine Berechtigung erfordert
if($item->locked)
{
- $user = get_uid();
+ if(is_null($user))
+ $user = get_uid();
$content = new content();
//wenn der User nicht berechtigt ist, dann wird der Eintrag nicht angezeigt
if(!$content->berechtigt($item->content_id, $user))
@@ -139,7 +141,7 @@ function drawEntry($item)
Redirect($item);
else
DrawLink(APP_ROOT.'cms/content.php?content_id='.$item->content_id,'content',$item->titel);
-
+
echo "";
}
}
@@ -155,7 +157,7 @@ function DrawLink($link, $target, $name, $content_id=null, $open=null)
{
if($target=='')
$target='content';
-
+
if($open)
$class='class="selected"';
else
@@ -167,7 +169,7 @@ function DrawLink($link, $target, $name, $content_id=null, $open=null)
* Redirects sind Links Seiten ausserhalb des CMS
* die URL kann Variablen enthalten. Diese werden hier ersetzt.
* Danach wird der Link angezeigt.
- *
+ *
* @param $content_id ContentID des Redirects
* @param $name Anzeigename des Links
* @param $content_id_Submenu ID des Submenues das geoeffnet werden soll (optional)
@@ -175,42 +177,42 @@ function DrawLink($link, $target, $name, $content_id=null, $open=null)
function Redirect($content, $content_id_Submenu=null)
{
global $sprache, $params;
-
+
$xml = new DOMDocument();
if($content->content!='')
{
$xml->loadXML($content->content);
}
-
+
if($xml->getElementsByTagName('url')->item(0))
$url = $xml->getElementsByTagName('url')->item(0)->nodeValue;
else
$url='';
-
+
//Variablen Ersetzen
foreach($params as $key=>$value)
{
$url = str_replace('$'.$key,addslashes($value),$url);
}
-
+
if($xml->getElementsByTagName('target')->item(0))
$target = $xml->getElementsByTagName('target')->item(0)->nodeValue;
else
$target='';
-
+
DrawLink($url, $target, $content->titel, $content_id_Submenu, $content->menu_open);
}
/**
- * Bei Content mit Include Templates wird
+ * Bei Content mit Include Templates wird
* das entsprechende Menu-Addon geladen und inkludiert
- *
+ *
* @param $content_id
*/
function IncludeMenuAddon($content)
{
global $sprache, $includeparams;
-
+
$xml = new DOMDocument();
if($content->content!='')
{
@@ -223,6 +225,6 @@ function IncludeMenuAddon($content)
if($url!='')
{
$includeparams['content']=$content;
- include(dirname(__FILE__).'/menu/'.$url);
+ include(dirname(__FILE__).'/menu/'.$url);
}
}
diff --git a/content/fasoverlay.js.php b/content/fasoverlay.js.php
index f7a30158f..9504285ce 100644
--- a/content/fasoverlay.js.php
+++ b/content/fasoverlay.js.php
@@ -1539,7 +1539,7 @@ function OpenAboutDialog()
// ****
function OpenManual()
{
- window.open('https://wiki.fhcomplete.org/doku.php?','_blank');
+ window.open('https://wiki.fhcomplete.info/','_blank');
}
// ****
diff --git a/content/planner.overlay.xul.php b/content/planner.overlay.xul.php
index 5f6b4e800..1175827a3 100644
--- a/content/planner.overlay.xul.php
+++ b/content/planner.overlay.xul.php
@@ -107,9 +107,9 @@ echo '
-
+
-
+
@@ -176,7 +176,7 @@ echo '
-
+
diff --git a/content/projekt/projekt_ressource.window.js.php b/content/projekt/projekt_ressource.window.js.php
index bf0aed5de..480fb3551 100644
--- a/content/projekt/projekt_ressource.window.js.php
+++ b/content/projekt/projekt_ressource.window.js.php
@@ -6,76 +6,77 @@ require_once('../../include/functions.inc.php');
function updateProjektRessource()
{
- if(projekt_ressource_id!='')
+ if(projekt_ressource_id!='')
+ {
+ aufwand = document.getElementById("textbox-ressource-aufwand").value;
+ if (document.getElementById("leitung").selected)
+ funktion_kurzbz = 'Leitung';
+ else
+ funktion_kurzbz = 'Mitarbeiter';
+
+ try
+ {
+ var soapBody = new SOAPObject("saveProjektRessource");
+ var projektRessource = new SOAPObject("projektRessource");
+
+ projektRessource.appendChild(new SOAPObject("projekt_ressource_id")).val(projekt_ressource_id);
+
+ if(projekt_kurzbz != '')
+ {
+ projektRessource.appendChild(new SOAPObject("projektphase_id")).val('');
+ projektRessource.appendChild(new SOAPObject("projekt_kurzbz")).val(projekt_kurzbz);
+ var res_binding = window.opener.document.getElementById('box-projekt-ressourcen');
+ }
+ else if(projektphase_id != '')
+ {
+ projektRessource.appendChild(new SOAPObject("projektphase_id")).val(projektphase_id);
+ projektRessource.appendChild(new SOAPObject("projekt_kurzbz")).val('');
+ var res_binding = window.opener.document.getElementById('box-projekt-ressource-phase');
+ }
+
+ projektRessource.appendChild(new SOAPObject("ressource_id")).val(ressource_id);
+ projektRessource.appendChild(new SOAPObject("funktion_kurzbz")).val(funktion_kurzbz);
+ projektRessource.appendChild(new SOAPObject("beschreibung")).val(beschreibung);
+ projektRessource.appendChild(new SOAPObject("aufwand")).val(aufwand);
+
+ soapBody.appendChild(projektRessource);
+
+ var sr = new SOAPRequest("saveProjektRessource",soapBody);
+ SOAPClient.Proxy="soap/ressource_projekt.soap.php?"+gettimestamp();
+
+ function mycallb(obj, projekt_kurzbz, projektphase_id)
+ {
+ var ressourcebinding=obj;
+ var projekt = projekt_kurzbz;
+ var phase = projektphase_id;
+
+ this.invoke=function (respObj)
{
+ try
+ {
+ var id = respObj.Body[0].saveProjektRessourceResponse[0].message[0].Text;
+ }
+ catch(e)
+ {
+ var fehler = respObj.Body[0].Fault[0].faultstring[0].Text;
+ alert('Fehler: '+fehler);
+ return;
+ }
+ // Ressourcen Tree aktualisieren
+ ressourcebinding.LoadRessourceTree(projekt, phase);
- aufwand = document.getElementById("textbox-ressource-aufwand").value;
- if (document.getElementById("leitung").selected)
- funktion_kurzbz = 'Leitung';
- else
- funktion_kurzbz = 'Mitarbeiter';
-
-
-
- try
- {
- var soapBody = new SOAPObject("saveProjektRessource");
- var projektRessource = new SOAPObject("projektRessource");
-
- projektRessource.appendChild(new SOAPObject("projekt_ressource_id")).val(projekt_ressource_id);
-
- if(projekt_kurzbz != '')
- {
- projektRessource.appendChild(new SOAPObject("projektphase_id")).val('');
- projektRessource.appendChild(new SOAPObject("projekt_kurzbz")).val(projekt_kurzbz);
- }
- else if(projektphase_id != '')
- {
- projektRessource.appendChild(new SOAPObject("projektphase_id")).val(projektphase_id);
- projektRessource.appendChild(new SOAPObject("projekt_kurzbz")).val('');
- }
-
- projektRessource.appendChild(new SOAPObject("ressource_id")).val(ressource_id);
- projektRessource.appendChild(new SOAPObject("funktion_kurzbz")).val(funktion_kurzbz);
- projektRessource.appendChild(new SOAPObject("beschreibung")).val(beschreibung);
- projektRessource.appendChild(new SOAPObject("aufwand")).val(aufwand);
-
- soapBody.appendChild(projektRessource);
-
- var sr = new SOAPRequest("saveProjektRessource",soapBody);
- SOAPClient.Proxy="soap/ressource_projekt.soap.php?"+gettimestamp();
-
- function mycallb(obj)
- {
- var me=obj;
- this.invoke=function (respObj)
- {
- try
- {
- var id = respObj.Body[0].saveProjektRessourceResponse[0].message[0].Text;
- }
- catch(e)
- {
- var fehler = respObj.Body[0].Fault[0].faultstring[0].Text;
- alert('Fehler: '+fehler);
- return;
- }
- me.RefreshRessource();
- }
- }
-
- var cb=new mycallb(this);
-
- //SOAPClient.SendRequest(sr,cb.invoke);
- SOAPClient.SendRequest(sr);
- }
- catch(e)
- {
- debug("Ressource load failed with exception: "+e);
- }
-
+ // Popup schließen
+ window.close();
}
- //window.opener.location.reload(false);
- window.close();
+ }
+ // Callback fuer aktualisierung des Trees nach dem Speichern
+ var cb=new mycallb(res_binding, projekt_kurzbz, projektphase_id);
+ SOAPClient.SendRequest(sr,cb.invoke);
+ }
+ catch(e)
+ {
+ debug("Ressource load failed with exception: "+e);
+ }
+ }
}
diff --git a/content/projekt/projekttask.overlay.js.php b/content/projekt/projekttask.overlay.js.php
index 464463ea1..2aa29b98d 100644
--- a/content/projekt/projekttask.overlay.js.php
+++ b/content/projekt/projekttask.overlay.js.php
@@ -25,7 +25,7 @@ require_once('../../config/vilesci.config.inc.php');
var TaskSelectID=null; //ID des Task Eintrages der nach dem Refresh markiert werden soll
var filterErledigt; //Tasks filtern
-var currentProjektPhaseID;
+var currentProjektPhaseID;
// ********** Observer und Listener ************* //
// ****
@@ -81,13 +81,13 @@ function LoadTasks(projekt_phase_id, filter)
{
// wenn phase übergeben wurde -> setzte globale variable
if(projekt_phase_id != null && projekt_phase_id != '' && typeof optional && "undefined")
- currentProjektPhaseID = projekt_phase_id;
-
+ currentProjektPhaseID = projekt_phase_id;
+
// wenn filter übergeben wurde -> setze globale variable
if(filter != null && filter != '' && typeof filter != "undefined")
filterErledigt = filter;
-
- url = "rdf/projekttask.rdf.php?projektphase_id="+currentProjektPhaseID+"&"+gettimestamp();
+
+ url = "rdf/projekttask.rdf.php?projektphase_id="+currentProjektPhaseID+"&"+gettimestamp();
// überprüfe ob filter gesetzt ist
if(filterErledigt != null)
@@ -100,7 +100,7 @@ function LoadTasks(projekt_phase_id, filter)
{
treeTask.database.RemoveDataSource(oldDatasources.getNext());
}
-
+
try
{
datasourceTreeTask.removeXMLSinkObserver(TaskTreeSinkObserver);
@@ -108,7 +108,7 @@ function LoadTasks(projekt_phase_id, filter)
}
catch(e)
{}
-
+
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
datasourceTreeTask = rdfService.GetDataSource(url);
datasourceTreeTask.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
@@ -116,7 +116,7 @@ function LoadTasks(projekt_phase_id, filter)
treeTask.database.AddDataSource(datasourceTreeTask);
datasourceTreeTask.addXMLSinkObserver(TaskTreeSinkObserver);
treeTask.builder.addListener(TaskTreeListener);
-
+
}
catch(e)
{
@@ -153,7 +153,7 @@ function RessourceTaskLoad(menulist, id)
datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
menulist.database.AddDataSource(datasource);
menulist.builder.rebuild();
-
+
}
@@ -167,7 +167,7 @@ function TaskTreeRefresh()
//markierte Lehreinheit global speichern damit diese LE nach dem
//refresh wieder markiert werden kann.
var tree = document.getElementById('projekttask-tree');
-
+
try
{
TaskSelectID = getTreeCellText(tree, "projekttask-treecol-projekttask_id", tree.currentIndex);
@@ -187,7 +187,7 @@ function TaskNeu()
var tasktree=document.getElementById('projekttask-tree');
tasktree.view.selection.clearSelection();
tree = document.getElementById('tree-projektmenue');
-
+
//Projektphase_id holen
var projektphase_id = getTreeCellText(tree, "treecol-projektmenue-projekt_phase_id", tree.currentIndex);
@@ -199,12 +199,12 @@ function TaskNeu()
//Details zuruecksetzen
TaskDetailReset();
TaskDisableFields(false);
-
+
document.getElementById('textbox-projekttaskdetail-projektphase_id').value=projektphase_id;
document.getElementById('caption-projekttask-detail').label='Neuer Task';
-
+
//Detail Tab auswaehlen
- document.getElementById('projekttask-tabs').selectedItem=document.getElementById('projekttask-tab-detail');
+ document.getElementById('projekttask-tabs').selectedItem=document.getElementById('projekttask-tab-detail');
}
// ****
// * Selectiert die Lektorzuordnung nachdem der Tree
@@ -222,7 +222,7 @@ function TaskTreeSelectTask()
{
//id der row holen
id = getTreeCellText(tree, "projekttask-treecol-projekttask_id", i);
-
+
//wenn dies die zu selektierende Zeile
if(TaskSelectID==id)
{
@@ -264,7 +264,7 @@ function TaskDelete()
var soapBody = new SOAPObject("deleteProjekttask");
soapBody.appendChild(new SOAPObject("projekttask_id")).val(id);
var sr = new SOAPRequest("deleteProjekttask",soapBody);
-
+
SOAPClient.Proxy="soap/projekttask.soap.php?"+gettimestamp();
SOAPClient.SendRequest(sr, clb_deleteProjekttask);
}
@@ -285,7 +285,7 @@ function clb_deleteProjekttask(respObj)
return;
}
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-
+
TaskSelectID='';
datasourceTreeTask.Refresh(false); //non blocking
SetStatusBarText('Eintrag wurde entfernt');
@@ -332,7 +332,7 @@ function showProjekttaskParsedown()
//Werte holen
projekttask_id = document.getElementById('textbox-projekttaskdetail-projekttask_id').value;
-
+
if(!isNaN(projekttask_id) && projekttask_id != '')
{
window.open("projekt/parsedown.php?projekttask_id="+projekttask_id,"Projekttask"+projekttask_id);
@@ -355,15 +355,15 @@ function saveProjekttaskDetail()
aufwand = document.getElementById('textbox-projekttask-detail-aufwand').value;
mantis_id = document.getElementById('textbox-projekttask-detail-mantis_id').value;
scrumsprint_id = document.getElementById('textbox-projekttask-detail-scrumsprint_id').value;
- ressource_id = MenulistGetSelectedValue('textbox-projekttask-detail-ressource');
+ ressource_id = MenulistGetSelectedValue('textbox-projekttask-detail-ressource');
ende = document.getElementById('textbox-projekttask-detail-ende').iso;
-
+
if(!isNaN(projektphase_id) && projektphase_id != '')
{
var soapBody = new SOAPObject("saveProjekttask");
//soapBody.appendChild(new SOAPObject("username")).val('joe');
//soapBody.appendChild(new SOAPObject("passwort")).val('waschl');
-
+
var task = new SOAPObject("task");
task.appendChild(new SOAPObject("projekttask_id")).val(projekttask_id);
task.appendChild(new SOAPObject("projektphase_id")).val(projektphase_id);
@@ -376,9 +376,9 @@ function saveProjekttaskDetail()
task.appendChild(new SOAPObject("ressource_id")).val(ressource_id);
task.appendChild(new SOAPObject("ende")).val(ende);
soapBody.appendChild(task);
-
+
var sr = new SOAPRequest("saveProjekttask",soapBody);
-
+
SOAPClient.Proxy="soap/projekttask.soap.php?"+gettimestamp();
SOAPClient.SendRequest(sr, clb_saveProjekttask);
}else
@@ -402,7 +402,7 @@ function clb_saveProjekttask(respObj)
}
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('textbox-projekttaskdetail-projekttask_id').value=id;
-
+
TaskSelectID=id;
datasourceTreeTask.Refresh(false); //non blocking
SetStatusBarText('Daten wurden gespeichert');
@@ -415,7 +415,7 @@ function clb_saveProjekttask(respObj)
// ****
function onselectProjekttask()
{
-
+
// Trick 17 (sonst gibt's ein Permission denied)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('projekttask-tree');
@@ -445,12 +445,12 @@ function onselectProjekttask()
alert(e);
return false;
}
-
+
var req = new phpRequest('../rdf/projekttask.rdf.php','','');
req.add('projekttask_id',id);
var response = req.execute();
-
+
// Datasource holen
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/projekttask/alle-projekttasks');
@@ -472,7 +472,7 @@ function onselectProjekttask()
var scrumsprint_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#scrumsprint_id" ));
var ressource_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ressource_id" ));
var ende=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ende" ));
-
+
//Daten den Feldern zuweisen
var menulist = document.getElementById('textbox-projekttask-detail-ressource');
RessourceTaskLoad(menulist, projektphase_id);
@@ -486,17 +486,17 @@ function onselectProjekttask()
document.getElementById('textbox-projekttask-detail-scrumsprint_id').value=scrumsprint_id;
MenulistSelectItemOnValue('textbox-projekttask-detail-ressource', ressource_id);
//document.getElementById('textbox-projekttask-detail-ressource').value=ressource_id;
-
+
//Notizen zu eines Tasks Laden
notiz = document.getElementById('box-projekttask-notizen');
notiz.LoadNotizTree('','',projekttask_id,'','','','', '','');
-
+
//Mantis Tab reset
document.getElementById('textbox-projekttask-mantis-issue_summary').value=bezeichnung;
document.getElementById('textbox-projekttask-mantis-issue_description').value=beschreibung;
//document.getElementById('textbox-projekttask-mantis-issue_project_id').value='1';
//document.getElementById('textbox-projekttask-mantis-issue_category').value='General';
-
+
document.getElementById('textbox-projekttask-mantis-mantis_id').value='';
document.getElementById('textbox-projekttask-mantis-issue_view_state_id').value='';
document.getElementById('textbox-projekttask-mantis-issue_view_state_name').value='';
@@ -525,9 +525,9 @@ function onselectProjekttask()
document.getElementById('textbox-projekttask-mantis-issue_due_date').value='';
document.getElementById('textbox-projekttask-mantis-issue_steps_to_reproduce').value='';
document.getElementById('textbox-projekttask-mantis-issue_additional_information').value='';
-
+
//Mantis
- if (mantis_id!='')
+ if (false && mantis_id!='')
{
var req = new phpRequest('../rdf/mantis.rdf.php','','');
req.add('issue_id',mantis_id);
@@ -539,7 +539,7 @@ function onselectProjekttask()
getService(Components.interfaces.nsIRDFService);
subject = rdfService.GetResource("http://www.technikum-wien.at/mantis/" + mantis_id);
predicateNS = "http://www.technikum-wien.at/mantis/rdf";
-
+
//Daten holen
var issue_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_id" ));
var issue_summary=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_summary" ));
@@ -571,12 +571,12 @@ function onselectProjekttask()
var issue_tags_name=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_tags_name" ));
var issue_resolution_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_resolution_id" ));
var issue_resolution_name=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_resolution_name" ));
- var issue_due_date=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_due_date" ));
+ var issue_due_date=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_due_date" ));
var issue_steps_to_reproduce=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_steps_to_reproduce" ));
var issue_additional_information=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_additional_information" ));
ProjekttaskLoadCategories(issue_project_id);
-
+
//Daten den Feldern zuweisen
document.getElementById('textbox-projekttask-mantis-mantis_id').value=mantis_id;
document.getElementById('textbox-projekttask-mantis-issue_summary').value=issue_summary;
@@ -610,18 +610,18 @@ function onselectProjekttask()
document.getElementById('textbox-projekttask-mantis-issue_due_date').value=issue_due_date;
document.getElementById('textbox-projekttask-mantis-issue_steps_to_reproduce').value=issue_steps_to_reproduce;
document.getElementById('textbox-projekttask-mantis-issue_additional_information').value=issue_additional_information;
- document.getElementById('textbox-projekttask-mantis-issue_tags').value=issue_tags_name;
+ document.getElementById('textbox-projekttask-mantis-issue_tags').value=issue_tags_name;
}
}
// ****
-// * Beim Aendern des Mantis Projekts werden die zugehoerigen
+// * Beim Aendern des Mantis Projekts werden die zugehoerigen
// * Kategorien geladen
// ****
function ProjekttaskMantisProjektChange()
{
project_id=document.getElementById('menulist-projekttask-mantis-issue_project_id').value;
-
+
if(project_id!='')
ProjekttaskLoadCategories(project_id);
}
@@ -645,10 +645,10 @@ function ProjekttaskLoadCategories(project_id)
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
menulist.builder.rebuild();
-
- var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var datasource = rdfService.GetDataSourceBlocking(url);
-
+
datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
menulist.database.AddDataSource(datasource);
@@ -696,7 +696,7 @@ function saveProjekttaskMantis()
var issue_steps_to_reproduce=document.getElementById('textbox-projekttask-mantis-issue_steps_to_reproduce').value;
var issue_additional_information=document.getElementById('textbox-projekttask-mantis-issue_additional_information').value;
var issue_tags = document.getElementById('textbox-projekttask-mantis-issue_tags').value;
-
+
var soapBody = new SOAPObject("saveMantis");
soapBody.appendChild(new SOAPObject("projekttask_id")).val(projekttask_id);
soapBody.appendChild(new SOAPObject("mantis_id")).val(mantis_id);
@@ -731,25 +731,25 @@ function saveProjekttaskMantis()
soapBody.appendChild(new SOAPObject("issue_due_date")).val(issue_due_date);
soapBody.appendChild(new SOAPObject("issue_steps_to_reproduce")).val(issue_steps_to_reproduce);
soapBody.appendChild(new SOAPObject("issue_additional_information")).val(issue_additional_information);
-
+
var sr = new SOAPRequest("saveMantis",soapBody);
SOAPClient.Proxy="soap/projekttask.soap.php?"+gettimestamp();
SOAPClient.SendRequest(sr, clb_saveProjekttaskMantis);
-
+
// Tags speichern
if(mantis_id != '')
{
var soapBody = new SOAPObject("saveTagsForIssue");
soapBody.appendChild(new SOAPObject("mantis_id")).val(mantis_id);
- soapBody.appendChild(new SOAPObject("issue_tags")).val(issue_tags);
+ soapBody.appendChild(new SOAPObject("issue_tags")).val(issue_tags);
var sr = new SOAPRequest("saveTagsForIssue",soapBody);
SOAPClient.Proxy="soap/projekttask.soap.php?"+gettimestamp();
SOAPClient.SendRequest(sr, clb_saveProjekttaskMantis);
}
-
+
}
// ****
@@ -779,7 +779,7 @@ function ProjekttaskUpdateErledigt(event)
var col = new Object();
var childElt = new Object();
//Tree holen
- var tree = event.currentTarget;
+ var tree = event.currentTarget;
//Treecol ermitteln in die geklickt wurde
tree.treeBoxObject.getCellAt(event.clientX, event.clientY, row, col, childElt);
//abbrechen wenn auf Header oder Scrollbar geklickt wurde
@@ -798,7 +798,7 @@ function ProjekttaskUpdateErledigt(event)
newval='false';
else
newval='true';
-
+
var soapBody = new SOAPObject("setErledigt");
//soapBody.appendChild(new SOAPObject("username")).val('joe');
//soapBody.appendChild(new SOAPObject("passwort")).val('waschl');
@@ -807,8 +807,8 @@ function ProjekttaskUpdateErledigt(event)
var sr = new SOAPRequest("setErledigt",soapBody);
SOAPClient.Proxy="soap/projekttask.soap.php?"+gettimestamp();
-
- SOAPClient.SendRequest(sr,function (respObj)
+
+ SOAPClient.SendRequest(sr,function (respObj)
{
try
{
diff --git a/content/projekt/projekttask.overlay.xul.php b/content/projekt/projekttask.overlay.xul.php
index cbce0e857..52c19828b 100644
--- a/content/projekt/projekttask.overlay.xul.php
+++ b/content/projekt/projekttask.overlay.xul.php
@@ -29,7 +29,7 @@ require_once('../../config/vilesci.config.inc.php');
echo '';
echo '';
-echo '';
+
?>
-
+
-
+
diff --git a/content/projekt/ressource.overlay.xul.php b/content/projekt/ressource.overlay.xul.php
index cd509cbfd..f291009b2 100644
--- a/content/projekt/ressource.overlay.xul.php
+++ b/content/projekt/ressource.overlay.xul.php
@@ -64,7 +64,7 @@ echo '';
-
+
@@ -89,4 +89,4 @@ echo '';
-
\ No newline at end of file
+
diff --git a/content/projekt/ressourcenauslastung.php b/content/projekt/ressourcenauslastung.php
index 8bbdba923..1c069e0f6 100644
--- a/content/projekt/ressourcenauslastung.php
+++ b/content/projekt/ressourcenauslastung.php
@@ -34,7 +34,12 @@ $datum = date('Y-m-d',$timestamp);
$endetimestamp = jump_week($timestamp,$showweeks);
$endedatum = date('Y-m-d',$endetimestamp);
-if(isset($_GET['projekt_kurzbz']) && $_GET['projekt_kurzbz']!='')
+if(isset($_GET['empty']))
+{
+ echo ' ';
+ exit;
+}
+elseif(isset($_GET['projekt_kurzbz']) && $_GET['projekt_kurzbz']!='')
{
$projekt_kurzbz=$_GET['projekt_kurzbz'];
}
@@ -60,9 +65,10 @@ else
$anzahl_warnung = 6;
}
-
foreach($ressource->result as $row)
+{
$ressource_arr[]=$row->bezeichnung;
+}
$ressource_arr = array_unique($ressource_arr);
@@ -117,7 +123,7 @@ foreach($ressource_arr as $bezeichnung)
$beistrich=false;
$start = $datum_obj->mktime_fromdate($row->start);
$ende = $datum_obj->mktime_fromdate($row->ende);
- if($row->bezeichnung == $bezeichnung
+ if($row->bezeichnung == $bezeichnung
&& ($row->start=='' || $start<=$timestamp_kw)
&& ($row->ende=='' || $ende>=$timestamp_kw)
)
@@ -156,10 +162,10 @@ foreach($ressource_arr as $bezeichnung)
if($beistrich)
$title.=', ';
}
-
+
}
$title = mb_substr($title,0,-1);
-
+
$htmlrow.='';
if($anzahl>=$anzahl_warnung)
$htmlrow.=''.$anzahl.($typ!='projekt'?'/'.$aufwandssumme:'').' ';
@@ -173,6 +179,7 @@ foreach($ressource_arr as $bezeichnung)
ob_flush();
}
+echo ' ';
echo '