public function _new()
 {
     parent::_new();
     // work_order_id is set for adding a new structure
     // otherwise id is set, which is the id of the structure element
     $uom_list = array();
     $wostructure = $this->_uses[$this->modeltype];
     if (isset($this->_data['work_order_id'])) {
         $work_order_id = $this->_data['work_order_id'];
         $stitem_id = key($items_list);
         $uom_id = '';
     } elseif ($wostructure->isLoaded()) {
         $work_order_id = $wostructure->work_order_id;
         $stitem_id = $wostructure->ststructure_id;
         $uom_id = $wostructure->uom_id;
     }
     if (isset($this->_data['ststructure_id'])) {
         $stitem_id = $this->_data['ststructure_id'];
     }
     $stitem = new STItem();
     $stitem->load($stitem_id);
     $items_list = STItem::nonObsoleteItems();
     if (!isset($items_list[$stitem_id])) {
         $items_list += array($stitem->id => $stitem->getIdentifierValue() . '(Obsolete)');
     }
     $this->view->set('ststructures', $items_list);
     $uom_id = empty($uom_id) ? $stitem->uom_id : $uom_id;
     $this->view->set('uom_id', $uom_id);
     $uom_list = $stitem->getUomList();
     if (isset($work_order_id)) {
         $this->view->set('elements', self::showParts($work_order_id));
         $this->view->set('no_ordering', true);
     }
     $this->view->set('uom_list', $uom_list);
 }
 public function getUomList($_stitem_id = '')
 {
     // used by ajax to get the UoM
     if (isset($this->_data['ajax'])) {
         if (!empty($this->_data['stitem_id'])) {
             $_stitem_id = $this->_data['stitem_id'];
         }
     }
     $stitem = new STItem();
     $stitem->load($_stitem_id);
     $list = $stitem->getUomList();
     if (isset($this->_data['ajax'])) {
         $this->view->set('options', $list);
         $this->setTemplateName('select_options');
     } else {
         return $list;
     }
 }