getMandatoryFields() public method

Get mandatory fields for a template
public getMandatoryFields ( $ID, $withtypeandcategory = true ) : an
$ID integer the template ID
$withtypeandcategory boolean with type and category (true by default)
return an array of mandatory fields
 /**
  * Retrieve an item from the database with additional datas
  *
  * @since version 0.83
  *
  * @param $ID                    integer  ID of the item to get
  * @param $withtypeandcategory   boolean  with type and category (true by default)
  *
  * @return true if succeed else false
  **/
 function getFromDBWithDatas($ID, $withtypeandcategory = true)
 {
     global $DB;
     if ($this->getFromDB($ID)) {
         $ticket = new Ticket();
         $tth = new TicketTemplateHiddenField();
         $this->hidden = $tth->getHiddenFields($ID, $withtypeandcategory);
         // Force items_id if itemtype is defined
         if (isset($this->hidden['itemtype']) && !isset($this->hidden['items_id'])) {
             $this->hidden['items_id'] = $ticket->getSearchOptionIDByField('field', 'items_id', 'glpi_items_tickets');
         }
         // Always get all mandatory fields
         $ttm = new TicketTemplateMandatoryField();
         $this->mandatory = $ttm->getMandatoryFields($ID);
         // Force items_id if itemtype is defined
         if (isset($this->mandatory['itemtype']) && !isset($this->mandatory['items_id'])) {
             $this->mandatory['items_id'] = $ticket->getSearchOptionIDByField('field', 'items_id', 'glpi_items_tickets');
         }
         $ttp = new TicketTemplatePredefinedField();
         $this->predefined = $ttp->getPredefinedFields($ID, $withtypeandcategory);
         // Compute due_date
         if (isset($this->predefined['due_date'])) {
             $this->predefined['due_date'] = Html::computeGenericDateTimeSearch($this->predefined['due_date'], false);
         }
         // Compute date
         if (isset($this->predefined['date'])) {
             $this->predefined['date'] = Html::computeGenericDateTimeSearch($this->predefined['date'], false);
         }
         return true;
     }
     return false;
 }