aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Somerville <matthew@mysociety.org>2015-09-25 22:35:39 +0100
committerMatthew Somerville <matthew@mysociety.org>2015-12-02 17:41:35 +0000
commit55412b79394ff1b1cabe368aed67fa8f68680ecc (patch)
tree33657093517818b8ba60f156484ec540f9c4af17
parent0c2a792b154e1b28528db887bbde80b19268b9fe (diff)
Reduce use of FixMyStreet::App.
Command line scripts don't need a full blown app, just database.
-rwxr-xr-xbin/fetch-comments3
-rwxr-xr-xbin/fetch-comments-24hs2
-rwxr-xr-xbin/fiksgatami/showroadinfo5
-rwxr-xr-xbin/fiksgatami/showroadstats5
-rwxr-xr-xbin/fixmystreet.com/populate_bing_cache4
-rwxr-xr-xbin/fixmystreet.com/update-send-questionnaire5
-rwxr-xr-xbin/open311-populate-service-list4
-rwxr-xr-xbin/open311-update-reports9
-rwxr-xr-xbin/problem-creation-graph4
-rwxr-xr-xbin/problems-filed-graph4
-rwxr-xr-xbin/send-alerts4
-rwxr-xr-xbin/send-comments13
-rwxr-xr-xbin/send-questionnaires6
-rwxr-xr-xbin/send-reports4
-rwxr-xr-xbin/update-all-reports6
-rwxr-xr-xbin/zerotb/import_clinic_list.pl14
-rwxr-xr-xbin/zurich/convert_internal_notes_to_comments8
-rwxr-xr-xbin/zurich/overdue-alert11
-rwxr-xr-xdb/rerun_dbic_loader.pl2
-rw-r--r--perllib/FixMyStreet.pm4
-rw-r--r--perllib/FixMyStreet/App/Controller/JSON.pm3
-rw-r--r--perllib/FixMyStreet/App/Model/DB.pm2
-rw-r--r--perllib/FixMyStreet/App/Model/PhotoSet.pm2
-rw-r--r--perllib/FixMyStreet/Cobrand/Default.pm2
-rw-r--r--perllib/FixMyStreet/Cobrand/UKCouncils.pm2
-rw-r--r--perllib/FixMyStreet/Cobrand/Zurich.pm6
-rw-r--r--perllib/FixMyStreet/DB.pm5
-rw-r--r--perllib/FixMyStreet/DB/Result/Problem.pm29
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/Alert.pm2
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/AlertType.pm17
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/Comment.pm2
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/Problem.pm8
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm7
-rw-r--r--perllib/FixMyStreet/SendReport/Email.pm6
-rw-r--r--perllib/FixMyStreet/SendReport/EmptyHomes.pm2
-rw-r--r--perllib/FixMyStreet/SendReport/Open311.pm3
-rw-r--r--perllib/FixMyStreet/SendReport/Zurich.pm6
-rw-r--r--perllib/FixMyStreet/TestMech.pm16
-rw-r--r--perllib/Open311.pm2
-rw-r--r--perllib/Open311/GetServiceRequestUpdates.pm13
-rw-r--r--perllib/Open311/GetUpdates.pm7
-rw-r--r--perllib/Open311/PopulateServiceList.pm12
-rw-r--r--t/app/model/alert_type.t54
-rw-r--r--t/app/model/comment.t4
-rw-r--r--t/app/model/extra.t6
-rw-r--r--t/app/model/moderation.t6
-rw-r--r--t/app/model/photoset.t23
-rw-r--r--t/app/model/problem.t32
-rw-r--r--t/app/model/questionnaire.t6
-rw-r--r--t/app/model/token.t4
-rw-r--r--t/app/sendreport/email.t6
-rw-r--r--t/cobrand/bromley.t4
-rw-r--r--t/cobrand/closest.t6
-rw-r--r--t/cobrand/fixamingata.t12
-rw-r--r--t/cobrand/fixmybarangay.t12
-rw-r--r--t/cobrand/get_body_sender.t8
-rw-r--r--t/cobrand/seesomething.t4
-rw-r--r--t/cobrand/zurich.t11
-rw-r--r--t/map/tilma/original.t6
-rw-r--r--t/open311.t14
-rw-r--r--t/open311/endpoint/warwick.t16
-rw-r--r--t/open311/getservicerequestupdates.t18
-rw-r--r--t/open311/getupdates.t7
-rw-r--r--t/open311/populate-service-list.t46
64 files changed, 284 insertions, 292 deletions
diff --git a/bin/fetch-comments b/bin/fetch-comments
index 4eb9def14..55ba70d85 100755
--- a/bin/fetch-comments
+++ b/bin/fetch-comments
@@ -15,14 +15,11 @@ BEGIN {
require "$d/../setenv.pl";
}
-use FixMyStreet::App;
use CronFns;
my ($verbose, $nomail) = CronFns::options();
-use Open311;
use Open311::GetServiceRequestUpdates;
-
my $updates = Open311::GetServiceRequestUpdates->new( verbose => $verbose );
$updates->fetch;
diff --git a/bin/fetch-comments-24hs b/bin/fetch-comments-24hs
index 27853bcc1..df208439e 100755
--- a/bin/fetch-comments-24hs
+++ b/bin/fetch-comments-24hs
@@ -19,11 +19,9 @@ BEGIN {
use DateTime;
use DateTime::Format::W3CDTF;
-use FixMyStreet::App;
use CronFns;
my ($verbose, $nomail) = CronFns::options();
-use Open311;
use Open311::GetServiceRequestUpdates;
my $dt = DateTime->now();
diff --git a/bin/fiksgatami/showroadinfo b/bin/fiksgatami/showroadinfo
index 658fca01c..fda6fbb6b 100755
--- a/bin/fiksgatami/showroadinfo
+++ b/bin/fiksgatami/showroadinfo
@@ -3,11 +3,12 @@
use strict;
use warnings;
-use FixMyStreet::App;
+use FixMyStreet::Cobrand;
+use FixMyStreet::DB;
use FixMyStreet::Geocode::OSM;
use Data::Dumper;
-FixMyStreet::App->model('DB::Problem')->send_reports();
+FixMyStreet::DB->resultset('Problem')->send_reports();
my $cobrand = FixMyStreet::Cobrand->get_class_for_moniker('fiksgatami')->new();
diff --git a/bin/fiksgatami/showroadstats b/bin/fiksgatami/showroadstats
index 83c3c4310..9bc8de70b 100755
--- a/bin/fiksgatami/showroadstats
+++ b/bin/fiksgatami/showroadstats
@@ -3,10 +3,11 @@
use strict;
use warnings;
-use FixMyStreet::App;
+use FixMyStreet::Cobrand;
+use FixMyStreet::DB;
use FixMyStreet::Geocode::OSM;
-my @reports = FixMyStreet::App->model('DB::Problem')->search({
+my @reports = FixMyStreet::DB->resultset('Problem')->search({
state => [ FixMyStreet::DB::Result::Problem->visible_states() ],
}, {
rows => 40,
diff --git a/bin/fixmystreet.com/populate_bing_cache b/bin/fixmystreet.com/populate_bing_cache
index 17c8911d0..c644b34fa 100755
--- a/bin/fixmystreet.com/populate_bing_cache
+++ b/bin/fixmystreet.com/populate_bing_cache
@@ -6,12 +6,12 @@ require 5.8.0;
use Data::Dumper;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use FixMyStreet::Geocode::Bing;
my $bing_culture = 'en-GB';
-my $reports = FixMyStreet::App->model('DB::Problem')->search(
+my $reports = FixMyStreet::DB->resultset('Problem')->search(
{
geocode => undef,
confirmed => { '!=', undef },
diff --git a/bin/fixmystreet.com/update-send-questionnaire b/bin/fixmystreet.com/update-send-questionnaire
index 7a231b919..40549c6e4 100755
--- a/bin/fixmystreet.com/update-send-questionnaire
+++ b/bin/fixmystreet.com/update-send-questionnaire
@@ -10,7 +10,8 @@ reports in cobrands that don't send questionnaires at all.
use strict;
use warnings;
-use FixMyStreet::App;
+use FixMyStreet::Cobrand;
+use FixMyStreet::DB;
my @cobrands;
foreach my $cobrand ( FixMyStreet::Cobrand->available_cobrand_classes() ) {
@@ -19,7 +20,7 @@ foreach my $cobrand ( FixMyStreet::Cobrand->available_cobrand_classes() ) {
push @cobrands, $cls->moniker if !$cls->send_questionnaires();
}
-my $problems = FixMyStreet::App->model('DB::Problem')->search({
+my $problems = FixMyStreet::DB->resultset('Problem')->search({
cobrand => \@cobrands,
send_questionnaire => 1,
});
diff --git a/bin/open311-populate-service-list b/bin/open311-populate-service-list
index 11f9005a5..211061258 100755
--- a/bin/open311-populate-service-list
+++ b/bin/open311-populate-service-list
@@ -10,7 +10,7 @@ BEGIN {
require "$d/../setenv.pl";
}
-use FixMyStreet::App;
+use FixMyStreet::DB;
use Open311::PopulateServiceList;
use Getopt::Long::Descriptive;
@@ -22,7 +22,7 @@ my ($opt, $usage) = describe_options(
);
print($usage->text), exit if $opt->help;
-my $bodies = FixMyStreet::App->model('DB::Body')->search( {
+my $bodies = FixMyStreet::DB->resultset('Body')->search( {
id => { '!=', 2237 }, # XXX Until Oxfordshire does do so
send_method => 'Open311'
} );
diff --git a/bin/open311-update-reports b/bin/open311-update-reports
index 6a1c894d7..378f8e8bc 100755
--- a/bin/open311-update-reports
+++ b/bin/open311-update-reports
@@ -17,17 +17,18 @@ BEGIN {
}
use Open311::GetUpdates;
-use FixMyStreet::App;
+use FixMyStreet;
+use FixMyStreet::DB;
# FIXME - make this configurable and/or better
-my $system_user = FixMyStreet::App->model('DB::User')->find_or_create(
+my $system_user = FixMyStreet::DB->resultset('User')->find_or_create(
{
- email => FixMyStreet::App->config->{'CONTACT_EMAIL'},
+ email => FixMyStreet->config('CONTACT_EMAIL'),
name => 'System User',
}
);
-my $body_list = FixMyStreet::App->model('DB::Body');
+my $body_list = FixMyStreet::DB->resultset('Body');
my $update = Open311::GetUpdates->new(
body_list => $body_list,
diff --git a/bin/problem-creation-graph b/bin/problem-creation-graph
index 3e46777f4..a8554058a 100755
--- a/bin/problem-creation-graph
+++ b/bin/problem-creation-graph
@@ -20,7 +20,7 @@ BEGIN {
use File::Temp qw(tempfile);
-use FixMyStreet::App;
+use FixMyStreet::DB;
my %config = (
gplot_output => "set terminal png font 'Vera.ttf' 9 size 1200,400",
@@ -43,7 +43,7 @@ sub grab_data {
my ($fh, $filename) = tempfile("fms-creation-rate-graph-data-XXXXXXXXXX", UNLINK => 1);
$sources{$type} = $filename;
- my @entries = FixMyStreet::App->model('DB::Problem')->search(
+ my @entries = FixMyStreet::DB->resultset('Problem')->search(
$selection, {
columns => [
{ 'date' => { date => 'created' } },
diff --git a/bin/problems-filed-graph b/bin/problems-filed-graph
index a930e4346..950797ebe 100755
--- a/bin/problems-filed-graph
+++ b/bin/problems-filed-graph
@@ -20,7 +20,7 @@ BEGIN {
use File::Temp qw(tempfile);
-use FixMyStreet::App;
+use FixMyStreet::DB;
my %config = (
gplot_output => "set terminal png font 'Vera.ttf' 9 size 1200,600",
@@ -29,7 +29,7 @@ my %config = (
my ($fh, $source) = tempfile("fms-report-rate-graph-data-nonwmc-XXXXXXXXXX", UNLINK => 1);
-my @entries = FixMyStreet::App->model('DB::Problem')->search({
+my @entries = FixMyStreet::DB->resultset('Problem')->search({
state => { -not_in => [ 'unconfirmed', 'hidden', 'partial' ] },
}, {
columns => [
diff --git a/bin/send-alerts b/bin/send-alerts
index 94f7d5509..b0040268a 100755
--- a/bin/send-alerts
+++ b/bin/send-alerts
@@ -21,10 +21,10 @@ use CGI; # XXX
use CronFns;
use mySociety::Config;
-use FixMyStreet::App;
+use FixMyStreet::DB;
my $site = CronFns::site(mySociety::Config::get('BASE_URL'));
CronFns::language($site);
-FixMyStreet::App->model('DB::AlertType')->email_alerts();
+FixMyStreet::DB->resultset('AlertType')->email_alerts();
diff --git a/bin/send-comments b/bin/send-comments
index fbbd57891..c3f21fb2c 100755
--- a/bin/send-comments
+++ b/bin/send-comments
@@ -20,15 +20,12 @@ BEGIN {
require "$d/../setenv.pl";
}
-use Digest::MD5;
-use Encode;
use CronFns;
-use FixMyStreet::App;
-
-use Utils;
use mySociety::Config;
-
+use DateTime;
+use FixMyStreet::Cobrand;
+use FixMyStreet::DB;
use Open311;
# send_method config values found in by-area config data, for selecting to appropriate method
@@ -42,7 +39,7 @@ my ($verbose, $nomail) = CronFns::options();
my $base_url = mySociety::Config::get('BASE_URL');
my $site = CronFns::site($base_url);
-my $bodies = FixMyStreet::App->model('DB::Body')->search( {
+my $bodies = FixMyStreet::DB->resultset('Body')->search( {
send_method => SEND_METHOD_OPEN311,
send_comments => 1,
} );
@@ -54,7 +51,7 @@ while ( my $body = $bodies->next ) {
next if $body->areas->{+COUNCIL_ID_OXFORDSHIRE};
my $use_extended = 0;
- my $comments = FixMyStreet::App->model('DB::Comment')->search( {
+ my $comments = FixMyStreet::DB->resultset('Comment')->search( {
'me.whensent' => undef,
'me.external_id' => undef,
'me.state' => 'confirmed',
diff --git a/bin/send-questionnaires b/bin/send-questionnaires
index 93d58ed77..141c21560 100755
--- a/bin/send-questionnaires
+++ b/bin/send-questionnaires
@@ -18,10 +18,8 @@ BEGIN {
}
use CGI; # XXX Awkward kludge
-use Encode;
use CronFns;
-
-use FixMyStreet::App;
+use FixMyStreet::DB;
use mySociety::Config;
my %params;
@@ -29,5 +27,5 @@ my %params;
$params{site} = CronFns::site(mySociety::Config::get('BASE_URL'));
CronFns::language($params{site});
-FixMyStreet::App->model('DB::Questionnaire')->send_questionnaires( \%params );
+FixMyStreet::DB->resultset('Questionnaire')->send_questionnaires( \%params );
diff --git a/bin/send-reports b/bin/send-reports
index 3c6f26cdb..5765edbfa 100755
--- a/bin/send-reports
+++ b/bin/send-reports
@@ -21,9 +21,9 @@ use CGI; # XXX
use CronFns;
use mySociety::Config;
-use FixMyStreet::App;
+use FixMyStreet::DB;
my $site = CronFns::site(mySociety::Config::get('BASE_URL'));
CronFns::language($site);
-FixMyStreet::App->model('DB::Problem')->send_reports();
+FixMyStreet::DB->resultset('Problem')->send_reports();
diff --git a/bin/update-all-reports b/bin/update-all-reports
index 0627cedc2..25405e8ad 100755
--- a/bin/update-all-reports
+++ b/bin/update-all-reports
@@ -17,7 +17,9 @@ BEGIN {
require "$d/../setenv.pl";
}
-use FixMyStreet::App;
+use FixMyStreet;
+use FixMyStreet::DB;
+
use File::Path ();
use File::Slurp;
use JSON;
@@ -32,7 +34,7 @@ if ( FixMyStreet->config('BASE_URL') =~ /zurich|zueri/ ) {
$age_column = 'created';
}
-my $problems = FixMyStreet::App->model("DB::Problem")->search(
+my $problems = FixMyStreet::DB->resultset('Problem')->search(
{
state => [ FixMyStreet::DB::Result::Problem->visible_states() ],
},
diff --git a/bin/zerotb/import_clinic_list.pl b/bin/zerotb/import_clinic_list.pl
index 359a63925..f7bdbc092 100755
--- a/bin/zerotb/import_clinic_list.pl
+++ b/bin/zerotb/import_clinic_list.pl
@@ -1,7 +1,7 @@
#!/usr/bin/perl
use strict;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use Text::CSV;
use Getopt::Long::Descriptive;
@@ -23,7 +23,7 @@ my $csv = Text::CSV->new ( { binary => 1 } ) # should set binary attribute.
or die "Cannot use CSV: ".Text::CSV->error_diag ();
open my $fh, "<:encoding(utf8)", $opt->file or die "Failed to open " . $opt->file . ": $!";
-my $clinic_user = FixMyStreet::App->model('DB::User')->find_or_create({
+my $clinic_user = FixMyStreet::DB->resultset('User')->find_or_create({
email => $opt->email
});
if ( not $clinic_user->in_storage ) {
@@ -34,7 +34,7 @@ if ( not $clinic_user->in_storage ) {
my $title_row = $csv->getline( $fh );
while ( my $row = $csv->getline( $fh ) ) {
- my $clinics = FixMyStreet::App->model('DB::Problem')->search({
+ my $clinics = FixMyStreet::DB->resultset('Problem')->search({
title => $row->[TITLE]
});
@@ -42,7 +42,7 @@ while ( my $row = $csv->getline( $fh ) ) {
my $p;
my $count = $clinics->count;
if ( $count == 0 ) {
- $p = FixMyStreet::App->model('DB::Problem')->create({
+ $p = FixMyStreet::DB->resultset('Problem')->create({
title => $row->[TITLE],
latitude => $lat,
longitude => $long,
@@ -76,14 +76,14 @@ while ( my $row = $csv->getline( $fh ) ) {
$p->discard_changes;
# disabling existing alerts in case email addresses have changed
- my $existing = FixMyStreet::App->model('DB::Alert')->search({
+ my $existing = FixMyStreet::DB->resultset('Alert')->search({
alert_type => 'new_updates',
parameter => $p->id
});
$existing->update( { confirmed => 0 } );
if ( $row->[EMAIL] ) {
- my $u = FixMyStreet::App->model('DB::User')->find_or_new({
+ my $u = FixMyStreet::DB->resultset('User')->find_or_new({
email => $row->[EMAIL]
});
$u->insert unless $u->in_storage;
@@ -95,7 +95,7 @@ while ( my $row = $csv->getline( $fh ) ) {
sub create_update_alert {
my ( $user, $p, $verbose ) = @_;
- my $a = FixMyStreet::App->model('DB::Alert')->find_or_new({
+ my $a = FixMyStreet::DB->resultset('Alert')->find_or_new({
alert_type => 'new_updates',
user => $user,
parameter => $p->id,
diff --git a/bin/zurich/convert_internal_notes_to_comments b/bin/zurich/convert_internal_notes_to_comments
index ddf74851f..76db0a45b 100755
--- a/bin/zurich/convert_internal_notes_to_comments
+++ b/bin/zurich/convert_internal_notes_to_comments
@@ -17,15 +17,13 @@ the superuser, or one created just for this purpose?
use strict;
use warnings;
-use FixMyStreet::App;
+use FixMyStreet::DB;
# Because it is not possible to determine the user that last edited the
# internal_notes we need require a user to assign all the comments to.
my $comment_user_id = $ARGV[0]
|| die "Usage: $0 id_of_user_for_comments";
-my $comment_user = FixMyStreet::App #
- ->model('DB::User') #
- ->find($comment_user_id)
+my $comment_user = FixMyStreet::DB->resultset('User')->find($comment_user_id)
|| die "Could not find user with id '$comment_user_id'";
# We use now as the time for the internal note. This is not the time it was
@@ -39,7 +37,7 @@ my $comment_state = 'hidden';
# Load all the comments, more reliable than trying to search on the contents of
# the extra field.
-my $problems = FixMyStreet::App->model('DB::Problem')->search();
+my $problems = FixMyStreet::DB->resultset('Problem')->search();
while ( my $problem = $problems->next() ) {
diff --git a/bin/zurich/overdue-alert b/bin/zurich/overdue-alert
index 03845dddb..0473208c5 100755
--- a/bin/zurich/overdue-alert
+++ b/bin/zurich/overdue-alert
@@ -19,7 +19,8 @@ BEGIN {
use DateTime;
use CronFns;
-use FixMyStreet::App;
+use FixMyStreet::Cobrand;
+use FixMyStreet::DB;
use FixMyStreet::Email;
my ($verbose, $nomail) = CronFns::options();
@@ -29,7 +30,7 @@ my $now = DateTime->now();
exit if FixMyStreet::Cobrand::Zurich::is_public_holiday($now) or FixMyStreet::Cobrand::Zurich::is_weekend($now);
my $cobrand = FixMyStreet::Cobrand->get_class_for_moniker('zurich')->new();
-my %bodies = map { $_->id => $_ } FixMyStreet::App->model("DB::Body")->all;
+my %bodies = map { $_->id => $_ } FixMyStreet::DB->resultset("Body")->all;
loop_through( 'alert-moderation-overdue.txt', 0, 1, [ 'unconfirmed' ] );
loop_through( 'alert-overdue.txt', 1, 6, 'in progress' );
@@ -37,10 +38,10 @@ loop_through( 'alert-overdue.txt', 0, 6, ['confirmed', 'planned'] );
sub loop_through {
my ( $template, $include_parent, $days, $states ) = @_;
- my $dtf = FixMyStreet::App->model("DB")->storage->datetime_parser;
+ my $dtf = FixMyStreet::DB->storage->datetime_parser;
my $date_threshold = $dtf->format_datetime(FixMyStreet::Cobrand::Zurich::sub_days( $now, $days ));
- my $reports = FixMyStreet::App->model("DB::Problem")->search( {
+ my $reports = FixMyStreet::DB->resultset("Problem")->search( {
state => $states,
created => { '<', $date_threshold },
bodies_str => { '!=', undef },
@@ -78,7 +79,7 @@ sub send_alert {
}
FixMyStreet::Email::send_cron(
- $schema,
+ FixMyStreet::DB->storage->schema,
{
_template_ => $template,
_parameters_ => $h,
diff --git a/db/rerun_dbic_loader.pl b/db/rerun_dbic_loader.pl
index d7dfd1c10..958b28241 100755
--- a/db/rerun_dbic_loader.pl
+++ b/db/rerun_dbic_loader.pl
@@ -32,6 +32,6 @@ make_schema_at(
components => [ 'FilterColumn', 'InflateColumn::DateTime', 'EncodedColumn' ],
},
- FixMyStreet->dbic_connect_info(),
+ [ FixMyStreet->dbic_connect_info ],
);
diff --git a/perllib/FixMyStreet.pm b/perllib/FixMyStreet.pm
index 76befb96a..4ea999e8c 100644
--- a/perllib/FixMyStreet.pm
+++ b/perllib/FixMyStreet.pm
@@ -136,7 +136,7 @@ sub override_config($&) {
=head2 dbic_connect_info
- $connect_info = FixMyStreet->dbic_connect_info();
+ $connect_info = FixMyStreet->dbic_connect_info;
Returns the array that DBIx::Class::Schema needs to connect to the database.
Most of the values are read from the config file and others are hordcoded here.
@@ -172,7 +172,7 @@ sub dbic_connect_info {
};
my $dbic_args = {};
- return [ $dsn, $user, $password, $dbi_args, $dbic_args ];
+ return ( $dsn, $user, $password, $dbi_args, $dbic_args );
}
=head2 configure_mysociety_dbhandle
diff --git a/perllib/FixMyStreet/App/Controller/JSON.pm b/perllib/FixMyStreet/App/Controller/JSON.pm
index 959ead245..be738bb8b 100644
--- a/perllib/FixMyStreet/App/Controller/JSON.pm
+++ b/perllib/FixMyStreet/App/Controller/JSON.pm
@@ -8,7 +8,6 @@ use JSON;
use DateTime;
use DateTime::Format::ISO8601;
use List::MoreUtils 'uniq';
-use FixMyStreet::App;
=head1 NAME
@@ -81,7 +80,7 @@ sub problems : Local {
$date_col = 'lastupdate';
}
- my $dt_parser = FixMyStreet::App->model('DB')->schema->storage->datetime_parser;
+ my $dt_parser = $c->model('DB')->schema->storage->datetime_parser;
my $one_day = DateTime::Duration->new( days => 1 );
my $query = {
diff --git a/perllib/FixMyStreet/App/Model/DB.pm b/perllib/FixMyStreet/App/Model/DB.pm
index f9e43172f..ac1f98dc9 100644
--- a/perllib/FixMyStreet/App/Model/DB.pm
+++ b/perllib/FixMyStreet/App/Model/DB.pm
@@ -8,7 +8,7 @@ use FixMyStreet;
__PACKAGE__->config(
schema_class => 'FixMyStreet::DB',
- connect_info => FixMyStreet->dbic_connect_info,
+ connect_info => sub { FixMyStreet::DB->storage->dbh },
);
=head1 NAME
diff --git a/perllib/FixMyStreet/App/Model/PhotoSet.pm b/perllib/FixMyStreet/App/Model/PhotoSet.pm
index b18460821..f1334ff38 100644
--- a/perllib/FixMyStreet/App/Model/PhotoSet.pm
+++ b/perllib/FixMyStreet/App/Model/PhotoSet.pm
@@ -56,7 +56,7 @@ has upload_dir => (
lazy => 1,
default => sub {
my $self = shift;
- my $cache_dir = path( $self->c->config->{UPLOAD_DIR} );
+ my $cache_dir = path( FixMyStreet->config('UPLOAD_DIR') );
$cache_dir->mkpath;
unless ( -d $cache_dir && -w $cache_dir ) {
warn "Can't find/write to photo cache directory '$cache_dir'";
diff --git a/perllib/FixMyStreet/Cobrand/Default.pm b/perllib/FixMyStreet/Cobrand/Default.pm
index 9541f2601..48c997047 100644
--- a/perllib/FixMyStreet/Cobrand/Default.pm
+++ b/perllib/FixMyStreet/Cobrand/Default.pm
@@ -682,7 +682,7 @@ sub get_body_sender {
if ( $body->can_be_devolved ) {
# look up via category
- my $config = FixMyStreet::App->model("DB::Contact")->search( { body_id => $body->id, category => $category } )->first;
+ my $config = $body->result_source->schema->resultset("Contact")->search( { body_id => $body->id, category => $category } )->first;
if ( $config->send_method ) {
return { method => $config->send_method, config => $config };
} else {
diff --git a/perllib/FixMyStreet/Cobrand/UKCouncils.pm b/perllib/FixMyStreet/Cobrand/UKCouncils.pm
index 074da0915..66d8bd472 100644
--- a/perllib/FixMyStreet/Cobrand/UKCouncils.pm
+++ b/perllib/FixMyStreet/Cobrand/UKCouncils.pm
@@ -113,7 +113,7 @@ sub owns_problem {
if (ref $report eq 'HASH') {
return unless $report->{bodies_str};
@bodies = split /,/, $report->{bodies_str};
- @bodies = FixMyStreet::App->model('DB::Body')->search({ id => \@bodies })->all;
+ @bodies = FixMyStreet::DB->resultset('Body')->search({ id => \@bodies })->all;
} else { # Object
@bodies = values %{$report->bodies};
}
diff --git a/perllib/FixMyStreet/Cobrand/Zurich.pm b/perllib/FixMyStreet/Cobrand/Zurich.pm
index 6da3e566c..8c08b82b1 100644
--- a/perllib/FixMyStreet/Cobrand/Zurich.pm
+++ b/perllib/FixMyStreet/Cobrand/Zurich.pm
@@ -850,7 +850,7 @@ sub admin_report_edit {
# Add new update from status_update
if (my $update = $c->get_param('status_update')) {
- FixMyStreet::App->model('DB::Comment')->create( {
+ $c->model('DB::Comment')->create( {
text => $update,
user => $c->user->obj,
state => 'unconfirmed',
@@ -1010,10 +1010,10 @@ sub _admin_send_email {
}
sub munge_sendreport_params {
- my ($self, $c, $row, $h, $params) = @_;
+ my ($self, $row, $h, $params) = @_;
if ($row->state =~ /^(closed|investigating)$/ && $row->get_extra_metadata('publish_photo')) {
# we attach images to reports sent to external bodies
- my $photoset = $row->get_photoset($c);
+ my $photoset = $row->get_photoset();
my @images = $photoset->all_images
or return;
my $index = 0;
diff --git a/perllib/FixMyStreet/DB.pm b/perllib/FixMyStreet/DB.pm
index a1767abe9..d920c809f 100644
--- a/perllib/FixMyStreet/DB.pm
+++ b/perllib/FixMyStreet/DB.pm
@@ -15,5 +15,8 @@ __PACKAGE__->load_namespaces;
# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:CjFpUvon7KggFM7OF7VK/w
-# You can replace this text with custom code or comments, and it will be preserved on regeneration
+use FixMyStreet;
+
+__PACKAGE__->connection(FixMyStreet->dbic_connect_info);
+
1;
diff --git a/perllib/FixMyStreet/DB/Result/Problem.pm b/perllib/FixMyStreet/DB/Result/Problem.pm
index 0cab853de..e340acf1e 100644
--- a/perllib/FixMyStreet/DB/Result/Problem.pm
+++ b/perllib/FixMyStreet/DB/Result/Problem.pm
@@ -462,7 +462,7 @@ sub bodies($) {
my $self = shift;
return {} unless $self->bodies_str;
my $bodies = $self->bodies_str_ids;
- my @bodies = FixMyStreet::App->model('DB::Body')->search({ id => $bodies })->all;
+ my @bodies = $self->result_source->schema->resultset('Body')->search({ id => $bodies })->all;
return { map { $_->id => $_ } @bodies };
}
@@ -648,7 +648,7 @@ order of title.
sub response_templates {
my $problem = shift;
- return FixMyStreet::App->model('DB::ResponseTemplate')->search(
+ return $problem->result_source->schema->resultset('ResponseTemplate')->search(
{
body_id => $problem->bodies_str_ids
},
@@ -754,20 +754,17 @@ sub update_from_open311_service_request {
$status_notes = $request->{status_notes};
}
- my $update = FixMyStreet::App->model('DB::Comment')->new(
- {
- problem_id => $self->id,
- state => 'confirmed',
- created => $updated || \'current_timestamp',
- confirmed => \'current_timestamp',
- text => $status_notes,
- mark_open => 0,
- mark_fixed => 0,
- user => $system_user,
- anonymous => 0,
- name => $body->name,
- }
- );
+ my $update = $self->new_related(comments => {
+ state => 'confirmed',
+ created => $updated || \'current_timestamp',
+ confirmed => \'current_timestamp',
+ text => $status_notes,
+ mark_open => 0,
+ mark_fixed => 0,
+ user => $system_user,
+ anonymous => 0,
+ name => $body->name,
+ });
my $w3c = DateTime::Format::W3CDTF->new;
my $req_time = $w3c->parse_datetime( $request->{updated_datetime} );
diff --git a/perllib/FixMyStreet/DB/ResultSet/Alert.pm b/perllib/FixMyStreet/DB/ResultSet/Alert.pm
index bb1c61141..1866e9b06 100644
--- a/perllib/FixMyStreet/DB/ResultSet/Alert.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/Alert.pm
@@ -8,7 +8,7 @@ sub timeline_created {
my ( $rs, $restriction ) = @_;
my $prefetch =
- FixMyStreet::App->model('DB')->schema->storage->sql_maker->quote_char ?
+ $rs->result_source->storage->sql_maker->quote_char ?
[ qw/alert_type user/ ] :
[ qw/alert_type/ ];
diff --git a/perllib/FixMyStreet/DB/ResultSet/AlertType.pm b/perllib/FixMyStreet/DB/ResultSet/AlertType.pm
index 114f79c6e..d4cf9ba8b 100644
--- a/perllib/FixMyStreet/DB/ResultSet/AlertType.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/AlertType.pm
@@ -11,6 +11,7 @@ use mySociety::MaPit;
use IO::String;
use RABX;
+use FixMyStreet::Cobrand;
use FixMyStreet::Email;
# Child must have confirmed, id, email, state(!) columns
@@ -73,7 +74,7 @@ sub email_alerts ($) {
# this is for the new_updates alerts
next if $row->{non_public} and $row->{user_id} != $row->{alert_user_id};
- FixMyStreet::App->model('DB::AlertSent')->create( {
+ $schema->resultset('AlertSent')->create( {
alert_id => $row->{alert_id},
parameter => $row->{item_id},
} );
@@ -97,11 +98,11 @@ sub email_alerts ($) {
if ( $cobrand->moniker ne 'zurich' && $row->{alert_user_id} == $row->{user_id} ) {
# This is an alert to the same user who made the report - make this a login link
# Don't bother with Zurich which has no accounts
- my $user = FixMyStreet::App->model('DB::User')->find( {
+ my $user = $schema->resultset('User')->find( {
id => $row->{alert_user_id}
} );
$data{alert_email} = $user->email;
- my $token_obj = FixMyStreet::App->model('DB::Token')->create( {
+ my $token_obj = $schema->resultset('Token')->create( {
scope => 'alert_to_reporter',
data => {
id => $row->{id},
@@ -156,7 +157,7 @@ sub email_alerts ($) {
# Nearby done separately as the table contains the parameters
my $template = $rs->find( { ref => 'local_problems' } )->template;
- my $query = FixMyStreet::App->model('DB::Alert')->search( {
+ my $query = $schema->resultset('Alert')->search( {
alert_type => 'local_problems',
whendisabled => undef,
confirmed => 1
@@ -198,7 +199,7 @@ sub email_alerts ($) {
$q = dbh()->prepare($q);
$q->execute($latitude, $longitude, $d, $alert->whensubscribed, $alert->id, $alert->user->email);
while (my $row = $q->fetchrow_hashref) {
- FixMyStreet::App->model('DB::AlertSent')->create( {
+ $schema->resultset('AlertSent')->create( {
alert_id => $alert->id,
parameter => $row->{id},
} );
@@ -222,18 +223,18 @@ sub _send_aggregated_alert_email(%) {
$cobrand->set_lang_and_domain( $data{lang}, 1, FixMyStreet->path_to('locale')->stringify );
if (!$data{alert_email}) {
- my $user = FixMyStreet::App->model('DB::User')->find( {
+ my $user = $data{schema}->resultset('User')->find( {
id => $data{alert_user_id}
} );
$data{alert_email} = $user->email;
}
my ($domain) = $data{alert_email} =~ m{ @ (.*) \z }x;
- return if FixMyStreet::App->model('DB::Abuse')->search( {
+ return if $data{schema}->resultset('Abuse')->search( {
email => [ $data{alert_email}, $domain ]
} )->first;
- my $token = FixMyStreet::App->model("DB::Token")->new_result( {
+ my $token = $data{schema}->resultset("Token")->new_result( {
scope => 'alert',
data => {
id => $data{alert_id},
diff --git a/perllib/FixMyStreet/DB/ResultSet/Comment.pm b/perllib/FixMyStreet/DB/ResultSet/Comment.pm
index 1b6afb819..3059baab1 100644
--- a/perllib/FixMyStreet/DB/ResultSet/Comment.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/Comment.pm
@@ -14,7 +14,7 @@ sub timeline {
my ( $rs, $body_restriction ) = @_;
my $prefetch =
- FixMyStreet::App->model('DB')->schema->storage->sql_maker->quote_char ?
+ $rs->result_source->storage->sql_maker->quote_char ?
[ qw/user/ ] :
[];
diff --git a/perllib/FixMyStreet/DB/ResultSet/Problem.pm b/perllib/FixMyStreet/DB/ResultSet/Problem.pm
index 0c2811b7b..8e6cc7333 100644
--- a/perllib/FixMyStreet/DB/ResultSet/Problem.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/Problem.pm
@@ -10,7 +10,7 @@ use Utils;
use mySociety::Config;
use mySociety::MaPit;
-use FixMyStreet::App;
+use FixMyStreet::Cobrand;
use FixMyStreet::Email;
use FixMyStreet::SendReport;
@@ -174,7 +174,7 @@ sub timeline {
my ( $rs ) = @_;
my $prefetch =
- FixMyStreet::App->model('DB')->schema->storage->sql_maker->quote_char ?
+ $rs->result_source->storage->sql_maker->quote_char ?
[ qw/user/ ] :
[];
@@ -336,14 +336,14 @@ sub send_reports {
$cobrand->process_additional_metadata_for_email($row, \%h);
}
- my $bodies = FixMyStreet::App->model("DB::Body")->search(
+ my $bodies = $rs->result_source->schema->resultset('Body')->search(
{ id => $row->bodies_str_ids },
{ order_by => 'name' },
);
my $missing;
if ($row->bodies_missing) {
- my @missing = FixMyStreet::App->model("DB::Body")->search(
+ my @missing = $rs->result_source->schema->resultset("Body")->search(
{ id => [ split /,/, $row->bodies_missing ] },
{ order_by => 'name' }
)->get_column('name')->all;
diff --git a/perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm b/perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm
index f9d32f2c1..aca330960 100644
--- a/perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm
@@ -7,6 +7,7 @@ use Encode;
use Utils;
use FixMyStreet::Email;
+use FixMyStreet::Cobrand;
sub send_questionnaires {
my ( $rs, $params ) = @_;
@@ -40,7 +41,7 @@ sub send_questionnaires_period {
];
}
- my $unsent = FixMyStreet::App->model('DB::Problem')->search( $q_params, {
+ my $unsent = $rs->result_source->schema->resultset('Problem')->search( $q_params, {
order_by => { -desc => 'confirmed' }
} );
@@ -70,7 +71,7 @@ sub send_questionnaires_period {
my %h = map { $_ => $row->$_ } qw/name title detail category/;
$h{created} = Utils::prettify_duration( time() - $row->confirmed->epoch, 'week' );
- my $questionnaire = FixMyStreet::App->model('DB::Questionnaire')->create( {
+ my $questionnaire = $rs->create( {
problem_id => $row->id,
whensent => \'current_timestamp',
} );
@@ -80,7 +81,7 @@ sub send_questionnaires_period {
$row->send_questionnaire( 0 )
if $params->{site} ne 'emptyhomes' || $period eq '26 weeks';
- my $token = FixMyStreet::App->model("DB::Token")->new_result( {
+ my $token = $rs->result_source->schema->resultset("Token")->new_result( {
scope => 'questionnaire',
data => $questionnaire->id,
} );
diff --git a/perllib/FixMyStreet/SendReport/Email.pm b/perllib/FixMyStreet/SendReport/Email.pm
index 95c460006..bc526ded2 100644
--- a/perllib/FixMyStreet/SendReport/Email.pm
+++ b/perllib/FixMyStreet/SendReport/Email.pm
@@ -11,7 +11,7 @@ sub build_recipient_list {
my $all_confirmed = 1;
foreach my $body ( @{ $self->bodies } ) {
- my $contact = FixMyStreet::App->model("DB::Contact")->find( {
+ my $contact = $row->result_source->schema->resultset("Contact")->find( {
deleted => 0,
body_id => $body->id,
category => $row->category
@@ -94,9 +94,7 @@ sub send {
From => $self->send_from( $row ),
};
- my $app = FixMyStreet::App->new( cobrand => $cobrand );
-
- $cobrand->munge_sendreport_params($app, $row, $h, $params) if $cobrand->can('munge_sendreport_params');
+ $cobrand->munge_sendreport_params($row, $h, $params) if $cobrand->can('munge_sendreport_params');
$params->{Bcc} = $self->bcc if @{$self->bcc};
diff --git a/perllib/FixMyStreet/SendReport/EmptyHomes.pm b/perllib/FixMyStreet/SendReport/EmptyHomes.pm
index ce69aaac3..bf7164e21 100644
--- a/perllib/FixMyStreet/SendReport/EmptyHomes.pm
+++ b/perllib/FixMyStreet/SendReport/EmptyHomes.pm
@@ -12,7 +12,7 @@ sub build_recipient_list {
my $all_confirmed = 1;
foreach my $body ( @{ $self->bodies } ) {
- my $contact = FixMyStreet::App->model("DB::Contact")->find( {
+ my $contact = $row->result_source->schema->resultset("Contact")->find( {
deleted => 0,
body_id => $body->id,
category => 'Empty property',
diff --git a/perllib/FixMyStreet/SendReport/Open311.pm b/perllib/FixMyStreet/SendReport/Open311.pm
index fa216466e..14dd65fa6 100644
--- a/perllib/FixMyStreet/SendReport/Open311.pm
+++ b/perllib/FixMyStreet/SendReport/Open311.pm
@@ -5,7 +5,6 @@ use namespace::autoclean;
BEGIN { extends 'FixMyStreet::SendReport'; }
-use FixMyStreet::App;
use mySociety::Config;
use DateTime::Format::W3CDTF;
use Open311;
@@ -85,7 +84,7 @@ sub send {
}
# FIXME: we've already looked this up before
- my $contact = FixMyStreet::App->model("DB::Contact")->find( {
+ my $contact = $row->result_source->schema->resultset("Contact")->find( {
deleted => 0,
body_id => $body->id,
category => $row->category
diff --git a/perllib/FixMyStreet/SendReport/Zurich.pm b/perllib/FixMyStreet/SendReport/Zurich.pm
index 2838440cb..7af4cf4f5 100644
--- a/perllib/FixMyStreet/SendReport/Zurich.pm
+++ b/perllib/FixMyStreet/SendReport/Zurich.pm
@@ -14,7 +14,7 @@ sub build_recipient_list {
# Wunsch set, but external_message hasn't yet been filled in. TODO should
# we instead be holding off sending?)
if ( $row->external_body ) {
- $body = FixMyStreet::App->model("DB::Body")->find( { id => $row->external_body } );
+ $body = $row->result_source->schema->resultset("Body")->find( { id => $row->external_body } );
$h->{bodies_name} = $body->name;
$h->{external_message} = $row->get_extra_metadata('external_message') || '';
}
@@ -29,7 +29,7 @@ sub build_recipient_list {
my $parent = $body->parent;
if ($parent && !$parent->parent) {
# Division, might have an individual contact email address
- my $contact = FixMyStreet::App->model("DB::Contact")->find( {
+ my $contact = $row->result_source->schema->resultset("Contact")->find( {
body_id => $body->id,
category => $row->category
} );
@@ -72,7 +72,7 @@ sub send_from {
if ( $row->external_body ) {
my $body = @{ $self->bodies }[0];
my $body_email = $body->endpoint;
- my $contact = FixMyStreet::App->model("DB::Contact")->find( {
+ my $contact = $body->result_source->schema->resultset("Contact")->find( {
body_id => $body->id,
category => $row->category
} );
diff --git a/perllib/FixMyStreet/TestMech.pm b/perllib/FixMyStreet/TestMech.pm
index cc5f9dd71..d3adce08b 100644
--- a/perllib/FixMyStreet/TestMech.pm
+++ b/perllib/FixMyStreet/TestMech.pm
@@ -66,7 +66,7 @@ sub create_user_ok {
my ($email) = @_;
my $user =
- FixMyStreet::App->model('DB::User')
+ FixMyStreet::DB->resultset('User')
->find_or_create( { email => $email } );
ok $user, "found/created user for $email";
@@ -147,7 +147,7 @@ sub delete_user {
my $user =
ref $email_or_user
? $email_or_user
- : FixMyStreet::App->model('DB::User')
+ : FixMyStreet::DB->resultset('User')
->find( { email => $email_or_user } );
# If no user found we can't delete them
@@ -567,7 +567,7 @@ sub delete_problems_for_body {
my $mech = shift;
my $body = shift;
- my $reports = FixMyStreet::App->model('DB::Problem')->search( { bodies_str => $body } );
+ my $reports = FixMyStreet::DB->resultset('Problem')->search( { bodies_str => $body } );
if ( $reports ) {
for my $r ( $reports->all ) {
$r->comments->delete;
@@ -587,7 +587,7 @@ sub create_contact_ok {
note => 'Created for test',
@_
);
- my $contact = FixMyStreet::App->model('DB::Contact')->find_or_create( \%contact_params );
+ my $contact = FixMyStreet::DB->resultset('Contact')->find_or_create( \%contact_params );
ok $contact, 'found/created contact ' . $contact->category;;
return $contact;
}
@@ -596,7 +596,7 @@ sub create_body_ok {
my $self = shift;
my ( $area_id, $name, %extra ) = @_;
- my $body = FixMyStreet::App->model('DB::Body');
+ my $body = FixMyStreet::DB->resultset('Body');
my $params = { name => $name };
if ($extra{id}) {
$body = $body->update_or_create({ %$params, id => $extra{id} }, { key => 'primary' });
@@ -606,7 +606,7 @@ sub create_body_ok {
ok $body, "found/created body $name";
$body->body_areas->delete;
- FixMyStreet::App->model('DB::BodyArea')->find_or_create({
+ FixMyStreet::DB->resultset('BodyArea')->find_or_create({
area_id => $area_id,
body_id => $body->id,
});
@@ -621,7 +621,7 @@ sub create_problems_for_body {
my $dt = $params->{dt} || DateTime->now();
my $user = $params->{user} ||
- FixMyStreet::App->model('DB::User')
+ FixMyStreet::DB->resultset('User')
->find_or_create( { email => 'test@example.com', name => 'Test User' } );
delete $params->{user};
@@ -656,7 +656,7 @@ sub create_problems_for_body {
my %report_params = ( %$default_params, %$params );
my $problem =
- FixMyStreet::App->model('DB::Problem')->create( \%report_params );
+ FixMyStreet::DB->resultset('Problem')->create( \%report_params );
push @problems, $problem;
$count--;
diff --git a/perllib/Open311.pm b/perllib/Open311.pm
index 58ae96bc2..db6fcc4a8 100644
--- a/perllib/Open311.pm
+++ b/perllib/Open311.pm
@@ -8,6 +8,8 @@ use LWP::Simple;
use LWP::UserAgent;
use DateTime::Format::W3CDTF;
use HTTP::Request::Common qw(POST);
+use FixMyStreet::Cobrand;
+use FixMyStreet::DB;
has jurisdiction => ( is => 'ro', isa => 'Str' );;
has api_key => ( is => 'ro', isa => 'Str' );
diff --git a/perllib/Open311/GetServiceRequestUpdates.pm b/perllib/Open311/GetServiceRequestUpdates.pm
index 1e5f4dc6b..b7da43604 100644
--- a/perllib/Open311/GetServiceRequestUpdates.pm
+++ b/perllib/Open311/GetServiceRequestUpdates.pm
@@ -2,7 +2,7 @@ package Open311::GetServiceRequestUpdates;
use Moose;
use Open311;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use DateTime::Format::W3CDTF;
has system_user => ( is => 'rw' );
@@ -10,6 +10,7 @@ has start_date => ( is => 'ro', default => undef );
has end_date => ( is => 'ro', default => undef );
has suppress_alerts => ( is => 'rw', default => 0 );
has verbose => ( is => 'ro', default => 0 );
+has schema => ( is =>'ro', lazy => 1, default => sub { FixMyStreet::DB->connect } );
Readonly::Scalar my $AREA_ID_BROMLEY => 2482;
Readonly::Scalar my $AREA_ID_OXFORDSHIRE => 2237;
@@ -17,7 +18,7 @@ Readonly::Scalar my $AREA_ID_OXFORDSHIRE => 2237;
sub fetch {
my $self = shift;
- my $bodies = FixMyStreet::App->model('DB::Body')->search(
+ my $bodies = $self->schema->resultset('Body')->search(
{
send_method => 'Open311',
send_comments => 1,
@@ -91,7 +92,7 @@ sub update_comments {
my $criteria = {
external_id => $request_id,
};
- $problem = FixMyStreet::App->model('DB::Problem')->to_body($body)->search( $criteria );
+ $problem = $self->schema->resultset('Problem')->to_body($body)->search( $criteria );
if (my $p = $problem->first) {
my $c = $p->comments->search( { external_id => $request->{update_id} } );
@@ -99,7 +100,7 @@ sub update_comments {
if ( !$c->first ) {
my $comment_time = DateTime::Format::W3CDTF->parse_datetime( $request->{updated_datetime} );
- my $comment = FixMyStreet::App->model('DB::Comment')->new(
+ my $comment = $self->schema->resultset('Comment')->new(
{
problem => $p,
user => $self->system_user,
@@ -137,7 +138,7 @@ sub update_comments {
$comment->insert();
if ( $self->suppress_alerts ) {
- my @alerts = FixMyStreet::App->model('DB::Alert')->search( {
+ my @alerts = $self->schema->resultset('Alert')->search( {
alert_type => 'new_updates',
parameter => $p->id,
confirmed => 1,
@@ -145,7 +146,7 @@ sub update_comments {
} );
for my $alert (@alerts) {
- my $alerts_sent = FixMyStreet::App->model('DB::AlertSent')->find_or_create( {
+ my $alerts_sent = $self->schema->resultset('AlertSent')->find_or_create( {
alert_id => $alert->id,
parameter => $comment->id,
} );
diff --git a/perllib/Open311/GetUpdates.pm b/perllib/Open311/GetUpdates.pm
index bc55086f0..afbdd13b5 100644
--- a/perllib/Open311/GetUpdates.pm
+++ b/perllib/Open311/GetUpdates.pm
@@ -2,7 +2,7 @@ package Open311::GetUpdates;
use Moose;
use Open311;
-use FixMyStreet::App;
+use FixMyStreet::Cobrand;
has body_list => ( is => 'ro' );
has system_user => ( is => 'ro' );
@@ -17,7 +17,7 @@ sub get_updates {
api_key => $body->api_key
);
- my $reports = FixMyStreet::App->model('DB::Problem')->to_body($body)->search(
+ my $reports = $body->result_source->schema->resultset('Problem')->to_body($body)->search(
{
state => { 'IN', [qw/confirmed fixed/] },
-and => [
@@ -62,8 +62,7 @@ sub update_reports {
my $request_id = $request->{service_request_id};
- my $problem =
- FixMyStreet::App->model('DB::Problem')
+ my $problem = $body->result_source->schema->resultset('Problem')
->search( { external_id => $request_id, } );
if (my $p = $problem->first) {
diff --git a/perllib/Open311/PopulateServiceList.pm b/perllib/Open311/PopulateServiceList.pm
index 5f45382e2..fbb0ebc56 100644
--- a/perllib/Open311/PopulateServiceList.pm
+++ b/perllib/Open311/PopulateServiceList.pm
@@ -1,21 +1,17 @@
package Open311::PopulateServiceList;
use Moose;
-use LWP::Simple;
-use XML::Simple;
-use FixMyStreet::App;
use Open311;
has bodies => ( is => 'ro' );
has found_contacts => ( is => 'rw', default => sub { [] } );
has verbose => ( is => 'ro', default => 0 );
+has schema => ( is => 'ro', lazy => 1, default => sub { FixMyStreet::DB->connect } );
has _current_body => ( is => 'rw' );
has _current_open311 => ( is => 'rw' );
has _current_service => ( is => 'rw' );
-my $bodies = FixMyStreet::App->model('DB::Body');
-
sub process_bodies {
my $self = shift;
@@ -93,7 +89,7 @@ sub process_service {
$self->_current_service->{service_name};
print $self->_current_service->{service_code} . ': ' . $category . "\n" if $self->verbose >= 2;
- my $contacts = FixMyStreet::App->model( 'DB::Contact')->search(
+ my $contacts = $self->schema->resultset('Contact')->search(
{
body_id => $self->_current_body->id,
-OR => [
@@ -173,7 +169,7 @@ sub _create_contact {
my $contact;
eval {
- $contact = FixMyStreet::App->model( 'DB::Contact')->create(
+ $contact = $self->schema->resultset('Contact')->create(
{
email => $self->_current_service->{service_code},
body_id => $self->_current_body->id,
@@ -287,7 +283,7 @@ sub _normalize_service_name {
sub _delete_contacts_not_in_service_list {
my $self = shift;
- my $found_contacts = FixMyStreet::App->model( 'DB::Contact')->search(
+ my $found_contacts = $self->schema->resultset('Contact')->search(
{
email => { -not_in => $self->found_contacts },
body_id => $self->_current_body->id,
diff --git a/t/app/model/alert_type.t b/t/app/model/alert_type.t
index 2620dd68c..f67b5d1f7 100644
--- a/t/app/model/alert_type.t
+++ b/t/app/model/alert_type.t
@@ -9,21 +9,21 @@ my $mech = FixMyStreet::TestMech->new();
# this is the easiest way to make sure we're not going
# to get any emails sent by data kicking about in the database
-FixMyStreet::App->model('DB::AlertType')->email_alerts();
+FixMyStreet::DB->resultset('AlertType')->email_alerts();
$mech->clear_emails_ok;
my $user =
- FixMyStreet::App->model('DB::User')
+ FixMyStreet::DB->resultset('User')
->find_or_create( { email => 'test@example.com', name => 'Test User' } );
ok $user, "created test user";
my $user2 =
- FixMyStreet::App->model('DB::User')
+ FixMyStreet::DB->resultset('User')
->find_or_create( { email => 'commenter@example.com', name => 'Commenter' } );
ok $user2, "created comment user";
my $user3 =
- FixMyStreet::App->model('DB::User')
+ FixMyStreet::DB->resultset('User')
->find_or_create( { email => 'bystander@example.com', name => 'Bystander' } );
ok $user3, "created bystander";
@@ -36,7 +36,7 @@ my $dt = DateTime->new(
second => 23
);
-my $report = FixMyStreet::App->model('DB::Problem')->find_or_create(
+my $report = FixMyStreet::DB->resultset('Problem')->find_or_create(
{
postcode => 'SW1A 1AA',
bodies_str => '2504',
@@ -62,7 +62,7 @@ my $report = FixMyStreet::App->model('DB::Problem')->find_or_create(
my $report_id = $report->id;
ok $report, "created test report - $report_id";
-my $comment = FixMyStreet::App->model('DB::Comment')->find_or_create(
+my $comment = FixMyStreet::DB->resultset('Comment')->find_or_create(
{
problem_id => $report_id,
user_id => $user2->id,
@@ -74,7 +74,7 @@ my $comment = FixMyStreet::App->model('DB::Comment')->find_or_create(
anonymous => 'f',
}
);
-my $comment2 = FixMyStreet::App->model('DB::Comment')->find_or_create(
+my $comment2 = FixMyStreet::DB->resultset('Comment')->find_or_create(
{
problem_id => $report_id,
user_id => $user2->id,
@@ -90,7 +90,7 @@ my $comment2 = FixMyStreet::App->model('DB::Comment')->find_or_create(
$comment->confirmed( \"current_timestamp - '3 days'::interval" );
$comment->update;
-my $alert = FixMyStreet::App->model('DB::Alert')->find_or_create(
+my $alert = FixMyStreet::DB->resultset('Alert')->find_or_create(
{
user => $user,
parameter => $report_id,
@@ -101,7 +101,7 @@ my $alert = FixMyStreet::App->model('DB::Alert')->find_or_create(
}
);
-my $alert3 = FixMyStreet::App->model('DB::Alert')->find_or_create(
+my $alert3 = FixMyStreet::DB->resultset('Alert')->find_or_create(
{
user => $user3,
parameter => $report_id,
@@ -129,7 +129,7 @@ for my $test (
subtest "correct summary for state of $test->{state}" => sub {
$mech->clear_emails_ok;
- my $sent = FixMyStreet::App->model('DB::AlertSent')->search(
+ my $sent = FixMyStreet::DB->resultset('AlertSent')->search(
{
alert_id => [ $alert->id, $alert3->id ],
parameter => $comment->id,
@@ -139,7 +139,7 @@ for my $test (
$report->state( $test->{state} );
$report->update;
- FixMyStreet::App->model('DB::AlertType')->email_alerts();
+ FixMyStreet::DB->resultset('AlertType')->email_alerts();
$mech->email_count_is( 2 );
my @emails = $mech->get_email;
@@ -167,7 +167,7 @@ my $now = DateTime->now();
$report->confirmed( $now->ymd . ' ' . $now->hms );
$report->update();
-my $council_alert = FixMyStreet::App->model('DB::Alert')->find_or_create(
+my $council_alert = FixMyStreet::DB->resultset('Alert')->find_or_create(
{
user => $user2,
parameter => 2504,
@@ -181,7 +181,7 @@ my $council_alert = FixMyStreet::App->model('DB::Alert')->find_or_create(
subtest "correct text for title after URL" => sub {
$mech->clear_emails_ok;
- my $sent = FixMyStreet::App->model('DB::AlertSent')->search(
+ my $sent = FixMyStreet::DB->resultset('AlertSent')->search(
{
alert_id => $council_alert->id,
parameter => $report->id,
@@ -190,7 +190,7 @@ subtest "correct text for title after URL" => sub {
FixMyStreet::override_config {
MAPIT_URL => 'http://mapit.mysociety.org/',
}, sub {
- FixMyStreet::App->model('DB::AlertType')->email_alerts();
+ FixMyStreet::DB->resultset('AlertType')->email_alerts();
};
my $email = $mech->get_email;
@@ -304,7 +304,7 @@ foreach my $test (
subtest "correct Nearest Road text with $test->{desc}" => sub {
$mech->clear_emails_ok;
- my $sent = FixMyStreet::App->model('DB::AlertSent')->search(
+ my $sent = FixMyStreet::DB->resultset('AlertSent')->search(
{
alert_id => $council_alert->id,
parameter => $report->id,
@@ -327,7 +327,7 @@ foreach my $test (
FixMyStreet::override_config {
MAPIT_URL => 'http://mapit.mysociety.org/',
}, sub {
- FixMyStreet::App->model('DB::AlertType')->email_alerts();
+ FixMyStreet::DB->resultset('AlertType')->email_alerts();
};
my $email = $mech->get_email;
@@ -341,7 +341,7 @@ foreach my $test (
};
}
-my $ward_alert = FixMyStreet::App->model('DB::Alert')->find_or_create(
+my $ward_alert = FixMyStreet::DB->resultset('Alert')->find_or_create(
{
user => $user,
parameter => 7117,
@@ -352,7 +352,7 @@ my $ward_alert = FixMyStreet::App->model('DB::Alert')->find_or_create(
}
);
-my $report_to_council = FixMyStreet::App->model('DB::Problem')->find_or_create(
+my $report_to_council = FixMyStreet::DB->resultset('Problem')->find_or_create(
{
postcode => 'WS13 6YY',
bodies_str => '2434',
@@ -376,7 +376,7 @@ my $report_to_council = FixMyStreet::App->model('DB::Problem')->find_or_create(
}
);
-my $report_to_county_council = FixMyStreet::App->model('DB::Problem')->find_or_create(
+my $report_to_county_council = FixMyStreet::DB->resultset('Problem')->find_or_create(
{
postcode => 'WS13 6YY',
bodies_str => '2240',
@@ -400,7 +400,7 @@ my $report_to_county_council = FixMyStreet::App->model('DB::Problem')->find_or_c
}
);
-my $report_outside_district = FixMyStreet::App->model('DB::Problem')->find_or_create(
+my $report_outside_district = FixMyStreet::DB->resultset('Problem')->find_or_create(
{
postcode => 'WS13 6YY',
bodies_str => '2221',
@@ -427,7 +427,7 @@ my $report_outside_district = FixMyStreet::App->model('DB::Problem')->find_or_cr
subtest "check alerts from cobrand send main site url for alerts for different council" => sub {
$mech->clear_emails_ok;
- my $sent = FixMyStreet::App->model('DB::AlertSent')->search(
+ my $sent = FixMyStreet::DB->resultset('AlertSent')->search(
{
alert_id => $ward_alert->id,
}
@@ -436,7 +436,7 @@ subtest "check alerts from cobrand send main site url for alerts for different c
FixMyStreet::override_config {
MAPIT_URL => 'http://mapit.mysociety.org/',
}, sub {
- FixMyStreet::App->model('DB::AlertType')->email_alerts();
+ FixMyStreet::DB->resultset('AlertType')->email_alerts();
};
my $email = $mech->get_email;
@@ -453,7 +453,7 @@ subtest "check alerts from cobrand send main site url for alerts for different c
};
-my $local_alert = FixMyStreet::App->model('DB::Alert')->find_or_create(
+my $local_alert = FixMyStreet::DB->resultset('Alert')->find_or_create(
{
user => $user,
parameter => -1.731322,
@@ -468,13 +468,13 @@ my $local_alert = FixMyStreet::App->model('DB::Alert')->find_or_create(
subtest "check local alerts from cobrand send main site url for alerts for different council" => sub {
$mech->clear_emails_ok;
- my $sent = FixMyStreet::App->model('DB::AlertSent')->search(
+ my $sent = FixMyStreet::DB->resultset('AlertSent')->search(
{
alert_id => $local_alert->id,
}
)->delete;
- FixMyStreet::App->model('DB::AlertType')->email_alerts();
+ FixMyStreet::DB->resultset('AlertType')->email_alerts();
my $email = $mech->get_email;
my $body = $email->body;
@@ -494,7 +494,7 @@ subtest "correct i18n-ed summary for state of closed" => sub {
$report->update( { state => 'closed' } );
$alert->update( { lang => 'nb', cobrand => 'fiksgatami' } );
- FixMyStreet::App->model('DB::AlertSent')->search( {
+ FixMyStreet::DB->resultset('AlertSent')->search( {
alert_id => $alert->id,
parameter => $comment->id,
} )->delete;
@@ -502,7 +502,7 @@ subtest "correct i18n-ed summary for state of closed" => sub {
FixMyStreet::override_config {
ALLOWED_COBRANDS => [ 'fiksgatami' ],
}, sub {
- FixMyStreet::App->model('DB::AlertType')->email_alerts();
+ FixMyStreet::DB->resultset('AlertType')->email_alerts();
};
$mech->email_count_is( 1 );
diff --git a/t/app/model/comment.t b/t/app/model/comment.t
index 3141af828..ae93824a7 100644
--- a/t/app/model/comment.t
+++ b/t/app/model/comment.t
@@ -6,9 +6,9 @@ use warnings;
use Test::More tests => 2;
use FixMyStreet;
-use FixMyStreet::App;
+use FixMyStreet::DB;
-my $comment_rs = FixMyStreet::App->model('DB::Comment');
+my $comment_rs = FixMyStreet::DB->resultset('Comment');
my $comment = $comment_rs->new(
{
diff --git a/t/app/model/extra.t b/t/app/model/extra.t
index 21c37336e..52e2d839c 100644
--- a/t/app/model/extra.t
+++ b/t/app/model/extra.t
@@ -3,13 +3,11 @@ use warnings;
use Test::More;
use utf8;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use Data::Dumper;
use DateTime;
-my $c = FixMyStreet::App->new;
-
-my $db = FixMyStreet::App->model('DB')->schema;
+my $db = FixMyStreet::DB->connect;
$db->txn_begin;
my $body = $db->resultset('Body')->create({ name => 'ExtraTestingBody' });
diff --git a/t/app/model/moderation.t b/t/app/model/moderation.t
index cdc9a91b0..8fa333db4 100644
--- a/t/app/model/moderation.t
+++ b/t/app/model/moderation.t
@@ -4,17 +4,17 @@ use Test::More;
use Test::Exception;
use utf8;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use Data::Dumper;
use DateTime;
my $dt = DateTime->now;
-my $user = FixMyStreet::App->model('DB::User')->find_or_create({
+my $user = FixMyStreet::DB->resultset('User')->find_or_create({
name => 'Bob', email => 'bob@example.com',
});
sub get_report_and_original_data {
- my $report = FixMyStreet::App->model('DB::Problem')->create(
+ my $report = FixMyStreet::DB->resultset('Problem')->create(
{
postcode => 'BR1 3SB',
bodies_str => '',
diff --git a/t/app/model/photoset.t b/t/app/model/photoset.t
index 9e566f873..938c77b2a 100644
--- a/t/app/model/photoset.t
+++ b/t/app/model/photoset.t
@@ -4,7 +4,7 @@ use Test::More;
use Test::Exception;
use utf8;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use Data::Dumper;
use DateTime;
use Path::Tiny 'path';
@@ -12,19 +12,22 @@ use File::Temp 'tempdir';
my $dt = DateTime->now;
-my $c = FixMyStreet::App->new;
my $UPLOAD_DIR = tempdir( CLEANUP => 1 );
-local $c->config->{UPLOAD_DIR} = $UPLOAD_DIR;
-my $user = $c->model('DB::User')->find_or_create({
+my $db = FixMyStreet::DB->storage->schema;
+
+my $user = $db->resultset('User')->find_or_create({
name => 'Bob', email => 'bob@example.com',
});
-my $image_path = path('t/app/controller/sample.jpg');
+FixMyStreet::override_config {
+ UPLOAD_DIR => $UPLOAD_DIR,
+}, sub {
-my $db = FixMyStreet::App->model('DB')->schema;
$db->txn_begin;
+my $image_path = path('t/app/controller/sample.jpg');
+
sub make_report {
my $photo_data = shift;
return $db->resultset('Problem')->create({
@@ -54,23 +57,25 @@ sub make_report {
subtest 'Photoset with photo inline in DB' => sub {
my $report = make_report( $image_path->slurp );
- my $photoset = $report->get_photoset($c);
+ my $photoset = $report->get_photoset();
is $photoset->num_images, 1, 'Found just 1 image';
};
$image_path->copy( path( $UPLOAD_DIR, '0123456789012345678901234567890123456789.jpeg' ) );
subtest 'Photoset with 1 referenced photo' => sub {
my $report = make_report( '0123456789012345678901234567890123456789' );
- my $photoset = $report->get_photoset($c);
+ my $photoset = $report->get_photoset();
is $photoset->num_images, 1, 'Found just 1 image';
};
subtest 'Photoset with 1 referenced photo' => sub {
my $report = make_report( '0123456789012345678901234567890123456789,0123456789012345678901234567890123456789,0123456789012345678901234567890123456789' );
- my $photoset = $report->get_photoset($c);
+ my $photoset = $report->get_photoset();
is $photoset->num_images, 3, 'Found 3 images';
};
$db->txn_rollback;
+};
+
done_testing();
diff --git a/t/app/model/problem.t b/t/app/model/problem.t
index 82569d72a..6f706a22a 100644
--- a/t/app/model/problem.t
+++ b/t/app/model/problem.t
@@ -7,13 +7,13 @@ use Test::More;
use FixMyStreet::TestMech;
use FixMyStreet;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use mySociety::Locale;
use Sub::Override;
mySociety::Locale::gettext_domain('FixMyStreet');
-my $problem_rs = FixMyStreet::App->model('DB::Problem');
+my $problem_rs = FixMyStreet::DB->resultset('Problem');
my $problem = $problem_rs->new(
{
@@ -147,7 +147,7 @@ for my $test (
};
}
-my $user = FixMyStreet::App->model('DB::User')->find_or_create(
+my $user = FixMyStreet::DB->resultset('User')->find_or_create(
{
email => 'system_user@example.com'
}
@@ -161,7 +161,7 @@ $problem->insert;
my $tz_local = DateTime::TimeZone->new( name => 'local' );
-my $body = FixMyStreet::App->model('DB::Body')->new({
+my $body = FixMyStreet::DB->resultset('Body')->new({
name => 'Edinburgh City Council'
});
@@ -521,7 +521,7 @@ foreach my $test ( {
$mech->clear_emails_ok;
- FixMyStreet::App->model('DB::Problem')->search(
+ $problem_rs->search(
{
whensent => undef
}
@@ -541,7 +541,7 @@ foreach my $test ( {
} );
FixMyStreet::override_config $override, sub {
- FixMyStreet::App->model('DB::Problem')->send_reports();
+ $problem_rs->send_reports();
};
$mech->email_count_is( $test->{ email_count } );
@@ -596,7 +596,7 @@ subtest 'check can set mutiple emails as a single contact' => sub {
$mech->clear_emails_ok;
- FixMyStreet::App->model('DB::Problem')->search(
+ $problem_rs->search(
{
whensent => undef
}
@@ -615,7 +615,7 @@ subtest 'check can set mutiple emails as a single contact' => sub {
} );
FixMyStreet::override_config $override, sub {
- FixMyStreet::App->model('DB::Problem')->send_reports();
+ $problem_rs->send_reports();
};
$mech->email_count_is(1);
@@ -630,7 +630,7 @@ subtest 'check can turn on report sent email alerts' => sub {
);
$mech->clear_emails_ok;
- FixMyStreet::App->model('DB::Problem')->search(
+ $problem_rs->search(
{
whensent => undef
}
@@ -648,7 +648,7 @@ subtest 'check can turn on report sent email alerts' => sub {
send_fail_count => 0,
} );
- FixMyStreet::App->model('DB::Problem')->send_reports();
+ $problem_rs->send_reports();
$mech->email_count_is( 2 );
my @emails = $mech->get_email;
@@ -675,7 +675,7 @@ subtest 'check can turn on report sent email alerts' => sub {
subtest 'check iOS app store test reports not sent' => sub {
$mech->clear_emails_ok;
- FixMyStreet::App->model('DB::Problem')->search(
+ $problem_rs->search(
{
whensent => undef
}
@@ -692,7 +692,7 @@ subtest 'check iOS app store test reports not sent' => sub {
send_fail_count => 0,
} );
- FixMyStreet::App->model('DB::Problem')->send_reports();
+ $problem_rs->send_reports();
$mech->email_count_is( 0 );
@@ -704,7 +704,7 @@ subtest 'check iOS app store test reports not sent' => sub {
subtest 'check reports from abuser not sent' => sub {
$mech->clear_emails_ok;
- FixMyStreet::App->model('DB::Problem')->search(
+ $problem_rs->search(
{
whensent => undef
}
@@ -721,7 +721,7 @@ subtest 'check reports from abuser not sent' => sub {
send_fail_count => 0,
} );
- FixMyStreet::App->model('DB::Problem')->send_reports();
+ $problem_rs->send_reports();
$mech->email_count_is( 1 );
@@ -734,10 +734,10 @@ subtest 'check reports from abuser not sent' => sub {
whensent => undef,
} );
- my $abuse = FixMyStreet::App->model('DB::Abuse')->create( { email => $problem->user->email } );
+ my $abuse = FixMyStreet::DB->resultset('Abuse')->create( { email => $problem->user->email } );
$mech->clear_emails_ok;
- FixMyStreet::App->model('DB::Problem')->send_reports();
+ $problem_rs->send_reports();
$mech->email_count_is( 0 );
diff --git a/t/app/model/questionnaire.t b/t/app/model/questionnaire.t
index 240d6d050..f82b071bd 100644
--- a/t/app/model/questionnaire.t
+++ b/t/app/model/questionnaire.t
@@ -8,9 +8,9 @@ use Test::More;
use FixMyStreet;
use FixMyStreet::TestMech;
-my $user = FixMyStreet::App->model('DB::User')->find_or_create( { email => 'test@example.com' } );
+my $user = FixMyStreet::DB->resultset('User')->find_or_create( { email => 'test@example.com' } );
-my $problem = FixMyStreet::App->model('DB::Problem')->create(
+my $problem = FixMyStreet::DB->resultset('Problem')->create(
{
postcode => 'EH99 1SP',
latitude => 1,
@@ -106,7 +106,7 @@ for my $test (
$mech->email_count_is(0);
- FixMyStreet::App->model('DB::Questionnaire')
+ FixMyStreet::DB->resultset('Questionnaire')
->send_questionnaires( { site => 'fixmystreet' } );
$mech->email_count_is( $test->{send_email} );
diff --git a/t/app/model/token.t b/t/app/model/token.t
index d72574bb1..c98cea395 100644
--- a/t/app/model/token.t
+++ b/t/app/model/token.t
@@ -6,7 +6,7 @@ use warnings;
use Test::More;
use FixMyStreet;
-use FixMyStreet::App;
+use FixMyStreet::DB;
my %tests = (
nested_hash => { foo => 'bar', and => [ 'baz', 'bundy' ] },
@@ -14,7 +14,7 @@ my %tests = (
scalar => 123,
);
-my $token_rs = FixMyStreet::App->model('DB::Token');
+my $token_rs = FixMyStreet::DB->resultset('Token');
foreach my $test_data_name ( sort keys %tests ) {
my $test_data = $tests{$test_data_name};
diff --git a/t/app/sendreport/email.t b/t/app/sendreport/email.t
index 65cd7bfa8..eacc6dcf6 100644
--- a/t/app/sendreport/email.t
+++ b/t/app/sendreport/email.t
@@ -6,7 +6,7 @@ use warnings;
use Test::More;
use FixMyStreet;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use FixMyStreet::SendReport::Email;
use FixMyStreet::TestMech;
use mySociety::Locale;
@@ -17,7 +17,7 @@ my $e = FixMyStreet::SendReport::Email->new();
# area id 1000
my $params = { id => 1000, name => 'Council of the Thousand' };
-my $body = FixMyStreet::App->model('DB::Body')->find_or_create($params);
+my $body = FixMyStreet::DB->resultset('Body')->find_or_create($params);
ok $body, "found/created body";
my $contact = $mech->create_contact_ok(
@@ -27,7 +27,7 @@ my $contact = $mech->create_contact_ok(
note => '',
);
-my $row = FixMyStreet::App->model('DB::Problem')->new( {
+my $row = FixMyStreet::DB->resultset('Problem')->new( {
bodies_str => '1000',
category => 'category',
cobrand => '',
diff --git a/t/cobrand/bromley.t b/t/cobrand/bromley.t
index fdded5606..91b34a289 100644
--- a/t/cobrand/bromley.t
+++ b/t/cobrand/bromley.t
@@ -21,7 +21,7 @@ my @reports = $mech->create_problems_for_body( 1, $body->id, 'Test', {
my $report = $reports[0];
for my $update ('in progress', 'unable to fix') {
- FixMyStreet::App->model('DB::Comment')->find_or_create( {
+ FixMyStreet::DB->resultset('Comment')->find_or_create( {
problem_state => $update,
problem_id => $report->id,
user_id => $user->id,
@@ -48,7 +48,7 @@ subtest 'testing special Open311 behaviour', sub {
FixMyStreet::override_config {
SEND_REPORTS_ON_STAGING => 1,
}, sub {
- FixMyStreet::App->model('DB::Problem')->send_reports();
+ FixMyStreet::DB->resultset('Problem')->send_reports();
};
$report->discard_changes;
ok $report->whensent, 'Report marked as sent';
diff --git a/t/cobrand/closest.t b/t/cobrand/closest.t
index d06f7e9a0..43b36f608 100644
--- a/t/cobrand/closest.t
+++ b/t/cobrand/closest.t
@@ -4,7 +4,7 @@ use warnings;
use Test::More;
use mySociety::Locale;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use FixMyStreet::TestMech;
my $mech = FixMyStreet::TestMech->new;
@@ -16,7 +16,7 @@ mySociety::Locale::gettext_domain( 'FixMyStreet' );
my $c = FixMyStreet::Cobrand::UK->new();
my $user =
- FixMyStreet::App->model('DB::User')
+ FixMyStreet::DB->resultset('User')
->find_or_create( { email => 'test@example.com', name => 'Test User' } );
ok $user, "created test user";
@@ -29,7 +29,7 @@ my $dt = DateTime->new(
second => 23
);
-my $report = FixMyStreet::App->model('DB::Problem')->find_or_create(
+my $report = FixMyStreet::DB->resultset('Problem')->find_or_create(
{
postcode => 'SW1A 1AA',
bodies_str => '2504',
diff --git a/t/cobrand/fixamingata.t b/t/cobrand/fixamingata.t
index d181d3890..65236e6e1 100644
--- a/t/cobrand/fixamingata.t
+++ b/t/cobrand/fixamingata.t
@@ -43,7 +43,7 @@ $mech->email_count_is(0);
FixMyStreet::override_config {
ALLOWED_COBRANDS => [ 'fixamingata' ],
}, sub {
- FixMyStreet::App->model('DB::Problem')->send_reports();
+ FixMyStreet::DB->resultset('Problem')->send_reports();
};
my $email = $mech->get_email;
like $email->header('Content-Type'), qr/iso-8859-1/, 'encoding looks okay';
@@ -53,16 +53,16 @@ like $email->body, qr/V=E4nligen,/, 'signature looks correct';
$mech->clear_emails_ok;
my $user =
- FixMyStreet::App->model('DB::User')
+ FixMyStreet::DB->resultset('User')
->find_or_create( { email => 'test@example.com', name => 'Test User' } );
ok $user, "created test user";
my $user2 =
- FixMyStreet::App->model('DB::User')
+ FixMyStreet::DB->resultset('User')
->find_or_create( { email => 'commenter@example.com', name => 'Commenter' } );
ok $user2, "created comment user";
-my $comment = FixMyStreet::App->model('DB::Comment')->find_or_create({
+my $comment = FixMyStreet::DB->resultset('Comment')->find_or_create({
problem_id => $report->id,
user_id => $user2->id,
name => 'Other User',
@@ -74,7 +74,7 @@ my $comment = FixMyStreet::App->model('DB::Comment')->find_or_create({
$comment->confirmed( \"current_timestamp - '3 days'::interval" );
$comment->update;
-my $alert = FixMyStreet::App->model('DB::Alert')->find_or_create({
+my $alert = FixMyStreet::DB->resultset('Alert')->find_or_create({
user => $user,
parameter => $report->id,
alert_type => 'new_updates',
@@ -86,7 +86,7 @@ my $alert = FixMyStreet::App->model('DB::Alert')->find_or_create({
FixMyStreet::override_config {
ALLOWED_COBRANDS => [ 'fixamingata' ],
}, sub {
- FixMyStreet::App->model('DB::AlertType')->email_alerts();
+ FixMyStreet::DB->resultset('AlertType')->email_alerts();
};
$mech->email_count_is(1);
diff --git a/t/cobrand/fixmybarangay.t b/t/cobrand/fixmybarangay.t
index 316739dfa..00e792341 100644
--- a/t/cobrand/fixmybarangay.t
+++ b/t/cobrand/fixmybarangay.t
@@ -30,8 +30,8 @@ $bsn->update( { send_method => 'Email' } );
my $dps = $mech->create_body_ok( 3, 'DPS', id => 3 );
$dps->update( { send_method => 'Open311', endpoint => 'http://dps.endpoint.example.com', jurisdiction => 'FMB', api_key => 'test' } );
-FixMyStreet::App->model('DB::BodyArea')->find_or_create({ area_id => 1, body_id => $dps->id });
-FixMyStreet::App->model('DB::BodyArea')->find_or_create({ area_id => 2, body_id => $dps->id });
+FixMyStreet::DB->resultset('BodyArea')->find_or_create({ area_id => 1, body_id => $dps->id });
+FixMyStreet::DB->resultset('BodyArea')->find_or_create({ area_id => 2, body_id => $dps->id });
# Create contacts for these bodies
# TODO: log in as a Bgy user, and create a report using the front end,
@@ -72,7 +72,7 @@ $mech->email_count_is(0);
FixMyStreet::override_config {
SEND_REPORTS_ON_STAGING => 1,
}, sub {
- FixMyStreet::App->model('DB::Problem')->send_reports('fixmybarangay');
+ FixMyStreet::DB->resultset('Problem')->send_reports('fixmybarangay');
};
# Check BGY one sent by email
@@ -89,10 +89,10 @@ is $dps_report->send_method_used, 'Open311', 'DPS report sent via Open311';
is $dps_report->external_id, 248, 'DPS report has right external ID';
my $fmb_test_email = 'luz_test_user@example.com';
-my $user = FixMyStreet::App->model('DB::User')->find_or_create( { email => $fmb_test_email, from_body => $luz->id, password => 'fmbsecret' } );
+my $user = FixMyStreet::DB->resultset('User')->find_or_create( { email => $fmb_test_email, from_body => $luz->id, password => 'fmbsecret' } );
ok $user, "test user does exist";
-my $alert = FixMyStreet::App->model('DB::Alert')->find_or_create({
+my $alert = FixMyStreet::DB->resultset('Alert')->find_or_create({
user => $user,
parameter => '-0.142497580865087',
parameter2 => '51.5016605453401',
@@ -105,7 +105,7 @@ my $alert = FixMyStreet::App->model('DB::Alert')->find_or_create({
FixMyStreet::override_config {
ALLOWED_COBRANDS => [ 'fixmybarangay' ],
}, sub {
- FixMyStreet::App->model('DB::AlertType')->email_alerts();
+ FixMyStreet::DB->resultset('AlertType')->email_alerts();
};
$mech->email_count_is(1);
diff --git a/t/cobrand/get_body_sender.t b/t/cobrand/get_body_sender.t
index a9ba49479..66cfc02b7 100644
--- a/t/cobrand/get_body_sender.t
+++ b/t/cobrand/get_body_sender.t
@@ -4,7 +4,7 @@ use warnings;
use Test::More;
use mySociety::Locale;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use_ok 'FixMyStreet::Cobrand';
@@ -12,10 +12,10 @@ mySociety::Locale::gettext_domain( 'FixMyStreet' );
my $c = FixMyStreet::Cobrand::FixMyStreet->new();
-FixMyStreet::App->model('DB::BodyArea')->search( { body_id => 1000 } )->delete;
-FixMyStreet::App->model('DB::Body')->search( { name => 'Body of a Thousand' } )->delete;
+FixMyStreet::DB->resultset('BodyArea')->search( { body_id => 1000 } )->delete;
+FixMyStreet::DB->resultset('Body')->search( { name => 'Body of a Thousand' } )->delete;
-my $body = FixMyStreet::App->model('DB::Body')->find_or_create({
+my $body = FixMyStreet::DB->resultset('Body')->find_or_create({
id => 1000,
name => 'Body of a Thousand',
});
diff --git a/t/cobrand/seesomething.t b/t/cobrand/seesomething.t
index 57a8a11ed..09114f6f9 100644
--- a/t/cobrand/seesomething.t
+++ b/t/cobrand/seesomething.t
@@ -10,7 +10,7 @@ use FixMyStreet::TestMech;
my $EMAIL = 'seesomething@example.com';
my $mech = FixMyStreet::TestMech->new;
-my $db = FixMyStreet::App->model('DB')->schema;
+my $db = FixMyStreet::DB->storage->schema;
my $dt_parser = $db->storage->datetime_parser;
$db->txn_begin;
@@ -32,7 +32,7 @@ $user->update({ from_body => $body });
my $date = $dt_parser->format_datetime(DateTime->now);
-my $report = FixMyStreet::App->model('DB::Problem')->find_or_create( {
+my $report = FixMyStreet::DB->resultset('Problem')->find_or_create( {
postcode => 'EH1 1BB',
bodies_str => '2520',
areas => ',2520,',
diff --git a/t/cobrand/zurich.t b/t/cobrand/zurich.t
index 721ee547c..b686f78ae 100644
--- a/t/cobrand/zurich.t
+++ b/t/cobrand/zurich.t
@@ -19,9 +19,7 @@ use Path::Tiny;
# commonlib/bin/gettext-makemo FixMyStreet
use FixMyStreet;
-my $c = FixMyStreet::App->new();
-my $cobrand = FixMyStreet::Cobrand::Zurich->new({ c => $c });
-$c->stash->{cobrand} = $cobrand;
+my $cobrand = FixMyStreet::Cobrand::Zurich->new();
my $sample_file = path(__FILE__)->parent->parent->child("app/controller/sample.jpg");
ok $sample_file->exists, "sample file $sample_file exists";
@@ -37,7 +35,7 @@ sub send_reports_for_zurich {
ALLOWED_COBRANDS => ['zurich']
}, sub {
# Actually send the report
- $c->model('DB::Problem')->send_reports('zurich');
+ FixMyStreet::DB->resultset('Problem')->send_reports('zurich');
};
}
sub reset_report_state {
@@ -195,7 +193,7 @@ subtest "changing of categories" => sub {
sub get_moderated_count {
# my %date_params = ( );
- # my $moderated = FixMyStreet::App->model('DB::Problem')->search({
+ # my $moderated = FixMyStreet::DB->resultset('Problem')->search({
# extra => { like => '%moderated_overdue,I1:0%' }, %date_params } )->count;
# return $moderated;
@@ -848,7 +846,7 @@ subtest "test stats" => sub {
subtest "test admin_log" => sub {
diag $report->id;
- my @entries = FixMyStreet::App->model('DB::AdminLog')->search({
+ my @entries = FixMyStreet::DB->resultset('AdminLog')->search({
object_type => 'problem',
object_id => $report->id,
});
@@ -868,7 +866,6 @@ subtest 'email images to external partners' => sub {
my $photo = path(__FILE__)->parent->child('zurich-logo_portal.x.jpg')->slurp_raw;
my $photoset = FixMyStreet::App::Model::PhotoSet->new({
- c => $c,
data_items => [ $photo ],
});
my $fileid = $photoset->data;
diff --git a/t/map/tilma/original.t b/t/map/tilma/original.t
index 9e296686d..4ddeed8e0 100644
--- a/t/map/tilma/original.t
+++ b/t/map/tilma/original.t
@@ -3,7 +3,7 @@
use strict;
use warnings;
use Test::More;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use FixMyStreet::Map;
use FixMyStreet::TestMech;
use DateTime;
@@ -20,14 +20,14 @@ my $c = ctx_request('http://fixmystreet.com/test?bbox=-7.6,49.7,-7.5,49.8');
$mech->delete_user('test@example.com');
my $user =
- FixMyStreet::App->model('DB::User')
+ FixMyStreet::DB->resultset('User')
->find_or_create( { email => 'test@example.com', name => 'Test User' } );
ok $user, "created test user";
my $dt = DateTime->now();
-my $report = FixMyStreet::App->model('DB::Problem')->find_or_create(
+my $report = FixMyStreet::DB->resultset('Problem')->find_or_create(
{
postcode => 'SW1A 1AA',
bodies_str => '2504',
diff --git a/t/open311.t b/t/open311.t
index 15bebe2fc..6333355e8 100644
--- a/t/open311.t
+++ b/t/open311.t
@@ -5,7 +5,7 @@ use strict;
use warnings;
use Test::More;
use Test::Warn;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use CGI::Simple;
use HTTP::Response;
use DateTime;
@@ -26,9 +26,9 @@ is $o->_process_error( '503 - service unavailable' ), 'unknown error', 'error te
my $o2 = Open311->new( endpoint => 'http://192.168.50.1/open311/', jurisdiction => 'example.org' );
-my $u = FixMyStreet::App->model('DB::User')->new( { email => 'test@example.org', name => 'A User' } );
+my $u = FixMyStreet::DB->resultset('User')->new( { email => 'test@example.org', name => 'A User' } );
-my $p = FixMyStreet::App->model('DB::Problem')->new( {
+my $p = FixMyStreet::DB->resultset('Problem')->new( {
latitude => 1,
longitude => 1,
title => 'title',
@@ -45,12 +45,12 @@ warning_like {$o2->send_service_request( $p, { url => 'http://example.com/' }, 1
my $dt = DateTime->now();
-my $user = FixMyStreet::App->model('DB::User')->new( {
+my $user = FixMyStreet::DB->resultset('User')->new( {
name => 'Test User',
email => 'test@example.com',
} );
-my $problem = FixMyStreet::App->model('DB::Problem')->new( {
+my $problem = FixMyStreet::DB->resultset('Problem')->new( {
id => 80,
external_id => 81,
state => 'confirmed',
@@ -207,7 +207,7 @@ for my $test (
}
-my $comment = FixMyStreet::App->model('DB::Comment')->new( {
+my $comment = FixMyStreet::DB->resultset('Comment')->new( {
id => 38362,
user => $user,
problem => $problem,
@@ -394,7 +394,7 @@ for my $test (
my $dt2 = $dt->clone;
$dt2->add( 'minutes' => 1 );
-my $comment2 = FixMyStreet::App->model('DB::Comment')->new( {
+my $comment2 = FixMyStreet::DB->resultset('Comment')->new( {
id => 38363,
user => $user,
problem => $problem,
diff --git a/t/open311/endpoint/warwick.t b/t/open311/endpoint/warwick.t
index b51c601f3..5c47cd529 100644
--- a/t/open311/endpoint/warwick.t
+++ b/t/open311/endpoint/warwick.t
@@ -7,7 +7,7 @@ use Test::MockTime ':all';
use Data::Dumper;
use JSON;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use Module::Loaded;
BEGIN { mark_as_loaded('DBD::Oracle') }
@@ -141,16 +141,16 @@ subtest "End to end" => sub {
my $WARWICKSHIRE_MAPIT_ID = 2243;
- my $db = FixMyStreet::App->model('DB')->schema;
+ my $db = FixMyStreet::DB->connect;
$db->txn_begin;
- my $body = FixMyStreet::App->model('DB::Body')->find_or_create( {
+ my $body = FixMyStreet::DB->resultset('Body')->find_or_create( {
id => $WARWICKSHIRE_MAPIT_ID,
name => 'Warwickshire County Council',
});
- my $user = FixMyStreet::App->model('DB::User')
+ my $user = FixMyStreet::DB->resultset('User')
->find_or_create( { email => 'test@example.com', name => 'Test User' } );
$body->update({
@@ -175,7 +175,7 @@ subtest "End to end" => sub {
my $bodies = self_rs($body);
- my $p = Open311::PopulateServiceList->new( bodies => $bodies, verbose => 0 );
+ my $p = Open311::PopulateServiceList->new( bodies => $bodies, verbose => 0, schema => $db );
$p->process_bodies;
is $body->contacts->count, 1, 'Categories imported from Open311';
@@ -183,7 +183,7 @@ subtest "End to end" => sub {
set_fixed_time('2014-07-20T15:05:00Z');
- my $problem = FixMyStreet::App->model('DB::Problem')->create({
+ my $problem = FixMyStreet::DB->resultset('Problem')->create({
postcode => 'WC1 1AA',
bodies_str => $WARWICKSHIRE_MAPIT_ID,
areas => ",$WARWICKSHIRE_MAPIT_ID,",
@@ -219,7 +219,7 @@ subtest "End to end" => sub {
# self_rs($problem)->send_reports;
## instead, as we are in a transaction, we'll just delete everything else.
- my $rs = FixMyStreet::App->model('DB::Problem');
+ my $rs = FixMyStreet::DB->resultset('Problem');
$rs->search({ id => { '!=', $problem->id } })->delete;
$rs->send_reports;
};
@@ -242,7 +242,7 @@ subtest "End to end" => sub {
is $problem->state, 'confirmed', 'sanity check status';
- my $updates = Open311::GetServiceRequestUpdates->new( verbose => 1 );
+ my $updates = Open311::GetServiceRequestUpdates->new( verbose => 1, schema => $db );
$updates->fetch;
$problem->discard_changes;
diff --git a/t/open311/getservicerequestupdates.t b/t/open311/getservicerequestupdates.t
index 0ab5b232d..46c3feda4 100644
--- a/t/open311/getservicerequestupdates.t
+++ b/t/open311/getservicerequestupdates.t
@@ -10,17 +10,17 @@ use_ok( 'Open311' );
use_ok( 'Open311::GetServiceRequestUpdates' );
use DateTime;
use DateTime::Format::W3CDTF;
-use FixMyStreet::App;
+use FixMyStreet::DB;
-my $user = FixMyStreet::App->model('DB::User')->find_or_create(
+my $user = FixMyStreet::DB->resultset('User')->find_or_create(
{
email => 'system_user@example.com'
}
);
my %bodies = (
- 2482 => FixMyStreet::App->model("DB::Body")->new({ id => 2482 }),
- 2651 => FixMyStreet::App->model("DB::Body")->new({ id => 2651 }),
+ 2482 => FixMyStreet::DB->resultset("Body")->new({ id => 2482 }),
+ 2651 => FixMyStreet::DB->resultset("Body")->new({ id => 2651 }),
);
my $requests_xml = qq{<?xml version="1.0" encoding="utf-8"?>
@@ -104,7 +104,7 @@ subtest 'check extended request parsed correctly' => sub {
};
-my $problem_rs = FixMyStreet::App->model('DB::Problem');
+my $problem_rs = FixMyStreet::DB->resultset('Problem');
my $problem = $problem_rs->new(
{
postcode => 'EH99 1SP',
@@ -353,7 +353,7 @@ for my $test (
is $problem->comments->count, 1, 'comment count';
$problem->discard_changes;
- my $c = FixMyStreet::App->model('DB::Comment')->search( { external_id => $test->{external_id} } )->first;
+ my $c = FixMyStreet::DB->resultset('Comment')->search( { external_id => $test->{external_id} } )->first;
ok $c, 'comment exists';
is $c->text, $test->{description}, 'text correct';
is $c->mark_fixed, $test->{mark_fixed}, 'mark_closed correct';
@@ -527,7 +527,7 @@ subtest 'check that existing comments are not duplicated' => sub {
$problem->comments->delete;
- my $comment = FixMyStreet::App->model('DB::Comment')->new(
+ my $comment = FixMyStreet::DB->resultset('Comment')->new(
{
problem => $problem,
external_id => 638344,
@@ -660,7 +660,7 @@ foreach my $test ( {
$problem->update;
my @alerts = map {
- my $alert = FixMyStreet::App->model('DB::Alert')->create( {
+ my $alert = FixMyStreet::DB->resultset('Alert')->create( {
alert_type => 'new_updates',
parameter => $problem->id,
confirmed => 1,
@@ -680,7 +680,7 @@ foreach my $test ( {
$update->update_comments( $o, $bodies{2482} );
$problem->discard_changes;
- my $alerts_sent = FixMyStreet::App->model('DB::AlertSent')->search(
+ my $alerts_sent = FixMyStreet::DB->resultset('AlertSent')->search(
{
alert_id => [ map $_->id, @alerts ],
parameter => $problem->comments->first->id,
diff --git a/t/open311/getupdates.t b/t/open311/getupdates.t
index 7dc7ff164..fef51e0e1 100644
--- a/t/open311/getupdates.t
+++ b/t/open311/getupdates.t
@@ -5,17 +5,18 @@ use warnings;
use Test::More;
use FixMyStreet;
+use FixMyStreet::DB;
use_ok( 'Open311::GetUpdates' );
use_ok( 'Open311' );
-my $user = FixMyStreet::App->model('DB::User')->find_or_create(
+my $user = FixMyStreet::DB->resultset('User')->find_or_create(
{
email => 'system_user@example.com'
}
);
-my $body = FixMyStreet::App->model('DB::Body')->new( {
+my $body = FixMyStreet::DB->resultset('Body')->new( {
name => 'Test Body',
} );
@@ -42,7 +43,7 @@ UPDATED_DATETIME
</service_requests>
};
-my $problem_rs = FixMyStreet::App->model('DB::Problem');
+my $problem_rs = FixMyStreet::DB->resultset('Problem');
my $problem = $problem_rs->new(
{
postcode => 'EH99 1SP',
diff --git a/t/open311/populate-service-list.t b/t/open311/populate-service-list.t
index 1574732fb..f001926d2 100644
--- a/t/open311/populate-service-list.t
+++ b/t/open311/populate-service-list.t
@@ -4,7 +4,7 @@ use strict;
use warnings;
use Test::More;
-use FixMyStreet::App;
+use FixMyStreet::DB;
use_ok( 'Open311::PopulateServiceList' );
use_ok( 'Open311' );
@@ -13,7 +13,7 @@ use_ok( 'Open311' );
my $processor = Open311::PopulateServiceList->new();
ok $processor, 'created object';
-my $body = FixMyStreet::App->model('DB::Body')->find_or_create( {
+my $body = FixMyStreet::DB->resultset('Body')->find_or_create( {
id => 1,
name => 'Body Numero Uno',
} );
@@ -22,7 +22,7 @@ $body->body_areas->find_or_create({
} );
my $BROMLEY = 'Bromley Council';
-my $bromley = FixMyStreet::App->model('DB::Body')->find_or_create( {
+my $bromley = FixMyStreet::DB->resultset('Body')->find_or_create( {
id => 2482,
name => $BROMLEY,
} );
@@ -32,7 +32,7 @@ $bromley->body_areas->find_or_create({
} );
subtest 'check basic functionality' => sub {
- FixMyStreet::App->model('DB::Contact')->search( { body_id => 1 } )->delete();
+ FixMyStreet::DB->resultset('Contact')->search( { body_id => 1 } )->delete();
my $service_list = get_xml_simple_object( get_standard_xml() );
@@ -40,14 +40,14 @@ subtest 'check basic functionality' => sub {
$processor->_current_body( $body );
$processor->process_services( $service_list );
- my $contact_count = FixMyStreet::App->model('DB::Contact')->search( { body_id => 1 } )->count();
+ my $contact_count = FixMyStreet::DB->resultset('Contact')->search( { body_id => 1 } )->count();
is $contact_count, 3, 'correct number of contacts';
};
subtest 'check non open311 contacts marked as deleted' => sub {
- FixMyStreet::App->model('DB::Contact')->search( { body_id => 1 } )->delete();
+ FixMyStreet::DB->resultset('Contact')->search( { body_id => 1 } )->delete();
- my $contact = FixMyStreet::App->model('DB::Contact')->create(
+ my $contact = FixMyStreet::DB->resultset('Contact')->create(
{
body_id => 1,
email => 'contact@example.com',
@@ -66,17 +66,17 @@ subtest 'check non open311 contacts marked as deleted' => sub {
$processor->_current_body( $body );
$processor->process_services( $service_list );
- my $contact_count = FixMyStreet::App->model('DB::Contact')->search( { body_id => 1 } )->count();
+ my $contact_count = FixMyStreet::DB->resultset('Contact')->search( { body_id => 1 } )->count();
is $contact_count, 4, 'correct number of contacts';
- $contact_count = FixMyStreet::App->model('DB::Contact')->search( { body_id => 1, deleted => 1 } )->count();
+ $contact_count = FixMyStreet::DB->resultset('Contact')->search( { body_id => 1, deleted => 1 } )->count();
is $contact_count, 1, 'correct number of deleted contacts';
};
subtest 'check email changed if matching category' => sub {
- FixMyStreet::App->model('DB::Contact')->search( { body_id => 1 } )->delete();
+ FixMyStreet::DB->resultset('Contact')->search( { body_id => 1 } )->delete();
- my $contact = FixMyStreet::App->model('DB::Contact')->create(
+ my $contact = FixMyStreet::DB->resultset('Contact')->create(
{
body_id => 1,
email => '009',
@@ -102,14 +102,14 @@ subtest 'check email changed if matching category' => sub {
is $contact->confirmed, 1, 'contact still confirmed';
is $contact->deleted, 0, 'contact still not deleted';
- my $contact_count = FixMyStreet::App->model('DB::Contact')->search( { body_id => 1 } )->count();
+ my $contact_count = FixMyStreet::DB->resultset('Contact')->search( { body_id => 1 } )->count();
is $contact_count, 3, 'correct number of contacts';
};
subtest 'check category name changed if updated' => sub {
- FixMyStreet::App->model('DB::Contact')->search( { body_id => 1 } )->delete();
+ FixMyStreet::DB->resultset('Contact')->search( { body_id => 1 } )->delete();
- my $contact = FixMyStreet::App->model('DB::Contact')->create(
+ my $contact = FixMyStreet::DB->resultset('Contact')->create(
{
body_id => 1,
email => '001',
@@ -136,14 +136,14 @@ subtest 'check category name changed if updated' => sub {
is $contact->confirmed, 1, 'contact still confirmed';
is $contact->deleted, 0, 'contact still not deleted';
- my $contact_count = FixMyStreet::App->model('DB::Contact')->search( { body_id => 1 } )->count();
+ my $contact_count = FixMyStreet::DB->resultset('Contact')->search( { body_id => 1 } )->count();
is $contact_count, 3, 'correct number of contacts';
};
subtest 'check conflicting contacts not changed' => sub {
- FixMyStreet::App->model('DB::Contact')->search( { body_id => 1 } )->delete();
+ FixMyStreet::DB->resultset('Contact')->search( { body_id => 1 } )->delete();
- my $contact = FixMyStreet::App->model('DB::Contact')->create(
+ my $contact = FixMyStreet::DB->resultset('Contact')->create(
{
body_id => 1,
email => 'existing@example.com',
@@ -158,7 +158,7 @@ subtest 'check conflicting contacts not changed' => sub {
ok $contact, 'contact created';
- my $contact2 = FixMyStreet::App->model('DB::Contact')->create(
+ my $contact2 = FixMyStreet::DB->resultset('Contact')->create(
{
body_id => 1,
email => '001',
@@ -191,7 +191,7 @@ subtest 'check conflicting contacts not changed' => sub {
is $contact2->confirmed, 1, 'second contact contact still confirmed';
is $contact2->deleted, 0, 'second contact contact still not deleted';
- my $contact_count = FixMyStreet::App->model('DB::Contact')->search( { body_id => 1 } )->count();
+ my $contact_count = FixMyStreet::DB->resultset('Contact')->search( { body_id => 1 } )->count();
is $contact_count, 4, 'correct number of contacts';
};
@@ -215,7 +215,7 @@ subtest 'check meta data population' => sub {
</service_definition>
';
- my $contact = FixMyStreet::App->model('DB::Contact')->find_or_create(
+ my $contact = FixMyStreet::DB->resultset('Contact')->find_or_create(
{
body_id => 1,
email => '001',
@@ -395,7 +395,7 @@ for my $test (
$services_xml =~ s/metadata>false/metadata>true/ms;
}
- my $contact = FixMyStreet::App->model('DB::Contact')->find_or_create(
+ my $contact = FixMyStreet::DB->resultset('Contact')->find_or_create(
{
body_id => 1,
email => '100',
@@ -470,7 +470,7 @@ subtest 'check attribute ordering' => sub {
</service_definition>
';
- my $contact = FixMyStreet::App->model('DB::Contact')->find_or_create(
+ my $contact = FixMyStreet::DB->resultset('Contact')->find_or_create(
{
body_id => 1,
email => '001',
@@ -572,7 +572,7 @@ subtest 'check bromely skip code' => sub {
</service_definition>
';
- my $contact = FixMyStreet::App->model('DB::Contact')->find_or_create(
+ my $contact = FixMyStreet::DB->resultset('Contact')->find_or_create(
{
body_id => 1,
email => '001',