diff options
author | Dave Arter <davea@mysociety.org> | 2016-12-07 11:39:59 +0000 |
---|---|---|
committer | Dave Arter <davea@mysociety.org> | 2017-02-15 17:36:55 +0000 |
commit | 4d44ea5530a7dc25122e5135c19d89b4cebc5f40 (patch) | |
tree | 28ff117ae830534ccd37d3bdc70c8e5dba7f53e9 /perllib/FixMyStreet/Cobrand | |
parent | cd7e3087567b0fa7e64f52d802e5e911708a7eb8 (diff) |
[Oxfordshire] Add Exor RDI file download feature
The RDI file format encapsulates information about inspections that have taken
place, and can be uploaded into Exor to create defects in bulk.
This commit adds a page to the Oxfordshire cobrand's admin allowing RDI files
to be generated and downloaded from FMS.
For mysociety/fixmystreetforcouncils#127
Diffstat (limited to 'perllib/FixMyStreet/Cobrand')
-rw-r--r-- | perllib/FixMyStreet/Cobrand/Default.pm | 1 | ||||
-rw-r--r-- | perllib/FixMyStreet/Cobrand/Oxfordshire.pm | 25 | ||||
-rw-r--r-- | perllib/FixMyStreet/Cobrand/UKCouncils.pm | 2 |
3 files changed, 26 insertions, 2 deletions
diff --git a/perllib/FixMyStreet/Cobrand/Default.pm b/perllib/FixMyStreet/Cobrand/Default.pm index b8767ab73..63db8b64a 100644 --- a/perllib/FixMyStreet/Cobrand/Default.pm +++ b/perllib/FixMyStreet/Cobrand/Default.pm @@ -665,7 +665,6 @@ sub admin_pages { $pages->{responsepriorities} = [ _('Priorities'), 4 ]; $pages->{responsepriority_edit} = [ undef, undef ]; }; - if ( $user->has_body_permission_to('user_edit') ) { $pages->{users} = [ _('Users'), 6 ]; $pages->{user_edit} = [ undef, undef ]; diff --git a/perllib/FixMyStreet/Cobrand/Oxfordshire.pm b/perllib/FixMyStreet/Cobrand/Oxfordshire.pm index cf9d6a9a4..7fa548406 100644 --- a/perllib/FixMyStreet/Cobrand/Oxfordshire.pm +++ b/perllib/FixMyStreet/Cobrand/Oxfordshire.pm @@ -129,6 +129,31 @@ sub traffic_management_options { ]; } +sub admin_pages { + my $self = shift; + + my $user = $self->{c}->user; + + my $pages = $self->next::method(); + + # Oxfordshire have a custom admin page for downloading reports in an Exor- + # friendly format which anyone with report_instruct permission can use. + if ( $user->is_superuser || $user->has_body_permission_to('report_instruct') ) { + $pages->{exordefects} = [ _('Download Exor RDI'), 10 ]; + } + + return $pages; +} + +sub defect_types { + { + SFP2 => "SFP2: sweep and fill <1m2", + POT2 => "POT2", + }; +} + +sub exor_rdi_link_id { 1989169 } +sub exor_rdi_link_length { 50 } sub reputation_increment_states { return { diff --git a/perllib/FixMyStreet/Cobrand/UKCouncils.pm b/perllib/FixMyStreet/Cobrand/UKCouncils.pm index 4e900e653..e0b6b5298 100644 --- a/perllib/FixMyStreet/Cobrand/UKCouncils.pm +++ b/perllib/FixMyStreet/Cobrand/UKCouncils.pm @@ -76,7 +76,7 @@ sub users_restriction { my $or_query = [ from_body => $self->council_id, - id => [ { -in => $problem_user_ids }, { -in => $update_user_ids } ], + 'me.id' => [ { -in => $problem_user_ids }, { -in => $update_user_ids } ], ]; if ($self->can('admin_user_domain')) { my $domain = $self->admin_user_domain; |