예제 #1
2
 /**
  * VISTA DETALLE MENSAJES
  * @param $id
  * @return string|\yii\web\Response
  */
 public function run($id)
 {
     $id_usuario = Yii::$app->user->identity->getId();
     $datos = new Mensajes();
     $notif = new Notificaciones();
     $model = new EnviarMensajeForm();
     $model->scenario = EnviarMensajeForm::ESCENARIO_PRIVADO;
     //si no tiene permisos es redireccionado a mensajes
     if (!$datos->verificaPermisoMensaje($id, $id_usuario)) {
         return $this->controller->redirect('/mensajes');
     }
     $dataProvider = $datos->mensajesPropietarioInteresado($id, $id_usuario);
     $articulo = $dataProvider->getModels()[0]->conversaciones[0]->articulos;
     $usuario = $dataProvider->getModels()[0]->conversaciones[0]->uinteresado->idusuario == $id_usuario ? $dataProvider->getModels()[0]->conversaciones[0]->upropietario : $dataProvider->getModels()[0]->conversaciones[0]->uinteresado;
     //actualizo fecha visto y notificaciones
     $datos->actualizarFechaVisto($id);
     $notif->actualizarMensajesVisto($id);
     //envia mensaje
     if ($model->load(Yii::$app->request->post())) {
         $model->cargarValoresPrivado($dataProvider->getModels(), $id_usuario);
         if ($model->enviarMensajePrivado()) {
             //                Toast::widget(['tipo'=>'success', 'mensaje'=>'Se ha enviado el mensaje']);
             //                Toast::widget(['tipo'=>'success', 'mensaje'=>'Se ha enviado el mensaje']);
             //                Yii::$app->session->setFlash('success', 'Se ha creado la categoria con exito');
         }
     }
     return $this->controller->render('mensaje-detalle', ['dataProvider' => $dataProvider, 'articulo' => $articulo, 'usuario' => $usuario, 'model' => $model]);
 }
예제 #2
0
 /**
  * VISTA DETALLE ARTICULO
  * hc = historial click, para registrar el click
  * @uses santo-domingo-este/articulo-demo-1
  * @param $municipio
  * @param $articulo
  * @return string|\yii\web\Response
  */
 public function run($municipio, $articulo)
 {
     $post = Yii::$app->request->post();
     $model = $this->findModel($municipio, $articulo);
     $mensaje = new EnviarMensajeForm();
     $mensaje->scenario = EnviarMensajeForm::ESCENARIO_PUBLICO;
     //enviar mensaje
     if (Yii::$app->request->getBodyParam('hc') !== 7 && $mensaje->load(Yii::$app->request->post())) {
         $id_usuario = '';
         if (!Yii::$app->user->isGuest) {
             $id_usuario = Yii::$app->user->identity->getId();
         }
         $mensaje->cargarValoresPublico($id_usuario);
         $enviado = $mensaje->enviarMensajePublico();
         if ($enviado) {
             $data = 'Some data to be returned in response to ajax request';
             $data = ['texto' => 'Algun texto por ahi', 'respuesta' => '<p class="pquantityavailable">
                             <span class="stock-status">Tu mensaje ha sido enviado</span><br>
                             <span>Podrás seguir la conversación en <strong>MENSAJES</strong></span>
                             </p>', 'html' => 'html demo'];
             Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
             return $data;
         }
     }
     if (!empty($model)) {
         $this->controller->view->params['breadcrumbs'][] = ['label' => $model->usuarios->municipios->nombre, 'url' => Url::to(['articulos/provincia', 'provincia' => $model->usuarios->municipios->provincias->slug])];
         $this->controller->view->params['breadcrumbs'][] = $model->nombre;
         return $this->controller->render('detalle-articulo', ['model' => $model, 'mensaje' => $mensaje]);
         echo '<pre>';
         print_r(array('detalle articulo', $municipio, $articulo, $model->usuarios->municipios->slug, $model));
     }
     echo '<pre>';
     print_r(array('detalle articulo', $municipio, $articulo, 'articulo no existe'));
 }
예제 #3
0
 public function testEnviarMensajePropietarioSinAceptarCondiciones()
 {
     $model = new EnviarMensajeForm(['texto' => EnviarMensajeForm::TEXTO, 'nombre' => 'Jose Alberto', 'correo' => '*****@*****.**', 'telefono' => '8095551234', 'articulo' => 8, 'usuario' => 1, 'condiciones' => false]);
     $model->cargarValoresPublico(null);
     $mensaje = $model->enviarMensajePublico();
     expect($mensaje)->false();
 }
예제 #4
0
 /**
  * Crear notificacion para un usuario
  * @param $usuario
  * @param $mensaje
  * @param $tipo
  */
 public function actionEnviarMensaje($usuario, $articulo, $texto)
 {
     $usuario = !empty($usuario) ? intval($usuario) : 0;
     $articulo = !empty($articulo) ? intval($articulo) : 1;
     $texto = !empty($texto) ? $texto : 'Notificacion de prueba';
     $mensaje = new EnviarMensajeForm();
     $mensaje->scenario = EnviarMensajeForm::ESCENARIO_PUBLICO;
     $mensaje->articulo = $articulo;
     $mensaje->texto = $texto;
     $mensaje->condiciones = 1;
     //		if($usuario === 0) {
     $mensaje->nombre = 'Alberto Ponvedraa';
     $mensaje->correo = '*****@*****.**';
     $mensaje->telefono = '698344738';
     //		}
     $mensaje->cargarValoresPublico($usuario);
     if ($mensaje->enviarMensajePublico()) {
         $this->stdout('Se ha enviado el mensaje.', Console::FG_GREEN);
         return;
     }
     $this->stdout("No se ha podido enviar el mensaje \n", Console::FG_RED);
     return;
 }