def save_promise(self, data): form = NewPromiseForm(data) if form.is_valid(): new_promise = form.process(self.request) key = get_promise_key(self.request.user.profile.id) redis_connection.lpush(key, new_promise.id) # Posting to facebook if data.get('facebook_share') == 'on': post_data = social(new_promise, self.request.user.profile) msg = (u'I just created a promise on Promise.ly: ' u'{post_description}. Please support me! {link}') self.request.user.profile.wall_post( self.request, msg.format(**post_data)) # Logging stuff logger.log('promise', data={ 'creator_id': new_promise.creator.id, 'promise_id': new_promise.id, }) return new_promise
def get(self, request, promise_id, next_url=None): """ Adds a supporter, making sure not to duplicate. """ promise = Promise.objects.get(id=promise_id) supporter = Profile.objects.get(id=self.request.user.profile.id) if supporter != promise.creator and supporter not in promise.supporter.all(): promise.supporter.add(supporter) self.update_redis(promise.id) logger.log('support', data={'supporter_id': supporter.id, 'promise_id': promise.id}) # Posting to facebook post_data = { 'creator': promise.creator.name, 'link': promise.get_absolute_url()} msg = (u'I just supported {creator}\'s promise on Promise.ly! ' u'Give your support, too. {link}') self.request.user.profile.wall_post( self.request, msg.format(**post_data)) return HttpResponseRedirect(next_url or reverse('promise', args=[promise.slug]))
def create_profile(sender, instance, created, **kwargs): if created: from event.logging import logger Profile.objects.create(user=instance) logger.log('signup')