From def97b58a89992a5208f05cd7da4b20aa9813fdb Mon Sep 17 00:00:00 2001 From: Kelketek Rritaa Date: Sun, 29 Jun 2014 08:14:33 -0500 Subject: [PATCH] Renamed static ev directory to evennia_general Removed defunct news app. --- src/settings_default.py | 1 - src/web/news/__init__.py | 0 src/web/news/admin.py | 17 --- src/web/news/models.py | 47 ------- src/web/news/urls.py | 12 -- src/web/news/views.py | 129 ------------------ .../css/prosimii-print.css | 0 .../css/prosimii-screen-alt.css | 0 .../css/prosimii-screen.css | 0 .../{ev => evennia_general}/images/LICENCE | 0 .../images/evennia_logo.png | Bin .../images/evennia_logo_small.png | Bin .../images/favicon.ico | Bin src/web/templates/prosimii/base.html | 10 +- src/web/templates/prosimii/news/archive.html | 51 ------- .../templates/prosimii/news/search_form.html | 19 --- .../templates/prosimii/news/show_entry.html | 14 -- src/web/urls.py | 3 - 18 files changed, 5 insertions(+), 298 deletions(-) delete mode 100755 src/web/news/__init__.py delete mode 100644 src/web/news/admin.py delete mode 100755 src/web/news/models.py delete mode 100755 src/web/news/urls.py delete mode 100755 src/web/news/views.py rename src/web/static/{ev => evennia_general}/css/prosimii-print.css (100%) rename src/web/static/{ev => evennia_general}/css/prosimii-screen-alt.css (100%) rename src/web/static/{ev => evennia_general}/css/prosimii-screen.css (100%) rename src/web/static/{ev => evennia_general}/images/LICENCE (100%) rename src/web/static/{ev => evennia_general}/images/evennia_logo.png (100%) rename src/web/static/{ev => evennia_general}/images/evennia_logo_small.png (100%) rename src/web/static/{ev => evennia_general}/images/favicon.ico (100%) delete mode 100644 src/web/templates/prosimii/news/archive.html delete mode 100644 src/web/templates/prosimii/news/search_form.html delete mode 100644 src/web/templates/prosimii/news/show_entry.html diff --git a/src/settings_default.py b/src/settings_default.py index e64eaab545..e0db9a45af 100644 --- a/src/settings_default.py +++ b/src/settings_default.py @@ -569,7 +569,6 @@ INSTALLED_APPS = ( 'src.comms', 'src.help', 'src.scripts', - 'src.web.news', 'src.web.webclient') # The user profile extends the User object with more functionality; # This should usually not be changed. diff --git a/src/web/news/__init__.py b/src/web/news/__init__.py deleted file mode 100755 index e69de29bb2..0000000000 diff --git a/src/web/news/admin.py b/src/web/news/admin.py deleted file mode 100644 index 9e48748f01..0000000000 --- a/src/web/news/admin.py +++ /dev/null @@ -1,17 +0,0 @@ -# -# This makes the news model visible in the admin web interface -# so one can add/edit/delete news items etc. -# - -from django.contrib import admin -from src.web.news.models import NewsTopic, NewsEntry - -class NewsTopicAdmin(admin.ModelAdmin): - list_display = ('name', 'icon') -admin.site.register(NewsTopic, NewsTopicAdmin) - -class NewsEntryAdmin(admin.ModelAdmin): - list_display = ('title', 'author', 'topic', 'date_posted') - list_filter = ('topic',) - search_fields = ['title'] -admin.site.register(NewsEntry, NewsEntryAdmin) diff --git a/src/web/news/models.py b/src/web/news/models.py deleted file mode 100755 index d89d3362df..0000000000 --- a/src/web/news/models.py +++ /dev/null @@ -1,47 +0,0 @@ -# -# This module implements a simple news entry system -# for the evennia website. One needs to use the -# admin interface to add/edit/delete entries. -# - -from django.db import models -from django.contrib.auth import get_user_model - -User = get_user_model() - -class NewsTopic(models.Model): - """ - Represents a news topic. - """ - name = models.CharField(max_length=75, unique=True) - description = models.TextField(blank=True) - icon = models.ImageField(upload_to='newstopic_icons', - default='newstopic_icons/default.png', - blank=True, help_text="Image for the news topic.") - - def __str__(self): - try: - return self.name - except: - return "Invalid" - - class Meta: - ordering = ['name'] - -class NewsEntry(models.Model): - """ - An individual news entry. - """ - author = models.ForeignKey(User, related_name='author') - title = models.CharField(max_length=255) - body = models.TextField() - topic = models.ForeignKey(NewsTopic, related_name='newstopic') - date_posted = models.DateTimeField(auto_now_add=True) - - def __str__(self): - return self.title - - class Meta: - ordering = ('-date_posted',) - verbose_name_plural = "News entries" - diff --git a/src/web/news/urls.py b/src/web/news/urls.py deleted file mode 100755 index d0a769531f..0000000000 --- a/src/web/news/urls.py +++ /dev/null @@ -1,12 +0,0 @@ -""" -This structures the url tree for the news application. -It is imported from the root handler, game.web.urls.py. -""" - -from django.conf.urls import * - -urlpatterns = [ - url(r'^show/(?P\d+)/$', 'show_news', name="show"), - url(r'^archive/$', 'news_archive', name="archive"), - url(r'^search/$', 'search_form', name="search"), - url(r'^search/results/$', 'search_results', name="search_results")] diff --git a/src/web/news/views.py b/src/web/news/views.py deleted file mode 100755 index 54f2caabab..0000000000 --- a/src/web/news/views.py +++ /dev/null @@ -1,129 +0,0 @@ - -""" -This is a very simple news application, with most of the expected features -like news-categories/topics and searchable archives. - -""" - -from django.views.generic import ListView -from django.shortcuts import render_to_response, get_object_or_404 -from django.template import RequestContext -from django.conf import settings -from django.http import HttpResponseRedirect -from django.contrib.auth.models import User -from django import forms -from django.db.models import Q - -from src.web.news.models import NewsTopic, NewsEntry - -# The sidebar text to be included as a variable on each page. There's got to -# be a better, cleaner way to include this on every page. -sidebar = """ -

This page’s menu:

- -""" - -class SearchForm(forms.Form): - """ - Class to represent a news search form under Django's newforms. This is used - to validate the input on the search_form view, as well as the search_results - view when we're picking the query out of GET. This makes searching safe - via the search form or by directly inputing values via GET key pairs. - """ - search_terms = forms.CharField(max_length=100, min_length=3, required=True) - -def show_news(request, entry_id): - """ - Show an individual news entry. Display some basic information along with - the title and content. - """ - news_entry = get_object_or_404(NewsEntry, id=entry_id) - - pagevars = { - "page_title": "News Entry", - "news_entry": news_entry, - "sidebar": sidebar - } - - context_instance = RequestContext(request) - return render_to_response('news/show_entry.html', pagevars, context_instance) - -def news_archive(request): - """ - Shows an archive of news entries. - - TODO: Expand this a bit to allow filtering by month/year. - """ - news_entries = NewsEntry.objects.all().order_by('-date_posted') - # TODO: Move this to either settings.py or the SQL configuration. - entries_per_page = 15 - - pagevars = { - "page_title": "News Archive", - "browse_url": "/news/archive", - "sidebar": sidebar - } - view = ListView.as_view(queryset=news_entries) - return view(request, template_name='news/archive.html', \ - extra_context=pagevars, paginate_by=entries_per_page) - -def search_form(request): - """ - Render the news search form. Don't handle much validation at all. If the - user enters a search term that meets the minimum, send them on their way - to the results page. - """ - if request.method == 'GET': - # A GET request was sent to the search page, load the value and - # validate it. - search_form = SearchForm(request.GET) - if search_form.is_valid(): - # If the input is good, send them to the results page with the - # query attached in GET variables. - return HttpResponseRedirect('/news/search/results/?search_terms='+ search_form.cleaned_data['search_terms']) - else: - # Brand new search, nothing has been sent just yet. - search_form = SearchForm() - - pagevars = { - "page_title": "Search News", - "search_form": search_form, - "debug": settings.DEBUG, - "sidebar": sidebar - } - - context_instance = RequestContext(request) - return render_to_response('news/search_form.html', pagevars, context_instance) - -def search_results(request): - """ - Shows an archive of news entries. Use the generic news browsing template. - """ - # TODO: Move this to either settings.py or the SQL configuration. - entries_per_page = 15 - - # Load the form values from GET to validate against. - search_form = SearchForm(request.GET) - # You have to call is_valid() or cleaned_data won't be populated. - valid_search = search_form.is_valid() - # This is the safe data that we can pass to queries without huge worry of - # badStuff(tm). - cleaned_get = search_form.cleaned_data - - # Perform searches that match the title and contents. - # TODO: Allow the user to specify what to match against and in what - # topics/categories. - news_entries = NewsEntry.objects.filter(Q(title__contains=cleaned_get['search_terms']) | Q(body__contains=cleaned_get['search_terms'])) - - pagevars = { - "game_name": settings.SERVERNAME, - "page_title": "Search Results", - "searchtext": cleaned_get['search_terms'], - "browse_url": "/news/search/results", - "sidebar": sidebar - } - view = ListView.as_view(queryset=news_entries) - return view(request, news_entries, template_name='news/archive.html', extra_context=pagevars, paginate_by=entries_per_page) diff --git a/src/web/static/ev/css/prosimii-print.css b/src/web/static/evennia_general/css/prosimii-print.css similarity index 100% rename from src/web/static/ev/css/prosimii-print.css rename to src/web/static/evennia_general/css/prosimii-print.css diff --git a/src/web/static/ev/css/prosimii-screen-alt.css b/src/web/static/evennia_general/css/prosimii-screen-alt.css similarity index 100% rename from src/web/static/ev/css/prosimii-screen-alt.css rename to src/web/static/evennia_general/css/prosimii-screen-alt.css diff --git a/src/web/static/ev/css/prosimii-screen.css b/src/web/static/evennia_general/css/prosimii-screen.css similarity index 100% rename from src/web/static/ev/css/prosimii-screen.css rename to src/web/static/evennia_general/css/prosimii-screen.css diff --git a/src/web/static/ev/images/LICENCE b/src/web/static/evennia_general/images/LICENCE similarity index 100% rename from src/web/static/ev/images/LICENCE rename to src/web/static/evennia_general/images/LICENCE diff --git a/src/web/static/ev/images/evennia_logo.png b/src/web/static/evennia_general/images/evennia_logo.png similarity index 100% rename from src/web/static/ev/images/evennia_logo.png rename to src/web/static/evennia_general/images/evennia_logo.png diff --git a/src/web/static/ev/images/evennia_logo_small.png b/src/web/static/evennia_general/images/evennia_logo_small.png similarity index 100% rename from src/web/static/ev/images/evennia_logo_small.png rename to src/web/static/evennia_general/images/evennia_logo_small.png diff --git a/src/web/static/ev/images/favicon.ico b/src/web/static/evennia_general/images/favicon.ico similarity index 100% rename from src/web/static/ev/images/favicon.ico rename to src/web/static/evennia_general/images/favicon.ico diff --git a/src/web/templates/prosimii/base.html b/src/web/templates/prosimii/base.html index a0008f2e63..4c260f8c2e 100644 --- a/src/web/templates/prosimii/base.html +++ b/src/web/templates/prosimii/base.html @@ -9,12 +9,12 @@ {% if sidebar %} - + {% else %} - + {% endif %} - - + + {% block header_ext %} {% endblock %} @@ -35,7 +35,7 @@
-

{{game_name}}

+

{{game_name}}

{{game_slogan}}   diff --git a/src/web/templates/prosimii/news/archive.html b/src/web/templates/prosimii/news/archive.html deleted file mode 100644 index e3859771ec..0000000000 --- a/src/web/templates/prosimii/news/archive.html +++ /dev/null @@ -1,51 +0,0 @@ -{% extends "base.html" %} - -{% block header_ext %} -{% endblock %} - -{% block sidebar %} -{{sidebar|safe}} -{% endblock %} - -{% block content %} -

{{page_title}}

- -Navigation: First | -{% if has_previous %} - Prev -{% else %} - Prev -{% endif %} - -| {{page}} of {{pages}} pages | - -{% if has_next %} - Next -{% else %} - Next -{% endif %} -| Last - -{% for entry in object_list %} - {{entry.topic.name}}: {{entry.title}} -

By {{entry.author.username}} on {{entry.date_posted|time}}

-

{{entry.body|truncatewords:80}}

-{% endfor %} - -Navigation: First | -{% if has_previous %} - Prev -{% else %} - Prev -{% endif %} - -| {{page}} of {{pages}} pages | - -{% if has_next %} - Next -{% else %} - Next -{% endif %} -| Last - -{% endblock %} diff --git a/src/web/templates/prosimii/news/search_form.html b/src/web/templates/prosimii/news/search_form.html deleted file mode 100644 index 940bb0a09a..0000000000 --- a/src/web/templates/prosimii/news/search_form.html +++ /dev/null @@ -1,19 +0,0 @@ -{% extends "base.html" %} - -{% block header_ext %} -{% endblock %} - -{% block sidebar %} -{{sidebar|safe}} -{% endblock %} - -{% block content %} -

Search News

-

Enter a search term or phrase to search by. Matches will be made against - news titles and their contents. Searches must be at least three characters - long.

-
- {{search_form.search_terms}} - -
-{% endblock %} diff --git a/src/web/templates/prosimii/news/show_entry.html b/src/web/templates/prosimii/news/show_entry.html deleted file mode 100644 index 475d087016..0000000000 --- a/src/web/templates/prosimii/news/show_entry.html +++ /dev/null @@ -1,14 +0,0 @@ -{% extends "base.html" %} - -{% block header_ext %} -{% endblock %} - -{% block sidebar %} -{{sidebar|safe}} -{% endblock %} - -{% block content %} -

{{news_entry.topic.name}}: {{news_entry.title}}

-

By {{news_entry.author.username}} on {{news_entry.date_posted|time}}

-

{{news_entry.body}}

-{% endblock %} diff --git a/src/web/urls.py b/src/web/urls.py index ceb24fa423..ea9e1576bc 100755 --- a/src/web/urls.py +++ b/src/web/urls.py @@ -29,9 +29,6 @@ urlpatterns = [ url(r'^accounts/login', 'django.contrib.auth.views.login', name="login"), url(r'^accounts/logout', 'django.contrib.auth.views.logout', name="logout"), - # News stuff - # url(r'^news/', include('src.web.news.urls')), - # Page place-holder for things that aren't implemented yet. url(r'^tbi/', 'src.web.views.to_be_implemented', name='to_be_implemented'),