summaryrefslogtreecommitdiff
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
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
-rw-r--r--GroLUG/grolug.yml6
-rw-r--r--GroLUG/lib/GroLUG.pm2
-rw-r--r--GroLUG/lib/GroLUG/C/Iscritto.pm43
-rw-r--r--GroLUG/root/src/nuovo-pagamento.tt29
4 files changed, 59 insertions, 1 deletions
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 @@
+<form action="[% Catalyst.uri_for('pagamento') %]" method="post">
+<input type="hidden" name="iscr_id" value="[% iscritto.id %]" />
+<input type="hidden" name="pag_id" value="[% pagamento.id %]" />
+<p><label for="data_pagamento">data_pagamento</label><input type="text" name="data_pagamento" id="data_pagamento" value="[% pagamento.data_pagamento %]" /></p>
+<p><label for="data_iscrizione">data_iscrizione</label><input type="text" name="data_iscrizione" id="data_iscrizione" value="[% pagamento.data_iscrizione %]" /></p>
+<p><label for="data_scadenza">data_scadenza</label><input type="text" name="data_scadenza" id="data_scadenza" value="[% pagamento.data_scadenza %]" /></p>
+<p><label for="prezzo">prezzo</label><input type="text" name="prezzo" id="prezzo" value="[% pagamento.prezzo %]" /></p>
+<p><input type="submit" /></p>
+</form> \ No newline at end of file