def claim_atpostspud(request, spud_id): try: spud = SpudFromSocialMedia.objects.get(id=spud_id) except SpudFromSocialMedia.DoesNotExist: spud = None if spud.state == SpudFromSocialMedia.STATE_ACCEPTED: # Don't allow dupes! spud = None template_data = { 'spud': spud.expanded_data if spud else None, 'spud_id': spud.id if spud else None } if request.method == "POST": action = request.POST.get('action', None) if action == "change_twitter" or action == "set_twitter": new_username = spud.expanded_data['user']['username'] fan = request.current_role.entity fan.twitter = new_username fan.save() controller = SpudsController(request.current_role) controller.add_spud_from_fan(spud) template_data['username_changed'] = action == "change_twitter" template_data['username_set'] = action == "set_twitter" return render_to_response('spudderspuds/pages/claim_atpostspud.html', template_data, context_instance=RequestContext(request))
def test_spuds(request): template_data = {} if is_fan(request.current_role): stream = SpudsController(request.current_role).get_spud_stream( ) + SpudsController.GetSpudsForFan(request.current_role.entity) # shuffle(stream) template_data['spuds'] = stream return render(request, 'spudderspuds/pages/test_spuds.html', template_data)
def is_signin_claiming_spud(request, fan, twitter, spud_id): if twitter: fan.twitter = twitter fan.save() if spud_id: controller = SpudsController(RoleFan(fan)) spud = SpudFromSocialMedia.objects.get(id=spud_id) controller.add_spud_from_fan(spud) messages.success( request, "You twitter name to <b>%s</b> and you claimed your SPUD!" % twitter)
def get_instagram_stream(request, venue_id): controller = SpudsController(request.current_role) filters = request.GET.get('filter', None) results = controller.get_unapproved_spuds(venue_id, filters=filters) ven = Venue.objects.get(id=venue_id) template_data = {'results': results, 'venue': ven} if filters == "day-0": template_data['filter_message'] = "Showing posts from today" elif filters == "day-1": template_data['filter_message'] = "Showing posts from yesterday" elif filters == "day-7": template_data['filter_message'] = "Showing older posts" elif filters: template_data[ 'filter_message'] = "Showing posts from %s days ago" % filters.replace( 'day-', '') return render(request, 'spuddercern/pages/venue_instagram_stream.html', template_data)
def landing_page(request): template_data = { 'find_teams': TeamPage.objects.all()[:10], 'find_fans': FanPage.objects.all()[:10], 'find_venues': Venue.objects.all()[:10] } if is_fan(request.current_role): spud_stream = SpudsController(request.current_role).get_spud_stream() fan_spuds = SpudsController.GetSpudsForFan(request.current_role.entity) stream = SpudsController.MergeSpudLists(spud_stream, fan_spuds) template_data['spuds'] = stream entity = { 'id': request.current_role.entity.id, 'type': request.current_role.entity_type } participating_challenges = ChallengeParticipation.objects.filter( participating_entity_id=entity['id'], participating_entity_type=entity['type']) template_data['challenge_participations'] = participating_challenges template_data['state_engine_states'] = _StateEngineStates template_data['my_challenges'] = Challenge.objects.filter( creator_entity_id=request.current_role.entity.id, creator_entity_type=request.current_role.entity_type) # participating_ids = [c.challenge.id for c in participating_challenges] # # template_data['challenges'] = [_format_challenge('dash participating', c, entity) # for c in participating_challenges] + \ # [_format_challenge('dash created', c, participating_ids) # for c in Challenge.objects.filter(creator_entity_id=entity['id'], # creator_entity_type=entity['type'])] # template_data['fan_nav_active'] = "explore" return render(request, 'spudderspuds/pages/landing_page.html', template_data)
def reject_spud_from_social_media(request, venue_id, spud_from_social_media_id): controller = SpudsController(request.current_role) controller.reject_spuds([spud_from_social_media_id]) return HttpResponse(json.dumps({'status': 'ok'}), content_type='application/json')