|
@@ -13,6 +13,7 @@ from misago.core.mail import mail_users
|
|
from misago.core.pgutils import chunk_queryset
|
|
from misago.core.pgutils import chunk_queryset
|
|
from misago.threads.models import Thread
|
|
from misago.threads.models import Thread
|
|
from misago.users.avatars.dynamic import set_avatar as set_dynamic_avatar
|
|
from misago.users.avatars.dynamic import set_avatar as set_dynamic_avatar
|
|
|
|
+from misago.users.datadownload import prepare_user_data_download
|
|
from misago.users.forms.admin import (
|
|
from misago.users.forms.admin import (
|
|
BanUsersForm, EditUserForm, EditUserFormFactory, NewUserForm, SearchUsersForm)
|
|
BanUsersForm, EditUserForm, EditUserFormFactory, NewUserForm, SearchUsersForm)
|
|
from misago.users.models import Ban
|
|
from misago.users.models import Ban
|
|
@@ -73,6 +74,11 @@ class UsersList(UserAdmin, generic.ListView):
|
|
'icon': 'fa fa-lock',
|
|
'icon': 'fa fa-lock',
|
|
},
|
|
},
|
|
{
|
|
{
|
|
|
|
+ 'action': 'prepare_data_download',
|
|
|
|
+ 'name': _("Prepare data download"),
|
|
|
|
+ 'icon': 'fa fa-download',
|
|
|
|
+ },
|
|
|
|
+ {
|
|
'action': 'delete_accounts',
|
|
'action': 'delete_accounts',
|
|
'name': _("Delete accounts"),
|
|
'name': _("Delete accounts"),
|
|
'icon': 'fa fa-times-circle',
|
|
'icon': 'fa fa-times-circle',
|
|
@@ -197,6 +203,12 @@ class UsersList(UserAdmin, generic.ListView):
|
|
}
|
|
}
|
|
)
|
|
)
|
|
|
|
|
|
|
|
+ def action_prepare_data_download(self, request, users):
|
|
|
|
+ for user in users:
|
|
|
|
+ prepare_user_data_download(user, requester=request.user)
|
|
|
|
+
|
|
|
|
+ messages.success(request, _("Data downloads are now being prepared for selected users."))
|
|
|
|
+
|
|
def action_delete_accounts(self, request, users):
|
|
def action_delete_accounts(self, request, users):
|
|
for user in users:
|
|
for user in users:
|
|
if user == request.user:
|
|
if user == request.user:
|
|
@@ -208,8 +220,7 @@ class UsersList(UserAdmin, generic.ListView):
|
|
for user in users:
|
|
for user in users:
|
|
user.delete()
|
|
user.delete()
|
|
|
|
|
|
- message = _("Selected users have been deleted.")
|
|
|
|
- messages.success(request, message)
|
|
|
|
|
|
+ messages.success(request, _("Selected users have been deleted."))
|
|
|
|
|
|
def action_delete_all(self, request, users):
|
|
def action_delete_all(self, request, users):
|
|
for user in users:
|
|
for user in users:
|