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))
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))
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")
def _subsearch(request, group, tag_string='', current_app='plus_groups', template_name='plus_explore/explore_filtered.html', **kwargs) : form=SearchForm(request.GET) if form.is_valid(): search, order = set_search_order(request, form) else: # what should we do here? raise Exception('Search form is invalid') search_and_listing_args_dict = f(request, group, tag_string, search, order, current_app=current_app, **kwargs) return render_to_response(template_name, search_and_listing_args_dict, context_instance=RequestContext(request, current_app=current_app))
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")
def groups(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 = '' create_group = False if request.user.is_authenticated(): try: if current_app == 'groups': site.create_virtual else : site.create_hub create_group = True except Exception, e: print "User can't create a group",e
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))
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))
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))
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))
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))