Skip to content

Commit

Permalink
Merge pull request #77 from binary-monkey/dev
Browse files Browse the repository at this point in the history
Done
  • Loading branch information
carloslago committed Dec 22, 2019
2 parents 8ae74ae + 7e01a90 commit b6d4f6d
Show file tree
Hide file tree
Showing 25 changed files with 1,137 additions and 730 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@ __pycache__/
*.py[cod]
*$py.class


# Django stuff:
*.log
*.mo
local_settings.py
db.sqlite3
gamehoarder_site/static/images/avatars/*

# Environments
.env
Expand Down
42 changes: 34 additions & 8 deletions game_collection/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
# Generated by Django 2.2.2 on 2019-11-18 22:09
# Generated by Django 2.2.7 on 2019-12-22 21:42

import datetime

import django.utils.timezone
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone

import game_collection.models


class Migration(migrations.Migration):

initial = True

dependencies = [
Expand Down Expand Up @@ -131,24 +132,49 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=16, unique=True, verbose_name='name')),
('game_version', models.ManyToManyField(to='game_database.GameVersion', verbose_name='game version')),
('tag_group', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='game_collection.TagGroup', verbose_name='tag group')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='user')),
('tag_group', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL,
to='game_collection.TagGroup', verbose_name='tag group')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL,
verbose_name='user')),
],
options={
'verbose_name': 'Tag',
'verbose_name_plural': 'Tags',
'unique_together': {('user', 'name')},
},
),
migrations.CreateModel(
name='Review',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('score', models.FloatField(default=5, verbose_name='score')),
('text', models.TextField(verbose_name='text')),
('date',
models.DateField(default=datetime.datetime(2019, 12, 22, 22, 42, 46, 184575), verbose_name='date')),
('game_version',
models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='game_database.GameVersion',
verbose_name='game version')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL,
verbose_name='user')),
],
options={
'verbose_name': 'Review',
'verbose_name_plural': 'Reviews',
'unique_together': {('user', 'game_version')},
},
),
migrations.CreateModel(
name='Queue',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('price', models.FloatField(default=0.0, verbose_name='price')),
('date_adquired', models.DateField(blank=True, null=True, verbose_name='date adquired')),
('time_played', models.FloatField(blank=True, null=True, verbose_name='time played')),
('game_version', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='game_database.GameVersion', verbose_name='game version')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='user')),
('game_version',
models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='game_database.GameVersion',
verbose_name='game version')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL,
verbose_name='user')),
],
options={
'abstract': False,
Expand Down
38 changes: 0 additions & 38 deletions game_collection/migrations/0002_review.py

This file was deleted.

2 changes: 1 addition & 1 deletion game_collection/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ class Meta:

class Tag(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name=_("user"))
name = models.CharField(max_length=16, verbose_name=_("name"), unique=True)
name = models.CharField(max_length=16, verbose_name=_("name"))
game_version = models.ManyToManyField(GameVersion, verbose_name=_("game version"))

tag_group = models.ForeignKey(TagGroup, on_delete=models.SET_NULL, blank=True, null=True,
Expand Down
52 changes: 0 additions & 52 deletions game_collection/tests.py

This file was deleted.

39 changes: 17 additions & 22 deletions game_collection/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,13 @@
from celery.result import AsyncResult
from django.contrib.auth.decorators import login_required
from django.core.files.storage import FileSystemStorage
from django.http import HttpResponse, JsonResponse, HttpResponseRedirect
from django.http import HttpResponse
from django.shortcuts import render, redirect
from django.template.context_processors import csrf
from django.utils.translation import to_locale, get_language

from game_collection.forms import *
from game_collection.tasks import *
from game_collection.models import *
from game_collection.tasks import *
from gamehoarder_site.functions import read_csv
from gamehoarder_site.models import Profile

Expand All @@ -35,11 +34,10 @@ def import_collection(request):
if request.method == 'POST':
if "collection" in request.FILES:
myfile = request.FILES['collection']
fs = FileSystemStorage()
fs = FileSystemStorage(location="media/")
filename = fs.save(myfile.name, myfile)
uploaded_file_url = fs.url(filename)

csv_file = read_csv(uploaded_file_url)
csv_file = read_csv("/media/%s" % filename)
if "remove-header" in request.POST:
csv_file.pop(0) # Removes headers

Expand Down Expand Up @@ -86,11 +84,10 @@ def import_list(request):
if request.method == 'POST':
if "list" in request.FILES:
myfile = request.FILES['list']
fs = FileSystemStorage()
fs = FileSystemStorage(location="media/")
filename = fs.save(myfile.name, myfile)
uploaded_file_url = fs.url(filename)

csv_file = read_csv(uploaded_file_url)
csv_file = read_csv("/media/%s" % filename)
if "remove-header" in request.POST:
csv_file.pop(0) # Removes headers

Expand Down Expand Up @@ -431,11 +428,9 @@ def game_view(request, db_id):
"existing_review": review,
"share_text": f"Check out {title.title} on #GameHoarder"
}
try:
context["current_state"] = GameCollectionController.where_is(game_version, request.user)[0],
context["current_item"] = GameCollectionController.where_is(game_version, request.user)[1]
except TypeError:
pass

context["current_state"] = GameCollectionController.where_is(game_version, request.user)[0]
context["current_item"] = GameCollectionController.where_is(game_version, request.user)[1]

return render(request, 'collection/game_view.html', context)

Expand Down Expand Up @@ -468,7 +463,7 @@ def move_game(request, db_id):
"user": user,
"game_version": game_version,
"price": form.cleaned_data["price"],
"date_adquired": datetime.datetime.strptime(form.cleaned_data['date_adquired'], "%m/%d/%Y"),
"date_adquired": datetime.strptime(form.cleaned_data['date_adquired'], "%m/%d/%Y"),
"time_played": form.cleaned_data["time_played"],
}

Expand All @@ -484,27 +479,27 @@ def move_game(request, db_id):
Queue.objects.create(**new_item)

elif new_state == 4:
new_item["date_started"] = datetime.datetime.strptime(form.cleaned_data['date_started'], "%m/%d/%Y")
new_item["date_started"] = datetime.strptime(form.cleaned_data['date_started'], "%m/%d/%Y")

Playing.objects.create(**new_item)

elif new_state == 5:
new_item["date_started"] = datetime.datetime.strptime(form.cleaned_data['date_started'], "%m/%d/%Y")
new_item["date_stopped"] = datetime.datetime.strptime(form.cleaned_data['date_other'], "%m/%d/%Y")
new_item["date_started"] = datetime.strptime(form.cleaned_data['date_started'], "%m/%d/%Y")
new_item["date_stopped"] = datetime.strptime(form.cleaned_data['date_other'], "%m/%d/%Y")

Played.objects.create(**new_item)

elif new_state == 6:
new_item["date_started"] = datetime.datetime.strptime(form.cleaned_data['date_started'], "%m/%d/%Y")
new_item["date_finished"] = datetime.datetime.strptime(form.cleaned_data['date_other'], "%m/%d/%Y")
new_item["date_started"] = datetime.strptime(form.cleaned_data['date_started'], "%m/%d/%Y")
new_item["date_finished"] = datetime.strptime(form.cleaned_data['date_other'], "%m/%d/%Y")

new_item["time_to_finish"] = form.cleaned_data["time_other"]

Finished.objects.create(**new_item)

elif new_state == 7:
new_item["date_started"] = datetime.datetime.strptime(form.cleaned_data['date_started'], "%m/%d/%Y")
new_item["date_abandoned"] = datetime.datetime.strptime(form.cleaned_data['date_other'], "%m/%d/%Y")
new_item["date_started"] = datetime.strptime(form.cleaned_data['date_started'], "%m/%d/%Y")
new_item["date_abandoned"] = datetime.strptime(form.cleaned_data['date_other'], "%m/%d/%Y")

Abandoned.objects.create(**new_item)

Expand Down
16 changes: 9 additions & 7 deletions game_collection/views_tables.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from django.http import JsonResponse
from game_database.functions import GameHoarderDB


def ajax_tables(request):
# multiple-choice values
choices = ['genres', 'platforms']
Expand All @@ -24,19 +25,19 @@ def ajax_tables(request):
games = GameHoarderDB.table_filter(params)

initial = None
if type_table=="Interested":
if type_table == "Interested":
initial = Interested.objects.filter(user=request.user)
elif type_table=="Wishlist":
elif type_table == "Wishlist":
initial = Wishlist.objects.filter(user=request.user)
elif type_table=="Queue":
elif type_table == "Queue":
initial = Queue.objects.filter(user=request.user)
elif type_table=="Playing":
elif type_table == "Playing":
initial = Playing.objects.filter(user=request.user)
elif type_table=="Finished":
elif type_table == "Finished":
initial = Finished.objects.filter(user=request.user)
elif type_table=="Played":
elif type_table == "Played":
initial = Played.objects.filter(user=request.user)
elif type_table=="Abandoned":
elif type_table == "Abandoned":
initial = Abandoned.objects.filter(user=request.user)
else:
tag = Tag.objects.get(name=type_table, user=request.user)
Expand All @@ -50,6 +51,7 @@ def ajax_tables(request):
context = {'new_titles': new}
return JsonResponse(context)


@login_required(login_url='login')
def queue_table(request):
titles = Queue.objects.filter(user=request.user)
Expand Down
4 changes: 2 additions & 2 deletions game_database/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Generated by Django 2.2.2 on 2019-11-18 22:09
# Generated by Django 2.2.7 on 2019-12-22 21:42

from django.db import migrations, models
import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):
Expand Down
11 changes: 9 additions & 2 deletions gamehoarder_api/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,15 @@
from . import views

urlpatterns = [

path('login', views.login, name="api_login"),

path('stats', views.stats, name='stats'),
path('collection_stats', views.collection_stats, name='collection_stats'),
path('user_stats', views.user_stats, name='user_stats'),
path('stats/collection', views.collection_stats, name='collection_stats'),
path('stats/user', views.user_stats, name='user_stats'),

path('users', views.user_list, name='user_list'),
path('users/delete', views.delete_user, name='delete_user'),
path('users/edit', views.edit_user, name='api_edit_user'),
path('users/<str:username>', views.user_view, name='api_user_view'),
]
Loading

0 comments on commit b6d4f6d

Please sign in to comment.