<?php

/**
 * cue_may_short actions.
 *
 * @package    contab2
 * @subpackage cue_may_short
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class cue_may_shortActions extends sfQuery {
    /*
     * ------------VARIABLES PARA SERVICIOS DE CONSULTA - LIST
     */

    protected $table_names = array(
        'CN_CUENTA_MAYOR'
    ); //tablas para construir el sql, por medio de joins
    protected $table_join_ids = array(); //si posee tablas para joins, identificar la relacion de los campos con las tablas
    protected $fields = array(
        'CN_CUENTA_MAYOR' =>
        array(
            'id_cen_op' => 'id_cen_op',
            'nom_cen_op' => 'nom_cen_op'
        )
    ); //por cada tabla especificar los campos del select

    /*
     * OPCIONES DE FILTRO
     * LIKEALLPLUS- busqueda comparativa de la cadena dividida por los espacios en blanco en cualquier posición
     * LIKEALL - busqueda comparativa de la cadena en cualquier posición
     * LIKE - busqueda en la cadena que inicie por la variable de filtro
     *
     * rownum,start - rownum,end / estos campos para uso del Grid live GWT, numero fijo de filas de consulta
     */
    protected $table_field_conditions = array(
        'CN_CUENTA_MAYOR' =>
        array(
            'id_cia' => array('=' => array('id_cia')),
            'rownum,end' => array('<=' => array(20)),
        )
    ); //por cada tabla se dan los campos, opcion de filtro y variable que entra para los posibles filtros
    protected $table_field_or_conditions = array(); // filtros de condicion or

    /*
     * Variable manejo de log
     */
    //si es servicio para filtro agregar campo
    protected $filtro = 'Cuenta mayor';
    //true - la tabla principal de busqueda no es una vista
    protected $is_filtro = true;

    /**
     * Executes index action
     * para validar que siempre tengan valores de cuentas superiores
     *
     * @param sfRequest $request A request object
     */
    public function executeList(sfWebRequest $request) {

        $records = CN_TABLE::getAll('CN_CUENTA_MAYOR');

        $res = array();

        foreach ($records as $record) {

            if ($record->id_grupo_cuenta == $request['id_grupo_cuenta'] &&
                    $record->id_clase_cuenta == $request['id_clase_cuenta'] &&
                    $record->id_cia == $request['id_cia']) {

                $datos = array(
                    'id_cuenta_mayor' => $record['id_cuenta_mayor'],
                    'digitos' => $record['digitos'],
                    'nombre' => $record['nombre']
                );

                $res[] = $datos;
            }
        }

        $this->list_data = $res;
    }

}
