diff --git a/content/student/studentanrechnungenoverlay.xul.php b/content/student/studentanrechnungenoverlay.xul.php
index db62917cd..089f70aec 100644
--- a/content/student/studentanrechnungenoverlay.xul.php
+++ b/content/student/studentanrechnungenoverlay.xul.php
@@ -79,6 +79,10 @@ echo '';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/anrechnung/rdf#lehrveranstaltung_bez_kompatibel"/>
+
+
@@ -99,6 +103,7 @@ echo '';
+
diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php
index f034ae473..ec61ebc07 100644
--- a/content/student/studentoverlay.js.php
+++ b/content/student/studentoverlay.js.php
@@ -5318,6 +5318,7 @@ function StudentAnrechnungAuswahl()
lehrveranstaltung_id_kompatibel = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehrveranstaltung_id_kompatibel" ));
genehmigt_von = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#genehmigt_von" ));
anzahl_notizen = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anzahl_notizen" ));
+ status = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#status" ));
// Studiengang ermitteln
var tree = document.getElementById('student-tree');
diff --git a/include/anrechnung.class.php b/include/anrechnung.class.php
index 6ab323a96..8700977a0 100644
--- a/include/anrechnung.class.php
+++ b/include/anrechnung.class.php
@@ -243,7 +243,8 @@ class anrechnung extends basis_db
*/
public function delete($anrechnung_id)
{
- $qry = "DELETE FROM lehre.tbl_anrechnung WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id);
+ $qry = "DELETE FROM lehre.tbl_anrechnung_anrechnungstatus WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id). "; ";
+ $qry.= "DELETE FROM lehre.tbl_anrechnung WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id);
if ($this->db_query($qry))
{
@@ -362,4 +363,43 @@ class anrechnung extends basis_db
return false;
}
}
+
+ public function getLastAnrechnungstatus($anrechnung_id)
+ {
+ $sprache = new sprache();
+ $bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
+
+ $qry = '
+ SELECT *, '. $bezeichnung_mehrsprachig. '
+ FROM lehre.tbl_anrechnungstatus
+ JOIN lehre.tbl_anrechnung_anrechnungstatus USING (status_kurzbz)
+ WHERE anrechnung_id = ' . $this->db_add_param($anrechnung_id). '
+ ORDER BY insertamum DESC
+ LIMIT 1
+ ';
+
+ if ($this->db_query($qry))
+ {
+ if ($row = $this->db_fetch_object())
+ {
+ $obj = new stdClass();
+ $obj->anrechnungstatus_id = $row->anrechnungstatus_id;
+ $obj->status_kurzbz = $row->status_kurzbz;
+ $obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
+
+ $this->result[]= $obj;
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Daten konnten nicht geladen werden';
+ return false;
+ }
+ }
+ else
+ {
+ $this->errormsg = 'Daten konnten nicht geladen werden';
+ return false;
+ }
+ }
}
diff --git a/rdf/anrechnung.rdf.php b/rdf/anrechnung.rdf.php
index 5d50c3161..2df9df156 100644
--- a/rdf/anrechnung.rdf.php
+++ b/rdf/anrechnung.rdf.php
@@ -28,10 +28,24 @@ $anrechnung = new anrechnung();
if(is_numeric($anrechnung_id))
{
$anrechnung->getAnrechnung($anrechnung_id);
+
+ // Add last Anrechnungstatus
+ $anrechnungstatus = new Anrechnung();
+ $anrechnungstatus->getLastAnrechnungstatus($anrechnung_id);
+
+ $anrechnung->result[0]->status = $anrechnungstatus->result[0]->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE];
}
elseif(is_numeric($prestudent_id))
{
$anrechnung->getAnrechnungPrestudent($prestudent_id);
+
+ // Add last Anrechnungstatus to each Anrechnung of Prestudent
+ foreach ($anrechnung->result as $row)
+ {
+ $anrechnungstatus = new Anrechnung();
+ $status = $anrechnungstatus->getLastAnrechnungstatus($row->anrechnung_id);
+ $row->status = $anrechnungstatus->result[0]->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE];
+ }
}
else
{
@@ -80,6 +94,7 @@ if(is_array($anrechnung->result))
insertvon.']]>
updateamum.']]>
updatevon.']]>
+ status.']]>
';