diff --git a/pgweb/core/views.py b/pgweb/core/views.py index a94c9f07..f04a7683 100644 --- a/pgweb/core/views.py +++ b/pgweb/core/views.py @@ -45,7 +45,6 @@ def home(request): # get up to seven events to display on the homepage event_base_queryset = Event.objects.select_related('country').filter( approved=True, - training=False, enddate__gte=today, ) # first, see if there are up to two non-badged events within 90 days @@ -60,19 +59,11 @@ def home(request): versions = Version.objects.filter(supported=True) planet = ImportedRSSItem.objects.filter(feed__internalname="planet").order_by("-posttime")[:9] - traininginfo = Event.objects.filter(approved=True, training=True).extra(where=("startdate <= (CURRENT_DATE + '6 Months'::interval) AND enddate >= CURRENT_DATE",)).aggregate(Count('id'), Count('country', distinct=True)) - # can't figure out how to make django do this - curs = connection.cursor() - curs.execute("SELECT * FROM (SELECT DISTINCT(core_organisation.name) FROM events_event INNER JOIN core_organisation ON org_id=core_organisation.id WHERE startdate <= (CURRENT_DATE + '6 Months'::interval) AND enddate >= CURRENT_DATE AND events_event.approved AND training AND org_id IS NOT NULL) x ORDER BY random() LIMIT 3") - trainingcompanies = [r[0] for r in curs.fetchall()] - return render(request, 'index.html', { 'title': 'The world\'s most advanced open source database', 'news': news, 'newstags': NewsTag.objects.all(), 'events': events, - 'traininginfo': traininginfo, - 'trainingcompanies': trainingcompanies, 'versions': versions, 'planet': planet, }) diff --git a/pgweb/events/admin.py b/pgweb/events/admin.py index 8726eb30..dd2084fa 100644 --- a/pgweb/events/admin.py +++ b/pgweb/events/admin.py @@ -29,8 +29,8 @@ class EventAdminForm(forms.ModelForm): return cleaned_data class EventAdmin(PgwebAdmin): - list_display = ('title', 'org', 'startdate', 'enddate', 'training', 'approved',) - list_filter = ('approved','training',) + list_display = ('title', 'org', 'startdate', 'enddate', 'approved',) + list_filter = ('approved',) search_fields = ('summary', 'details', 'title', ) actions = [approve_event, ] form = EventAdminForm diff --git a/pgweb/events/feeds.py b/pgweb/events/feeds.py index b21d678b..6273975e 100644 --- a/pgweb/events/feeds.py +++ b/pgweb/events/feeds.py @@ -12,7 +12,7 @@ class EventFeed(Feed): title_template = 'events/rss_title.html' def items(self): - return Event.objects.filter(approved=True).filter(training=False)[:10] + return Event.objects.filter(approved=True)[:10] def item_link(self, obj): return "https://www.postgresql.org/about/event/%s/" % obj.id diff --git a/pgweb/events/migrations/0003_drop_training.py b/pgweb/events/migrations/0003_drop_training.py new file mode 100644 index 00000000..49923ed4 --- /dev/null +++ b/pgweb/events/migrations/0003_drop_training.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.10 on 2018-12-05 15:38 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('events', '0002_event_badged'), + ] + + operations = [ + migrations.RunSQL("DELETE FROM events_event WHERE training"), + migrations.RemoveField( + model_name='event', + name='training', + ), + ] diff --git a/pgweb/events/models.py b/pgweb/events/models.py index 02a37146..8969afb5 100644 --- a/pgweb/events/models.py +++ b/pgweb/events/models.py @@ -13,7 +13,6 @@ class Event(models.Model): country = models.ForeignKey(Country, null=True, blank=True) language = models.ForeignKey(Language, null=True, blank=True, default='eng', help_text="Primary language for event. When multiple languages, specify this in the event description") - training = models.BooleanField(null=False, blank=False, default=False) badged = models.BooleanField(null=False, blank=False, default=False, verbose_name='Community event', help_text='Choose "Community event" if this is a community recognized event following the community event guidelines.') description_for_badged = models.TextField(blank=True, null=True, verbose_name='Description for community event', help_text='DEPRECRATED: This was used in the beginning of community events to collect additional information.') startdate = models.DateField(null=False, blank=False, verbose_name="Start date") diff --git a/pgweb/events/views.py b/pgweb/events/views.py index 8668b1de..ed00367d 100644 --- a/pgweb/events/views.py +++ b/pgweb/events/views.py @@ -11,21 +11,19 @@ from models import Event from forms import EventForm def main(request): - community_events = Event.objects.select_related('country').filter(approved=True, badged=True).filter(training=False, enddate__gt=date.today()).order_by('enddate', 'startdate',) - other_events = Event.objects.select_related('country').filter(approved=True, badged=False).filter(training=False, enddate__gt=date.today()).order_by('enddate', 'startdate',) - training = Event.objects.select_related('country').filter(approved=True).filter(training=True, enddate__gt=date.today()).order_by('enddate', 'startdate',) + community_events = Event.objects.select_related('country').filter(approved=True, badged=True).filter(enddate__gt=date.today()).order_by('enddate', 'startdate',) + other_events = Event.objects.select_related('country').filter(approved=True, badged=False).filter(enddate__gt=date.today()).order_by('enddate', 'startdate',) return render_pgweb(request, 'about', 'events/archive.html', { 'title': 'Upcoming Events', 'eventblocks': ( { 'name': 'Community Events', 'events': community_events, 'link': '',}, { 'name': 'Other Events', 'events': other_events, 'link': '',}, - { 'name': 'Training', 'events': training, 'link': 'training/',}, ), }) -def _eventarchive(request, training, title): +def _eventarchive(request, title): # Hardcode to the latest 100 events. Do we need paging too? - events = Event.objects.select_related('country').filter(approved=True).filter(training=training, enddate__lte=date.today()).order_by('-enddate', '-startdate',)[:100] + events = Event.objects.select_related('country').filter(approved=True).filter(enddate__lte=date.today()).order_by('-enddate', '-startdate',)[:100] return render_pgweb(request, 'about', 'events/archive.html', { 'title': '%s Archive' % title, 'archive': True, @@ -35,10 +33,7 @@ def _eventarchive(request, training, title): }) def archive(request): - return _eventarchive(request, False, 'Event') - -def trainingarchive(request): - return _eventarchive(request, True, 'Training') + return _eventarchive(request, 'Event') def item(request, itemid, throwaway=None): event = get_object_or_404(Event, pk=itemid) diff --git a/pgweb/urls.py b/pgweb/urls.py index bae3a828..56f6a3fe 100644 --- a/pgweb/urls.py +++ b/pgweb/urls.py @@ -40,7 +40,6 @@ urlpatterns = [ url(r'^about/news/taglist.json/$', pgweb.news.views.taglist_json), url(r'^about/events/$', pgweb.events.views.main), url(r'^about/eventarchive/$', pgweb.events.views.archive), - url(r'^about/eventarchive/training/$', pgweb.events.views.trainingarchive), url(r'^about/event/(\d+)(-.*)?/$', pgweb.events.views.item), url(r'^about/featurematrix/$', pgweb.featurematrix.views.root), url(r'^about/featurematrix/detail/(\d+)/$', pgweb.featurematrix.views.detail),