Esempio n. 1
0
    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)
Esempio n. 2
0
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
Esempio n. 3
0
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
Esempio n. 4
0
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
Esempio n. 5
0
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)
    )
Esempio n. 6
0
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))
Esempio n. 7
0
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
Esempio n. 8
0
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
Esempio n. 9
0
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)
    )
Esempio n. 10
0
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
Esempio n. 11
0
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)
    )
Esempio n. 12
0
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
Esempio n. 13
0
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
Esempio n. 14
0
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))
Esempio n. 15
0
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))
Esempio n. 16
0
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
Esempio n. 17
0
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
Esempio n. 18
0
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))
Esempio n. 19
0
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)
    )
Esempio n. 20
0
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)
    )
Esempio n. 21
0
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!'
Esempio n. 22
0
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!'
Esempio n. 23
0
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))
Esempio n. 24
0
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))
Esempio n. 25
0
    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)
Esempio n. 26
0
    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 
Esempio n. 27
0
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))
Esempio n. 28
0
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)
    )
Esempio n. 29
0
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))
Esempio n. 30
0
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))
Esempio n. 31
0
    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)
Esempio n. 32
0
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))