From ab4e151f846a88fffb5285fe4cda6288f464e38d Mon Sep 17 00:00:00 2001 From: Sanjay B Date: Sat, 21 Sep 2013 13:19:35 +0530 Subject: [PATCH] add notes everywhere --- itf/app/models.py | 46 +++++++++++-------- itf/itfprofiles/views.py | 2 +- itf/scriptbank/models.py | 3 +- itf/templates/modules/events/event.html | 2 +- .../modules/itfprofiles/production.html | 2 +- itf/templates/modules/scriptbank/script.html | 34 +------------- 6 files changed, 33 insertions(+), 56 deletions(-) diff --git a/itf/app/models.py b/itf/app/models.py index 5c3b38c..dbd418c 100755 --- a/itf/app/models.py +++ b/itf/app/models.py @@ -24,7 +24,7 @@ def splitSearch(string): def get_real_ctype(module_name): for c in ContentType.objects.filter(model=module_name): try: - if c.model_class().is_itf_model == True: + if c.model_class() is not None: return c except: pass @@ -80,6 +80,7 @@ class ItfModel(models.Model): def add_note(self, user, text): + from itfprofiles.models import Note if self.user_has_perms(user): n = Note(user=user, text=text, content_object=self) n.save() @@ -113,7 +114,7 @@ class ItfModel(models.Model): # d['add_form'] = self.__class__.get_add_form() d['forms'] = self.__class__.get_forms() d['obj'] = self - d['content_type'] = ContentType.objects.filter(model=self.__class__._meta.module_name)[0] + d['content_type'] = self.get_content_type() try: edit_url = self.get_edit_url() d['edit_url'] = edit_url @@ -122,6 +123,11 @@ class ItfModel(models.Model): pass return d + def get_content_type(self): + for c in ContentType.objects.filter(model=self.__class__._meta.module_name): + if c.model_class() is not None: + return c + raise def get_gallery_image(self): from mediagallery.models import Photo @@ -246,34 +252,36 @@ class ItfModel(models.Model): Get the main image thumbnail for this object - checks if object has either a field or custom method called 'main_image', then checks for default_images on the ModelExtra for this model. ''' def get_main_image(self, size="142x150"): + if hasattr(self, 'main_image'): - main_image_getter = self.main_image - if type(main_image_getter).__name__ == 'instancemethod': - imgfield = main_image_getter() - else: - imgfield = main_image_getter + main_image_getter = self.main_image + if type(main_image_getter).__name__ == 'instancemethod': + imgfield = main_image_getter() + else: + imgfield = main_image_getter else: imgfield = self.get_modelextra().default_image #FIXME!! - if imgfield is None or imgfield.name == '': + if imgfield is None or imgfield.name == '' and self.get_modelextra(): imgfield = self.get_modelextra().default_image if imgfield: - #try: - thumb = get_thumbnail(imgfield, size, crop="center").url - #except: - # print imgfield.url - # thumb = 'http://placehold.it/%s' % size + try: + thumb = get_thumbnail(imgfield, size, crop="center").url + except: + thumb = self.get_placeholder(size) + else: - thumb = 'http://placehold.it/%s' % size # Add default image for site + thumb = self.get_placeholder(size) # Add default image for site + return { - 'thumb': thumb + 'thumb': thumb } - ''' - def main_image(self): - return None - ''' + + def get_placeholder(self, size): + return 'http://placehold.it/%s' % size + ''' The templates for objects are stored following the convention templates/modules//.html diff --git a/itf/itfprofiles/views.py b/itf/itfprofiles/views.py index 018eea0..ca25a35 100644 --- a/itf/itfprofiles/views.py +++ b/itf/itfprofiles/views.py @@ -183,7 +183,7 @@ def contact_group(request): send_mail("Contact on theatreforum.in", message, frm, [to_email]) return HttpResponse("Your message has been sent, thanks.") - +@csrf_exempt 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) diff --git a/itf/scriptbank/models.py b/itf/scriptbank/models.py index 5721153..378dc70 100755 --- a/itf/scriptbank/models.py +++ b/itf/scriptbank/models.py @@ -4,7 +4,7 @@ from tagging.fields import TagField from django.core.paginator import Paginator, InvalidPage, EmptyPage from django.contrib.contenttypes import generic from app.models import ItfModel -from itfprofiles.models import TheatreGroup +from itfprofiles.models import TheatreGroup, Note from mediagallery.models import GalleryAlbum GENRES = ( @@ -47,6 +47,7 @@ class Script(ItfModel): theatre_group = models.ForeignKey(TheatreGroup, help_text="Theatre Group, if any") related_scripts = models.ManyToManyField("Script", through="ScriptScript", related_name='related_script') galleries = generic.GenericRelation(GalleryAlbum) + notes = generic.GenericRelation(Note) # add_form = 'ScriptForm' #Meta diff --git a/itf/templates/modules/events/event.html b/itf/templates/modules/events/event.html index 416ef3a..6dab660 100644 --- a/itf/templates/modules/events/event.html +++ b/itf/templates/modules/events/event.html @@ -167,7 +167,7 @@ $(function() {
-

Kindly refer to notes in script archive. But instead of Posted by Name, Date, Time, make it - date, time

+ {% include 'includes/notes.html' %}
diff --git a/itf/templates/modules/itfprofiles/production.html b/itf/templates/modules/itfprofiles/production.html index d362657..f5cf3a1 100644 --- a/itf/templates/modules/itfprofiles/production.html +++ b/itf/templates/modules/itfprofiles/production.html @@ -215,7 +215,7 @@ $(function() {
-

Kindly refer to notes in script archive. But instead of Posted by Name, Date, Time, make it - date, time

+ {% include 'includes/notes.html' %}
diff --git a/itf/templates/modules/scriptbank/script.html b/itf/templates/modules/scriptbank/script.html index 86a0d02..064ee03 100755 --- a/itf/templates/modules/scriptbank/script.html +++ b/itf/templates/modules/scriptbank/script.html @@ -181,39 +181,7 @@ $(function() {
- -
-

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, - quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit - esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis - dolore te feugait nulla facilisi.

- -
- -
-

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, - quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit - esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis - dolore te feugait nulla facilisi.

- -
- -
-

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, - quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit - esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis - dolore te feugait nulla facilisi.

- -
- -
-

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, - quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit - esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis - dolore te feugait nulla facilisi.

- -
- + {% include 'includes/notes.html' %}