Ejemplo n.º 1
0
    def test_send_post_moderation_signal(self):
        """check if custom_approve_handler function was called when """
        """moderation_approve signal was send"""

        def custom_post_moderation_handler(sender, instance, status, **kwargs):
            # do some stuff with approved instance
            instance.description = 'Change description'
            instance.save()

        post_moderation.connect(custom_post_moderation_handler,
                                sender=UserProfile)

        post_moderation.send(sender=UserProfile, instance=self.profile,
                             status=MODERATION_STATUS_APPROVED)

        self.assertEqual(self.profile.description, 'Change description')
Ejemplo n.º 2
0
    def test_send_post_moderation_signal(self):
        """check if custom_approve_handler function was called when """ 
        """moderation_approve signal was send"""

        def custom_post_moderation_handler(sender, instance, status, **kwargs):
            # do some stuff with approved instance
            instance.description = 'Change description'
            instance.save()
        
        post_moderation.connect(custom_post_moderation_handler,
                                sender=UserProfile)
        
        post_moderation.send(sender=UserProfile, instance=self.profile,
                             status=MODERATION_STATUS_APPROVED)
        
        self.assertEqual(self.profile.description, 'Change description')
Ejemplo n.º 3
0
                                 HomeAdModeratedMessageEmail,
                                 HomeBuyerToVendorMessageEmail,
                                 HomeVendorToBuyerMessageEmail,
                                 HomeNewPotentialBuyerToVendorMessageEmail,
                                 HomeNewAdToBuyerMessageEmail)

geoad_new_interested_user.connect(receiver=partial(
    geoad_new_interested_user_callback,
    mail_class=HomeNewPotentialBuyerToVendorMessageEmail),
                                  weak=False)

geoad_new_relevant_ad_for_search.connect(receiver=partial(
    geoad_new_relevant_ad_for_search_callback,
    mail_class=HomeNewAdToBuyerMessageEmail),
                                         weak=False)

geoad_user_message.connect(receiver=partial(
    geoad_user_message_callback, mail_class=HomeBuyerToVendorMessageEmail),
                           weak=False)

geoad_vendor_message.connect(receiver=partial(
    geoad_vendor_message_callback, mail_class=HomeVendorToBuyerMessageEmail),
                             weak=False)

moderation_in_progress.connect(receiver=partial(
    ad_post_save_callback, mail_class=HomeAdModifiedMessageEmail),
                               weak=False)

post_moderation.connect(receiver=partial(
    ad_post_moderation_callback, mail_class=HomeAdModeratedMessageEmail),
                        weak=False)
Ejemplo n.º 4
0
def moderated_geoads_register(model_class):
    post_moderation.connect(post_moderation_abstract_handler, dispatch_uid="post_moderation_abstract_handler")
Ejemplo n.º 5
0
def moderated_geoads_register(model_class):
    post_moderation.connect(post_moderation_abstract_handler,
                            dispatch_uid="post_moderation_abstract_handler")
Ejemplo n.º 6
0
#-*- coding: utf-8 -*-
from functools import partial

from moderation.signals import post_moderation

from geoads.signals import (geoad_new_interested_user,
                            geoad_new_relevant_ad_for_search,
                            geoad_user_message, geoad_vendor_message)
from geoads.contrib.moderation.signals import moderation_in_progress
from geoads.contrib.notifications.models import (geoad_new_interested_user_callback, geoad_new_relevant_ad_for_search_callback,
                                                 geoad_user_message_callback, geoad_vendor_message_callback,
                                                 ad_post_save_callback, ad_post_moderation_callback)

from sanscom.utils.mails import (HomeAdModifiedMessageEmail, HomeAdModeratedMessageEmail,
                                 HomeBuyerToVendorMessageEmail, HomeVendorToBuyerMessageEmail,
                                 HomeNewPotentialBuyerToVendorMessageEmail, HomeNewAdToBuyerMessageEmail)


geoad_new_interested_user.connect(receiver=partial(geoad_new_interested_user_callback, mail_class=HomeNewPotentialBuyerToVendorMessageEmail), weak=False)

geoad_new_relevant_ad_for_search.connect(receiver=partial(geoad_new_relevant_ad_for_search_callback, mail_class=HomeNewAdToBuyerMessageEmail), weak=False)

geoad_user_message.connect(receiver=partial(geoad_user_message_callback, mail_class=HomeBuyerToVendorMessageEmail), weak=False)

geoad_vendor_message.connect(receiver=partial(geoad_vendor_message_callback, mail_class=HomeVendorToBuyerMessageEmail), weak=False)

moderation_in_progress.connect(receiver=partial(ad_post_save_callback, mail_class=HomeAdModifiedMessageEmail),
                               weak=False)

post_moderation.connect(receiver=partial(ad_post_moderation_callback, mail_class=HomeAdModeratedMessageEmail), weak=False)
Ejemplo n.º 7
0
    ad_post_save_handler(sender, instance, **kwargs)
    #
    #tip: ContentType.objects.get_for_model(instance)
    #tip: here we could get instance.filterset
    if status == 1:
        # send on twitter
        token = oauth.Token(key=settings.TWITTER_ACCESS_TOKEN_KEY,
                            secret=settings.TWITTER_ACCESS_TOKEN_SECRET)
        consumer = oauth.Consumer(settings.TWITTER_CONSUMER_KEY,
                                  settings.TWITTER_CONSUMER_SECRET)
        client = oauth.Client(consumer, token)
        ad = HomeForSaleAd.objects.get(id=instance.moderated_object.changed_object.id)
        habitation_type = ad.get_habitation_type_display()
        price = ad.price
        surface = int(ad.surface)
        rooms = int(ad.nb_of_rooms)
        status = u'#achetersanscom %s - %s€ - %sm² - %s pièces' % (habitation_type,
                                                price, surface, rooms)
        pnt = GEOSGeometry('SRID=%s;%s' % (ad.location.srid, ad.location.wkt))
        latitude = pnt.y
        longitude = pnt.x
        params = 'status=%s&lat=%s&long=%s&display_coordinates=true' % (urlencode(status), latitude, longitude)
        #print params
        if not settings.DEBUG and settings.TWITTER_NOTIFICATION:
            resp, content = client.request(
                'http://api.twitter.com/1/statuses/update.xml?%s' % (params),
                "POST"
            )

post_moderation.connect(post_moderation_abstract_handler, dispatch_uid="post_moderation_abstract_handler")