showTitle($output_type, $num, PluginResourcesProfession::getTypeName(1) . " - " . __('Begin date'), 'begin_date', true);
 showTitle($output_type, $num, PluginResourcesProfession::getTypeName(1) . " - " . __('End date'), 'end_date', true);
 echo Search::showEndLine($output_type);
 if ($limit) {
     $dataAll = array_slice($dataAll, $start, $limit);
 }
 foreach ($dataAll as $key => $data) {
     $num = 1;
     echo Search::showNewLine($output_type);
     echo Search::showItem($output_type, Dropdown::getDropdownName('glpi_entities', $data['entity']), $num, $key);
     if ($data['typeName'] == 'Resource') {
         $type = PluginResourcesResource::getTypeName(0);
         $link = Toolbox::getItemTypeFormURL("PluginResourcesResource");
     } else {
         if ($data['typeName'] == 'Employment') {
             $type = PluginResourcesEmployment::getTypeName(0);
             $link = Toolbox::getItemTypeFormURL("PluginResourcesEmployment");
         }
     }
     echo Search::showItem($output_type, $type, $num, $key);
     $name = "<a href='" . $link . "?id=" . $data["ID"] . "' target='_blank'>";
     if ($data["name"] == NULL) {
         $name .= "(" . $data["ID"] . ")";
     } else {
         $name .= $data["name"];
     }
     $name .= "</a>";
     echo Search::showItem($output_type, $name, $num, $key);
     echo Search::showItem($output_type, $data['firstname'], $num, $key);
     echo Search::showItem($output_type, $data['registration_number'], $num, $key);
     $link1 = Toolbox::getItemTypeFormURL("PluginResourcesProfession");
Esempio n. 2
0
 function getSearchOptions()
 {
     $tab = array();
     $tab['common'] = self::getTypeName(2);
     $tab[1]['table'] = $this->table;
     $tab[1]['field'] = 'registration_number';
     $tab[1]['name'] = __('Administrative number');
     $tab[1]['datatype'] = 'string';
     $tab[2]['table'] = $this->table;
     $tab[2]['field'] = 'id';
     $tab[2]['name'] = __('ID');
     $tab[2]['massiveaction'] = false;
     $tab[2]['datatype'] = 'number';
     $tab[2]['nosearch'] = true;
     // FROM resources
     $tab[4350]['table'] = 'glpi_plugin_resources_resources';
     $tab[4350]['field'] = 'name';
     $tab[4350]['name'] = __('Name');
     $tab[4350]['datatype'] = 'itemlink';
     $tab[4350]['itemlink_type'] = 'PluginResourcesResource';
     $tab[4351]['table'] = 'glpi_plugin_resources_resources';
     $tab[4351]['field'] = 'firstname';
     $tab[4351]['name'] = __('First name');
     $tab[4352]['table'] = 'glpi_plugin_resources_resources';
     $tab[4352]['field'] = 'quota';
     $tab[4352]['name'] = __('Quota', 'resources');
     $tab[4352]['datatype'] = 'decimal';
     $tab[4353]['table'] = 'glpi_plugin_resources_resourcesituations';
     $tab[4353]['field'] = 'name';
     $tab[4353]['name'] = PluginResourcesResourceSituation::getTypeName(1);
     $tab[4353]['datatype'] = 'dropdown';
     $tab[4354]['table'] = 'glpi_plugin_resources_contractnatures';
     $tab[4354]['field'] = 'name';
     $tab[4354]['name'] = PluginResourcesContractNature::getTypeName(1);
     $tab[4354]['datatype'] = 'dropdown';
     $tab[4355]['table'] = 'glpi_plugin_resources_contracttypes';
     $tab[4355]['field'] = 'name';
     $tab[4355]['name'] = PluginResourcesContractType::getTypeName(1);
     $tab[4355]['datatype'] = 'dropdown';
     $tab[4356]['table'] = 'glpi_plugin_resources_resourcespecialities';
     $tab[4356]['field'] = 'name';
     $tab[4356]['name'] = PluginResourcesResourceSpeciality::getTypeName(1);
     $tab[4356]['datatype'] = 'dropdown';
     $tab[4357]['table'] = 'glpi_plugin_resources_ranks';
     $tab[4357]['field'] = 'name';
     $tab[4357]['name'] = PluginResourcesRank::getTypeName(1);
     $tab[4357]['datatype'] = 'dropdown';
     $tab[4358]['table'] = 'glpi_plugin_resources_professions';
     $tab[4358]['field'] = 'name';
     $tab[4358]['name'] = PluginResourcesProfession::getTypeName(1);
     $tab[4358]['datatype'] = 'dropdown';
     $tab[4359]['table'] = 'glpi_plugin_resources_professionlines';
     $tab[4359]['field'] = 'name';
     $tab[4359]['name'] = PluginResourcesProfessionLine::getTypeName(1);
     $tab[4359]['datatype'] = 'dropdown';
     $tab[4360]['table'] = 'glpi_plugin_resources_professioncategories';
     $tab[4360]['field'] = 'name';
     $tab[4360]['name'] = PluginResourcesProfessionCategory::getTypeName(1);
     $tab[4360]['datatype'] = 'dropdown';
     $tab[4376]['table'] = 'glpi_plugin_resources_resources';
     $tab[4376]['field'] = 'date_begin';
     $tab[4376]['name'] = __('Arrival date', 'resources');
     $tab[4376]['datatype'] = 'date';
     $tab[4377]['table'] = 'glpi_plugin_resources_resources';
     $tab[4377]['field'] = 'date_end';
     $tab[4377]['name'] = __('Departure date', 'resources');
     $tab[4377]['datatype'] = 'date';
     // FROM employment
     $tab[4361]['table'] = 'glpi_plugin_resources_employments';
     $tab[4361]['field'] = 'name';
     $tab[4361]['name'] = __('Name') . " - " . PluginResourcesEmployment::getTypeName(1);
     $tab[4361]['forcegroupby'] = true;
     $tab[4362]['table'] = 'glpi_plugin_resources_employments';
     $tab[4362]['field'] = 'ratio_employment_budget';
     $tab[4362]['name'] = __('Ratio Employment / Budget', 'resources');
     $tab[4362]['datatype'] = 'decimal';
     $tab[4363]['table'] = 'glpi_plugin_resources_employmentranks';
     $tab[4363]['field'] = 'name';
     $tab[4363]['name'] = PluginResourcesEmployment::getTypeName(1) . " - " . PluginResourcesRank::getTypeName(1);
     $tab[4363]['datatype'] = 'dropdown';
     $tab[4364]['table'] = 'glpi_plugin_resources_employmentprofessions';
     $tab[4364]['field'] = 'name';
     $tab[4364]['name'] = PluginResourcesEmployment::getTypeName(1) . " - " . PluginResourcesProfession::getTypeName(1);
     $tab[4364]['datatype'] = 'dropdown';
     $tab[4365]['table'] = 'glpi_plugin_resources_employmentprofessionlines';
     $tab[4365]['field'] = 'name';
     $tab[4365]['name'] = PluginResourcesEmployment::getTypeName(1) . " - " . PluginResourcesProfessionLine::getTypeName(1);
     $tab[4365]['datatype'] = 'dropdown';
     $tab[4366]['table'] = 'glpi_plugin_resources_employmentprofessioncategories';
     $tab[4366]['field'] = 'name';
     $tab[4366]['name'] = PluginResourcesEmployment::getTypeName(1) . " - " . PluginResourcesProfessionCategory::getTypeName(1);
     $tab[4366]['datatype'] = 'dropdown';
     $tab[4367]['table'] = 'glpi_plugin_resources_employments';
     $tab[4367]['field'] = 'begin_date';
     $tab[4367]['name'] = __('Begin date');
     $tab[4367]['datatype'] = 'date';
     $tab[4368]['table'] = 'glpi_plugin_resources_employments';
     $tab[4368]['field'] = 'end_date';
     $tab[4368]['name'] = __('End date');
     $tab[4368]['datatype'] = 'date';
     $tab[4369]['table'] = 'glpi_plugin_resources_employmentstates';
     $tab[4369]['field'] = 'name';
     $tab[4369]['name'] = PluginResourcesEmploymentState::getTypeName(1);
     $tab[4369]['datatype'] = 'dropdown';
     //From employer
     $tab[4370]['table'] = 'glpi_plugin_resources_employers';
     $tab[4370]['field'] = 'completename';
     $tab[4370]['name'] = PluginResourcesEmployer::getTypeName(1);
     $tab[4370]['datatype'] = 'dropdown';
     $tab[4371]['table'] = 'glpi_locations';
     $tab[4371]['field'] = 'completename';
     $tab[4371]['name'] = __('Employer address', 'resources');
     $tab[4371]['datatype'] = 'dropdown';
     $tab[4372]['table'] = 'glpi_plugin_resources_employmentranks';
     $tab[4372]['field'] = 'id';
     $tab[4372]['name'] = PluginResourcesEmployment::getTypeName(1) . " - " . PluginResourcesRank::getTypeName(1) . " - " . __('ID');
     $tab[4373]['table'] = 'glpi_plugin_resources_employmentprofessions';
     $tab[4373]['field'] = 'id';
     $tab[4373]['name'] = PluginResourcesEmployment::getTypeName(1) . " - " . PluginResourcesProfession::getTypeName(1) . " - " . __('ID');
     $tab[4374]['table'] = 'glpi_plugin_resources_ranks';
     $tab[4374]['field'] = 'id';
     $tab[4374]['name'] = PluginResourcesResource::getTypeName(1) . " - " . PluginResourcesRank::getTypeName(1) . " - " . __('ID');
     $tab[4375]['table'] = 'glpi_plugin_resources_professions';
     $tab[4375]['field'] = 'id';
     $tab[4375]['name'] = PluginResourcesResource::getTypeName(1) . " - " . PluginResourcesProfession::getTypeName(1) . " - " . __('ID');
     return $tab;
 }
This file is part of Resources.

Resources is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

Resources is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Resources. If not, see <http://www.gnu.org/licenses/>.
--------------------------------------------------------------------------
*/
//Options for GLPI 0.71 and newer : need slave db to access the report
$USEDBREPLICATE = 1;
$DBCONNECTION_REQUIRED = 1;
include "../../../../inc/includes.php";
// Instantiate Report with Name
$titre = $LANG['plugin_resources']['resourceemploymentdiff'];
$report = new PluginReportsAutoReport($titre);
// Columns title (optional)
$report->setColumns(array(new PluginReportsColumn('registration_number', __('Administrative number'), array('sorton' => 'registration_number')), new PluginReportsColumnLink('resource_id', __('Name'), 'PluginResourcesResource', array('sorton' => 'resource_name')), new PluginReportsColumn('firstname', __('First name'), array('sorton' => 'firstname')), new PluginReportsColumnInteger('quota', __('Quota', 'resources'), array('sorton' => 'quota')), new PluginReportsColumn('resource_rank', __('Resource', 'resources') . " - " . PluginResourcesRank::getTypeName(1), array('sorton' => 'resource_rank')), new PluginReportsColumn('resource_profession', __('Resource', 'resources') . " - " . PluginResourcesProfession::getTypeName(1), array('sorton' => 'resource_profession')), new PluginReportsColumn('resource_professionline', __('Resource', 'resources') . " - " . PluginResourcesProfessionLine::getTypeName(1), array('sorton' => 'resource_professionline')), new PluginReportsColumn('resource_professioncategory', __('Resource', 'resources') . " - " . PluginResourcesProfessionCategory::getTypeName(1), array('sorton' => 'resource_professioncategory')), new PluginReportsColumnLink('employment_id', __('Name') . " - " . PluginResourcesEmployment::getTypeName(1), 'PluginResourcesEmployment', array('sorton' => 'employment_name')), new PluginReportsColumnFloat('ratio_employment_budget', __('Ratio Employment / Budget', 'resources'), array('sorton' => 'ratio_employment_budget')), new PluginReportsColumn('employment_rank', PluginResourcesEmployment::getTypeName(1) . " - " . PluginResourcesRank::getTypeName(1), array('sorton' => 'employment_rank')), new PluginReportsColumn('employment_profession', PluginResourcesEmployment::getTypeName(1) . " - " . PluginResourcesProfession::getTypeName(1), array('sorton' => 'employment_profession')), new PluginReportsColumn('employment_professionline', PluginResourcesEmployment::getTypeName(1) . " - " . PluginResourcesProfessionLine::getTypeName(1), array('sorton' => 'employment_professionline')), new PluginReportsColumn('employment_professioncategory', PluginResourcesEmployment::getTypeName(1) . " - " . PluginResourcesProfessionCategory::getTypeName(1), array('sorton' => 'employment_professioncategory')), new PluginReportsColumnDate('begin_date', __('Begin date'), array('sorton' => 'begin_date')), new PluginReportsColumnDate('end_date', __('End date'), array('sorton' => 'end_date')), new PluginReportsColumn('employment_state', PluginResourcesEmploymentState::getTypeName(1), array('sorton' => 'employment_state')), new PluginReportsColumn('employer_name', __('Name') . " - " . PluginResourcesEmployer::getTypeName(1), array('sorton' => 'employer_name'))));
// SQL statement
$condition = getEntitiesRestrictRequest(' AND ', "glpi_plugin_resources_employments", '', '', false);
//display only resource which have rank and profession not equal to employment rank or profession
$query = "SELECT `glpi_users`.`registration_number`,\n                          `glpi_users`.`id` as user_id,\n                          `glpi_plugin_resources_resources`.`id` as resource_id,\n                          `glpi_plugin_resources_resources`.`name` as resource_name,\n                          `glpi_plugin_resources_resources`.`firstname`,\n                          `glpi_plugin_resources_resources`.`quota`,\n                          `glpi_plugin_resources_ranks`.`name` AS resource_rank,\n                          `glpi_plugin_resources_professions`.`name` AS resource_profession,\n                          `glpi_plugin_resources_professionlines`.`name` AS resource_professionline,\n                          `glpi_plugin_resources_professioncategories`.`name` AS resource_professioncategory,\n                          `glpi_plugin_resources_employments`.`name` AS employment_name,\n                          `glpi_plugin_resources_employments`.`id` AS employment_id,\n                          `glpi_plugin_resources_employments`.`ratio_employment_budget`,\n                          `glpi_plugin_resources_employmentranks`.`name` AS employment_rank,\n                          `glpi_plugin_resources_employmentprofessions`.`name` AS employment_profession,\n                          `glpi_plugin_resources_employmentprofessionlines`.`name` AS employment_professionline,\n                          `glpi_plugin_resources_employmentprofessioncategories`.`name` AS employment_professioncategory,\n                          `glpi_plugin_resources_employments`.`begin_date`,\n                          `glpi_plugin_resources_employments`.`end_date`,\n                          `glpi_plugin_resources_employmentstates`.`name` AS employment_state,\n                          `glpi_plugin_resources_employers`.`name` AS employer_name\n                   FROM `glpi_users`\n                      LEFT JOIN `glpi_plugin_resources_resources_items`\n                        ON (`glpi_users`.`id` = `glpi_plugin_resources_resources_items`.`items_id`\n                                AND `glpi_plugin_resources_resources_items`.`itemtype`= 'User')\n                      LEFT JOIN `glpi_plugin_resources_resources`\n                        ON (`glpi_plugin_resources_resources`.`id` = `glpi_plugin_resources_resources_items`.`plugin_resources_resources_id`)\n                      LEFT JOIN `glpi_plugin_resources_employments`\n                        ON (`glpi_plugin_resources_resources`.`id` = `glpi_plugin_resources_employments`.`plugin_resources_resources_id` )\n                      LEFT JOIN `glpi_plugin_resources_ranks`\n                        ON (`glpi_plugin_resources_resources`.`plugin_resources_ranks_id` = `glpi_plugin_resources_ranks`.`id`)\n                      LEFT JOIN `glpi_plugin_resources_professions`\n                        ON (`glpi_plugin_resources_ranks`.`plugin_resources_professions_id` = `glpi_plugin_resources_professions`.`id`)\n                      LEFT JOIN `glpi_plugin_resources_professions` AS `glpi_plugin_resources_employmentprofessions`\n                        ON (`glpi_plugin_resources_employments`.`plugin_resources_professions_id` = `glpi_plugin_resources_employmentprofessions`.`id`)\n                      LEFT JOIN `glpi_plugin_resources_employers`\n                        ON (`glpi_plugin_resources_employments`.`plugin_resources_employers_id` = `glpi_plugin_resources_employers`.`id`)\n                      LEFT JOIN `glpi_plugin_resources_professionlines`\n                        ON (`glpi_plugin_resources_professions`.`plugin_resources_professionlines_id` = `glpi_plugin_resources_professionlines`.`id`)\n                      LEFT JOIN `glpi_plugin_resources_professioncategories`\n                        ON (`glpi_plugin_resources_professions`.`plugin_resources_professioncategories_id` = `glpi_plugin_resources_professioncategories`.`id`)\n                      LEFT JOIN `glpi_plugin_resources_ranks` AS `glpi_plugin_resources_employmentranks`\n                        ON (`glpi_plugin_resources_employments`.`plugin_resources_ranks_id` = `glpi_plugin_resources_employmentranks`.`id`)\n                      LEFT JOIN `glpi_plugin_resources_professionlines` AS `glpi_plugin_resources_employmentprofessionlines`\n                        ON (`glpi_plugin_resources_employmentprofessions`.`plugin_resources_professionlines_id` = `glpi_plugin_resources_employmentprofessionlines`.`id`)\n                      LEFT JOIN `glpi_plugin_resources_professioncategories` AS `glpi_plugin_resources_employmentprofessioncategories`\n                        ON (`glpi_plugin_resources_employmentprofessions`.`plugin_resources_professioncategories_id` = `glpi_plugin_resources_employmentprofessioncategories`.`id`)\n                      LEFT JOIN `glpi_plugin_resources_employmentstates`\n                        ON (`glpi_plugin_resources_employments`.`plugin_resources_employmentstates_id` = `glpi_plugin_resources_employmentstates`.`id`)\n                   WHERE (`glpi_plugin_resources_resources`.`is_leaving` = 0\n                          AND `glpi_users`.`is_active` = 1\n                          AND `glpi_plugin_resources_employments`.`plugin_resources_resources_id` <> 0\n                          AND `glpi_plugin_resources_resources`.`is_deleted` = '0'\n                          AND `glpi_plugin_resources_resources`.`is_template` = '0'\n                          " . $condition . " )\n                   GROUP BY `glpi_plugin_resources_employments`.`id`, `glpi_users`.`id`\n                   HAVING (resource_profession <> employment_profession\n                                 OR resource_rank <> employment_rank)" . $report->getOrderBy('registration_number');
$report->setSqlRequest($query);
$report->execute();
Esempio n. 4
0
 function showForm($ID, $options = array())
 {
     if (!Session::haveRight("profile", "r")) {
         return false;
     }
     $prof = new Profile();
     if ($ID) {
         $this->getFromDBByProfile($ID);
         $prof->getFromDB($ID);
     }
     $this->showFormHeader($options);
     echo "<tr class='tab_bg_2'>";
     echo "<th colspan='4'>" . sprintf(__('%1$s - %2$s'), __('Rights management', 'resources'), $prof->fields["name"]) . "</th>";
     echo "</tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td>" . PluginResourcesResource::getTypeName(2) . "</td><td>";
     Profile::dropdownNoneReadWrite("resources", $this->fields["resources"], 1, 1, 1);
     echo "</td>";
     echo "<td>" . PluginResourcesTask::getTypeName(2) . "</td><td>";
     if ($prof->fields['interface'] != 'helpdesk') {
         Profile::dropdownNoneReadWrite("task", $this->fields["task"], 1, 1, 1);
     } else {
         _e('No access');
         // No access;
     }
     echo "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td>" . PluginResourcesChecklist::getTypeName(2) . "</td><td>";
     if ($prof->fields['interface'] != 'helpdesk') {
         Profile::dropdownNoneReadWrite("checklist", $this->fields["checklist"], 1, 1, 1);
     } else {
         _e('No access');
         // No access;
     }
     echo "</td>";
     echo "<td>" . PluginResourcesEmployee::getTypeName(2) . "</td><td>";
     Profile::dropdownNoneReadWrite("employee", $this->fields["employee"], 1, 1, 1);
     echo "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td>" . __('All resources access', 'resources') . "</td><td>";
     Profile::dropdownNoneReadWrite("all", $this->fields["all"], 1, 0, 1);
     echo "</td>";
     echo "<td>" . __('Associable items to a ticket') . " - " . PluginResourcesResource::getTypeName(2) . "</td><td>";
     if ($prof->fields['create_ticket']) {
         Dropdown::showYesNo("open_ticket", $this->fields["open_ticket"]);
     } else {
         echo Dropdown::getYesNo(0);
     }
     echo "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<th colspan='4' class='center b'>" . __('Service company management', 'resources') . "</th>";
     echo "</tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td>" . PluginResourcesResourceResting::getTypeName(2) . "</td><td>";
     Profile::dropdownNoneReadWrite("resting", $this->fields["resting"], 1, 0, 1);
     echo "</td>";
     echo "<td>" . PluginResourcesResourceHoliday::getTypeName(2) . "</td><td>";
     Profile::dropdownNoneReadWrite("holiday", $this->fields["holiday"], 1, 0, 1);
     echo "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<th colspan='4' class='center b'>" . __('Public service management', 'resources') . "</th>";
     echo "</tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td>" . PluginResourcesEmployment::getTypeName(2) . "</td><td>";
     Profile::dropdownNoneReadWrite("employment", $this->fields["employment"], 1, 1, 1);
     echo "</td>";
     echo "<td>" . PluginResourcesBudget::getTypeName(2) . ":</td><td>";
     Profile::dropdownNoneReadWrite("budget", $this->fields["budget"], 1, 1, 1);
     echo "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td>" . __('Dropdown management', 'resources') . "</td><td>";
     Profile::dropdownNoneReadWrite("dropdown_public", $this->fields["dropdown_public"], 1, 1, 1);
     echo "</td><td></td><td></td>";
     echo "</tr>";
     echo "<input type='hidden' name='id' value=" . $this->fields["id"] . ">";
     $options['candel'] = false;
     $this->showFormButtons($options);
 }