|
|
|
@ -27,9 +27,17 @@ def AddSlug(request):
|
|
|
|
|
form = SlugAddForm(request.POST)
|
|
|
|
|
if form.is_valid():
|
|
|
|
|
slug = form.save(commit=False)
|
|
|
|
|
|
|
|
|
|
if slug.slug == '':
|
|
|
|
|
slug.slug = ''.join(random.choice(ensemble) for _ in range(RANDOM_SLUG_LEN))
|
|
|
|
|
slug.uid = ''.join(random.choice(ensemble) for _ in range(UID_LEN))
|
|
|
|
|
while slug.slug=='':
|
|
|
|
|
rand_string = ''.join(random.choice(ensemble) for _ in range(RANDOM_SLUG_LEN))
|
|
|
|
|
if not Slug.objects.filter(slug=rand_string).exists():
|
|
|
|
|
slug.slug = rand_string
|
|
|
|
|
while slug.uid == None:
|
|
|
|
|
rand_uid = ''.join(random.choice(ensemble) for _ in range(UID_LEN))
|
|
|
|
|
if not Slug.objects.filter(uid = rand_uid).exists():
|
|
|
|
|
slug.uid = rand_uid
|
|
|
|
|
|
|
|
|
|
slug.save()
|
|
|
|
|
return HttpResponseRedirect('display/{}'.format(slug.slug))
|
|
|
|
|
else:
|
|
|
|
@ -41,13 +49,14 @@ def display(request, slug_got):
|
|
|
|
|
if slug.count()!=1:
|
|
|
|
|
return render(request,'unknown.html',{'slug':slug_got})
|
|
|
|
|
else:
|
|
|
|
|
context = {'slug':slug.get()}
|
|
|
|
|
context = {'slug':slug.get(), 'request': request}
|
|
|
|
|
return render(request,'display.html',context)
|
|
|
|
|
|
|
|
|
|
def redirect(request,slug_got):
|
|
|
|
|
slug = Slug.objects.filter(slug = slug_got).all()
|
|
|
|
|
if slug.count()!=1:
|
|
|
|
|
return render(request,'unknown.html',{'slug':slug_got})
|
|
|
|
|
context = {'slug':slug_got,'request': request}
|
|
|
|
|
return render(request,'unknown.html',context)
|
|
|
|
|
else:
|
|
|
|
|
return HttpResponseRedirect(slug.get().destination)
|
|
|
|
|
|
|
|
|
|