コード例 #1
0
ファイル: ViewCompetence.class.php プロジェクト: rolwi/koala
 public function frameResponse(\FrameResponseObject $frameResponseObject)
 {
     $tabBar = new \Widgets\TabBar();
     $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => \Portfolio::getInstance()->getText("Competences"), "link" => $this->getExtension()->getExtensionUrl() . "ViewChart/"), array("name" => \Portfolio::getInstance()->getText("Artefacts"), "link" => $this->getExtension()->getExtensionUrl() . "ManageArtefacts/")));
     $tabBar->setActiveTab(1);
     $breadcrumb = new \Widgets\Breadcrumb();
     $breadcrumb->setData(array(array("name" => \Portfolio::getInstance()->getText("Chart"), "link" => $this->getExtension()->getExtensionUrl() . "ViewChart/"), array("name" => \Portfolio::getInstance()->getText("View Competance"))));
     \CompetenceRaster::initReadCompetences();
     $comptetences = \CompetenceRaster::$competences;
     $collected = \CompetenceRaster::getCollectedCompetences();
     $jobs = \CompetenceRaster::getJobs();
     $activities = \CompetenceRaster::getActivityFields();
     $facets = \CompetenceRaster::getFacets();
     $html = "<br>";
     if ($this->showCollected) {
         $html .= "<h1>Gesammelte Kompetenzen</h1>";
     } else {
         $html .= "<h1>Offene Kompetenzen</h1>";
     }
     foreach ($jobs as $job) {
         if (!($this->job == "" || $this->job == $job->name)) {
             continue;
         }
         $html .= "<h2>" . $job->description . "</h2>";
         $html .= '<table  class="grid">';
         foreach ($activities as $activity) {
             if (!($this->activity == "" || $this->activity == $activity->short)) {
                 continue;
             }
             $html .= "<tr><td colspan=7><h4>" . $activity->name . "</h4></td><tr>";
             foreach ($facets as $facet) {
                 if (!($this->facet == "" || $this->facet == $facet->short)) {
                     continue;
                 }
                 $comptetences = \CompetenceRaster::getCompetences($job->name, $activity->short, $facet->short);
                 foreach ($comptetences as $competence) {
                     $url = "#";
                     $text = "";
                     if (!$this->showCollected && isset($collected[$job->name . $activity->short . $facet->short . $competence->getIndex()])) {
                         continue;
                     } elseif ($this->showCollected && !isset($collected[$job->name . $activity->short . $facet->short . $competence->getIndex()])) {
                         //$artefact = Artefacts::getById($collected[$job->name . $activity->short . $facet->short . $competence->getIndex() . "ID"]);
                         continue;
                     }
                     if ($this->showCollected && isset($collected[$job->name . $activity->short . $facet->short . $competence->getIndex()])) {
                         $artefactId = $collected[$job->name . $activity->short . $facet->short . $competence->getIndex() . "ID"];
                         $text = "Artefakt";
                         $url = \ExtensionMaster::getInstance()->getUrlForObjectId($artefactId, "view");
                     }
                     $checked = isset($collected[$job->name . $activity->short . $facet->short . $competence->getIndex()]) ? "checked=true" : "";
                     $html .= "<tr><td>" . $competence->job . "</td>";
                     $html .= "<td>" . $competence->activity . "</td>";
                     $html .= "<td>" . $competence->facet . "</td>";
                     $html .= "<td >" . $competence->index . "</td>";
                     $html .= "<td>" . $competence->name . "</td>";
                     $html .= "<td>" . "<input type=checkbox disabled=true " . $checked . "</td>";
                     $html .= "<td><a href=\"" . $url . "\">" . $text . "</a></td></tr>";
                 }
             }
         }
         $html .= "</table>";
     }
     $frameResponseObject->setTitle("Competence View");
     $rawHtml = new \Widgets\RawHtml();
     $rawHtml->setHtml($html);
     $frameResponseObject->addWidget($breadcrumb);
     $frameResponseObject->addWidget($tabBar);
     $frameResponseObject->addWidget($rawHtml);
     return $frameResponseObject;
 }
コード例 #2
0
ファイル: ViewChart.class.php プロジェクト: rolwi/koala
    public function frameResponse(\FrameResponseObject $frameResponseObject)
    {
        $breadcrumb = new \Widgets\Breadcrumb();
        $breadcrumb->setData(array(array("name" => \Portfolio::getInstance()->getText("My Competences"))));
        $tabBar = new \Widgets\TabBar();
        $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => \Portfolio::getInstance()->getText("Competences"), "link" => $this->getExtension()->getExtensionUrl() . "ViewChart/"), array("name" => \Portfolio::getInstance()->getText("Artefacts"), "link" => $this->getExtension()->getExtensionUrl() . "ManageArtefacts/")));
        $tabBar->setActiveTab(1);
        $frameResponseObject->addWidget($breadcrumb);
        $frameResponseObject->addWidget($tabBar);
        $jobs = \CompetenceRaster::getJobs();
        $html = '<div align="right"><select id="jobs"><option value="all">Beruf wählen</option><option value="all">Alle</option>';
        foreach ($jobs as $job) {
            $html .= '<option value="' . $job->name . '">' . $job->name . ": " . $job->description . '</option>';
        }
        $html .= <<<END
\t\t</select></div>
\t\t<script>
\t\tfunction filter(){
\t\t\t\$(".chart").hide();
\t\t    job = \$('select[id="jobs"] option:selected').val();
\t\t    if (job == "all"){
\t\t\t\t\$(".chart").fadeIn();
\t\t\t}
\t    \t\$("#div_" + job + "_1").fadeIn();
\t    \t\$('#div_' + job ).fadeIn();
\t\t}
\t\t\$('select[id="jobs"]').change(function() {
\t\t\tfilter();
\t\t});
\t\t</script>
END;
        $rawHtml = new \Widgets\RawHtml();
        $rawHtml->setHtml($html);
        $frameResponseObject->addWidget($rawHtml);
        $arrayArtefactCompetencesCount = \CompetenceRaster::getCollectedCompetences();
        foreach ($this->jobs as $job) {
            //			$urlEventArray = array();
            //			$row = 0;
            $baseUrl = "/portfolio/ViewCompetence/?job=" . $job;
            //
            $jobObject = \CompetenceJob::getJobByName($job);
            //			$jsonChart = array();
            //			$chartWidget = new \Widgets\Chart();
            //			$headerActivitiesArray = array("Aktivitäten");
            //			foreach ($this->activities as $activity){
            //				$headerActivitiesArray []= "Tätigkeitsfeld " . $activity;
            //			}
            //			$jsonChart []= $headerActivitiesArray;
            //			foreach ($this->facets as $facet) {
            //				$facetArray = array($facet);
            //				$column = 0;
            //				foreach ($this->activities as $activity){
            //					$facetArray []= isset($arrayArtefactCompetencesCount[$job . $activity . $facet]) ? $arrayArtefactCompetencesCount[$job . $activity . $facet] : 0;
            //					$urlEventArray [$row][$column]= $baseUrl . "&activity=" . $column . "&facet=" . $facet . "&sc=1";
            //					$column++;
            //				}
            //				$jsonChart []= $facetArray;
            //				$row++;
            //			}
            //
            //			$chartWidget->setData(json_encode($jsonChart));
            //			$chartWidget->setUrlData(json_encode($urlEventArray));
            //			$chartWidget->setDescription($job);
            //			$chartWidget->setVAxisTitle("Facetten");
            //			$chartWidget->setHAxisTitle("Anzahl");
            //			$chartWidget->setId($job);
            //			$chartWidget->setTitle($jobObject->description . " - Absolute Anzahl an Kompetenzen");
            //
            //			$frameResponseObject->addWidget($chartWidget);
            $urlEventArray = array();
            $row = 0;
            $arrayCompetencesQuantity = \CompetenceRaster::getCompetencesQuantity();
            $jsonChart = array();
            $chartWidget = new \Widgets\Chart();
            $headerActivitiesArray = array("Aktivitäten");
            $headerActivitiesArray[] = "IST";
            $headerActivitiesArray[] = "SOLL";
            $jsonChart[] = $headerActivitiesArray;
            foreach ($this->activities as $activity) {
                $activityArray = array($activity);
                $quantityAll = isset($arrayCompetencesQuantity[$job . $activity]) ? $arrayCompetencesQuantity[$job . $activity] : 0;
                $absoluteCredit = isset($arrayArtefactCompetencesCount[$job . $activity]) ? $arrayArtefactCompetencesCount[$job . $activity] : 0;
                $absoluteDebit = $quantityAll - $absoluteCredit;
                $percentCredit = $absoluteDebit == 0 ? 0 : round($absoluteCredit / $quantityAll * 100, 2);
                $percentDebit = $absoluteDebit == 0 ? 0 : -100 + $percentCredit;
                $activityArray[] = $absoluteCredit;
                $activityArray[] = $absoluteDebit;
                $urlEventArray[$row] = array(1 => $baseUrl . "&activity=" . $activity . "&sc=1", 2 => $baseUrl . "&activity=" . $activity . "&sc=0");
                $row++;
                $jsonChart[] = $activityArray;
            }
            $chartWidget->setData(json_encode($jsonChart));
            $chartWidget->setUrlData(json_encode($urlEventArray));
            $chartWidget->setDescription($job);
            $chartWidget->setVAxisTitle("Tätigkeitsfelder");
            $chartWidget->setHAxisTitle("Anzahl erreicht / noch zu erledigen");
            $chartWidget->setId($job);
            $chartWidget->setTitle($jobObject->description . " - Absolut");
            $frameResponseObject->addWidget($chartWidget);
            ######################################
            $urlEventArray1 = array();
            $row = 0;
            $arrayCompetencesQuantity = \CompetenceRaster::getCompetencesQuantity();
            $jsonChart1 = array();
            $chartWidget1 = new \Widgets\Chart();
            $headerActivitiesArray1 = array("Aktivitäten");
            $headerActivitiesArray1[] = "IST";
            $headerActivitiesArray1[] = "SOLL";
            $jsonChart1[] = $headerActivitiesArray1;
            foreach ($this->activities as $activity) {
                $activityArray1 = array($activity);
                $quantityAll = isset($arrayCompetencesQuantity[$job . $activity]) ? $arrayCompetencesQuantity[$job . $activity] : 0;
                $absoluteCredit = isset($arrayArtefactCompetencesCount[$job . $activity]) ? $arrayArtefactCompetencesCount[$job . $activity] : 0;
                $absoluteDebit = $quantityAll - $absoluteCredit;
                $percentCredit = $absoluteDebit == 0 ? 0 : round($absoluteCredit / $quantityAll * 100, 2);
                $percentDebit = $absoluteDebit == 0 ? 0 : -100 + $percentCredit;
                $activityArray1[] = $percentCredit;
                $activityArray1[] = $percentDebit;
                $urlEventArray1[$row] = array(1 => $baseUrl . "&activity=" . $activity . "&sc=1", 2 => $baseUrl . "&activity=" . $activity . "&sc=0");
                $row++;
                $jsonChart1[] = $activityArray1;
            }
            $chartWidget1->setData(json_encode($jsonChart1));
            $chartWidget1->setUrlData(json_encode($urlEventArray1));
            $chartWidget1->setDescription($job);
            $chartWidget1->setVAxisTitle("Tätigkeitsfelder");
            $chartWidget1->setHAxisTitle("Prozent erreicht / noch zu erledigen");
            $chartWidget1->setId($job . "_1");
            $chartWidget1->setTitle($jobObject->description . " - Prozentual");
            $frameResponseObject->addWidget($chartWidget1);
        }
        $rawHtml1 = new \Widgets\RawHtml();
        $rawHtml1->setHtml("<script>\$(\".chart\").fadeOut();\$('#div_CL_1').fadeIn();\$('#div_CL').fadeIn();\n\t\t</script>");
        $frameResponseObject->addWidget($rawHtml1);
        return $frameResponseObject;
    }