From d2ddec17ac196c2a090875d081757d195b5190e1 Mon Sep 17 00:00:00 2001
From: Ernesto Rico-Schmidt <e.rico.schmidt@gmail.com>
Date: Wed, 20 Jul 2016 11:04:00 +0200
Subject: exclude self as show predecessor


diff --git a/program/admin.py b/program/admin.py
index fee5d4e..bb47ca2 100644
--- a/program/admin.py
+++ b/program/admin.py
@@ -98,13 +98,18 @@ class ShowAdmin(admin.ModelAdmin):
     search_fields = ('name', 'short_description', 'description')
     fields = (
         'predecessor', 'broadcastformat', 'name', 'slug', 'image', 'image_enabled', 'short_description', 'description',
-        'email', 'website', 'cba_series_id', 'automation_id', 'hosts', 'owners', 'showinformation', 'showtopic',
+        'email', 'website', 'automation_id', 'hosts', 'owners', 'showinformation', 'showtopic',
         'musicfocus',
     )
 
     def formfield_for_foreignkey(self, db_field, request=None, **kwargs):
-        if db_field.name == 'predecessor':
-            kwargs['queryset'] = Show.objects.exclude(pk=352)       # FIXME!
+        try:
+            show_id = int(request.get_full_path().split('/')[-2])
+        except ValueError:
+            show_id = None
+
+        if db_field.name == 'predecessor' and show_id:
+            kwargs['queryset'] = Show.objects.exclude(pk=show_id)
 
         return super(ShowAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
 
-- 
cgit v0.10.2