| Commit message (Collapse) | Author | Age | Lines |
|
|
|
| |
so ignore any format from content negotiation in favour of that default.
|
|\ |
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | |
| | |
| | |
| | | |
Fixes #961
|
| |/ |
|
| |\
| | |
| | |
| | | |
ssh://git.mysociety.org/data/git/public/alaveteli into rails-3-develop
|
| | |
| | |
| | |
| | |
| | |
| | | |
render_for_text no longer exists in Rails 3.
Fixes #955
|
| |/
| |
| |
| | |
the main part in order to look for uuencoded text, make sure that we're getting that main part from the reparsed attachments, and not getting an obsolete attachment. Fixes #958.
|
| |
| |
| |
| |
| |
| |
| | |
Otherwise redirects will be cached, and since headers and the status
code aren't stored, a non-redirecting redirect page will be returned
in the future, but with 200. It's easiest to only cache the 200
responses.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the display_filename of the attachment found from the
URL part number doesn't match the passed in display_filename
then the email may have been reparsed, causing a reordering.
In that case, look to see if there is another attachment that
uniquely matches that filename, and, if so, return that other
attachment. If no matching uniquely matching filename is
found, redirect to the incoming message, rather than
returning a 404.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Handling of outlook-packed attachments would fail from
rake tasks or in the console without requiring 'mapi/msg'
and 'mapi/convert' beforehand. Instead, require them in
the source file where they're actually used.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Under Rails 3, the uudecoded FoiAttachment in this test
fails validation at the self.save! in
IncomingMessage.parse_raw_email, although the FoiAttachment
has been correctly created and saved to the database in
_uudecode_and_save_attachments. Forcing a reload=true on
self.foi_attachments fixes this.
Thanks to Louise Crow for finding the fix for this problem.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
One of these changes is to make sure that the Mail backend,
like the TMail backend it replaces, will return text parts
encoded in UTF-8 if possible.
The other change is to ensure that when text attachments are
reloaded from disk, we attempt to convert them to UTF-8.
|
| |\ |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
ActionController::UnknownAction, PermissionDenied and general exceptions.
|
| | | |
|
| | |
| | |
| | |
| | | |
and to allow them to be replaced with suitable localised alternatives.
|
| | |
| | |
| | |
| | | |
update config to avoid redefinition of constant warnings.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
(reapplication of 3e2b161944cc4419002831d54c6bdfcd6aa30a01 as it seems to have been lost in a merge). No casting to string as there don't appear to be problems with the ':' character.
Conflicts:
app/views/request/_sidebar.html.erb
|
| |/ |
|
| |
| |
| |
| | |
non-standard require - bundler should be supplying the gem now.
|
| | |
|
| | |
|
| |\
| | |
| | |
| | | |
ssh://git.mysociety.org/data/git/public/alaveteli into rails-3-develop
|
| | |
| | |
| | |
| | |
| | | |
Both of these files include multi-byte UTF-8 sequences,
so should have a 'magic comment' specifying the encoding.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes #336
There was an occasional deadlock when two emails for the
same request came in near-simultaneously; two processes
would be started via script/mailin, each to deal with one
email which are both updating the same InfoRequest.
The error would look like:
2013-04-07 09:19:03 BST [13398]: [2-1] DETAIL: Process 13398 waits for ShareLock on transaction 36193647; blocked by process 13397.
Process 13397 waits for ExclusiveLock on tuple (390,35) of relation 32918788 of database 32918687; blocked by process 13398.
Process 13398: UPDATE "info_requests" SET "updated_at" = '2013-04-07 08:19:02.139515', "awaiting_description" = 't' WHERE "id" = 156200
Process 13397: UPDATE "info_requests" SET "updated_at" = '2013-04-07 08:19:02.143624', "awaiting_description" = 't' WHERE "id" = 156200
This arose from the following section of code:
ActiveRecord::Base.transaction do
raw_email = RawEmail.new
incoming_message.raw_email = raw_email
incoming_message.info_request = self
incoming_message.save!
raw_email.data = raw_email_data
raw_email.save!
self.awaiting_description = true
params = { :incoming_message_id => incoming_message.id }
if !rejected_reason.empty?
params[:rejected_reason] = rejected_reason.to_str
end
self.log_event("response", params)
self.save!
end
Matthew Somerville explained what was happening here in the
issue report; to repeat his explanation from the bug report,
both processes enter the transaction block and acquire a
ShareLock on self with:
incoming_message.info_request = self
incoming_message.save!
However, in order to update the self.awaiting_description field
of the InfoRequest, with:
self.awaiting_description = true
[...]
self.save!
... the ShareLock needs to be upgraded to an ExclusiveLock,
but both will wait until the other's ShareLock is released,
which would only happen at the end of the transaction.
We can avoid this deadlock by using SELECT ... FOR UPDATE
for the row in info_requests. In Rails 3.2.0 there is
ActiveRecord support for this (via with_lock and lock! on
a model instance) but so as not to require upgrading rails,
I'm just using raw SQL.
|
| |\ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
Gemfile.lock
app/controllers/public_body_controller.rb
app/mailers/track_mailer.rb
app/views/request/_hidden_correspondence.html.erb
app/views/request/_sidebar.html.erb
app/views/request/hidden.html.erb
app/views/request/new_please_describe.html.erb
app/views/request/preview.html.erb
app/views/user/show.html.erb
config/environment.rb
config/routes.rb
spec/controllers/public_body_controller_spec.rb
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
config/environment.rb
spec/mailers/track_mailer_spec.rb
|
| |\ \ \
| | | | |
| | | | |
| | | | | |
'openaustralia_github/small_source_code_header_fixups' into rails-3-develop
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | | |
'openaustralia_github/request_action_admin_fixes' into rails-3-develop
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | |/ / / |
|
| |/ / /
| | | |
| | | |
| | | | |
AlaveteliConfiguration
|
| | | | |
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
Gemfile
Gemfile.lock
app/views/admin_request/show.html.erb
config/environment.rb
|
| | | | | |
|