aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/App.pm
Commit message (Collapse)AuthorAgeLines
* Allow cobrand to provide own DO_NOT_REPLY_EMAIL valueDave Arter2019-12-09-2/+2
|
* Merge branch 'staging-banner-email'Matthew Somerville2019-12-09-0/+1
|\
| * Add warning message at top of staging site emails.Matthew Somerville2019-12-05-0/+1
| |
* | Switch to default-escaped in email templates.Matthew Somerville2019-12-09-3/+3
|/ | | | | We add a way to process a template with no auto-escaping, that can be used for the text parts of emails, and mark various HTML output as safe.
* Merge branch 'csp-uk'Matthew Somerville2019-11-25-1/+1
|\
| * Add configuration for setting CSP header.Matthew Somerville2019-11-25-1/+1
| | | | | | | | | | | | This allows you to output a working Content-Security-Policy header, with optional third-party domains, by setting a new CONTENT_SECURITY_POLICY configuration option.
* | Switch to internal QR code generator.Matthew Somerville2019-11-23-2/+2
| |
* | Rotate session ID after successful login.Matthew Somerville2019-11-22-0/+1
|/
* Require code to be entered when activating 2FA.Matthew Somerville2019-10-28-0/+18
|
* Merge in upgraded Catalyst branch.Matthew Somerville2019-05-14-3/+0
|\
| * Update a number of packages.Matthew Somerville2019-05-13-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update: * Catalyst * Specify Catalyst::DispatchType::Regex explicitly * Remove Catalyst::Plugin::Unicode::Encoding * Catalyst::Plugin::SmartURI * Specify URI::SmartURI explicitly * Catalyst::Plugin::Static::Simple * CGI * Class::Load * DateTime * DateTime::TimeZone * DBD::Pg * DBIx::Class * DBIx::Class::EncodedColumn. * Email::Address. * Email::MIME * ExtUtils::MakeMaker * ExtUtils::ParseXS (for Params::Classify upgrade) * File::ChangeNotify * Image::Size * IO::Socket::SSL * local::lib * Moo * Moose (and some related others due to deprecations) * namespace::autoclean * Net::Server * Net::SSLeay * Number::Phone * Plack * Starman * Template * Test::PostgreSQL * Test::WWW::Mechanize::Catalyst * Text::CSV * YAML carton install was run on a wheezy box, the oldest that is supported, to make sure the required minimal vesions of core modules weren't removed from the snapshot. Cpanel::JSON::XS, Devel::GlobalDestruction::XS, and MooseX::NonMoose were then put back in the snapshot, in case another system needs them (e.g. system Perl on Mac looks for MooseX::NonMoose).
* | Prevent previous commit issue ever happening again.Matthew Somerville2019-05-07-12/+9
|/
* Use REQUEST_URI, not PATH_INFO, to infer path.Matthew Somerville2019-04-24-0/+5
| | | | | This fixes an issue with slashes in category names in admin (as PATH_INFO can't tell the difference between / and %2F).
* Better working of /fakemapit/ under https.Matthew Somerville2019-02-11-3/+3
| | | | | | If no MAPIT_URL is provided, MapIt lookups default to /fakemapit/ at the same host. But that host might already be set up for HTTPS, so port might be 443.
* Improve use of OL ArgParser/missing zoom in URL.Matthew Somerville2019-02-04-21/+0
| | | | | | Remove the server-side zoom-in-url fix, instead use an ArgParser subclass to default to the provided data if nothing in URL. Then we can switch to using short lat/lon in geocoder URLs.
* Factor out photo storage backend init checksDave Arter2018-09-28-13/+4
|
* Factor out photo storage into PhotoStorage::FileSystem backendDave Arter2018-09-28-4/+12
|
* Use CSV escaping for categories in URLs.Matthew Somerville2018-06-21-1/+6
| | | | | Categories could contain commas, so splitting on comma is not good enough. Let’s escape the fields as if it’s a line in CSV. Fixes #2166.
* Make sure site_name/signature consistent in emailsMatthew Somerville2018-06-04-0/+2
|
* Always set memcached namespace.Matthew Somerville2018-04-16-2/+0
| | | | | | The namespace was only being set in the web loop, so cron scripts were accessing different memcached keys. In particular, the state list would be shared between instances on the same host.
* Add development email previewer.Matthew Somerville2018-03-01-11/+19
|
* Merge branch '2fa-superuser'Matthew Somerville2018-02-07-4/+13
|\
| * Add two-factor authentication for superusers.Matthew Somerville2018-02-07-4/+13
| |
* | Add admin ability to log user out.Matthew Somerville2018-02-06-1/+2
|/
* Remove SameSite=Lax from cookies.Matthew Somerville2018-01-23-1/+0
|
* Include "SameSite=Lax" with all set cookies.Matthew Somerville2018-01-04-0/+1
| | | | | This prevents FixMyStreet cookies from being sent from third-party <img>s and the like, in supporting browsers.
* Add an access token authentication credential.Matthew Somerville2017-11-29-0/+13
| | | | This allows access if you have a token associated with your user.
* Move map JS to code, to be used on all pages.Matthew Somerville2017-11-15-0/+2
|
* Make current cobrand available on DB::SchemaDave Arter2017-09-01-0/+1
|
* Merge branch 'move-report-states-to-database'Matthew Somerville2017-08-31-0/+1
|\
| * Hide things needing fixed state if no fixed state.Matthew Somerville2017-08-31-0/+1
| | | | | | | | | | Front page stats, update form question, list filtering, plus do not send any questionnaires.
* | Merge branch 'some-dev-improvements'Matthew Somerville2017-08-29-1/+0
|\ \ | |/ |/|
| * Add debug toolbar middleware.Matthew Somerville2017-08-29-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If debug is enabled, using the CATALYST_DEBUG/FIXMYSTREET_APP_DEBUG environment variables, add a debug toolbar to the output, including request/response details and a database query log. This uses Plack middleware, so works by switching our dev server to use Starman with plack directly, rather than via the script runner. We remove the GZip compression as this interferes, and take a local copy of the QueryLog::AdoptPlack trait as it needs a tweak to work. Make sure the CSP header is not output in debug mode, as that would prevent the toolbar JavaScript from running.
* | [Zurich] Move Zurich specific setup to its cobrand.Matthew Somerville2017-08-25-5/+1
|/
* Set up translatable body name.Matthew Somerville2017-08-09-0/+3
|
* Spot email sending success, use on contact page.Matthew Somerville2017-07-18-3/+6
|
* Allow static home page template override.Matthew Somerville2017-07-14-0/+4
| | | | | | If an /about/homepage.html template exists in your cobrand, it will be used as the front page, and the normal front page will be available at /report.
* Upgrade to using Email::Sender.Matthew Somerville2017-03-28-2/+9
| | | | | | | | | | Email::Send is long deprecated and uses submodules that no longer work correctly (e.g. Net::SMTP::TLS breaks with recent IO::Socket::SSL). We create an Email::Sender subclass to perform the same functionality and this also simplifies the email code with simpler envelope handling. Bundle Email::Sender::Transport::SMTP to include fix from https://github.com/rjbs/Email-Sender/issues/46
* Do upload_dir check on start up, not each report.Matthew Somerville2017-03-15-1/+8
| | | | | If we're chugging through a list of reports, this save on a lot of pointless statting of the upload directory which we know is there.
* Add cobrand call_hook fn, calls a fn if defined.Matthew Somerville2017-02-15-1/+1
|
* In Edge 14, do all HTTP redirects in HTML instead.Matthew Somerville2017-01-17-0/+3
| | | | | This is to work around https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8572187/
* Update pagination when status/categories changed.Matthew Somerville2016-10-18-2/+10
|
* Allow multiple selections in report list filter.Zarino Zappia2016-10-13-4/+6
| | | | | | This lets people filter by multiple categories or states. It uses our jQuery multi-select plugin to turn the <select multiple>s into little overlay lists of checkboxes. HTML5 history is also supported.
* Include stash in render_fragment calls.Matthew Somerville2016-09-20-2/+1
|
* [fixmystreet.com] Add Content-Security-Policy.Matthew Somerville2016-08-16-1/+2
|
* Remove some unused code/ database handle.Matthew Somerville2016-08-12-3/+0
|
* Log failure to send email.Matthew Somerville2016-08-08-1/+2
|
* Add HTML email templates.Matthew Somerville2016-08-01-16/+24
| | | | | | | | | | | | | | | | | | | | | | | | Design is all Zarino. This adds the ability to send HTML emails, including attached inline images. When included, this is done as a multipart/related email containing a multipart/alternative (of plain and HTML) and any attached images, so that the images are available even if HTML mail is not. The alert emails list data has been improved so it can be constructed in the templates rather than the code. Various templates have been tidied. Various workarounds for email clients have been made, including: * <th> is used so that the Android 4.x mail client can give them `block` styling in the small screen media query. * Font settings defined on every table cell (<th>) so that sans-serif fonts are used in Outlook, rather than Times New Roman. * A three-column wrapper table to create a 620px centred content area that also shrinks down on narrow screens. (Outlook doesn’t like max-width, so this is the simplest alternative.) * Enforcing a sensible (500px) min-width for the main content area, on clients that don’t support media queries (eg: native Gmail app). * Giant borders on buttons so Outlook displays them * Image alignment with align rather than float.
* [UK Councils] Send correct confirm emails for updatesDave Arter2016-06-15-4/+1
| | | | | | | | | | | | | | | | | | | | | | Some UK councils with Open311 integrations (e.g. Bromley) have a custom wording in the confirmation email sent when updates are left on reports, to make the user aware that the update is sent to the council in question. Bromley noticed that some emails were being sent without this wording, leading at least one user to contact the council directly about the report. It turns out that although the email template contains an IF clause to use the appropriate wording for Bromley (and Stevenage) reports, the incorrect template file was being used when updates were made via the Bromley cobrand. This commit solves the problem by introducing a new `Cobrand::Default::path_to_email_templates` method, which is overridden by `Cobrand::UKCouncils` to include the `templates/email/fixmystreet` path. Paths returned by this method are used as the `additional_template_paths` param when templating emails. A regression test is included. Additionally moves email templates for fixmystreet.com to a directory name reflecting their purpose, in the same way the web templates are arranged.
* Use only one templating system for emails.Matthew Somerville2016-05-25-2/+1
| | | | | | | Historically, emails sent offline (alerts, questionnaires, etc) used a different templating system from those sent by the website (e.g. login emails), though the newer system was also being used for the site name and signature of offline emails.