mirror of
https://gitlab.crans.org/bde/nk20
synced 2024-11-30 04:13:01 +00:00
Deletion of alias now possible!
This commit is contained in:
parent
27391049f2
commit
35d5bcdf0f
@ -8,11 +8,14 @@ from django.utils.translation import gettext_lazy as _
|
|||||||
from django.views.generic import CreateView, DetailView, UpdateView, TemplateView,DeleteView
|
from django.views.generic import CreateView, DetailView, UpdateView, TemplateView,DeleteView
|
||||||
from django.views.generic.edit import FormMixin
|
from django.views.generic.edit import FormMixin
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
|
from django.contrib import messages
|
||||||
from django.urls import reverse_lazy
|
from django.urls import reverse_lazy
|
||||||
|
from django.http import HttpResponseRedirect
|
||||||
|
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
from django_tables2.views import SingleTableView
|
from django_tables2.views import SingleTableView
|
||||||
from rest_framework.authtoken.models import Token
|
from rest_framework.authtoken.models import Token
|
||||||
|
from django.core.exceptions import ValidationError
|
||||||
from note.models import Alias, NoteUser
|
from note.models import Alias, NoteUser
|
||||||
from note.models.transactions import Transaction
|
from note.models.transactions import Transaction
|
||||||
from note.tables import HistoryTable, AliasTable
|
from note.tables import HistoryTable, AliasTable
|
||||||
@ -189,8 +192,22 @@ class AliasView(LoginRequiredMixin,FormMixin,DetailView):
|
|||||||
|
|
||||||
class DeleteAliasView(LoginRequiredMixin, DeleteView):
|
class DeleteAliasView(LoginRequiredMixin, DeleteView):
|
||||||
model = Alias
|
model = Alias
|
||||||
|
|
||||||
|
def delete(self,request,*args,**kwargs):
|
||||||
|
try:
|
||||||
|
self.object = self.get_object()
|
||||||
|
self.object.delete()
|
||||||
|
except ValidationError as e:
|
||||||
|
# TODO: pass message to redirected view.
|
||||||
|
messages.error(self.request,str(e))
|
||||||
|
else:
|
||||||
|
messages.success(self.request,_("Alias successfully deleted"))
|
||||||
|
return HttpResponseRedirect(get_success_url)
|
||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
|
print(self.request)
|
||||||
return reverse_lazy('member:user_alias',kwargs={'pk':self.object.note.user.pk})
|
return reverse_lazy('member:user_alias',kwargs={'pk':self.object.note.user.pk})
|
||||||
|
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
return self.post(request, *args, **kwargs)
|
return self.post(request, *args, **kwargs)
|
||||||
|
|
||||||
|
@ -219,14 +219,6 @@ class Alias(models.Model):
|
|||||||
if all(not unicodedata.category(char).startswith(cat)
|
if all(not unicodedata.category(char).startswith(cat)
|
||||||
for cat in {'M', 'P', 'Z', 'C'})).casefold()
|
for cat in {'M', 'P', 'Z', 'C'})).casefold()
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
|
||||||
"""
|
|
||||||
Handle normalized_name
|
|
||||||
"""
|
|
||||||
self.normalized_name = Alias.normalize(self.name)
|
|
||||||
if len(self.normalized_name) < 256:
|
|
||||||
super().save(*args, **kwargs)
|
|
||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
normalized_name = Alias.normalize(self.name)
|
normalized_name = Alias.normalize(self.name)
|
||||||
if len(normalized_name) >= 255:
|
if len(normalized_name) >= 255:
|
||||||
|
@ -36,4 +36,4 @@ class AliasTable(tables.Table):
|
|||||||
template_name = 'django_tables2/bootstrap4.html'
|
template_name = 'django_tables2/bootstrap4.html'
|
||||||
|
|
||||||
delete = tables.LinkColumn('member:user_alias_delete', args=[A('pk')], attrs={
|
delete = tables.LinkColumn('member:user_alias_delete', args=[A('pk')], attrs={
|
||||||
'a': {'class': 'btn btn-danger'} },text='delete')
|
'a': {'class': 'btn btn-danger'} },text='delete',accessor='pk')
|
||||||
|
Loading…
Reference in New Issue
Block a user