diff options
Diffstat (limited to 'lib/VNDB/Handler/ULists.pm')
-rw-r--r-- | lib/VNDB/Handler/ULists.pm | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/lib/VNDB/Handler/ULists.pm b/lib/VNDB/Handler/ULists.pm index 2da69d51..3a715fcf 100644 --- a/lib/VNDB/Handler/ULists.pm +++ b/lib/VNDB/Handler/ULists.pm @@ -6,7 +6,8 @@ use warnings; YAWF::register( - qr{v([1-9]\d*)/vote}, \&vnvote + qr{v([1-9]\d*)/vote}, \&vnvote, + qr{v([1-9]\d*)/wish}, \&vnwish, ); @@ -28,5 +29,23 @@ sub vnvote { } +sub vnwish { + my($self, $id) = @_; + + my $uid = $self->authInfo->{id}; + return $self->htmlDenied() if !$uid; + + my $f = $self->formValidate( + { name => 's', enum => [ -1..$#{$self->{wishlist_status}} ] } + ); + return 404 if $f->{_err}; + + $self->dbWishListDel($uid, $id) if $f->{s} == -1; + $self->dbWishListAdd($id, $uid, $f->{s}) if $f->{s} != -1; + + $self->resRedirect('/v'.$id, 'temp'); +} + + 1; |