Ejemplo n.º 1
0
 public static function actualizarRegistros($tabla)
 {
     $estructura = ExtraParamsEstructuraDAO::search(new ExtraParamsEstructura(array("tabla" => $tabla)));
     $usuarios = UsuarioDAO::getAll();
     for ($i = 0; $i < sizeof($usuarios); $i++) {
         $valores = self::getVals($tabla, $usuarios[$i]->getIdUsuario());
         for ($e = 0; $e < sizeof($estructura); $e++) {
             $found = false;
             for ($v = 0; $v < sizeof($valores); $v++) {
                 if ($valores[$v]["campo"] == $estructura[$e]->getCampo()) {
                     $found = true;
                 }
             }
             if (!$found) {
                 $toInsert = new ExtraParamsValores();
                 $toInsert->setIdExtraParamsEstructura($estructura[$e]->getIdExtraParamsEstructura());
                 $toInsert->setIdPkTabla($usuarios[$i]->getIdUsuario());
                 $toInsert->setVal(null);
                 ExtraParamsValoresDAO::save($toInsert);
             }
         }
     }
 }
Ejemplo n.º 2
0
$tabla->addColRender("id_extra_params_estructura", "smenu");
$page->addComponent($tabla);
$page->addComponent(new TitleComponent("Nueva columna", 3));
$nceObj = new ExtraParamsEstructura();
$nceObj->setTabla("\"clientes\"");
$nuevaColumnaForm = new DAOFormComponent($nceObj);
$nuevaColumnaForm->addApiCall("api/pos/bd/columna/nueva", "POST");
$nuevaColumnaForm->makeObligatory(array("campo", "tipo", "longitud", "olbigatorio", "obligatorio", "caption"));
$nuevaColumnaForm->hideField(array("id_extra_params_estructura", "tabla"));
$nuevaColumnaForm->sendHidden("tabla");
$nuevaColumnaForm->setType("descripcion", "textarea");
$nuevaColumnaForm->createComboBoxJoin("tipo", null, array("string", "int", "float", "date", "bool"));
$nuevaColumnaForm->createComboBoxJoin("obligatorio", null, array("Si", "No"));
$page->addComponent($nuevaColumnaForm);
$q = new ExtraParamsEstructura(array("tabla" => "clientes"));
$qr = ExtraParamsEstructuraDAO::search($q);
for ($i = 0; $i < sizeof($qr); $i++) {
    unset($qr[$i]->id_extra_params_estructura);
}
$export_json = json_encode($qr);
$page->addComponent('
				<script>
				function exportar(){
					var form = Ext.widget(\'form\', {
							layout: {
								type: \'vbox\',
								align: \'stretch\'
							},
							border: false,
							bodyPadding: 10,
Ejemplo n.º 3
0
 /**
  *
  *El documento base es de donde se crean instancias de documentos.
  *
  * @param json_impresion json El json que se utilizara para imprimir este documento.
  * @param nombre string Nombre del documento base
  * @param activo bool Si esta activo o si no se puede realizar documentos de este tipo.
  * @param foliado json El json que describe como sera el foliado de este documento. Incluye en que folio va.
  * @param foliado json 
  * @param id_empresa int Si pertence a una empresa en especifico, o puede realizarse en cualquier empresa.
  * @param id_sucursal int Si pertenece a una sucursal en especifico o puede realizarse en cualquier sucursal.
  * @return id_documento_base int Id del nuevo documento
  **/
 static function NuevoBase($json_impresion, $nombre, $activo = 1, $extra_params = null, $foliado = "", $foliado = "", $id_empresa = null, $id_sucursal = null, $nombre_plantilla = null)
 {
     if (is_null($json_impresion)) {
         throw new InvalidDataException("El json de impresion no es valido.");
     }
     $q = DocumentoBaseDAO::search(new DocumentoBase(array("nombre" => $nombre)));
     if (sizeof($q) > 0) {
         throw new InvalidDataException("Ya existe un documento con este nombre.");
     }
     $nDoc = new DocumentoBase();
     $nDoc->setJsonImpresion(json_encode($json_impresion));
     $nDoc->setNombre($nombre);
     $nDoc->setActivo($activo);
     $nDoc->setIdEmpresa($id_empresa);
     $nDoc->setIdSucursal($id_sucursal);
     $nDoc->setUltimaModificacion(time());
     $nDoc->setNombrePlantilla($nombre_plantilla);
     //Es aconsejable agregar un token al nombre de la plantilla y modificar el nombre del archivo con este nuevo token para evitar sobreescribirlo
     try {
         DocumentoBaseDAO::save($nDoc);
     } catch (Exception $e) {
         throw new InvalidDatabaseOperationException($e);
     }
     if (!is_null($extra_params)) {
         for ($i = 0; $i < sizeof($extra_params); $i++) {
             if (!isset($extra_params[$i]->obligatory)) {
                 $extra_params[$i]->obligatory = FALSE;
             }
             $paramStruct = new ExtraParamsEstructura();
             //
             // Si el tipo de parametro extra es enum,
             // se debio enviar tambien 'enum', validar
             // que sea un json
             if ($extra_params[$i]->type == "enum") {
                 if (!isset($extra_params[$i]->enum)) {
                     throw new InvalidDataException("Falta enum");
                 }
                 $paramStruct->setEnum($extra_params[$i]->enum);
             }
             $paramStruct->setTabla("documento_base-" . $nDoc->getIdDocumentoBase());
             $paramStruct->setCampo(str_replace(" ", "_", $extra_params[$i]->desc));
             $paramStruct->setTipo($extra_params[$i]->type);
             $paramStruct->setLongitud(256);
             $paramStruct->setObligatorio($extra_params[$i]->obligatory);
             $paramStruct->setCaption($extra_params[$i]->desc);
             $paramStruct->setDescripcion($extra_params[$i]->desc);
             try {
                 ExtraParamsEstructuraDAO::save($paramStruct);
             } catch (Exception $e) {
                 Logger::error($e);
                 throw new InvalidDatabaseOperationException($e);
             }
         }
     }
     Logger::log("Se ha creado el documento base id=" . $nDoc->getIdDocumentoBase());
     return array("id_documento_base" => $nDoc->getIdDocumentoBase());
 }
Ejemplo n.º 4
0
require_once "../../../server/bootstrap.php";
$page = new GerenciaComponentPage();
// Validar parametro de base
$DocumentoBase = DocumentoBaseDAO::getByPK($_GET["base"]);
if (is_null($DocumentoBase)) {
    $page->render();
    exit;
} else {
    if ($DocumentoBase->GetActivo() == false) {
        $page->render();
        exit;
    }
}
$page->addComponent(new TitleComponent("Nuevo " . $DocumentoBase->getNombre(), 1));
//Buscar sus parametros extra
$ExtraParamsStructs = ExtraParamsEstructuraDAO::search(new ExtraParamsEstructura(array("tabla" => "documento_base-" . $DocumentoBase->getIdDocumentoBase())));
$f = new FormComponent();
$f->addApiCall("api/documento/nuevo");
for ($i = 0; $i < sizeof($ExtraParamsStructs); $i++) {
    // function addField($id, $caption, $type, $value = "", $name = null) {
    if ($ExtraParamsStructs[$i]->tipo == "enum") {
        $enum_string = explode(",", $ExtraParamsStructs[$i]->enum);
        $enum_array = array();
        for ($k = 0; $k < count($enum_string); $k++) {
            array_push($enum_array, array("caption" => $enum_string[$k], "id" => $enum_string[$k], "selected" => 0));
        }
        $f->addField($ExtraParamsStructs[$i]->campo, $ExtraParamsStructs[$i]->caption, $ExtraParamsStructs[$i]->tipo, $enum_array);
    } else {
        $f->addField($ExtraParamsStructs[$i]->campo, $ExtraParamsStructs[$i]->caption, $ExtraParamsStructs[$i]->tipo);
    }
}
Ejemplo n.º 5
0
 public function testCredenciales_Sapuraiya()
 {
     $res = ExtraParamsEstructuraDAO::search(new ExtraParamsEstructura(array("tabla" => "usuarios", "campo" => "Agenda")));
     if (count($res) <= 0) {
         return;
     }
     $u = UsuarioDAO::getAll();
     $o = "Empresa | Credenciales restantes | Numero de credenciales\n";
     foreach ($u as $user) {
         $out = ExtraParamsValoresDAO::getVals("usuarios", $user->getIdUsuario());
         $cr = $out[4]["val"];
         $nc = $out[8]["val"];
         if (strlen($nc > 1)) {
             $tipo_creden = substr($nc, 1, 1);
             switch ($tipo_creden) {
                 case 'a':
                     $nc = str_replace('a', " Proveedor", $nc);
                     break;
                 case 'b':
                     $nc = str_replace('b', " Expositor", $nc);
                     break;
                 case 'c':
                     $nc = str_replace('c', " Expositor/Proveedor", $nc);
                     break;
                 case 'd':
                     $nc = str_replace('d', " Empresa Tractora", $nc);
                     break;
             }
         }
         Logger::log("Credenciales restantes: " . $cr);
         Logger::log("Num credenciales: " . $nc);
         $o .= $user->getNombre() . " | " . $cr . " | " . $nc . "\n";
     }
     $fp = fopen('credenciales.txt', 'w');
     fwrite($fp, $o);
     fclose($fp);
 }
Ejemplo n.º 6
0
 public static function NuevaColumnaBd($campo, $caption, $obligatorio, $tabla, $tipo, $descripcion = "", $longitud = "")
 {
     //busquemos que exista la tabla
     switch ($tabla) {
         case "clientes":
             break;
         default:
             throw new InvalidDataException("No puede crear una nueva columna para la tabla {$tabla}");
     }
     //veamos que no exista la combinacion de tabla-campo
     //validar tipo y longitud
     //crear objeto
     $ncbd = new ExtraParamsEstructura();
     $ncbd->setTabla($tabla);
     $ncbd->setCampo($campo);
     $ncbd->setTipo($tipo);
     $ncbd->setLongitud($longitud);
     $ncbd->setObligatorio($obligatorio);
     $ncbd->setCaption($caption);
     $ncbd->setDescripcion($descripcion);
     //insertar
     try {
         ExtraParamsEstructuraDAO::save($ncbd);
     } catch (Exception $e) {
         throw new InvalidDataException("El campo `" . $campo . "` ya existe en esta tabla.");
     }
     return array("id_columna" => $ncbd->getIdExtraParamsEstructura());
 }