Skip to content
Snippets Groups Projects
Unverified Commit 4fcd16b5 authored by Máté Bodor's avatar Máté Bodor Committed by GitHub
Browse files

Merge pull request #22 from DevTeamSCH/documents

[WIP] Document management
parents 63780084 46635eac
No related branches found
No related tags found
No related merge requests found
from django.contrib import admin
from . import models
admin.site.register(models.Document)
from django.apps import AppConfig
class DocumentConfig(AppConfig):
name = 'document'
# Generated by Django 2.0.1 on 2018-05-28 15:21
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('account', '0017_auto_20180205_2004'),
]
operations = [
migrations.CreateModel(
name='Document',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('uploaded_at', models.DateTimeField(auto_now_add=True)),
('name', models.CharField(max_length=150)),
('description', models.TextField()),
('file', models.FileField(upload_to='')),
('uploaded_by', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='account.Profile')),
],
),
]
from django.db import models
from account.models import Profile
class Document(models.Model):
uploaded_by = models.ForeignKey(Profile, on_delete=models.DO_NOTHING)
uploaded_at = models.DateTimeField(auto_now_add=True, editable=False)
name = models.CharField(max_length=150)
description = models.TextField()
file = models.FileField()
def __str__(self):
return self.name
from rest_framework import serializers
from common.serializers import CurrentUserProfileDefault
from . import models
class DocumentSerializer(serializers.ModelSerializer):
uploaded_at = serializers.DateTimeField(read_only=True)
uploaded_by = serializers.HiddenField(default=CurrentUserProfileDefault())
class Meta:
model = models.Document
fields = ('uploaded_by', 'uploaded_at', 'name', 'description', 'file')
from rest_framework import routers
from . import views
router = routers.DefaultRouter()
router.register(r'documents', views.DocumentViewSet, base_name='documents')
urlpatterns = router.urls
from rest_framework import viewsets
from common import permissions
from . import models
from . import serializers
class DocumentViewSet(viewsets.ModelViewSet):
queryset = models.Document.objects.all()
serializer_class = serializers.DocumentSerializer
permission_classes = (permissions.IsStaffOrReadOnly, )
...@@ -47,6 +47,7 @@ INSTALLED_APPS = [ ...@@ -47,6 +47,7 @@ INSTALLED_APPS = [
'account', 'account',
'stats', 'stats',
'news', 'news',
'document',
] ]
MIDDLEWARE = [ MIDDLEWARE = [
......
...@@ -11,6 +11,7 @@ urlpatterns = [ ...@@ -11,6 +11,7 @@ urlpatterns = [
url(r'^api/v1/', include('stats.urls')), url(r'^api/v1/', include('stats.urls')),
url(r'^api/v1/', include('account.urls')), url(r'^api/v1/', include('account.urls')),
url(r'^api/v1/', include('news.urls')), url(r'^api/v1/', include('news.urls')),
url(r'^api/v1/', include('document.urls')),
url(r'^api/v1/logout/$', auth_views.LogoutView.as_view(), name='logout'), url(r'^api/v1/logout/$', auth_views.LogoutView.as_view(), name='logout'),
] ]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment