| Commit message (Collapse) | Author | Age | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
PublicBodyCategory and PublicBodyHeading
|
|\ |
|
| |
| |
| |
| | |
Added extra validations to match Postgres constraints
|
| | |
|
|\ \
| |/
|/| |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Moves the magic 'site_administration' tag logic to the PublicBody
model. Easier to make the string passed to `PublicBody#has_tag?` configurable
if we want to allow this to be set per install.
|
| |
| |
| |
| |
| |
| |
| | |
Stemming returns 'bore' as the word to highlight which can't be matched
in the original phrase.
Also removes duplicates from the results
|
| |
| |
| |
| |
| |
| | |
- Ignore stopwords
- Use Stemming
- Wrap words with regex for use in a highlighter (optional)
|
|\ \ |
|
| |/
| |
| |
| | |
Picks these up in `rake notes` and adds semantic meaning
|
|/
|
|
| |
Fixes #1569
|
|
|
|
|
|
|
|
|
| |
Specifically using save! so that anything other than an
ActiveRecord::RecordInvalid doesn't get missed
Note that ActiveModel::Errors#full_messages includes the attribute key
in the message. This is by design, so we should consider whether we can
improve the way that we use translated validation messages.
|
|
|
|
|
| |
There's a unique index on public_bodies url_name, so we should have a
validation for that.
|
|
|
|
|
| |
Should have been run after related migrations.
Could automate this to always run after migrations.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The volume of spam in the holding pen in WDTK has increased.
Over a few weeks in January 2014 the pattern was roughly:
- 8 were sent "To" the same address, which was a nearly valid old request
address - correct hash, but missing the second hyphen.
- 1 was sent "To" an invalid request address (nearly correct hash)
- 1 was sent "BCC" a valid request address
- 1 was sent "BCC" request@whatdotheyknow.com
If a spam was sent "To" an old valid request address then it would be
rejected.
It's not entirely safe to just reject mails to old requests with any
hash, because sometimes authorities miss out a digit in the request
number, though perhaps simply getting a failure bounce would cause them
to check.
In any case that wouldn't trivially catch the most frequent case above
as it doesn't have an obvious request number.
---
We looked at greylisting and configuring the MTA with an RBL.
Greylisting was rejected as it would slow down the responsiveness of the
application when people email in. This could be revisited if/when emails
are parsed through a queue system depending on how we find the
performance there.
An RBL is already configured, but this ticket refers more to where the
email is sent rather than who it came from.
---
We elected to:
- Create spam_address model
- Add code to RequestMailer.receive to check the list of spam addresses
and silently discard an incoming mail if it's addressed to one of them
- Add page to admin interface for adding/removing spam addresses
---
Thanks to Ganesh Sittampalam for the research and Louise Crow for the
implementation strategy.
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
spec/factories.rb
|
| |/
| |
| |
| |
| |
| | |
In the largest Alaveteli instance, WDTK, only a fraction of tracks use
filters and these specs represent those that have actually been used
commonly.
|
|/ |
|
|
|
|
| |
The code being tested is specific in that way.
|
|\
| |
| |
| | |
'opennewzealand_github/feature/encode-utf8-messages' into rails-3-develop
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Conflicts:
config/general.yml-example
spec/factories.rb
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
The requests may not have been created at this point.
|
| | |
| | |
| | |
| | | |
We're going to want to actually create and send the requests later.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Also, wrap model creation in a transaction and do the message sending
separately - we may ultimately want to do this outside the request
cycle.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
They're not finding by the existing object, they're finding an existing
object.
|
| | |
| | |
| | |
| | |
| | | |
Re-annotate models. Index InfoRequestBatches by user - we'll display the
batches for a user when they view their own requests.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It doesn't make logical sense that they would. However I am preserving
the ability to make batch requests as a separate thing from not having a
daily limit - I think batch sending requires a (perhaps marginally)
bigger level of trust.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
A virtual attribute to use to customise some info request behaviours
when we are using one request as a template for creating multiple
requests.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Conflicts:
doc/CHANGES.md
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Also add editable text for an email to be sent to the person requesting
the change.
|
| | |/
| |/| |
|
|\ \ \ |
|