# -*- coding: utf-8 -*- from forms import ContributionForm from decorators import render_response from django.contrib.auth.decorators import login_required from django.core.urlresolvers import reverse from django.http import HttpResponseRedirect to_response = render_response('generator/templates/') @login_required @to_response def contribute(request): contribution_form = ContributionForm() if request.method == 'POST': contribution_form = ContributionForm(request.POST) if contribution_form.is_valid(): contribution_form.save() return 'contribute.html', {'form': contribution_form}
from datetime import date, timedelta from django.conf import settings from django.db.models.aggregates import Sum from django.views.decorators.cache import never_cache from decorators import render_response from core.models import Article, ArticleViews to_response = render_response('core/templates/') def mas_leidos(days=1, cover=False): """ Returns the top 10 most viewed articles counting days days ago from now. If cover is True, articles in satirical sections are excluded. (Issue4910). Rare but possible: exclude articles with an empty slug because they will raise exception when computing their urls. """ desde, more_exclude_kwargs = date.today() - timedelta(days), {} if cover: more_exclude_kwargs['article__sections__slug__in'] = getattr( settings, 'CORE_SATIRICAL_SECTIONS', ()) return [ Article.objects.get(id=av['article']) for av in ArticleViews.objects.filter( article__is_published=True, day__gt=desde).exclude( article__slug='').exclude( **more_exclude_kwargs).values('article').annotate( total_views=Sum('views')).order_by('-total_views')[:10] ]
# -*- coding: utf-8 -*- from shoutbox.models import Shout, get_last_shouts from decorators import render_response from django.contrib.auth.decorators import login_required from django.http import Http404, HttpResponse to_response = render_response('shoutbox/templates/') @login_required def do_shout(request): if request.method == 'POST': post = request.POST.copy() if post.get('message'): shout = Shout() shout.user = request.user shout.message = post.get('message') shout.save() return HttpResponse('') else: raise Http404 @to_response def shouts(request): from django.core.cache import cache if request.method == 'POST': shouts = cache.get('shouts', None) if not shouts: shouts = get_last_shouts()
from django.views.decorators.cache import never_cache from decorators import render_response from core.models import BreakingNewsModule, Category, Publication @never_cache def notification_closed(request, bn_id): closed = request.session.get('bn_notifications_closed', set()) closed.add(bn_id) request.session['bn_notifications_closed'] = closed return HttpResponse() to_response = render_response('core/templates/breaking_news_module/') @never_cache @to_response def content(request): category_id, publication_id, bn_mod = request.GET.get( 'category_id'), request.GET.get('publication'), None bn_modules_published = BreakingNewsModule.objects.filter(is_published=True) if bn_modules_published: if category_id: # category detail bn_mod = bn_modules_published.filter( categories=Category.objects.get(id=category_id)) elif publication_id: # not article detail
from datetime import datetime from django.conf import settings from django.shortcuts import get_object_or_404 from django.http import HttpResponseRedirect from django.views.decorators.cache import never_cache from apps import adzone_mdb from decorators import render_response from signupwall.utils import get_ip from adzone.models import AdBase to_response = render_response('adzone/templates/adzone/') @never_cache def ad_view(request, id, tracking=None): """ Record the click in the mongo database, then redirect to ad url """ ad = get_object_or_404(AdBase, id=id) if settings.ADZONE_LOG_AD_CLICKS: adzone_mdb.clicks.insert_one({'ad': ad.id, 'click_date': datetime.now(), 'source_ip': get_ip(request)}) return HttpResponseRedirect( (ad.mobile_url if ad.mobile_url and request.flavour == 'mobile' else ad.url) % {'timestamp': time()} ) @never_cache @to_response
import requests from django.conf import settings from django.db import IntegrityError from django.views.decorators.cache import never_cache from decorators import render_response from core.models import Category from thedaily.models import Subscriber, SubscriptionPrices from elegi_informarte.forms import SuscripcionForm, SuscripcionEmailForm, AttributionForm, AttributionAmountForm from elegi_informarte.models import Serie, Suscripcion to_response = render_response('elegi_informarte/templates/') try: ELECCIONES_CATEGORY = Category.objects.get(slug='elecciones') except Exception: ELECCIONES_CATEGORY = None @never_cache @to_response def suscripcion(request): try: sp = SubscriptionPrices.objects.get(subscription_type='DDIGM') except SubscriptionPrices.DoesNotExist: sp = None is_authenticated = request.user.is_authenticated() if is_authenticated: form_class = SuscripcionForm else: form_class = SuscripcionEmailForm
from decorators import render_response from django.conf import settings from django.db.models import Q from django.http import HttpResponseServerError, HttpResponseForbidden, HttpResponsePermanentRedirect from django.views.decorators.cache import never_cache from django.template import RequestContext from django.shortcuts import redirect, get_object_or_404, render_to_response from django.core.urlresolvers import reverse from core.models import Publication, Category, Section, Article, get_latest_edition from home.models import Home from faq.models import Question, Topic to_response = render_response('core/templates/category/') # Initialize the hashid object with salt from settings and custom length hashids = Hashids(settings.HASHIDS_SALT, 32) @never_cache def category_detail(request, slug): # deporte custom redirect if slug == u'deporte': return redirect(Publication.objects.get(slug=u'garra').get_absolute_url(), permanent=True) category, inner_sections = get_object_or_404(Category, slug=slug), [] question_list, questions_topic = [], None category_home = get_object_or_404(Home, category=category)
# coding=UTF-8 from django.utils.translation import ugettext_lazy as _ from decorators import render_response from models import * to_response = render_response('faq/') @to_response def index(request): return 'index.html'
from django.contrib.flatpages.models import FlatPage from decorators import render_response to_response = render_response('home/') # Create your views here. @to_response def index(request): try: noticias = FlatPage.objects.get(title='inicio-noticias').content except: noticias = '' try: cursos = FlatPage.objects.get(title='inicio-cursos').content except: cursos = '' try: certificaciones = FlatPage.objects.get(title='inicio-certificaciones').content except: certificaciones = '' try: biblioteca = FlatPage.objects.get(title='inicio-biblioteca').content except: biblioteca = '' return 'home.html', { 'noticias': noticias, 'cursos': cursos, 'certificaciones': certificaciones, 'biblioteca': biblioteca }
from django.shortcuts import redirect, render_to_response, get_object_or_404 from django.template import RequestContext from django.forms import HiddenInput from django.contrib.auth.decorators import permission_required, login_required from django.views.decorators.cache import never_cache from django.contrib.auth.models import User, Permission from django.db.models import Q from django.contrib.admin.views.decorators import staff_member_required from decorators import render_response from thedaily.models import Subscriber from models import SubscriberEvento, SubscriberArticle, TopUser, Beneficio, Socio, Registro from forms import ArticleForm, EventoForm, RegistroForm to_response = render_response('comunidad/templates/') @never_cache @staff_member_required def index(request): articulos = SubscriberArticle.objects.all()[:20] eventos = SubscriberEvento.objects.all()[:20] top_users_week = TopUser.objects.filter(type='WEEK').order_by( '-date_created', '-points').select_related('user') top_users_month = TopUser.objects.filter(type='MONTH').order_by( '-date_created', '-points').select_related('user') perm = Permission.objects.get(codename='es_suscriptor_ladiaria') latest_users = Subscriber.objects.filter(
from django.core.paginator import Paginator, InvalidPage, EmptyPage from django.core.urlresolvers import reverse from django.http import HttpResponseForbidden, HttpResponse, Http404 from django.shortcuts import get_object_or_404 from django.views.decorators.cache import never_cache from django.contrib.auth.models import User from django.contrib.auth.decorators import login_required from django.utils.safestring import mark_safe from decorators import render_response from libs.tokens.email_confirmation import download_token_generator from core.models import Edition, Supplement, get_current_edition from homev3.views import index from core.views.edition_calendar import EditionCalendar to_response = render_response('core/templates/edition/') @never_cache @to_response def edition_list(request): editions = Edition.objects.all().order_by('-date_published') paginator = Paginator(editions, 21) try: page = int(request.GET.get('pagina', '1')) except ValueError: page = 1 try: editions = paginator.page(page) except (EmptyPage, InvalidPage): editions = paginator.page(paginator.num_pages)
# -*- coding: utf-8 -*- from .models import Event, Activity from .forms import AttendantForm, AttendantFormRender from thedaily.models import Subscriber from decorators import render_response from django.shortcuts import get_object_or_404, get_list_or_404 from calendar import Calendar from datetime import date, timedelta to_response = render_response('events/templates/') DAYS = ('Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado', 'Domingo') @to_response def calendar(request, year=None, month=None): if year and month: date_object = date(int(year), int(month), 1) else: date_object = date.today() year, month = date_object.year, date_object.month events = Event.objects.filter(date__year=year, date__month=month) prev, next = get_prev_next(date_object) cal = Calendar().itermonthdates(date_object.year, date_object.month) return ( 'calendar.html', { 'date': date_object,
# coding=UTF-8 from django.contrib.auth.models import User from django.utils.translation import ugettext_lazy as _, ugettext as u_ from django.contrib.auth.decorators import login_required from decorators import render_response from django.http import HttpResponseRedirect, HttpResponse from django import newforms as forms from django.contrib import auth from models import * from datetime import date, datetime, timedelta to_response = render_response('canchas/') # Create your views here. @to_response def index(request): if request.user.is_authenticated(): if request.user.is_staff == 1: return HttpResponseRedirect('/administrador/') try: p=request.user.get_profile() return main(request) except Socio.DoesNotExist: return 'error.html', { 'error': _(u'No existe aún un socio para este usuario. Comunique este error a [email protected]') } else: return login(request) def main(request): return 'index.html', tablas(request) def set_lang(request, lang): from django.utils.translation import check_for_language, activate, to_locale, get_language
# -*- coding: utf-8 -*- from datetime import date from core.models import Supplement from decorators import render_response from django.core.paginator import Paginator, InvalidPage, EmptyPage from django.shortcuts import get_object_or_404 from django.views.decorators.cache import never_cache to_response = render_response('core/templates/supplement/') @never_cache @to_response def supplement_list(request): supplements = Supplement.objects.filter( public=True).order_by('-date_published') paginator = Paginator(supplements, 20) try: page = int(request.GET.get('pagina', '1')) except ValueError: page = 1 try: supplements = paginator.page(page) except (EmptyPage, InvalidPage): supplements = paginator.page(paginator.num_pages) return 'list.html', {'supplements': supplements} @never_cache
import re from elasticsearch_dsl import Q from django.conf import settings from django.core.paginator import Paginator, InvalidPage, EmptyPage from django.views.decorators.cache import never_cache from core.models import Article from decorators import render_response from .forms import SearchForm from .models import get_query from .documents import ArticleDocument to_response, dre, results_per_page = render_response( 'search/templates/'), re.compile(r'\w+[\w\s]+', re.UNICODE), 15 def _paginate(request, query): paginator = Paginator(query, results_per_page) try: page = int(request.GET.get('pagina', '1')) except (ValueError): page = 1 try: lista = paginator.page(page) except (EmptyPage, InvalidPage): lista = paginator.page(paginator.num_pages)
from decorators import render_response from django.http import HttpResponse, HttpResponseForbidden, HttpResponseBadRequest from django.views.decorators.csrf import csrf_exempt from django.views.decorators.cache import never_cache from django.core.exceptions import ValidationError from django.contrib.auth.models import Group from django.contrib.auth.decorators import permission_required from django.views.decorators.http import require_POST from django.shortcuts import get_object_or_404 from core.models import Article from .models import AudioStatistics to_response = render_response('dashboard/templates/') @never_cache @permission_required('thedaily.change_subscriber') @to_response def index(request): is_admin, is_seller, is_financial = request.user.is_superuser, False, False if not is_admin: user_groups = request.user.groups.all() is_seller = get_object_or_404(Group, name=getattr(settings, 'DASHBOARD_SELLER_GROUP', None)) in user_groups is_financial = get_object_or_404( Group, name=getattr(settings, 'DASHBOARD_FINANCIAL_GROUP',
from django.views.decorators.cache import never_cache # , cache_page # from django.views.decorators.vary import vary_on_cookie from django.template.defaultfilters import slugify from tagging.models import Tag from apps import core_articleviewedby_mdb, core_articlevisits_mdb from decorators import render_response # , decorate_if_no_staff, decorate_if_staff from core.forms import ReportErrorArticleForm, SendByEmailForm from core.models import Publication, Category, Article, ArticleUrlHistory class ArticleDetailView(DetailView): model = Article to_response = render_response('core/templates/article/') def get_type(type_slug): for type in Article.TYPE_CHOICES: if type_slug == slugify(type[1]): return type return (None, None) @never_cache @to_response def article_list(request, type_slug): atype = {} atype['slug'], atype['name'] = get_type(type_slug) if not atype['slug']:
from django.conf import settings from django.core.urlresolvers import reverse from django.http import Http404, HttpResponsePermanentRedirect from django.shortcuts import get_object_or_404 from django.views.decorators.vary import vary_on_cookie from django.views.decorators.cache import never_cache, cache_control from decorators import render_response, decorate_if_no_staff, decorate_if_staff from core.models import (Edition, get_current_edition, Section, Publication, Category) from core.views.category import category_detail from home.models import Home from faq.models import Question, Topic from cartelera.models import LiveEmbedEvent to_response = render_response('homev3/templates/') @decorate_if_staff(decorator=never_cache) @decorate_if_no_staff(decorator=vary_on_cookie) @decorate_if_no_staff(decorator=cache_control(no_cache=True, no_store=True, must_revalidate=True, max_age=120)) @to_response def index(request, year=None, month=None, day=None, domain_slug=None): """ View to display the current edition page. Or the edition in the date and publication matching domain_slug. If domain_slug is a Category slug this view will return the matching category detail view. """ if domain_slug: # if domain_slug is one of the "root url" publications => redirect to home if domain_slug in settings.CORE_PUBLICATIONS_USE_ROOT_URL: