def wrapper(*args, **kwargs): request = args[0] if len(args) == 1 else args[1] isNotAdminRedirectUrl = "/" # Check to see if user is logged in to facebook try: cookie_user = checkCookieToken(request) kwargs['cookie_user'] = cookie_user except GraphAPIError: return HttpResponseRedirect(isNotAdminRedirectUrl) # If a user is registered and logged in if cookie_user: userList = SocialUser.objects.filter(user=cookie_user) readr_admins = SocialUser.objects.filter( user__email__in=RB_SOCIAL_ADMINS ) if len(userList) == 1: user = userList[0] if user in readr_admins: return func(*args, **kwargs) else: return HttpResponseRedirect(isNotAdminRedirectUrl) else: return HttpResponseRedirect(isNotAdminRedirectUrl) else: return HttpResponseRedirect(isNotAdminRedirectUrl)
def change_rb_password(request): data = {} context = {} cookie_user = checkCookieToken(request) # cookies = request.COOKIES # data['user_id'] = cookies.get('user_id', None) # data['ant_token'] = cookies.get('ant_token', None) if not cookie_user: return HttpResponseRedirect('/') if request.method == 'GET': form = ChangePasswordWhileLoggedInForm(initial={'uid': cookie_user.id}) elif request.method == 'POST': try: user_id = request.POST['uid'] except KeyError, ke: context[ 'message'] = 'There was a problem with your request. Looks like you are not logged in.' logger.warning(str(ke)) form = ChangePasswordWhileLoggedInForm(request.POST) # is_valid_token = validatePasswordToken(user_id, password_token) if form.is_valid(): logger.info("resetting password for " + str(user_id)) user = form.save(True) context['requested'] = True
def main_helper(request, user_id = None, short_name = None, **kwargs): cookie_user = checkCookieToken(request) timestamp = datetime.now().date() page_num = request.GET.get('page_num', 1) context = { 'fb_client_id': FACEBOOK_APP_ID, 'user_id': user_id, 'short_name': short_name, 'kwargs': kwargs, 'page_num': page_num, 'timestamp': timestamp, 'BASE_URL': BASE_URL } if cookie_user: context['cookie_user'] = cookie_user # Look for a better way to do this try: social_user = SocialUser.objects.get(user=cookie_user) context['ga_ids'] = GroupAdmin.objects.filter( social_user=social_user, approved=True ).values_list('group_id', flat=True) except SocialUser.DoesNotExist: pass #logger.info("SOCIAL USER DOES NOT EXIST FOR: " + str(cookie_user)) return context
def main_helper(request, user_id=None, short_name=None, **kwargs): cookie_user = checkCookieToken(request) timestamp = datetime.now().date() page_num = request.GET.get('page_num', 1) context = { 'fb_client_id': FACEBOOK_APP_ID, 'user_id': user_id, 'short_name': short_name, 'kwargs': kwargs, 'page_num': page_num, 'timestamp': timestamp, 'BASE_URL': BASE_URL } if cookie_user: context['cookie_user'] = cookie_user # Look for a better way to do this try: social_user = SocialUser.objects.get(user=cookie_user) context['ga_ids'] = GroupAdmin.objects.filter( social_user=social_user, approved=True).values_list('group_id', flat=True) except SocialUser.DoesNotExist: pass #logger.info("SOCIAL USER DOES NOT EXIST FOR: " + str(cookie_user)) return context
def admin_request(request, short_name=None): context = {} context['requested'] = False cookie_user = checkCookieToken(request) if not cookie_user: return HttpResponseRedirect('/') context = admin_helper(request,context) # Get the Group and related group admins group = Group.objects.get( short_name=short_name ) context['group'] = group # If this is a post request access if request.method == 'POST': ga = GroupAdmin( group = group, social_user = cookie_user.social_user, ) ga.save() # Check if user has already requested admin access if cookie_user.social_user.groupadmin_set.filter(group=group): context['requested'] = True context['fb_client_id'] = FACEBOOK_APP_ID return render_to_response( "admin_request.html", context, context_instance=RequestContext(request) )
def admin_request(request, short_name=None): context = {} context['requested'] = False cookie_user = checkCookieToken(request) if not cookie_user: return HttpResponseRedirect('/') context = admin_helper(request, context) # Get the Group and related group admins group = Group.objects.get(short_name=short_name) context['group'] = group # If this is a post request access if request.method == 'POST': ga = GroupAdmin( group=group, social_user=cookie_user.social_user, ) ga.save() # Check if user has already requested admin access if cookie_user.social_user.groupadmin_set.filter(group=group): context['requested'] = True context['fb_client_id'] = FACEBOOK_APP_ID return render_to_response("admin_request.html", context, context_instance=RequestContext(request))
def modify_rb_social_user(request): logger.info("modify user") context = {} cookie_user = checkCookieToken(request) if not cookie_user: return HttpResponseRedirect('/ant_login/') try: social_user = SocialUser.objects.get(user=cookie_user) user_token = generateSocialUserToken(social_user) except SocialUser.DoesNotExist: social_user = None context['not_logged_in'] = True context['requested'] = True return render_to_response("popup-forms/social_user_modify.html", context, context_instance=RequestContext(request)) if request.method == 'POST': form = ModifySocialUserForm(request.POST, request.FILES) if form.is_valid(): social_user = form.save(True) context['requested'] = True else: form = ModifySocialUserForm(initial={ 'user_token': user_token, 'id': social_user.id }) context['form'] = form response = render_to_response("popup-forms/social_user_modify.html", context, context_instance=RequestContext(request)) return response
def modify_rb_social_user(request): logger.info("modify user") context = {} cookie_user = checkCookieToken(request) if not cookie_user: return HttpResponseRedirect('/ant_login/') try: social_user = SocialUser.objects.get(user=cookie_user) user_token = generateSocialUserToken(social_user) except SocialUser.DoesNotExist: social_user = None context['not_logged_in'] = True context['requested'] = True return render_to_response( "popup-forms/social_user_modify.html", context, context_instance=RequestContext(request) ) if request.method == 'POST': form = ModifySocialUserForm(request.POST, request.FILES) if form.is_valid(): social_user = form.save(True) context['requested'] = True else: form = ModifySocialUserForm(initial={'user_token' : user_token, 'id' : social_user.id}) context['form'] = form response = render_to_response( "popup-forms/social_user_modify.html", context, context_instance=RequestContext(request) ) return response
def create_group_wordpress(request, **kwargs): context = kwargs.get('context', {}) cookie_user = checkCookieToken(request) if not cookie_user: return HttpResponseRedirect('/') if request.method == 'POST': form = CreateGroupForm(request.POST) if form.is_valid(): form.save( cookie_user, isAutoApproved=True, querystring_content=True, ) context['requested'] = True else: form = CreateGroupForm() context['form'] = form context['fb_client_id'] = FACEBOOK_APP_ID return render_to_response( "group_create_wordpress.html", context, context_instance=RequestContext(request) )
def create_rb_user(request): context = {} cookie_user = checkCookieToken(request) #what to do with a cookied user??? #are they already registered? # user = None if request.method == 'POST': form = CreateUserForm(request.POST) if form.is_valid(): user = form.save(True) #user.email_user("Antenna email confirmation", generateConfirmationEmail(user)) msg = EmailMultiAlternatives("Antenna email confirmation", '', "*****@*****.**", [user.email]) msg.attach_alternative(generateConfirmationEmail(user), "text/html") msg.send(False) context['requested'] = True else: form = CreateUserForm() context['form'] = form response = render_to_response("popup-forms/user_create.html", context, context_instance=RequestContext(request)) return response
def gallery(request, example_name=None): if not example_name: example_name="news_magazine/" cookie_user = checkCookieToken(request) context = { 'fb_client_id': FACEBOOK_APP_ID, 'BASE_URL': BASE_URL } if cookie_user: context['cookie_user'] = cookie_user examples = { 'tech_blog/': 'Tech Blog', 'news_magazine/': 'News Magazine', 'food_blog/': 'Food Blog' } context['examples'] = examples context['current_example_name'] = example_name return render_to_response( "gallery/gallery_base.html", context, context_instance=RequestContext(request) )
def change_rb_password(request): data = {} context = {} cookie_user = checkCookieToken(request) # cookies = request.COOKIES # data['user_id'] = cookies.get('user_id', None) # data['ant_token'] = cookies.get('ant_token', None) if not cookie_user: return HttpResponseRedirect('/') if request.method == 'GET': form = ChangePasswordWhileLoggedInForm(initial={'uid' : cookie_user.id }) elif request.method == 'POST': try: user_id = request.POST['uid'] except KeyError, ke: context['message'] = 'There was a problem with your request. Looks like you are not logged in.' logger.warning(str(ke)) form = ChangePasswordWhileLoggedInForm(request.POST) # is_valid_token = validatePasswordToken(user_id, password_token) if form.is_valid(): logger.info("resetting password for " + str(user_id)) user = form.save(True) context['requested'] = True
def create_rb_user(request): context = {} cookie_user = checkCookieToken(request) #what to do with a cookied user??? #are they already registered? # user = None if request.method == 'POST': form = CreateUserForm(request.POST) if form.is_valid(): user = form.save(True) #user.email_user("Antenna email confirmation", generateConfirmationEmail(user)) msg = EmailMultiAlternatives("Antenna email confirmation", '', "*****@*****.**", [user.email]) msg.attach_alternative(generateConfirmationEmail(user), "text/html") msg.send(False) context['requested'] = True else: form = CreateUserForm() context['form'] = form response = render_to_response( "popup-forms/user_create.html", context, context_instance=RequestContext(request) ) return response
def friendlylogin(request, **kwargs): context = kwargs.get('context', {}) context['fb_client_id'] = FACEBOOK_APP_ID cookie_user = checkCookieToken(request) context['cookie_user'] = cookie_user return render_to_response("login.html", context, context_instance=RequestContext(request))
def manage_groups(request, **kwargs): context = kwargs.get('context', {}) cookie_user = checkCookieToken(request) context = admin_helper(request, context) return render_to_response("group_manage.html", context, context_instance=RequestContext(request))
def admin_helper(request, context): cookie_user = checkCookieToken(request) if cookie_user: if len(SocialUser.objects.filter(user=cookie_user)) == 1: admin_groups = cookie_user.social_user.admin_groups() if len(admin_groups) > 0: context['admin_groups'] = admin_groups context['cookie_user'] = cookie_user return context
def admin_helper(request,context): cookie_user = checkCookieToken(request) if cookie_user: if len(SocialUser.objects.filter(user=cookie_user)) == 1: admin_groups = cookie_user.social_user.admin_groups() if len(admin_groups) > 0: context['admin_groups'] = admin_groups context['cookie_user'] = cookie_user return context
def follow_interactions(request, user_id): cookie_user = checkCookieToken(request) timestamp = datetime.now().date() page_num = request.GET.get('page_num', 1) context = { 'fb_client_id': FACEBOOK_APP_ID, 'user_id': user_id, 'page_num': page_num, 'timestamp': timestamp, 'BASE_URL': BASE_URL } context['hasSubheader'] = True if cookie_user: context['cookie_user'] = cookie_user # Look for a better way to do this owner = User.objects.get(id = user_id) context['profile_user'] = owner #owner = SocialUser.objects.get(user = django_user) requested_types = request.GET.getlist('ftype') if len(requested_types) == 0: requested_types.append('usr') follow_objects = Follow.objects.filter(owner = owner, type__in = requested_types) follow_lists = {} for type in requested_types: follow_lists[type] = [] for follow in follow_objects: follow_lists[follow.type].append(follow.follow_id) if not follow_lists.has_key('pag'): follow_lists['pag'] = [-1] if not follow_lists.has_key('grp'): follow_lists['grp'] = [-1] if not follow_lists.has_key('usr') or len(follow_lists['usr']) == 0 : follow_lists['usr'] = [-1] interactions = Interaction.objects.filter(Q(user__id__in = follow_lists['usr']) | Q(page__id__in = follow_lists['pag']) | Q(page__site__group__id__in = follow_lists['grp'])) interactions_paginator = Paginator(interactions, 20) try: page_number = int(page_num) except ValueError: page_number = 1 try: current_page = interactions_paginator.page(page_number) except (EmptyPage, InvalidPage): current_page = interactions_paginator.page(paginator.num_pages) context['current_page'] = current_page context['on_follow_page'] = True return render_to_response("index.html", context, context_instance=RequestContext(request))
def manage_groups(request, **kwargs): context = kwargs.get('context', {}) cookie_user = checkCookieToken(request) context = admin_helper(request,context) return render_to_response( "group_manage.html", context, context_instance=RequestContext(request) )
def friendlylogin(request, **kwargs): context = kwargs.get('context', {}) context['fb_client_id'] = FACEBOOK_APP_ID cookie_user = checkCookieToken(request) context['cookie_user'] = cookie_user return render_to_response( "login.html", context, context_instance=RequestContext(request) )
def create_board(request): context = {} context['is_popup'] = request.GET.get('popup') context['int_id'] = request.GET.get('int_id') cookie_user = checkCookieToken(request) if not cookie_user: return HttpResponseRedirect('/') if request.method == 'POST': form = CreateBoardForm(request.POST) if form.is_valid(): try: board = form.save(cookie_user) context['requested'] = True context['board'] = board except IntegrityError, e: context['title_error'] = 'You already have a board with this name. Please choose a new name!'
def create_board(request): context = {} context['is_popup'] = request.GET.get('popup') context['int_id'] = request.GET.get('int_id') cookie_user = checkCookieToken(request) if not cookie_user: return HttpResponseRedirect('/') if request.method == 'POST': form = CreateBoardForm(request.POST) if form.is_valid(): try: board = form.save(cookie_user) context['requested'] = True context['board'] = board except IntegrityError, e: context[ 'title_error'] = 'You already have a board with this name. Please choose a new name!'
def gallery(request, example_name=None): if not example_name: example_name = "news_magazine/" cookie_user = checkCookieToken(request) context = {'fb_client_id': FACEBOOK_APP_ID, 'BASE_URL': BASE_URL} if cookie_user: context['cookie_user'] = cookie_user examples = { 'tech_blog/': 'Tech Blog', 'news_magazine/': 'News Magazine', 'food_blog/': 'Food Blog' } context['examples'] = examples context['current_example_name'] = example_name return render_to_response("gallery/gallery_base.html", context, context_instance=RequestContext(request))
def friendlylogin_wordpress(request, **kwargs): context = kwargs.get('context', {}) context['fb_client_id'] = FACEBOOK_APP_ID cookie_user = checkCookieToken(request) context['cookie_user'] = cookie_user params = [ 'hostplatform', 'host_xdm_url', 'hostdomain', 'short_name', 'company_name', 'group_not_approved', 'user_not_admin', 'user_unapproved_admin', ] for param in params: context[param] = request.GET.get(param, "") return render_to_response("login_wordpress.html", context, context_instance=RequestContext(request))
def wrapper(*args, **kwargs): request = args[0] if len(args) == 1 else args[1] #I think it would make sense to redirect to the login page instead, #but there is sometimes a redirect loop if we do that because of when we do if (top == self) { window.location.reload() } isNotAdminRedirectUrl = "/sign/" isNotAdminRedirectUrl = "/" # Check to see if user is logged in to facebook try: cookie_user = checkCookieToken(request) kwargs['cookie_user'] = cookie_user except GraphAPIError: return HttpResponseRedirect(isNotAdminRedirectUrl) # If a user is registered and logged in if cookie_user: if len(SocialUser.objects.filter(user=cookie_user)) == 1: if cookie_user.is_superuser or cookie_user.email in RB_SOCIAL_ADMINS: return func(*args, **kwargs) admin_groups = cookie_user.social_user.admin_groups() short_name = kwargs.get('short_name', None) if short_name: group = Group.objects.get(short_name=short_name) if group not in admin_groups: return HttpResponseRedirect(isNotAdminRedirectUrl) else: kwargs['admin_groups'] = [group] else: kwargs['admin_groups'] = admin_groups return func(*args, **kwargs) else: return HttpResponseRedirect(isNotAdminRedirectUrl) else: return HttpResponseRedirect(isNotAdminRedirectUrl)
def wrapper(*args, **kwargs): request = args[0] if len(args) == 1 else args[1] res = {"status": 'success'} # Check to see if user is logged in to facebook try: cookie_user = checkCookieToken(request) kwargs['cookie_user'] = cookie_user except GraphAPIError: res['status'] = 'fail' res['message'] = 'GRAPHAPIError' # If a user is registered and logged in if cookie_user: if len(SocialUser.objects.filter(user=cookie_user)) == 1: try: admin_groups = cookie_user.social_user.admin_groups() group_id = kwargs.get('group_id', None) if group_id: group = Group.objects.get(id=int(group_id)) if group not in admin_groups: res['status'] = 'fail' res['message'] = 'Not an admin' else: kwargs['admin_groups'] = [group] else: kwargs['admin_groups'] = admin_groups res['data'] = func(*args, **kwargs) except JSONException, jsonex: res['status'] = 'fail' res['message'] = jsonex except Group.DoesNotExist: res['status'] = 'fail' res['message'] = 'Bad Group Id' except Exception, ex: res['status'] = 'fail' res['message'] = ex
def create_group_wordpress(request, **kwargs): context = kwargs.get('context', {}) cookie_user = checkCookieToken(request) if not cookie_user: return HttpResponseRedirect('/') if request.method == 'POST': form = CreateGroupForm(request.POST) if form.is_valid(): form.save( cookie_user, isAutoApproved=True, querystring_content=True, ) context['requested'] = True else: form = CreateGroupForm() context['form'] = form context['fb_client_id'] = FACEBOOK_APP_ID return render_to_response("group_create_wordpress.html", context, context_instance=RequestContext(request))
def friendlylogin_wordpress(request, **kwargs): context = kwargs.get('context', {}) context['fb_client_id'] = FACEBOOK_APP_ID cookie_user = checkCookieToken(request) context['cookie_user'] = cookie_user params = [ 'hostplatform', 'host_xdm_url', 'hostdomain', 'short_name', 'company_name', 'group_not_approved', 'user_not_admin', 'user_unapproved_admin', ]; for param in params: context[param] = request.GET.get(param, "") return render_to_response( "login_wordpress.html", context, context_instance=RequestContext(request) )
def follow_interactions(request, user_id): cookie_user = checkCookieToken(request) timestamp = datetime.now().date() page_num = request.GET.get('page_num', 1) context = { 'fb_client_id': FACEBOOK_APP_ID, 'user_id': user_id, 'page_num': page_num, 'timestamp': timestamp, 'BASE_URL': BASE_URL } context['hasSubheader'] = True if cookie_user: context['cookie_user'] = cookie_user # Look for a better way to do this owner = User.objects.get(id=user_id) context['profile_user'] = owner #owner = SocialUser.objects.get(user = django_user) requested_types = request.GET.getlist('ftype') if len(requested_types) == 0: requested_types.append('usr') follow_objects = Follow.objects.filter(owner=owner, type__in=requested_types) follow_lists = {} for type in requested_types: follow_lists[type] = [] for follow in follow_objects: follow_lists[follow.type].append(follow.follow_id) if not follow_lists.has_key('pag'): follow_lists['pag'] = [-1] if not follow_lists.has_key('grp'): follow_lists['grp'] = [-1] if not follow_lists.has_key('usr') or len(follow_lists['usr']) == 0: follow_lists['usr'] = [-1] interactions = Interaction.objects.filter( Q(user__id__in=follow_lists['usr']) | Q(page__id__in=follow_lists['pag']) | Q(page__site__group__id__in=follow_lists['grp'])) interactions_paginator = Paginator(interactions, 20) try: page_number = int(page_num) except ValueError: page_number = 1 try: current_page = interactions_paginator.page(page_number) except (EmptyPage, InvalidPage): current_page = interactions_paginator.page(paginator.num_pages) context['current_page'] = current_page context['on_follow_page'] = True return render_to_response("index.html", context, context_instance=RequestContext(request))
def board(request, board_id=None, **kwargs): cookie_user = checkCookieToken(request) timestamp = datetime.now().date() page_num = request.GET.get('page_num', 1) context = { 'fb_client_id': FACEBOOK_APP_ID, 'board_id': board_id, 'kwargs': kwargs, 'page_num': page_num, 'timestamp': timestamp, 'BASE_URL': BASE_URL } if cookie_user: context['cookie_user'] = cookie_user #context['board_admins'] = Board.objects.filter(admins__in=[cookie_user]).values_list('admins', flat=True) """ For interactions.html """ try: board = Board.objects.get(id=board_id) context['board'] = board try: social = SocialUser.objects.get(user=board.owner) context['social_user'] = model_to_dict(social, fields=('id', 'full_name', 'img_url')) except SocialUser.DoesNotExist: logger.warning("Balls") if cookie_user in board.admins.all(): context['board_admin'] = True else: context['board_admin'] = False except Board.DoesNotExist: raise Http404 interactions = board.interactions.all() interactions_paginator = Paginator(interactions, 50) try: page_number = int(page_num) except ValueError: page_number = 1 try: current_page = interactions_paginator.page(page_number) except (EmptyPage, InvalidPage): current_page = interactions_paginator.page( interactions_paginator.num_pages) context['current_page'] = current_page len(current_page.object_list) parent_ids = [] for inter in current_page.object_list: parent_ids.append(inter.id) child_interactions = Interaction.objects.filter(parent__id__in=parent_ids, kind='tag') context['child_interactions'] = {} for child_interaction in child_interactions: if not context['child_interactions'].has_key( child_interaction.parent.id): context['child_interactions'][child_interaction.parent.id] = 0 context['child_interactions'][child_interaction.parent.id] += 1 return render_to_response("index.html", context, context_instance=RequestContext(request))
def wrapper(*args, **kwargs): request = args[0] if len(args) == 1 else args[1] context = kwargs.get('context', {}) params = [ 'hostplatform', # e.g. https://www.somedomain.com 'host_xdm_url', # hostdomain has www removed, unlike host_xdm_url 'hostdomain', 'short_name', 'company_name', ] def makeQParams(): # make the query params context['qParams'] = "".join([ (("?" if i==0 else "&") + x + "=" + context[x] ) for i,x in enumerate(params) ]) return context['qParams'] def getURLForNotAdminRedirect(): return '/friendlylogin_wordpress/'+makeQParams() for param in params: context[param] = request.GET.get(param, "") siteQ = Site.objects.select_related('group').filter(domain=context['hostdomain']) group = siteQ[0].group if siteQ.exists() else None if group: context['hostdomaingroup'] = group context['true_short_name'] = group.short_name if not group.approved: context['group_not_approved'] = "true" params.append('group_not_approved') if context['short_name'] != context['true_short_name']: params.append('true_short_name') context['qParams'] = makeQParams() try: context['fb_client_id'] = FACEBOOK_APP_ID cookie_user = checkCookieToken(request) context['cookie_user'] = cookie_user kwargs['cookie_user'] = cookie_user except GraphAPIError: return HttpResponseRedirect(getURLForNotAdminRedirect()) # If a user is registered and logged in if cookie_user: if len(SocialUser.objects.filter(user=cookie_user)) == 1: admin_groups = cookie_user.social_user.admin_groups() admin_groups_unapproved = cookie_user.social_user.admin_groups_unapproved() short_name = context.get('short_name', None) if short_name: group = Group.objects.get(short_name=short_name) if group not in admin_groups: if group in admin_groups_unapproved: context['user_unapproved_admin'] = "true" params.append('user_unapproved_admin') else: # todo: this is just a cursory check for too many group admins.. Later we need to approve these correctly. groupAdminsForGroup = GroupAdmin.objects.filter(group=group) if len(groupAdminsForGroup) < TEMP_LIMIT_GROUPADMIN_AUTOAPPROVE: group = autoApproveUserAsAdmin(group, cookie_user, isAutoApproved=True) kwargs['admin_just_approved'] = True # quick hack - remake the Qparams after adding 'requested' context['refresh'] = "true" params.append('refresh') context['qParams'] = makeQParams() else: context['user_not_admin'] = "true" params.append('user_not_admin') return HttpResponseRedirect(getURLForNotAdminRedirect()) else: kwargs['admin_groups'] = [group] else: kwargs['admin_groups'] = admin_groups else: return HttpResponseRedirect(getURLForNotAdminRedirect()) else: return HttpResponseRedirect(getURLForNotAdminRedirect()) kwargs['context'] = context return func(*args, **kwargs)
def board(request, board_id=None, **kwargs): cookie_user = checkCookieToken(request) timestamp = datetime.now().date() page_num = request.GET.get('page_num', 1) context = { 'fb_client_id': FACEBOOK_APP_ID, 'board_id': board_id, 'kwargs': kwargs, 'page_num': page_num, 'timestamp': timestamp, 'BASE_URL': BASE_URL } if cookie_user: context['cookie_user'] = cookie_user #context['board_admins'] = Board.objects.filter(admins__in=[cookie_user]).values_list('admins', flat=True) """ For interactions.html """ try: board = Board.objects.get(id=board_id) context['board'] = board try: social = SocialUser.objects.get(user=board.owner) context['social_user'] = model_to_dict(social, fields=('id','full_name', 'img_url')) except SocialUser.DoesNotExist: logger.warning("Balls") if cookie_user in board.admins.all(): context['board_admin'] = True else: context['board_admin'] = False except Board.DoesNotExist: raise Http404 interactions = board.interactions.all() interactions_paginator = Paginator(interactions, 50) try: page_number = int(page_num) except ValueError: page_number = 1 try: current_page = interactions_paginator.page(page_number) except (EmptyPage, InvalidPage): current_page = interactions_paginator.page(interactions_paginator.num_pages) context['current_page'] = current_page len(current_page.object_list) parent_ids = [] for inter in current_page.object_list: parent_ids.append(inter.id) child_interactions = Interaction.objects.filter(parent__id__in = parent_ids, kind='tag') context['child_interactions'] = {} for child_interaction in child_interactions: if not context['child_interactions'].has_key(child_interaction.parent.id): context['child_interactions'][child_interaction.parent.id] = 0 context['child_interactions'][child_interaction.parent.id] += 1 return render_to_response("index.html", context, context_instance=RequestContext(request))