51 lines
1 KiB
Perl
51 lines
1 KiB
Perl
package Pear::LocalLoop::Controller::Admin::Feedback;
|
|
use Mojo::Base 'Mojolicious::Controller';
|
|
|
|
has result_set => sub {
|
|
my $c = shift;
|
|
return $c->schema->resultset('Feedback');
|
|
};
|
|
|
|
sub index {
|
|
my $c = shift;
|
|
|
|
my $feedback_rs = $c->result_set->search(
|
|
undef,
|
|
{
|
|
page => $c->param('page') || 1,
|
|
rows => 12,
|
|
order_by => { -desc => 'submitted_at' },
|
|
},
|
|
);
|
|
$c->stash( feedback_rs => $feedback_rs );
|
|
}
|
|
|
|
sub read {
|
|
my $c = shift;
|
|
|
|
my $id = $c->param('id');
|
|
|
|
if ( my $feedback = $c->result_set->find($id) ) {
|
|
$c->stash( feedback => $feedback );
|
|
} else {
|
|
$c->flash( error => 'No Feedback found' );
|
|
$c->redirect_to( '/admin/feedback' );
|
|
}
|
|
}
|
|
|
|
sub actioned {
|
|
my $c = shift;
|
|
|
|
my $id = $c->param('id');
|
|
|
|
if ( my $feedback = $c->result_set->find($id) ) {
|
|
$feedback->actioned( ! $feedback->actioned );
|
|
$feedback->update;
|
|
$c->redirect_to( '/admin/feedback/' . $id );
|
|
} else {
|
|
$c->flash( error => 'No Feedback found' );
|
|
$c->redirect_to( '/admin/feedback' );
|
|
}
|
|
}
|
|
|
|
1;
|