mirror of https://gitlab.crans.org/bde/nk20
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.edit import FormMixin
|
||||
from django.contrib.auth.models import User
|
||||
from django.contrib import messages
|
||||
from django.urls import reverse_lazy
|
||||
from django.http import HttpResponseRedirect
|
||||
|
||||
from django.db.models import Q
|
||||
from django_tables2.views import SingleTableView
|
||||
from rest_framework.authtoken.models import Token
|
||||
|
||||
from django.core.exceptions import ValidationError
|
||||
from note.models import Alias, NoteUser
|
||||
from note.models.transactions import Transaction
|
||||
from note.tables import HistoryTable, AliasTable
|
||||
|
@ -189,8 +192,22 @@ class AliasView(LoginRequiredMixin,FormMixin,DetailView):
|
|||
|
||||
class DeleteAliasView(LoginRequiredMixin, DeleteView):
|
||||
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):
|
||||
print(self.request)
|
||||
return reverse_lazy('member:user_alias',kwargs={'pk':self.object.note.user.pk})
|
||||
|
||||
def get(self, 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)
|
||||
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):
|
||||
normalized_name = Alias.normalize(self.name)
|
||||
if len(normalized_name) >= 255:
|
||||
|
|
|
@ -36,4 +36,4 @@ class AliasTable(tables.Table):
|
|||
template_name = 'django_tables2/bootstrap4.html'
|
||||
|
||||
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