Commit graph

1590 commits

Author SHA1 Message Date
Tom Hughes
5fa0aebe9f Use dynamic error pages built through the asset pipeline
Fixes #1241
2018-08-01 19:13:04 +01:00
J Guthrie
07480996d7 Refactored and added new test 2018-07-26 16:27:28 +01:00
Frederik Ramm
b9f9d9df88 allow moderators to read hidden notes through API 2018-07-22 15:42:14 +02:00
Frederik Ramm
e71d7e8bea fixed tests to work with new, non-anonymous note comments 2018-07-18 13:29:16 +02:00
Tom Hughes
5ff822083d Block non-localhost requests for all tests
Only blocking them for the system tests didn't actually
work anyway as the setting is global so would apply to all
tests after the first system test.
2018-07-10 18:59:15 +01:00
Tom Hughes
90d5d062f5 Fix nominatim stubs 2018-07-10 18:50:29 +01:00
Tom Hughes
b4106383d9 Add /api/0.6/users to fetch multiple users
Fixes #1921
2018-07-09 22:26:55 +01:00
Tom Hughes
53eadb36fc Fix another hostip stub 2018-07-09 20:36:41 +01:00
Tom Hughes
f70edc02f0 Return the "large" image from the user details API call
Closes #1923
2018-07-09 20:26:37 +01:00
Tom Hughes
d66b4b3d2f Fix stubbing of hostip requests 2018-07-09 20:15:42 +01:00
Tom Hughes
98de681e47 Update to rails 5.2.0 2018-06-19 00:16:24 +01:00
Tom Hughes
f7a35c5895 Fix new rubocop warnings 2018-06-18 09:00:49 +01:00
Chris Flipse
25256a4849 Make rubocop happy 2018-06-17 20:40:48 -04:00
Chris Flipse
91fc65a2e3 separate ability and capability
These are asking fundamentally different questions;

Abilities are asking the application if the user has a role that allows
the user to take a certain action
Capabilities are asking if the user has granted the application to
perform a certain type of action

CanCanCan makes no distinction, however, so the `granted_capabilities`
method is provided as a point that can be checked in rescue methods, so
that one can _attempt_ to continue to provide the more informative error
messages around permission refusals
2018-06-17 13:57:32 -04:00
Benjamin Reynolds
4d20a2c96a Authorize actions on GeocoderController with CanCanCan Ability 2018-06-17 13:57:06 -04:00
Chris Flipse
464c7f863e Update capabilities check to actually reflect the existing logic
The OAuth capabilities are essentially user permissions that have been
granted to the app.  If the user authenticates through a non-oauth
method, they are assumed to have granted all capabilities to the app
2018-06-17 13:57:06 -04:00
Chris Flipse
2a44ff581f fix and improve ability coverage to account for tokens 2018-06-17 13:57:06 -04:00
Chris Flipse
060c686c19 Use cancancan to authorize user_preference_controller 2018-06-17 13:57:06 -04:00
Chris Flipse
ac7c45bca0 add test helper to set oauth tokens 2018-06-17 13:57:06 -04:00
Chris Flipse
5232914427 Implement the cancan filters for diary entries
Access logic is not _entirely_ exported from the controller,
unfortunately.  For interface reasons, some actions which require admin
have to be listed within the controller's deny_access method.

This is required because, being a default-deny system, cancancan
_cannot_ tell you the reason you were denied access; and so
the "nice" feedback presenting next steps can't be gleaned from
the exception
2018-06-17 13:57:06 -04:00
Chris Flipse
6da3ece683 use token in ability checks 2018-06-17 13:56:23 -04:00
Tom Hughes
e5604ce98e Assign vandalism reports for users to moderators 2018-06-17 11:14:19 +01:00
Tom Hughes
0071025400 Avoid using "other" as a translation key 2018-06-16 16:21:07 +01:00
Tom Hughes
7441f15b4f Merge remote-tracking branch 'upstream/pull/1576' 2018-06-16 11:45:23 +01:00
Benjamin Reynolds
d5672aed4a Remove quad_tile library and extract to gem
Quad tile functions are now installed via a gem with native extension
automatically. This improves the run time of the test suite by ~30% for
users that didn't bother to build the C version of the functions.

Closes #1314
Closes #1899
2018-06-14 18:29:37 +01:00
Tom Hughes
29f12c4547 Improve system tests for issues 2018-06-10 19:03:47 +01:00
Tom Hughes
518cf69b34 Improve model tests for issues 2018-06-10 17:59:15 +01:00
Tom Hughes
22385c179a Improve controller tests for issues 2018-06-10 17:48:47 +01:00
Tom Hughes
d3700e6201 Merge branch 'master' into next 2018-06-10 17:02:12 +01:00
Tom Hughes
2aca6920dc Use lazy lookups for translations in issues 2018-06-10 16:59:58 +01:00
Tom Hughes
ba9a00b10c Merge remote-tracking branch 'upstream/pull/1892' 2018-06-06 14:51:30 +01:00
Tom Hughes
4df0fe72e2 Merge remote-tracking branch 'upstream/pull/1893' 2018-06-06 14:33:36 +01:00
Andy Allan
d336523738 Speed up tests by making fewer random changes
The old_node_controller#test_version in particular was slow, since
it saves a huge number of tags when adding a tag 30 times over. Since
the tests are random and not based on the number of iterations, this
reduces the iteration counts.
2018-06-06 13:54:09 +08:00
Andy Allan
88ff81b694 Refactor messages show action to be resourceful 2018-06-06 11:51:52 +08:00
Andy Allan
9b36021ec5 Refactor inbox and outbox paths to avoid display names in urls. 2018-06-06 11:33:33 +08:00
Andy Allan
57d3b3af55 Refactor trace creation pages
Split the trace creation into new and create methods, with standard resourceful routing. Provide a redirect for external requests to the old url.
2018-06-06 10:22:42 +08:00
Tom Hughes
2f342ba8e8 Only set QT_QPA_PLATFORM if phantomjs fails without it 2018-06-01 00:41:29 +01:00
Tom Hughes
41326fd6d4 Set QT_QPA_PLATFORM to offscreen in the test environment
Works around an issue with the weird way the debian/ubuntu
version of phantomjs is built:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=817277
https://github.com/ariya/phantomjs/issues/14376
2018-05-31 22:52:59 +01:00
David Abián
ed1f441ef3 Concept URIs for Wikidata entities
Wikidata entities should be linked using concept URIs, which are
permanent. This is the right way of linking web resources according
to the Linked Data principles.

Closes #1884
2018-05-28 13:02:47 +01:00
Tom Hughes
cb3c4ec09b Update for rubocop 0.54.0 2018-05-17 19:39:25 +01:00
Tom Hughes
9c04912f1d Merge remote-tracking branch 'upstream/pull/1866' 2018-05-16 18:57:34 +01:00
Tom Hughes
4eb6267f45 Revert "Remove unused POST method for message replies"
This reverts commit 40cab845fb.
2018-05-16 10:43:26 +01:00
Andy Allan
e1c62f1bf2 Remove if_user and similar methods
Rather than hiding features based on CSS, just avoid including them
in the output. Fixes #1862
2018-05-16 13:05:20 +08:00
Andy Allan
5da01b92c5 Fix test which was accidentally testing as the entry user twice 2018-05-16 12:59:16 +08:00
Andy Allan
4ec70f7994 Rename messages#read to #show
Also rename the named path, to align with resourceful routing
2018-05-15 18:25:54 +08:00
Andy Allan
73df8447e3 Rename messages#delete to destroy
This is a better fit for rails controller method conventions, paving
the way to resourceful routing. Keep user-facing strings as 'delete'
since that's more commonly used.
2018-05-15 18:15:01 +08:00
Andy Allan
40cab845fb Remove unused POST method for message replies
This action just shows the pre-filled form, with the target for
the form being the same as for new messages.
2018-05-15 17:33:40 +08:00
Tom Hughes
d14cf519fd Merge remote-tracking branch 'upstream/pull/1858' 2018-05-14 20:14:56 +01:00
Tom Hughes
33ea119c8f Merge remote-tracking branch 'upstream/pull/1857' 2018-05-14 20:13:41 +01:00
Andy Allan
00bd64c7fb Rename message_controller to messages_controller 2018-05-09 16:38:37 +08:00