Пример #1
0
 public static function showOrderSupplierInfos($ID)
 {
     //TODO : en cours
     global $DB;
     $order = new PluginOrderOrder();
     $order->getFromDB($ID);
     $suppliers_id = $order->fields["suppliers_id"];
     Session::initNavigateListItems(__CLASS__, __("Order", "order") . " = " . $order->fields["name"]);
     $candelete = $order->can($ID, UPDATE);
     $rand = mt_rand();
     $link = Toolbox::getItemTypeFormURL(__CLASS__);
     echo "<form method='post' name='show_supplierinfos{$rand}' id='show_supplierinfos{$rand}' " . "action=\"" . $link . "\">";
     echo "<div class='center'>";
     echo "<input type='hidden' name='plugin_order_orders_id' value='" . $ID . "'>";
     $table = getTableForItemType(__CLASS__);
     $nb_elements = countElementsInTable($table, "`plugin_order_orders_id` = '{$ID}'");
     if ($nb_elements > 0) {
         echo "<table class='tab_cadre_fixe'>";
         echo "<tr><th colspan='4'>" . __("Supplier Detail", "order") . "</th></tr>";
         echo "<tr>";
         echo "<th>&nbsp;</th>";
         echo "<th>" . __("Supplier") . "</th>";
         echo "<th>" . __("Quote number", "order") . "</th>";
         echo "<th>" . __("Order number") . "</th>";
         echo "</tr>";
         $datas = getAllDatasFromTable($table, "`plugin_order_orders_id` = '{$ID}'");
         foreach ($datas as $data) {
             Session::addToNavigateListItems(__CLASS__, $data['id']);
             echo "<input type='hidden' name='item[" . $data["id"] . "]' value='" . $ID . "'>";
             echo "<tr class='tab_bg_1 center'>";
             echo "<td>";
             if ($candelete) {
                 echo "<input type='checkbox' name='check[" . $data["id"] . "]'";
                 if (isset($_POST['check']) && $_POST['check'] == 'all') {
                     echo " checked ";
                 }
                 echo ">";
             }
             echo "</td>";
             echo "<td><a href='" . $link . "?id=" . $data["id"] . "&plugin_order_orders_id=" . $ID . "'>" . Dropdown::getDropdownName("glpi_suppliers", $data["suppliers_id"]) . "</a></td>";
             echo "<td>" . $data["num_quote"] . "</td>";
             echo "<td>" . $data["num_order"] . "</td>";
             echo "</tr>";
         }
         echo "</table></div>";
         if ($candelete) {
             Html::openArrowMassives("show_supplierinfos{$rand}", true);
             Html::closeArrowMassives(array('delete' => __("Delete permanently")));
         }
     }
     Html::closeForm();
 }
Пример #2
0
 public static function updateDelivryStatus($orders_id)
 {
     global $DB;
     $config = PluginOrderConfig::getConfig();
     $order = new PluginOrderOrder();
     $order->getFromDB($orders_id);
     $query = "SELECT `states_id`\n                FROM `glpi_plugin_order_orders_items`\n                WHERE `plugin_order_orders_id` = '{$orders_id}'";
     $result = $DB->query($query);
     $number = $DB->numrows($result);
     $delivery_status = 0;
     $is_delivered = 1;
     //Except order to be totally delivered
     if ($number) {
         while ($data = $DB->fetch_array($result)) {
             if ($data["states_id"] == PluginOrderOrder::ORDER_DEVICE_DELIVRED) {
                 $delivery_status = 1;
             } else {
                 $is_delivered = 0;
             }
         }
     }
     //Are all items delivered ?
     if ($is_delivered && !$order->isDelivered()) {
         $order->updateOrderStatus($orders_id, $config->getDeliveredState());
         //At least one item is delivered
     } else {
         if ($delivery_status) {
             $order->updateOrderStatus($orders_id, $config->getPartiallyDeliveredState());
         }
     }
 }
Пример #3
0
 public function showOrders($ref)
 {
     global $DB;
     $order = new PluginOrderOrder();
     $query = "SELECT `glpi_plugin_order_orders_items`.*\n                FROM `glpi_plugin_order_orders_items`\n                LEFT JOIN `glpi_plugin_order_references`\n                   ON (`glpi_plugin_order_references`.`id` = `glpi_plugin_order_orders_items`.`plugin_order_references_id`)\n                WHERE `plugin_order_references_id` = '" . $ref->getID() . "'";
     $query .= getEntitiesRestrictRequest(" AND ", "glpi_plugin_order_references", "entities_id", $ref->fields["entities_id"], true);
     $query .= " GROUP BY `glpi_plugin_order_orders_items`.`plugin_order_orders_id`\n               ORDER BY `entities_id`, `name` ";
     $result = $DB->query($query);
     $nb = $DB->numrows($result);
     echo "<div class='center'>";
     if ($nb) {
         if (isset($_REQUEST["start"])) {
             $start = $_REQUEST["start"];
         } else {
             $start = 0;
         }
         $query_limit = $query . " LIMIT " . intval($start) . "," . intval($_SESSION['glpilist_limit']);
         Html::printAjaxPager(__("Linked orders", "order"), $start, $nb);
         echo "<table class='tab_cadre_fixe'>";
         echo "<tr>";
         echo "<th>" . __("Name") . "</a></th>";
         echo "<th>" . __("Entity") . "</th>";
         echo "</tr>";
         foreach ($DB->request($query_limit) as $data) {
             echo "<tr class='tab_bg_1' align='center'>";
             echo "<td>";
             $order->getFromDB($data['plugin_order_orders_id']);
             echo $order->getLink(PluginOrderOrder::canView());
             echo "</td>";
             echo "<td>";
             echo Dropdown::getDropdownName("glpi_entities", $order->fields["entities_id"]);
             echo "</td>";
             echo "</tr>";
         }
         echo "</table>";
     } else {
         echo "<table class='tab_cadre_fixe'>";
         echo "<tr class='tab_bg_1'><td class='center'>" . __("No item to display") . "</td></tr>";
         echo "</table>";
     }
     echo "</div>";
 }
Пример #4
0
     }
     Html::redirect($_SERVER['HTTP_REFERER']);
 } else {
     if (isset($_POST["undovalidation"])) {
         if (pluginOrderOrder::canView() && pluginOrderOrder::canUndo()) {
             $pluginOrderOrder->updateOrderStatus($_POST["id"], $config->getDraftState(), $_POST["comment"]);
             Session::addMessageAfterRedirect(__("Order currently edited", "order"));
         }
         Html::redirect($_SERVER['HTTP_REFERER']);
     } else {
         if (isset($_POST["add_item"])) {
             //Details management
             if ($_POST["discount"] < 0 || $_POST["discount"] > 100) {
                 Session::addMessageAfterRedirect(__("The discount pourcentage must be between 0 and 100", "order"), false, ERROR);
             } else {
                 $pluginOrderOrder->getFromDB($_POST["plugin_order_orders_id"]);
                 $new_value = __("Add reference", "order") . " ";
                 $new_value .= Dropdown::getDropdownName("glpi_plugin_order_references", $_POST["plugin_order_references_id"]);
                 $new_value .= " (" . __("Quantity", "order") . " : " . $_POST["quantity"];
                 $new_value .= " " . __("Discount (%)", "order") . " : " . $_POST["discount"] . ")";
                 $pluginOrderOrder->addHistory("PluginOrderOrder", "", $new_value, $_POST["plugin_order_orders_id"]);
                 $pluginOrderOrder_Item->addDetails($_POST["plugin_order_references_id"], $_POST["itemtype"], $_POST["plugin_order_orders_id"], $_POST["quantity"], $_POST["price"], $_POST["discount"], $_POST["plugin_order_ordertaxes_id"]);
             }
             Html::redirect($_SERVER['HTTP_REFERER']);
         } else {
             if (isset($_POST["delete_item"])) {
                 if (isset($_POST["plugin_order_orders_id"]) && $_POST["plugin_order_orders_id"] > 0 && isset($_POST["item"])) {
                     foreach ($_POST["item"] as $ID => $val) {
                         if ($val == 1) {
                             $pluginOrderOrder_Item->getFromDB($ID);
                             if ($pluginOrderOrder_Item->fields["itemtype"] == 'SoftwareLicense') {
Пример #5
0
 public static function showOrdersItems(PluginOrderBill $bill)
 {
     global $DB, $CFG_GLPI;
     $reference = new PluginOrderReference();
     $order = new PluginOrderOrder();
     $order->getFromDB($bill->fields['plugin_order_orders_id']);
     //Can write orders, and order is not already paid
     $canedit = $order->can($order->getID(), UPDATE) && !$order->isPaid() && !$order->isCanceled();
     $query_ref = "SELECT `glpi_plugin_order_orders_items`.`id` AS IDD, " . "`glpi_plugin_order_orders_items`.`plugin_order_references_id` AS id, " . "`glpi_plugin_order_references`.`name`, " . "`glpi_plugin_order_references`.`itemtype`, " . "`glpi_plugin_order_references`.`manufacturers_id` " . "FROM `glpi_plugin_order_orders_items`, `glpi_plugin_order_references` " . "WHERE `plugin_order_orders_id` = '" . $order->getID() . "' " . "AND `glpi_plugin_order_orders_items`.`plugin_order_references_id` = `glpi_plugin_order_references`.`id` " . "GROUP BY `glpi_plugin_order_orders_items`.`plugin_order_references_id` " . "ORDER BY `glpi_plugin_order_references`.`name`";
     $result_ref = $DB->query($query_ref);
     while ($data_ref = $DB->fetch_array($result_ref)) {
         echo "<div class='center'><table class='tab_cadre_fixe'>";
         if (!$DB->numrows($result_ref)) {
             echo "<tr><th>" . __("No item to take delivery of", "order") . "</th></tr></table></div>";
         } else {
             $order_item = new PluginOrderOrder_Item();
             $rand = mt_rand();
             $itemtype = $data_ref["itemtype"];
             $item = new $itemtype();
             echo "<tr><th><ul><li>";
             echo "<a href=\"javascript:showHideDiv('generation{$rand}','generation_img{$rand}', '" . $CFG_GLPI['root_doc'] . "/pics/plus.png','" . $CFG_GLPI['root_doc'] . "/pics/moins.png');\">";
             echo "<img alt='' name='generation_img{$rand}' src=\"" . $CFG_GLPI['root_doc'] . "/pics/plus.png\">";
             echo "</a>";
             echo "</li></ul></th>";
             echo "<th>" . __("Type") . "</th>";
             echo "<th>" . __("Manufacturer") . "</th>";
             echo "<th>" . __("Product reference", "order") . "</th>";
             echo "</tr>";
             echo "<tr class='tab_bg_1 center'>";
             echo "<td></td>";
             echo "<td align='center'>" . $item->getTypeName() . "</td>";
             //Entity
             echo "<td align='center'>";
             echo Dropdown::getDropdownName('glpi_entities', $order->getEntityID());
             echo "</td>";
             echo "<td>" . $reference->getReceptionReferenceLink($data_ref) . "</td>";
             echo "</tr></table>";
             echo "<div class='center' id='generation{$rand}' style='display:none'>";
             echo "<form method='post' name='bills_form{$rand}' id='bills_form{$rand}'\n                     action='" . Toolbox::getItemTypeFormURL('PluginOrderBill') . "'>";
             echo "<input type='hidden' name='plugin_order_orders_id' value='" . $order->getID() . "'>";
             echo "<table class='tab_cadre_fixe'>";
             echo "<th></th>";
             echo "<th>" . __("Reference") . "</th>";
             echo "<th>" . __("Type") . "</th>";
             echo "<th>" . __("Model") . "</th>";
             echo "<th>" . __("Bill", "order") . "</th>";
             echo "<th>" . __("Bill status", "order") . "</th>";
             echo "</tr>";
             $results = $order_item->queryBills($order->getID(), $data_ref['id']);
             while ($data = $DB->fetch_array($results)) {
                 echo "<tr class='tab_bg_1'>";
                 if ($canedit) {
                     echo "<td width='10'>";
                     $sel = "";
                     if (isset($_GET["select"]) && $_GET["select"] == "all") {
                         $sel = "checked";
                     }
                     echo "<input type='checkbox' name='item[" . $data["IDD"] . "]' value='1' {$sel}>";
                     echo "<input type='hidden' name='plugin_order_orders_id' value='" . $order->getID() . "'>";
                     echo "</td>";
                 }
                 //Reference
                 echo "<td align='center'>";
                 echo $reference->getReceptionReferenceLink($data);
                 echo "</td>";
                 //Type
                 echo "<td align='center'>";
                 if (file_exists($CFG_GLPI['root_doc'] . "/inc/" . strtolower($data["itemtype"]) . "type.class.php")) {
                     echo Dropdown::getDropdownName(getTableForItemType($data["itemtype"] . "Type"), $data["types_id"]);
                 }
                 echo "</td>";
                 //Model
                 echo "<td align='center'>";
                 if (file_exists($CFG_GLPI['root_doc'] . "/inc/" . strtolower($data["itemtype"]) . "model.class.php")) {
                     echo Dropdown::getDropdownName(getTableForItemType($data["itemtype"] . "Model"), $data["models_id"]);
                 }
                 $bill = new PluginOrderBill();
                 echo "<td align='center'>";
                 if ($data["plugin_order_bills_id"] > 0) {
                     if ($bill->can($data['plugin_order_bills_id'], READ)) {
                         echo "<a href='" . $bill->getLinkURL() . "'>" . $bill->getName(true) . "</a>";
                     } else {
                         echo $bill->getName();
                     }
                 }
                 echo "</td>";
                 echo "<td align='center'>";
                 echo Dropdown::getDropdownName(getTableForItemType('PluginOrderBillState'), $data['plugin_order_billstates_id']);
                 echo "</td>";
                 echo "</tr>";
             }
         }
         echo "</table>";
         if ($canedit) {
             echo "<div class='center'>";
             echo "<table width='950px' class='tab_glpi'>";
             echo "<tr><td><img src=\"" . $CFG_GLPI["root_doc"] . "/pics/arrow-left.png\" alt=''></td><td class='center'>";
             echo "<a onclick= \"if ( markCheckboxes('bills_form{$rand}') ) " . "return false;\" href='#'>" . __("Check all") . "</a></td>";
             echo "<td>/</td><td class='center'>";
             echo "<a onclick= \"if ( unMarkCheckboxes('bills_form{$rand}') ) " . "return false;\" href='#'>" . __("Uncheck all") . "</a>";
             echo "</td><td align='left' width='80%'>";
             echo "<input type='hidden' name='plugin_order_orders_id' value='" . $order->getID() . "'>";
             $order_item->dropdownBillItemsActions($order->getID());
             echo "</td>";
             echo "</table>";
             echo "</div>";
         }
         Html::closeForm();
         echo "</div>";
     }
     echo "<br>";
 }
Пример #6
0
 public function showForm($ID, $options = array())
 {
     $this->initForm($ID, $options);
     $this->showFormHeader($options);
     $order_order = new PluginOrderOrder();
     $order_order->getFromDB($this->fields['plugin_order_orders_id']);
     $order_reference = new PluginOrderReference();
     $order_reference->getFromDB($this->fields["plugin_order_references_id"]);
     $canedit = $order_order->can($this->fields['plugin_order_orders_id'], UPDATE) && $order_order->canUpdateOrder() && !$order_order->isCanceled();
     $canedit_comment = $order_order->can($this->fields['plugin_order_orders_id'], UPDATE) && !$order_order->isCanceled();
     echo "<input type='hidden' name='plugin_order_orders_id' value='" . $this->fields['plugin_order_orders_id'] . "'>";
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . __("Order", "order") . ": </td>";
     echo "<td>";
     echo $order_order->getLink(true);
     echo "</td>";
     echo "<td>" . __("Reference") . ": </td>";
     echo "<td>";
     $data = array();
     $data["id"] = $this->fields["plugin_order_references_id"];
     $data["name"] = $order_reference->fields["name"];
     echo $order_reference->getReceptionReferenceLink($data);
     echo "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . __("Unit price tax free", "order") . ": </td>";
     if ($canedit) {
         echo "<td><input type='number' step='" . PLUGIN_ORDER_NUMBER_STEP . "' name='price_taxfree' value='" . $this->fields['price_taxfree'] . "' class='decimal'>";
     } else {
         echo "<td>" . Html::formatNumber($this->fields['price_taxfree']) . "</td>";
     }
     echo "<td>" . __("VAT", "order") . ": </td>";
     echo "<td>";
     if ($canedit) {
         PluginOrderOrderTax::Dropdown(array('value' => $this->fields['plugin_order_ordertaxes_id']));
     } else {
         echo Dropdown::getDropdownName('glpi_plugin_order_ordertaxes', $this->fields['plugin_order_ordertaxes_id']);
     }
     echo "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . __("Discount (%)", "order") . ": </td>";
     if ($canedit) {
         echo "<td><input type='number' step='" . PLUGIN_ORDER_NUMBER_STEP . "' name='discount' \n                          value='" . $this->fields['discount'] . "' class='decimal'>";
     } else {
         echo "<td>" . Html::formatNumber($this->fields['discount']) . "</td>";
     }
     echo "<td>" . __("Discounted price tax free", "order") . ": </td>";
     echo "<td>" . Html::formatNumber($this->fields['price_discounted']) . "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . __("Price ATI", "order") . ": </td>";
     echo "<td>" . Html::formatNumber($this->fields['price_ati']) . "</td>";
     echo "<td>" . __("Status") . ": </td>";
     echo "<td>";
     echo Dropdown::getDropdownName('glpi_plugin_order_deliverystates', $this->fields['plugin_order_deliverystates_id']);
     echo "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_1'><td>";
     //comments of order
     echo __("Description") . ":  </td>";
     echo "<td colspan='3'>";
     if ($canedit_comment) {
         echo "<textarea cols='50' rows='4' name='comment'>" . $this->fields["comment"] . "</textarea>";
     } else {
         echo $this->fields['comment'];
     }
     echo "</td></tr>";
     $this->showFormButtons(array('canedit' => $canedit || $canedit_comment, 'candel' => $canedit));
     return true;
 }
Пример #7
0
 public function generateNewItem($params)
 {
     global $DB;
     // Retrieve plugin configuration
     $config = new PluginOrderConfig();
     $reference = new PluginOrderReference();
     foreach ($params["id"] as $tmp => $values) {
         //If itemtype cannot be generated, go to the new occurence
         if (in_array($values['itemtype'], self::getTypesThanCannotBeGenerared())) {
             continue;
         }
         $entity = $values["entities_id"];
         //------------- Template management -----------------------//
         //Look for a template in the entity
         $templateID = $reference->checkIfTemplateExistsInEntity($values["id"], $values["itemtype"], $entity);
         $item = new $values["itemtype"]();
         if ($values['itemtype']) {
             $order = new PluginOrderOrder();
         }
         $order->getFromDB($values["plugin_order_orders_id"]);
         $reference->getFromDB($params["plugin_order_references_id"]);
         if ($templateID) {
             $item->getFromDB($templateID);
             unset($item->fields["is_template"]);
             unset($item->fields["date_mod"]);
             $fields = array();
             foreach ($item->fields as $key => $value) {
                 if ($value != '' && (!isset($fields[$key]) || $fields[$key] == '' || $fields[$key] == 0)) {
                     $input[$key] = $value;
                 }
             }
             if ($config->getGeneratedAssetState()) {
                 $input["states_id"] = $config->getGeneratedAssetState();
             }
             $input["entities_id"] = $entity;
             $input["serial"] = $values["serial"];
             if ($item->fields['name']) {
                 $input["name"] = autoName($item->fields["name"], "name", $templateID, $values["itemtype"], $entity);
             } else {
                 $input["name"] = $values["name"];
             }
             if ($item->getField('otherserial') != NOT_AVAILABLE) {
                 if ($item->fields['otherserial']) {
                     $input["otherserial"] = autoName($item->fields["otherserial"], "otherserial", $templateID, $values["itemtype"], $entity);
                 } else {
                     $input["otherserial"] = $values["otherserial"];
                 }
             }
             if ($config->canAddLocation()) {
                 $input['locations_id'] = $order->fields['locations_id'];
             }
         } elseif ($values["itemtype"] == 'Contract') {
             $input["name"] = $values["name"];
             $input["entities_id"] = $entity;
             $input['contracttypes_id'] = $reference->fields['types_id'];
         } else {
             if ($config->getGeneratedAssetState()) {
                 $input["states_id"] = $config->getGeneratedAssetState();
             } else {
                 $input["states_id"] = 0;
             }
             $input["entities_id"] = $entity;
             $input["serial"] = $values["serial"];
             $input["otherserial"] = $values["otherserial"];
             $input["name"] = $values["name"];
             // Get bill data
             if ($config->canAddLocation()) {
                 $input['locations_id'] = $order->fields['locations_id'];
             }
             $input["manufacturers_id"] = $reference->fields["manufacturers_id"];
             $typefield = getForeignKeyFieldForTable(getTableForItemType($values["itemtype"] . "Type"));
             $input[$typefield] = $reference->fields["types_id"];
             $modelfield = getForeignKeyFieldForTable(getTableForItemType($values["itemtype"] . "Model"));
             $input[$modelfield] = $reference->fields["models_id"];
         }
         $input = Toolbox::addslashes_deep($input);
         $newID = $item->add($input);
         // Attach new ticket if option is on
         if (isset($params['generate_ticket'])) {
             $tkt = new TicketTemplate();
             if ($tkt->getFromDB($params['generate_ticket']['tickettemplates_id'])) {
                 $input = array();
                 $input = Ticket::getDefaultValues($entity);
                 $ttp = new TicketTemplatePredefinedField();
                 $predefined = $ttp->getPredefinedFields($params['generate_ticket']['tickettemplates_id'], true);
                 if (count($predefined)) {
                     foreach ($predefined as $predeffield => $predefvalue) {
                         $input[$predeffield] = $predefvalue;
                     }
                 }
                 $input['entities_id'] = $entity;
                 $input['_users_id_requester'] = empty($order->fields['users_id']) ? Session::getLoginUserID() : $order->fields['users_id'];
                 $input['items_id'] = $newID;
                 $input['itemtype'] = $values["itemtype"];
                 $ticket = new Ticket();
                 $ticketID = $ticket->add($input);
             }
         }
         //-------------- End template management ---------------------------------//
         $result = $this->createLinkWithItem($values["id"], $newID, $values["itemtype"], $values["plugin_order_orders_id"], $entity, $templateID, false, false);
         //Add item's history
         $new_value = __("Item generated by using order", "order") . ' : ' . $order->fields["name"];
         $order->addHistory($values["itemtype"], '', $new_value, $newID);
         //Add order's history
         $new_value = __("Item generated by using order", "order") . ' : ';
         $new_value .= $item->getTypeName() . " -> " . $item->getField("name");
         $order->addHistory('PluginOrderOrder', '', $new_value, $values["plugin_order_orders_id"]);
         //Copy order documents if needed
         self::copyDocuments($values['itemtype'], $newID, $values["plugin_order_orders_id"], $entity);
         Session::addMessageAfterRedirect(__("Item successfully selected", "order"), true);
     }
 }
Пример #8
0
 function showForm($ID, $options = array())
 {
     if (!self::canView()) {
         return false;
     }
     if ($ID > 0) {
         $this->check($ID, 'r');
     } else {
         // Create item
         $this->check(-1, 'w', $options);
     }
     $this->showTabs($options);
     $this->showFormHeader($options);
     $order_order = new PluginOrderOrder();
     $order_order->getFromDB($this->fields['plugin_order_orders_id']);
     $order_reference = new PluginOrderReference();
     $order_reference->getFromDB($this->fields["plugin_order_references_id"]);
     $canedit = $order_order->can($this->fields['plugin_order_orders_id'], 'w') && $order_order->canUpdateOrder() && !$order_order->isCanceled();
     $canedit_comment = $order_order->can($this->fields['plugin_order_orders_id'], 'w') && !$order_order->isCanceled();
     echo "<input type='hidden' name='plugin_order_orders_id' value='" . $this->fields['plugin_order_orders_id'] . "'>";
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . __("Order", "order") . ": </td>";
     echo "<td>";
     echo $order_order->getLink(true);
     echo "</td>";
     echo "<td>" . __("Reference") . ": </td>";
     echo "<td>";
     $data = array();
     $data["id"] = $this->fields["plugin_order_references_id"];
     $data["name"] = $order_reference->fields["name"];
     echo $order_reference->getReceptionReferenceLink($data);
     echo "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . __("Unit price tax free", "order") . ": </td>";
     if ($canedit) {
         echo "<td><input type='text' name='price_taxfree' value='" . $this->fields['price_taxfree'] . "'>";
     } else {
         echo "<td>" . Html::formatNumber($this->fields['price_taxfree']) . "</td>";
     }
     echo "<td>" . __("VAT", "order") . ": </td>";
     echo "<td>";
     if ($canedit) {
         PluginOrderOrderTaxe::Dropdown(array('value' => $this->fields['plugin_order_ordertaxes_id']));
     } else {
         echo Dropdown::getDropdownName('glpi_plugin_order_ordertaxes', $this->fields['plugin_order_ordertaxes_id']);
     }
     echo "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . __("Discount (%)", "order") . ": </td>";
     if ($canedit) {
         echo "<td><input type='text' name='discount' value='" . $this->fields['discount'] . "'>";
     } else {
         echo "<td>" . Html::formatNumber($this->fields['discount']) . "</td>";
     }
     echo "<td>" . __("Discounted price tax free", "order") . ": </td>";
     echo "<td>" . Html::formatNumber($this->fields['price_discounted']) . "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . __("Price ATI", "order") . ": </td>";
     echo "<td>" . Html::formatNumber($this->fields['price_ati']) . "</td>";
     echo "<td>" . __("Status") . ": </td>";
     echo "<td>";
     echo Dropdown::getDropdownName('glpi_plugin_order_deliverystates', $this->fields['plugin_order_deliverystates_id']);
     echo "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_1'><td>";
     //comments of order
     echo __("Description") . ":  </td>";
     echo "<td colspan='3'>";
     if ($canedit_comment) {
         echo "<textarea cols='50' rows='4' name='comment'>" . $this->fields["comment"] . "</textarea>";
     } else {
         echo $this->fields['comment'];
     }
     echo "</td></tr>";
     $this->showFormButtons(array('canedit' => $canedit || $canedit_comment, 'candel' => $canedit));
     $this->addDivForTabs();
     return true;
 }
Пример #9
0
 public static function showOrderSupplierSurvey($ID)
 {
     global $DB, $CFG_GLPI;
     $order = new PluginOrderOrder();
     $order->getFromDB($ID);
     $survey = new self();
     $table = getTableForItemType(__CLASS__);
     Session::initNavigateListItems(__CLASS__, __("Order", "order") . " = " . $order->fields["name"]);
     $candelete = $order->can($ID, DELETE);
     $query = "SELECT * FROM `{$table}` WHERE `plugin_order_orders_id` = '{$ID}' ";
     $result = $DB->query($query);
     $rand = mt_rand();
     echo "<div class='center'>";
     echo "<form method='post' name='show_suppliersurvey{$rand}' id='show_suppliersurvey{$rand}' " . " action=\"" . Toolbox::getItemTypeFormURL(__CLASS__) . "\">";
     echo "<input type='hidden' name='plugin_order_orders_id' value='" . $ID . "'>";
     echo "<table class='tab_cadre_fixe'>";
     echo "<tr><th colspan='5'>" . __("Supplier quality", "order") . "</th></tr>";
     echo "<tr><th>&nbsp;</th>";
     echo "<th>" . __("Supplier") . "</th>";
     echo "<th>" . __("Note", "order") . "</th>";
     echo "<th>" . __("Comment on survey", "order") . "</th>";
     echo "</tr>";
     if ($DB->numrows($result) > 0) {
         while ($data = $DB->fetch_array($result)) {
             Session::addToNavigateListItems(__CLASS__, $data['id']);
             echo "<input type='hidden' name='item[" . $data["id"] . "]' value='" . $ID . "'>";
             echo "<tr class='tab_bg_1 center'>";
             echo "<td>";
             if ($candelete) {
                 echo "<input type='checkbox' name='check[" . $data["id"] . "]'";
                 if (isset($_POST['check']) && $_POST['check'] == 'all') {
                     echo " checked ";
                 }
                 echo ">";
             }
             echo "</td>";
             $link = Toolbox::getItemTypeFormURL(__CLASS__);
             echo "<td><a href='" . $link . "?id=" . $data["id"] . "&plugin_order_orders_id=" . $ID . "'>" . Dropdown::getDropdownName("glpi_suppliers", $data["suppliers_id"]) . "</a></td>";
             echo "<td>";
             $total = $survey->getTotalNotation($ID);
             echo $total . " / 10";
             echo "</td>";
             echo "<td>";
             echo $data["comment"];
             echo "</td>";
             echo "</tr>";
         }
         echo "</table>";
         if ($candelete) {
             echo "<div class='center'>";
             Html::openArrowMassives("show_suppliersurvey{$rand}", true);
             Html::closeArrowMassives(array("delete" => __("Delete permanently")));
             echo "</div>";
         }
     } else {
         echo "</table>";
     }
     Html::closeForm();
     echo "</div>";
 }