Exemple #1
0
    def initialize(self):
        self.clean_data()

        # set up users
        self.u1 = User.objects.create_user('michuk',
                                           '*****@*****.**',
                                           'secret')
        self.u1.save()

        # set up film
        self.film = Film()
        self.film.id = 233
        self.film.title = "Battlefield Earth II"
        self.film.type = Object.TYPE_FILM
        self.film.permalink = "battlefirld-earth-ii"
        self.film.release_year = 2010
        self.film.save(saved_by=2)
        self.film.save_tags("tag1", LANG="pl", saved_by=2)

        # set up film
        self.film1 = Film()
        self.film1.id = 236
        self.film1.title = "Battlefield Earth III"
        self.film1.type = Object.TYPE_FILM
        self.film1.permalink = "battlefirld-earth-iii"
        self.film1.release_year = 2011
        self.film1.save(saved_by=2)
        self.film1.save_tags("tag2", LANG="pl", saved_by=2)

        # set up activities
        sr = UserActivity(user=self.u1,
                          film=self.film,
                          object=self.film,
                          content="Lorem",
                          activity_type=UserActivity.TYPE_SHORT_REVIEW,
                          featured=True)
        sr.save()

        sr1 = UserActivity()
        sr1.user = self.u1
        sr1.film = self.film1
        sr1.object = self.film1
        sr1.content = "ipsum"
        sr1.activity_type = UserActivity.TYPE_SHORT_REVIEW
        sr1.featured = True
        sr1.save()

        rating1 = UserActivity()
        rating1.activity_type = UserActivity.TYPE_RATING
        rating1.user = self.u1
        rating1.object = self.film
        rating1.featured = True
        rating1.save()

        rating2 = UserActivity()
        rating2.activity_type = UserActivity.TYPE_RATING
        rating2.user = self.u1
        rating2.object = self.film
        rating2.featured = True
        rating2.save()
Exemple #2
0
    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()
Exemple #3
0
    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()
Exemple #4
0
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
Exemple #5
0
    def initialize(self):
        self.clean_data()

        # set up users
        self.u1= User.objects.create_user('michuk', '*****@*****.**', 'secret')
        self.u1.save()

        # set up film
        self.film = Film()
        self.film.id = 233
        self.film.title = "Battlefield Earth II"
        self.film.type = Object.TYPE_FILM
        self.film.permalink = "battlefirld-earth-ii"
        self.film.release_year = 2010
        self.film.save(saved_by=2)
        self.film.save_tags("tag1", LANG="pl", saved_by=2)

        # set up film
        self.film1 = Film()
        self.film1.id = 236
        self.film1.title = "Battlefield Earth III"
        self.film1.type = Object.TYPE_FILM
        self.film1.permalink = "battlefirld-earth-iii"
        self.film1.release_year = 2011
        self.film1.save(saved_by=2)
        self.film1.save_tags("tag2", LANG="pl", saved_by=2)

        # set up activities
        sr = UserActivity(user=self.u1, film=self.film, object=self.film,
                content="Lorem", activity_type=UserActivity.TYPE_SHORT_REVIEW,
                featured=True)
        sr.save()

        sr1 = UserActivity()
        sr1.user = self.u1
        sr1.film = self.film1
        sr1.object = self.film1
        sr1.content = "ipsum"
        sr1.activity_type = UserActivity.TYPE_SHORT_REVIEW
        sr1.featured = True
        sr1.save()

        rating1 = UserActivity()
        rating1.activity_type = UserActivity.TYPE_RATING
        rating1.user = self.u1
        rating1.object = self.film
        rating1.featured = True
        rating1.save()

        rating2 = UserActivity()
        rating2.activity_type = UserActivity.TYPE_RATING
        rating2.user = self.u1
        rating2.object = self.film
        rating2.featured = True
        rating2.save()
Exemple #6
0
 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()
Exemple #7
0
 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()
Exemple #8
0
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