<?php

define("BYPASS_INSTANCE_CHECK", false);
require_once "../../../server//bootstrap.php";
$page = new GerenciaComponentPage();
$page->addComponent(new TitleComponent("Nuevo Ingreso"));
//forma de nuevo ingreso
$form = new DAOFormComponent(array(new Ingreso(), new ConceptoIngreso()));
$form->hideField(array("activo", "cancelado", "id_usuario", "id_ingreso", "motivo_cancelacion", "fecha_de_registro", "id_sucursal", "id_caja"));
$form->createComboBoxJoin("id_billete", "nombre", BilleteDAO::search(new Billete(array("activo" => 1))));
$form->setType("fecha_del_ingreso", "date");
$form->createComboBoxJoin("id_empresa", "razon_social", EmpresaDAO::getAll());
$form->createComboBoxJoin("id_concepto_ingreso", "nombre", ConceptoIngresoDAO::getAll());
$form->createComboBoxJoin("id_caja", "descripcion", CajaDAO::getAll());
$form->addApiCall("api/cargosyabonos/ingreso/nuevo", "POST");
$form->renameField(array("fecha_del_ingreso" => "fecha_ingreso"));
$page->addComponent($form);
$page->render();
 /**
  *
  *Lista las cajas. Se puede filtrar por la sucursal a la que pertenecen.
  *
  * @param id_sucursal int Sucursal de la cual se listaran sus cajas
  * @param activa bool Valor de activa de las cajas que se listaran
  * @return cajas json Objeto que contendra la lista de cajas
  **/
 public static function ListaCaja($activa = null, $id_sucursal = null)
 {
     //Se validan los parametros
     $validar = self::validarParametrosCaja(null, $id_sucursal, null, null, null, null, null, $activa);
     if (is_string($validar)) {
         throw new Exception($validar);
     }
     //Si no se reciben parametros, se llama a todas las cajas
     if (is_null($id_sucursal) && is_null($activa)) {
         $cajas = CajaDAO::getAll();
     } else {
         $cajas = CajaDAO::search(new Caja(array("id_sucursal" => $id_sucursal, "activa" => $activa)));
     }
     //this should return an array
     return $cajas;
 }