[prev] [thread] [next] [lurker] [Date index for 2003/11/26]
Author: jon
Date: 2003-11-26 16:22:37 +0200 (Wed, 26 Nov 2003)
New Revision: 64
Modified:
lib/YAPC/Talk.pm
t/04-proposals.t
Log:
Fixed 'bad field problem' with proposals
Modified: lib/YAPC/Talk.pm
===================================================================
--- lib/YAPC/Talk.pm 2003-11-26 13:40:05 UTC (rev 63)
+++ lib/YAPC/Talk.pm 2003-11-26 14:22:37 UTC (rev 64)
@@ -17,17 +17,19 @@
sub propose {
my $self = shift;
my %args = @_; # cookie => subject => language => length => abstract => comment =>
- delete $args{run}; # was added for CGI::Application
- delete $args{submit}; # was added for CGI::Application
+# delete $args{run}; # was added for CGI::Application
+# delete $args{submit}; # was added for CGI::Application
-# $args{user_id} = YAPC::Login->get_user_id(cookie => $args{cookie});
-# delete $args{cookie};
+ my @valid_args = qw(user_id id title language length abstract other accepted);
+# $args{user_id} = YAPC::Login->get_user_id(cookie => $args{cookie});
+# delete $args{cookie};
+
croak("Only authenticated users can submit proposals\n") if not $args{user_id};
croak("id should not be defined\n") if defined $args{id};
croak("No title provided\n") if not $args{subject};
$args{title} = $args{subject};
- delete $args{subject};
+# delete $args{subject};
croak("No length provided\n") if not $args{'length'};
croak("No abstract provided\n") if not $args{abstract};
$args{accepted} = 0; # no trick from the outside please !
@@ -44,7 +46,10 @@
croak("Incorrect length\n");
}
- __PACKAGE__->create(\%args);
+ my %passed_args;
+ @passed_args{@valid_args}= @args{@valid_args};
+
+ __PACKAGE__->create(\%passed_args);
}
Modified: t/04-proposals.t
===================================================================
--- t/04-proposals.t 2003-11-26 13:40:05 UTC (rev 63)
+++ t/04-proposals.t 2003-11-26 14:22:37 UTC (rev 64)
@@ -43,6 +43,7 @@
abstract => "I am going to talk about how the creature was born.\nWhy is that not a camel and how to feed it\n",
comment => "Are you serious?\n I need at least 6 minutes to talk about this subject\n",
user_id => $work_uid,
+ bad_field => 'should be ignored',
# cookie => $work_cookie,
);
Generated at 17:06 on 26 Nov 2003 by mariachi 0.51