website/conservancy/news/urls.py

47 lines
1.7 KiB
Python

# Copyright 2005-2008, James Garrison
# Copyright 2010, Bradley M. Kuhn
# This software's license gives you freedom; you can copy, convey,
# propagate, redistribute, modify and/or redistribute modified versions of
# this program under the terms of the GNU Affero General Public License
# (AGPL) as published by the Free Software Foundation (FSF), either
# version 3 of the License, or (at your option) any later version of the
# AGPL published by the FSF.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
# General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program in a file in the toplevel directory called
# "AGPLv3". If not, see <http://www.gnu.org/licenses/>.
from django.conf import settings
from django.urls import path
from .models import ExternalArticle, PressRelease
from .views import (
NewsDateDetailView,
NewsDayArchiveView,
NewsMonthArchiveView,
NewsYearArchiveView,
listing,
)
info_dict = {
'queryset': PressRelease.objects.all().filter(sites__id__exact=settings.SITE_ID),
'date_field': 'pub_date',
}
external_article_dict = {
'articles': ExternalArticle.objects.all()
}
urlpatterns = [
path('<int:year>/<month>/<int:day>/<slug:slug>/', NewsDateDetailView.as_view(**info_dict)),
path('<int:year>/<month>/<int:day>/', NewsDayArchiveView.as_view(**info_dict)),
path('<int:year>/<month>/', NewsMonthArchiveView.as_view(**info_dict)),
path('<int:year>/', NewsYearArchiveView.as_view(**info_dict)),
path('', listing, dict(info_dict, paginate_by=6)),
]