summaryrefslogtreecommitdiff
path: root/lib/VNDB/Handler/Producers.pm
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2008-11-13 11:46:14 +0100
committerYorhel <git@yorhel.nl>2008-11-13 11:46:14 +0100
commitf83a65ae51cbb8cefc200227807ff6b22d5a7ee4 (patch)
tree07de95575abc2db2d1c24607c44d16d8ed1f95df /lib/VNDB/Handler/Producers.pm
parent4a40309762165f68565fcbd5fad3a0cf69e452f6 (diff)
Locking and hiding producers works
Diffstat (limited to 'lib/VNDB/Handler/Producers.pm')
-rw-r--r--lib/VNDB/Handler/Producers.pm15
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/VNDB/Handler/Producers.pm b/lib/VNDB/Handler/Producers.pm
index 63751a20..17336a32 100644
--- a/lib/VNDB/Handler/Producers.pm
+++ b/lib/VNDB/Handler/Producers.pm
@@ -8,7 +8,8 @@ use VNDB::Func;
YAWF::register(
- qr{p([1-9]\d*)} => \&page,
+ qr{p([1-9]\d*)} => \&page,
+ qr{p([1-9]\d*)/(lock|hide)} => \&mod,
);
@@ -59,4 +60,16 @@ sub page {
}
+# /hide and /lock
+sub mod {
+ my($self, $pid, $act) = @_;
+ return $self->htmlDenied if !$self->authCan($act eq 'hide' ? 'del' : 'lock');
+ my $p = $self->dbProducerGet(id => $pid)->[0];
+ return 404 if !$p->{id};
+ $self->dbProducerMod($pid, $act eq 'hide' ? (hidden => !$p->{hidden}) : (locked => !$p->{locked}));
+ $self->resRedirect("/p$pid", 'temp');
+}
+
+
1;
+