fix pylint
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Jens Timmerman 2021-08-07 00:09:20 +02:00
parent 5607ec6012
commit 5afe8d2e4a
9 changed files with 53 additions and 29 deletions

View File

@ -20,4 +20,4 @@ steps:
- flake8 --max-line-length=120 - flake8 --max-line-length=120
- name: run pylint - name: run pylint
commands: commands:
- pylint --rcfile=.pylintrc -- **/*.py - DJANGO_SETTINGS_MODULE=nmgfitness.settings pylint --rcfile=.pylintrc -- **/*.py

View File

@ -1,12 +1,12 @@
[MASTER] [MASTER]
load-plugins=pylint_django load-plugins=pylint_django
django-settings-module=im.settings django-settings-module=nmgfitness.settings
ignore-paths=.*/migrations
[FORMAT] [FORMAT]
max-line-length=120 max-line-length=120
[MESSAGES CONTROL] [MESSAGES CONTROL]
disable=missing-docstring,unnecessary-pass
[DESIGN] [DESIGN]
max-parents=13 max-parents=13

View File

@ -3,18 +3,12 @@
import os import os
import sys import sys
from django.core.management import execute_from_command_line
def main(): def main():
"""Run administrative tasks.""" """Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'nmgfitness.settings') os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'nmgfitness.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv) execute_from_command_line(sys.argv)

View File

@ -1,3 +1,4 @@
"""Admin module"""
from django.apps import apps from django.apps import apps
from django.contrib import admin from django.contrib import admin

View File

@ -1,12 +1,20 @@
"""Nmgfitness Events model"""
from django.db import models from django.db import models
from django.contrib.auth.models import User from django.conf import settings
class Events(models.Model): class Events(models.Model):
"""
The events class
The main class used in this project
Events have an id (Autofield primary key)
Start and stop time
and are linked to a user
"""
id = models.AutoField(primary_key=True) id = models.AutoField(primary_key=True)
start = models.DateTimeField(null=True, blank=True) start = models.DateTimeField(null=True, blank=True)
end = models.DateTimeField(null=True, blank=True) end = models.DateTimeField(null=True, blank=True)
user = models.ForeignKey(User, on_delete=models.CASCADE) user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
def __str__(self): def __str__(self):
return self.name return self.user.username

View File

@ -1,26 +1,25 @@
"""NMGFitness views"""
from .models import Events
from django.shortcuts import render from django.shortcuts import render
from django.http import JsonResponse from django.http import JsonResponse
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from .models import Events
@login_required @login_required
def calendar(request): def calendar(request):
print(request.user) """The main calendar view"""
all_events = Events.objects.all() return render(request, 'calendar.html')
context = {
"events": all_events,
}
return render(request, 'calendar.html', context)
@login_required @login_required
def all_events(request): def all_events(request):
all_events = Events.objects.all() """
Json api that returns all events
"""
events = Events.objects.all()
out = [] out = []
for event in all_events: for event in events:
out.append({ out.append({
'title': event.user.username, 'title': event.user.username,
'id': event.id, 'id': event.id,
@ -33,6 +32,11 @@ def all_events(request):
@login_required @login_required
def add_event(request): def add_event(request):
"""
Json api to add an event
given a start and end time in the request get parameters
"""
start = request.GET.get("start", None) start = request.GET.get("start", None)
end = request.GET.get("end", None) end = request.GET.get("end", None)
event = Events(start=start, end=end, user=request.user) event = Events(start=start, end=end, user=request.user)
@ -43,9 +47,14 @@ def add_event(request):
@login_required @login_required
def update(request): def update(request):
id = request.GET.get("id", None) """
Json api to update an event
Given an event id, start and end time
Only events from the loged in user are accepted for updates
"""
updateid = request.GET.get("id", None)
event = Events.objects.get(id=id) event = Events.objects.get(id=updateid)
if request.user != event.user: if request.user != event.user:
return JsonResponse({'Unauthorized': 'wrong user'}, status=401) return JsonResponse({'Unauthorized': 'wrong user'}, status=401)
@ -60,8 +69,14 @@ def update(request):
@login_required @login_required
def remove(request): def remove(request):
id = request.GET.get("id", None) """
event = Events.objects.get(id=id) Json api to remove an event
Given an event id
Only events from the loged in user are accepted for removal
"""
updateid = request.GET.get("id", None)
event = Events.objects.get(id=updateid)
if request.user != event.user: if request.user != event.user:
return JsonResponse({'Unauthorized': 'wrong user'}, status=401) return JsonResponse({'Unauthorized': 'wrong user'}, status=401)

View File

@ -1,5 +1,7 @@
"""Django app config for the Users app"""
from django.apps import AppConfig from django.apps import AppConfig
class UsersConfig(AppConfig): class UsersConfig(AppConfig):
"""Users App AppConfig"""
name = 'users' name = 'users'

View File

@ -1,6 +1,8 @@
"""Users forms"""
from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.forms import UserCreationForm
class CustomUserCreationForm(UserCreationForm): class CustomUserCreationForm(UserCreationForm):
"""Custom user creation form that adds an email field"""
class Meta(UserCreationForm.Meta): class Meta(UserCreationForm.Meta):
fields = UserCreationForm.Meta.fields + ("email",) fields = UserCreationForm.Meta.fields + ("email",)

View File

@ -1,3 +1,4 @@
"""Users views"""
from django.shortcuts import redirect, render from django.shortcuts import redirect, render
from django.urls import reverse from django.urls import reverse
@ -6,6 +7,7 @@ from users.forms import CustomUserCreationForm
def register(request): def register(request):
"""Register view, uses the CustomUserCreationForm to register a user"""
if request.method == "POST": if request.method == "POST":
form = CustomUserCreationForm(request.POST) form = CustomUserCreationForm(request.POST)
if form.is_valid(): if form.is_valid():