forked from rc/aircox
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import copy
 | 
						|
 | 
						|
from django.contrib import admin
 | 
						|
from django.utils.translation import ugettext as _, ugettext_lazy
 | 
						|
from django.contrib.contenttypes.admin import GenericStackedInline
 | 
						|
 | 
						|
import aircox.programs.models as programs
 | 
						|
from website.models import *
 | 
						|
 | 
						|
 | 
						|
def add_inline (base_model, post_model, prepend = False):
 | 
						|
    class InlineModel (admin.StackedInline):
 | 
						|
        model = post_model
 | 
						|
        extra = 1
 | 
						|
        max_num = 1
 | 
						|
        verbose_name = _('Post')
 | 
						|
 | 
						|
        fieldsets = [
 | 
						|
                (None, {
 | 
						|
                    'fields': ['title', 'content', 'image', 'tags']
 | 
						|
                }),
 | 
						|
                (None, {
 | 
						|
                    'fields': ['date', 'published', 'author', 'thread_pk', 'thread_type']
 | 
						|
                })
 | 
						|
        ]
 | 
						|
 | 
						|
    registry = admin.site._registry
 | 
						|
    if not base_model in registry:
 | 
						|
        raise TypeError(str(base_model) + " not in admin registry")
 | 
						|
 | 
						|
    inlines = list(registry[base_model].inlines) or []
 | 
						|
    if prepend:
 | 
						|
        inlines.insert(0, InlineModel)
 | 
						|
    else:
 | 
						|
        inlines.append(InlineModel)
 | 
						|
 | 
						|
    registry[base_model].inlines = inlines
 | 
						|
 | 
						|
 | 
						|
add_inline(programs.Program, Program, True)
 | 
						|
# add_inline(programs.Episode, Episode, True)
 | 
						|
 | 
						|
admin.site.register(Program)
 | 
						|
# admin.site.register(Episode)
 | 
						|
 | 
						|
 |