Forked from
infrastruktur / warpinfra
56 commits behind the upstream repository.
-
Christian Dresen authoredChristian Dresen authored
views.py 1.84 KiB
from warpauth.util import *
from django.conf import settings
from django.http import HttpResponse
from warpmain.models import News, NewsForm
from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required
from warpzone.util import send_to_mattermost
import markdown
from django.utils.html import escape
@login_required(login_url=settings.LOGIN_URL, redirect_field_name=None)
def index(request, news_id=0):
news_form = None
if request.user.is_superuser:
if request.method == "POST":
news_form = NewsForm(request.POST)
if news_form.is_valid():
news = news_form.save()
news.user = request.user.ldap_username
news.save()
send_to_mattermost(news.user, "town-square","### "+news.title+"\n"+news.message)
return redirect("News")
else:
page_context['collapse'] = "in"
else:
news_form = NewsForm()
if news_id != 0:
news_form = NewsForm(News.objects.get(id=news_id))
page_context['create_news_form'] = news_form
page_context['news_list'] = []
news_list = News.objects.order_by("-created")
for news in news_list:
news.message = markdown.markdown(escape(news.message), extensions=['markdown.extensions.nl2br','markdown.extensions.sane_lists'])
page_context['news_list'].append(news)
return HttpResponse(render(request, 'warpmain/main.html', page_context))
def about(request):
return HttpResponse(render(request, 'warpmain/about.html', page_context))
@login_required(login_url=settings.LOGIN_URL, redirect_field_name=None)
def delete_news(request, news_id=0):
if request.user.is_superuser:
try:
News.objects.get(id=news_id).delete()
except:
pass
return redirect("News")