Commit Graph

101 Commits

Author SHA1 Message Date
Serghei Mihai a2c3bc9cce auth_saml: separate idps blocks on login page (#38248) 2019-12-19 15:39:48 +01:00
Thomas NOËL ad3f27ef3c registration: show only email address in post-registration message (#37923) 2019-12-11 14:41:59 +01:00
Serghei Mihai 216323c7ad auth: separate OIDC providers in blocks on login page (#31259) 2019-11-29 10:06:52 +01:00
Thomas NOËL b65fc220a3 views: fix a bad format in a logger.info string (#36978) 2019-10-16 10:47:25 +02:00
Paul Marillonnet 62441e2340 accounts: send validation email before self-triggered account deletion (#27823) 2019-10-02 11:33:20 +02:00
Benjamin Dauvergne ba6e8892b6 views: sign next parameter in logout() (#35782) 2019-09-05 15:16:51 +02:00
Benjamin Dauvergne b9caa42dd4 add new switch-user tool (#34308) 2019-07-16 12:24:42 +02:00
Benjamin Dauvergne 6b39c1c9a0 remove switch_back view (#34308) 2019-07-16 12:24:42 +02:00
Benjamin Dauvergne 26be52b49f whitelist send_registration_email_next_url using HMAC signature (#34115) 2019-07-04 17:17:05 +02:00
Benjamin Dauvergne 7e3faddbb1 misc: move account related messages into templates (#21017) 2019-07-04 15:40:01 +02:00
Benjamin Dauvergne 7be25fff69 views: validates logout next URL (#33087) 2019-07-04 13:10:15 +02:00
Benjamin Dauvergne 97e2aa19d6 views: validates EditProfile next_url (#33084) 2019-07-02 21:28:37 +02:00
Benjamin Dauvergne 27702e72c7 add request as first argument to all backends (#33992) 2019-07-02 12:49:28 +02:00
Frédéric Péters 64a13abb24 misc: adjust password reset log messages (#34126) 2019-06-19 11:06:58 +02:00
Frédéric Péters 4d18e9dfa2 misc: remove "you have been logged out" message (#33703) 2019-06-05 19:19:34 +02:00
Frédéric Péters b960e14fed misc: redirect user to homepage after password reset (#33611) 2019-06-03 14:13:59 +02:00
Frédéric Péters bedcbc5a4c registration: add a note about spams (#27097) 2019-06-03 14:13:59 +02:00
Benjamin Dauvergne 9fbbf0519a spring cleaning (#32934)
* reorganize views and forms
* add copyright headers to all .py files
* fix all style errors reported by flake8
2019-05-14 16:19:25 +02:00
Benjamin Dauvergne de0b31d7b6 use utils.can_change_password() everywhere (#32760) 2019-05-03 09:58:01 +02:00
Paul Marillonnet 907c1fd70f remove unused threading library import (#31164) 2019-04-01 18:12:50 +02:00
Paul Marillonnet cb10c41b0f python3: remove deprecated unicode builtin (#31151) 2019-04-01 17:05:10 +02:00
Serghei Mihai 4c04187f47 misc: fix authenticator var name (#31607) 2019-03-20 18:10:20 +01:00
Serghei Mihai eac4437e5c misc: rename authentication "frontend" to "authenticator" (#14475) 2019-03-19 09:36:43 +01:00
Paul Marillonnet 934d619f6b python3: use django.utils.six url-parsing functions (#31139) 2019-03-08 10:35:55 +01:00
Frédéric Péters 6a8eed17d2 utils: add hook to decide if user can change/set password (fixes #28848) 2019-01-31 15:00:29 +01:00
Frédéric Péters df9e4d5236 misc: add count of visible blocks to login view context (#28370) 2018-11-27 16:09:55 +01:00
Paul Marillonnet a5d652ce81 support avatar picture in user profile (#26022) 2018-10-30 10:23:11 +01:00
Emmanuel Cazenave 836695facc django 1.11: fix some imports (#21489) 2018-08-12 20:11:31 +02:00
Emmanuel Cazenave 64766b7016 don't use context_instance in rendering functions (#25346) 2018-08-02 13:38:21 +02:00
Emmanuel Cazenave cecdc9adfd delete addtoblock and renderblock tags (#25361) 2018-08-02 13:35:08 +02:00
Benjamin Dauvergne d7a2af17c3 allow overriding User.can_reset_password by hooks (fixes #25534)
This commit introduce the concept of an user flag, this flag can be
defined in many places:
* globally trough a setting named A2_USER_<FLAG>
* on the user object itself if there is a property user.<flag> which is
  not None
* by any hook returning a not None result and named a2_hook_user_<flag>
* for all users of an OU if the ou.<flag> is not None
2018-07-30 17:22:03 +02:00
Emmanuel Cazenave 7d53bfcb3c delete some django < 1.8 compatiblity code (#25097) 2018-07-17 15:56:52 +02:00
Benjamin Dauvergne 93b2cf189d disable password change for LDAP backend without user_can_change_password (fixes #20731) 2018-07-17 01:05:55 +02:00
Frédéric Péters 82f4dc6cdc misc: add raw attributes & values to ProfileView context (#25195) 2018-07-15 18:31:48 +02:00
Benjamin Dauvergne b3f89132ce return to account_management view if edit-profile form does not receive a next_url parameter (fixes #23049)
Fallback in get_sucess_url() was not tested, if it was it would have
shown that get_success_url() cannot return a view name, but only URLs
and paths.
2018-04-10 00:55:52 +02:00
Frédéric Péters 2bc22ef75d views: define titles for self servicing views (#22407) 2018-03-12 15:35:33 +01:00
Frédéric Péters 19c3da50b7 views: look for scope-specific template for edit page (#22401) 2018-03-09 15:26:29 +01:00
Benjamin Dauvergne ce363ab81d filter attributes on edit-profile page by scope (fixes #21769) 2018-03-01 15:43:54 +01:00
Benjamin Dauvergne 93cc7e363f add a next_url parameter to edit-profile view (#21769) 2018-03-01 15:43:54 +01:00
Benjamin Dauvergne 666d016b91 allow redirect /accounts/ to an external page (fixes #21770)
New setting is A2_ACCOUNTS_URL.
2018-02-23 19:26:16 +01:00
Paul Marillonnet 75d7305b65 successfully-modified email addresses always set as verified (#20563) 2017-12-21 15:55:16 +01:00
Benjamin Dauvergne bbb4b9a65a utils: factorize sending of email change verification email (#19716) 2017-12-08 13:25:57 +01:00
Benjamin Dauvergne 8d8dcd00e4 views: add setting to redirect authenticated users to homepage on access to login page (fixes #20257) 2017-11-27 00:07:01 +01:00
Benjamin Dauvergne 39c8cbb989 views: fix bug introduced in EmailChangeVerifyView by 16afddc6b9 (fixes #20186)
Ref #19712
2017-11-21 11:20:26 +01:00
Benjamin Dauvergne 16afddc6b9 views: enforce A2_EMAIL_IS_UNIQUE on email change (fixes #19712) 2017-11-17 16:52:08 +01:00
Benjamin Dauvergne 2df5e4644c add a service field to login and registration view (fixes #20100)
It should contain the slug of the service from which the user was coming before
requiring login or registration. It's passed to the 'login' and 'registration'
event hooks.
2017-11-16 16:26:23 +01:00
Benjamin Dauvergne 94edd32e8c add global event hook (fixes #20066)
It's called like this:

  hooks.call_hooks('event', name='event-name', **kwargs)

The hook handler must have the following open signature as you can't be sure of
the event parameters:

  def a2_hook_event(self, name, **kwargs)
    pass

The list of current event names and their kwargs:
* login: user, how
* sso-request: idp, service
* sso-success: idp, service, user

* edit-profile: user, form
* password-reset: email, users
* password-reset-confirm: user, token, form
* change-email: user, email
* change-email-confirm: user, email

* registration: user, view, form, token
* delete-account: user

* manager-add-user: user, instance, form
* manager-edit-user: user, instance, form
* manager-delete-user: user, instance, form
* manager-action: user, action, instance
* manager-change-password: user, instance, form
* manager-add-role: user, instance, form
* manager-edit-role: user, instance, form
* manager-delete-role: user, role
* manager-add-role-member: user, role, member
* manager-remove-role-member: user, role, member
* manager-add-child-role: user, parent, child
* manager-remove-child-role: user, parent, child
* manager-add-permission: user, role, permission
* manager-remove-permission: user, role, permission
* manager-add-admin-role: user, role, admin_role
* manager-remove-admin-role: user, role, admin_role
* manager-add-admin-role-user: user, role, admin
* manager-remove-admin-role-user: user, role, admin
2017-11-14 16:09:56 +01:00
Frédéric Péters 305cbfe27b views: add allow_password_change setting to account view context (#19986) 2017-11-13 14:25:47 +04:00
Benjamin Dauvergne 7ca2244048 views: refactor EmailChangeView to extract email sending (#18630)
So that it can be reused in the API.
2017-09-12 12:48:09 +02:00
Benjamin Dauvergne e9275d3a7d views: apply HookMixin to EditProfile view (#18625) 2017-09-12 11:41:05 +02:00