aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-03-26Refs #5949 Change default years collection in referential#new date select5949-referential-date-selectcedricnjanga
2018-03-26Merge pull request #408 from af83/6218-sqills-exportsAlban Peignier
Link exports to referentials. Refs #6218
2018-03-26Refs #6236; Update seeds with export_types6218-sqills-exportsZog
2018-03-26Use utc time to make expectation with strftime (when timezone are not ↵Alban Peignier
standard). Refs #6047
2018-03-26Use public URLs for af83 gems. Refs #6047Alban Peignier
2018-03-26Refs #6218; Fix exports filtersZog
2018-03-26Refs #6218; Limit accessible exports for workgroupsZog
2018-03-26Refs #6218; Add link to exports viewZog
2018-03-26Refs #6218; Link exports to referentialsZog
2018-03-26Refs #6220 Change conditions to displays vehicle journeys errorscedricnjanga
2018-03-23Merge pull request #386 from af83/6218-sqills-exportsLuc Donnet
6218 UI for exports
2018-03-23Refs #6218; UI for exportsZog
2018-03-23Add erd diagram for export and mergeLuc Donnet
2018-03-23Fix XSS vulnerability in rails-html-sanitizerLuc Donnet
2018-03-23Fix i18n enhancements on titles @3Luc Donnet
2018-03-23Fixe features/vehicle_journey_imports spec. Refs #6296Alban Peignier
2018-03-23Remove maps code. Refs #6296Alban Peignier
2018-03-23Only notify parent when Import is finished. Refs #6243Alban Peignier
2018-03-23Refs #6256 Fix compliance check set breadcrumbcedricnjanga
2018-03-23Update loofah to 2.2.1. Refs #6260Alban Peignier
2018-03-23Add log messages in Import::Base#child_change process. Refs #6243Alban Peignier
2018-03-23Don't use Import::Base#status_changed? into #notify_parent (status can be ↵Alban Peignier
changed by java side). Refs #6243
2018-03-23Fix typo for Import class Refs #6243Luc Donnet
2018-03-23Fix coordinates synchronization for reflex Refs #6245Luc Donnet
2018-03-23Refs #6210 Remove status value attribue from Chouette::VehicleJourney and ↵cedricnjanga
section status fron Chouette::JourneyPattern
2018-03-23Refs #6240 Fix ComplianceCheckSet#index bug on filters labelcedricnjanga
2018-03-23Refs #6238; Update `t_action` method to handle the 'update' and 'create' actionsZog
2018-03-23Use new helper in page headerZog
2018-03-23Use I18n.locale ads default locale (refs #6035)Zog
2018-03-23Proposed i18n enhancementsZog
2018-03-23Fix reflex sync Refs #6141Luc Donnet
2018-03-23Fix stop_area state for filter and display. Update reflex sync to use ↵Luc Donnet
confirmed_at. Refs #6141
2018-03-23Use current locale to pluralize Chouette::Network. Refs #6035Alban Peignier
2018-03-23Avoid error when distance or time cost is ignored. Refs #6203Alban Peignier
2018-03-23RouteWayCostUnitConverter: Round kilometres to 2 decimal placesTeddy Wing
The JavaScript validation doesn't pass if we have more than two decimal places (I think because it uses a number field step value of 0.01). Round the values to allow them to pass frontend validation. Refs #6203
2018-03-23Rename `RouteWayCostJSONSerializer` to `RouteWayCostUnitConverter`Teddy Wing
Because we need to pass a Ruby hash to Rabl instead of a JSON string, get rid of our serialiser and instead turn it into a function that just converts the distance & time units. Fix a bug in the test that had the `'1-2'` key as a symbol instead of a string which was caused by a copy-paste from JSON and not being thorough enough in search-and-replace. Refs #6203
2018-03-23Add `RouteWayCostJSONSerializer`Teddy Wing
This serialiser will take `Route#costs` and convert the distance and time fields from meters to kilometres and seconds to minutes respectively. We need this because the frontend uses kilometre and minute units while the TomTom API gives us the others (and we store the data we get from TomTom without treatment). Unfortunately, due to the way that Rabl works, this doesn't quite work just yet. The serializer returns a string, and Rabl just puts this string into the JSON output instead of a real JSON hash. Looks like I'm going to have to convert my serializer into a generic converter. Refs #6203
2018-03-23JourneyPatternsCollection#show: Fallback to route costsTeddy Wing
When editing a `JourneyPattern`, you can edit the distance & time costs between stops. We want to pre-fill these cost values (in the input fields) if they haven't already been set by a user. This way, they get an existing estimate of the cost and don't have to enter a value manually unless the default doesn't work. The pre-filled values come from `Route#costs`, which get calculated ahead of time via the TomTom API. Add a new `fetchRouteCosts` function that will fetch the costs for the current route from the API. This function also caches the value on `actions` so we don't keep making requests since the data isn't going to change. Put the cached fetch in a `requestAnimationFrame` as a sort of timeout to prevent a warning from React complaining about doing this during a `render()` call. Update `getTimeAndDistanceBetweenStops` to use the cost value from the route costs instead of the journey pattern costs if it doesn't exist. The `totalDistance` and `totalTime` we moved into `componentWillUpdate` instead of `render()` because we thought that might be the cause of the `render()` warning I mentioned above. Decided to leave this part in even though it doesn't have anything to do with the goal of the changes here, because it seemed like an okay change. The `RECEIVE_ROUTE_COSTS` reducer will update the state with route costs. We need the default distance:0 time:0 to avoid infinitely fetching the costs API if a cost with the given key can't be found. Put the route cost API URL in `window.routeCostsUrl` to allow us to get it from the Rails URL helper. Huge thanks to Johan for pairing with me on this code and walking me through the setup for integrating the route costs JSON response into the frontend interface. Refs #6203
2018-03-23Routes: Add `/costs` routeTeddy Wing
Render the `costs` field of a `Chouette::Route` as JSON. This lives at: http://stif-boiv.dev:3000/referentials/4/lines/1857/routes/7/costs.json I want this in order to get the distance & time costs of a route so that I can merge them with `JourneyPattern#costs` on the frontend on `JourneyPatternsCollection#show`. Refs #6203
2018-03-23Small fixes for i18n state Refs #6146 @1Luc Donnet
2018-03-23Rename export spec to use the right classes Refs #6133 @1Luc Donnet
2018-03-23Fixes VehicleJourneys javascript spec. Refs #6143Alban Peignier
2018-03-23Hide full_journey_time/commercial_journey_time labels when ↵Alban Peignier
costs_in_journey_patterns feature is not present. Refs #6102
2018-03-23Route: Don't run `#calculate_costs!` on callback if TomTom disabledTeddy Wing
We say `TomTom` is disabled when no API key is present. If this is the case, the `after_save` callback that uses it shouldn't be executed. I had to change my `API_KEY` constant to an instance variable to be able to change it for testing. Refs #6095
2018-03-23Route#duplicate: Use `#slice!` instead of `#slice`Teddy Wing
Johan suggested simplifying this method by changing the `slice` call: http://api.rubyonrails.org/classes/Hash.html#method-i-slice-21 I had modified this to fix the whitespace while working on the `WayCost` calculation function for `Chouette::Route`s, so don't really have a brain cache hit on this code, but the change makes sense and seems to work. Refs #6095
2018-03-23RouteWayCostWorker: Add comment about recursive workersTeddy Wing
Explain why we need to skip and un-skip the callback. Refs #6095
2018-03-23RouteWayCostWorker: Fix recursive worker callTeddy Wing
Since this method was run on `after_save` and in it `RouteWayCostCalculator` calls `#update` on the given route, it caused an infinite recursive call to the worker. To prevent this, wrap the `#calculate!` call in methods that unset and reset the callback. Refs #6095
2018-03-23RouteWayCostWorker: Switch to referential in order to find RouteTeddy Wing
Just running `Chouette::Route.find(id)` doesn't give us anything if we don't have a `Referential` selected. In order to properly get the correct route, pass the referential ID to the worker and switch to that referential before trying to select the route. Refs #6095
2018-03-23Route: Run `#calculate_costs!` on `after_save`Teddy Wing
Not efficient to send a request to the TomTom API every time we save a Route, but I'm banking on developing a cache system soon to avoid having to make the requests, so hopefully that will stop this from making expensive remote calls all the time. Refs #6095
2018-03-23Route: Fix whitespaceTeddy Wing
This method wasn't indented to the same level as the rest of the file. Refs #6095