| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Since we must associate other models (e.g., classifications) to a Resource,
we use a composite model to save all changes inside a database transaction.
This approach makes it simpler to handle resources and their associations.
Work remains to fix the geolocation and reverse geolocation to ensure
these are in sync.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The UUIDResolver adds a route at `/by-uuid/:uuid` that enables
applications to request information about a given UUID.
The UUID must be a Random UUID (version 4, see RFC 4122).
If an invalid UUID is given, the controller will return 422 Unprocessable Entity.
If a valid UUID is given:
- 404 indicates that the UUID is not assigned to anything known to the system.
- 302 indicates that the UUID was assigned to a record, and the User-Agent
will be redirected to that record's Location as indicated in the response header.
- 200 indicates that the UUID was assigned to more than one record (which is unlikely)
and will list those records.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Ensure new users belong to an Agent
Users may come without the correct group information, leading
to a situation where they have no Agent assigned to them.
The application cannot handle this, so we ensure new users
are at least associated to the new Anonymous Agent.
2. Introduce a default avatar
Users coming without an avatar would see a broken view.
Now they're assigned a default avatar, which shows the IN COMMON
icon logo instead.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since we moved away from Roles it's important to maintain a
default Agent that is distinct from the previous default
IN COMMON Agent.
Previously, a user without a proper group would be granted the
`observer` role in the default Agent, enough to create new
resources.
Now, we consider anonymous users to be part of the Anonymous
Agent, which also brings the possibility for them to edit yet
to be accepted Resources.
|
| |
|
|
|
|
|
|
|
|
| |
This commit add StimulusJS interaction for the map
and taxonomy, as well as styling.
It provides preliminary work to hook up live data on the map
from the taxonomy.
|
|\ |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
| |
This commit creates a dedicated Map model and
moves the JavaScript from view to a Stimulus controller.
- Stimulus.js https://stimulusjs.org
- Leaflet.js https://leafletjs.org
Upcoming resources:
- https://discourse.stimulusjs.org/t/leafletjs-with-stimulusjs-on-rails-6/1343/4
- https://github.com/ghybs/leaflet-defaulticon-compatibility
|
|
|
|
|
|
|
| |
Switching current Agent can help with roles and resource access.
Go to your dashboard by clicking the avatar.
Select agent and hit "Select"
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Currently there's a bug throwing:
TypeError (nil is not a symbol nor a string)
When creating a Resource...
|
| |
|
|
|
|
|
| |
- `current_agent` is now a full instance of Agent
- provide helpers to verify current user roles
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit introduces a few things:
1. New `content_for` hooks for :debug, :head, and :body_end so that views
code remains consistent and clean
2. Fullscreen map!
3. Welcome#index view, the Rails way
It also moves controller-related code to the controller,
Enjoy!
|
| |
|
| |
|
|
|
|
|
|
| |
This implements resource listing and pagination.
See /resources
|
| |
|
|
|
|
| |
This is a first version of the application, to go beyond simple authentication.
|
|
|
|
|
|
|
| |
When using SSO, the Discourse sends a list of the user groups.
We take the opportunity to update Agency information for the user.
This is performed as a background job, as it involves networked
requests to the Discourse, e.g., to verify group ownership...
|
|
|
|
|
|
|
|
|
|
|
| |
The ApplicationController provides a `current_user` method (and
helper) to access the authenticated user (if any).
The WelcomeController provides minimal logic to authenticate
against DiscourseSSO.
Current state is that one can login and logout.
Views need a lot of work.
|
|
|