parriba
This commit is contained in:
@@ -68,12 +68,11 @@ sub startup {
|
||||
# admin =======================================================================
|
||||
my $admin = $r->under('/admin')->to('users#is_admin');
|
||||
$admin->any('')->to('admin#admin');
|
||||
$admin->any('home')->to('admin#admin');
|
||||
$admin->any('home')->to('admin#home');
|
||||
$admin->any('radio')->to('admin#radio');
|
||||
$admin->any('eventos')->to('admin#eventos');
|
||||
$admin->any('eventos/:type'=> [type=>['e','p','c']])->to('admin#eventos');
|
||||
$admin->any('mensajes')->to('admin#mensajes');
|
||||
$admin->any('tienda')->to('admin#tienda');
|
||||
$admin->any('json/:dreq/:id')->to('admin#json');
|
||||
|
||||
# =============================================================================
|
||||
|
||||
@@ -5,78 +5,103 @@ use Mojo::Base 'Mojolicious::Controller';
|
||||
use Dojo::Support qw{ log };
|
||||
|
||||
|
||||
# pagina y mensajes ===========================================================
|
||||
|
||||
# Admin =======================================================================
|
||||
sub admin{
|
||||
my $c= shift;
|
||||
$c->redirect_to('/admin/home');
|
||||
}
|
||||
|
||||
sub home{
|
||||
my $c=shift;
|
||||
my $n=$c->param("dreq")//"";
|
||||
my $json = {status => "304"};
|
||||
$json = ($c->dbv->rmsgid ($c->param('id')))[0] if ($n =~m/^mensajes$/);
|
||||
$json = ($c->dbv->ecourse($c->param('id')))[0] if ($n =~m/^ecourse$/);
|
||||
$json = ($c->dbv->qcourse($c->param('id')))[0] if ($n =~m/^qcourse$/);
|
||||
$json = ($c->dbv->qplace ($c->param('id')))[0] if ($n =~m/^qplace$/);
|
||||
$c->render(json=>$json);
|
||||
$c->dbv->umod($c->param('link'),$c->param('update'))
|
||||
if (($c->param("hup") // " " )=~/Cambiar/);
|
||||
$c->stash(template=>"admin/home");
|
||||
$c->stash(layout=>"admin");
|
||||
$c->stash( $c->dbv->mod);
|
||||
}
|
||||
|
||||
sub radio{
|
||||
my $c=shift;
|
||||
$c->dbv->umod($c->param('link'),'rmod')
|
||||
if (($c->param("hup") // " " )=~/Cambiar/);
|
||||
$c->dbg->ugrulla_pass($c->param('gpass'))
|
||||
if (($c->param("pup") // " " )=~/Cambiar/);
|
||||
$c->stash($c->dbv->mod);
|
||||
$c->stash($c->dbg->grulla_pass);
|
||||
$c->stash(apend => ["admin/candySwitch"]);
|
||||
$c->stash(template=>"admin/radio");
|
||||
$c->stash(layout=>"admin");
|
||||
}
|
||||
|
||||
sub mensajes{
|
||||
my $c=shift;
|
||||
$c->stash( h=>$c->dbv->msg_heads);
|
||||
$c->stash(template=>"admin/mensajes");
|
||||
$c->stash(layout=>"admin");
|
||||
}
|
||||
|
||||
|
||||
# Eventos =====================================================================
|
||||
sub admin_eventos{
|
||||
sub eventos{
|
||||
my $c=shift;
|
||||
if ( (my $t=$c->param('type') // "") =~/[ecp]/){
|
||||
my $id=$c->param('id');
|
||||
my $req=$c->param('req');
|
||||
if ( $req eq "Eliminar"){
|
||||
$c->dbv->event_del($id) if ($t eq 'e');
|
||||
$c->dbv->course_del($id) if ($t eq 'c');
|
||||
$c->dbv->place_del($id) if ($t eq 'p');
|
||||
$c->mproc->event_del($id) if ($t eq 'e');
|
||||
$c->mproc->course_del($id) if ($t eq 'c');
|
||||
$c->mproc->place_del($id) if ($t eq 'p');
|
||||
}
|
||||
elsif( $req eq "Aceptar"){
|
||||
if($t eq 'e'){
|
||||
my @list=map{$c->param($_)}qw/eplace yini mini dini yend mend dend cost promo pen ecourse eimg een id/;
|
||||
$c->dbv->event_up(@list) if ($id ==0);
|
||||
$c->dbv->event_ch(@list) if ($id >0);
|
||||
$c->mproc->event_up(@list) if ($id ==0);
|
||||
$c->mproc->event_ch(@list) if ($id >0);
|
||||
}
|
||||
if($t eq 'c'){
|
||||
my @list=map{$c->param($_)}qw/cname csubjects cservices cen id/;
|
||||
$c->dbv->course_up(@list) if ($id ==0);
|
||||
$c->dbv->course_ch(@list) if ($id >0);
|
||||
$c->mproc->course_up(@list) if ($id ==0);
|
||||
$c->mproc->course_ch(@list) if ($id >0);
|
||||
}
|
||||
if($t eq 'p'){
|
||||
my @list=map{$c->param($_)}qw/pname paddr pobs pto pst pco plat plng pen id/;
|
||||
$c->dbv->place_up(@list) if ($id ==0);
|
||||
$c->dbv->place_ch(@list) if ($id >0);
|
||||
$c->mproc->place_up(@list) if ($id ==0);
|
||||
$c->mproc->place_ch(@list) if ($id >0);
|
||||
}
|
||||
}
|
||||
$c->redirect_to("/admin/eventos");
|
||||
}
|
||||
|
||||
$c->stash(
|
||||
courses=>$c->dbv->courses,
|
||||
places=>$c->dbv->places,
|
||||
months=>$c->dbv->months,
|
||||
events=>$c->dbv->events,
|
||||
img=>$c->dbv->eimgList,
|
||||
courses=>$c->mproc->courses,
|
||||
places=>$c->mproc->places,
|
||||
months=>['enero','febrero','marzo','abril','mayo','junio','julio','agosto','septiembre','octubre','noviembre','diciembre' ],
|
||||
events=>$c->mproc->events,
|
||||
img=>$c->mproc->eimgList,
|
||||
);
|
||||
$c->stash(template=>"home/admin/event");
|
||||
$c->stash(layout=>"admin");
|
||||
}
|
||||
|
||||
sub admin_tienda{
|
||||
my $c=shift;
|
||||
$c->stash(u=>$c->dbv->user_heads);
|
||||
$c->stash(s=>$c->dbv->store_heads);
|
||||
$c->stash(template=>"home/admin/tienda");
|
||||
$c->stash(template=>"admin/event");
|
||||
$c->stash(layout=>"admin");
|
||||
}
|
||||
|
||||
# Funciones auxiliares ========================================================
|
||||
sub admin_json{
|
||||
sub json{
|
||||
my $c=shift;
|
||||
my $id = $c->param('id');
|
||||
my $req = $c->param('dreq');
|
||||
my $json = "304";
|
||||
$json = $c->dbv->astore($id) if $req=~/tienda/;
|
||||
$json = $c->dbv->course($id) if $req=~/course/;
|
||||
$json = $c->dbv->place($id) if $req=~/place/;
|
||||
$json = $c->dbv->eventa($id) if $req=~/event/;
|
||||
$json = $c->dbv->msg($id) if $req=~/mensaje/;
|
||||
$json = $c->dbv->rmsgid ($id) if $req =~/^mensajes$/;
|
||||
|
||||
$json = $c->mproc->course($id) if $req=~/course/;
|
||||
$json = $c->mproc->place($id) if $req=~/place/;
|
||||
$json = $c->mproc->eventa($id) if $req=~/event/;
|
||||
$json = $c->mproc->ecourse($id) if $req =~/^ecourse$/;
|
||||
$json = $c->mproc->qcourse($id) if $req =~/^qcourse$/;
|
||||
$json = $c->mproc->qplace ($id) if $req =~/^qplace$/;
|
||||
$c->render(json=>$json);
|
||||
}
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package Dojo::Controller::Home;
|
||||
use Mojo::Base 'Mojolicious::Controller';
|
||||
use Mojo::Template;
|
||||
use Dojo::Support qw{ log get_names};
|
||||
use Dojo::Support qw{send_mail log get_names};
|
||||
use JSON;
|
||||
use Data::Dumper;
|
||||
#=========================
|
||||
@@ -128,51 +128,4 @@ sub candy{
|
||||
#==============================================================================
|
||||
|
||||
|
||||
# Admin =======================================================================
|
||||
sub admin{
|
||||
my $c= shift;
|
||||
$c->redirect_to('/admin/home');
|
||||
}
|
||||
sub admin_home{
|
||||
my $c=shift;
|
||||
$c->dbv->umod($c->param('link'),$c->param('update'))
|
||||
if (($c->param("hup") // " " )=~/Cambiar/);
|
||||
$c->stash(template=>"home/admin/home");
|
||||
$c->stash(layout=>"admin");
|
||||
$c->stash( $c->dbv->mod);
|
||||
}
|
||||
|
||||
sub admin_radio{
|
||||
my $c=shift;
|
||||
$c->dbv->umod($c->param('link'),'rmod')
|
||||
if (($c->param("hup") // " " )=~/Cambiar/);
|
||||
$c->dbg->ugrulla_pass($c->param('gpass'))
|
||||
if (($c->param("pup") // " " )=~/Cambiar/);
|
||||
$c->stash($c->dbv->mod);
|
||||
$c->stash($c->dbg->grulla_pass);
|
||||
$c->stash(apend => ["home/admin/candySwitch"]);
|
||||
$c->stash(template=>"home/admin/radio");
|
||||
$c->stash(layout=>"admin");
|
||||
}
|
||||
|
||||
sub admin_mensajes{
|
||||
my $c=shift;
|
||||
$c->stash( h=>$c->dbv->msg_heads);
|
||||
$c->stash(template=>"home/admin/mensajes");
|
||||
$c->stash(layout=>"admin");
|
||||
}
|
||||
|
||||
sub admin_json{
|
||||
my $c=shift;
|
||||
my $id = $c->param('id');
|
||||
my $req = $c->param('dreq');
|
||||
my $json = "304";
|
||||
$json = $c->dbv->msg($id) if $req=~/mensaje/;
|
||||
$json = $c->dbv->user($id) if $req=~/usuarios/;
|
||||
$c->render(json=>$json);
|
||||
}
|
||||
|
||||
|
||||
#==============================================================================
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package Dojo::Controller::Proc;
|
||||
use Mojo::Base 'Mojolicious::Controller';
|
||||
use Mojo::Template;
|
||||
use Dojo::Support qw{ log get_names};
|
||||
use Dojo::Support qw{ send_mail log get_names};
|
||||
|
||||
use LWP::UserAgent;
|
||||
use HTTP::Request::Common;
|
||||
@@ -125,6 +125,9 @@ sub intentConfirm{
|
||||
if ($r->{'status'} ne "succeeded" ){intentError($c,"payment not completed,2"); return;}
|
||||
|
||||
$c->mproc->intentConfirm($data,$r);
|
||||
map { send_mail(@$_) }$c->mproc->notify($data,$r);
|
||||
|
||||
|
||||
my $rtt = {
|
||||
'status'=>$r->{'status'},
|
||||
'plan' => $r->{'payment_method_options'}{'card'}{'installments'}{'plan'},
|
||||
|
||||
@@ -22,8 +22,7 @@ sub reg{
|
||||
$self->stash(layout=>"default");
|
||||
}
|
||||
|
||||
|
||||
sub login {
|
||||
sub login {
|
||||
my $self = shift;
|
||||
#falta si el usuario ya está registrado y llama a login.
|
||||
if (($self->session('ureq')//0) == 4){ #admin
|
||||
@@ -57,18 +56,21 @@ sub is_logged {
|
||||
$self->session(ureq=>1,prev=>$self->url_for);
|
||||
$self->redirect_to('login');
|
||||
}
|
||||
|
||||
sub is_admin {
|
||||
my $self = shift;
|
||||
return 1 if ( ($self->session('pmid') //0) == 4);
|
||||
$self->session(ureq=>4,prev=>$self->url_for);
|
||||
$self->redirect_to('login');
|
||||
}
|
||||
|
||||
sub is_grulla {
|
||||
my $self = shift;
|
||||
return 1 if (($self->session('pmid')//0)>=2);
|
||||
$self->session(ureq=>2,tmpreq=>0,prev=>$self->url_for);
|
||||
$self->redirect_to('login');
|
||||
}
|
||||
|
||||
sub is_grulla_tmp{
|
||||
my $self = shift;
|
||||
return 1 if (($self->session('pmid')//0)>=2);
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
insert into curso
|
||||
(nombre,temario,servicios,estado)
|
||||
values(
|
||||
?, # cname
|
||||
?, # csubjects
|
||||
?, # cservices
|
||||
case ? when "on" then 1 else 0 end #cen
|
||||
);
|
||||
|
||||
insert into curso (
|
||||
nombre,
|
||||
subnombre,
|
||||
descripcion,
|
||||
imagena,
|
||||
maestro,
|
||||
temario,
|
||||
servicios,
|
||||
estado
|
||||
)
|
||||
values(?,?,?,?,?,?,?,?);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,14 +1,20 @@
|
||||
insert into evento
|
||||
(lugar_id, fecha_inicio, fecha_fin, precio, promocion, promo_estado, curso_id, imagen_chica, estado)
|
||||
values(
|
||||
?, # eplace
|
||||
concat(?,"-",?,"-",?), # yini - mini - dini
|
||||
concat(?,"-",?,"-",?), # yend - mend - dend
|
||||
?, # cost ,
|
||||
?, # promo ,
|
||||
case ? when "on" then 1 else 0 end, # pen
|
||||
?, # ecourse ,
|
||||
?, # eimg ,
|
||||
case ? when "on" then 1 else 0 end # een
|
||||
);
|
||||
|
||||
insert into curso_tienda (
|
||||
lugar_id,
|
||||
fecha_inicio,
|
||||
fecha_fin,
|
||||
imagen_chica,
|
||||
comentario,
|
||||
precio,
|
||||
promocion,
|
||||
promo_estado,
|
||||
playera_estado,
|
||||
spay,
|
||||
store,
|
||||
meses,
|
||||
cupo,
|
||||
curso_id,
|
||||
estado
|
||||
)
|
||||
values( ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
insert into lugar
|
||||
(nombre,direccion,observacion,municipio,federativa,pais,lat,lng,estado)
|
||||
values(
|
||||
?, # pname
|
||||
?, # paddr
|
||||
?, # pobs
|
||||
?, # pto
|
||||
?, # pst
|
||||
?, # pco
|
||||
?, # plat
|
||||
?, # plng
|
||||
case ? when "on" then 1 else 0 end #pen
|
||||
);
|
||||
|
||||
insert into curso_lugar (
|
||||
nombre,
|
||||
direccion,
|
||||
observacion,
|
||||
municipio,
|
||||
federativa,
|
||||
pais,
|
||||
lat,
|
||||
lng,
|
||||
estado
|
||||
)
|
||||
values(?,?,?,?,?,?,?,?,?);
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
update curso set
|
||||
nombre = ?, # cname
|
||||
temario = ?, # csubjects
|
||||
servicios = ?, # cservices
|
||||
estado = case ? when "on" then 1 else 0 end # cen
|
||||
where id = ? ; # cprev
|
||||
|
||||
update curso set
|
||||
nombre=?,
|
||||
subnombre=?,
|
||||
descripcion=?,
|
||||
imagena=?,
|
||||
maestro=?,
|
||||
temario=?,
|
||||
servicios=?,
|
||||
estado=?
|
||||
where id = ? ; # cprev
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
delete from evento where id = ? ; # eprev
|
||||
delete from curso_tienda where id = ? ; # eprev
|
||||
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
update evento set
|
||||
lugar_id = ?, # eplace
|
||||
fecha_inicio = concat(?,"-",?,"-",?), # yini - mini - dini
|
||||
fecha_fin = concat(?,"-",?,"-",?), # yend - mend - dend
|
||||
precio = ?, # cost
|
||||
promocion = ?, # promo
|
||||
promo_estado = case ? when "on" then 1 else 0 end, #pen
|
||||
curso_id = ?, # ecourse
|
||||
imagen_chica = ?, # eimg
|
||||
estado = case ? when "on" then 1 else 0 end # een
|
||||
|
||||
update curso_tienda set
|
||||
lugar_id=?,
|
||||
fecha_inicio=?,
|
||||
fecha_fin=?,
|
||||
imagen_chica=?,
|
||||
comentario=?,
|
||||
precio=?,
|
||||
promocion=?,
|
||||
promo_estado=?,
|
||||
playera_estado=?,
|
||||
spay=?,
|
||||
store=?,
|
||||
meses=?,
|
||||
cupo=?,
|
||||
curso_id=?,
|
||||
estado=?
|
||||
where id = ?; # eprev
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
delete from lugar where id = ?; # pprev ;
|
||||
delete from curso_lugar where id = ?; # pprev ;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
update lugar set
|
||||
|
||||
update curso_lugar set
|
||||
nombre= ?, # pname
|
||||
direccion= ?, # paddr
|
||||
observacion= ?,# pobs
|
||||
@@ -7,6 +8,6 @@
|
||||
pais= ?, # pco
|
||||
lat=?, # plat
|
||||
lng=?, # plng
|
||||
estado = case ? when "on" then 1 else 0 end # pen
|
||||
where id = ?; # pprev ;
|
||||
estado = ?
|
||||
where id = ?; # pprev ;
|
||||
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
|
||||
select
|
||||
id as "cid",
|
||||
nombre as "cname",
|
||||
subnombre as "csubname",
|
||||
descripcion as "cdesc",
|
||||
imagen_a as "cimga",
|
||||
maestro as "cmas",
|
||||
temario as "csubjects",
|
||||
servicios as "cservices"
|
||||
servicios as "cservices",
|
||||
estado as "cestado"
|
||||
from curso
|
||||
where id= ? ; #course ;
|
||||
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
|
||||
select
|
||||
"event" as "tag",
|
||||
id,
|
||||
lugar_id as "pid",
|
||||
curso_id as "cid",
|
||||
precio as "cost",
|
||||
promocion as "promo",
|
||||
promo_estado as "pen",
|
||||
day(fecha_inicio) as "dini",
|
||||
month(fecha_inicio) as "mini",
|
||||
year(fecha_inicio) as "yini",
|
||||
@@ -13,9 +10,18 @@ select
|
||||
month(fecha_fin) as "mend",
|
||||
year(fecha_fin) as "yend",
|
||||
coalesce(imagen_chica,0) as "eimg",
|
||||
|
||||
comentario as "comment",
|
||||
precio as "cost",
|
||||
promocion as "promo",
|
||||
promo_estado as "pen",
|
||||
playera_estado as "ten",
|
||||
spay,
|
||||
estore,
|
||||
meses,
|
||||
cupo,
|
||||
curso_id as "cid",
|
||||
estado as "een"
|
||||
from evento
|
||||
where id= ? ; # ecourse ;
|
||||
from curso_tienda
|
||||
where id= ? ; # ecourse ;
|
||||
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ select
|
||||
lat as "plat",
|
||||
lng as "plng",
|
||||
estado as "pen"
|
||||
from lugar
|
||||
from curso_lugar
|
||||
where id= ? ; # course ;
|
||||
|
||||
|
||||
|
||||
@@ -1,11 +1,4 @@
|
||||
|
||||
/* c#host localhost*/
|
||||
/* c#database #dbdata */
|
||||
/* c#user #dbdata_user */
|
||||
/* c#password #dbdata_pass */
|
||||
|
||||
|
||||
|
||||
select
|
||||
"cprev" as "tag",
|
||||
nombre as "name",
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
|
||||
/* c#host localhost*/
|
||||
/* c#database #dbdata */
|
||||
/* c#user #dbdata_user */
|
||||
/* c#password #dbdata_pass */
|
||||
|
||||
|
||||
select
|
||||
"ecourse" as "tag",
|
||||
nombre as "name",
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
|
||||
/* c#host localhost*/
|
||||
/* c#database #dbdata */
|
||||
/* c#user #dbdata_user */
|
||||
/* c#password #dbdata_pass */
|
||||
|
||||
|
||||
|
||||
select
|
||||
"emend" as "tag",
|
||||
nombre as "name",
|
||||
id
|
||||
from mes;
|
||||
@@ -1,14 +0,0 @@
|
||||
|
||||
/* c#host localhost*/
|
||||
/* c#database #dbdata */
|
||||
/* c#user #dbdata_user */
|
||||
/* c#password #dbdata_pass */
|
||||
|
||||
|
||||
|
||||
|
||||
select
|
||||
"emini" as "tag",
|
||||
nombre as "name",
|
||||
id
|
||||
from mes;
|
||||
@@ -1,13 +1,6 @@
|
||||
|
||||
/* c#host localhost*/
|
||||
/* c#database #dbdata */
|
||||
/* c#user #dbdata_user */
|
||||
/* c#password #dbdata_pass */
|
||||
|
||||
|
||||
|
||||
select
|
||||
"eplace" as "tag",
|
||||
nombre as "name",
|
||||
id
|
||||
from lugar where estado=1;
|
||||
from curso_lugar where estado=1;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
select
|
||||
concat(day(e.fecha_inicio)," de ",m.nombre," ",l.nombre) as "name",
|
||||
e.id as id
|
||||
from evento as e
|
||||
inner join lugar as l on e.lugar_id=l.id
|
||||
inner join mes as m on month(e.fecha_inicio)=m.id
|
||||
where e.estado=1
|
||||
order by e.fecha_inicio desc;
|
||||
|
||||
select
|
||||
concat(month(t.fecha_inicio)," ",day(t.fecha_inicio)," ",l.nombre) as "name",
|
||||
t.id as id
|
||||
from curso_tienda as t
|
||||
inner join curso_lugar as l on t.lugar_id=l.id
|
||||
where t.estado=1
|
||||
order by t.fecha_inicio desc;
|
||||
|
||||
|
||||
@@ -1,15 +1,8 @@
|
||||
|
||||
/* c#host localhost*/
|
||||
/* c#database #dbdata */
|
||||
/* c#user #dbdata_user */
|
||||
/* c#password #dbdata_pass */
|
||||
|
||||
|
||||
|
||||
select
|
||||
"pprev" as "tag",
|
||||
nombre as "name",
|
||||
id
|
||||
from lugar
|
||||
from curso_lugar
|
||||
order by nombre asc;
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
select
|
||||
e.id as imid,
|
||||
concat(day(e.fecha)," de ",m.nombre," ", year(e.fecha)) as imdate,
|
||||
concat(month(e.fecha)," ",day(e.fecha)," ", year(e.fecha)) as imdate,
|
||||
e.nombre as imname,
|
||||
e.correo as imail,
|
||||
e.texto as immsg
|
||||
|
||||
from entrada as e
|
||||
inner join vuelo.mes as m on m.id=month(e.fecha)
|
||||
where e.id= ? ; #imid
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
|
||||
select
|
||||
id as mid,
|
||||
concat(nombre," ",date(fecha)) as "entry"
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
select
|
||||
a.id,a.nombre,a.existencia,a.imagen,a.precio,a.activo,a.descripcion,date(a.vigencia) as vigencia,b.nombre as entrega
|
||||
from tienda as a inner join entrega as b where a.entrega_id=b.id
|
||||
and a.id=?;
|
||||
@@ -1,4 +0,0 @@
|
||||
select
|
||||
correo,telefono as tel, observacion as obs,date(ultima) as ultima
|
||||
from usuario where id=?;
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
select
|
||||
id,nombre,existencia,precio,activo
|
||||
from tienda order by id;
|
||||
@@ -1,4 +0,0 @@
|
||||
select
|
||||
id,usuario,nombre
|
||||
from usuario order by usuario;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
insert into caja_evento
|
||||
insert into curso_caja
|
||||
(
|
||||
cliente_nombre,
|
||||
cliente_correo,
|
||||
cliente_comentario,
|
||||
tienda_evento_id,
|
||||
curso_tienda_id,
|
||||
talla_id,
|
||||
cantidad,
|
||||
monto,
|
||||
|
||||
@@ -2,7 +2,7 @@ select
|
||||
t.precio as precio,
|
||||
c.nombre as nombre
|
||||
from
|
||||
tienda_evento as t
|
||||
curso_tienda as t
|
||||
inner join
|
||||
curso as c on t.curso_id=c.id
|
||||
where
|
||||
|
||||
12
lib/Dojo/Model/Data/spay/qNotify.q
Normal file
12
lib/Dojo/Model/Data/spay/qNotify.q
Normal file
@@ -0,0 +1,12 @@
|
||||
select
|
||||
c.nombre as cnombre,
|
||||
c.subnombre as csubnobre,
|
||||
t.mmail as mmail,
|
||||
t.fecha_inicio,
|
||||
t.fecha_fin,
|
||||
t.precio as cantidad
|
||||
from curso_tienda as t
|
||||
inner join curso as c on c.id = t.curso_id
|
||||
where t.id = ? and t.estado =1
|
||||
;
|
||||
|
||||
@@ -84,6 +84,50 @@ sub intentConfirm{
|
||||
return ;
|
||||
}
|
||||
|
||||
sub notify{
|
||||
my ($c,$d,$r) = @_;
|
||||
my $t =shift @{ _read ($data_path->child("spay/qNotify.q")->slurp,$d->{'tid'})};
|
||||
my @ra;
|
||||
my %h=qw/0 na 1 ch 2 m 3 g/;
|
||||
my $plazo= defined( $d->{'selected_plan'})?
|
||||
$d->{'selected_plan'}->{'count'} : "0";
|
||||
my $students = $d->{'students'};
|
||||
my $basetxta = "$t->{'cnombre'}
|
||||
clave de pago stripe: $d->{'payment_intent_id'}
|
||||
plazo: $plazo meses
|
||||
cantidad: $t->{'cantidad'}
|
||||
";
|
||||
my $basetxtu = $t->{'cnombre'}//""."
|
||||
".$t->{'subnombre'}//""."
|
||||
|
||||
";
|
||||
|
||||
foreach(1 .. $d->{'mq'}) {
|
||||
push (@ra, ["
|
||||
$basetxtu
|
||||
$$students[$_ -1][0]
|
||||
$t->{'mmail'}
|
||||
|
||||
|
||||
tu clave de pago es la sigiente. Tenla a la mano para cualquier aclaración
|
||||
==========================
|
||||
$d->{'payment_intent_id'}
|
||||
===========================
|
||||
", " Inscripción ", $$students[$_ -1][1]]);
|
||||
$basetxta .= "
|
||||
Nombre: $$students[$_ -1][0]
|
||||
Correo: $$students[$_ -1][1]
|
||||
Telefono:$$students[$_ -1][0]
|
||||
Playera:$h{$$students[$_ -1][3]}
|
||||
Comentario:$$students[$_ -1][2]
|
||||
=====================
|
||||
";
|
||||
}
|
||||
|
||||
push (@ra, [$basetxta,"Inscripciones",'david@chaos.foundation']);
|
||||
return @ra;
|
||||
}
|
||||
|
||||
# Check payment user info ==============
|
||||
# data:
|
||||
# ===============
|
||||
@@ -135,9 +179,9 @@ sub is_mail{
|
||||
#==============================================================================
|
||||
|
||||
# admin evets
|
||||
sub event_del { return _write("delete from evento where id = ?;",pop);}
|
||||
sub event_del { return _write("delete from curso_tienda where id = ?;",pop);}
|
||||
sub course_del{ return _write("delete from curso where id = ?;",pop); }
|
||||
sub place_del { return _write("delete from lugar where id = ?;",pop); }
|
||||
sub place_del { return _write("delete from curso_lugar where id = ?;",pop); }
|
||||
|
||||
sub event_up{
|
||||
my ($self,@bind)=@_;
|
||||
@@ -165,6 +209,22 @@ sub place_ch{
|
||||
}
|
||||
|
||||
#==============================================================================
|
||||
sub courses{ return _read("select nombre as name, id from curso;")}
|
||||
|
||||
sub course { return shift @{_read($data_path->child("/admin/event/json/qCourse.q")->slurp,pop)}}
|
||||
|
||||
sub places { return _read("select nombre as name, id from curso_lugar;")}
|
||||
|
||||
sub place { return shift @{_read($data_path->child("/admin/event/json/qPlace.q")->slurp,pop)}}
|
||||
|
||||
sub events { return _read($data_path->child("/admin/event/qEprev.q")->slurp)}
|
||||
|
||||
sub eventa { return shift @{_read($data_path->child("/admin/event/json/qEvent.q")->slurp,pop)}}
|
||||
|
||||
sub eimgList{
|
||||
my $dp = path('public/proc/cal/img')->make_path;
|
||||
return [ map{ $_->basename} grep{/(jpg|png)$/i}@{$dp->list} ];
|
||||
}
|
||||
|
||||
# lower level read =====================================
|
||||
|
||||
|
||||
@@ -30,17 +30,6 @@ sub pang_md{
|
||||
return \%h;
|
||||
}
|
||||
|
||||
sub calendar_monthblock {
|
||||
return _read ($data_path->child("cal/q1Block.q")->slurp);
|
||||
}
|
||||
sub calendar_events {
|
||||
return _read ($data_path->child("cal/q3Event.q")->slurp);
|
||||
}
|
||||
|
||||
sub event{
|
||||
my ($c,$id)=@_;
|
||||
return shift @{ _read ($data_path->child("event/qEvent.q")->slurp,$id)};
|
||||
}
|
||||
sub tv_videos{
|
||||
return _read ($data_path->child("/tv/qSeries.q")->slurp); #group,name
|
||||
}
|
||||
@@ -57,7 +46,7 @@ sub podcast_infoHash{
|
||||
#==============================================================================
|
||||
|
||||
# Read vdg admin ==============================================================
|
||||
sub msg_heads{
|
||||
sub msg_heads{
|
||||
my ($self,@bind)=@_;
|
||||
my @empty;
|
||||
my $q= $data_path->child("/admin/mensajes/qEntries.q")->slurp;
|
||||
@@ -67,9 +56,9 @@ sub podcast_infoHash{
|
||||
#((col1=>d1,col2=>d1),(col1=>d2,col2=>d2))
|
||||
$dbh->disconnect();
|
||||
return $h;
|
||||
}
|
||||
}
|
||||
|
||||
sub msg{
|
||||
sub msg{
|
||||
my ($c,@bind)=@_;
|
||||
my @empty;
|
||||
my $q= $data_path->child("/admin/mensajes/json/qGetInfo.q")->slurp;
|
||||
@@ -79,35 +68,7 @@ sub podcast_infoHash{
|
||||
#((col1=>d1,col2=>d1),(col1=>d2,col2=>d2))
|
||||
$dbh->disconnect();
|
||||
return shift @$h;
|
||||
}
|
||||
|
||||
sub user_heads{
|
||||
return _readgrulla($data_path->child("admin/tienda/qUsers.q")->slurp);
|
||||
}
|
||||
|
||||
sub store_heads{
|
||||
return _readgrulla($data_path->child("admin/tienda/qStore.q")->slurp);
|
||||
}
|
||||
|
||||
sub user {
|
||||
return shift @{_readgrulla($data_path->child("admin/tienda/json/qUsers.q")->slurp,pop)}}
|
||||
|
||||
sub astore {
|
||||
return shift @{_readgrulla($data_path->child("/admin/tienda/json/qStore.q")->slurp,pop)}}
|
||||
|
||||
|
||||
sub courses{ return _read("select nombre as name, id from curso;")}
|
||||
sub course { return shift @{_read($data_path->child("/admin/event/json/qCourse.q")->slurp,pop)}}
|
||||
sub places { return _read("select nombre as name, id from lugar;")}
|
||||
sub place { return shift @{_read($data_path->child("/admin/event/json/qPlace.q")->slurp,pop)}}
|
||||
sub months { return _read("select nombre as name, id from mes;")};
|
||||
sub events { return _read($data_path->child("/admin/event/qEprev.q")->slurp)}
|
||||
sub eventa { return shift @{_read($data_path->child("/admin/event/json/qEvent.q")->slurp,pop)}}
|
||||
# sub eimgList{ return [get_names("public/home/cal/img/")] }
|
||||
sub eimgList{
|
||||
my $dp = path('public/home/cal/img')->make_path;
|
||||
return [ map{ $_->basename} grep{/(jpg|png)$/i}@{$dp->list} ];
|
||||
}
|
||||
}
|
||||
|
||||
#==============================================================================
|
||||
# Write vdg user ==============================================================
|
||||
@@ -116,7 +77,7 @@ sub contact{
|
||||
my $q="insert into entrada (nombre,correo,pagina,texto,fecha) values(?,?,?,?,now() )" ;
|
||||
my @a=@_;
|
||||
#simple method to ignore spam
|
||||
return _writemsg($q,@a) unless $a[3]=~m/http|website|\<a|feedback|forms|suscribe|advertise|newsletter|promotion|Madam|Sir/;
|
||||
return _writemsg($q,@a) unless $a[3]=~m/http|website|\<a|feedback|forms|suscribe|investment|funding|site|company|advertise|newsletter|promotion|Madam|Sir/;
|
||||
return 0;
|
||||
}
|
||||
#==============================================================================
|
||||
@@ -127,35 +88,6 @@ sub umod{
|
||||
return _write($q,@_);
|
||||
}
|
||||
|
||||
sub event_del { return _write("delete from evento where id = ?;",pop);}
|
||||
sub course_del{ return _write("delete from curso where id = ?;",pop); }
|
||||
sub place_del { return _write("delete from lugar where id = ?;",pop); }
|
||||
|
||||
sub event_up{
|
||||
my ($self,@bind)=@_;
|
||||
return _write($data_path->child("/admin/event/add/qEup.q")->slurp,@bind);
|
||||
}
|
||||
sub course_up{
|
||||
my ($self,@bind)=@_;
|
||||
return _write($data_path->child("/admin/event/add/qCup.q")->slurp,@bind);
|
||||
}
|
||||
sub place_up{
|
||||
my ($self,@bind)=@_;
|
||||
return _write($data_path->child("/admin/event/add/qPup.q")->slurp,@bind);
|
||||
}
|
||||
sub event_ch{
|
||||
my ($self,@bind)=@_;
|
||||
return _write($data_path->child("/admin/event/change/qEup.q")->slurp,@bind);
|
||||
}
|
||||
sub course_ch{
|
||||
my ($self,@bind)=@_;
|
||||
return _write($data_path->child("/admin/event/change/qCup.q")->slurp,@bind);
|
||||
}
|
||||
sub place_ch{
|
||||
my ($self,@bind)=@_;
|
||||
return _write($data_path->child("/admin/event/change/qPup.q")->slurp,@bind);
|
||||
}
|
||||
|
||||
#==============================================================================
|
||||
|
||||
#ayudas =====================================
|
||||
|
||||
@@ -2,7 +2,7 @@ package Dojo::Support;
|
||||
use strict;
|
||||
use warnings;
|
||||
use Exporter 'import';
|
||||
our @EXPORT = qw/ mtxt commify month_num2txt log dmph merge_hash load_module get_names /;
|
||||
our @EXPORT = qw/send_mail mtxt commify month_names month_num2txt log dmph merge_hash load_module get_names /;
|
||||
use Mojo::Base 'Mojolicious';
|
||||
|
||||
use File::Basename;
|
||||
@@ -18,6 +18,11 @@ sub log{
|
||||
$log->debug("============ ".shift." ===========");
|
||||
}
|
||||
|
||||
sub _log{
|
||||
my $log = Mojo::Log->new;
|
||||
$log->debug("============ ".shift." ===========");
|
||||
}
|
||||
|
||||
sub get_names{
|
||||
my $dir = shift;
|
||||
my @file_name;
|
||||
@@ -45,6 +50,10 @@ sub month_num2txt{
|
||||
return ("enero febrero marzo abril mayo junio julio agosto septiembre octubre noviembre diciembre" =~ m/\w+/g)[shift (@_) -1];
|
||||
}
|
||||
|
||||
sub month_names{
|
||||
return qw /enero febrero marzo abril mayo junio julio agosto septiembre octubre noviembre diciembre/;
|
||||
}
|
||||
|
||||
sub mtxt {
|
||||
my ($di, $mi, $df, $mf)=@_; # dini,mini,dfin,mfin
|
||||
my $txt;
|
||||
@@ -89,5 +98,10 @@ sub dmph{
|
||||
return $y;
|
||||
}
|
||||
|
||||
sub send_mail{ #msg header mail
|
||||
system( 'echo "'.shift.'" | mutt -s '.shift.' '.shift.' &');
|
||||
_log("mail sent");
|
||||
return 0;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
@@ -76,6 +76,7 @@ div.update{
|
||||
article.edit input[type=submit]{
|
||||
margin:15px;
|
||||
}
|
||||
div#cimg,
|
||||
div#esimg{
|
||||
height:180px;
|
||||
width:180px;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
d3.select("li#evento").style("background-color","#cedeef");
|
||||
var li = d3.select("article.label","ul").selectAll("li");
|
||||
var img_path = "/home/cal/img/";
|
||||
var img_path = "/proc/cal/img/";
|
||||
var json_path = "/admin/json/";
|
||||
/* menu hide and show edit window*/
|
||||
li.on("click",function(){
|
||||
@@ -46,10 +46,21 @@ d3.select("select#cprev").on("change",function(){
|
||||
d3.json(json_path+"course/"+cprev_id ,function(d){
|
||||
if(d!=undefined){if(d.cid != 0){
|
||||
d3.select("input#cname").attr("value",d.cname);
|
||||
d3.select("input#csubname").attr("value",d.csubname);
|
||||
d3.select("textarea#cdesc").text(d.cdesc);
|
||||
d3.select("input#cmas").attr("value",d.mas);
|
||||
d3.select("textarea#csubjects").text(d.csubjects);
|
||||
d3.select("textarea#cservices").text(d.cservices);
|
||||
}} }); });
|
||||
|
||||
function updateImagea(){
|
||||
var iname=d3.select("select#cimga").node().value;
|
||||
if(iname != 0){
|
||||
d3.select("div#cimg").style("background-image","url("+img_path+iname+")");}
|
||||
else{ d3.select("div#cimg").style("background-image","none"); }
|
||||
}
|
||||
d3.select("select#cimga").on("change",updateImagea);
|
||||
|
||||
/*preload form content for place*/
|
||||
d3.select("select#pprev").on("change",function(){
|
||||
var pprev_id=d3.select("select#pprev").node().value;
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
% stash css=>["/admin/admin.css","/admin/event/event.css"];
|
||||
% stash js=>["//admin/event/event.js"];
|
||||
<section class="name" flex> <article class="user">
|
||||
% stash js=>["/admin/event/event.js"];
|
||||
<section class="name" flex>
|
||||
<article class="user">
|
||||
<p class="title">Editar Eventos</p>
|
||||
</article> </section>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
<section class="event flex">
|
||||
|
||||
<article class="label">
|
||||
<ul>
|
||||
<li id="evento" value="event">Evento</li>
|
||||
@@ -14,8 +17,9 @@
|
||||
</article>
|
||||
|
||||
<article class="edit">
|
||||
<!-- Evento ============================================================== -->
|
||||
<div class="ehide" id="event"> <form action="/admin/eventos/e" method="POST">
|
||||
<!-- Evento ============================================================== -->
|
||||
<div class="ehide" id="event">
|
||||
<form id="fev" action="/admin/eventos/e" method="POST">
|
||||
<div class="flex field">
|
||||
<label>Curso</label>
|
||||
<select id="ecourse" name="ecourse">
|
||||
@@ -36,21 +40,21 @@
|
||||
<label>Fecha inicio</label> <!-- dropdown -->
|
||||
<input id="dini" type="number" min="1" max="31" name="dini" value="1"/>
|
||||
<select id="mini" name="mini">
|
||||
<% map{ %>
|
||||
<option value="<%= $_->{'id'} %>"><%= $_->{'name'} %></option>
|
||||
<% } %><% (@{stash('months')}) %><% if defined(stash('months')); %>
|
||||
<% foreach(1 .. 12){ %>
|
||||
<option value="<%= $_ %>"><%= ${stash('months')}[$_ -1] %> </option>
|
||||
<% } %>
|
||||
</select>
|
||||
<input id="yini" type="number" min="2019" max="2050" name="yini" value="2019"/>
|
||||
<input id="yini" type="number" min="2020" max="2050" name="yini" value="2020"/>
|
||||
</div>
|
||||
<div class="flex field">
|
||||
<label>Fecha fin</label>
|
||||
<input id="dend" type="number" min="1" max="31" name="dend" value="1"/>
|
||||
<select id="mend" name="mend">
|
||||
<% map{ %>
|
||||
<option value="<%= $_->{'id'} %>"><%= $_->{'name'} %></option>
|
||||
<% } %><% (@{stash('months')}) %><% if defined(stash('months')); %>
|
||||
<% foreach(1 .. 12){ %>
|
||||
<option value="<%= $_ %>"><%= ${stash('months')}[$_ -1] %> </option>
|
||||
<% } %>
|
||||
</select>
|
||||
<input id="yend" type="number" min="2019" max="2050" name="yend" value="2019"/>
|
||||
<input id="yend" type="number" min="2020" max="2050" name="yend" value="2020"/>
|
||||
</div>
|
||||
<div class="flex field">
|
||||
<label>Costo</label> <input id="cost" type="text" name="cost"/>
|
||||
@@ -69,6 +73,28 @@
|
||||
</select>
|
||||
<div id=esimg></div>
|
||||
</div>
|
||||
|
||||
<div class="flex field">
|
||||
<label>¿con pago en linea?</label><input type="checkbox" checked="checked" id="spay" name="spay"/>
|
||||
</div>
|
||||
<div class="flex field">
|
||||
<label>¿incluye playera?</label><input type="checkbox" id="ten" name="ten"/>
|
||||
</div>
|
||||
<div class="flex field">
|
||||
<label>¿es público?</label><input type="checkbox" checked="checked" id="estore" name="estore"/>
|
||||
</div>
|
||||
<div class="flex field">
|
||||
<label>Pago a meses max:</label><input id="meses" type="number" min="0" max="18" name="meses" value="0"/>
|
||||
</div>
|
||||
<div class="flex field">
|
||||
<label>Cupo</label><input id="meses" type="number" min="0" max="500" name="meses" value="0"/>
|
||||
</div>
|
||||
<div class="flex field">
|
||||
<label>Comentario</label>
|
||||
<textarea form="fev" id="comment" name="comment"></textarea>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex field">
|
||||
<label>Existente</label>
|
||||
<select id="eprev" name="id">
|
||||
@@ -84,12 +110,33 @@
|
||||
<label>Habilitar</label>
|
||||
<input id="een" type="checkbox" checked="checked" name="een" >
|
||||
</div>
|
||||
</form> </div>
|
||||
<!-- Curso ================================================================ -->
|
||||
<div class="ehide" id="course"> <form id="fcourse" action="/admin/eventos/c" method="POST">
|
||||
</form>
|
||||
</div>
|
||||
<!-- Curso ================================================================ -->
|
||||
<div class="ehide" id="course">
|
||||
<form id="fcourse" action="/admin/eventos/c" method="POST">
|
||||
<div class="flex field">
|
||||
<label>Nombre</label>
|
||||
<input id="cname" type="text" name="cname"/>
|
||||
</div> <div class="flex field">
|
||||
<label>Subnombre</label>
|
||||
<input id="csubname" type="text" name="csubname"/>
|
||||
</div> <div class="flex field">
|
||||
<label>Descripcion</label>
|
||||
<textarea form="fcourse" id="cdesc" name="cdesc"></textarea>
|
||||
</div> <div class="flex field">
|
||||
<label>Maestro</label>
|
||||
<input id="cmas" type="text" name="cmas"/>
|
||||
<div class="flex field">
|
||||
<label>Imagen</label>
|
||||
<select id="cimga" name="cimga">
|
||||
<option value="0" selected> -- Elegir imagen -- </option>
|
||||
<% map{ %>
|
||||
<option value="<%= $_ %>"><%= $_ %></option>
|
||||
<% } %><% (@{stash('img')}) %><% if defined(stash('img')); %>
|
||||
</select>
|
||||
<div id=cimg></div>
|
||||
</div>
|
||||
</div> <div class="flex field">
|
||||
<label>Temario</label>
|
||||
<textarea form="fcourse" id="csubjects" name="csubjects"></textarea>
|
||||
@@ -110,9 +157,11 @@
|
||||
<label>Habilitar</label>
|
||||
<input type="checkbox" checked="checked" id="cen" name="cen" >
|
||||
</div>
|
||||
</form> </div>
|
||||
<!-- Lugar ================================================================ -->
|
||||
<div class="ehide" id="place"><form action="/admin/eventos/p" method="POST">
|
||||
</form>
|
||||
</div>
|
||||
<!-- Lugar ================================================================ -->
|
||||
<div class="ehide" id="place">
|
||||
<form action="/admin/eventos/p" method="POST">
|
||||
<div class="flex field">
|
||||
<label>Nombre</label><input type="text" id= "pname" name="pname">
|
||||
</div> <div class="flex field">
|
||||
@@ -143,6 +192,9 @@
|
||||
<label>Habilitar</label>
|
||||
<input id="pen" type="checkbox" checked="checked" name="pen" >
|
||||
</div>
|
||||
</form> <div class="mapa"></div>
|
||||
</form>
|
||||
<div class="mapa"></div>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user