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/grolug.yml | 6 ++++++ GroLUG/lib/GroLUG.pm | 2 +- GroLUG/lib/GroLUG/C/Iscritto.pm | 43 +++++++++++++++++++++++++++++++++++++ GroLUG/root/src/nuovo-pagamento.tt2 | 9 ++++++++ 4 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 GroLUG/root/src/nuovo-pagamento.tt2 (limited to 'GroLUG') diff --git a/GroLUG/grolug.yml b/GroLUG/grolug.yml index 925c897..5172eef 100644 --- a/GroLUG/grolug.yml +++ b/GroLUG/grolug.yml @@ -1,8 +1,14 @@ --- name: GroLUG +stacktrace: + verbose: 1 session: expires: 3600 dbi_dbh: 'GroLUG::M::DB' dbi_table: 'sessioni' authentication: htpasswd: usersfile +iscrizione: + prezzo: 50 + durata: + years: 1 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; diff --git a/GroLUG/root/src/nuovo-pagamento.tt2 b/GroLUG/root/src/nuovo-pagamento.tt2 new file mode 100644 index 0000000..743f06f --- /dev/null +++ b/GroLUG/root/src/nuovo-pagamento.tt2 @@ -0,0 +1,9 @@ +
+ + +

+

+

+

+

+
\ No newline at end of file -- cgit v1.2.3