Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
nutrapharm_producto
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Cristian Mauricio Diaz Canales
nutrapharm_producto
Commits
c2fec9c7
Commit
c2fec9c7
authored
Jun 03, 2020
by
Cristian Mauricio Diaz Canales
💬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Actualizacion general
parent
e3fdf377
Changes
7
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
581 additions
and
0 deletions
+581
-0
app/Resources/views/email/aviso-mail-comparacion.html.twig
app/Resources/views/email/aviso-mail-comparacion.html.twig
+5
-0
app/Resources/views/producto/includes/alert.messages.html.twig
...esources/views/producto/includes/alert.messages.html.twig
+32
-0
app/Resources/views/producto/landing_comparacion_cambios.html.twig
...rces/views/producto/landing_comparacion_cambios.html.twig
+42
-0
app/Resources/views/producto/landing_error.html.twig
app/Resources/views/producto/landing_error.html.twig
+16
-0
app/Resources/views/producto/landing_producto_generar_comparacion.html.twig
...s/producto/landing_producto_generar_comparacion.html.twig
+325
-0
src/AppBundle/Lib/TiempoTranscurrido.php
src/AppBundle/Lib/TiempoTranscurrido.php
+26
-0
src/NutrapharmBundle/Command/EnviarLinkCommand.php
src/NutrapharmBundle/Command/EnviarLinkCommand.php
+135
-0
No files found.
app/Resources/views/email/aviso-mail-comparacion.html.twig
0 → 100644
View file @
c2fec9c7
<p>
Estimado
{{
nombre_usuario
}}
, ya han pasado
{{
dias
}}
desde que inicio el cambio con el producto xxx de nutrapharm.
</p>
<br>
<p>
Tomese una nueva foto y comparta sus cambios haciendo click
<a
href=
"
{{
url_sitio
}}{{
seccion
}}
?idp=
{{
id_usuario
}}
"
target=
"_blank"
>
aquí
</a></p>
app/Resources/views/producto/includes/alert.messages.html.twig
0 → 100644
View file @
c2fec9c7
{%
if
app.session.flashbag.has
(
'success'
)
%}
<div
class=
"alert alert-success"
>
<span
class=
"close"
data-dismiss=
"alert"
>
×
</span>
{%
for
flashMessage
in
app.session.flashbag.get
(
'success'
)
%}
{{
flashMessage
}}
<br>
{%
endfor
%}
</div>
{%
endif
%}
{%
if
app.session.flashbag.has
(
'error'
)
%}
<div
class=
"alert alert-danger"
>
<span
class=
"close"
data-dismiss=
"alert"
>
×
</span>
{%
for
flashMessage
in
app.session.flashbag.get
(
'error'
)
%}
{{
flashMessage
}}
<br>
{%
endfor
%}
</div>
{%
endif
%}
{%
if
app.session.flashbag.has
(
'info'
)
%}
<div
class=
"alert alert-info"
>
<span
class=
"close"
data-dismiss=
"alert"
>
×
</span>
{%
for
flashMessage
in
app.session.flashbag.get
(
'info'
)
%}
{{
flashMessage
}}
<br>
{%
endfor
%}
</div>
{%
endif
%}
{%
if
app.session.flashbag.has
(
'warning'
)
%}
<div
class=
"alert alert-warning"
>
<span
class=
"close"
data-dismiss=
"alert"
>
×
</span>
{%
for
flashMessage
in
app.session.flashbag.get
(
'warning'
)
%}
{{
flashMessage
}}
<br>
{%
endfor
%}
</div>
{%
endif
%}
\ No newline at end of file
app/Resources/views/producto/landing_comparacion_cambios.html.twig
0 → 100644
View file @
c2fec9c7
{%
extends
'base.html.twig'
%}
{%
block
head
%}
<meta
property=
"fb:app_id"
content=
"
{{
facebookAppId
}}
"
/>
<meta
property=
"og:url"
content=
"
{{
urlSitio
}}{{
seccionComparacion
}}
?idp=
{{
idp
}}
"
/>
<meta
property=
"og:type"
content=
"website"
/>
<meta
property=
"og:title"
content=
"NutraPharm - Comparación Foto"
/>
<meta
property=
"og:description"
content=
"
{{
comentarioFinal
}}
"
/>
<meta
property=
"og:image:width"
content=
"1200"
/>
<meta
property=
"og:image:height"
content=
"630"
/>
<meta
property=
"og:image"
content=
"
{{
urlSitio
}}
uploads/users/
{{
idp
}}
_comparacion.png"
/>
{%
endblock
%}
{%
block
body
%}
<div
class=
"row"
>
<div
class=
"col-lg-12"
>
<div
class=
"panel-body"
>
<label>
Foto Comparación
</label>
<img
src=
"
{{
urlSitio
}}
nutrapharm/get/photo?file_name=
{{
idp
}}
_comparacion.
{{
extComparacion
}}
"
/>
<div
class=
"form-group"
>
<span>
{{
comentarioFinal
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-lg-12"
>
<div
class=
"panel-body"
>
<button
class=
"btn"
onclick=
"iniciarProceso(event)"
>
Registra tu cambio
</button>
</div>
</div>
</div>
{%
endblock
%}
{%
block
javascripts
%}
<script>
var
urlSitio
=
"
{{
url_sitio
}}
"
;
var
seccionInicial
=
"
{{
seccionInicial
}}
"
;
function
iniciarProces
(
event
)
{
event
.
preventDefault
();
window
.
location
.
assign
(
urlSitio
+
seccionInicial
);
}
</script>
{%
endblock
%}
\ No newline at end of file
app/Resources/views/producto/landing_error.html.twig
0 → 100644
View file @
c2fec9c7
{%
extends
'base.html.twig'
%}
{%
block
head
%}
<meta
property=
"fb:app_id"
content=
"
{{
facebookAppId
}}
"
/>
<meta
property=
"og:url"
content=
"
{{
urlSitio
}}{{
seccionError
}}
"
/>
<meta
property=
"og:type"
content=
"website"
/>
<meta
property=
"og:title"
content=
"NutraPharm - Error"
/>
<meta
property=
"og:description"
content=
"Ha ocurrido un error en la solicitud"
/>
{%
endblock
%}
{%
block
body
%}
<div
class=
"row"
>
{{
include
(
'producto/includes/alert.messages.html.twig'
)
}}
</div>
{%
endblock
%}
{%
block
javascripts
%}
{%
endblock
%}
app/Resources/views/producto/landing_producto_generar_comparacion.html.twig
0 → 100644
View file @
c2fec9c7
This diff is collapsed.
Click to expand it.
src/AppBundle/Lib/TiempoTranscurrido.php
0 → 100644
View file @
c2fec9c7
<?php
namespace
AppBundle\Lib
;
/**
* Clase para calcular Tiempos transcurridos.
*
* @author Luis Arcos
*/
class
TiempoTranscurrido
{
private
$inicio
;
public
function
__construct
()
{
$this
->
inicio
=
microtime
(
true
);
}
/**
*
* @return Tiempo en Segundos
*/
public
function
getTiempoTranscurrido
()
{
return
round
(
microtime
(
true
)
-
$this
->
inicio
,
4
);
}
}
src/NutrapharmBundle/Command/EnviarLinkCommand.php
0 → 100644
View file @
c2fec9c7
<?php
namespace
NutrapharmBundle\Command
;
use
Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand
;
use
Symfony\Component\Console\Input\InputArgument
;
use
Symfony\Component\Console\Input\InputInterface
;
use
Symfony\Component\Console\Input\InputOption
;
use
Symfony\Component\Console\Output\OutputInterface
;
use
AppBundle\Lib\Utiles
;
use
AppBundle\Lib\TiempoTranscurrido
;
use
AppBundle\Model\UsuarioNutrapharm
;
use
AppBundle\Model\UsuarioNutrapharmQuery
;
use
AppBundle\Model\EnvioCorreoUsuario
;
use
AppBundle\Model\EnvioCorreoUsuarioQuery
;
class
EnviarLinkCommand
extends
ContainerAwareCommand
{
const
ENVIO_NO_APLICA
=
0
;
const
ENVIO_NUEVO
=
1
;
const
ENVIO_ACTUALIZAR
=
2
;
protected
function
configure
()
{
$this
->
setName
(
'enviar-link'
)
->
setDescription
(
'command que envia correo a los usuarios en los cuales haya transcurrido 30 dias'
)
;
}
protected
function
execute
(
InputInterface
$input
,
OutputInterface
$output
)
{
$log
=
Utiles
::
setLog
(
'EnviarLinkCommand:enviar-link'
,
'command/enviar-link'
);
$log
->
debug
(
'**************************INICIO***************************************'
);
$tt
=
new
TiempoTranscurrido
();
$diasComparacion
=
Utiles
::
getParametroConfiguracion
(
"dias_comparacion"
);
$fechaActual
=
new
\DateTime
();
$dataMail
=
[];
$log
->
debug
(
"=======Fecha Actual : "
.
$fechaActual
->
format
(
"Y-m-d H:i:s"
));
$log
->
debug
(
"=======Dias a considerar : "
.
$diasComparacion
);
$email_soporte
=
Utiles
::
getParametroConfiguracion
(
"mail_soporte"
);
$usuarios
=
UsuarioNutrapharmQuery
::
create
()
->
filterByUnuEliminado
(
UsuarioNutrapharm
::
ELIMINADO_FALSE
)
->
filterByUnuEstado
(
UsuarioNutrapharm
::
ESTADO_FOTO_FINAL
)
->
find
();
foreach
(
$usuarios
as
$index
=>
$usuario
)
:
$enviarCorreo
=
$this
->
chequearFechaEnviarCorreo
(
$fechaActual
,
$usuario
->
getCreatedAt
(),
$usuario
->
getUnuId
());
if
(
$enviarCorreo
==
self
::
ENVIO_NUEVO
)
:
$log
->
debug
(
"enviando correo a "
.
$usuario
->
getUnuCorreo
());
$correo
=
\Swift_Message
::
newInstance
()
->
setSubject
(
str_replace
(
"#USUARIO"
,
$usuario
->
getUnuNombre
(),
Utiles
::
getParametroConfiguracion
(
"subject_mail_producto"
)))
->
setFrom
(
$email_soporte
)
->
setTo
(
$usuario
->
getUnuCorreo
());
$dataMail
[
"dias"
]
=
$diasComparacion
;
$dataMail
[
"nombre_usuario"
]
=
$usuario
->
getUnuNombre
();
$dataMail
[
"id_usuario"
]
=
$usuario
->
getUnuIdNutrapharm
();
$dataMail
[
"url_sitio"
]
=
Utiles
::
getParametroConfiguracion
(
"url_sitio"
);
$dataMail
[
"seccion"
]
=
Utiles
::
getParametroConfiguracion
(
"seccion_formulario_comparacion"
);
$correo
->
setBody
(
$this
->
getContainer
()
->
get
(
'templating'
)
->
render
(
'email/aviso-mail-comparacion.html.twig'
,
$dataMail
),
'text/html'
);
if
(
$this
->
getContainer
()
->
get
(
'mailer'
)
->
send
(
$correo
)){
$log
->
info
(
'mensaje enviado correctamente a :'
.
$usuario
->
getUnuCorreo
());
$traza
=
new
EnvioCorreoUsuario
();
$traza
->
setUsuarioNutrapharm
(
$usuario
);
$traza
->
setEcuEstado
(
EnvioCorreoUsuario
::
ESTADO_ENVIADO
);
$traza
->
save
();
$log
->
debug
(
"se creo una traza de envio correo asociada a :"
.
$usuario
->
getUnuId
());
}
else
{
$log
->
info
(
'no se pudo enviar mensaje a:'
.
$usuario
->
getUnuCorreo
());
$traza
=
new
EnvioCorreoUsuario
();
$traza
->
setUsuarioNutrapharm
(
$usuario
);
$traza
->
setEcuEstado
(
EnvioCorreoUsuario
::
ESTADO_PENDIENTE
);
$traza
->
save
();
}
endif
;
if
(
$enviarCorreo
==
self
::
ENVIO_ACTUALIZAR
)
:
$log
->
debug
(
"re-intentando envio correo a "
.
$usuario
->
getUnuCorreo
());
$correo
=
\Swift_Message
::
newInstance
()
->
setSubject
(
str_replace
(
"#USUARIO"
,
$usuario
->
getUnuNombre
(),
Utiles
::
getParametroConfiguracion
(
"subject_mail_producto"
)))
->
setFrom
(
$email_soporte
)
->
setTo
(
$usuario
->
getUnuCorreo
());
$dataMail
[
"dias"
]
=
$diasComparacion
;
$dataMail
[
"nombre_usuario"
]
=
$usuario
->
getUnuNombre
();
$dataMail
[
"id_usuario"
]
=
$usuario
->
getUnuIdNutrapharm
();
$dataMail
[
"url_sitio"
]
=
Utiles
::
getParametroConfiguracion
(
"url_sitio"
);
$dataMail
[
"seccion"
]
=
Utiles
::
getParametroConfiguracion
(
"seccion_formulario_comparacion"
);
$correo
->
setBody
(
$this
->
getContainer
()
->
get
(
'templating'
)
->
render
(
'email/aviso-mail-comparacion.html.twig'
,
$dataMail
),
'text/html'
);
if
(
$this
->
getContainer
()
->
get
(
'mailer'
)
->
send
(
$correo
)){
$log
->
info
(
'mensaje re-enviado correctamente a :'
.
$usuario
->
getUnuCorreo
());
$traza
=
EnvioCorreoUsuario
::
obtenerTraza
(
$usuario
->
getUnuId
());
$traza
->
setEcuEstado
(
EnvioCorreoUsuario
::
ESTADO_ENVIADO
);
$traza
->
save
();
$log
->
debug
(
"se actualizao la traza de envio correo asociada a :"
.
$usuario
->
getUnuId
());
}
else
{
$log
->
info
(
'no se pudo re-enviar mensaje a:'
.
$usuario
->
getUnuCorreo
()
.
", se mantiene en estado pendiente..."
);
}
endif
;
endforeach
;
$output
->
writeln
(
'Command ejecutado.'
);
$log
->
debug
(
' '
);
$log
->
debug
(
'*****************Fin | TIEMPO: '
.
$tt
->
getTiempoTranscurrido
()
.
' Seg. ******************'
);
}
private
function
chequearFechaEnviarCorreo
(
$fechaActual
,
$fechaUsuario
,
$id
)
{
$diferencia
=
$fechaUsuario
->
diff
(
$fechaActual
);
if
(
$diferencia
->
m
>=
1
)
{
$poseeTraza
=
EnvioCorreoUsuarioQuery
::
poseeTrazaEnvio
(
$id
);
if
(
$poseeTraza
==
1
)
{
$traza
=
EnvioCorreoUsuario
::
obtenerTraza
(
$id
);
if
(
$traza
->
getEcuEstado
()
==
EnvioCorreoUsuario
::
ESTADO_PENDIENTE
)
{
return
self
::
ENVIO_ACTUALIZAR
;
}
else
if
(
$traza
->
getEcuEstado
()
==
EnvioCorreoUsuario
::
ESTADO_ENVIADO
)
{
return
self
::
ENVIO_NO_APLICA
;
}
}
else
{
return
self
::
ENVIO_NUEVO
;
}
}
return
self
::
ENVIO_NO_APLICA
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment