package Dojo::Controller::Admin; use Mojo::File 'path'; use Mojo::JSON qw(decode_json encode_json); use Mojo::Base 'Mojolicious::Controller'; use Dojo::Support qw{ log }; # pagina y mensajes =========================================================== sub admin{ 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); } # Eventos ===================================================================== sub admin_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'); } 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); } 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); } 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->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, ); $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(layout=>"admin"); } # Funciones auxiliares ======================================================== sub admin_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/; $c->render(json=>$json); }