diff options
author | dakkar <dakkar@luxion> | 2006-02-09 13:58:58 +0000 |
---|---|---|
committer | dakkar <dakkar@luxion> | 2006-02-09 13:58:58 +0000 |
commit | fb447b0fc6f1b1ec1772f151d6a04024ae87870d (patch) | |
tree | 2d8ebda0313b0b78bd7498ab2dacd40de424a705 /GroLUG/lib | |
parent | separati i namespace (diff) | |
download | IscrittiGroLUG-fb447b0fc6f1b1ec1772f151d6a04024ae87870d.tar.gz IscrittiGroLUG-fb447b0fc6f1b1ec1772f151d6a04024ae87870d.tar.bz2 IscrittiGroLUG-fb447b0fc6f1b1ec1772f151d6a04024ae87870d.zip |
forse va il rinnovo
git-svn-id: svn://luxion/repos/IscrittiGroLUG/trunk@179 fcb26f47-9200-0410-b104-b98ab5b095f3
Diffstat (limited to 'GroLUG/lib')
-rw-r--r-- | GroLUG/lib/GroLUG.pm | 2 | ||||
-rw-r--r-- | GroLUG/lib/GroLUG/C/Iscritto.pm | 43 |
2 files changed, 44 insertions, 1 deletions
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; |