package FixMyStreet::App::Controller::Contact;
use Moose;
use namespace::autoclean;
BEGIN { extends 'Catalyst::Controller'; }
=head1 NAME
FixMyStreet::App::Controller::Contact - Catalyst Controller
=head1 DESCRIPTION
Contact us page
=head1 METHODS
=cut
=head2 index
=cut
sub index : Path : Args(0) {
my ( $self, $c ) = @_;
$c->stash->{contact_email} = $c->cobrand->contact_email;
$c->stash->{contact_email} =~ s/\@/@/;
$c->forward('determine_contact_type');
# my ($q, $errors, $field_errors) = @_;
# my @errors = @$errors;
# my %field_errors = %{$field_errors};
# push @errors, _('There were problems with your report. Please see below.') if (scalar keys %field_errors);
# my @vars = qw(name em subject message);
# my %input = map { $_ => $q->param($_) || '' } @vars;
# my %input_h = map { $_ => $q->param($_) ? ent($q->param($_)) : '' } @vars;
# my $out = '';
# my $cobrand = Page::get_cobrand($q);
# my $form_action = Cobrand::url($cobrand, '/contact', $q);
#
# my $intro = '';
# my $item_title = '';
# my $item_body = '';
# my $item_meta = '';
# my $hidden_vals = '';
# my $cobrand_form_elements = Cobrand::form_elements(Page::get_cobrand($q), 'contactForm', $q);
# my %vars = (
# header => $header,
# errors => $errors,
# intro => $intro,
# item_title => $item_title,
# item_meta => $item_meta,
# item_body => $item_body,
# hidden_vals => $hidden_vals,
# form_action => $form_action,
# input_h => \%input_h,
# field_errors => \%field_errors,
# label_name => _('Your name:'),
# label_email => _('Your email:'),
# label_subject => _('Subject:'),
# label_message => _('Message:'),
# label_submit => _('Post'),
# contact_details => contact_details($q),
# cobrand_form_elements => $cobrand_form_elements
# );
# $out .= Page::template_include('contact', $q, Page::template_root($q), %vars);
# return $out;
}
sub determine_contact_type : Private {
my ( $self, $c ) = @_;
my $id = $c->req->param('id');
my $update_id = $c->req->param('update_id');
$id = undef unless $id && $id =~ /^[1-9]\d*$/;
$update_id = undef unless $update_id && $update_id =~ /^[1-9]\d*$/;
if ($id) {
my $problem = $c->model('DB::Problem')->find(
{ id => $id },
{
'select' => [
'title', 'detail', 'name',
'anonymous',
'user_id',
{
extract => 'epoch from confirmed',
-as => 'confirmed'
}
]
}
);
if ($update_id) {
# my $u = dbh()->selectrow_hashref(
# 'select comment.text, comment.name, problem.title, extract(epoch from comment.confirmed) as confirmed
# from comment, problem where comment.id=?
# and comment.problem_id = problem.id
# and comment.problem_id=?', {}, $update_id ,$id);
# if (! $u) {
# $intro = generic_contact_text($q);
# } else {
# $intro .= $q->p(_('You are reporting the following update for being abusive, containing personal information, or similar:'));
# $item_title = ent($u->{title});
# $item_meta = $q->em( 'Update below added ', (!$u->{name}) ? 'anonymously' : "by " . ent($u->{name}),
# ' at ' . Page::prettify_epoch($q, $u->{confirmed}));
# $item_body = ent($u->{text});
# $hidden_vals .= '';
# }
}
elsif ($problem) {
$c->stash->{problem} = $problem;
# $intro .= $q->p(_('You are reporting the following problem report for being abusive, containing personal information, or similar:'));
# $item_title = ent($p->{title});
# my $date_time = Page::prettify_epoch($q, $p->{confirmed});
# $item_meta = $q->em(
# $p->{anonymous}
# ? sprintf(_('Reported anonymously at %s'), $date_time)
# : sprintf(_('Reported by %s at %s'), ent($p->{name}), $date_time)
# );
# $item_body = ent($p->{detail});
}
# $hidden_vals .= '';
}
}
=head1 AUTHOR
Struan Donald
=head1 LICENSE
This library is free software. You can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
__PACKAGE__->meta->make_immutable;
1;