diff --git a/roms/templates/roms/details.html b/roms/templates/roms/details.html index b8f7ee4..9550b67 100644 --- a/roms/templates/roms/details.html +++ b/roms/templates/roms/details.html @@ -14,6 +14,13 @@

{{rom.name}}

+ {% if rom.user.id == user.id %} +
+ +
+ {% endif %}
{% for tag in rom.tags.all %} diff --git a/roms/templates/roms/update.html b/roms/templates/roms/update.html new file mode 100644 index 0000000..2640285 --- /dev/null +++ b/roms/templates/roms/update.html @@ -0,0 +1,197 @@ +{% extends "base.html" %} + +{% block title %}Rom bearbeiten{% endblock %} +{% block nav_rom_upload_class %}is-active{% endblock %} + +{% block content %} + +
+
+
+
+

Rom bearbeiten

+ {% if form.non_field_errors %} +
+
+ Nope! +
+
+ {{ form.non_field_errors }} +
+
+ {% endif %} + +
+ {% csrf_token %} + +
+
+ +
+
+
+
+ + + + + + {% if form.tags.errors %} + + {% endif %} + +
+

+ {{form.tags.errors.as_text}} +

+
+
+
+ +
+
+ +
+
+
+

+ +

+

+ {{form.description.errors.as_text}} +

+
+
+
+ +
+
+ +
+
+
+ + +
+ + + + + + {% if form.cover.errors %} + + {% endif %} + +
+ +
+

+ {{form.cover.errors.as_text}} +

+
+
+ +
+
+ +
+
+
+ + +
+ + + + + + {% if form.high_binary.errors %} + + {% endif %} + +
+ +
+

+ {{form.high_binary.errors.as_text}} +

+
+
+ + +
+
+ +
+
+
+ + +
+ + + + + + {% if form.low_binary.errors %} + + {% endif %} + +
+ +
+

+ {{form.low_binary.errors.as_text}} +

+
+
+ +
+

+ +

+
+
+
+
+
+
+ + +{% endblock %} diff --git a/roms/urls.py b/roms/urls.py index 3ad77e2..87cbf9f 100644 --- a/roms/urls.py +++ b/roms/urls.py @@ -1,6 +1,6 @@ from django.conf.urls import include, url -from roms.views import RomListJson, RomDetailViewJson, RomList, RomDetailView, RomCreateView +from roms.views import RomListJson, RomDetailViewJson, RomList, RomDetailView, RomCreateView, RomUpdateView urlpatterns = [ url(r'^json/list/$', RomListJson.as_view()), @@ -10,5 +10,7 @@ urlpatterns = [ url(r'^list/$', RomList.as_view(), name = 'romlist'), url(r'^list/(?P[a-zA-Z0-9-]+)/$', RomList.as_view(), name = 'romlist'), url(r'^details/(?P[0-9]+)/$', RomDetailView.as_view(), name = 'romdetails'), - url(r'^new/$', RomCreateView.as_view(), name = 'romcreate') + + url(r'^new/$', RomCreateView.as_view(), name = 'romcreate'), + url(r'^edit/(?P[0-9]+)/$', RomUpdateView.as_view(), name = 'romupdate') ] diff --git a/roms/views.py b/roms/views.py index d582f4e..bbc1b23 100644 --- a/roms/views.py +++ b/roms/views.py @@ -1,6 +1,6 @@ from django.views.generic.list import ListView from django.views.generic.detail import DetailView -from django.views.generic.edit import CreateView +from django.views.generic.edit import CreateView, UpdateView from django.contrib.auth.mixins import LoginRequiredMixin from django.http import JsonResponse from django.contrib.auth import get_user_model @@ -50,9 +50,6 @@ class RomCreateView(LoginRequiredMixin, CreateView): fields = ['name', 'description', 'cover', 'low_binary', 'high_binary', 'tags'] template_name = 'roms/create.html' - def get_queryset(self): - return Rom.objects.filtered(user__id = request.user.id) - def form_valid(self, form): res = super(RomCreateView, self).form_valid(form) @@ -62,6 +59,17 @@ class RomCreateView(LoginRequiredMixin, CreateView): return res +class RomUpdateView(LoginRequiredMixin, UpdateView): + model = Rom + pk_url_kwarg = 'id' + fields = ['description', 'cover', 'low_binary', 'high_binary', 'tags'] + template_name = 'roms/update.html' + + def get_queryset(self): + return Rom.objects.filter(user__id = self.request.user.id) + + + class RomListJson(ListView): diff --git a/templates/base.html b/templates/base.html index 0d7c29c..ebed6fe 100644 --- a/templates/base.html +++ b/templates/base.html @@ -15,7 +15,7 @@