/**
  * Show tickets for a project
  *
  * @param $project Project object
  **/
 static function showForProject(Project $project)
 {
     global $DB, $CFG_GLPI;
     $ID = $project->getField('id');
     if (!$project->can($ID, READ)) {
         return false;
     }
     $canedit = $project->canEdit($ID);
     $rand = mt_rand();
     $showentities = Session::isMultiEntitiesMode();
     $query = "SELECT DISTINCT `glpi_changes_projects`.`id` AS linkID,\n                                `glpi_changes`.*\n                FROM `glpi_changes_projects`\n                LEFT JOIN `glpi_changes`\n                     ON (`glpi_changes_projects`.`changes_id` = `glpi_changes`.`id`)\n                WHERE `glpi_changes_projects`.`projects_id` = '{$ID}'\n                ORDER BY `glpi_changes`.`name`";
     $result = $DB->query($query);
     $changes = array();
     $used = array();
     if ($numrows = $DB->numrows($result)) {
         while ($data = $DB->fetch_assoc($result)) {
             $changes[$data['id']] = $data;
             $used[$data['id']] = $data['id'];
         }
     }
     if ($canedit) {
         echo "<div class='firstbloc'>";
         echo "<form name='changeproject_form{$rand}' id='changeproject_form{$rand}' method='post'\n                action='" . Toolbox::getItemTypeFormURL(__CLASS__) . "'>";
         echo "<table class='tab_cadre_fixe'>";
         echo "<tr class='tab_bg_2'><th colspan='2'>" . __('Add a change') . "</th></tr>";
         echo "<tr class='tab_bg_2'><td>";
         echo "<input type='hidden' name='projects_id' value='{$ID}'>";
         Change::dropdown(array('used' => $used, 'entity' => $project->getEntityID(), 'entity_sons' => $project->isRecursive()));
         echo "</td><td class='center'>";
         echo "<input type='submit' name='add' value=\"" . _sx('button', 'Add') . "\" class='submit'>";
         echo "</td></tr></table>";
         Html::closeForm();
         echo "</div>";
     }
     echo "<div class='spaced'>";
     if ($canedit && $numrows) {
         Html::openMassiveActionsForm('mass' . __CLASS__ . $rand);
         $massiveactionparams = array('num_displayed' => $numrows, 'container' => 'mass' . __CLASS__ . $rand);
         Html::showMassiveActions($massiveactionparams);
     }
     echo "<table class='tab_cadre_fixehov table-striped table-hover'>";
     echo "<tr class='noHover'><th colspan='12'>" . Change::getTypeName($numrows) . "</th></tr>";
     if ($numrows) {
         Change::commonListHeader(Search::HTML_OUTPUT, 'mass' . __CLASS__ . $rand);
         Session::initNavigateListItems('Change', sprintf(__('%1$s = %2$s'), Project::getTypeName(1), $project->fields["name"]));
         $i = 0;
         foreach ($changes as $data) {
             Session::addToNavigateListItems('Change', $data["id"]);
             Change::showShort($data['id'], array('row_num' => $i, 'type_for_massiveaction' => __CLASS__, 'id_for_massiveaction' => $data['linkID']));
             $i++;
         }
         Change::commonListHeader(Search::HTML_OUTPUT, 'mass' . __CLASS__ . $rand);
     }
     echo "</table>";
     if ($canedit && $numrows) {
         $massiveactionparams['ontop'] = false;
         Html::showMassiveActions($massiveactionparams);
         Html::closeForm();
     }
     echo "</div>";
 }
Example #2
0
 /**
  * @param $item
  *
  * @return number
  **/
 static function countForProject(Project $item)
 {
     $restrict = "`glpi_projectteams`.`projects_id` = '" . $item->getField('id') . "'";
     return countElementsInTable(array('glpi_projectteams'), $restrict);
 }
 /**
  * @param $item      Project object
  *
  * @return number
  **/
 static function countForProject(Project $item)
 {
     return countElementsInTable(array('glpi_projecttaskteams'), ['glpi_projecttaskteams.projecttasks_id' => $item->getField('id')]);
 }