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
        
Exemple #2
0
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))