def site_context(request): site=get_site() additional_context={'site': site, 'user':get_current_profile(), 'admin':users.is_current_user_admin(), 'logout':users.create_logout_url(reverse('account-signout')), 'links':Link.all().filter('status =','approved').fetch(20) } #additional_context['logo']=get_serving_url(str(site.original_logo.key()), 512) return additional_context
def event_queue(request): def save_details(event): data = request.POST event.title = data['title'] event.link = data['link'] or None event.cost = data['cost'] or None tz = request.site.tz event.start = tz.localize(parser.parse(data['start'])) event.end = tz.localize(parser.parse(data['end'])) if request.POST.has_key('tags'): event.tags = [ t.strip() for t in request.POST.get("tags", "").lower().split(',') ] event.put() timezone = pytz.timezone(request.site.timezone) pending_events = request.site.event_set.filter('status = ', 'submitted') today = utc.localize(datetime.utcnow()).astimezone(timezone).date() pending_events_future = pending_events.filter( 'local_start >=', today).order('local_start').fetch(50) if request.method == 'POST' and request.POST.has_key('button'): profile = get_current_profile() if request.POST['button'] == 'Reject' and (profile.userlevel == 10): event_results = request.site.event_set.filter( ' __key__ =', db.Key(request.POST['event_key'])) event = event_results.get() event.status = "rejected-%s" % request.POST.get( 'rejection-reason', 'unspecified') event.put() messages.add_message(request, messages.INFO, 'Rejected! Feels good, right?') if request.POST['button'] == 'Save': event_results = request.site.event_set.filter( ' __key__ =', db.Key(request.POST['event_key'])) event = event_results.get() if profile.userlevel == 10: save_details(event) messages.add_message(request, messages.INFO, '%s saved' % event.title) if request.POST['button'] == 'Approve': event_results = request.site.event_set.filter( ' __key__ =', db.Key(request.POST['event_key'])) event = event_results.get() if profile.userlevel == 10: event.status = 'approved' event.approved_by = profile event.approved_on = datetime.now() save_details(event) messages.add_message(request, messages.INFO, '%s approved' % event.title) if request.POST['button'] == 'Back to queue': event_results = request.site.event_set.filter( ' __key__ =', db.Key(request.POST['event_key'])) event = event_results.get() if profile.userlevel == 10: event.status = 'submitted' event.approved_by = None event.approved_on = None save_details(event) messages.add_message(request, messages.INFO, '%s sent back' % event.title) request.site.expire_assets() if request.POST.has_key('return'): return HttpResponseRedirect(request.POST['return']) pending_events = request.site.event_set.filter('status = ', 'submitted') has_pending_sources = submitted_icals = ICalendarSource.all().filter( 'status =', 'submitted').get() has_pending_links = Link.all().filter('status =', 'submitted').get() return render_to_response('events/queue.html', locals(), context_instance=RequestContext(request))
def event_queue(request): def save_details(event): data=request.POST event.title=data['title'] event.link=data['link'] or None event.cost=data['cost'] or None tz=request.site.tz event.start=tz.localize(parser.parse(data['start'])) event.end=tz.localize(parser.parse(data['end'])) if request.POST.has_key('tags'): event.tags=[t.strip() for t in request.POST.get("tags","").lower().split(',')] event.put() timezone=pytz.timezone(request.site.timezone) pending_events=request.site.event_set.filter('status = ', 'submitted') today=utc.localize(datetime.utcnow()).astimezone(timezone).date() pending_events_future=pending_events.filter('local_start >=', today).order('local_start').fetch(50) if request.method == 'POST' and request.POST.has_key('button'): profile=get_current_profile() if request.POST['button'] == 'Reject' and (profile.userlevel == 10): event_results=request.site.event_set.filter(' __key__ =', db.Key(request.POST['event_key']) ) event=event_results.get() event.status="rejected-%s" % request.POST.get('rejection-reason','unspecified') event.put() messages.add_message(request, messages.INFO,'Rejected! Feels good, right?') if request.POST['button'] == 'Save': event_results=request.site.event_set.filter(' __key__ =', db.Key(request.POST['event_key']) ) event=event_results.get() if profile.userlevel == 10: save_details(event) messages.add_message(request, messages.INFO,'%s saved' % event.title) if request.POST['button'] == 'Approve': event_results= request.site.event_set.filter(' __key__ =', db.Key(request.POST['event_key']) ) event=event_results.get() if profile.userlevel == 10: event.status='approved' event.approved_by=profile event.approved_on=datetime.now() save_details(event) messages.add_message(request, messages.INFO,'%s approved' % event.title) if request.POST['button'] == 'Back to queue': event_results= request.site.event_set.filter(' __key__ =', db.Key(request.POST['event_key']) ) event=event_results.get() if profile.userlevel == 10: event.status='submitted' event.approved_by=None event.approved_on=None save_details(event) messages.add_message(request, messages.INFO,'%s sent back' % event.title) request.site.expire_assets() if request.POST.has_key('return'):return HttpResponseRedirect(request.POST['return']) pending_events=request.site.event_set.filter('status = ', 'submitted') has_pending_sources=submitted_icals=ICalendarSource.all().filter('status =', 'submitted').get() has_pending_links=Link.all().filter('status =','submitted').get() return render_to_response('events/queue.html', locals(), context_instance=RequestContext(request))