diff --git a/src/account/views/register.py b/src/account/views/register.py
index 6a2c816..eaca4c9 100644
--- a/src/account/views/register.py
+++ b/src/account/views/register.py
@@ -16,10 +16,18 @@ def register_view(request):
return redirect('register')
data = raw_data.json()
+ if 'Maximum usage' in data['errorMessage']:
+ messages.info(request, f"IMDB API: {data['errorMessage']}")
+ return redirect('register')
+
if data['errorMessage'] == 'Invalid API Key':
form.add_error('imdb_api_key', 'Invalid API Key')
return render(request, 'register.html', context={"form": form})
+ if data['errorMessage']:
+ messages.info(request, f"IMDB API: {data['errorMessage']}")
+ return redirect('register')
+
form.save()
username = form.cleaned_data.get('username')
password = form.cleaned_data.get('password1')
diff --git a/src/config/settings/development.py b/src/config/settings/development.py
index 8ed6d63..3d5dffb 100644
--- a/src/config/settings/development.py
+++ b/src/config/settings/development.py
@@ -3,7 +3,7 @@ from .base import *
DEBUG = True
-ALLOWED_HOSTS = []
+ALLOWED_HOSTS = ['*']
DATABASES = {
'default': {
diff --git a/src/series/templates/homepage.html b/src/series/templates/homepage.html
index ef3a811..67427b4 100644
--- a/src/series/templates/homepage.html
+++ b/src/series/templates/homepage.html
@@ -1,4 +1,5 @@
{% extends 'base.html' %}
+{% load static %}
{% block title %} Home Page {% endblock title %}
@@ -6,4 +7,66 @@
{% include 'components/message.html' %}
+
+
+
+ | Title |
+ Season, Episode |
+ Show |
+
+
+
+ {% for s in series %}
+
+
+
+ {{s.title}}
+
+
+
+
+
+
+
+
+
+
+ |
+ {{s.last_season}} - {{s.last_episode}} |
+
+ {% if s.show %}
+
+ {% else %}
+
+ {% endif %}
+ |
+
+ {% endfor %}
+
+
+
+
+
{% endblock content %}
\ No newline at end of file
diff --git a/src/series/views/add_series.py b/src/series/views/add_series.py
index 0d231fa..8c50ab2 100644
--- a/src/series/views/add_series.py
+++ b/src/series/views/add_series.py
@@ -28,6 +28,10 @@ class AddSeriesView(LoginRequiredMixin, CreateView):
return redirect('add-series')
data = raw_data.json()
+ if 'Maximum usage' in data['errorMessage']:
+ messages.info(self.request, f"IMDB API: {data['errorMessage']}")
+ return redirect('add-series')
+
if data['errorMessage']:
form.add_error('imdb_id', 'ID is not correct.')
return self.form_invalid(form)
@@ -41,8 +45,13 @@ class AddSeriesView(LoginRequiredMixin, CreateView):
form.add_error('last_season', 'The season number is not correct.')
return self.form_invalid(form)
- data = get(f"https://imdb-api.com/en/API/SeasonEpisodes/{series.user.imdb_api_key}/{series.imdb_id}/{series.last_season}").json()
- episodes_count = len(data['episodes'])
+ raw_data = get(f"https://imdb-api.com/en/API/SeasonEpisodes/{series.user.imdb_api_key}/{series.imdb_id}/{series.last_season}")
+ if raw_data.status_code != 200:
+ messages.info(self.request, 'TV Series can not added. Please try again.')
+ return redirect('add-series')
+ episodes = raw_data.json()['episodes']
+
+ episodes_count = len(episodes)
if series.last_episode > episodes_count:
form.add_error('last_episode', 'The episode number is not correct.')
return self.form_invalid(form)
diff --git a/src/series/views/homepage.py b/src/series/views/homepage.py
index aaa9575..ece98ea 100644
--- a/src/series/views/homepage.py
+++ b/src/series/views/homepage.py
@@ -1,7 +1,13 @@
from django.shortcuts import render
from django.contrib.auth.decorators import login_required
+from django.core.paginator import Paginator
+from account.models import User
@login_required(login_url='/account/login')
def homepage_view(request):
- return render(request, 'homepage.html')
\ No newline at end of file
+ series = User.objects.get(id=request.user.id).series.all().order_by('-id')
+ page = request.GET.get('page')
+ paginator = Paginator(series, 5)
+
+ return render(request, 'homepage.html', context={'series': paginator.get_page(page)})
\ No newline at end of file
diff --git a/src/series/views/update_series.py b/src/series/views/update_series.py
index 40ef7c7..127ef8b 100644
--- a/src/series/views/update_series.py
+++ b/src/series/views/update_series.py
@@ -31,6 +31,10 @@ class UpdateSeriesView(LoginRequiredMixin, UpdateView):
return redirect('add-series')
data = raw_data.json()
+ if 'Maximum usage' in data['errorMessage']:
+ messages.info(self.request, f"IMDB Key: {data['errorMessage']}")
+ return redirect('add-series')
+
if data['errorMessage']:
form.add_error('imdb_id', 'ID is not correct.')
return self.form_invalid(form)
@@ -44,8 +48,13 @@ class UpdateSeriesView(LoginRequiredMixin, UpdateView):
form.add_error('last_season', 'The season number is not correct.')
return self.form_invalid(form)
- data = get(f"https://imdb-api.com/en/API/SeasonEpisodes/{series.user.imdb_api_key}/{series.imdb_id}/{series.last_season}").json()
- episodes_count = len(data['episodes'])
+ raw_data = get(f"https://imdb-api.com/en/API/SeasonEpisodes/{series.user.imdb_api_key}/{series.imdb_id}/{series.last_season}")
+ if raw_data.status_code != 200:
+ messages.info(self.request, 'TV Series can not added. Please try again.')
+ return redirect('add-series')
+ episodes = raw_data.json()['episodes']
+
+ episodes_count = len(episodes)
if series.last_episode > episodes_count:
form.add_error('last_episode', 'The episode number is not correct.')
return self.form_invalid(form)
diff --git a/src/static/css/footer.css b/src/static/css/footer.css
index f5fa035..54eed26 100644
--- a/src/static/css/footer.css
+++ b/src/static/css/footer.css
@@ -13,23 +13,44 @@ footer {
}
.div-right {
- margin-top: 1rem;
+ margin-top: 0.45rem;
margin-right: 1.5rem;
}
footer div span a {
color: inherit;
text-decoration: none;
+ font-size: 1rem;
}
-.contact-links{
+.contact-links {
border: 0;
- padding-top: 4px;
- padding-bottom: 4px;
- padding-left: 8px;
- padding-right: 8px;
}
-.contact-icons{
- font-size: 23px;
+.contact-img {
+ width: 33px;
+ height: 33px;
+}
+
+@media only screen and (max-width: 520px) {
+ .div-left {
+ margin-top: 1.35rem;
+ margin-left: 0.6rem;
+ }
+
+ .div-right {
+ margin-top: 0.65rem;
+ margin-right: 0.2rem;
+ }
+
+ footer div span a {
+ color: inherit;
+ text-decoration: none;
+ font-size: 0.8rem;
+ }
+
+ .contact-img {
+ width: 23px;
+ height: 23px;
+ }
}
\ No newline at end of file
diff --git a/src/static/css/navbar.css b/src/static/css/navbar.css
new file mode 100644
index 0000000..6d8cebc
--- /dev/null
+++ b/src/static/css/navbar.css
@@ -0,0 +1,21 @@
+.logo {
+ width: 48px;
+ height: 50px;
+}
+
+.logo-link {
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+@media only screen and (max-width: 510px) {
+ .logo {
+ width: 44px;
+ height: 44px;
+ }
+
+ .logo-link {
+ padding-top: 0;
+ padding-bottom: 0;
+ }
+}
\ No newline at end of file
diff --git a/src/static/icons/edit.png b/src/static/icons/edit.png
new file mode 100644
index 0000000..97982b9
Binary files /dev/null and b/src/static/icons/edit.png differ
diff --git a/src/static/icons/email.png b/src/static/icons/email.png
new file mode 100644
index 0000000..4b0c230
Binary files /dev/null and b/src/static/icons/email.png differ
diff --git a/src/static/icons/false-check-button.png b/src/static/icons/false-check-button.png
new file mode 100644
index 0000000..2b4c356
Binary files /dev/null and b/src/static/icons/false-check-button.png differ
diff --git a/src/static/icons/github.png b/src/static/icons/github.png
new file mode 100644
index 0000000..3cde44d
Binary files /dev/null and b/src/static/icons/github.png differ
diff --git a/src/static/icons/linkedin.png b/src/static/icons/linkedin.png
new file mode 100644
index 0000000..f641c73
Binary files /dev/null and b/src/static/icons/linkedin.png differ
diff --git a/src/static/icons/trash.png b/src/static/icons/trash.png
new file mode 100644
index 0000000..0d30fb0
Binary files /dev/null and b/src/static/icons/trash.png differ
diff --git a/src/static/icons/true-check-button.png b/src/static/icons/true-check-button.png
new file mode 100644
index 0000000..7ad4f8e
Binary files /dev/null and b/src/static/icons/true-check-button.png differ
diff --git a/src/templates/base.html b/src/templates/base.html
index 0bad37f..16e5d8f 100644
--- a/src/templates/base.html
+++ b/src/templates/base.html
@@ -10,7 +10,6 @@
-
{% block title %}{% endblock title %}
diff --git a/src/templates/components/footer.html b/src/templates/components/footer.html
index 4969b9f..38f55a1 100644
--- a/src/templates/components/footer.html
+++ b/src/templates/components/footer.html
@@ -11,14 +11,14 @@
\ No newline at end of file
diff --git a/src/templates/components/navbar.html b/src/templates/components/navbar.html
index d2b15f4..1be78ee 100644
--- a/src/templates/components/navbar.html
+++ b/src/templates/components/navbar.html
@@ -1,10 +1,12 @@
{% load static %}
+
+