diff options
author | Yorhel <git@yorhel.nl> | 2010-12-19 18:35:46 +0100 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2010-12-19 18:35:46 +0100 |
commit | 1f49d025fb74006d811ab8f39cb6b70d2c0aa447 (patch) | |
tree | 46ddf052452b279f15e020eb8fa0b7448df87815 /lib/VNDB | |
parent | 9190c003d0b895c7ce2fca3d5354923dcf4ab6a0 (diff) |
RFC-01: Added VN list selection box to VN pages
Diffstat (limited to 'lib/VNDB')
-rw-r--r-- | lib/VNDB/Handler/ULists.pm | 26 | ||||
-rw-r--r-- | lib/VNDB/Handler/VNPage.pm | 11 |
2 files changed, 34 insertions, 3 deletions
diff --git a/lib/VNDB/Handler/ULists.pm b/lib/VNDB/Handler/ULists.pm index daad5c4b..f89e5e56 100644 --- a/lib/VNDB/Handler/ULists.pm +++ b/lib/VNDB/Handler/ULists.pm @@ -10,8 +10,9 @@ use VNDB::Func; YAWF::register( qr{v([1-9]\d*)/vote}, \&vnvote, qr{v([1-9]\d*)/wish}, \&vnwish, - qr{r([1-9]\d*)/list}, \&rlist, - qr{xml/rlist.xml}, \&rlist, + qr{v([1-9]\d*)/list}, \&vnlist_e, + qr{r([1-9]\d*)/list}, \&rlist_e, + qr{xml/rlist.xml}, \&rlist_e, qr{([uv])([1-9]\d*)/votes}, \&votelist, qr{u([1-9]\d*)/wish}, \&wishlist, qr{u([1-9]\d*)/list}, \&vnlist, @@ -56,7 +57,26 @@ sub vnwish { } -sub rlist { +sub vnlist_e { + my($self, $id) = @_; + + my $uid = $self->authInfo->{id}; + return $self->htmlDenied() if !$uid; + + return if !$self->authCheckCode; + my $f = $self->formValidate( + { name => 'e', enum => [ -1, @{$self->{rlst_vstat}} ] } + ); + return 404 if $f->{_err}; + + $self->dbVNListDel($uid, $id) if $f->{e} == -1; + $self->dbVNListAdd($uid, $id, $f->{e}) if $f->{e} != -1; + + $self->resRedirect('/v'.$id, 'temp'); +} + + +sub rlist_e { my($self, $id) = @_; my $rid = $id; diff --git a/lib/VNDB/Handler/VNPage.pm b/lib/VNDB/Handler/VNPage.pm index b07a7914..5a925711 100644 --- a/lib/VNDB/Handler/VNPage.pm +++ b/lib/VNDB/Handler/VNPage.pm @@ -343,6 +343,7 @@ sub _useroptions { my($self, $i, $v) = @_; my $vote = $self->dbVoteGet(uid => $self->authInfo->{id}, vid => $v->{id})->[0]; + my $list = $self->dbVNListGet(uid => $self->authInfo->{id}, vid => $v->{id})->[0]; my $wish = $self->dbWishListGet(uid => $self->authInfo->{id}, vid => $v->{id})->[0]; Tr ++$$i % 2 ? (class => 'odd') : (); @@ -358,6 +359,16 @@ sub _useroptions { end; br; } + + Select id => 'listsel', name => $self->authGetCode("/v$v->{id}/list"); + option $list ? mt '_vnpage_uopt_vnlisted', mt '_vnlst_stat_'.$list->{status} : mt '_vnpage_uopt_novn'; + optgroup label => $list ? mt '_vnpage_uopt_changevn' : mt '_vnpage_uopt_addvn'; + option value => $_, mt "_vnlst_stat_$_" for (@{$self->{rlst_vstat}}); + end; + option value => -1, mt '_vnpage_uopt_delvn' if $list; + end; + br; + if(!$vote || $wish) { Select id => 'wishsel', name => $self->authGetCode("/v$v->{id}/wish"); option $wish ? mt '_vnpage_uopt_wishlisted', mt '_wish_'.$wish->{wstat} : mt '_vnpage_uopt_nowish'; |