Ejemplo n.º 1
0
    public function numberInventory()
    {
        $subview = new View('numbermanager/numberInventory');

        $subview->tab = 'main';

        $subview->section = 'number_inventory';

        $subview->render_conditional = array(
            'qtipAjaxForm' => FALSE,
            'ajax' => FALSE
        );

        $base = $this->getBaseModelObject();

        if (!$base)
        {
            return TRUE;
        }

        if (get_parent_class($base) == 'Bluebox_Record')
        {
            $class_type = get_class($base) .'Number';
        } 
        else
        {
            $class_type = get_parent_class($base) .'Number';
        }

        $identifiers = $base->identifier();

        if (!empty($identifiers))
        {
            $foreign_id = reset($identifiers);
        } 
        else
        {
            $foreign_id = 0;
        }

        $numbers = array(
            'avaliable' => array(),
            'assigned' => array()
        );

        $numberOptionTemplates = array();

        $event_data = Event::$data;
        
        Event::run('numbermanager.collectNumberOptions', $numberOptionTemplates);

        Event::$data = $event_data;

        $numbers['assigned'] = Doctrine_Query::create()
            ->from('Number n')
            ->where('foreign_id = ?', array($foreign_id))
            ->andWhere('class_type = ?', $class_type)
            ->orderBy('number')
            ->execute(array(), Doctrine::HYDRATE_ARRAY);

        $numbers['avaliable'] = Doctrine_Query::create()
            ->select('np.number_type_id, nt.class, n.*')
            ->from('NumberPool np, np.Number n, np.NumberType nt')
            ->where('(n.foreign_id = ? OR n.foreign_id IS NULL)', array(0))
            ->andwhereIn('nt.class', array($class_type))
            ->orderBy('number')
            ->execute(array(), Doctrine::HYDRATE_ARRAY);

        foreach ($numbers['assigned'] as $key => $number)
        {
            $numbers['assigned'][$key]['registry'] =
                numbermanager::prepareNumberOptions($number['registry']);
        }

        $subview->assignedNumberTemplate = self::getAssignedNumberTemplate($numberOptionTemplates, $class_type);

        $subview->avaliableNumberTemplate = self::getAvaliableNumberTemplate();

        $subview->numberOptionTemplates = $numberOptionTemplates;

        $subview->numbers = $numbers;

        $subview->class_type = $class_type;

        $this->views[] = $subview;

        return TRUE;
    }
Ejemplo n.º 2
0
 public function _showPools($NULL, $number_id)
 {
     return numbermanager::showPools($number_id);
 }
Ejemplo n.º 3
0
 public function formatNumber($number)
 {
     return numbermanager::formatNumber($number);
 }