Esempio n. 1
0
def presskit_detail(request, band_slug, template_name='presskit/presskit_detail.html'):
    presskit = get_object_or_404(PressKit, band__slug=band_slug)

    # Five latest gigs
    latest_gigs = presskit.band.gigs.past_events()[:5]
    
    extra_context = {'band': presskit.band,
                     'presskit': presskit,
                     'latest_gigs': latest_gigs}

    if not request.user.is_anonymous():
        # If we are not in the band, record us as a visitor
        if not request.user in presskit.band.members.all():
            # Bands
            for band in request.user.bands.all():
                record_visit(band, presskit.band)
                
            # Venues
            for venue in request.user.venues.all():
                record_visit(venue, presskit.band)

    # Check if we can edit this presskit
    can_edit = request.user.has_perm('band.can_manage', presskit.band)

    # Completion badge
    presskit_completion_badge = Badge.objects.get(id='presskitcompletion')

    return render_to_response(template_name=template_name,
                              dictionary={'can_edit': can_edit,
                                          'presskit_completion_badge': presskit_completion_badge},
                              context_instance=RequestContext(request,
                                                              extra_context),
                              )
Esempio n. 2
0
def public_view(request, venue_slug, template_name='venue/venue_detail.html'):
    """
    Show public page of a Venue
    """
    venue = get_object_or_404(Venue, slug=venue_slug)
    
    # Five latest gigs
    #latest_bands = Band.objects.filter(id__in=venue.gigs.past_events()[:5]).distinct()

    #past_events = venue.gigs.past_events()[:1]
    #future_events = venue.gigs.future_events()[0:5]

    # make a calendar
    #from datetime import date
    #from event.views.calendar import GigMonthlyHTMLCalendar
    #monthly_calendar = GigMonthlyHTMLCalendar(firstweekday=0,
    #                                          aQueryset=venue.gigs.all(),
    #                                          when=date.today())


    # Check if the venue is managed
    is_managed = request.user.has_perm('venue.can_manage', venue)

    # Compute the response rate
    total_presskitviewrequests = PresskitViewRequest.objects.filter(venue__slug=venue_slug).count()
    unanswered_presskitviewrequests = PresskitViewRequest.objects.filter(venue__slug=venue_slug, state__in=('P', 'S')).count()

    if total_presskitviewrequests > 0:
        response_rate = 100 - int(unanswered_presskitviewrequests / float(total_presskitviewrequests) * 100)
    else:
        response_rate = 100
    

    # if this is not our venue, then record us as a visitor
    # Venues
    if not is_managed and not request.user.is_anonymous():
            for venue in request.user.venues.all():
                record_visit(venue, venue)
                
            for band in request.user.bands.all():
                record_visit(band, venue)


    extra_context = {#'latest_bands': latest_bands,
                     #'past_events': past_events,
                     #'future_events': future_events,
                     #'monthly_calendar': monthly_calendar,
                     'response_rate': response_rate,
                     'is_managed': is_managed}

    return object_detail(request,
                         queryset=Venue.objects.all(),
                         slug=venue_slug,
                         template_name=template_name,
                         template_object_name='venue',
                         extra_context=extra_context,
                         )