/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $model = new Proyecto(); $id = Yii::app()->request->getParam('id'); $this->breadcrumbs = array('homeLink' => CHtml::link(Yii::t('zii', 'Proyecto'), array('proyecto/admin')), 'links' => array('Crear Nuevo')); if (isset($id)) { $model->empresa_id = $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' => $id), 'Crear Nuevo')); } $local = new Localidad(); $int = new JefeProyecto(); $ext = new JefeProyecto(); $user = new UsuarioAutoComplete(); $tar = new TareaAutoComplete(); $conf = new Configuracion(); $internos = array(); $externos = array(); $internos[0] = $int; $externos[0] = $ext; $localidades[0] = $local; $usuarios[0] = $user; $tareas[0] = $tar; if (isset($_POST['Proyecto'])) { $model->attributes = $_POST['Proyecto']; $error = false; if (isset($_POST['interno'])) { foreach ($_POST['interno']['JefeProyecto'] as $index => $interno) { $int = new JefeProyecto(); $int->attributes = $interno; $int->validate(); $internos[$index] = $int; if (count($int->getErrors()) > 0) { $error = true; } } } if (isset($_POST['externo'])) { foreach ($_POST['externo']['JefeProyecto'] as $index => $externo) { $ext = new JefeProyecto(); $ext->attributes = $externo; $ext->validate(); $externos[$index] = $ext; if (count($ext->getErrors()) > 0) { $error = true; } } } if (isset($_POST['Localidad'])) { foreach ($_POST['Localidad'] as $index => $localidad) { $local = new Localidad(); $local->attributes = $localidad; $local->validate(); $localidades[$index] = $local; if (count($local->getErrors()) > 0) { $error = true; } } } if (isset($_POST['Usuario'])) { foreach ($_POST['Usuario'] as $index => $usuario) { $user = new UsuarioAutoComplete(); $user->attributes = $usuario; $user->tipo_usuario_id = $usuario['tipo_usuario_id']; $user->email = $usuario['email']; $user->validate(); $usuarios[$index] = $user; if (count($user->getErrors()) > 0) { $error = true; } } } if (isset($_POST['Tarea'])) { foreach ($_POST['Tarea'] as $index => $tarea) { $tar = new TareaAutoComplete(); $tar->attributes = $tarea; $tar->precio = $tarea['precio']; $tar->tiempo = $tarea['tiempo']; $tar->validate(); $tareas[$index] = $tar; if (count($tar->getErrors()) > 0) { $error = true; } } } if ($model->validate() && $error == false) { if ($model->save()) { $conf = new Configuracion(); $conf->unidades_red = isset($_POST['Configuracion']['unidades_red']) ? $_POST['Configuracion']['unidades_red'] : 0; $conf->foto = isset($_POST['Configuracion']['foto']) ? $_POST['Configuracion']['foto'] : 0; $conf->configuracion_red = isset($_POST['Configuracion']['configuracion_red']) ? $_POST['Configuracion']['configuracion_red'] : 0; $conf->migracion = isset($_POST['Configuracion']['migracion']) ? $_POST['Configuracion']['migracion'] : 0; $conf->proyecto_id = $model->id; $conf->insert(); foreach ($internos as $interno) { $interno->proyecto_id = $model->id; $interno->tipo_jefe_proyecto_id = 1; $interno->insert(); } foreach ($externos as $externo) { $externo->proyecto_id = $model->id; $externo->tipo_jefe_proyecto_id = 2; $externo->insert(); } foreach ($localidades as $localidad) { $localidad->proyecto_id = $model->id; $localidad->insert(); } foreach ($usuarios as $usuario) { $user = new ProyectoHasUsuario(); $user->usuario_id = $usuario->id; $user->proyecto_id = $model->id; $user->insert(); } foreach ($tareas as $tarea) { $tar = new ProyectoHasTarea(); $tar->tarea_id = $tarea->id; $tar->proyecto_id = $model->id; $tar->insert(); } $this->redirect(array('empresa/proyectos', 'id' => $model->empresa_id)); } } } $this->render('create', array('model' => $model, 'localidades' => $localidades, 'internos' => $internos, 'externos' => $externos, 'usuarios' => $usuarios, 'id' => $id, 'listUsuarios' => $this->listUsuarios(), 'tareas' => $tareas, 'listTareas' => $this->listTareas(), 'configuracion' => $conf)); }