mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
63 lines
2.2 KiB
Python
63 lines
2.2 KiB
Python
from django.shortcuts import render_to_response, get_object_or_404
|
|
from django.template import RequestContext
|
|
from django.contrib.auth.models import User
|
|
from django.conf import settings
|
|
|
|
from src.config.models import ConfigValue
|
|
from src.objects.models import ObjectDB
|
|
from src.typeclasses.models import TypedObject
|
|
from src.players.models import PlayerDB
|
|
from game.web.news.models import NewsEntry
|
|
|
|
"""
|
|
This file contains the generic, assorted views that don't fall under one of
|
|
the other applications.
|
|
"""
|
|
|
|
def page_index(request):
|
|
"""
|
|
Main root page.
|
|
"""
|
|
# Some misc. configurable stuff.
|
|
# TODO: Move this to either SQL or settings.py based configuration.
|
|
fpage_player_limit = 4
|
|
fpage_news_entries = 2
|
|
|
|
# A QuerySet of recent news entries.
|
|
news_entries = NewsEntry.objects.all().order_by('-date_posted')[:fpage_news_entries]
|
|
# A QuerySet of the most recently connected players.
|
|
recent_users = PlayerDB.objects.get_recently_connected_players()[:fpage_player_limit]
|
|
|
|
exits = ObjectDB.objects.get_objs_with_attr('_destination')
|
|
rooms = [room for room in ObjectDB.objects.filter(db_home=None) if room not in exits]
|
|
|
|
pagevars = {
|
|
"page_title": "Front Page",
|
|
"news_entries": news_entries,
|
|
"players_connected_recent": recent_users,
|
|
"num_players_connected": ConfigValue.objects.conf('nr_sessions'),#len(PlayerDB.objects.get_connected_players()),
|
|
"num_players_registered": PlayerDB.objects.num_total_players(),
|
|
"num_players_connected_recent": len(PlayerDB.objects.get_recently_connected_players()),
|
|
"num_players_registered_recent": len(PlayerDB.objects.get_recently_created_players()),
|
|
"num_rooms": len(rooms),
|
|
"num_exits": len(exits),
|
|
"num_objects" : ObjectDB.objects.all().count()
|
|
}
|
|
|
|
context_instance = RequestContext(request)
|
|
return render_to_response('index.html', pagevars, context_instance)
|
|
|
|
def to_be_implemented(request):
|
|
"""
|
|
A notice letting the user know that this particular feature hasn't been
|
|
implemented yet.
|
|
"""
|
|
|
|
pagevars = {
|
|
"page_title": "To Be Implemented...",
|
|
}
|
|
|
|
context_instance = RequestContext(request)
|
|
return render_to_response('tbi.html', pagevars, context_instance)
|
|
|
|
|