Commit graph

7 commits

Author SHA1 Message Date
Bob Van Landuyt
3d713ac114 Users can accept terms during registration
When a user checks the `accept` checkbox, we will track that
acceptance as usual. That way they don't need to accept again after
they complete the registration.

When an unauthenticated user visits the `/-/users/terms` page, there
is no button to accept, decline or continue. The 'current-user menu'
is also hidden from the top bar.
2018-06-08 19:17:00 +02:00
tauriedavis
285ffb2238 Messaging on terms page when user already accepted
We show a blue flash banner if the user already accepted, and show a
button allowing them to continue to the application.
2018-06-04 22:22:11 +02:00
Stan Hu
294ab0fffd Fix local storage not being cleared after creating a new issue
Creating a new issue will always result in a 302 redirect to the newly-created
issue. This reverts the change introduced in
7684217d68
to handle the case where a user is in the middle of creating a new form and
redirected to accepting the terms of service.

Closes #37162
2018-05-29 20:48:21 -07:00
Bob Van Landuyt
a5cb2fe2e0 Allow a user to sign out when on the terms page
Before we would block the `sign_out` request when the user did not
accept the terms, therefore redirecting them to the terms again.

By allowing all request to devise controllers, we avoid this problem.
2018-05-11 08:27:43 +02:00
Bob Van Landuyt
7684217d68 Enforces terms in the web application
This enforces the terms in the web application. These cases are
specced:

- Logging in: When terms are enforced, and a user logs in that has not
  accepted the terms, they are presented with the screen. They get
  directed to their customized root path afterwards.
- Signing up: After signing up, the first screen the user is presented
  with the screen to accept the terms. After they accept they are
  directed to the dashboard.
- While a session is active:
  - For a GET: The user will be directed to the terms page first,
    after they accept the terms, they will be directed to the page
    they were going to
  - For any other request: They are directed to the terms, after they
    accept the terms, they are directed back to the page they came
    from to retry the request. Any information entered would be
    persisted in localstorage and available on the page.
2018-05-04 13:54:43 +02:00
Bob Van Landuyt
10aa55a770 Allow a user to accept/decline terms
When a user accepts, we store this in the agreements to keep track of
which terms they accepted. We also update the flag on the user.
2018-05-04 13:54:43 +02:00
Bob Van Landuyt
3629dc338f Display terms to a user
When terms are present, they can be viewed on `/-/users/terms`.
2018-05-04 13:52:55 +02:00