summaryrefslogtreecommitdiff
path: root/lib/VNDB/Handler/ULists.pm
blob: 2da69d5119ce83a9a31a7bd6b14a59e64a20244f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

package VNDB::Handler::ULists;

use strict;
use warnings;


YAWF::register(
  qr{v([1-9]\d*)/vote},  \&vnvote
);


sub vnvote {
  my($self, $id) = @_;

  my $uid = $self->authInfo->{id};
  return $self->htmlDenied() if !$uid;

  my $f = $self->formValidate(
    { name => 'v', enum => [ -1, 1..10 ] }
  );
  return 404 if $f->{_err};

  $self->dbVoteDel($uid, $id) if $f->{v} == -1;
  $self->dbVoteAdd($id, $uid, $f->{v}) if $f->{v} > 0;

  $self->resRedirect('/v'.$id, 'temp');
}


1;