commit insidepages code.. bad idea..
This commit is contained in:
parent
575984fbd7
commit
8cf2c63815
0
itf/insidepages/__init__.py
Normal file
0
itf/insidepages/__init__.py
Normal file
16
itf/insidepages/admin.py
Normal file
16
itf/insidepages/admin.py
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
from django.contrib import admin
|
||||||
|
from models import *
|
||||||
|
# from forms import ArticleForm
|
||||||
|
|
||||||
|
class TabsInline(admin.StackedInline):
|
||||||
|
model = ModuleTab
|
||||||
|
extra = 4
|
||||||
|
|
||||||
|
class ModuleAdmin(admin.ModelAdmin):
|
||||||
|
inlines = [TabsInline]
|
||||||
|
# list_display = ('name', 'order',)
|
||||||
|
# list_editable = ['order']
|
||||||
|
|
||||||
|
admin.site.register(Module, ModuleAdmin)
|
||||||
|
#admin.site.register(SliderBox, SliderBoxAdmin)
|
||||||
|
|
30
itf/insidepages/models.py
Normal file
30
itf/insidepages/models.py
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
from django.db import models
|
||||||
|
from django.contrib.contenttypes.models import ContentType
|
||||||
|
|
||||||
|
|
||||||
|
class Module(models.Model):
|
||||||
|
title = models.CharField(max_length=255)
|
||||||
|
slug = models.SlugField()
|
||||||
|
|
||||||
|
def __unicode__(self):
|
||||||
|
return self.title
|
||||||
|
|
||||||
|
def get_absolute_url(self):
|
||||||
|
return "/m/" + self.slug
|
||||||
|
|
||||||
|
|
||||||
|
class ModuleTab(models.Model):
|
||||||
|
module = models.ForeignKey(Module)
|
||||||
|
title = models.CharField(max_length=64)
|
||||||
|
text = models.TextField()
|
||||||
|
model = models.ForeignKey(ContentType)
|
||||||
|
is_default = models.BooleanField(default=False)
|
||||||
|
order = models.IntegerField(default=1)
|
||||||
|
is_displayed = models.BooleanField(default=True)
|
||||||
|
|
||||||
|
def __unicode__(self):
|
||||||
|
return self.title
|
||||||
|
|
||||||
|
def get_list(self, options):
|
||||||
|
return self.model.model_class().get_list(options)
|
||||||
|
|
23
itf/insidepages/tests.py
Normal file
23
itf/insidepages/tests.py
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
"""
|
||||||
|
This file demonstrates two different styles of tests (one doctest and one
|
||||||
|
unittest). These will both pass when you run "manage.py test".
|
||||||
|
|
||||||
|
Replace these with more appropriate tests for your application.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from django.test import TestCase
|
||||||
|
|
||||||
|
class SimpleTest(TestCase):
|
||||||
|
def test_basic_addition(self):
|
||||||
|
"""
|
||||||
|
Tests that 1 + 1 always equals 2.
|
||||||
|
"""
|
||||||
|
self.failUnlessEqual(1 + 1, 2)
|
||||||
|
|
||||||
|
__test__ = {"doctest": """
|
||||||
|
Another way to test that 1 + 1 is equal to 2.
|
||||||
|
|
||||||
|
>>> 1 + 1 == 2
|
||||||
|
True
|
||||||
|
"""}
|
||||||
|
|
8
itf/insidepages/urls.py
Normal file
8
itf/insidepages/urls.py
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
from django.conf.urls.defaults import *
|
||||||
|
import views
|
||||||
|
|
||||||
|
urlpatterns = patterns('',
|
||||||
|
(r'^get_list$', views.get_list),
|
||||||
|
(r'^get_details$', views.get_details),
|
||||||
|
(r'^(?P<module_slug>.*)$', views.main),
|
||||||
|
)
|
40
itf/insidepages/views.py
Normal file
40
itf/insidepages/views.py
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
from models import Module, ModuleTab
|
||||||
|
from django.shortcuts import render_to_response, get_object_or_404
|
||||||
|
from django.template import RequestContext
|
||||||
|
from ox.django.shortcuts import render_to_json_response
|
||||||
|
|
||||||
|
def main(request, module_slug):
|
||||||
|
m = get_object_or_404(Module, slug=module_slug)
|
||||||
|
tabs = m.moduletab_set.all()
|
||||||
|
default_tab = tabs[0]
|
||||||
|
list_options = {} #get some options as GET params, etc. to potentially pass to get_list
|
||||||
|
default_tab_list = default_tab.model.model_class().get_list(list_options)
|
||||||
|
context = RequestContext(request, {
|
||||||
|
'title': m.title,
|
||||||
|
'default_tab': tabs[0],
|
||||||
|
'default_list': default_tab_list,
|
||||||
|
'tabs': tabs[1:]
|
||||||
|
})
|
||||||
|
return render_to_response("noel/insidepage.html", context)
|
||||||
|
|
||||||
|
|
||||||
|
def get_list(request):
|
||||||
|
tab_id = request.GET.get("tab", 0)
|
||||||
|
tab = get_object_or_404(ModuleTab, pk=tab_id)
|
||||||
|
list_options = {
|
||||||
|
'search': request.GET.get("search", ""),
|
||||||
|
'sort': request.GET.get("sort", ""),
|
||||||
|
'page': request.GET.get("page_no", 1)
|
||||||
|
}
|
||||||
|
object_list = tab.get_list(list_options)
|
||||||
|
return render_to_json_response(object_list)
|
||||||
|
|
||||||
|
|
||||||
|
def get_details(request):
|
||||||
|
tab_id = request.GET.get("tab_id", 0)
|
||||||
|
tab = get_object_or_404(ModuleTab, pk=tab_id)
|
||||||
|
model_class = tab.model.model_class()
|
||||||
|
object_id = request.GET.get("object_id", 0)
|
||||||
|
obj = get_object_or_404(model_class, pk=object_id)
|
||||||
|
return render_to_json_response(obj.insidepage_dict())
|
||||||
|
|
Loading…
Reference in New Issue
Block a user