diff --git a/.gitignore b/.gitignore index abb9750..a039cec 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ *.sqlite3 __pycache__ virtenv +/media diff --git a/roms/migrations/0005_rom_user.py b/roms/migrations/0005_rom_user.py new file mode 100644 index 0000000..d61f590 --- /dev/null +++ b/roms/migrations/0005_rom_user.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.5 on 2017-05-13 22:25 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('roms', '0004_auto_20170508_2136'), + ] + + operations = [ + migrations.AddField( + model_name='rom', + name='user', + field=models.ForeignKey(default=2, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + preserve_default=False, + ), + ] diff --git a/roms/migrations/0006_auto_20170513_2344.py b/roms/migrations/0006_auto_20170513_2344.py new file mode 100644 index 0000000..7c70052 --- /dev/null +++ b/roms/migrations/0006_auto_20170513_2344.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.5 on 2017-05-13 23:44 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('roms', '0005_rom_user'), + ] + + operations = [ + migrations.AlterField( + model_name='rom', + name='approved', + field=models.BooleanField(default=False, verbose_name='approved'), + ), + migrations.AlterField( + model_name='rom', + name='user', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/roms/models.py b/roms/models.py index 4a73f35..33195b2 100644 --- a/roms/models.py +++ b/roms/models.py @@ -3,12 +3,15 @@ import uuid from django.db import models from django.core.exceptions import ValidationError +from django.core.urlresolvers import reverse from taggit.managers import TaggableManager from stdimage.models import StdImageField from stdimage.validators import MinSizeValidator +from users.models import User + def upload_cover_to(instance, filename): _, ext = os.path.splitext(filename) return "covers/%s%s" % (uuid.uuid4(), ext) @@ -27,11 +30,14 @@ class Rom(models.Model): 'small': {'width': 300, 'height': 300, 'crop': True}}) low_binary = models.FileField("low binary", upload_to = upload_binary_to) high_binary = models.FileField("high binary", upload_to = upload_binary_to) - approved = models.BooleanField("approved") + approved = models.BooleanField("approved", default=False) tags = TaggableManager(blank = True) + user = models.ForeignKey(User, blank=True, null=True) creation_time = models.DateTimeField("creation time", auto_now_add = True) edit_time = models.DateTimeField("edit time", auto_now = True) + def get_absolute_url(self): + return reverse('romdetails', kwargs={'id' : self.pk}) def tag_list(self): return [t.name for t in self.tags.all()] @@ -40,6 +46,7 @@ class Rom(models.Model): json = { 'id' : self.pk, 'name' : self.name, + 'user' : self.user.name, 'description' : self.description, 'tags' : self.tag_list(), 'low_binary' : self.low_binary.url, diff --git a/roms/templates/roms/create.html b/roms/templates/roms/create.html new file mode 100644 index 0000000..aa87792 --- /dev/null +++ b/roms/templates/roms/create.html @@ -0,0 +1,222 @@ +{% extends "base.html" %} + +{% block title %}Rom Hochladen{% endblock %} +{% block nav_rom_upload_class %}is-active{% endblock %} + +{% block content %} + +