Example #1
0
def resources(request, site, tag_string='', type='other', template_name='plus_explore/explore_filtered.html', current_app='plus_groups'):
    form = SearchForm(request.GET)
    if form.is_valid():
        search, order = set_search_order(request, form)
    else:
        search = ''
        search_type = ''
 

    head_title = _('Resources')
    type_name = "Resource"

    # hmm shouldn't we just use current app to determine search_types?        
    search_types = narrow_search_types(type_name) 
    side_search = side_search_args('resources', search_types[0][1][2])

    listing_args_dict = listing_args('resources', 'resources_tag', tag_string=tag_string, search_terms=search, multitabbed=False, order=order, template_base="site_base.html", search_type_label=head_title)
    search_dict = plus_search(listing_args_dict['tag_filter'], search, search_types, order)
    
    return render_to_response(template_name, 
                              {'head_title':head_title,
                               'search':search_dict,
                               'listing_args':listing_args_dict,
                               'search_args':side_search,
                               "obj_type": type_name,
                               'intro_box_override':True}, 
                              context_instance=RequestContext(request,
                                                              current_app=current_app))
Example #2
0
def rss_explore(request, tag_string, s_type=None):
    from apps.plus_lib.redis_lib import redis
    feed_type = 'rss2.0'  # XXX decide how to send this as parameter to link
    key = "feed:" + feed_type + ":" + tag_string
    if redis.exists(key):
        return HttpResponse(redis.get(key), mimetype="application/xhtml+xml")
    else:
        feed = Rss201rev2Feed(
            title=settings.SITE_NAME + " : " + tag_string,
            link='http://' + settings.DOMAIN_NAME +
            reverse('explore_filtered_feed', args=(tag_string, )),
            description=_("Items tagged with %s" % tag_string))
        # XXX decide how to parameterize which feed type, title, description, link

        form = SearchForm(request.GET)
        if form.is_valid():
            search, order = set_search_order(request, form)
        else:
            search = ''
            order = ''

        side_search = side_search_args('', '')

        if s_type:
            search_types = narrow_search_types(s_type)
        else:
            search_types = get_search_types()

        head_title = settings.EXPLORE_NAME
        listing_args_dict = listing_args('explore',
                                         'explore_filtered',
                                         tag_string=tag_string,
                                         search_terms=search,
                                         multitabbed=True,
                                         order=order,
                                         template_base="site_base.html",
                                         search_type_label=head_title)
        search_dict = plus_search(listing_args_dict['tag_filter'], search,
                                  search_types, order)

        for item_ref in search_dict['All']:
            item = item_ref.obj
            item = secure_wrap(item, request.user)

            try:
                feed.add_item(title=item.get_display_name(),
                              link=item.get_url(),
                              description=item.get_description(),
                              author_name=item.get_author_name(),
                              author_copyright=item.get_author_copyright(),
                              pubdate=item.get_created_date(),
                              **(item.get_feed_extras()))
            except PlusPermissionsNoAccessException, e:
                pass

        feed_string = feed.writeString('utf-8')
        # uncomment the following when we start to cache
        #redis.set(key,feed_string)
        #redis.expire(key,60*60*1) # sets expire every 1 hour
        return HttpResponse(feed_string, mimetype="application/xhtml+xml")
Example #3
0
def filter(request,
           tag_string,
           template_name='plus_explore/explore_filtered.html'):
    """ this should be integrated with index into a single method - probably
    """
    form = SearchForm(request.GET)
    if form.is_valid():
        search, order = set_search_order(request, form)
    else:
        search = ''
        order = ''

    side_search = side_search_args('', '')
    search_types = get_search_types()
    head_title = settings.EXPLORE_NAME
    listing_args_dict = listing_args('explore',
                                     'explore_filtered',
                                     tag_string=tag_string,
                                     search_terms=search,
                                     multitabbed=True,
                                     order=order,
                                     template_base="site_base.html",
                                     search_type_label=head_title)
    search_dict = plus_search(listing_args_dict['tag_filter'], search,
                              search_types, order)

    return render_to_response(template_name, {
        'head_title': head_title,
        'listing_args': listing_args_dict,
        'search': search_dict,
        'search_args': side_search,
    },
                              context_instance=RequestContext(request))
Example #4
0
def rss_explore(request, tag_string, s_type=None) :
    from apps.plus_lib.redis_lib import redis
    feed_type = 'rss2.0' # XXX decide how to send this as parameter to link
    key = "feed:"+feed_type+":"+tag_string
    if redis.exists(key) :
        return HttpResponse(redis.get(key),mimetype="application/xhtml+xml")
    else :
        feed = Rss201rev2Feed(title=settings.SITE_NAME+" : "+tag_string,
                              link='http://'+settings.DOMAIN_NAME+reverse('explore_filtered_feed',args=(tag_string,)),
                              description=_("Items tagged with %s" % tag_string) )
        # XXX decide how to parameterize which feed type, title, description, link

        form = SearchForm(request.GET)
        if form.is_valid():
            search, order = set_search_order(request, form)
        else:
            search = ''
            order = ''

        side_search = side_search_args('', '')

        if s_type :
            search_types = narrow_search_types(s_type)
        else :
            search_types = get_search_types()

        head_title = settings.EXPLORE_NAME
        listing_args_dict = listing_args('explore', 'explore_filtered', tag_string=tag_string, search_terms=search, multitabbed=True, order=order, template_base="site_base.html", search_type_label=head_title)
        search_dict = plus_search(listing_args_dict['tag_filter'], search, search_types, order)

        for item_ref in search_dict['All']:
            item = item_ref.obj
            item=secure_wrap(item,request.user)

            try :
                feed.add_item(title=item.get_display_name(), 
                          link=item.get_url(), 
                          description=item.get_description(),
                          author_name=item.get_author_name(),
                          author_copyright=item.get_author_copyright(),
                          pubdate=item.get_created_date(),
                          **(item.get_feed_extras())
                          )
            except PlusPermissionsNoAccessException, e :
                pass


        feed_string = feed.writeString('utf-8')
        # uncomment the following when we start to cache
        #redis.set(key,feed_string)
        #redis.expire(key,60*60*1) # sets expire every 1 hour
        return HttpResponse(feed_string, mimetype="application/xhtml+xml")
Example #5
0
def filter(request, tag_string, template_name='plus_explore/explore_filtered.html'):
    """ this should be integrated with index into a single method - probably
    """
    form = SearchForm(request.GET)
    if form.is_valid():
        search, order = set_search_order(request, form)
    else:
        search = ''
        order = ''

    side_search = side_search_args('', '')
    search_types = get_search_types()
    head_title = settings.EXPLORE_NAME
    listing_args_dict = listing_args('explore', 'explore_filtered', tag_string=tag_string, search_terms=search, multitabbed=True, order=order, template_base="site_base.html", search_type_label=head_title)
    search_dict = plus_search(listing_args_dict['tag_filter'], search, search_types, order)
    
    return render_to_response(template_name, {'head_title':head_title, 
                                              'listing_args':listing_args_dict,
                                              'search':search_dict,
                                              'search_args':side_search,}, context_instance=RequestContext(request))
Example #6
0
def resources(request,
              site,
              tag_string='',
              type='other',
              template_name='plus_explore/explore_filtered.html',
              current_app='plus_groups'):
    form = SearchForm(request.GET)
    if form.is_valid():
        search, order = set_search_order(request, form)
    else:
        search = ''
        search_type = ''

    head_title = _('Resources')
    type_name = "Resource"

    # hmm shouldn't we just use current app to determine search_types?
    search_types = narrow_search_types(type_name)
    side_search = side_search_args('resources', search_types[0][1][2])

    listing_args_dict = listing_args('resources',
                                     'resources_tag',
                                     tag_string=tag_string,
                                     search_terms=search,
                                     multitabbed=False,
                                     order=order,
                                     template_base="site_base.html",
                                     search_type_label=head_title)
    search_dict = plus_search(listing_args_dict['tag_filter'], search,
                              search_types, order)

    return render_to_response(template_name, {
        'head_title': head_title,
        'search': search_dict,
        'listing_args': listing_args_dict,
        'search_args': side_search,
        "obj_type": type_name,
        'intro_box_override': True
    },
                              context_instance=RequestContext(
                                  request, current_app=current_app))
Example #7
0
def profiles(request, tag_string='', template_name="plus_explore/explore_filtered.html"):
    form = SearchForm(request.GET)
    if form.is_valid():
        search, order = set_search_order(request, form)
    else:
        search = ''
        order = ''

    search_types = narrow_search_types()
    side_search = side_search_args('profile_list', search_types[0][1][2])

    head_title = _('Members')
    listing_args_dict = listing_args('profile_list', 'profile_list_tag', tag_string=tag_string, search_terms=search, multitabbed=False, order=order, template_base="site_base.html", search_type_label=head_title)
    search_dict = plus_search(listing_args_dict['tag_filter'], search, search_types, order)

    #users = users.filter(~Q(username='******')).filter(~Q(username='******')).filter(~Q(username='******'))
    return render_to_response(template_name, {'head_title':head_title, 
                                              'listing_args':listing_args_dict,
                                              'search_args':side_search,
                                              'search':search_dict,
                                              'intro_box_override':True}, context_instance=RequestContext(request))
Example #8
0
def index(request, template_name="plus_explore/explore.html"):
    form = SearchForm(request.GET)
    if form.is_valid():
        search = form.cleaned_data.get('search', '')
        search_type = form.cleaned_data.get('current_area', '')
        if search_type:
            url = reverse(search_type)
            if search:
                url += '?search=' + search
            return HttpResponseRedirect(url)

        if search:
            return filter(request, tag_string='')
    else:
        pass
    
    side_search = side_search_args('', '')
    
    return render_to_response(template_name, 
                              {'head_title':settings.EXPLORE_NAME, 
                               'search_args':side_search,
                               'intro_box_override':True}, context_instance=RequestContext(request))     
Example #9
0
def index(request, template_name="plus_explore/explore.html"):
    form = SearchForm(request.GET)
    if form.is_valid():
        search = form.cleaned_data.get('search', '')
        search_type = form.cleaned_data.get('current_area', '')
        if search_type:
            url = reverse(search_type)
            if search:
                url += '?search=' + search
            return HttpResponseRedirect(url)

        if search:
            return filter(request, tag_string='')
    else:
        pass

    side_search = side_search_args('', '')

    return render_to_response(template_name, {
        'head_title': settings.EXPLORE_NAME,
        'search_args': side_search,
        'intro_box_override': True
    },
                              context_instance=RequestContext(request))
Example #10
0
    
    tweets = FeedItem.feed_manager.get_from_permissioned(group, request.user)

    try:
        group.get_all_sliders
        perms_bool = True
    except PlusPermissionsNoAccessException:
        perms_bool = False

    if kwargs['type'] == 'hub':
        type_name = hub_name()
    else:
        type_name = "Group"

    search_types = narrow_search_types(type_name)
    side_search = side_search_args(current_app + ':groups', search_types[0][1][2])

    search = request.GET.get('search', '')
    order = request.GET.get('order', '')
    resource_search = resources(group=group, search=search, order=order)
    resource_listing_args = listing_args(current_app + ':group_resources', current_app + ':group_resources_tag', tag_string='', search_terms=search, multitabbed=False, order=order, template_base='plus_lib/listing_frag.html', search_type_label='resources')
    resource_listing_args['group_id'] = group.id

    ##############Here we should use the "plus_search" function from plus_explore as above########

    member_search = a_member_search(group=group, search=search, order=order, 
                                    member_profile_ids=[x.get_profile().get_ref().id for x in group.users.all()])
    host_search = a_member_search(group=group.get_admin_group(), search=search, order=order, 
                                  member_profile_ids=[x.get_profile().get_ref().id for x in group.get_admin_group().users.all()])
    member_listing_args = listing_args(current_app+':group_members', current_app+':group_members_tag', tag_string='', search_terms=search, multitabbed=False, order=order, template_base='plus_lib/listing_frag.html', search_type_label='members', group_id=group.id)