diff --git a/umap/templates/auth/user_form.html b/umap/templates/auth/user_form.html
index a777854e..06d04079 100644
--- a/umap/templates/auth/user_form.html
+++ b/umap/templates/auth/user_form.html
@@ -19,5 +19,32 @@
+ {% if backends.backends|length %}
+
+
{% trans "Your current providers" %}
+
+ {% for name in providers %}{{ name|title }} {% endfor %}
+
+
+
+
{% trans "Connect to another provider" %}
+
+ {% blocktrans %}It's a good habit to connect your account to more than one provider, in case one provider becomes unavailable, temporarily or even permanently.{% endblocktrans %}
+
+
+
+ {% for name in backends.backends %}
+ {% if name not in providers %}
+
+
+
+ {% endif %}
+ {% endfor %}
+
+
+
+ {% endif %}
{% endblock maincontent %}
diff --git a/umap/views.py b/umap/views.py
index e3acfe63..6e6b905e 100644
--- a/umap/views.py
+++ b/umap/views.py
@@ -168,11 +168,17 @@ about = About.as_view()
class UserProfile(UpdateView):
model = User
form_class = UserProfileForm
- success_url = reverse_lazy('user_profile')
+ success_url = reverse_lazy("user_profile")
def get_object(self):
return self.get_queryset().get(pk=self.request.user.pk)
+ def get_context_data(self, **kwargs):
+ kwargs.update(
+ {"providers": self.object.social_auth.values_list("provider", flat=True)}
+ )
+ return super().get_context_data(**kwargs)
+
user_profile = UserProfile.as_view()