From fb447b0fc6f1b1ec1772f151d6a04024ae87870d Mon Sep 17 00:00:00 2001 From: dakkar Date: Thu, 9 Feb 2006 13:58:58 +0000 Subject: forse va il rinnovo git-svn-id: svn://luxion/repos/IscrittiGroLUG/trunk@179 fcb26f47-9200-0410-b104-b98ab5b095f3 --- GroLUG/lib/GroLUG.pm | 2 +- GroLUG/lib/GroLUG/C/Iscritto.pm | 43 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) (limited to 'GroLUG/lib') diff --git a/GroLUG/lib/GroLUG.pm b/GroLUG/lib/GroLUG.pm index 4f4f26c..4561d00 100644 --- a/GroLUG/lib/GroLUG.pm +++ b/GroLUG/lib/GroLUG.pm @@ -3,7 +3,7 @@ use strict; use warnings; use Catalyst qw{ - -Debug + -Debug StackTrace ConfigLoader Static::Simple DefaultEnd Session Session::Store::DBI Session::State::Cookie Authentication Authentication::Store::Htpasswd Authentication::Credential::Password diff --git a/GroLUG/lib/GroLUG/C/Iscritto.pm b/GroLUG/lib/GroLUG/C/Iscritto.pm index 85f48cf..e708c36 100644 --- a/GroLUG/lib/GroLUG/C/Iscritto.pm +++ b/GroLUG/lib/GroLUG/C/Iscritto.pm @@ -3,6 +3,7 @@ package GroLUG::C::Iscritto; use strict; use warnings; use base 'Catalyst::Controller'; +use DateTime; sub iscritti :Global { my ( $self, $c ) = @_; @@ -21,4 +22,46 @@ sub scheda :Local { $c->stash->{template}='scheda-iscritto.tt2'; } +sub rinnova :Local { + my ($self,$c,$id)=@_; + + $c->log->info($c->user->id,"rinnovo iscritto $id"); + + $c->stash->{iscritto}=my $iscritto=GroLUG::M::DB->resultset('Iscritto')->find($id); + my $last_pag=$iscritto->pagamenti()->next(); + + $c->stash->{pagamento}={ + data_pagamento => DateTime->now(), + data_iscrizione => $last_pag->data_scadenza->clone()->add(days => 1), + data_scadenza => $last_pag->data_scadenza->clone()->add($c->config->{iscrizione}->{durata}), + prezzo => $c->config->{iscrizione}->{prezzo}, + }; + + $c->stash->{template}='nuovo-pagamento.tt2'; +} + +sub pagamento :Local { + my ($self,$c)=@_; + + my $params=$c->req->parameters; + + my $iscritto=GroLUG::M::DB->resultset('Iscritto')->find($params->{iscr_id}); + + $c->log->info($c->user->id,'pagamento iscritto '.($iscritto->id)); + + my $pagid= (($params->{pag_id} ne '') ? $params->{pag_id} : -1); + my $pagamento=GroLUG::M::DB->resultset('Pagamento')->update_or_create( + { + id => $pagid, + iscritto => $iscritto->id, + data_pagamento => $params->{data_pagamento}, + data_iscrizione => $params->{data_iscrizione}, + data_scadenza => $params->{data_scadenza}, + prezzo => $params->{prezzo}, + }, + ); + + $c->res->redirect($c->uri_for('scheda',$iscritto->id())); +} + 1; -- cgit v1.2.3