<?php

class Produto_Model_AtributosModulos extends Agro_Db_Table_Abstract
{
    const DS_CHAVE_PROPRIEDADE = 'PROPRIEDADE';
    const DS_CHAVE_QUESTIONARIO = 'QUESTIONARIO';
    const DS_CHAVE_UNIDADE_SEGURADA = 'UNIDADE_SEGURADA';

	protected $_schema = 'produto';
	protected $_name = 'atributos_modulos';
	protected $_primary = 'id';
	public $_order = 'ds_chave_atributo_modulo';
	
	public function getModules() {
		$Modulos = $this->getData()->toArray();
		
		$modules = array();
		if (is_array($Modulos)) {
			foreach ($Modulos as $modulo) {
				$modules[$modulo['ds_chave_atributo_modulo']]['LABEL'] = $modulo['ds_descricao_atributo_modulo'];
				$modules[$modulo['ds_chave_atributo_modulo']]['FIELDS'] = $this->getAtributos($modulo['id']);
			}
		}
		
		return $modules;
	}
	
	public function getAtributos($id) {
		$atributos = array();
		
		$where = array();
		if ($id) {
			$where[] = array(
				'field' => 'id_atributo_modulo',
				'operator' => '=',
				'value' => $id
			);
			
			$Atributos = new Produto_Model_Atributos();
			$Rs = $Atributos->getData($where)->toArray();
			
			if (is_array($Rs)) {
				foreach ($Rs as $row) {
					$atributos[] = array(
						'NAME' => $row['id'],
						'LABEL' => $row['ds_descricao_atributo'],
						'TYPE' => $row['ds_chave_tipo_atributo'],
						'OPTIONS' => $row['ds_valores_opcoes']
					);
				}
			}
		}
		
		return $atributos;
	}
}