Browse Source

Simplify projects view

pull/10/head
Hironsan 7 years ago
parent
commit
7e45b33252
3 changed files with 8 additions and 19 deletions
  1. BIN
      app/db.sqlite3
  2. 4
      app/server/models.py
  3. 23
      app/server/views.py

BIN
app/db.sqlite3

4
app/server/models.py

@ -1,6 +1,7 @@
import string
from django.core.exceptions import ValidationError
from django.db import models
from django.urls import reverse
from django.contrib.auth.models import User
from django.contrib.staticfiles.storage import staticfiles_storage
@ -24,6 +25,9 @@ class Project(models.Model):
users = models.ManyToManyField(User)
project_type = models.CharField(max_length=30, choices=PROJECT_CHOICES)
def get_absolute_url(self):
return reverse('upload', args=[self.id])
def is_type_of(self, project_type):
return project_type == self.project_type

23
app/server/views.py

@ -3,9 +3,9 @@ from io import TextIOWrapper
from django.urls import reverse
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render, get_object_or_404
from django.shortcuts import get_object_or_404
from django.views import View
from django.views.generic import TemplateView
from django.views.generic import TemplateView, CreateView
from django.views.generic.list import ListView
from django.contrib.auth.mixins import LoginRequiredMixin
@ -25,23 +25,10 @@ class ProjectView(LoginRequiredMixin, TemplateView):
return [project.get_template_name()]
class ProjectsView(LoginRequiredMixin, TemplateView):
model = Project
paginate_by = 100
class ProjectsView(LoginRequiredMixin, CreateView):
form_class = ProjectForm
template_name = 'projects.html'
def get(self, request, *args, **kwargs):
form = ProjectForm()
return render(request, self.template_name, {'form': form})
def post(self, request, *args, **kwargs):
form = ProjectForm(request.POST)
if form.is_valid():
project = form.save()
return HttpResponseRedirect(reverse('upload', args=[project.id]))
else:
return render(request, self.template_name, {'form': form})
class DatasetView(SuperUserMixin, LoginRequiredMixin, ListView):
template_name = 'admin/dataset.html'
@ -61,7 +48,6 @@ class StatsView(SuperUserMixin, LoginRequiredMixin, TemplateView):
class DataUpload(SuperUserMixin, LoginRequiredMixin, TemplateView):
model = Project
template_name = 'admin/dataset_upload.html'
def post(self, request, *args, **kwargs):
@ -74,7 +60,6 @@ class DataUpload(SuperUserMixin, LoginRequiredMixin, TemplateView):
Document(text=text, project=project).save()
return HttpResponseRedirect(reverse('dataset', args=[project.id]))
except:
print("failed")
return HttpResponseRedirect(reverse('dataset-upload', args=[project.id]))

Loading…
Cancel
Save