mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
Merge branch 'master' into feature-12997/Neue_Noten
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -270,7 +270,6 @@ class Lehrauftrag extends Auth_Controller
|
||||
private function _sendMail($lehrvertrag_data_arr)
|
||||
{
|
||||
// Cluster data of new lehrvertraege as needed to send mail
|
||||
$lehrvertrag_data_arr = $this->_cluster_newVertragData($lehrvertrag_data_arr);
|
||||
|
||||
foreach ($lehrvertrag_data_arr as $lehrvertrag_data)
|
||||
{
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -189,7 +189,7 @@ $this->load->view(
|
||||
|
||||
<div class="col-xs-4 col-md-offset-0 col-md-4">
|
||||
<div class="input-group">
|
||||
<input id="username" type="hidden" autocomplete="username" value=""><!-- this is to prevent Chrome autofilling a random input field with the username-->
|
||||
<input id="username" autocomplete="username" style="position: absolute; opacity: 0;"><!-- 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-<?php echo ucfirst($this->p->t('password', 'password')); ?>">
|
||||
<span class="input-group-btn">
|
||||
<button id="accept-lehrauftraege" class="btn btn-primary pull-right"><?php echo ucfirst($this->p->t('global', 'lehrauftraegeAnnehmen')); ?></button>
|
||||
|
||||
@@ -32,7 +32,7 @@ SELECT
|
||||
erteilt,
|
||||
akzeptiert,
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -48,7 +48,7 @@ SELECT
|
||||
)
|
||||
) AS "bestellt_von",
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -64,7 +64,7 @@ SELECT
|
||||
)
|
||||
) AS "erteilt_von",
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -241,7 +241,7 @@ FROM
|
||||
\'Betreuung\' AS "typ",
|
||||
(betreuerart_kurzbz || \' \' ||
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
PUBLIC.tbl_person
|
||||
JOIN PUBLIC.tbl_benutzer USING (person_id)
|
||||
|
||||
@@ -34,7 +34,7 @@ SELECT
|
||||
erteilt,
|
||||
akzeptiert,
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -50,7 +50,7 @@ SELECT
|
||||
)
|
||||
) AS "bestellt_von",
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -66,7 +66,7 @@ SELECT
|
||||
)
|
||||
) AS "erteilt_von",
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -128,7 +128,7 @@ FROM
|
||||
(
|
||||
SELECT
|
||||
/* lehrauftraege also planned with dummies, therefore personalnummer is needed */
|
||||
ma.personalnummer,
|
||||
(ma.personalnummer::text),
|
||||
lema.lehreinheit_id,
|
||||
lv.lehrveranstaltung_id,
|
||||
lv.bezeichnung AS "lv_bezeichnung",
|
||||
@@ -240,7 +240,7 @@ FROM
|
||||
pa.lehreinheit_id,
|
||||
lv.lehrveranstaltung_id,
|
||||
lv.bezeichnung AS "lv_bezeichnung",
|
||||
pa.projektarbeit_id AS "projektarbeit_id",
|
||||
(pa.projektarbeit_id::text) AS "projektarbeit_id",
|
||||
le.studiensemester_kurzbz,
|
||||
stg.studiengang_kz,
|
||||
upper(stg.typ || stg.kurzbz) AS "stg_typ_kurzbz",
|
||||
@@ -249,7 +249,7 @@ FROM
|
||||
\'Betreuung\' AS "typ",
|
||||
(betreuerart_kurzbz || \' \' ||
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
PUBLIC.tbl_person
|
||||
JOIN PUBLIC.tbl_benutzer USING (person_id)
|
||||
@@ -268,7 +268,7 @@ FROM
|
||||
ELSE (oe.organisationseinheittyp_kurzbz ||
|
||||
\' \' || oe.bezeichnung)
|
||||
END AS "lv_oe_kurzbz",
|
||||
(nachname || \' \' || vorname) AS "lektor",
|
||||
(vorname || \' \' || nachname) AS "lektor",
|
||||
TRUNC(pb.stunden, 1) AS "stunden",
|
||||
TRUNC((pb.stunden * pb.stundensatz), 2) AS "betrag",
|
||||
vertrag_id,
|
||||
|
||||
@@ -14,7 +14,7 @@ $query = '
|
||||
datum AS "storniert",
|
||||
(
|
||||
SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
|
||||
@@ -65,7 +65,7 @@ SELECT
|
||||
erteilt,
|
||||
akzeptiert,
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -81,7 +81,7 @@ SELECT
|
||||
)
|
||||
) AS "bestellt_von",
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -97,7 +97,7 @@ SELECT
|
||||
)
|
||||
) AS "erteilt_von",
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer benutzer USING (person_id)
|
||||
@@ -281,7 +281,7 @@ FROM
|
||||
\'Betreuung\' AS "typ",
|
||||
(betreuerart_kurzbz || \' \' ||
|
||||
(SELECT
|
||||
vorname || \' \' || nachname
|
||||
nachname || \' \' || vorname
|
||||
FROM
|
||||
PUBLIC.tbl_person
|
||||
JOIN PUBLIC.tbl_benutzer USING (person_id)
|
||||
|
||||
@@ -48,6 +48,8 @@
|
||||
name="period" value="today"><?php echo $this->p->t('ui','heute'); ?></button>
|
||||
<button type="submit" class="btn btn-default <?php echo $period == 'lastWeek' ? 'active' : ''?>"
|
||||
name="period" value="lastWeek"><?php echo $this->p->t('ui','letzteWoche'); ?></button>
|
||||
<button type="submit" class="btn btn-default <?php echo $period == 'upcoming' ? 'active' : ''?>"
|
||||
name="period" value="upcoming"><?php echo $this->p->t('ui','zukuenftige'); ?></button>
|
||||
<button type="submit" class="btn btn-default <?php echo $period == 'all' ? 'active' : ''?>"
|
||||
name="period" value="all"><?php echo $this->p->t('ui','alle'); ?></button>
|
||||
</div>
|
||||
|
||||
@@ -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
|
||||
";
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
<div class="modal fade absageModalForAll"
|
||||
tabindex="-1"
|
||||
role="dialog"
|
||||
aria-labelledby="absageModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button"
|
||||
class="close"
|
||||
data-dismiss="modal"
|
||||
aria-hidden="true">
|
||||
×
|
||||
</button>
|
||||
<h4 class="modal-title"
|
||||
id="absageModalLabel"><?php echo $this->p->t('infocenter', 'absageBestaetigen') ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $this->p->t('infocenter', 'absageBestaetigenTxt') ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="modal">
|
||||
<?php echo $this->p->t('ui', 'abbrechen') ?>
|
||||
</button>
|
||||
<button class="btn btn-primary saveAbsage" id="saveAbsageForAll">
|
||||
<?php echo $this->p->t('infocenter', 'interessentAbweisen') ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
@@ -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 @@
|
||||
</div>
|
||||
<div>
|
||||
<?php $this->load->view('system/infocenter/infocenterData.php'); ?>
|
||||
<?php $this->load->view('system/infocenter/absageModal.php'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -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 @@
|
||||
</div>
|
||||
<div>
|
||||
<?php $this->load->view('system/infocenter/infocenterFreigegebenData.php'); ?>
|
||||
<?php $this->load->view('system/infocenter/absageModal.php'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -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",
|
||||
(
|
||||
|
||||
@@ -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 @@
|
||||
</div>
|
||||
<div>
|
||||
<?php $this->load->view('system/infocenter/infocenterReihungstestAbsolviertData.php'); ?>
|
||||
<?php $this->load->view('system/infocenter/absageModal.php'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -344,7 +344,7 @@
|
||||
|
||||
<?php
|
||||
//Prestudenten cannot be abgewiesen or freigegeben if already done
|
||||
if (!$infoonly) :
|
||||
if (!$infoonly || (isset($zgvpruefung->prestudentstatus->status_kurzbz) && in_array($zgvpruefung->prestudentstatus->status_kurzbz, ['Bewerber', 'Wartender']))) :
|
||||
?>
|
||||
<div class="panel-footer solidtop">
|
||||
<div class="row">
|
||||
@@ -368,130 +368,97 @@
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="modal fade absageModal" id="absageModal_<?php echo $zgvpruefung->prestudent_id ?>"
|
||||
tabindex="-1"
|
||||
role="dialog"
|
||||
aria-labelledby="absageModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button"
|
||||
class="close"
|
||||
data-dismiss="modal"
|
||||
aria-hidden="true">
|
||||
×
|
||||
</button>
|
||||
<h4 class="modal-title"
|
||||
id="absageModalLabel"><?php echo $this->p->t('infocenter', 'absageBestaetigen') ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $this->p->t('infocenter', 'absageBestaetigenTxt') ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="modal">
|
||||
<?php echo $this->p->t('ui', 'abbrechen') ?>
|
||||
</button>
|
||||
<button class="btn btn-primary saveAbsage" id="saveAbsage_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('infocenter', 'interessentAbweisen') ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.column-absage -->
|
||||
<?php
|
||||
$disabled = $disabledStg = $disabledTxt = $disabledStgTxt = '';
|
||||
if (isEmptyString($zgvpruefung->prestudentstatus->bewerbung_abgeschicktamum))
|
||||
{
|
||||
$disabled = $disabledStg = 'disabled';
|
||||
$disabledTxt = $disabledStgTxt = $this->p->t('infocenter', 'bewerbungMussAbgeschickt');
|
||||
}
|
||||
<?php
|
||||
$disabled = $disabledStg = $disabledTxt = $disabledStgTxt = '';
|
||||
if (isEmptyString($zgvpruefung->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');
|
||||
}
|
||||
?>
|
||||
<div class="col-lg-8 text-right">
|
||||
<div class="form-inline">
|
||||
<div class="input-group frgstatusgrselect" id="frgstatusgrselect_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<select name="frgstatusgrund"
|
||||
class="d-inline float-right"
|
||||
<?php echo $disabledStg ?>
|
||||
required>
|
||||
<option value="null"
|
||||
selected="selected"><?php echo ucfirst($this->p->t('ui', 'freigabeart')) . '...' ?>
|
||||
</option>
|
||||
<?php foreach ($intstatusgruende as $statusgrund): ?>
|
||||
<option value="<?php echo $statusgrund->statusgrund_id ?>"><?php echo $statusgrund->bezeichnung_mehrsprachig[0] ?></option>
|
||||
<?php endforeach ?>
|
||||
</select>
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default freigabebtnstg" <?php echo $disabledStg ?> id="freigabebtnstg_<?php echo $zgvpruefung->prestudent_id ?>"
|
||||
data-toggle="tooltip" title="<?php echo $disabledStgTxt ?>">
|
||||
<?php echo $this->p->t('ui', 'freigabeAnStudiengang') ?>
|
||||
}
|
||||
if (!$infoonly) :
|
||||
?>
|
||||
<div class="col-lg-8 text-right">
|
||||
<div class="form-inline">
|
||||
<div class="input-group frgstatusgrselect" id="frgstatusgrselect_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<select name="frgstatusgrund"
|
||||
class="d-inline float-right"
|
||||
<?php echo $disabledStg ?>
|
||||
required>
|
||||
<option value="null"
|
||||
selected="selected"><?php echo ucfirst($this->p->t('ui', 'freigabeart')) . '...' ?>
|
||||
</option>
|
||||
<?php foreach ($intstatusgruende as $statusgrund): ?>
|
||||
<option value="<?php echo $statusgrund->statusgrund_id ?>"><?php echo $statusgrund->bezeichnung_mehrsprachig[0] ?></option>
|
||||
<?php endforeach ?>
|
||||
</select>
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default freigabebtnstg" <?php echo $disabledStg ?> id="freigabebtnstg_<?php echo $zgvpruefung->prestudent_id ?>"
|
||||
data-toggle="tooltip" title="<?php echo $disabledStgTxt ?>">
|
||||
<?php echo $this->p->t('ui', 'freigabeAnStudiengang') ?>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="input-group" id="igrfrgbtn">
|
||||
<button type="button" id="freigabebtn_<?php echo $zgvpruefung->prestudent_id ?>" class="btn btn-default freigabebtn" <?php echo $disabled ?>
|
||||
data-toggle="tooltip" title="<?php echo $disabledTxt ?>">
|
||||
<?php echo $this->p->t('ui', 'freigabeZumReihungstest') ?>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="input-group" id="igrfrgbtn">
|
||||
<button type="button" id="freigabebtn_<?php echo $zgvpruefung->prestudent_id ?>" class="btn btn-default freigabebtn" <?php echo $disabled ?>
|
||||
data-toggle="tooltip" title="<?php echo $disabledTxt ?>">
|
||||
<?php echo $this->p->t('ui', 'freigabeZumReihungstest') ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade freigabeModal" id="freigabeModal_<?php echo $zgvpruefung->prestudent_id ?>" tabindex="-1"
|
||||
role="dialog"
|
||||
aria-labelledby="freigabeModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close"
|
||||
data-dismiss="modal"
|
||||
aria-hidden="true">×
|
||||
</button>
|
||||
<h4 class="modal-title"
|
||||
id="freigabeModalLabel">
|
||||
<?php echo $this->p->t('infocenter', 'freigabeBestaetigen') ?>
|
||||
<span id="freigabeModalStgr_<?php echo $zgvpruefung->prestudent_id ?>"></span>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $this->p->t('infocenter', 'interessentFreigebenTxt') ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="modal"><?php echo $this->p->t('ui', 'abbrechen') ?>
|
||||
</button>
|
||||
<button type="button"
|
||||
class="btn btn-primary saveFreigabe" id="saveFreigabe_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('infocenter', 'interessentFreigeben') ?>
|
||||
</button>
|
||||
<button type="button"
|
||||
class="btn btn-primary saveStgFreigabe" id="saveStgFreigabe_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('infocenter', 'interessentFreigeben') ?>
|
||||
</button>
|
||||
</div>
|
||||
</div><!-- /.modal-content -->
|
||||
</div><!-- /.modal-dialog -->
|
||||
</div><!-- /.modal-fade -->
|
||||
<div class="modal fade freigabeModal" id="freigabeModal_<?php echo $zgvpruefung->prestudent_id ?>" tabindex="-1"
|
||||
role="dialog"
|
||||
aria-labelledby="freigabeModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close"
|
||||
data-dismiss="modal"
|
||||
aria-hidden="true">×
|
||||
</button>
|
||||
<h4 class="modal-title"
|
||||
id="freigabeModalLabel">
|
||||
<?php echo $this->p->t('infocenter', 'freigabeBestaetigen') ?>
|
||||
<span id="freigabeModalStgr_<?php echo $zgvpruefung->prestudent_id ?>"></span>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $this->p->t('infocenter', 'interessentFreigebenTxt') ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="modal"><?php echo $this->p->t('ui', 'abbrechen') ?>
|
||||
</button>
|
||||
<button type="button"
|
||||
class="btn btn-primary saveFreigabe" id="saveFreigabe_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('infocenter', 'interessentFreigeben') ?>
|
||||
</button>
|
||||
<button type="button"
|
||||
class="btn btn-primary saveStgFreigabe" id="saveStgFreigabe_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('infocenter', 'interessentFreigeben') ?>
|
||||
</button>
|
||||
</div>
|
||||
</div><!-- /.modal-content -->
|
||||
</div><!-- /.modal-dialog -->
|
||||
</div><!-- /.modal-fade -->
|
||||
<?php endif; ?>
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.panel-footer -->
|
||||
<?php elseif (isset($zgvpruefung->prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz === 'Interessent'): ?>
|
||||
@@ -508,9 +475,69 @@
|
||||
</label>
|
||||
</div>
|
||||
</div><!-- /.row -->
|
||||
<div class="row">
|
||||
<div class="col-lg-4 text-left">
|
||||
<div class="input-group" id="absgstatusgrselect_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<select name="absgstatusgrund"
|
||||
class="d-inline float-right"
|
||||
required>
|
||||
<option value="null"
|
||||
selected="selected"><?php echo ucfirst($this->p->t('infocenter', 'absagegrund')) . '...' ?>
|
||||
</option>
|
||||
<?php foreach ($abwstatusgruende as $statusgrund): ?>
|
||||
<option value="<?php echo $statusgrund->statusgrund_id ?>"><?php echo $statusgrund->bezeichnung_mehrsprachig[0] ?></option>
|
||||
<?php endforeach ?>
|
||||
</select>
|
||||
<span class="input-group-btn">
|
||||
<button type="button"
|
||||
class="btn btn-default absageBtn" id="absagebtn_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('ui', 'absagen') ?>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.panel-footer -->
|
||||
<?php endif; //end if infoonly
|
||||
?>
|
||||
|
||||
<?php
|
||||
endif;
|
||||
?>
|
||||
|
||||
<div class="modal fade absageModal" id="absageModal_<?php echo $zgvpruefung->prestudent_id ?>"
|
||||
tabindex="-1"
|
||||
role="dialog"
|
||||
aria-labelledby="absageModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button"
|
||||
class="close"
|
||||
data-dismiss="modal"
|
||||
aria-hidden="true">
|
||||
×
|
||||
</button>
|
||||
<h4 class="modal-title"
|
||||
id="absageModalLabel"><?php echo $this->p->t('infocenter', 'absageBestaetigen') ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $this->p->t('infocenter', 'absageBestaetigenTxt') ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="modal">
|
||||
<?php echo $this->p->t('ui', 'abbrechen') ?>
|
||||
</button>
|
||||
<button class="btn btn-primary saveAbsage" id="saveAbsage_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('infocenter', 'interessentAbweisen') ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
</div><!-- /.div collapse -->
|
||||
</div><!-- /.panel -->
|
||||
<?php
|
||||
|
||||
+23
-21
@@ -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 "</li>";
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,9 +107,9 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/ressource.overlay.xul.php"
|
||||
<vbox id="vbox-main">
|
||||
<tabbox id="tabbox-main" flex="3" orient="vertical">
|
||||
<tabs id="tabs-planner-main" orient="horizontal">
|
||||
<tab id="tab-projekte" label="Projekte" />
|
||||
<tab id="tab-projekte" label="Projekte" selected="true" />
|
||||
<tab id="tab-projektphase" label="Phasen" />
|
||||
<tab id="tab-projekttask" label="Tasks" selected="true" />
|
||||
<tab id="tab-projekttask" label="Tasks"/>
|
||||
<tab id="tab-dokumente" label="Dokumente" />
|
||||
<tab id="tab-ressourceauslastung" label="Ressourcen" />
|
||||
<tab id="tab-bestellung" label="Bestellungen" />
|
||||
@@ -176,7 +176,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/ressource.overlay.xul.php"
|
||||
<treechildren>
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/ressource/rdf#bezeichnung"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/ressource/rdf#bezeichnung"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/ressource/rdf#rdf_description"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/ressource/rdf#typ"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/ressource/rdf#ressource_id"/>
|
||||
|
||||
@@ -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="<?php echo APP_ROOT;?>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="<?php echo APP_ROOT;?>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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 = "<?php echo APP_ROOT; ?>rdf/projekttask.rdf.php?projektphase_id="+currentProjektPhaseID+"&"+gettimestamp();
|
||||
|
||||
url = "<?php echo APP_ROOT; ?>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="<?php echo APP_ROOT;?>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="<?php echo APP_ROOT;?>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="<?php echo APP_ROOT;?>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="<?php echo APP_ROOT;?>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="<?php echo APP_ROOT;?>soap/projekttask.soap.php?"+gettimestamp();
|
||||
|
||||
SOAPClient.SendRequest(sr,function (respObj)
|
||||
|
||||
SOAPClient.SendRequest(sr,function (respObj)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
@@ -29,7 +29,7 @@ require_once('../../config/vilesci.config.inc.php');
|
||||
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
|
||||
echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/projekttaskdetail.overlay.xul.php"?>';
|
||||
echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/mantisdetail.overlay.xul.php"?>';
|
||||
|
||||
?>
|
||||
<overlay id="ProjekttaskOverlay"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
@@ -154,12 +154,12 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/mantisdetail.overlay.xul.p
|
||||
<tabbox id="projekttask-tabbox" flex="3" orient="vertical">
|
||||
<tabs orient="horizontal" id="projekttask-tabs">
|
||||
<tab id="projekttask-tab-detail" label="Details" />
|
||||
<tab id="projekttask-tab-mantis" label="Mantis" />
|
||||
|
||||
<tab id="projekttask-tab-notizen" label="Notizen" />
|
||||
</tabs>
|
||||
<tabpanels id="projekttask-tabpanels-main" flex="1">
|
||||
<vbox id="box-projekttask-detail" />
|
||||
<vbox id="box-projekttask-mantis" />
|
||||
|
||||
<box class="Notiz" id="box-projekttask-notizen"/>
|
||||
</tabpanels>
|
||||
</tabbox>
|
||||
|
||||
@@ -64,7 +64,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<toolbarbutton id="toolbarbutton-ressource-projekt-drucken" label="Drucken" oncommand="foo = window.open('<?php echo APP_ROOT; ?>content/projekt/ressourcenauslastung.php?typ=projekt');foo.print();" image="../skin/images/drucken.png" tooltiptext="Drucken"/>
|
||||
</toolbar>
|
||||
</toolbox>
|
||||
<iframe id="iframe-ressource-projekt" flex="5" src="<?php echo APP_ROOT; ?>content/projekt/ressourcenauslastung.php?typ=projekt" />
|
||||
<iframe id="iframe-ressource-projekt" flex="5" src="<?php echo APP_ROOT; ?>content/projekt/ressourcenauslastung.php?empty" />
|
||||
</vbox>
|
||||
<vbox>
|
||||
<toolbox>
|
||||
@@ -89,4 +89,4 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
</tabpanels>
|
||||
</tabbox>
|
||||
</vbox>
|
||||
</overlay>
|
||||
</overlay>
|
||||
|
||||
@@ -259,16 +259,19 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
<method name="DeleteRessource">
|
||||
<method name="DeleteRessource">
|
||||
<parameter name="ressource_id"/>
|
||||
<body>
|
||||
<body>
|
||||
<![CDATA[
|
||||
//debug('Refresh Notiz');
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
try
|
||||
{
|
||||
var col = tree.columns.getColumnFor(document.getAnonymousElementByAttribute(this ,'anonid', 'treecol-ressource-projekt_ressource_id'));
|
||||
var projekt_ressource_id = tree.view.getCellText(tree.currentIndex, col);
|
||||
var projekt_kurzbz = this.getAttribute('projekt_kurzbz');
|
||||
var projektphase_id = this.getAttribute('projektphase_id');
|
||||
//var projekt_ressource_id = this.getAttribute('projekt_ressource_id');
|
||||
|
||||
var soapBody = new SOAPObject("deleteProjektRessource");
|
||||
//soapBody.appendChild(new SOAPObject("username")).val('joe');
|
||||
@@ -286,6 +289,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
projektRessource.appendChild(new SOAPObject("projekt_kurzbz")).val('');
|
||||
}
|
||||
projektRessource.appendChild(new SOAPObject("ressource_id")).val(ressource_id);
|
||||
projektRessource.appendChild(new SOAPObject("projekt_ressource_id")).val(projekt_ressource_id);
|
||||
soapBody.appendChild(projektRessource);
|
||||
|
||||
var sr = new SOAPRequest("deleteProjektRessource",soapBody);
|
||||
|
||||
@@ -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 '<br><br><br>';
|
||||
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.='<td title="'.$title.'" align="center">';
|
||||
if($anzahl>=$anzahl_warnung)
|
||||
$htmlrow.='<span class="warning">'.$anzahl.($typ!='projekt'?'/'.$aufwandssumme:'').'</span>';
|
||||
@@ -173,6 +179,7 @@ foreach($ressource_arr as $bezeichnung)
|
||||
ob_flush();
|
||||
}
|
||||
|
||||
echo ' </table>';
|
||||
echo '
|
||||
</body>
|
||||
</html>';
|
||||
|
||||
+619
-618
File diff suppressed because it is too large
Load Diff
+83
-11
@@ -86,7 +86,7 @@ class ressource extends basis_db
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->funktion_kurzbz = $row->funktion_kurzbz;
|
||||
return true;
|
||||
}
|
||||
@@ -130,7 +130,7 @@ class ressource extends basis_db
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
//var_dump($this->result);
|
||||
@@ -174,7 +174,7 @@ class ressource extends basis_db
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->aufwand = $row->aufwand;
|
||||
$obj->aufwand = $row->aufwand;
|
||||
$obj->funktion_kurzbz = $row->funktion_kurzbz;
|
||||
$obj->projekt_ressource_id= $row->projekt_ressource_id;
|
||||
|
||||
@@ -189,8 +189,8 @@ class ressource extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* Lädt die Projektressource
|
||||
@@ -203,15 +203,15 @@ class ressource extends basis_db
|
||||
$this->result=array();
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->ressource_id = $row->ressource_id;
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->aufwand = $row->aufwand;
|
||||
$this->aufwand = $row->aufwand;
|
||||
$this->funktion_kurzbz = $row->funktion_kurzbz;
|
||||
$this->projekt_ressource_id= $row->projekt_ressource_id;
|
||||
$this->projekt_kurzbz = $row->projekt_kurzbz;
|
||||
$this->projekt_ressource_id= $row->projekt_ressource_id;
|
||||
$this->projekt_kurzbz = $row->projekt_kurzbz;
|
||||
$this->projektphase_id = $row->projektphase_id;
|
||||
return true;
|
||||
}
|
||||
@@ -223,7 +223,7 @@ class ressource extends basis_db
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -256,7 +256,7 @@ class ressource extends basis_db
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->aufwand = $row->aufwand;
|
||||
$obj->aufwand = $row->aufwand;
|
||||
$obj->funktion_kurzbz = $row->funktion_kurzbz;
|
||||
$obj->projekt_ressource_id = $row->projekt_ressource_id;
|
||||
$this->result[] = $obj;
|
||||
@@ -688,5 +688,77 @@ class ressource extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Löscht eine Ressource zu Projekt Zuordnung
|
||||
* @param type $ressource_id
|
||||
* @param type $projekt_kurzbz
|
||||
* @return boolean
|
||||
*/
|
||||
public function deleteFromProjektWithProjektRessourceId($ressource_id, $projekt_kurzbz, $project_ressource_id)
|
||||
{
|
||||
if($ressource_id == '' || !is_numeric($ressource_id))
|
||||
{
|
||||
$this->errormsg = 'Ressource Id ist keine gültige Zahl';
|
||||
return false;
|
||||
}
|
||||
/*$qry="DELETE FROM fue.tbl_projekt_ressource WHERE ressource_id =".$this->db_add_param($ressource_id, FHC_INTEGER, false)."
|
||||
AND projekt_kurzbz=".$this->db_add_param($projekt_kurzbz, FHC_STRING, false).';';
|
||||
*/
|
||||
$qry="
|
||||
DELETE FROM fue.tbl_projekt_ressource pr
|
||||
USING fue.tbl_ressource r
|
||||
WHERE r.ressource_id =".$this->db_add_param($ressource_id, FHC_INTEGER, false). "
|
||||
AND pr.projekt_ressource_id=".$this->db_add_param($project_ressource_id, FHC_INTEGER, false). "
|
||||
AND pr.projekt_kurzbz=".$this->db_add_param($projekt_kurzbz, FHC_STRING, false).';';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Löscht eine Ressource zu Phase Zuordnung
|
||||
* @param type $ressource_id
|
||||
* @param type $projekt_kurzbz
|
||||
* @return boolean
|
||||
*/
|
||||
public function deleteFromPhaseWithProjektRessourceId($ressource_id, $projektphase_id, $project_ressource_id)
|
||||
{
|
||||
if($ressource_id == '' || !is_numeric($ressource_id))
|
||||
{
|
||||
$this->errormsg = 'Ressource Id ist keine gültige Zahl';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($projektphase_id == '' || !is_numeric($projektphase_id))
|
||||
{
|
||||
$this->errormsg = 'Ressource Id ist keine gültige Zahl';
|
||||
return false;
|
||||
}
|
||||
|
||||
/*$qry="DELETE FROM fue.tbl_projekt_ressource WHERE ressource_id =".$this->db_add_param($ressource_id, FHC_INTEGER, false)."
|
||||
AND projektphase_id=".$this->db_add_param($projektphase_id, FHC_INTEGER, false).';';
|
||||
*/
|
||||
$qry="
|
||||
DELETE FROM fue.tbl_projekt_ressource pr
|
||||
USING fue.tbl_ressource r
|
||||
WHERE r.ressource_id =".$this->db_add_param($ressource_id, FHC_INTEGER, false). "
|
||||
AND pr.projekt_ressource_id=".$this->db_add_param($project_ressource_id, FHC_INTEGER, false). "
|
||||
AND pr.projektphase_id=".$this->db_add_param($projektphase_id, FHC_INTEGER, false).';';
|
||||
if($this->db_query($qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -31,6 +31,20 @@ var InfocenterPersonDataset = {
|
||||
var formHtml = '<form id="sendMsgsForm" method="post" action="'+ url +'" target="_blank"></form>';
|
||||
$("#datasetActionsTop").before(formHtml);
|
||||
|
||||
var auswahlAbsageToggle =
|
||||
'<a class="absageToggle">Erweiterte Einstellungen</a>';
|
||||
|
||||
var auswahlAbsage =
|
||||
'<select class="form-control absgstatusgrund" style="width:auto; float:left;">' +
|
||||
'<option value="null" selected="selected"> Absagegrund </option>' +
|
||||
'</select>' +
|
||||
'<select class="form-control auswahlAbsageStg" style="width:auto; float:left;">' +
|
||||
'<option value="null" selected="selected"> Studiengang </option>' +
|
||||
'</select>' +
|
||||
'<button class="btn btn-default auswahlAbsageBtn" style="float:left"> Absage </button>';
|
||||
|
||||
InfocenterPersonDataset.getAbsageData();
|
||||
|
||||
var studienSemesterHtml = '<button class="btn btn-default btn-xs decStudiensemester">' +
|
||||
'<i class="fa fa-chevron-left"></i>' +
|
||||
'</button> ' +
|
||||
@@ -60,6 +74,14 @@ var InfocenterPersonDataset = {
|
||||
"<div class='col-xs-12 text-center'>"+studienSemesterHtml+"</div>"+
|
||||
"</div><div class='h-divider'></div><hr class='studiensemesterline'>");
|
||||
|
||||
$("#datasetActionsBottom").append(
|
||||
"<div class='row'>"+
|
||||
"<div class='col-xs-12'>"+auswahlAbsageToggle+"</div>"+
|
||||
"<div class='col-xs-12' id='absagePunkte' style='display:none'>"+auswahlAbsage+"</div>"+
|
||||
"</div>" +
|
||||
"<div class='h-divider'></div>" +
|
||||
"<hr class='studiensemesterline'>"
|
||||
)
|
||||
$("button.incStudiensemester").click(function() {
|
||||
InfocenterPersonDataset.changeStudiensemesterUservar(1);
|
||||
});
|
||||
@@ -68,6 +90,29 @@ var InfocenterPersonDataset = {
|
||||
InfocenterPersonDataset.changeStudiensemesterUservar(-1);
|
||||
});
|
||||
|
||||
$('button.auswahlAbsageBtn').click(function()
|
||||
{
|
||||
var idsel = $("#filterTableDataset input:checked[name=PersonId\\[\\]]");
|
||||
|
||||
if(idsel.length <= 0)
|
||||
return FHC_DialogLib.alertInfo("Bitte wählen Sie die Personen aus.");
|
||||
|
||||
if($('.absgstatusgrund').val() === 'null' || $('.auswahlAbsageStg').val() === 'null')
|
||||
return FHC_DialogLib.alertInfo("Bitte den Absagegrund und Studiengang auswählen.");
|
||||
|
||||
$(".absageModalForAll").modal("show");
|
||||
});
|
||||
|
||||
$('#saveAbsageForAll').click(function()
|
||||
{
|
||||
InfocenterPersonDataset.saveAbsageForAll();
|
||||
});
|
||||
|
||||
$('a.absageToggle').click(function()
|
||||
{
|
||||
$('#absagePunkte').toggle();
|
||||
})
|
||||
|
||||
var personcount = 0;
|
||||
|
||||
FHC_AjaxClient.ajaxCallGet(
|
||||
@@ -203,6 +248,75 @@ var InfocenterPersonDataset = {
|
||||
);
|
||||
},
|
||||
|
||||
saveAbsageForAll: function()
|
||||
{
|
||||
var idsel = $("#filterTableDataset input:checked[name=PersonId\\[\\]]");
|
||||
|
||||
var statusgrund = $('.absgstatusgrund').val();
|
||||
var studiengang = $('.auswahlAbsageStg').val();
|
||||
|
||||
var personen = [];
|
||||
|
||||
for (var i = 0; i < idsel.length; i++)
|
||||
{
|
||||
personen.push($(idsel[i]).val());
|
||||
}
|
||||
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
'system/infocenter/InfoCenter/saveAbsageForAll',
|
||||
{
|
||||
'statusgrund': statusgrund,
|
||||
'studiengang': studiengang,
|
||||
'personen' : personen
|
||||
},
|
||||
{
|
||||
successCallback: function(data, textStatus, jqXHR) {
|
||||
if (FHC_AjaxClient.isError(data))
|
||||
FHC_DialogLib.alertError(FHC_AjaxClient.getError(data));
|
||||
|
||||
if (FHC_AjaxClient.hasData(data))
|
||||
FHC_DialogLib.alertSuccess("Erfolgreich gespeichert.")
|
||||
|
||||
$(".absageModalForAll").modal("hide");
|
||||
},
|
||||
errorCallback: function(jqXHR, textStatus, errorThrown) {
|
||||
FHC_DialogLib.alertError(textStatus);
|
||||
}
|
||||
}
|
||||
);
|
||||
},
|
||||
|
||||
getAbsageData: function()
|
||||
{
|
||||
FHC_AjaxClient.ajaxCallGet(
|
||||
'system/infocenter/InfoCenter/getAbsageData',
|
||||
{},
|
||||
{
|
||||
successCallback: function(data, textStatus, jqXHR) {
|
||||
if (FHC_AjaxClient.hasData(data))
|
||||
{
|
||||
data = FHC_AjaxClient.getData(data);
|
||||
$.each(data.statusgruende, function(key, value){
|
||||
$('.absgstatusgrund').append($("<option/>", {
|
||||
value: value.statusgrund_id,
|
||||
text: value.bezeichnung_mehrsprachig[0]
|
||||
}))
|
||||
})
|
||||
$.each(data.studiengaenge, function(key, value){
|
||||
$('.auswahlAbsageStg').append($("<option/>", {
|
||||
value: value.studiengang,
|
||||
text: value.studiengang
|
||||
}))
|
||||
})
|
||||
|
||||
}
|
||||
},
|
||||
errorCallback: function(jqXHR, textStatus, errorThrown) {
|
||||
FHC_DialogLib.alertError(textStatus);
|
||||
}
|
||||
}
|
||||
);
|
||||
},
|
||||
/**
|
||||
* initializes call to get the Studiensemester user variable
|
||||
*/
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
*/
|
||||
|
||||
$projekt_kurzbz=(isset($_GET['projekt_kurzbz'])?$_GET['projekt_kurzbz']:null);
|
||||
$projekt_phase=(isset($_GET['projekt_phase'])?$_GET['projekt_phase']:null);
|
||||
$projekt_phase=(isset($_GET['projekt_phase'])?$_GET['projekt_phase']:null);
|
||||
|
||||
if($projekt_phase != null && (is_numeric($projekt_phase) == false ))
|
||||
die('Ungültige ProjektphasenID');
|
||||
@@ -81,7 +81,7 @@ $ressource = new ressource();
|
||||
if($projekt_kurzbz!=null)
|
||||
$ressource->getProjectRessourcen($projekt_kurzbz);
|
||||
else if($projekt_phase!= null)
|
||||
$ressource->getPhaseRessourcen($projekt_phase);
|
||||
$ressource->getPhaseRessourcen($projekt_phase);
|
||||
|
||||
else
|
||||
$ressource->getAllRessourcen();
|
||||
@@ -171,7 +171,7 @@ function draw_ressource($ressource)
|
||||
else
|
||||
die('Fehler beim Laden der Mitarbeiter-daten');
|
||||
|
||||
$mitarbeiter.="\n\t\t\t<RDF:li resource=\"".$rdf_url.$ressource->ressource_id."\" />";
|
||||
$mitarbeiter.="\n\t\t\t<RDF:li resource=\"".$rdf_url.$ressource->ressource_id.'/'.$ressource->projekt_ressource_id."\" />";
|
||||
$typ ='Mitarbeiter';
|
||||
}
|
||||
// Ressource ist ein Student
|
||||
@@ -229,7 +229,7 @@ function draw_ressource($ressource)
|
||||
}
|
||||
|
||||
echo '
|
||||
<RDF:Description about="'.$rdf_url.$ressource->ressource_id.'" >
|
||||
<RDF:Description about="'.$rdf_url.$ressource->ressource_id.'/'.$ressource->projekt_ressource_id.'" >
|
||||
<RESSOURCE:ressource_id><![CDATA['.$ressource->ressource_id.']]></RESSOURCE:ressource_id>
|
||||
<RESSOURCE:bezeichnung><![CDATA['.$ressource->bezeichnung.']]></RESSOURCE:bezeichnung>
|
||||
<RESSOURCE:typ><![CDATA['.$typ.']]></RESSOURCE:typ>
|
||||
@@ -242,7 +242,7 @@ function draw_ressource($ressource)
|
||||
<RESSOURCE:insertvon><![CDATA['.$ressource->insertvon.']]></RESSOURCE:insertvon>
|
||||
<RESSOURCE:updateamum><![CDATA['.$ressource->updateamum.']]></RESSOURCE:updateamum>
|
||||
<RESSOURCE:updatevon><![CDATA['.$ressource->updatevon.']]></RESSOURCE:updatevon>
|
||||
<RESSOURCE:aufwand><![CDATA['.$ressource->aufwand.']]></RESSOURCE:aufwand>
|
||||
<RESSOURCE:aufwand><![CDATA['.$ressource->aufwand.']]></RESSOURCE:aufwand>
|
||||
<RESSOURCE:funktion_kurzbz><![CDATA['.$ressource->funktion_kurzbz.']]></RESSOURCE:funktion_kurzbz>
|
||||
<RESSOURCE:projekt_ressource_id><![CDATA['.$ressource->projekt_ressource_id.']]></RESSOURCE:projekt_ressource_id>
|
||||
<RESSOURCE:rdf_description><![CDATA['.$RdfDescription.']]></RESSOURCE:rdf_description>
|
||||
|
||||
+50
-36
@@ -156,42 +156,8 @@ foreach($uid_arr as $uid)
|
||||
echo "\t\t<ects_pro_semester><![CDATA[".($studienplan->regelstudiendauer!=0?$studienordnung->ects/$studienplan->regelstudiendauer:0)."]]></ects_pro_semester>";
|
||||
|
||||
echo "\t\t<aktuellesJahr><![CDATA[".date('Y')."]]></aktuellesJahr>";
|
||||
|
||||
echo "\t\t<ausbildungssemester_aktuell><![CDATA[".$prestudent->ausbildungssemester."]]></ausbildungssemester_aktuell>";
|
||||
|
||||
$studiensemester_aktuell = new studiensemester();
|
||||
$studiensemester_aktuell->load($studiensemester);
|
||||
|
||||
echo "\t\t<studiensemester_aktuell><![CDATA[".$studiensemester_aktuell->bezeichnung."]]></studiensemester_aktuell>";
|
||||
|
||||
// check ob Oeh-Beitrag bezahlt wurde
|
||||
$oehbeitrag = $konto->getOehBeitragGesamt($uid, $studiensemester_aktuell->studiensemester_kurzbz);
|
||||
echo "\t\t<oehbeitrag><![CDATA[".str_replace('.', ',', $oehbeitrag)."]]></oehbeitrag>";
|
||||
|
||||
// check ob Quereinsteiger
|
||||
$ausbildungssemester = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->ausbildungssemester:'';
|
||||
echo "\t\t<semesterStudent><![CDATA[".$ausbildungssemester."]]></semesterStudent>";
|
||||
|
||||
$studiensemester_beginn = new studiensemester();
|
||||
$studienbeginn = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->studiensemester_kurzbz:'';
|
||||
$studiensemester_beginn->load($studienbeginn);
|
||||
|
||||
echo "\t\t<studiensemester_beginn><![CDATA[".$studiensemester_beginn->bezeichnung."]]></studiensemester_beginn>";
|
||||
echo "\t\t<studiensemester_beginndatum><![CDATA[".date('d.m.Y',strtotime($studiensemester_beginn->start))."]]></studiensemester_beginndatum>";
|
||||
|
||||
$prestudent->getLastStatus($student->prestudent_id,$studiensemester);
|
||||
$studiensemester_abschluss = new studiensemester();
|
||||
$abschluss = $studiensemester_abschluss->jump($prestudent->studiensemester_kurzbz, $studienplan->regelstudiendauer-$prestudent->ausbildungssemester);
|
||||
$studiensemester_abschluss->load($abschluss);
|
||||
echo "\t\t<voraussichtlichLetztesStudiensemester><![CDATA[".$studiensemester_abschluss->bezeichnung."]]></voraussichtlichLetztesStudiensemester>";
|
||||
echo "\t\t<voraussichtlichLetztesStudiensemester_datum><![CDATA[".date('d.m.Y',strtotime($studiensemester_abschluss->ende))."]]></voraussichtlichLetztesStudiensemester_datum>";
|
||||
|
||||
$studiensemester_endedatum = new studiensemester();
|
||||
$studiensemester_endedatum->load($studiensemester_endedatum->getaktorNext(1));
|
||||
|
||||
echo "\t\t<studiensemester_endedatum><![CDATA[".date('d.m.Y',strtotime($studiensemester_endedatum->ende))."]]></studiensemester_endedatum>";
|
||||
|
||||
$status_aktuell = ($prestudent->getLastStatus($student->prestudent_id,null,null))?$prestudent->status_kurzbz:'';
|
||||
$abbrecher = false;
|
||||
|
||||
switch($status_aktuell)
|
||||
{
|
||||
@@ -209,12 +175,60 @@ foreach($uid_arr as $uid)
|
||||
break;
|
||||
case 'Abbrecher':
|
||||
$studierendenstatus_aktuell = 'AbbrecherIn';
|
||||
$enddatum = date('d.m.Y',strtotime($prestudent->bestaetigtam));
|
||||
$abbrecher = true;
|
||||
break;
|
||||
default:
|
||||
$studierendenstatus_aktuell ='';
|
||||
}
|
||||
echo "\t\t<abbrecher><![CDATA[".($abbrecher?'true':'false')."]]></abbrecher>";
|
||||
|
||||
echo "\t\t<studierendenstatus_aktuell><![CDATA[".$studierendenstatus_aktuell."]]></studierendenstatus_aktuell>\n";
|
||||
echo "\t\t<ausbildungssemester_aktuell><![CDATA[".$prestudent->ausbildungssemester."]]></ausbildungssemester_aktuell>";
|
||||
|
||||
$studiensemester_aktuell = new studiensemester();
|
||||
$studiensemester_aktuell->load($studiensemester);
|
||||
|
||||
echo "\t\t<studiensemester_aktuell><![CDATA[".$studiensemester_aktuell->bezeichnung."]]></studiensemester_aktuell>";
|
||||
|
||||
// check ob Oeh-Beitrag bezahlt wurde
|
||||
$oehbeitrag = $konto->getOehBeitragGesamt($uid, $studiensemester_aktuell->studiensemester_kurzbz);
|
||||
echo "\t\t<oehbeitrag><![CDATA[".str_replace('.', ',', $oehbeitrag)."]]></oehbeitrag>";
|
||||
|
||||
// check ob Quereinsteiger
|
||||
$ausbildungssemester = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->ausbildungssemester:'';
|
||||
echo "\t\t<semesterStudent><![CDATA[".$ausbildungssemester."]]></semesterStudent>";
|
||||
|
||||
$studiensemester_beginn = new studiensemester();
|
||||
$studienbeginn = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->studiensemester_kurzbz:'';
|
||||
$studiensemester_beginn->load($studienbeginn);
|
||||
|
||||
echo "\t\t<studiensemester_beginn><![CDATA[".$studiensemester_beginn->bezeichnung."]]></studiensemester_beginn>";
|
||||
echo "\t\t<studiensemester_beginndatum><![CDATA[".date('d.m.Y',strtotime($studiensemester_beginn->start))."]]></studiensemester_beginndatum>";
|
||||
|
||||
$prestudent->getLastStatus($student->prestudent_id,$studiensemester);
|
||||
$studiensemester_abschluss = new studiensemester();
|
||||
if($abbrecher)
|
||||
$abschluss = $prestudent->studiensemester_kurzbz;
|
||||
else
|
||||
$abschluss = $studiensemester_abschluss->jump($prestudent->studiensemester_kurzbz, $studienplan->regelstudiendauer-$prestudent->ausbildungssemester);
|
||||
$studiensemester_abschluss->load($abschluss);
|
||||
echo "\t\t<voraussichtlichLetztesStudiensemester><![CDATA[".$studiensemester_abschluss->bezeichnung."]]></voraussichtlichLetztesStudiensemester>";
|
||||
|
||||
$studiensemester_endedatum = new studiensemester();
|
||||
$studiensemester_endedatum->load($studiensemester_endedatum->getaktorNext(1));
|
||||
|
||||
$status_aktuell = ($prestudent->getLastStatus($student->prestudent_id,null,null))?$prestudent->status_kurzbz:'';
|
||||
|
||||
$enddatum = date('d.m.Y',strtotime($studiensemester_abschluss->ende));
|
||||
|
||||
echo "\t\t<studiensemester_endedatum><![CDATA[".date('d.m.Y',strtotime($studiensemester_endedatum->ende))."]]></studiensemester_endedatum>";
|
||||
|
||||
if($abbrecher)
|
||||
echo "\t\t<voraussichtlichLetztesStudiensemester_datum><![CDATA[".date('d.m.Y',strtotime($prestudent->datum))."]]></voraussichtlichLetztesStudiensemester_datum>";
|
||||
else
|
||||
echo "\t\t<voraussichtlichLetztesStudiensemester_datum><![CDATA[".$enddatum."]]></voraussichtlichLetztesStudiensemester_datum>";
|
||||
|
||||
echo "\t\t<studierendenstatus_aktuell><![CDATA[".$studierendenstatus_aktuell."]]></studierendenstatus_aktuell>\n";
|
||||
echo "\t\t<datum_reifepruefung><![CDATA[".$prestudent->zgvdatum."]]></datum_reifepruefung>\n";
|
||||
$zgv = new zgv($prestudent->zgv_code);
|
||||
echo "\t\t<schulform_zgv><![CDATA[".$zgv->zgv_kurzbz."]]></schulform_zgv>\n";
|
||||
|
||||
@@ -70,7 +70,7 @@ function saveProjektRessource($username, $passwort, $projektRessource)
|
||||
$ressource->projekt_ressource_id=$projektRessource->projekt_ressource_id;
|
||||
$ressource->projektphase_id=$projektRessource->projektphase_id;
|
||||
$ressource->projekt_kurzbz=$projektRessource->projekt_kurzbz;
|
||||
$ressource->ressource_id = $projektRessource->ressource_id;
|
||||
$ressource->ressource_id = $projektRessource->ressource_id;
|
||||
$ressource->funktion_kurzbz = $projektRessource->funktion_kurzbz;
|
||||
$ressource->beschreibung = $projektRessource->beschreibung;
|
||||
$ressource->aufwand = $projektRessource->aufwand;
|
||||
@@ -105,7 +105,7 @@ function deleteProjektRessource($username, $passwort, $projektRessource)
|
||||
if($projektRessource->projektphase_id != '')
|
||||
{
|
||||
// von Projektphase löschen
|
||||
if($ressource->deleteFromPhase($projektRessource->ressource_id, $projektRessource->projektphase_id))
|
||||
if($ressource->deleteFromPhaseWithProjektRessourceId($projektRessource->ressource_id, $projektRessource->projektphase_id, $projektRessource->projekt_ressource_id))
|
||||
return "Erfolg";
|
||||
else
|
||||
return "Fehler beim Löschen";
|
||||
@@ -113,8 +113,10 @@ function deleteProjektRessource($username, $passwort, $projektRessource)
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
// von Projekt löschen
|
||||
if($ressource->deleteFromProjekt($projektRessource->ressource_id, $projektRessource->projekt_kurzbz))
|
||||
//if($ressource->deleteFromProjekt($projektRessource->ressource_id, $projektRessource->projekt_kurzbz))
|
||||
if($ressource->deleteFromProjektWithProjektRessourceId($projektRessource->ressource_id, $projektRessource->projekt_kurzbz, $projektRessource->projekt_ressource_id))
|
||||
return "Erfolg";
|
||||
else
|
||||
return "Fehler beim Löschen";
|
||||
|
||||
@@ -37,7 +37,7 @@ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
|
||||
<wsdl:message name="DeleteProjektRessourceRequest">
|
||||
<wsdl:part name="username" type="xsd:string" minOccurs="0"></wsdl:part>
|
||||
<wsdl:part name="passwort" type="xsd:string" minOccurs="0"></wsdl:part>
|
||||
<wsdl:part name="projektRessource" type="tns:projektRessource"></wsdl:part>
|
||||
<wsdl:part name="projektRessource" type="xsd:projektRessource"></wsdl:part>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="DeleteProjektRessourceResponse">
|
||||
|
||||
@@ -4807,6 +4807,20 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht
|
||||
}
|
||||
}
|
||||
|
||||
// Add index to system.tbl_log
|
||||
if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_pruefung_student_uid'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "CREATE INDEX idx_tbl_pruefung_student_uid ON lehre.tbl_pruefung USING btree (student_uid)";
|
||||
|
||||
if (! $db->db_query($qry))
|
||||
echo '<strong>Indizes: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'Index fuer lehre.pruefung.student_uid hinzugefuegt<br>';
|
||||
}
|
||||
}
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
|
||||
@@ -7949,6 +7949,26 @@ Any unusual occurrences
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'zukuenftige',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Zukünftige',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'upcoming',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
|
||||
@@ -463,7 +463,17 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle3.1">
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P4">Current Semester of Study</text:p>
|
||||
<xsl:choose>
|
||||
<xsl:when test = "abbrecher='true'">
|
||||
<text:p text:style-name="P4">Semester resigned from Study</text:p>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<text:p text:style-name="P4">Current Semester of Study</text:p>
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P2">
|
||||
@@ -482,7 +492,17 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle3.1">
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P4">Current Semester in Degree Program</text:p>
|
||||
<xsl:choose>
|
||||
<xsl:when test = "abbrecher='true'">
|
||||
<text:p text:style-name="P4">Resignation Semester in Degree Program</text:p>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<text:p text:style-name="P4">Current Semester in Degree Program</text:p>
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P2">
|
||||
@@ -516,6 +536,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</text:span></text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<xsl:if test="abbrecher='false'">
|
||||
<table:table-row table:style-name="Tabelle3.1">
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P4">Expected Final Semester of Study</text:p>
|
||||
@@ -535,9 +556,20 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</text:span></text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:if>
|
||||
<table:table-row table:style-name="Tabelle3.1">
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P4">Expected Date of Graduation</text:p>
|
||||
<xsl:choose>
|
||||
<xsl:when test="abbrecher='true'">
|
||||
<text:p text:style-name="P4">Resignation Date</text:p>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<text:p text:style-name="P4">Expected Date of Graduation</text:p>
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P15"><xsl:value-of select="voraussichtlichLetztesStudiensemester_datum"/></text:p>
|
||||
|
||||
@@ -426,7 +426,16 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle3.1">
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P4">Aktuelles Studiensemester</text:p>
|
||||
<xsl:choose>
|
||||
<xsl:when test = "abbrecher='true'">
|
||||
<text:p text:style-name="P4">Abgemeldet im Studiensemester</text:p>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<text:p text:style-name="P4">Aktuelles Studiensemester</text:p>
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P2">
|
||||
@@ -435,7 +444,17 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle3.1">
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P4">Aktuelles Ausbildungssemester</text:p>
|
||||
<xsl:choose>
|
||||
<xsl:when test = "abbrecher='true'">
|
||||
<text:p text:style-name="P4">Abgemeldet im Ausbildungssemester</text:p>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<text:p text:style-name="P4">Aktuelles Ausbildungssemester</text:p>
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P2">
|
||||
@@ -451,6 +470,9 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:span text:style-name="T4"><xsl:value-of select="studierendenstatus_aktuell"/></text:span></text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
|
||||
<xsl:if test="abbrecher='false'">
|
||||
|
||||
<table:table-row table:style-name="Tabelle3.1">
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P4">Voraussichtlich letztes Studiensemester</text:p>
|
||||
@@ -460,9 +482,20 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:span text:style-name="T4"><xsl:value-of select="voraussichtlichLetztesStudiensemester"/></text:span></text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:if>
|
||||
|
||||
<table:table-row table:style-name="Tabelle3.1">
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P4">Voraussichtliches Abschlussdatum</text:p>
|
||||
<xsl:choose>
|
||||
<xsl:when test="abbrecher='true'">
|
||||
<text:p text:style-name="P4">Abgemeldet am</text:p>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<text:p text:style-name="P4">Voraussichtliches Abschlussdatum</text:p>
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P15"><xsl:value-of select="voraussichtlichLetztesStudiensemester_datum"/></text:p>
|
||||
|
||||
@@ -56,10 +56,10 @@ $datum_obj = new datum();
|
||||
echo '
|
||||
<div style="float: left">
|
||||
<h2><center>',$row->bezeichnung,'</center></h2>
|
||||
<iframe style="width:500px; height:400px" src="../../cis/infoterminal/infoscreen.php?ipadresse=',$row->ipadresse,'"></iframe>
|
||||
<iframe style="width:500px; height:400px" src="../../cis/infoterminal/informationsbildschirm.php?ipadresse=',$row->ipadresse,'"></iframe>
|
||||
</div>';
|
||||
}
|
||||
?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user