def invite_friends_for_event(request, key_id): from cgi import escape key_id = int(key_id, 10) event = get_object_or_404(Event, id=key_id) # This owuld be external link, but we want it to open inside the app. # event_show_url = "http://%s%s?invitation=1"%(request.META['HTTP_HOST'], event.get_facebook_url()) event_show_url = get_facebook_app_url(event.get_facebook_url()) + '?invitation=' + str(request.facebook.uid) content = """<fb:name uid="%s" firstnameonly="true" shownetwork="false"/> wants to let you know about Art of Living event: <a href="%s">%s</a>, <fb:req-choice url="%s" label="Check out this event"/> """ % (request.facebook.uid, event_show_url, event, event_show_url) invitation_content = escape(content, True) if request.GET.has_key('next'): next = request.GET['next'] else: next = "http://" + request.META['HTTP_HOST'] + event.get_facebook_url() + '?invitation=' + str(request.facebook.uid) # FIXME: Why next doesnt work correctly in real life? Do I need to encode it? return render_to_response(request, 'invite_for_event.html', {'content':invitation_content, 'event':event, 'next':escape(next), 'in_iframe' : True} )
def event_show(request, key_id): key_id = int(key_id, 10) if request.user.is_authenticated(): event = get_object_or_404(Event, id=key_id) fav = Favourite.all().filter('event =', event).filter('user ='******'invitation'): invitation = request.GET['invitation'] else: invitation = 0 extra_context = { 'is_fav' : fav, 'in_iframe' : True, 'invitation' : invitation, 'invitation_link' : get_facebook_app_url(request.path), } return object_detail(request, Event.all(), object_id=key_id, extra_context = extra_context)