added docstrings
This commit is contained in:
parent
97b8747f36
commit
f14e945bf2
@ -5,6 +5,11 @@ from authentication.forms import RegisterForm
|
|||||||
|
|
||||||
|
|
||||||
def register_page(request):
|
def register_page(request):
|
||||||
|
"""
|
||||||
|
Create a User from the register form
|
||||||
|
:param: request (POST with RegisterForm data)
|
||||||
|
:return: write the User in DB
|
||||||
|
"""
|
||||||
form = RegisterForm()
|
form = RegisterForm()
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
form = RegisterForm(request.POST)
|
form = RegisterForm(request.POST)
|
||||||
|
@ -3,12 +3,19 @@ from . import models
|
|||||||
|
|
||||||
|
|
||||||
class TicketForm(forms.ModelForm):
|
class TicketForm(forms.ModelForm):
|
||||||
|
"""
|
||||||
|
Form from Ticket, select only 3 fields
|
||||||
|
"""
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Ticket
|
model = models.Ticket
|
||||||
fields = ['title', 'desc', 'image']
|
fields = ['title', 'desc', 'image']
|
||||||
|
|
||||||
|
|
||||||
class ReviewForm(forms.ModelForm):
|
class ReviewForm(forms.ModelForm):
|
||||||
|
"""
|
||||||
|
Form from Review
|
||||||
|
Make rating field a radio select from choices
|
||||||
|
"""
|
||||||
CHOICES = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5}
|
CHOICES = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5}
|
||||||
rating = forms.ChoiceField(widget=forms.RadioSelect, choices=CHOICES)
|
rating = forms.ChoiceField(widget=forms.RadioSelect, choices=CHOICES)
|
||||||
|
|
||||||
@ -18,4 +25,7 @@ class ReviewForm(forms.ModelForm):
|
|||||||
|
|
||||||
|
|
||||||
class ToFollowForm(forms.Form):
|
class ToFollowForm(forms.Form):
|
||||||
|
"""
|
||||||
|
Form asking for a username
|
||||||
|
"""
|
||||||
user = forms.CharField(label="Nom d'utilisateur", max_length=50)
|
user = forms.CharField(label="Nom d'utilisateur", max_length=50)
|
||||||
|
@ -17,6 +17,12 @@ def home(request):
|
|||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def flux(request):
|
def flux(request):
|
||||||
|
"""
|
||||||
|
Display the user's home page
|
||||||
|
Get tickets & reviews of followed users, sort latest first
|
||||||
|
:param: request
|
||||||
|
:return: queryset of sorted tickets and reviews
|
||||||
|
"""
|
||||||
followed = UserFollows.objects.filter(user=request.user)
|
followed = UserFollows.objects.filter(user=request.user)
|
||||||
users_followed = []
|
users_followed = []
|
||||||
for userf in followed:
|
for userf in followed:
|
||||||
@ -36,6 +42,12 @@ def flux(request):
|
|||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def posts(request):
|
def posts(request):
|
||||||
|
"""
|
||||||
|
Get list of tickets and reviews of current user
|
||||||
|
:param: request
|
||||||
|
:return: queryset of tickets and reviews
|
||||||
|
"""
|
||||||
|
|
||||||
tickets = Ticket.objects.filter(user=request.user)
|
tickets = Ticket.objects.filter(user=request.user)
|
||||||
reviews = Review.objects.filter(user=request.user)
|
reviews = Review.objects.filter(user=request.user)
|
||||||
return render(request,
|
return render(request,
|
||||||
@ -45,14 +57,23 @@ def posts(request):
|
|||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def ticket(request, ticket_id):
|
def ticket(request, ticket_id):
|
||||||
|
"""
|
||||||
|
Get detail of a ticket
|
||||||
|
:param: request, Ticket id
|
||||||
|
:return: object Ticket
|
||||||
|
"""
|
||||||
ticket = Ticket.objects.get(id=ticket_id)
|
ticket = Ticket.objects.get(id=ticket_id)
|
||||||
return render(request,
|
return render(request,
|
||||||
'reviews/ticket.html',
|
'reviews/ticket.html',
|
||||||
{'ticket': ticket})
|
{'ticket': ticket})
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def create_ticket(request):
|
def create_ticket(request):
|
||||||
|
"""
|
||||||
|
Send form, retrieve user's data, create and write object Ticket
|
||||||
|
:param: request (POST)
|
||||||
|
:return: form, write Ticket in DB
|
||||||
|
"""
|
||||||
tickets = Ticket.objects.all()
|
tickets = Ticket.objects.all()
|
||||||
ticket_form = TicketForm()
|
ticket_form = TicketForm()
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
@ -70,6 +91,11 @@ def create_ticket(request):
|
|||||||
@login_required
|
@login_required
|
||||||
@permission_required('review.change_ticket', raise_exception=True)
|
@permission_required('review.change_ticket', raise_exception=True)
|
||||||
def update_ticket(request, ticket_id):
|
def update_ticket(request, ticket_id):
|
||||||
|
"""
|
||||||
|
Get new data for a given Ticket id and save changes
|
||||||
|
:param: request, Ticket id
|
||||||
|
:return: form, write Ticket in DB
|
||||||
|
"""
|
||||||
ticket = Ticket.objects.get(id=ticket_id)
|
ticket = Ticket.objects.get(id=ticket_id)
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
ticket_form = TicketForm(request.POST, instance=ticket)
|
ticket_form = TicketForm(request.POST, instance=ticket)
|
||||||
@ -87,6 +113,11 @@ def update_ticket(request, ticket_id):
|
|||||||
@login_required
|
@login_required
|
||||||
@permission_required('review.delete_ticket', raise_exception=True)
|
@permission_required('review.delete_ticket', raise_exception=True)
|
||||||
def delete_ticket(request, ticket_id):
|
def delete_ticket(request, ticket_id):
|
||||||
|
"""
|
||||||
|
Delete object from DB for a given Ticket
|
||||||
|
:param: request, Ticket id
|
||||||
|
:return: delete Ticket from DB
|
||||||
|
"""
|
||||||
ticket = Ticket.objects.get(id=ticket_id)
|
ticket = Ticket.objects.get(id=ticket_id)
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
ticket.delete()
|
ticket.delete()
|
||||||
@ -99,6 +130,11 @@ def delete_ticket(request, ticket_id):
|
|||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def review(request, review_id):
|
def review(request, review_id):
|
||||||
|
"""
|
||||||
|
Get detail of a Review
|
||||||
|
:param: request, Review id
|
||||||
|
:return: object Review
|
||||||
|
"""
|
||||||
review = Review.objects.get(id=review_id)
|
review = Review.objects.get(id=review_id)
|
||||||
return render(request,
|
return render(request,
|
||||||
'reviews/review.html',
|
'reviews/review.html',
|
||||||
@ -107,6 +143,11 @@ def review(request, review_id):
|
|||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def create_review(request):
|
def create_review(request):
|
||||||
|
"""
|
||||||
|
Create Ticket and related Review in one go
|
||||||
|
:param: request (POST)
|
||||||
|
:return: form, write Ticket and Review in DB
|
||||||
|
"""
|
||||||
ticket_form = TicketForm()
|
ticket_form = TicketForm()
|
||||||
review_form = ReviewForm()
|
review_form = ReviewForm()
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
@ -136,6 +177,11 @@ def create_review(request):
|
|||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def ticket_review(request, ticket_id):
|
def ticket_review(request, ticket_id):
|
||||||
|
"""
|
||||||
|
Create a Review for a given Ticket
|
||||||
|
:param: request (POST), Ticket id
|
||||||
|
:return: form, write Review in DB
|
||||||
|
"""
|
||||||
ticket = Ticket.objects.get(id=ticket_id)
|
ticket = Ticket.objects.get(id=ticket_id)
|
||||||
review_form = ReviewForm()
|
review_form = ReviewForm()
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
@ -160,6 +206,11 @@ def ticket_review(request, ticket_id):
|
|||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def update_review(request, review_id):
|
def update_review(request, review_id):
|
||||||
|
"""
|
||||||
|
Get new data for a given Review and save changes
|
||||||
|
:param: request, Review id
|
||||||
|
:return: form, write Review in DB
|
||||||
|
"""
|
||||||
review = Review.objects.get(id=review_id)
|
review = Review.objects.get(id=review_id)
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
print(request.POST)
|
print(request.POST)
|
||||||
@ -177,6 +228,11 @@ def update_review(request, review_id):
|
|||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def delete_review(request, review_id):
|
def delete_review(request, review_id):
|
||||||
|
"""
|
||||||
|
Delete object from DB for a given Review
|
||||||
|
:param: request, Review id
|
||||||
|
:return: delete Review from DB
|
||||||
|
"""
|
||||||
review = Review.objects.get(id=review_id)
|
review = Review.objects.get(id=review_id)
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
review.delete()
|
review.delete()
|
||||||
@ -188,18 +244,26 @@ def delete_review(request, review_id):
|
|||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def subscribed(request):
|
def subscribed(request):
|
||||||
|
"""
|
||||||
|
Create UserFollows object for a given username in form
|
||||||
|
Create a list of followed_users for current user
|
||||||
|
:param: request (POST with given username)
|
||||||
|
:return: queryset of UserFollows following current user,
|
||||||
|
and a queryset of UserFollows followed by current user
|
||||||
|
"""
|
||||||
follows = UserFollows()
|
follows = UserFollows()
|
||||||
user_form = ToFollowForm()
|
user_form = ToFollowForm()
|
||||||
|
# list of UserFollows following current user
|
||||||
following = UserFollows.objects.filter(followed_user=request.user)
|
following = UserFollows.objects.filter(followed_user=request.user)
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
user_form = ToFollowForm(request.POST)
|
user_form = ToFollowForm(request.POST)
|
||||||
if user_form.is_valid():
|
if user_form.is_valid():
|
||||||
user = user_form.cleaned_data["user"]
|
user = user_form.cleaned_data["user"]
|
||||||
user_followed = User.objects.filter(username=user)
|
follows.followed_user = User.objects.get(username=user)
|
||||||
follows.followed_user = user_followed[0]
|
|
||||||
follows.user = request.user
|
follows.user = request.user
|
||||||
follows.save()
|
follows.save()
|
||||||
return redirect('subscribed')
|
return redirect('subscribed')
|
||||||
|
# list of UserFollows followed by current user
|
||||||
followed = UserFollows.objects.filter(user=request.user)
|
followed = UserFollows.objects.filter(user=request.user)
|
||||||
context = {
|
context = {
|
||||||
'user_form': user_form,
|
'user_form': user_form,
|
||||||
@ -212,6 +276,11 @@ def subscribed(request):
|
|||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def unsubscribe(request, followed_user_id):
|
def unsubscribe(request, followed_user_id):
|
||||||
|
"""
|
||||||
|
Delete a UserFollows for a given followed_user
|
||||||
|
:param: request, User.id
|
||||||
|
:return: delete UserFollows from DB
|
||||||
|
"""
|
||||||
followed = UserFollows.objects.get(
|
followed = UserFollows.objects.get(
|
||||||
user=request.user,
|
user=request.user,
|
||||||
followed_user=followed_user_id)
|
followed_user=followed_user_id)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user