Skip to content

Commit

Permalink
#99 reorganzing views package
Browse files Browse the repository at this point in the history
  • Loading branch information
Sh4kE committed Dec 10, 2016
1 parent 342aa72 commit bf198ae
Show file tree
Hide file tree
Showing 13 changed files with 321 additions and 305 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
MSG_SETTINGS_SAVED = "Die neuen Einstellungen wurden gespeichert."
MSG_PASSWORDS_UNEQUAL = "Die eingegeben Passwörter stimmen nicht überein."
MSG_OFM_PASSWORDS_UNEQUAL = "Die eingegeben OFM Passwörter stimmen nicht überein."
NEWER_OFM_VERSION_AVAILABLE = "Es ist eine neuere Version von OFM Helper verfügbar: %s. Du nutzt noch: %s."
8 changes: 4 additions & 4 deletions core/ofm_urls.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
from django.conf.urls import url

from core.views.finance_views import FinanceDataView, FinancesAsJsonView, FinanceBalanceChartView, \
from core.views.ofm.finance_views import FinanceDataView, FinancesAsJsonView, FinanceBalanceChartView, \
FinanceIncomeChartView, FinanceExpensesChartView
from core.views.match_views import MatchesView, MatchesAsJsonView, MatchesSummaryJsonView
from core.views.player_views import PlayerStatisticsView, PlayerStatisticsAsJsonView, PlayerDetailView, PlayerChartView
from core.views.stadium_views import StadiumStatisticsView, StadiumStatisticsAsJsonView, StadiumDetailView, \
from core.views.ofm.match_views import MatchesView, MatchesAsJsonView, MatchesSummaryJsonView
from core.views.ofm.player_views import PlayerStatisticsView, PlayerStatisticsAsJsonView, PlayerDetailView, PlayerChartView
from core.views.ofm.stadium_views import StadiumStatisticsView, StadiumStatisticsAsJsonView, StadiumDetailView, \
StadiumStandStatisticsView, StadiumStandStatisticsChartView

app_name = 'ofm'
Expand Down
18 changes: 10 additions & 8 deletions core/urls.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
from django.conf.urls import url, include
from django.views.generic.base import TemplateView, RedirectView

import core.views.account_views
import core.views.settings_views
import core.views.trigger_parsing_views
from core.views import base_views
from core.views.base_views import CreateChecklistItemView, DeleteChecklistItemView, GetChecklistItemsView, \
UpdateChecklistItemView, GetChecklistItemsForTodayView, GetCurrentMatchdayView, UpdateChecklistPriorityView
from core.views.base_views import GetCurrentMatchdayView
from core.views.checklist_views import GetChecklistItemsView, GetChecklistItemsForTodayView, CreateChecklistItemView, \
UpdateChecklistPriorityView, UpdateChecklistItemView, DeleteChecklistItemView

app_name = 'core'
urlpatterns = [
url(r'^favicon\.ico$', RedirectView.as_view(url='/static/core/img/OFM_favicon.png', permanent=True)),
url(r'^$', TemplateView.as_view(template_name='core/home.html'), name='home'),
url(r'^register/?$', base_views.register_view, name='register'),
url(r'^login/?$', base_views.login_view, name='login'),
url(r'^account/?$', base_views.account_view, name='account'),
url(r'^logout/?$', base_views.logout_view, name='logout'),
url(r'^register/?$', core.views.account_views.register_view, name='register'),
url(r'^login/?$', core.views.account_views.login_view, name='login'),
url(r'^account/?$', core.views.account_views.account_view, name='account'),
url(r'^logout/?$', core.views.account_views.logout_view, name='logout'),
url(r'^ofm/', include('core.ofm_urls'), name='ofm'),
url(r'^get_current_matchday/?$', GetCurrentMatchdayView.as_view(), name='get_current_matchday'),

url(r'^settings/?$', base_views.settings_view, name='settings'),
url(r'^settings/?$', core.views.settings_views.settings_view, name='settings'),
url(r'^settings_get_checklist_items/?$', GetChecklistItemsView.as_view(), name='settings_get_checklist_items'),
url(r'^settings_get_checklist_items_for_today/?$', GetChecklistItemsForTodayView.as_view(),
name='settings_get_checklist_items_for_today'),
Expand Down
92 changes: 92 additions & 0 deletions core/views/account_views.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
from django.contrib import messages
from django.contrib.auth import authenticate, login, logout
from django.shortcuts import render, redirect

from core.localization.messages import MSG_PASSWORDS_UNEQUAL, MSG_OFM_PASSWORDS_UNEQUAL, MSG_NOT_LOGGED_IN
from users.models import OFMUser


def register_view(request):
if request.user.is_authenticated():
messages.error(request, "Du bist bereits eingeloggt. Du kannst dich im Menü ausloggen.")
return render(request, 'core/account/home.html')
if request.POST:
username = request.POST.get('username')
email = request.POST.get('email')
password = request.POST.get('password')
password2 = request.POST.get('password2')
ofm_username = request.POST.get('ofm_username')
ofm_password = request.POST.get('ofm_password')
ofm_password2 = request.POST.get('ofm_password2')

if OFMUser.objects.filter(email=email).exists():
messages.error(request, "Ein Account mit dieser E-Mail-Adresse existiert bereits.")
return redirect('core:register')

if OFMUser.objects.filter(username=username).exists():
messages.error(request, "Ein Account mit diesem Benutzernamen existiert bereits.")
return redirect('core:register')

if password != password2:
messages.error(request, MSG_PASSWORDS_UNEQUAL)
return redirect('core:register')

if OFMUser.objects.filter(ofm_username=ofm_username).exists():
messages.error(request, "Es existiert bereits ein Account für diesen OFM Benutzernamen.")
return redirect('core:register')

if ofm_password != ofm_password2:
messages.error(request, MSG_OFM_PASSWORDS_UNEQUAL)
return redirect('core:register')

OFMUser.objects.create_user(
username=username,
email=email,
password=password,
ofm_username=ofm_username,
ofm_password=ofm_password,
)

messages.success(request, "Account wurde erstellt. Jetzt kannst du dich einloggen.")
return redirect('core:login')

else:
return render(request, 'core/account/register.html')


def login_view(request):
if request.POST:
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
messages.success(request, "Login erfolgreich.")
return render(request, 'core/account/home.html')
else:
messages.error(request, "Login nicht möglich. Dein Account wurde deaktiviert.")
return redirect('core:login')
else:
messages.error(request, "Benutzername und/oder Passwort nicht korrekt.")
return redirect('core:login')
else:
if request.user.is_authenticated():
return render(request, 'core/account/home.html')
else:
return render(request, 'core/account/login.html')


def logout_view(request):
if request.user.is_authenticated():
logout(request)
messages.success(request, "Du wurdest abgemeldet.")
return redirect('core:home')


def account_view(request):
if request.user.is_authenticated():
return render(request, 'core/account/home.html')
else:
messages.error(request, MSG_NOT_LOGGED_IN)
return redirect('core:login')
Loading

0 comments on commit bf198ae

Please sign in to comment.