Both iCalendar routes were unusable:
* `/conferences/.../schedule.ics` raised
`NoMethodError: undefined method 'icalendar_proposals'` because the
`ConferenceHelper#icalendar_proposals` helper isn't auto-included in
controllers; the action crashed before rendering.
* `/calendar.ics` silently redirected to `/`. The controller goes
through `load_and_authorize_resource`, which authorises `:calendar`
on `Conference` and is rejected for anonymous visitors because no
ability grants it — CanCan's `AccessDenied` rescue redirects to
root.
The helper is invoked through the controller `helpers` proxy so it
works in both contexts, and the calendar action is opted out of
resource loading and explicitly marked as not requiring authorization
since it serves a public feed across conferences. The helper is also
hardened so that proposals missing a room, difficulty level, track,
event type or scheduled time produce a valid event instead of
crashing the whole feed.
This reverts the skipping of tests by commit b688d353ac in:
- `spec/models/user_spec.rb`
- `spec/controllers/admin/users_controller_spec.rb`
- `spec/datatables/user_datatable_spec.rb`
Rails 5.2 warns:
> The `success?` predicate is deprecated and will be removed in Rails 6.0.
> Please use `successful?` as provided by Rack::Response::Helpers.
RSpec correspondingly provides `be_successful`.
Raisl 5.1 removes support for non-keyword arguments in `#process`,
`#get`, `#post`, `#patch`, `#put`, `#delete`, and `#head` for the
`ActionDispatch::IntegrationTest` and `ActionController::TestCase`
classes. This means we have to add `params` everywhere in the controller
tests.
* Clean up legacy charting imports
* Update existing donut and line charts
* Create helpers for parsing out existing chart data
* Move chart partials to a more common path
* Survey period constraints
* Add abilities
* Enforce required questions
* Update survey_submssion updated_at
* Do a full match of possible answer and user reply
closes#1658
added test for openid
fixed robocup offences
written tests for email presence validation
minor changes
shifted omniauth callback tests to rspec controllers
fixed linting bug
minor changes
minor changes
When viewing a conference, the Instance Name in the header points to
/organizations. On the organizations index, there's a button to see
conferences, but it does nothing. This makes it easy for public users to
get lost.
This commit:
* Adds a function to the organizations controller to show child
conferences
* Adds a public permission to see conferences through an organization
* Represents a subset of conferences, reusing conferences/index view,
for the organization
Add roles as nested routes to track (for the track organizer role)
Allow transition from to_accept to to_reject and backwards
Split Track#valid_dates validation to many independent ones
Show all the confirmed tracks in the conference's splashpage
Add comment in admin/Tracks#toggle_cfp_inclusion
Rewrite admin/TracksController#accept spec
Add feature spec for track requests
Change 'In' to 'Room' in Tracks#index
Rewrite Track#overlapping
Refactor code in ProposalsController
Fix typos
Use load_and_authorize_resource in versions controlller
Add conference specifc route to revision history page
Users with role can view revision_history only for the versions they have access to
Handle versions where conference_id is not set (records before papertrail was introduced)
Make the message in admin/Tracks form more visible by making it bold and
adding links to venue and rooms
Make papertrail track changes for all the track's attributes
Add validation to require presence of description for self-organized
tracks
Add ID column to admin/Tracks#index
Make the cfp inclusion column sortable
Show success/error flash messages after toggling cfp inclusion