public function search($input)
 {
     $query = Impresora::query();
     $columns = Schema::getColumnListing('impresoras');
     $attributes = array();
     foreach ($columns as $attribute) {
         if (isset($input[$attribute]) and !empty($input[$attribute])) {
             $query->where($attribute, $input[$attribute]);
             $attributes[$attribute] = $input[$attribute];
         } else {
             $attributes[$attribute] = null;
         }
     }
     return [$query->get(), $attributes];
 }
Пример #2
0
 /**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id the ID of the model to be updated
  */
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     $this->menu_activo = 'empresa';
     $this->breadcrumbs = array('homeLink' => CHtml::link(Yii::t('zii', 'Empresa'), array('empresa/admin')), 'links' => array('Proyectos' => array('empresa/proyectos', 'id' => $model->localidad->proyecto->empresa_id), 'Localidades' => array('empresa/localidades', 'id' => $model->localidad->proyecto_id), 'Checklist' => array('checklist/admin', 'id' => $model->localidad_id), 'Editar'));
     if ($model->localidad->proyecto->tipo_checklist_id == 1) {
         $usuario = IdentificacionUsuario::model()->findByAttributes(array('checklist_id' => $id));
         $informacionEquipo = InformacionEquipo::model()->findByAttributes(array('checklist_id' => $id));
         $impresora = Impresora::model()->findByAttributes(array('checklist_id' => $id));
         $foto = Foto::model()->findByAttributes(array('checklist_id' => $id));
         $migracion = Migracion::model()->findByAttributes(array('checklist_id' => $id));
         $configuracion_red = ConfiguracionRed::model()->findByAttributes(array('checklist_id' => $id));
     } else {
         $usuario = '';
         $informacionEquipo = '';
         $impresora = '';
         $foto = '';
         $migracion = '';
         $configuracion_red = '';
     }
     $tareas = ChecklistHasTarea::model()->findAllByAttributes(array('checklist_id' => $id));
     if (isset($_POST['Checklist'])) {
         $model->attributes = $_POST['Checklist'];
         if ($model->localidad->proyecto->tipo_checklist_id == 1) {
             $usuario->attributes = $_POST['IdentificacionUsuario'];
             $informacionEquipo->attributes = $_POST['InformacionEquipo'];
             $impresora->attributes = $_POST['Impresora'];
             if (isset($_POST['ConfiguracionRed'])) {
                 $configuracion_red->attributes = $_POST['ConfiguracionRed'];
             }
             if (isset($_POST['Migracion'])) {
                 $migracion->attributes = $_POST['Migracion'];
             }
         }
         $attributes = $_POST['ChecklistHasTarea'];
         $precio = 0;
         foreach ($tareas as $index => $tarea) {
             if (isset($attributes[$tarea->tarea_id])) {
                 $tarea->estado_id = $attributes[$tarea->tarea_id]['estado_id'];
                 if ($tarea->estado->nombre == 'terminado') {
                     $precio = $precio + $tarea->tarea->precio;
                 }
             }
         }
         $model->precio = $precio;
         $model->fecha_inicio = !empty($model->fecha_inicio) ? date('Y-m-d', strtotime($model->fecha_inicio)) : null;
         $model->fecha_termino = !empty($model->fecha_termino) ? date('Y-m-d', strtotime($model->fecha_termino)) : null;
         if ($model->save()) {
             if ($model->localidad->proyecto->tipo_checklist_id == 1) {
                 $usuario->save();
                 $informacionEquipo->save();
                 $impresora->save();
                 $configuracion_red->save();
                 $migracion->save();
             }
             $iniciado = false;
             $terminado = false;
             $cont = count($tareas);
             $i = 0;
             foreach ($tareas as $tarea) {
                 $tarea->update();
                 if ($tarea->estado_id == 2) {
                     $iniciado = true;
                 } elseif ($tarea->estado_id == 3) {
                     $i++;
                 }
             }
             if ($iniciado == true) {
                 $model->estado_id = 2;
                 $model->update();
             } elseif ($cont == $i) {
                 $model->estado_id = 3;
                 $model->update();
             }
             $this->redirect(array('checklist/admin', 'id' => $model->localidad_id, 'empresa' => $model->localidad->proyecto_id));
         }
     }
     $this->render('update', array('model' => $model, 'usuario' => $usuario, 'informacionEquipo' => $informacionEquipo, 'impresora' => $impresora, 'foto' => $foto, 'migracion' => $migracion, 'configuracionRed' => $configuracion_red, 'tareas' => $tareas));
 }
Пример #3
0
<?php

/**
 * Archivo del controlador para modulo Impresora
 * @package cImpresora.php
 * @author Gerzahim Salas. - <*****@*****.**>
 * @copyright Grupo de empresas Voila
 * @license BSD License
 * @version v 1.0 Abril - 2013
 */
// Vista asignada
$obj_xtpl->assign_file('contenido', $obj_config->GetVar('ruta_vista') . 'impresora' . $obj_config->GetVar('ext_vista'));
// Modelo asignado
require $obj_config->GetVar('ruta_modelo') . 'Impresora.php';
$obj_modelo = new Impresora($obj_conexion);
switch (ACCION) {
    case 'add':
        // Ruta actual
        $_SESSION['Ruta_Form'] = $obj_generico->RutaRegreso();
        // Ruta regreso
        $obj_xtpl->assign('ruta_regreso', $_SESSION['Ruta_Lista']);
        // Accion a realizar
        $obj_xtpl->assign('tipo_accion', 'save');
        $obj_xtpl->assign('tag_boton', 'Guardar');
        // Listado de Taquillas
        if ($result = $obj_modelo->GetTaquillas()) {
            while ($row = $obj_conexion->GetArrayInfo($result)) {
                $obj_xtpl->assign($obj_generico->CleanTextDb($row));
                $obj_xtpl->parse('main.contenido.formulario.lista_taquillas');
            }
        }