2023-10-05 08:17:55 +00:00
|
|
|
# Copyright 2010 Bradley M. Kuhn <bkuhn@ebb.org>
|
|
|
|
# Copyright 2005-2008 James Garrison
|
|
|
|
|
|
|
|
# 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/>.
|
|
|
|
|
2024-02-23 04:02:04 +00:00
|
|
|
from datetime import datetime
|
2023-10-05 08:17:55 +00:00
|
|
|
|
2024-04-25 05:32:24 +00:00
|
|
|
from django.shortcuts import get_object_or_404, render
|
2023-10-19 22:52:39 +00:00
|
|
|
|
2024-04-25 05:32:24 +00:00
|
|
|
from .models import Cast, Podcast
|
2023-10-19 06:21:53 +00:00
|
|
|
|
2023-10-19 22:52:39 +00:00
|
|
|
|
2024-04-25 05:32:24 +00:00
|
|
|
def view(request, podcast_slug):
|
2023-10-05 08:17:55 +00:00
|
|
|
"""Cast front page view
|
|
|
|
Performs all object queries necessary to render the front page.
|
|
|
|
"""
|
2024-04-25 05:32:24 +00:00
|
|
|
podcast = get_object_or_404(Podcast, slug=podcast_slug)
|
|
|
|
cast = Cast.objects.filter(podcast=podcast, pub_date__lte=datetime.now())[:3]
|
2023-10-05 08:17:55 +00:00
|
|
|
c = {
|
|
|
|
'cast': cast,
|
2024-04-25 05:32:24 +00:00
|
|
|
'podcast': podcast,
|
2023-10-05 08:17:55 +00:00
|
|
|
}
|
|
|
|
return render(request, "podjango/frontpage.html", c)
|