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]; }
/** * 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)); }
<?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'); } }