Toggle Light / Dark / Auto color theme
Toggle table of contents sidebar
Source code for intranet.apps.signage.pages
# This file contains logic for server-side rendered pages
import datetime
from django.conf import settings
from django.utils import timezone
from ..announcements.models import Announcement
from ..schedule.models import Day
[docs] def hello_world ( page , sign , request ):
return { "message" : f " { page . name } from { sign . name } says Hello" }
[docs] def announcements ( page , sign , request ): # pylint: disable=unused-argument
return { "public_announcements" : Announcement . objects . filter ( groups__isnull = True , expiration_date__gt = timezone . now ())}
[docs] def bus ( page , sign , request ): # pylint: disable=unused-argument
now = timezone . localtime ()
time = "afternoon"
if now . hour < settings . BUS_PAGE_CHANGEOVER_HOUR :
time = "morning"
day = Day . objects . today ()
if day is not None and day . end_time is not None :
end_of_day = day . end_time . date_obj ( now . date ())
else :
end_of_day = datetime . datetime ( now . year , now . month , now . day , settings . SCHOOL_END_HOUR , settings . SCHOOL_END_MINUTE )
return {
"admin" : False ,
"signage" : True ,
"ws_protocol" : "ws" if request . scheme == "http" else "wss" ,
"ws_host" : request . get_host (),
"school_end_hour" : end_of_day . hour ,
"school_end_time" : end_of_day . minute ,
"time" : time ,
"changeover_time" : settings . BUS_PAGE_CHANGEOVER_HOUR ,
}