summaryrefslogtreecommitdiff
path: root/GroLUG/lib/GroLUG/C/Iscritto.pm
diff options
context:
space:
mode:
authordakkar <dakkar@luxion>2006-02-09 13:58:58 +0000
committerdakkar <dakkar@luxion>2006-02-09 13:58:58 +0000
commitfb447b0fc6f1b1ec1772f151d6a04024ae87870d (patch)
tree2d8ebda0313b0b78bd7498ab2dacd40de424a705 /GroLUG/lib/GroLUG/C/Iscritto.pm
parentseparati i namespace (diff)
downloadIscrittiGroLUG-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/GroLUG/C/Iscritto.pm')
-rw-r--r--GroLUG/lib/GroLUG/C/Iscritto.pm43
1 files changed, 43 insertions, 0 deletions
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;