/** * Retrieves a list of models based on the current search/filter conditions. * * Typical usecase: * - Initialize the model fields with values from filter form. * - Execute this method to get CActiveDataProvider instance which will filter * models according to data in model fields. * - Pass data provider to CGridView, CListView or any similar widget. * * @return CActiveDataProvider the data provider that can return the models * based on the search/filter conditions. */ public function search() { // @todo Please modify the following code to remove attributes that should not be searched. $usuario = Usuarios::getUsuarioId(app()->user->id); if ($usuario) { $criteria = new CDbCriteria(); switch ($usuario->IdRol) { case 1: case 2: $criteria->select = 'OC.*, LF.IdTransportador, AE.DiaSemana, AE.HoraDia, TR.Nombre AS NombreTransportador, ' . ' CalcularFechaEntregaMcia(OC.FechaRegistroOrdenCompra,AE.DiaSemana) AS FechaSolicitudCita '; $criteria->alias = 'OC'; $criteria->join = 'LEFT JOIN m_LogisticaFabricante LF ON OC.IdFabricante = LF.IdFabricante ' . 'AND OC.IdCedi = LF.IdCedi ' . 'LEFT JOIN m_AcuerdosEntregaFabricante AE ON OC.IdFabricante = AE.IdFabricante ' . 'AND OC.IdCedi = AE.IdCedi ' . 'LEFT JOIN m_Transportador TR ON TR.IdTransportador = LF.IdTransportador '; break; case 3: case 4: $criteria->select = 'OC.*, LF.IdTransportador, AE.DiaSemana, AE.HoraDia, TR.Nombre AS NombreTransportador, ' . ' CalcularFechaEntregaMcia(OC.FechaRegistroOrdenCompra,AE.DiaSemana) AS FechaSolicitudCita '; $criteria->alias = 'OC'; $criteria->join = 'LEFT JOIN m_LogisticaFabricante LF ON OC.IdFabricante = LF.IdFabricante ' . 'AND OC.IdCedi = LF.IdCedi ' . 'LEFT JOIN m_AcuerdosEntregaFabricante AE ON OC.IdFabricante = AE.IdFabricante ' . 'AND OC.IdCedi = AE.IdCedi ' . 'LEFT JOIN m_Transportador TR ON TR.IdTransportador = LF.IdTransportador '; $criteria->condition = 'LF.IdUsuarioResponsable=' . app()->user->id; break; default: break; } // switch ($usuario->IdRol) $criteria->compare('NumeroOrdenCompra', $this->NumeroOrdenCompra); $criteria->compare('OC.IdFabricante', $this->IdFabricante); $criteria->compare('NombreFabricante', $this->NombreFabricante, true); $criteria->compare('OC.IdCedi', $this->IdCedi); $criteria->compare('LF.IdTransportador', $this->IdTransportador); $criteria->compare('NombreCedi', $this->NombreCedi, true); $criteria->compare('TotalOrdenCompra', $this->TotalOrdenCompra, true); $criteria->compare('IdEstadoOrdenCompra', $this->IdEstadoOrdenCompra); $criteria->compare('FechaTentativaEntrega', $this->FechaTentativaEntrega, true); $criteria->compare('FechaRegistroOrdenCompra', $this->FechaRegistroOrdenCompra, true); return new CActiveDataProvider($this, array('keyAttribute' => 'NumeroOrdenCompra', 'criteria' => $criteria)); } return null; }
public function validarRolUsuario($attribute_name, $params) { $usuario = Usuarios::getUsuarioId($this->IdUsuarioResponsable); if ($usuario) { if (!empty($this->IdFabricante) && empty($this->IdTransportador)) { if ($usuario->IdRol != 3) { $this->addError('IdResponsable', 'Responsable Debe Tener Rol de Fabricante'); } } else { if (!empty($this->IdFabricante) && !empty($this->IdTransportador)) { if ($usuario->IdRol != 4) { $this->addError('IdResponsable', 'Responsable Debe Tener Rol de Transportador'); } } } } }
public function enviarEmailSolicitud($model, $modelsolicitudcita) { $email = new EnviarEmail(); // Traemos datos del Cedi - Usuario Administrador Cedi $elCedi = Cedi::getCedi($model->IdCedi); $elUsuarioAdmin = Usuarios::getUsuarioDocumento($elCedi->CedulaJefe); $elUsuario = Usuarios::getUsuarioId(Yii::app()->user->id); if ($elUsuario) { Yii::app()->user->setFlash('success', '<strong>Message sent! </strong>Thank you for contacting us. We will respond to you as soon as possible.'); } if ($elUsuario && $elUsuarioAdmin) { $emailUsuarioAdmin = $elUsuarioAdmin->EmailUsuario; $nombreCompletoAdmin = $elUsuarioAdmin->PrimerNombre . ' ' . $elUsuarioAdmin->SegundoNombre . ' ' . $elUsuarioAdmin->PrimerApellido . ' ' . $elUsuarioAdmin->SegundoApellido; $emailUsuarioFabricante = $elUsuario->EmailUsuario; $nombreCompletoFabricante = $elUsuario->PrimerNombre . ' ' . $elUsuario->SegundoNombre . ' ' . $elUsuario->PrimerApellido . ' ' . $elUsuario->SegundoApellido; if ($emailUsuarioFabricante && $emailUsuarioAdmin) { $body = "Numero Orden -> " . $model->NumeroOrdenCompra . "<br />" . "Fecha Solicitud -> " . $modelsolicitudcita->FechaSolicitudCita . "<br />" . 'Hora Solicitud -> ' . $modelsolicitudcita->HoraSolicitudCita . "<br />" . 'CEDI -> ' . $model->NombreCedi . "<br />" . 'Número Piezas -> ' . $model->NumeroPiezas . "<br />" . 'Fabricante -> ' . $model->NombreFabricante . "<br />" . 'Transportadora -> ' . $model->NombreTransportador . "<br />" . 'Observaciones -> ' . $modelsolicitudcita->ObservacionesSolicitudCita . "<br />"; $subject = 'Solicitud de Cita Nro : ' . $modelsolicitudcita->IdNumeroSolicitud . ' - Fabricante : ' . $model->NombreFabricante; $message = $body; $email->enviar(array($emailUsuarioFabricante, $nombreCompletoFabricante), array($emailUsuarioAdmin, $nombreCompletoAdmin), $subject, $message); } } }