Merge branch 'femilamptey-master'

This commit is contained in:
Michael Hall 2018-04-17 11:32:03 -04:00
commit 8bf0ae0a79
3 changed files with 40 additions and 2 deletions

View file

@ -173,6 +173,25 @@ def update_event_searchable(event):
searchable.save() searchable.save()
def delete_event_searchable(event):
site = Site.objects.get(id=1)
event_url = "https://%s%s" % (site.domain, event.get_absolute_url())
origin_url = "https://%s%s" % (site.domain, reverse('searchables'))
md5 = hashlib.md5()
federation_url = event_url.split('/')
federation_node = '/'.join(federation_url[:3])
federation_id = '/'.join(federation_url[:5])
md5.update(bytes(federation_id, 'utf8'))
event_uri = federation_node + '/' + md5.hexdigest()
try:
searchable = Searchable.objects.get(event_uri=event_uri)
searchable.delete()
except:
pass
def slugify(s, ok=SLUG_OK, lower=True, spaces=False): def slugify(s, ok=SLUG_OK, lower=True, spaces=False):
# L and N signify letter/number. # L and N signify letter/number.
# http://www.unicode.org/reports/tr44/tr44-4.html#GC_Values_Table # http://www.unicode.org/reports/tr44/tr44-4.html#GC_Values_Table

View file

@ -1,7 +1,7 @@
from django.test import TestCase from django.test import TestCase
from model_mommy import mommy from model_mommy import mommy
from ..models.events import Event from ..models.events import Event, delete_event_searchable
from ..models.search import Searchable from ..models.search import Searchable
# Create your tests here. # Create your tests here.
@ -38,3 +38,20 @@ class SearchableCreationTest(TestCase):
assert(searchables.count() == 1) assert(searchables.count() == 1)
assert(searchables[0].event_title == "New Title") assert(searchables[0].event_title == "New Title")
def test_delete_searchable_with_event(self):
searchables = Searchable.objects.all()
assert(searchables.count() == 0)
event = mommy.make(Event)
event.save()
searchables = Searchable.objects.all()
assert(searchables.count() == 1)
delete_event_searchable(event)
event.delete()
searchables = Searchable.objects.all()
assert(searchables.count() == 0)

View file

@ -7,7 +7,8 @@ from django.shortcuts import render, redirect, reverse, get_object_or_404
from django.http import HttpResponse, JsonResponse from django.http import HttpResponse, JsonResponse
from django.utils import timezone from django.utils import timezone
from events.models.events import Event, CommonEvent, EventSeries, EventPhoto, Place, Attendee from events.models.events import Event, CommonEvent, EventSeries, EventPhoto, Place, Attendee, update_event_searchable, \
delete_event_searchable
from events.models.profiles import Team, Organization, UserProfile, Member from events.models.profiles import Team, Organization, UserProfile, Member
from events.forms import ( from events.forms import (
TeamEventForm, TeamEventForm,
@ -276,6 +277,7 @@ def delete_event(request, event_id):
form = DeleteEventForm(request.POST) form = DeleteEventForm(request.POST)
if form.is_valid() and form.cleaned_data['confirm']: if form.is_valid() and form.cleaned_data['confirm']:
team_id = event.team_id team_id = event.team_id
delete_event_searchable(event);
event.delete() event.delete()
return redirect('show-team', team_id) return redirect('show-team', team_id)
else: else: