add notes
This commit is contained in:
parent
2449ade7c0
commit
0d4aba4b4b
|
@ -78,7 +78,14 @@ class ItfModel(models.Model):
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def add_note(self, user, text):
|
||||||
|
if self.user_has_perms(user):
|
||||||
|
n = Note(user=user, text=text, content_object=self)
|
||||||
|
n.save()
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
#Should return the id for the object and the title to display in the left hand list
|
#Should return the id for the object and the title to display in the left hand list
|
||||||
def list_dict(self):
|
def list_dict(self):
|
||||||
|
@ -106,6 +113,7 @@ class ItfModel(models.Model):
|
||||||
# d['add_form'] = self.__class__.get_add_form()
|
# d['add_form'] = self.__class__.get_add_form()
|
||||||
d['forms'] = self.__class__.get_forms()
|
d['forms'] = self.__class__.get_forms()
|
||||||
d['obj'] = self
|
d['obj'] = self
|
||||||
|
d['content_type'] = ContentType.objects.filter(model=self.__class__._meta.module_name)[0]
|
||||||
try:
|
try:
|
||||||
edit_url = self.get_edit_url()
|
edit_url = self.get_edit_url()
|
||||||
d['edit_url'] = edit_url
|
d['edit_url'] = edit_url
|
||||||
|
|
|
@ -6,7 +6,7 @@ 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 itfprofiles.models import City, Location, Production, TheatreGroup, Person, BuzzItem
|
from itfprofiles.models import City, Location, Production, TheatreGroup, Person, BuzzItem, Note
|
||||||
from mediagallery.models import GalleryAlbum
|
from mediagallery.models import GalleryAlbum
|
||||||
|
|
||||||
|
|
||||||
|
@ -42,6 +42,7 @@ class Event(ItfModel):
|
||||||
production = models.ForeignKey(Production, blank=True, null=True, help_text="If this is a showing of a production...")
|
production = models.ForeignKey(Production, blank=True, null=True, help_text="If this is a showing of a production...")
|
||||||
buzzitems = generic.GenericRelation(BuzzItem)
|
buzzitems = generic.GenericRelation(BuzzItem)
|
||||||
galleries = generic.GenericRelation(GalleryAlbum)
|
galleries = generic.GenericRelation(GalleryAlbum)
|
||||||
|
notes = generic.GenericRelation(Note)
|
||||||
people = models.ManyToManyField(Person, blank=True, null=True, through="PersonEvent")
|
people = models.ManyToManyField(Person, blank=True, null=True, through="PersonEvent")
|
||||||
image = models.ImageField(upload_to='images/', blank=True, null=True)
|
image = models.ImageField(upload_to='images/', blank=True, null=True)
|
||||||
groups = models.ManyToManyField(TheatreGroup, blank=True, null=True, through="GroupEvent")
|
groups = models.ManyToManyField(TheatreGroup, blank=True, null=True, through="GroupEvent")
|
||||||
|
@ -49,6 +50,16 @@ class Event(ItfModel):
|
||||||
#Entities and Connections -
|
#Entities and Connections -
|
||||||
# connections = generic.GenericRelation("Connection")
|
# connections = generic.GenericRelation("Connection")
|
||||||
|
|
||||||
|
def user_has_perms(self, user):
|
||||||
|
if ItfModel.user_has_perms(self, user):
|
||||||
|
return True
|
||||||
|
for pe in self.personevent_set.filter(typ='organiser'):
|
||||||
|
if pe.person == user:
|
||||||
|
return True
|
||||||
|
for ge in self.groupevent_set.filter(typ='venue'):
|
||||||
|
if ge.user_has_perms(user):
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return "%s" % (self.title,)
|
return "%s" % (self.title,)
|
||||||
|
|
|
@ -195,6 +195,16 @@ class BuzzItem(ItfModel):
|
||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return self.title
|
return self.title
|
||||||
|
|
||||||
|
class Note(ItfModel):
|
||||||
|
user = models.ForeignKey(User)
|
||||||
|
text = models.TextField()
|
||||||
|
content_type = models.ForeignKey(ContentType)
|
||||||
|
object_id = models.PositiveIntegerField()
|
||||||
|
content_object = generic.GenericForeignKey('content_type', 'object_id')
|
||||||
|
|
||||||
|
def __unicode__(self):
|
||||||
|
return self.text
|
||||||
|
|
||||||
|
|
||||||
STATE_CHOICES= (
|
STATE_CHOICES= (
|
||||||
|
@ -322,7 +332,7 @@ class TheatreGroup(ItfModel):
|
||||||
awards = generic.GenericRelation("Award")
|
awards = generic.GenericRelation("Award")
|
||||||
buzzitems = generic.GenericRelation("BuzzItem")
|
buzzitems = generic.GenericRelation("BuzzItem")
|
||||||
galleries = generic.GenericRelation(GalleryAlbum)
|
galleries = generic.GenericRelation(GalleryAlbum)
|
||||||
|
notes = generic.GenericRelation("Note")
|
||||||
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")
|
||||||
|
@ -427,6 +437,7 @@ 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")
|
||||||
|
notes = generic.GenericRelation("Note")
|
||||||
galleries = generic.GenericRelation(GalleryAlbum)
|
galleries = generic.GenericRelation(GalleryAlbum)
|
||||||
#FIXME: add no of shows
|
#FIXME: add no of shows
|
||||||
|
|
||||||
|
|
|
@ -164,6 +164,8 @@ def contact_person(request):
|
||||||
|
|
||||||
|
|
||||||
def contact_group(request):
|
def contact_group(request):
|
||||||
|
if not request.user.is_authenticated():
|
||||||
|
return HttpResponse("You need to be logged in to send messages")
|
||||||
frm = request.user.email
|
frm = request.user.email
|
||||||
to_group = request.GET.get("to", None)
|
to_group = request.GET.get("to", None)
|
||||||
try:
|
try:
|
||||||
|
@ -182,3 +184,15 @@ def contact_group(request):
|
||||||
return HttpResponse("Your message has been sent, thanks.")
|
return HttpResponse("Your message has been sent, thanks.")
|
||||||
|
|
||||||
|
|
||||||
|
def add_note(request, content_type, object_id):
|
||||||
|
model_class = ContentType.objects.get(pk=content_type).model_class()
|
||||||
|
obj = model_class.objects.get(pk=object_id)
|
||||||
|
if not obj.user_has_perms(request.user):
|
||||||
|
return render_to_json_response({'error': 'You do not have permissions to add a note'})
|
||||||
|
note = request.POST.get("note", None)
|
||||||
|
if note:
|
||||||
|
obj.add_note(request.user, note)
|
||||||
|
return render_to_json_response({'success': 'Note added'})
|
||||||
|
else:
|
||||||
|
return render_to_json_response({'error': 'Empty note'})
|
||||||
|
|
||||||
|
|
|
@ -302,7 +302,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div id="notes" class="tab_content">
|
<div id="notes" class="tab_content">
|
||||||
<h3 class="orange">Kindly refer to notes tab in Script Archive</h3>
|
{% include 'includes/notes.html' %}
|
||||||
</div> <!-- end notes -->
|
</div> <!-- end notes -->
|
||||||
|
|
||||||
<script type="text/javascript" src="/static/js/innertabs.js"></script>
|
<script type="text/javascript" src="/static/js/innertabs.js"></script>
|
||||||
|
|
|
@ -63,6 +63,7 @@ urlpatterns = patterns('',
|
||||||
(r'^invitation/accept/(?P<invite_code>\w+)/','itfprofiles.views.invitation_accept'),
|
(r'^invitation/accept/(?P<invite_code>\w+)/','itfprofiles.views.invitation_accept'),
|
||||||
#(r'^invitation/add/$', 'itfprofiles.views.friend_add'),
|
#(r'^invitation/add/$', 'itfprofiles.views.friend_add'),
|
||||||
(r'^invitation/invite/$', 'itfprofiles.views.friend_invite'),
|
(r'^invitation/invite/$', 'itfprofiles.views.friend_invite'),
|
||||||
|
(r'^add_note/(?P<content_type>[0-9]*?)/(?P<object_id>[0-9]*?)$', 'itfprofiles.views.add_note'),
|
||||||
(r'^contact/person/$', 'itfprofiles.views.contact_person'),
|
(r'^contact/person/$', 'itfprofiles.views.contact_person'),
|
||||||
(r'^contact/group/$', 'itfprofiles.views.contact_group'),
|
(r'^contact/group/$', 'itfprofiles.views.contact_group'),
|
||||||
(r'^contact/event/$', 'events.views.contact_person'),
|
(r'^contact/event/$', 'events.views.contact_person'),
|
||||||
|
|
Loading…
Reference in New Issue
Block a user