diff --git a/apps/userprofile/templates/user/user_list.html b/apps/userprofile/templates/user/user_list.html
index ba862a7714cb6ef40c8530d8871e7aa8a5503e80..1b0ee9277dd1ee88d224b6f625af85ace6d23ea6 100644
--- a/apps/userprofile/templates/user/user_list.html
+++ b/apps/userprofile/templates/user/user_list.html
@@ -43,7 +43,10 @@
{{user.email}} |
{{user.date_joined | date:'d/m/Y - H:i:s'}} |
{{user.groups.last.name}} |
- |
+
+
+ Edit
+ |
{% endfor %}
diff --git a/apps/userprofile/templates/user/user_update_form.html b/apps/userprofile/templates/user/user_update_form.html
new file mode 100644
index 0000000000000000000000000000000000000000..ea71d663311f70453077d0ad654aa9b6fbd43399
--- /dev/null
+++ b/apps/userprofile/templates/user/user_update_form.html
@@ -0,0 +1,8 @@
+{% extends "base.html" %}
+
+{% block content %}
+
+{% endblock %}
diff --git a/apps/userprofile/urls.py b/apps/userprofile/urls.py
index 28af44c40effa99cb3ae2501b3219cc3cadad3d7..4f99d72a76e1a2fe41277808e8cdbeb17308609b 100644
--- a/apps/userprofile/urls.py
+++ b/apps/userprofile/urls.py
@@ -1,11 +1,17 @@
from django.conf.urls import url
-from userprofile.views.users import UserListView
+from userprofile.views.users import UserEditView, UserListView
urlpatterns = [
url(
r"^list",
UserListView.as_view(),
- name="user-list"
+ name="list"
+ ),
+
+ url(
+ r"^edit/(?P\d+)",
+ UserEditView.as_view(),
+ name="edit"
)
]
diff --git a/apps/userprofile/views/users.py b/apps/userprofile/views/users.py
index 8619838ec699ecf30054197d8b1ecf361a516a22..3a0271ee1eebab7455c318348890f64945321e16 100644
--- a/apps/userprofile/views/users.py
+++ b/apps/userprofile/views/users.py
@@ -1,7 +1,10 @@
+from django.urls import reverse_lazy
+
from django.contrib.auth.models import User
from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin
from django.views.generic.list import ListView
+from django.views.generic.edit import UpdateView
class UserListView(LoginRequiredMixin, PermissionRequiredMixin, ListView):
model = User
@@ -18,3 +21,11 @@ class UserListView(LoginRequiredMixin, PermissionRequiredMixin, ListView):
context = super().get_context_data(**kwargs)
return context
+
+class UserEditView(LoginRequiredMixin, PermissionRequiredMixin, UpdateView):
+ model = User
+ permission_required = 'userprofile.can_edit_users'
+ template_name = 'user/user_update_form.html'
+
+ fields = ['groups']
+ success_url = reverse_lazy("users:list")
diff --git a/project/urls.py b/project/urls.py
index bb4cccbe7da1724a7ab15719a6f483a9bd4defe2..4f3d4ecf254899b6c9ab81453e0af3f531246469 100644
--- a/project/urls.py
+++ b/project/urls.py
@@ -22,7 +22,7 @@ urlpatterns = [
url(r"^feeds/", include("rp.feeds.urls", namespace="feeds")),
url(r"^rp/", include("rp.urls", namespace="rp")),
url(r'^accounts/', include('allauth.urls')),
- url(r"^users/", include('userprofile.urls'))
+ url(r"^users/", include('userprofile.urls', namespace="users"))
]
if settings.DEBUG: