media gallery image upload kindof works

This commit is contained in:
Sanj 2012-11-16 04:25:53 +05:30
commit 5767b63238
25 changed files with 1047 additions and 77 deletions

View File

@ -6,6 +6,7 @@ from ox.django.fields import DictField
from django.core.paginator import Paginator, InvalidPage, EmptyPage from django.core.paginator import Paginator, InvalidPage, EmptyPage
from django.template.loader import render_to_string from django.template.loader import render_to_string
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes import generic
from insidepages.models import ModuleTab, ModelExtra from insidepages.models import ModuleTab, ModelExtra
from os.path import exists from os.path import exists
from sorl.thumbnail import get_thumbnail from sorl.thumbnail import get_thumbnail
@ -46,7 +47,6 @@ class ItfModel(models.Model):
changed = models.DateTimeField(null=True, editable=False) #All models should have a changed timestamp changed = models.DateTimeField(null=True, editable=False) #All models should have a changed timestamp
created = models.DateTimeField(null=True, editable=False) #All models should have a created timestamp created = models.DateTimeField(null=True, editable=False) #All models should have a created timestamp
#For all models, on save, update their "changed" timestamp - if created, set their created timestamp. #For all models, on save, update their "changed" timestamp - if created, set their created timestamp.
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
''' On save, update timestamps ''' ''' On save, update timestamps '''

View File

@ -1,6 +1,7 @@
from models import Module, ModuleTab from models import Module, ModuleTab
from django.shortcuts import render_to_response, get_object_or_404 from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext from django.template import RequestContext
from django.contrib.contenttypes.models import ContentType
from ox.django.shortcuts import render_to_json_response from ox.django.shortcuts import render_to_json_response
import re import re
from django.http import HttpResponse, HttpResponseRedirect from django.http import HttpResponse, HttpResponseRedirect
@ -43,7 +44,8 @@ def add_object(request, module_slug, tab_slug):
context = RequestContext(request, { context = RequestContext(request, {
'form': f, 'form': f,
'inlines': inlines, 'inlines': inlines,
'errors': f.errors 'errors': f.errors,
'new': True
}) })
return render_to_response("test/person_form.html", context) return render_to_response("test/person_form.html", context)
@ -52,8 +54,10 @@ def edit_object(request, module_slug, tab_slug, object_id):
tab = get_object_or_404(ModuleTab, slug=tab_slug) tab = get_object_or_404(ModuleTab, slug=tab_slug)
model_class = tab.model_class() model_class = tab.model_class()
obj = get_object_or_404(model_class, pk=object_id) obj = get_object_or_404(model_class, pk=object_id)
content_type_id = ContentType.objects.get_for_model(model_class).id
add_form_name = model_class.main_form add_form_name = model_class.main_form
form = model_class.get_forms()[add_form_name] form = model_class.get_forms()[add_form_name]
galleries = obj.galleries
if request.POST: if request.POST:
f = form(request.POST, request.FILES, instance=obj) f = form(request.POST, request.FILES, instance=obj)
@ -77,7 +81,10 @@ def edit_object(request, module_slug, tab_slug, object_id):
context = RequestContext(request, { context = RequestContext(request, {
'form': f, 'form': f,
'object': obj, 'object': obj,
'inlines': inlines 'content_type_id': content_type_id,
'inlines': inlines,
'galleries': galleries,
'new': False
}) })
return render_to_response("test/person_form.html", context) return render_to_response("test/person_form.html", context)

View File

@ -4,6 +4,11 @@ from models import *
#from django.contrib.contenttypes import generic #from django.contrib.contenttypes import generic
#from padmavideos.models import PadmaVideo, PadmaClip #from padmavideos.models import PadmaVideo, PadmaClip
# -- this is because settings.py uses
# COMMENTS_APP = "django_comments_xtd", then Comment needs to be registered
from django_comments_xtd import models as xtd
admin.site.register(xtd.Comment)
#class AudioInline(admin.StackedInline): #class AudioInline(admin.StackedInline):
# model = Audio # model = Audio
# extra = 2 # extra = 2

View File

@ -6,13 +6,14 @@ from django.contrib.localflavor.in_.forms import INZipCodeField
#from ox.django.fields import DictField #from ox.django.fields import DictField
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes import generic from django.contrib.contenttypes import generic
from imagestore.models import Album #from imagestore.models import Album
# mail imports # mail imports
from django.core.mail import send_mail from django.core.mail import send_mail
from django.template.loader import get_template from django.template.loader import get_template
from django.template import Context from django.template import Context
from itf.settings import SITE_HOST, DEFAULT_FROM_MAIL from itf.settings import SITE_HOST, DEFAULT_FROM_MAIL
from mediagallery.models import GalleryAlbum
GENDER_CHOICES = ( GENDER_CHOICES = (
('M', 'Male'), ('M', 'Male'),
@ -56,6 +57,7 @@ class Person(ItfModel):
awards = generic.GenericRelation("Award") awards = generic.GenericRelation("Award")
buzzitems = generic.GenericRelation("BuzzItem") buzzitems = generic.GenericRelation("BuzzItem")
resources = generic.GenericRelation("Resource") resources = generic.GenericRelation("Resource")
galleries = generic.GenericRelation(GalleryAlbum)
# photos = models.ManyToManyField("PhotoAlbum", blank=True, null=True) # photos = models.ManyToManyField("PhotoAlbum", blank=True, null=True)
# orphans = models.ManyToManyField("Orphan", blank=True, null=True, through='PersonOrphan') # orphans = models.ManyToManyField("Orphan", blank=True, null=True, through='PersonOrphan')
@ -276,8 +278,7 @@ class Training(models.Model):
class Play(ItfModel): class Play(ItfModel):
title = models.CharField(max_length=512) title = models.CharField(max_length=512)
author = models.CharField(max_length=512, blank=True) author = models.CharField(max_length=512, blank=True)
year = models.IntegerField(null=True, blank=True, max_length=4) year = models.IntegerField(null=True, blank=True, max_length=4)
added_by = models.ForeignKey(User) added_by = models.ForeignKey(User)
def __unicode__(self): def __unicode__(self):
@ -299,6 +300,8 @@ class TheatreGroup(ItfModel):
about = models.TextField(blank=True) about = models.TextField(blank=True)
awards = generic.GenericRelation("Award") awards = generic.GenericRelation("Award")
buzzitems = generic.GenericRelation("BuzzItem") buzzitems = generic.GenericRelation("BuzzItem")
galleries = generic.GenericRelation(GalleryAlbum)
website = models.URLField(blank=True, verify_exists=False) website = models.URLField(blank=True, verify_exists=False)
resources = generic.GenericRelation("Resource") resources = generic.GenericRelation("Resource")
locations = generic.GenericRelation("Location") locations = generic.GenericRelation("Location")
@ -310,12 +313,14 @@ class TheatreGroup(ItfModel):
#nature_of_work = models.CharField(max_length=255) #nature_of_work = models.CharField(max_length=255)
# founded = models.CharField(max_length=10) # founded = models.CharField(max_length=10)
trainings = generic.GenericRelation("Training") trainings = generic.GenericRelation("Training")
allow_comments = models.BooleanField('allow comments', default=True)
def __unicode__(self): def __unicode__(self):
return self.name return self.name
def get_dict(self): def get_dict(self):
return { return {
#'object':self,
'name': self.name, 'name': self.name,
'email': self.email, 'email': self.email,
'tel':self.tel, 'tel':self.tel,
@ -375,6 +380,8 @@ class Production(ItfModel):
awards = generic.GenericRelation("Award") awards = generic.GenericRelation("Award")
debut_date = models.DateField(blank=True, null=True) debut_date = models.DateField(blank=True, null=True)
reviews= generic.GenericRelation("BuzzItem") reviews= generic.GenericRelation("BuzzItem")
galleries = generic.GenericRelation(GalleryAlbum)
def __unicode__(self): def __unicode__(self):
return self.name return self.name

View File

@ -97,7 +97,17 @@ def personpopup(request):
form = PersonForm(request.POST, request.FILES) form = PersonForm(request.POST, request.FILES)
if form.is_valid(): if form.is_valid():
instance = form.save() instance = form.save()
# return HttpResponse("<script>opener.dismissAddAnotherPopup(this, '%s', '%s')</script>" % (str(instance.id), instance.get_title())) invitation = PersonInvitation(
invitee=invitee,
invite_code=User.objects.make_random_password(30),
is_validated=False,
inviter=Person.objects.get(user=request.user),
sent_date=datetime.now()
)
invitation.save()
invitation.send_mail()
#return HttpResponse("<html><body>This person will be Invited!</body></html>")
#return HttpResponse("<script>opener.dismissAddAnotherPopup(this, '%s', '%s')</script>" % (str(instance.id), instance.get_title()))
else: else:
form = PersonForm() form = PersonForm()
context = RequestContext(request, { context = RequestContext(request, {

View File

@ -1,13 +1,16 @@
from django.db import models from django.db import models
from app.models import ItfModel from app.models import ItfModel
from ox.django.fields import DictField from ox.django.fields import DictField
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes import generic
from django.core.files.base import ContentFile
class GalleryAlbum(ItfModel): class GalleryAlbum(ItfModel):
''' '''
''' '''
title = models.CharField(max_length=512, unique=True) title = models.CharField(max_length=512)
slug = models.SlugField(unique=True) #slug = models.SlugField(unique=True)
content_type = models.ForeignKey(ContentType) content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField() object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id') content_object = generic.GenericForeignKey('content_type', 'object_id')
@ -15,18 +18,36 @@ class GalleryAlbum(ItfModel):
def __unicode__(self): def __unicode__(self):
return self.title return self.title
def get_edit_url(self):
return '/mediagallery/edit/%d' % self.id
class GalleryItem(models.Model): class GalleryItem(models.Model):
title = models.CharField(max_length=512, blank=True, null=True) title = models.CharField(max_length=512, blank=True, null=True)
done = models.BooleanField(default=False)
album = models.ForeignKey(GalleryAlbum) album = models.ForeignKey(GalleryAlbum)
data = models.DictField() data = DictField(default={})
def __unicode__(self): def __unicode__(self):
return self.title return self.title
class Photo(GalleryItem): class Photo(GalleryItem):
image = models.ImageField() image = models.ImageField(upload_to="upload/mediagallery/images", blank=True, null=True) #FIXME: upload to better place, with galleries having folders
def save_chunk(self, chunk, name='data.bin'):
if not self.done:
if not self.image:
self.image.save(name, ContentFile(chunk))
self.title = name
self.save()
else:
f = open(self.image.path, 'a')
f.write(chunk)
f.close()
return True
return False
#class Video(GalleryItem): #class Video(GalleryItem):

9
itf/mediagallery/urls.py Normal file
View File

@ -0,0 +1,9 @@
from django.conf.urls.defaults import *
urlpatterns = patterns('mediagallery.views',
(r'^add/(?P<ctype_id>\d+)/(?P<object_id>\d+)', 'add'),
(r'^edit/(?P<id>\d+)', 'edit'),
(r'^upload/', 'upload'),
(r'^(?P<id>\d+)/chunk', 'chunk'),
)

View File

@ -1,9 +1,106 @@
# Create your views here. # Create your views here.
from django.shortcuts import render_to_response from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext from django.template import RequestContext
from django.http import HttpResponse, HttpResponseRedirect
from models import GalleryAlbum, Photo
from django.contrib.contenttypes.models import ContentType
from django.views.decorators.csrf import csrf_exempt
from django import forms
from ox.django.shortcuts import render_to_json_response
def edit_gallery(request): def add(request, ctype_id, object_id):
context = RequestContext(request, {}) ctype = get_object_or_404(ContentType, pk=ctype_id)
model_class = ctype.model_class()
obj = get_object_or_404(model_class, pk=object_id)
#FIXME: check permissions
d = {
'title': 'New Album',
'content_type': ctype,
'object_id': obj.id
}
gallery = GalleryAlbum(**d)
gallery.save()
return HttpResponseRedirect(gallery.get_edit_url())
def edit(request, id):
gallery = get_object_or_404(GalleryAlbum, pk=id)
photos = Photo.objects.filter(album=gallery)
context = RequestContext(request, {
'gallery': gallery,
'photos': photos
})
return render_to_response("mediagallery/upload.html", context) return render_to_response("mediagallery/upload.html", context)
@csrf_exempt
def upload(request):
if request.method == 'POST':
if request.POST.get('name', False):
id = request.POST.get("id", 0)
album = GalleryAlbum.objects.get(pk=id)
name = request.POST.get("name", "untitled")
item = Photo(title=name, album=album)
item.save()
response = {
'result': 1,
'maxRetry': 10,
'uploadUrl': '/mediagallery/' + str(item.id) + '/chunk'
}
return render_to_json_response(response)
return HttpResponse("error!")
class ChunkForm(forms.Form):
chunk = forms.FileField()
done = forms.IntegerField(required=False)
@csrf_exempt
def chunk(request, id):
if request.method == 'POST':
response = {}
item = get_object_or_404(Photo, id=id)
form = ChunkForm(request.POST, request.FILES)
canEdit = True #FIXME check for permissions
if form.is_valid() and canEdit:
f = form.cleaned_data['chunk']
if item.title:
name = item.title
else:
name = f.name
# if extFileName(name).lower() in ['jpg', 'jpeg', 'png']:
# thumbnail = get_thumbnail(
if not item.save_chunk(f.read(), name):
response['result'] = 'failed'
elif form.cleaned_data['done']:
item.done = True
item.save()
response = {
'resultUrl': '/files/' + str(item.id),
'fileId': item.id,
'title': name,
#'type': item.type,
#'thumbnail': item.get_thumb("100x100")
}
response['done'] = 1
response['result'] = 1
else:
response['result'] = 1
return render_to_json_response(response)
response = {
'result': -1,
'fileUrl': '/'
}
return render_to_json_response(response)
'''
def edit_gallery(request):
context = RequestContext(request, {})
return render_to_response("mediagallery/upload.html", context)
'''

View File

@ -203,7 +203,8 @@ INSTALLED_APPS = (
'tagging', 'tagging',
'app', 'app',
'padmavideos', 'padmavideos',
# 'api', 'mediagallery',
# 'api',
# 'boxes', # 'boxes',
'frontpage', 'frontpage',
# 'solango', # 'solango',
@ -214,7 +215,7 @@ INSTALLED_APPS = (
'sorl.thumbnail', 'sorl.thumbnail',
'crispy_forms', 'crispy_forms',
'floppyforms', 'floppyforms',
'imagestore', # 'imagestore',
# 'south', # 'south',
# 'user', # 'user',
'ckeditor', 'ckeditor',
@ -231,8 +232,14 @@ INSTALLED_APPS = (
'allauth.socialaccount.providers.facebook', 'allauth.socialaccount.providers.facebook',
'allauth.socialaccount.providers.github', 'allauth.socialaccount.providers.github',
'emailconfirmation', 'emailconfirmation',
'django_comments_xtd',
) )
#j comments-xtd
COMMENTS_APP = "django_comments_xtd"
COMMENTS_XTD_CONFIRM_EMAIL = True
COMMENTS_XTD_MAX_THREAD_LEVEL = 0 # no threading
# jj all auth + email settings # jj all auth + email settings
LOGIN_REDIRECT_URL = '/edit_profile' LOGIN_REDIRECT_URL = '/edit_profile'

View File

@ -111,7 +111,11 @@ margin-bottom:8px;}
.tab_content h3 { .tab_content h3 {
font-size: 150%; font-size: 150%;
padding-bottom: 10px; margin-bottom: 10px;
}
.tab_content h5 {
font-size: 120%;
} }
#about ul, #people ul, #production ul { #about ul, #people ul, #production ul {
@ -144,6 +148,7 @@ margin-left: 10px;
background: #ccc; background: #ccc;
min-height: 110px; min-height: 110px;
width: 150px; width: 150px;
margin-top: 4px;
} }
.productionEachText { .productionEachText {
@ -179,6 +184,11 @@ margin-left: 10px;
.resourcesEach { .resourcesEach {
padding: 0 20px 20px 0; padding: 0 20px 20px 0;
float: left; float: left;
width: 350px;
}
.borderYellow {
border-bottom: 1px solid #F7BD00;
} }
/*toggleClass*/ /*toggleClass*/

View File

@ -32,6 +32,10 @@ left:4px;
z-index:-1; z-index:-1;
} }
.rightFloat {
float: right;
}
#logo span #logo span
{font-size:36px;} {font-size:36px;}
@ -50,6 +54,52 @@ margin-bottom:8px;
font-weight:bold; font-weight:bold;
} }
.padding {
padding: 8px 0;
}
.paddingBottom {
padding-bottom: 8px;
}
.tooltipLink {
position: relative;
}
.tooltip {
position: absolute;
left: 30px;
top: 15px;
background: #F7BD00;
padding: 6px;
border-radius: 8px;
color: #fff;
width: 156px;
opacity: 0;
visibility: hidden;
-o-transition: all 0.2s ease-in;
-moz-transition: all 0.2s ease-in;
-webkit-transition: all 0.2s ease-in;
transition: all 0.2s ease-in;
}
.tooltip:after {
content:"";
display:block; /* reduce the damage in FF3.0 */
position:absolute;
top:0px;
left:-15px;
width:0;
border-width:14px 0 0 22px;
border-style:solid;
border-color:#F7BD00 transparent;
}
.tooltipLink:hover .tooltip {
opacity: 1;
visibility: visible;
}
.tabHeader .tabHeader
{font-size:24px; {font-size:24px;
color:#ffb400; color:#ffb400;

View File

@ -38,7 +38,7 @@ ItfFileUpload.prototype.upload = function() {
ItfFileUpload.prototype.showProgress = function() { ItfFileUpload.prototype.showProgress = function() {
this.$elem.find(".fileProgress").show(); this.Q.$elem.find(".fileProgress").show();
}; };
ItfFileUpload.prototype.doProgress = function(progress) { ItfFileUpload.prototype.doProgress = function(progress) {
@ -57,6 +57,7 @@ ItfFileUpload.prototype.getLi = function() {
ItfUploadQueue = function(options, $elem) { ItfUploadQueue = function(options, $elem) {
var that = this; var that = this;
this.options = options;
this.files = []; this.files = [];
this.isUploading = false; this.isUploading = false;
this.len = function() { this.len = function() {
@ -81,6 +82,7 @@ ItfUploadQueue.prototype.getData = function(f) {
return { return {
'name': f.name, 'name': f.name,
'id': that.options.id 'id': that.options.id
//FIXME: add 'type'
} }
}; };
@ -95,9 +97,10 @@ $.fn.uploadQueue = function(options) {
'id': '0', 'id': '0',
'addURL': '/add' 'addURL': '/add'
}, options, dataOptions); }, options, dataOptions);
//console.log("o", o);
var Q = new ItfUploadQueue(o, that); var Q = new ItfUploadQueue(o, that);
var $fileInput = $(this).find('input[type=file]'); //If there are any <input type=file> elements with the file drop container, bind to their change event. var $fileInput = $(this).find('input[type=file]'); //If there are any <input type=file> elements with the file drop container, bind to their change event.
if ($fileInput.length > 0) { if ($fileInput.length > 0) {
$fileInput.change(function() { $fileInput.change(function() {

View File

@ -0,0 +1,20 @@
{% load comments i18n %}
<form action="{% comment_form_target %}" method="post">{% csrf_token %}
{% if next %}<div><input type="hidden" name="next" value="{{ next }}" /></div>{% endif %}
{% for field in form %}
{% if field.is_hidden %}
<div>{{ field }}</div>
{% else %}
{% if field.errors %}{{ field.errors }}{% endif %}
<p
{% if field.errors %} class="error"{% endif %}
{% ifequal field.name "honeypot" %} style="display:none;"{% endifequal %}>
{{ field.label_tag }} {{ field }}
</p>
{% endif %}
{% endfor %}
<p class="submit">
<input type="submit" name="post" class="submit-post" value="{% trans "Post" %}" />
<input type="submit" name="preview" class="submit-preview" value="{% trans "Preview" %}" />
</p>
</form>

View File

@ -0,0 +1,10 @@
<dl id="comments">
{% for comment in comment_list %}
<dt id="c{{ comment.id }}">
{{ comment.submit_date }} - {{ comment.name }}
</dt>
<dd>
<p>{{ comment.comment }}</p>
</dd>
{% endfor %}
</dl>

View File

@ -0,0 +1,8 @@
{% extends "comments/base.html" %}
{% load i18n %}
{% block title %}{% trans "Thanks for commenting" %}.{% endblock %}
{% block content %}
<h1>{% trans "Thank you for your comment" %}.</h1>
{% endblock %}

View File

@ -0,0 +1,36 @@
{% extends "comments/base.html" %}
{% load i18n %}
{% block title %}{% trans "Preview your comment" %}{% endblock %}
{% block content %}
{% load comments %}
<form action="{% comment_form_target %}" method="post">{% csrf_token %}
{% if next %}<div><input type="hidden" name="next" value="{{ next }}" /></div>{% endif %}
{% if form.errors %}
<h1>{% blocktrans count form.errors|length as counter %}Please correct the error below{% plural %}Please correct the errors below{% endblocktrans %}</h1>
{% else %}
<h1>{% trans "Preview your comment" %}</h1>
<blockquote>{{ comment|linebreaks }}</blockquote>
<p>
{% trans "and" %} <input type="submit" name="submit" class="submit-post" value="{% trans "Post your comment" %}" id="submit" /> {% trans "or make changes" %}:
</p>
{% endif %}
{% for field in form %}
{% if field.is_hidden %}
<div>{{ field }}</div>
{% else %}
{% if field.errors %}{{ field.errors }}{% endif %}
<p
{% if field.errors %} class="error"{% endif %}
{% ifequal field.name "honeypot" %} style="display:none;"{% endifequal %}>
{{ field.label_tag }} {{ field }}
</p>
{% endif %}
{% endfor %}
<p class="submit">
<input type="submit" name="submit" class="submit-post" value="{% trans "Post" %}" />
<input type="submit" name="preview" class="submit-preview" value="{% trans "Preview" %}" />
</p>
</form>
{% endblock %}

View File

@ -202,6 +202,32 @@
<div id="notes" class="tab_content"> <div id="notes" class="tab_content">
{% load comments %}
<div id="comments">
{% get_comment_count for obj as comment_count %}
{% if comment_count %}
<H4 class="center">{{ comment_count }} comment{{ comment_count|pluralize }}</H4>
{% endif %}
<div id="comment-list">
{% render_comment_list for obj %}
</div>
{% if obj.allow_comments and user.is_authenticated %}
<H4 class="center">your comment</H4>
<div id="comment-form">
{% render_comment_form for obj %}
</div>
{% else %}
{% if user.is_authenticated %}
<h4 class="center"> Comments are disabled for this article</h4>
{% else %}
<h4 class="center"> </h4>
{% endif %}
{% endif %}
</div>
{% if awards %} {% if awards %}
<div id="" class="itfFormDisplay"> <div id="" class="itfFormDisplay">
<span class="orange">Awards: </span> <span class="orange">Awards: </span>

View File

@ -197,6 +197,37 @@ $(function(){
</div> </div>
</div> </div>
{% endfor %} {% endfor %}
<div class="inlineWrapper">
<h3 class="orange">Multimedia</h3>
<div class="inlineHidden">
{% if add %}
<div class="formset_help_text">
Please save before you can add media galleries to this.
</div>
{% else %}
<div class="formset_help_text">
{% if not galleries.objects.all %}
You haven't added any galleries yet.
{% else %}
Click an existing gallery to edit:
{% endif %}
</div>
{% if galleries %}
<div class="galleryFormWrapper">
{% for gallery in galleries.objects.all %}
<div class="galleryFormList">
<a href="{{ gallery.get_edit_url }}" />{{ gallery.title }}</a>
</div>
{% endfor %}
</div>
{% endif %}
<a href="/mediagallery/add/{{ content_type_id }}/{{ object.id }}" class="addGalleryBtn" target="_blank">
+ Add New Media Gallery
</a>
{% endif %} {% comment %} close if not edit conditional {% endcomment %}
</div>
</div>
<br /> <br />
<input type="submit" value="Submit" /> <input type="submit" value="Submit" />
</form> </form>

View File

@ -0,0 +1,344 @@
<link rel="stylesheet" href="/static/css/modules/tabsinnerright.css" type="text/css" />
<ul class="tabsInnerRight">
<li><a href="#about">About</a></li>
<li><a href="#connections">Productions</a></li>
<li><a href="#plays">Plays &amp; more</a></li>
<li><a href="#gallery">Gallery</a></li>
<li><a href="#resources">Resources</a></li>
<li><a href="#notes">Notes</a></li>
</ul>
<div id="about" class="tab_content">
<h3 class="borderYellow paddingBottom">GROUP NAME</h3>
<div><strong>Based in: </strong>Mumbai, Delhi</div>
<div><strong>Founded: </strong>Year</div>
<div class="borderYellow"><strong>Languages we work in: </strong>Hindi, Bengali
<br /><br />
</div>
<br />
<div>
<p>Some copy here that is a synopsis in a paragraph. Some copy here that is a synopsis in a paragraph.
Some copy here that is a synopsis in a paragraph. Some copy here that is a synopsis in a paragraph.</p>
</div>
<p> +91 (22) 12345678</p>
<div><a href="">www.website.com</a></div>
<div class="borderYellow">
<a href="">Contact</a>
<br /><br />
</div>
<br />
<div class="borderYellow">
<h5 class="orangeInnerRight">Awards</h5>
<div>Name of award, year, link</div>
<div>Name of award, year, link</div>
<div>Name of award, year, link</div>
<div>Name of award, year, link</div>
<br />
</div>
<br />
<h5 class="orangeInnerRight">More about us</h5>
<a href="">Link to article</a>
<p>One line desc</p>
<a href="">Link to article</a>
<p>One line desc</p>
<a href="">Link to article</a>
<p>One line desc</p>
</div> <!-- end about -->
<div id="connections" class="tab_content">
<h5 class="orangeInnerRight">Members</h5>
<br />
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<a href="">Name of Person</a>
<div>Occupation/one-line desc</div>
<div>Relationship to group (eg: admin)</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<a href="">Name of Person</a>
<div>Occupation/one-line desc</div>
<div>Relationship to group (eg: fan of)</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<a href="">Name of Person</a>
<div>Occupation/one-line desc</div>
<div>Relationship to group (eg: member of)</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<a href="">Name of Person</a>
<div>Occupation/one-line desc</div>
<div>Relationship to group</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<br />
<a href="" class="toggleLink rightFloat">More>></a>
<div class="clear"></div>
<h5 class="orangeInnerRight">Worked with</h5>
<br />
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<a href="">Name of Group</a>
<div>Location</div>
<div>Relationship to Group (e.g. admin)</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<a href="">Name of Person</a>
<div>Occupation/one-line desc</div>
<div>Location</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<a href="">Name of Person</a>
<div>Occupation/one-line desc</div>
<div>Location</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<a href="">Name of Person</a>
<div>Location</div>
<div>Relationship to Group (e.g. admin)</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<a href="" class="toggleLink rightFloat">More>></a>
<div class="clear"></div>
<br />
</div> <!-- end connections -->
<div id="plays" class="tab_content">
<h3 class="orange">Productions</h3>
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<div class="orangeInnerRight">Name of Production (2010) <span style="color: red;">ICON</span> </div>
<div>Group: Group Name</div>
<div><em>Title Credits: </em></div>
<div>No. of shows: 50</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<div class="orangeInnerRight">Name of Production (2010) <span style="color: red;">ICON</span> </div>
<div>Group: Group Name</div>
<div><em>Title Credits: </em></div>
<div>No. of shows: 50</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<div class="orangeInnerRight">Name of Production (2010) <span style="color: red;">ICON</span> </div>
<div>Group: Group Name</div>
<div><em>Title Credits: </em></div>
<div>No. of shows: 50</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<div class="orangeInnerRight">Name of Production (2010) <span style="color: red;">ICON</span> </div>
<div>Group: Group Name</div>
<div><em>Title Credits: </em></div>
<div>No. of shows: 50</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<a href="" class="toggleLink rightFloat">More>></a>
<div class="clear"></div>
<h3 class="orange">Workshops</h3>
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<div class="orangeInnerRight">Name of workshops</div>
<div><em>One line desc</em></div>
<div>Current</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<div class="orangeInnerRight">Name of workshops</div>
<div><em>One line desc</em></div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<br />
<a href="" class="rightFloat">More>></a>
<div class="clear"></div>
<h3 class="orange">More</h3>
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<div class="orangeInnerRight">Name of activity (talk, whatever)</div>
<div><em>One line desc</em></div>
<div>Current</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<div class="orangeInnerRight">Name of activity (talk, whatever)</div>
<div><em>One line desc</em></div>
<div>Current</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
</div> <!-- end plays -->
<div id="gallery" class="tab_content">
<h3 class="orange">Kindly refer to Gallery tab in Script Archive</h3>
</div> <!-- end gallery -->
<div id="resources" class="tab_content">
<h3 class="orange">Kindly refer to Resources tab in Script Archive</h3>
</div> <!-- end resources -->
<div id="notes" class="tab_content">
<h3 class="orange">Kindly refer to notes tab in Script Archive</h3>
</div> <!-- end notes -->
<script type="text/javascript" src="/static/js/innertabs.js"></script>

View File

@ -0,0 +1,247 @@
<link rel="stylesheet" href="/static/css/modules/tabsinnerright.css" type="text/css" />
<ul class="tabsInnerRight">
<li><a href="#about">About</a></li>
<li><a href="#scripts">Scripts</a></li>
<li><a href="#connections">Connections</a></li>
<li><a href="#productions">Productions</a></li>
<li><a href="#gallery">Gallery</a></li>
<li><a href="#resources">Resources</a></li>
</ul>
<div id="about" class="tab_content">
<h3>Name of Individual</h3>
<p>Director, Light Designer, Actor</p>
<div>
bio bio bio bio bio bio bio bio bio <br />
bio bio bio bio bio bio bio bio bio
</div>
<br />
<div>Based in: (City)</div>
<div>Languages I work in: Hindi, Malayalam</div>
<div>DOB: </div>
<div>Gender: </div>
<a href="" class="toggleLink">Contact</a>
<div class="toggleDiv">Some text</div>
<div class="borderYellow"><br /></div>
<br />
<div class="borderYellow">
<h5 class="orangeInnerRight">Training</h5>
<div>Area of Training, <a href="">Name of Conductor</a>, <a href="">Name of Theatre Group</a>, Location, Year</div>
<div>Area of Training, <a href="">Name of Conductor</a>, <a href="">Name of Theatre Group</a>, Location, Year</div>
<div>Area of Training, <a href="">Name of Conductor</a>, <a href="">Name of Theatre Group</a>, Location, Year</div>
<div>Area of Training, <a href="">Name of Conductor</a>, <a href="">Name of Theatre Group</a>, Location, Year</div>
<br />
</div>
<br />
<div class="borderYellow">
<h5 class="orangeInnerRight">Awards</h5>
<div>Name of award, year, link</div>
<div>Name of award, year, link</div>
<div>Name of award, year, link</div>
<br />
</div>
<br />
<div>
<h5 class="orangeInnerRight">More</h5>
<a href="">Link to article 1</a>
<div>One line description</div>
<a href="">Link to article 2</a>
<div>One line description</div>
<a href="">Link to article 1</a>
<div>One line description</div>
</div>
</div> <!-- end about -->
<div id="scripts" class="tab_content">
<div>Help text - to send them to script archive</div>
<br />
<a href="toggleLink">Title</a>
<div>One line description. <span class="toggleDiv">Extra information goes here</span></div>
<br />
<a href="toggleLink">Title</a>
<div>One line description. <span class="toggleDiv">Extra information goes here</span></div>
<br />
<a href="toggleLink">Title</a>
<div>One line description. <span class="toggleDiv">Extra information goes here</span></div>
<br />
</div> <!-- end scripts -->
<div id="connections" class="tab_content">
<!-- <p><a href="" class="toggleLink">A V Gopalakrishnan</a> Theatre Enthusiast, Mumbai</p>-->
<h5 class="orangeInnerRight">Member of</h5>
<br />
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<a href="">Name of Group</a>
<div>Location</div>
<div>Relationship to Group</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<a href="">Name of Group</a>
<div>Location</div>
<div>Relationship to Group</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<a href="">Name of Group</a>
<div>Location</div>
<div>Relationship to Group</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<a href="" class="toggleLink rightFloat">More>></a>
<div class="clear"></div>
<h5 class="orangeInnerRight">Worked with</h5>
<br />
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<a href="">Name of Person</a>
<div>Occupation/one-line desc</div>
<div>Location</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<a href="">Name of Person</a>
<div>Occupation/one-line desc</div>
<div>Location</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<a href="">Name of Person</a>
<div>Occupation/one-line desc</div>
<div>Location</div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<a href="" class="toggleLink rightFloat">More>></a>
<div class="clear"></div>
<br />
</div> <!-- end connections -->
<div id="productions" class="tab_content">
<h3 class="orange">Productions</h3>
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<a href="">Name of Production (2010)</a>
<div>Group: Group Name</div>
<div><em>Years</em></div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<a href="">Name of Production (2010)</a>
<div>Group: Group Name</div>
<div><em>Years</em></div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
<div class="productionEach">
<div class="productionEachImg">
<img src="" alt="/static/images/150x150.jpg" />
</div>
<div class="productionEachText">
<a href="">Name of Production (2010)</a>
<div>Group: Group Name</div>
<div><em>Years</em></div>
</div>
<div class="clear"></div>
</div> <!-- end production each -->
</div> <!-- end productions -->
<div id="gallery" class="tab_content">
<h3 class="orange">Kindly refer to Gallery tab in Script Archive</h3>
</div>
<div id="resources" class="tab_content">
<h3 class="orange">Kindly refer to Resources tab in Script Archive</h3>
</div>
<script type="text/javascript" src="/static/js/innertabs.js"></script>

View File

@ -1,5 +1,12 @@
<link rel="stylesheet" href="/static/css/modules/tabsinnerright.css" type="text/css" /> <link rel="stylesheet" href="/static/css/modules/tabsinnerright.css" type="text/css" />
<style type="text/css">
.productionEachImg {
float: right;
}
</style>
<script> <script>
$(function() { $(function() {
$('.toggleLink').click(function(e) { $('.toggleLink').click(function(e) {
@ -21,20 +28,21 @@ $(function() {
<div id="about" class="tab_content"> <div id="about" class="tab_content">
<h3>Script Name</h3> <h3>Script Name</h3>
<p class="noMargin"><strong>Writer:</strong> Names of writers</p> <div><strong>Writer:</strong> Names of writers</div>
<p class="noMargin"><strong>Language(s):</strong> Hindi, Bengali</p> <div><strong>Language(s):</strong> Hindi, Bengali</div>
<p><strong>Approximate duration:</strong> </p> <div><strong>Approximate duration:</strong> </div>
<p><strong>No of characters:</strong> 20; Female: 5, Male: 15</p> <div><strong>No of characters:</strong> 20 - Female: 5, Male: 15</div>
<br />
<div> <div>
<p>Some copy here that is a synopsis in a paragraph. Some copy here that is a synopsis in a paragraph. Some copy here that is a synopsis in a paragraph. Some copy here that is a synopsis in a paragraph.
Some copy here that is a synopsis in a paragraph. Some copy here that is a synopsis in a paragraph.</p> Some copy here that is a synopsis in a paragraph. Some copy here that is a synopsis in a paragraph.
</div> </div>
<br> <br />
<span class="orange">Licenses:</span> <h5 class="orangeInnerRight">Licenses:</h5>
<p>This script may be accessed <p>This script may be accessed
under the following Creative Commons Licenses:</p> under the following Creative Commons Licenses:</p>
@ -71,11 +79,18 @@ $(function() {
</div> </div>
<div class="productionEachText"> <div class="productionEachText">
<p class="orange">Name of Production (2010)</p> <a href="" class="tooltipLink">Name of Production (2010)
<p>Group: Group Name</p> <span class="tooltip">
<p>Some copy here</p> <div>
<p>No. of shows: 50</p> <strong>Some Title</strong><br />
<p>Current(icon) or Upcoming (icon)<span style="color:red">Should we have this just after the title? Karen</span></p> Some text goes here
</div>
</span>
</a>
<div>Group: Group Name</div>
<div>Some copy here</div>
<div>No. of shows: 50</div>
<p>Current(icon) or Upcoming (icon)<span style="color:red">Please provide icon- I'll place it after title - Karen</span></p>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
@ -87,10 +102,10 @@ $(function() {
</div> </div>
<div class="productionEachText"> <div class="productionEachText">
<p class="orange">Name of Production (2010)</p> <a href="">Name of Production (2010)</a>
<p>Group: Group Name</p> <div>Group: Group Name</div>
<p>Some copy here</p> <div>Some copy here</div>
<p>No. of shows: 50</p> <div>No. of shows: 50</div>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
</div> <!-- end production each --> </div> <!-- end production each -->
@ -101,10 +116,10 @@ $(function() {
</div> </div>
<div class="productionEachText"> <div class="productionEachText">
<p class="orange">Name of Production (2010)</p> <a href="">Name of Production (2010)</a>
<p>Group: Group Name</p> <div>Group: Group Name</div>
<p>Some copy here</p> <div>Some copy here</div>
<p>No. of shows: 50</p> <div>No. of shows: 50</div>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
</div> <!-- end production each --> </div> <!-- end production each -->
@ -119,11 +134,11 @@ $(function() {
</div> </div>
<div class="productionEachText"> <div class="productionEachText">
<p class="orange">Name of Production (2010)</p> <a href="">Name of Production (2010)</a>
<p>Group: Group Name</p> <div>Group: Group Name</div>
<p>Some copy here</p> <div>Some copy here</div>
<p>No. of shows: 50</p> <div>No. of shows: 50</div>
<p>Current(icon) or Upcoming (icon)/p> <div>Current(icon) or Upcoming (icon)</div>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
</div> <!-- end production each --> </div> <!-- end production each -->
@ -134,11 +149,11 @@ $(function() {
</div> </div>
<div class="productionEachText"> <div class="productionEachText">
<p class="orange">Name of Production (2010)</p> <a href="">Name of Production (2010)</a>
<p>Group: Group Name</p> <div>Group: Group Name</div>
<p>Some copy here</p> <div>Some copy here</div>
<p>No. of shows: 50</p> <div>No. of shows: 50</div>
<p>Current(icon) or Upcoming (icon)/p> <div>Current(icon) or Upcoming (icon)</div>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
@ -155,9 +170,10 @@ $(function() {
<div class="productionEachText"> <div class="productionEachText">
<a href="">Name of Person</a> <a href="">Name of Person</a>
<p>Writer: Some script</p> <div>Writer: Some script</div>
<p>Translation of script by playwright</p> <div>Translation of script by playwright</div>
<p>From language to language</p> <div>From language to language</div>
<a href="" class="toggleLink orange">Synopsis</a> <a href="" class="toggleLink orange">Synopsis</a>
<div class="toggleDiv">Lorem ipsum</div> <div class="toggleDiv">Lorem ipsum</div>
</div> </div>
@ -172,9 +188,10 @@ $(function() {
<div class="productionEachText"> <div class="productionEachText">
<a href="">Name of Person</a> <a href="">Name of Person</a>
<p>Writer: Some script</p> <div>Writer: Some script</div>
<p>Translation of script by playwright</p> <div>Translation of script by playwright</div>
<p>From language to language</p> <div>From language to language</div>
<a href="" class="toggleLink orange">Synopsis</a> <a href="" class="toggleLink orange">Synopsis</a>
<div class="toggleDiv">Lorem ipsum</div> <div class="toggleDiv">Lorem ipsum</div>
</div> </div>
@ -188,11 +205,11 @@ $(function() {
</div> </div>
<div class="productionEachText"> <div class="productionEachText">
<a href="" class="toggleLink">Name of Person</a> <a href="">Name of Person</a>
<div>Writer: Some script</div>
<p>Writer: Some script</p> <div>Translation of script by playwright</div>
<p>Translation of script by playwright</p> <div>From language to language</div>
<p>From language to language</p>
<a href="" class="toggleLink orange">Synopsis</a> <a href="" class="toggleLink orange">Synopsis</a>
<div class="toggleDiv">Lorem ipsum</div> <div class="toggleDiv">Lorem ipsum</div>
</div> </div>
@ -243,9 +260,9 @@ $(function() {
<div class="resourcesBlock"> <div class="resourcesBlock">
<div class="resourcesEach"> <div class="resourcesEach">
<p class="orange">Title</p> <div class="orangeInnerRight">Title</div>
<p>One line description</p> <div>One line description</div>
<p><a href="" target="_blank">Url</a></p> <div><a href="" target="_blank">Url</a></div>
<a href="">Download</a> <a href="">Download</a>
</div> </div>
@ -257,9 +274,9 @@ $(function() {
<div class="resourcesBlock"> <div class="resourcesBlock">
<div class="resourcesEach"> <div class="resourcesEach">
<p class="orange">Title</p> <div class="orangeInnerRight">Title</div>
<p>One line description</p> <div>One line description</div>
<p><a href="" target="_blank">Url</a></p> <div><a href="" target="_blank">Url</a></div>
<a href="">Download</a> <a href="">Download</a>
</div> </div>
@ -271,9 +288,9 @@ $(function() {
<div class="resourcesBlock"> <div class="resourcesBlock">
<div class="resourcesEach"> <div class="resourcesEach">
<p class="orange">Title</p> <div class="orangeInnerRight">Title</div>
<p>One line description</p> <div>One line description</div>
<p><a href="" target="_blank">Url</a></p> <div><a href="" target="_blank">Url</a></div>
<a href="">Download</a> <a href="">Download</a>
</div> </div>
@ -285,9 +302,9 @@ $(function() {
<div class="resourcesBlock"> <div class="resourcesBlock">
<div class="resourcesEach"> <div class="resourcesEach">
<p class="orange">Title</p> <div class="orangeInnerRight">Title</div>
<p>One line description</p> <div>One line description</div>
<p><a href="" target="_blank">Url</a></p> <div><a href="" target="_blank">Url</a></div>
<a href="">Download</a> <a href="">Download</a>
</div> </div>

View File

@ -24,7 +24,8 @@ urlpatterns = patterns('',
(r'^contact/$', 'frontpage.views.contact'), (r'^contact/$', 'frontpage.views.contact'),
(r'^emailer/issue/(?P<issue_no>\d+)/$', 'emailer.views.show_emailer'), (r'^emailer/issue/(?P<issue_no>\d+)/$', 'emailer.views.show_emailer'),
# ('m/(?P<module_slug>.*)', 'insidepages.views.main'), # ('m/(?P<module_slug>.*)', 'insidepages.views.main'),
(r'^comments/', include('django.contrib.comments.urls')), #(r'^comments/', include('django.contrib.comments.urls')),
url(r'^comments/', include('django_comments_xtd.urls')),
# (r'^ckeditor/', include('ckeditor.urls')), # (r'^ckeditor/', include('ckeditor.urls')),
(r'^robots.txt$', direct_to_template, {'template': 'robots.txt', 'mimetype': 'text/plain'}), (r'^robots.txt$', direct_to_template, {'template': 'robots.txt', 'mimetype': 'text/plain'}),
# (r'^erang/', include('erang_organised.urls')), # (r'^erang/', include('erang_organised.urls')),
@ -45,14 +46,15 @@ urlpatterns = patterns('',
(r'^test_template/(?P<template_name>[a-zA-Z].*?)$', 'insidepages.views.test_template'), (r'^test_template/(?P<template_name>[a-zA-Z].*?)$', 'insidepages.views.test_template'),
(r'edit_profile', 'itfprofiles.views.edit_profile'), (r'edit_profile', 'itfprofiles.views.edit_profile'),
(r'^mediagallery/upload', 'mediagallery.views.edit_gallery'), # (r'^mediagallery/upload', 'mediagallery.views.edit_gallery'),
(r'^autocomplete/(?P<ctype_id>\d+)', 'app.views.autocomplete'), (r'^autocomplete/(?P<ctype_id>\d+)', 'app.views.autocomplete'),
(r'^popup_form/(?P<ctype_id>\d+)', 'app.views.popup_form'), (r'^popup_form/(?P<ctype_id>\d+)', 'app.views.popup_form'),
# (r'^autocompletes/itfprofiles/$', 'itfprofiles.views.autocomplete'), # (r'^autocompletes/itfprofiles/$', 'itfprofiles.views.autocomplete'),
(r'^popup/person', 'itfprofiles.views.personpopup'), (r'^popup/theatregroup', 'itfprofiles.views.grouppopup'), (r'^popup/person', 'itfprofiles.views.personpopup'), (r'^popup/theatregroup', 'itfprofiles.views.grouppopup'),
# (r'i/', include('itfcore.urls')), # (r'i/', include('itfcore.urls')),
(r'^admin/doc/', include('django.contrib.admindocs.urls')), (r'^admin/doc/', include('django.contrib.admindocs.urls')),
(r'^search/', include('haystack.urls')), (r'^search/', include('haystack.urls')),
(r'^mediagallery/', include('mediagallery.urls')),
(r'^markitup/', include('markitup.urls')), (r'^markitup/', include('markitup.urls')),
(r'googlehostedservice.html', 'itfcore.views.googlehosted'), (r'googlehostedservice.html', 'itfcore.views.googlehosted'),

View File

@ -0,0 +1,2 @@
ALTER TABLE `itfprofiles_theatregroup`
ADD `allow_comments` bool;

View File

@ -22,5 +22,6 @@ django-markitup
twitter twitter
-e git+git://github.com/pennersr/django-allauth.git#egg=django-allauth -e git+git://github.com/pennersr/django-allauth.git#egg=django-allauth
-e git+git://github.com/pythonforfacebook/facebook-sdk.git#egg=facebook-sdk -e git+git://github.com/pythonforfacebook/facebook-sdk.git#egg=facebook-sdk
django-comments-xtd
django-avatar django-avatar
imagestore imagestore