Commit graph

96 commits

Author SHA1 Message Date
Andy Allan
32e46ad4e3 Remove tempfile patch for trace data
Effectively reverts c0d2ad40c3

This patch is no longer required, since we only use send_data in
combination with Tempfile.read and that all works fine.
2020-04-22 15:16:46 +02:00
Andy Allan
35db86714b Use Open3.capture2 instead of backticks, to avoid command line injection risks
In this situation, trace_name can be trivially checked as legitimate, but this
removes any lingering risks from interpolating into a command line instead of
passing parameters explicitly.

Refs #2229
2020-04-22 13:57:32 +02:00
Andy Allan
a41d500b9f Create an ApplicationRecord for models to inherit from
This is the default for Rails 5+, and also paves the way for
multiple database support.
2019-11-27 11:50:48 +01:00
Tom Hughes
389fee0151 Revert "Always look to the global scope for the GPX module"
This reverts commit fbefe3550c.
2019-08-14 19:06:09 +01:00
Tom Hughes
cbea796ef4 Merge remote-tracking branch 'upstream/pull/2207' 2019-06-26 14:30:30 +01:00
Tom Hughes
ee458b6ee2 Parse each GPX file in an archive separately
Fixes #2253
2019-06-11 12:57:00 +01:00
Tom Hughes
5bb21188e4 Fix rubocop warning 2019-06-05 09:20:00 +01:00
Andy Allan
4377e2bd55 Update annotations to correctly show bigint types 2019-05-29 11:52:20 +02:00
Tom Hughes
9f57f60b87 Fix new rubocop warnings 2019-04-23 09:33:34 +01:00
Frederik Ramm
17e6e69c39 Move generation of gpx_file XML from model to builder 2019-04-14 16:25:14 +01:00
Andy Allan
c1bf73bee4 Use an enumerator for gpx.points, and process the the points in batches 2019-03-20 10:35:40 +01:00
Andy Allan
07fdcf638e Raise exception if there is an error, and import tracepoints in batches 2019-03-20 10:35:40 +01:00
Andy Allan
400db58036 Use activerecord-import for bulk importing tracepoint records
Non-rigourous testing shows a significant speedup, even on ssds.
2019-03-20 10:35:40 +01:00
Andy Allan
d102c9aaf4 Move all settings to settings.yml
We leave the STATUS setting alone, since it's required before rails
boots. The test-specific settings now live in config/settings/test.yml
2019-03-13 18:06:23 +01:00
Tom Hughes
fbefe3550c Always look to the global scope for the GPX module 2019-02-07 18:40:35 +00:00
Tom Hughes
d73a5d4bc0 Merge character validators 2018-11-05 18:54:19 +00:00
Tom Hughes
873ac155ca Improve consistency of text validations 2018-11-05 17:06:48 +00:00
J Guthrie
1e57189366 Added tests for validators 2018-11-05 16:23:30 +00:00
J Guthrie
c2f23fea6a Create invalid_char validators and apply to models 2018-11-05 14:27:03 +00:00
Tom Hughes
de29e9b3f5 Fix Style/NumericPredicate rubocop warnings 2018-09-22 17:34:58 +01:00
Tom Hughes
6c2093b29d Fix new rubocop warnings 2018-09-22 17:12:29 +01:00
Andy Allan
b2a8df0bd7 Add annotate gem and associated rake task. Annotate models. 2017-10-22 22:18:26 +01:00
Tom Hughes
8dae890a76 Fix rubocop warnings 2017-10-05 19:18:38 +01:00
Andy Allan
b4be5596f5 Rename xml processing methods with an update_ prefix
They behave differently from the other from_xml methods on other models.
2017-08-30 11:40:54 +01:00
Andy Allan
c647aa3d4d Refactor the from_xml methods to act on existing trace objects.
Setting the new tags with the = operator takes care of removing the
old ones, and is the same approach as taken by the tagstring= method.

Fixes #1600
2017-08-18 10:09:50 +01:00
Tom Hughes
9b89d4eefe Remove conditions from delete_all
Passing conditions directory to delete_all is deprecated
in rails 5.0 so use a separate where instead.
2017-06-02 16:33:48 +01:00
Tom Hughes
5b33f3f8e3 Fix rubocop warnings 2017-06-02 00:08:30 +01:00
Tom Hughes
f435fce007 Link GPX fixture files instead of stubbing 2017-02-05 17:26:31 +00:00
Andy Allan
f464e2a6e9 Suppress XML parsing errors.
This technique was already used in app/models/changeset.rb

This suppresses the error messages when parsing invalid XML, but
the exceptions are still raised, as tested in test_from_xml_double_lat
in test/models/node_test.rb
2016-10-26 10:35:03 +01:00
Tom Hughes
d82f9d12ce Fix new rubocop warnings 2016-09-15 19:21:00 +01:00
Tom Hughes
5d3ecffa28 Fix new rubocop warnings 2016-02-05 13:35:26 +00:00
Tom Hughes
8fe1899596 Fix rubocop warnings 2016-01-19 09:51:24 +00:00
Tom Hughes
fd588cd715 The test train rolls ever onwards... 2015-03-01 17:04:39 +00:00
Tom Hughes
857f0f460b More work on test coverage 2015-02-28 00:45:56 +00:00
Tom Hughes
dbe165bbb3 Fix some rubocop rails style issues 2015-02-26 00:12:54 +00:00
Tom Hughes
a6b84a0294 Fix more rubocop style issues 2015-02-24 23:12:02 +00:00
Tom Hughes
dc2a2c8ebd Standardise on double quoted strings 2015-02-20 19:47:26 +00:00
Tom Hughes
ef7f3d800c Fix most auto-correctable rubocop issues 2015-02-20 08:56:16 +00:00
Tom Hughes
34e3e51456 Cleanup trailing whitespace 2015-02-20 08:56:16 +00:00
Tom Hughes
28bfb9999f Rename Trace#public to Trace#visible_to_all 2014-07-04 19:24:25 +01:00
Tom Hughes
554a7c9d47 Convert some deprecated methods to modern arel syntax 2013-09-29 22:50:01 +01:00
Tom Hughes
ca30b879f6 Eliminate deprecated scope and association arguments 2013-09-21 11:35:46 +01:00
Tom Hughes
7e896d758d Return GPX traces as application/gpx+xml instead of text/xml 2013-09-09 16:23:38 +01:00
Tom Hughes
b3e540a6b6 Improve tests for trace RSS feeds 2013-05-10 22:48:26 +01:00
Tom MacWright
221ca3c1fa Improve user page navigation menu
Add counts to edits, blocks, and traces; don't show blocks if there
are none; and move OAuth to the settings page.
2012-08-10 08:26:48 +01:00
Tom Hughes
5a8c4faf3e Replace deprecated methods with modern equivalents 2012-02-15 17:48:17 +00:00
Tom Hughes
3227f40193 Make more use of named scopes 2011-11-14 09:42:51 +00:00
Tom Hughes
8ae5d94b2f Update some more queries to use AREL in place of deprecated methods 2011-11-14 09:42:51 +00:00
Tom Hughes
71f1554212 Make trace API a proper CRUD API like other object types 2010-10-11 23:09:27 +01:00
Tom Hughes
9caa2046ca Include description and tags in GPX details API response 2010-10-11 19:10:42 +01:00