/** * Creates a new Notificaciones model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new CrearNotificacionForm(); $model->scenario = CrearNotificacionForm::ESCENARIO_CREAR; if ($model->load(Yii::$app->request->post()) && ($notificacion = $model->crear())) { Yii::$app->session->setFlash('toasts', 'Se ha enviado la notificación'); return $this->redirect(['index']); return $this->redirect(['view', 'id' => $notificacion->idnotificacion]); } else { return $this->render('create', ['model' => $model]); } }
/** * Crear notificacion para un usuario * @param $usuario * @param $mensaje * @param $tipo */ public function actionCrear($usuario, $mensaje, $tipo) { // $usuario = !empty($usuario) ? intval($usuario) : 1; $mensaje = !empty($mensaje) ? $mensaje : 'Notificacion de prueba'; $tipo = !empty($tipo) ? $tipo : NotificacionesTipo::TIPO_MENSAJE; $model = new CrearNotificacionForm(); if ($tipo == Notificaciones::REF_MENSAJE) { $model->scenario = CrearNotificacionForm::ESCENARIO_CREAR_POR_MENSAJE; } else { $model->scenario = CrearNotificacionForm::ESCENARIO_CREAR; } $model->usuario = $usuario; $model->tipo = $tipo; $model->referencia = 40; $model->referencia_tipo = Notificaciones::REF_MENSAJE; $model->mensaje = $mensaje; $model->leida = Notificaciones::VISTO_NO; if ($notificacion = $model->crear()) { $this->stdout('Se ha creado la notificacion para el usuario: ' . $notificacion->usuarios->nombre, Console::FG_GREEN); return; } $this->stdout("No se ha podido crear la notificacion \n", Console::FG_RED); return; }
/** * Envia un mensaje al propietario o interesado * Desde el frontend en el detalle del anuncio * Se crea una notificacion para el propietario * @return bool */ public function enviarMensajePublico() { $model = new Mensajes(); $this->scenario = self::ESCENARIO_PUBLICO; if ($this->validate()) { $model->texto = !empty($this->texto) ? ucfirst($this->texto) : self::TEXTO; $model->articulo = $this->articulo; $model->usuario = $this->usuario; $model->tipo = $this->tipo; $model->conversacion = $this->conversacion; if ($model->save(false)) { // echo '<pre>';print_r(['',$this->_conversacion->upropietario]);die(); $notificacion = new CrearNotificacionForm(); $notificacion->scenario = CrearNotificacionForm::ESCENARIO_CREAR_POR_MENSAJE; $notificacion->usuario = $this->_conversacion->propietario; $notificacion->tipo = NotificacionesTipo::TIPO_MENSAJE; $notificacion->referencia = $model->idmensaje; $notificacion->referencia_tipo = Notificaciones::REF_MENSAJE; $notificacion->mensaje = strlen($model->texto) > 85 ? substr($model->texto, 0, 85) . '...' : $model->texto; $notificacion->leida = Notificaciones::VISTO_NO; $notificacion->crear(); return true; } } return false; }