diff --git a/news/models.py b/news/models.py
index aea8d0a..907f43d 100644
--- a/news/models.py
+++ b/news/models.py
@@ -50,10 +50,10 @@ class NewsItem(models.Model):
get_user_model(), on_delete=models.CASCADE, related_name="news_items"
)
- def save(self):
+ def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(self.title)
- return super(NewsItem, self).save()
+ return super(NewsItem, self).save(*args, **kwargs)
def get_absolute_url(self):
return reverse_lazy("news:detail", args=[self.category.slug, self.slug])
diff --git a/news/templates/news/newsitem_form.html b/news/templates/news/newsitem_form.html
new file mode 100644
index 0000000..a0e4e90
--- /dev/null
+++ b/news/templates/news/newsitem_form.html
@@ -0,0 +1,13 @@
+{% extends 'base.html' %}
+
+{% block content %}
+
+{% endblock %}
diff --git a/news/views.py b/news/views.py
index ce5886b..aa8920f 100644
--- a/news/views.py
+++ b/news/views.py
@@ -1,5 +1,7 @@
+from django.contrib.auth.decorators import login_required
from django.shortcuts import get_object_or_404
from django.urls import reverse_lazy
+from django.utils.decorators import method_decorator
from django.views.generic import (CreateView, DetailView, ListView,
RedirectView, UpdateView)
@@ -10,8 +12,20 @@ class CategoryList(ListView):
model = Category
+@method_decorator(login_required, name="dispatch")
class NewsItemCreate(CreateView):
model = NewsItem
+ fields = [
+ "title",
+ "category",
+ "body",
+ "origin_text",
+ "origin_link",
+ "header_img",
+ "tags",
+ "is_published",
+ "is_featured",
+ ]
success_url = reverse_lazy("dashboard:dashboard")
def form_valid(self, form):