This commit is contained in:
virusdefender
2016-09-25 14:07:45 +08:00
parent 38d6bf3427
commit 61ab910d53
219 changed files with 384 additions and 10351 deletions

View File

@@ -1,12 +1,17 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.5 on 2016-09-25 05:32
from __future__ import unicode_literals
from django.db import models, migrations
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import utils.models
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
@@ -15,13 +20,13 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='Announcement',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=50)),
('content', models.TextField()),
('content', utils.models.RichTextField()),
('create_time', models.DateTimeField(auto_now_add=True)),
('last_update_time', models.DateTimeField(auto_now=True)),
('visible', models.BooleanField(default=True)),
('created_by', models.ForeignKey(to=settings.AUTH_USER_MODEL)),
('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
options={
'db_table': 'announcement',

View File

@@ -1,26 +0,0 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('group', '0004_merge'),
('announcement', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='announcement',
name='groups',
field=models.ManyToManyField(to='group.Group'),
),
migrations.AddField(
model_name='announcement',
name='is_global',
field=models.BooleanField(default=True),
preserve_default=False,
),
]

View File

@@ -1,20 +0,0 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
import utils.models
class Migration(migrations.Migration):
dependencies = [
('announcement', '0002_auto_20150818_1445'),
]
operations = [
migrations.AlterField(
model_name='announcement',
name='content',
field=utils.models.RichTextField(),
),
]

View File

@@ -1,22 +0,0 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('announcement', '0003_auto_20150922_1703'),
]
operations = [
migrations.RemoveField(
model_name='announcement',
name='groups',
),
migrations.RemoveField(
model_name='announcement',
name='is_global',
),
]

View File

@@ -1,8 +1,8 @@
# coding=utf-8
from __future__ import unicode_literals
from django.db import models
from account.models import User
from group.models import Group
from utils.models import RichTextField

View File

@@ -1,9 +1,10 @@
# coding=utf-8
from __future__ import unicode_literals
from rest_framework import serializers
from account.models import User
from utils.serializers import DateTimeTZField
from .models import Announcement
@@ -31,4 +32,4 @@ class EditAnnouncementSerializer(serializers.Serializer):
id = serializers.IntegerField()
title = serializers.CharField(max_length=50)
content = serializers.CharField(max_length=10000)
visible = serializers.BooleanField()
visible = serializers.BooleanField()

View File

View File

@@ -0,0 +1,8 @@
# coding=utf-8
from django.conf.urls import url
from ..views import AnnouncementAdminAPIView
urlpatterns = [
url(r'^$', AnnouncementAdminAPIView.as_view(), name="announcement_admin_api"),
]

View File

@@ -1,29 +1,17 @@
# coding=utf-8
from __future__ import unicode_literals
from django.utils.translation import ugettext as _
from rest_framework.views import APIView
from django.shortcuts import render
from django.utils.translation import ugettext as _
from utils.shortcuts import serializer_invalid_response, error_response, success_response
from utils.shortcuts import paginate, error_page
from account.decorators import super_admin_required
from utils.shortcuts import paginate
from utils.shortcuts import serializer_invalid_response, error_response, success_response
from .models import Announcement
from .serializers import (CreateAnnouncementSerializer, AnnouncementSerializer,
EditAnnouncementSerializer)
def announcement_page(request, announcement_id):
"""
announcement detail page
"""
try:
announcement = Announcement.objects.get(id=announcement_id, visible=True)
except Announcement.DoesNotExist:
return error_page(request, _("Announcement does not exist"))
return render(request, "oj/announcement/announcement.html", {"announcement": announcement})
class AnnouncementAdminAPIView(APIView):
@super_admin_required
def post(self, request):