def save_activity(self, status=None, *args, **kwargs): """ Creates or updates an activity related to this article """ from film20.useractivity.models import UserActivity act = None # Checking if activity already exists for the given article, # if so update activity try: act = UserActivity.objects.get(post = self, user = self.user) # otherwise, create a new one except UserActivity.DoesNotExist: act = UserActivity() act.user = self.user act.activity_type = UserActivity.TYPE_POST act.post = self act.title = self.get_title() if self.lead: act.content = self.lead else: act.content = self.body rf = self.related_film.all() # special case: one film related with article - article is a review if len(rf) == 1: act.film_title = rf[0].get_title() act.film = rf[0] act.film_permalink = rf[0].permalink else: act.film = None act.film_title = None act.film_permalink = None act.username = self.user.username act.spoilers = self.spoilers act.status = self.status act.permalink = self.get_absolute_url() # legacy act.number_of_comments = self.number_of_comments if self.featured_note or self.is_published: act.featured = True else: act.featured = False if self.publish is not None: act.created_at = self.publish act.save()
def save_activity(self, status=None, *args, **kwargs): """ Creates or updates an activity related to this article """ from film20.useractivity.models import UserActivity act = None # Checking if activity already exists for the given article, # if so update activity try: act = UserActivity.objects.get(post=self, user=self.user) # otherwise, create a new one except UserActivity.DoesNotExist: act = UserActivity() act.user = self.user act.activity_type = UserActivity.TYPE_POST act.post = self act.title = self.get_title() if self.lead: act.content = self.lead else: act.content = self.body rf = self.related_film.all() # special case: one film related with article - article is a review if len(rf) == 1: act.film_title = rf[0].get_title() act.film = rf[0] act.film_permalink = rf[0].permalink else: act.film = None act.film_title = None act.film_permalink = None act.username = self.user.username act.spoilers = self.spoilers act.status = self.status act.permalink = self.get_absolute_url() # legacy if self.featured_note or self.is_published: act.featured = True else: act.featured = False if self.publish is not None: act.created_at = self.publish act.save()
def photo_post_save( sender, instance, created, *args, **kw ): # resize self image if created: image = Image.open( instance.image.path ) image.thumbnail( POSTER_DIMENSION, Image.ANTIALIAS ) if image.mode != "RGB": image = image.convert( "RGB" ) image.save( instance.image.path, "JPEG" ) if isinstance( instance.content_object, Film ) or \ isinstance( instance.content_object, Person ): # if accepted, save this photo as main if instance.moderation_status == ModeratedPhoto.STATUS_ACCEPTED: filename = "%s.jpg" % instance.content_object.permalink[:80] from film20.useractivity.models import UserActivity ua = UserActivity( user=instance.user, username=instance.user.username, activity_type = UserActivity.TYPE_POSTER, ) # in movie hires image is default ... if isinstance( instance.content_object, Film ): instance.content_object.hires_image.save( filename, instance.image ) ua.film=instance.content_object ua.film_title=instance.content_object.get_title() ua.film_permalink=instance.content_object.permalink ua.content = instance.content_object.hires_image else: instance.content_object.image.save( filename, instance.image ) # Save: # person name in object_title # person permalink in object_slug ua.person = instance.content_object ua.object_title = str( instance.content_object ) ua.object_slug = instance.content_object.permalink ua.content = instance.content_object.image ua.save() # if moderated send notification ... if instance.moderation_status != ModeratedPhoto.STATUS_UNKNOWN \ and instance.user != instance.moderation_status_by: if notification: notification.send( [ instance.user ], "photo_moderated", { "item": instance, "status": instance.moderation_status } ) else: raise NotImplementedError
def save_activity(self): """ Save new activity """ from film20.useractivity.models import UserActivity try: # Checking if activity already exists for given externallink, if so update activity act = UserActivity.objects.get(link=self, user=self.user) act.url = self.url act.url_kind = self.url_kind act.video_thumb = getattr(self, "video_thumb", None) act.title = self.get_title() act.content = getattr(self, "excerpt", None) act.film = getattr(self, "film", None) act.film_title = self.film.get_title() act.film_permalink = self.film.permalink act.status = self.status act.permalink = self.get_absolute_url() act.number_of_comments = self.number_of_comments act.save() except UserActivity.DoesNotExist: # Activity does not exist - create a new one act = UserActivity() act.user = self.user act.username = self.user.username act.activity_type = UserActivity.TYPE_LINK act.link = self act.url = self.url act.url_kind = self.url_kind act.video_thumb = getattr(self, "video_thumb", None) act.title = self.get_title() act.content = getattr(self, "excerpt", None) act.film = getattr(self, "film", None) act.film_title = self.film.get_title() act.film_permalink = self.film.permalink act.status = self.status act.permalink = self.get_absolute_url() act.number_of_comments = self.number_of_comments act.save()
def save_activity(self): """ Save new activity """ from film20.useractivity.models import UserActivity try: # Checking if activity already exists for given externallink, if so update activity act = UserActivity.objects.get(link=self, user=self.user) act.url = self.url act.url_kind = self.url_kind act.video_thumb = getattr(self, "video_thumb", None) act.title = self.get_title() act.content = getattr(self, "excerpt", None) act.film = getattr(self, "film", None) act.film_title = self.film.get_title() act.film_permalink = self.film.permalink act.status = self.status act.permalink = self.get_absolute_url() act.save() except UserActivity.DoesNotExist: # Activity does not exist - create a new one act = UserActivity() act.user = self.user act.username = self.user.username act.activity_type = UserActivity.TYPE_LINK act.link = self act.url = self.url act.url_kind = self.url_kind act.video_thumb = getattr(self, "video_thumb", None) act.title = self.get_title() act.content = getattr(self, "excerpt", None) act.film = getattr(self, "film", None) act.film_title = self.film.get_title() act.film_permalink = self.film.permalink act.status = self.status act.permalink = self.get_absolute_url() act.save()
def photo_post_save( sender, instance, created, *args, **kw ): # resize self image if created: image = Image.open( instance.image.path ) image.thumbnail( POSTER_DIMENSION, Image.ANTIALIAS ) if image.mode != "RGB": image = image.convert( "RGB" ) image.save( instance.image.path, "JPEG" ) if isinstance( instance.content_object, Film ) or \ isinstance( instance.content_object, Person ): # if accepted, save this photo as main if instance.moderation_status == ModeratedPhoto.STATUS_ACCEPTED: filename = "%s.jpg" % instance.content_object.permalink[:80] from film20.useractivity.models import UserActivity lang = getattr( instance, 'LANG', None if instance.in_all_languages else settings.LANGUAGE_CODE ) ua = UserActivity( user=instance.user, username=instance.user.username, activity_type = UserActivity.TYPE_POSTER, LANG = lang or settings.LANGUAGE_CODE, ) poster = Poster.objects.create( object=instance.content_object, image=instance.image, is_main=instance.is_main, LANG=lang ) # in movie hires image is default ... if isinstance( instance.content_object, Film ): #instance.content_object.hires_image.save( filename, instance.image ) ua.film=instance.content_object ua.film_title=instance.content_object.get_title() ua.film_permalink=instance.content_object.permalink ua.content = poster.image else: #instance.content_object.hires_image.save( filename, instance.image ) # Save: # person name in object_title # person permalink in object_slug ua.person = instance.content_object ua.object_title = str( instance.content_object ) ua.object_slug = instance.content_object.permalink ua.content = poster.image ua.save() # if moderated send notification ... if instance.moderation_status != ModeratedPhoto.STATUS_UNKNOWN \ and instance.user != instance.moderation_status_by: if notification: notification.send( [ instance.user ], "photo_moderated", { "item": instance, "status": instance.moderation_status } ) else: raise NotImplementedError