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