Exemple #1
0
def issuearchive_epicurien(request, issue_number):
    """
    Displays "Epicurien" category of a given issue.
    
    """
    issue = _get_current_issue(issue_number=issue_number)
    return epicurien(request, issue=issue, is_archive=True)
Exemple #2
0
def issuearchive_regions(request, issue_number):
    """
    Displays "Regions" category of a given issue.
    
    """
    issue = _get_current_issue(issue_number=issue_number)
    return regions(request, issue=issue, is_archive=True)
Exemple #3
0
def issuearchive_voyages(request, issue_number):
    """
    Displays "Voyages" category of a given issue.
    
    """
    issue = _get_current_issue(issue_number=issue_number)
    return voyages(request, issue=issue, is_archive=True)
Exemple #4
0
def issuearchive_home(request, issue_number):
    """
    Displays home archive of a given issue.
    
    """
    issue = _get_current_issue(issue_number=issue_number)
    return home(request, issue=issue, is_archive=True)
Exemple #5
0
def issuearchive_category(request, issue_number, category_slug):
    """
    Displays category archive of a given issue.
    
    """
    issue = _get_current_issue(issue_number=issue_number)
    return category(request, category_slug, issue=issue, is_archive=True)
Exemple #6
0
def issuearchive_anger(request, issue_number):
    """
    Displays "Anger" category of a given issue.
    
    """
    issue = _get_current_issue(issue_number=issue_number)
    return anger(request, issue=issue, is_archive=True)
Exemple #7
0
def archives(request):
    """
    Displays archive list.
    
    """
    issue = _get_current_issue()
    context = {}   
    
    context['issue'] = issue
    context['is_current'] = True
    
    try:
        item_list = Issue.objects.filter(is_published=True).order_by('-publication_date')
    except ObjectDoesNotExist:
        item_list = None
        
    paginator = Paginator(item_list, 30)
    try:
        page = int(request.GET.get('page', '1'))
    except ValueError:
        page = 1
    try:
        context['items'] = paginator.page(page)
    except (EmptyPage, InvalidPage):
        context['items'] = paginator.page(paginator.num_pages)
        
    return render_to_response(
        'archives/archives.html', 
        context, 
        context_instance=RequestContext(request)
    )
Exemple #8
0
def unsubscribe_thanks(request):
    """
    View of newsletter unsubscribe thanks message.
    
    """
    context = {}
    issue = _get_current_issue()
    context['issue'] = issue
    context['is_current'] = True
    return direct_to_template(request, 'newsletter/unsubscribe_thanks.html', context)
Exemple #9
0
def thanks(request):
    """
    View of thanks message.
    
    """
    issue = _get_current_issue()
    context = {}
    context['issue'] = issue
    context['is_current'] = True
    
    return direct_to_template(request, 'sendfriend/thanks.html', context)
Exemple #10
0
def poll_results(request, poll_slug):
    """
    View of polls results.
    
    """
    context = {}
    issue = _get_current_issue()
    context['issue'] = issue
    context['is_current'] = True
    
    poll = get_object_or_404(Poll.published.all(), slug=poll_slug)
    context['poll'] = poll
    
    return direct_to_template(request, 'polls/results.html', context)
Exemple #11
0
def unsubscribe_form(request):
    """
    View of newsletter unsubscribing form.
    
    """
    context = {}
    issue = _get_current_issue()
    context['issue'] = issue
    context['is_current'] = True
    if request.method == 'POST':
        form = UnsubscribeForm(request.POST)
        if form.is_valid():
            subscriber = Subscriber.objects.get(email=form.cleaned_data['email'])
            subscriber.delete()
            return HttpResponseRedirect(reverse('newsletter_unsubscribe_thanks'))
    else:
        form = UnsubscribeForm(auto_id=True)
    context['form'] = form
    return direct_to_template(request, 'newsletter/unsubscribe_form.html', context)
Exemple #12
0
def subscribe_form(request):
    """
    View of newsletter subscribing form.
    
    """
    context = {}
    issue = _get_current_issue()
    context['issue'] = issue
    context['is_current'] = True
    if request.method == 'POST':
        form = SubscriberForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('newsletter_subscribe_thanks'))
    else:
        form = SubscriberForm(auto_id=True)
        
    context['form'] = form
    return direct_to_template(request, 'newsletter/subscribe_form.html', context)
Exemple #13
0
def sendfriend_send_mail(form):
    """
    Generates and sends email.
    
    """
    issue = _get_current_issue()
    context = {}
    context['issue'] = issue
    context['is_current'] = True
    
    all_items = []
    # Articles standard categories
    articles = Article.published.filter(issues__id=issue.id)
    for a in articles:
        all_items.append((a.id, a))
    # Regions
    featured = FeaturedRegion.objects.get(issue=issue)
    region_note = RegionNote.published.filter(region=featured.region, issues__id=issue.id)[0]
    all_items.append((region_note.id, region_note))
    # Voyages
    articles_voyages = VoyagesArticle.published.filter(issues__id=issue.id)
    for a in articles_voyages:
        all_items.append((a.id, a))
    # Epicurien
    articles_epicurien = EpicurienArticle.published.filter(issues__id=issue.id)
    for a in articles_epicurien:
        all_items.append((a.id, a))
    # Anger
    articles_anger = AngerArticle.published.filter(issues__id=issue.id)
    for a in articles_anger:
        all_items.append((a.id, a))
    items = [item for k, item in all_items]
    
    context['items'] = items
    context['sender'] = form.cleaned_data['sender']
    context['message'] = form.cleaned_data['message']
    
    body = render_to_string('sendfriend/email.html', context)
    subject = u'Critic@...'
    msg = EmailMessage(subject, body, settings.DEFAULT_FROM_EMAIL, [form.cleaned_data['to_email']])
    msg.content_subtype = "html"
    msg.send()
Exemple #14
0
def index(request):
    """
    View handling form requests.
    
    """
    issue = _get_current_issue()
    context = {}
    context['issue'] = issue
    context['is_current'] = True
    
    if request.method == 'POST':
        form = SendFriendForm(request.POST)
        if form.is_valid():
            sendfriend_send_mail(form)
            return HttpResponseRedirect(reverse('sendfriend_thanks'))
    else:
        form = SendFriendForm(auto_id=True)
        
    context['form'] = form

    return direct_to_template(request, 'sendfriend/form_page.html', context)
Exemple #15
0
def index(request):
    """
    View of archive list.
    
    """
    issue = _get_current_issue()
    context = {}   
    context['issue'] = issue
    context['is_current'] = True
    try:
        item_list = Issue.objects.filter(is_published=True).order_by('-publication_date')
    except ObjectDoesNotExist:
        item_list = None
    paginator = Paginator(item_list, 30)
    try:
        page = int(request.GET.get('page', '1'))
    except ValueError:
        page = 1
    try:
        context['items'] = paginator.page(page)
    except (EmptyPage, InvalidPage):
        context['items'] = paginator.page(paginator.num_pages)
    return direct_to_template(request, 'issues_archive/index.html', context)
Exemple #16
0
def _initialize_context(kwarg_dict):
    """
    Initialize context.
    
    """
    issue = None
    if "issue" in kwarg_dict:
        issue = kwarg_dict["issue"]

    is_preview = None
    if "is_preview" in kwarg_dict:
        is_preview = kwarg_dict["is_preview"]

    is_archive = None
    if "is_archive" in kwarg_dict:
        is_archive = kwarg_dict["is_archive"]

    is_ads_preview = None
    if "is_ads_preview" in kwarg_dict:
        is_ads_preview = kwarg_dict["is_ads_preview"]

    extra_context = None
    if "extra_context" in kwarg_dict:
        extra_context = kwarg_dict["extra_context"]

    # Update context with extra_context
    # --------------------------------------------------------------------------
    context = {}
    if extra_context:
        context.update(extra_context)

    # Issue
    # ---------------------------------------------------------------------------
    if not issue:
        issue = _get_current_issue()
    context["issue"] = issue

    # Is a preview mode?
    # --------------------------------------------------------------------------
    context["is_preview"] = False
    if is_preview:
        context["is_preview"] = True

    # Is a ads preview mode?
    # --------------------------------------------------------------------------
    context["is_ads_preview"] = False
    if is_ads_preview:
        context["is_ads_preview"] = True

    # Is an archive mode?
    # --------------------------------------------------------------------------
    context["is_archive"] = False
    if is_archive:
        context["is_archive"] = True

    # Is a current mode?
    # --------------------------------------------------------------------------
    context["is_current"] = False
    if not context["is_preview"] and not context["is_archive"] and not context["is_ads_preview"]:
        context["is_current"] = True

    return context