From f55517d7c6a9ac4b96e87078fe55088b652213cf Mon Sep 17 00:00:00 2001
From: virusdefender <1670873886@qq.com>
Date: Fri, 7 Aug 2015 21:52:22 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20ci=20migrate=20?=
=?UTF-8?q?=E9=94=99=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
account/migrations/0001_initial.py | 39 -----------
account/migrations/0002_auto_20150731_2310.py | 26 --------
account/migrations/0003_user_email.py | 19 ------
account/migrations/0004_auto_20150806_1645.py | 23 -------
account/migrations/__init__.py | 0
template/admin/index/announcement.html | 65 -------------------
6 files changed, 172 deletions(-)
delete mode 100644 account/migrations/0001_initial.py
delete mode 100644 account/migrations/0002_auto_20150731_2310.py
delete mode 100644 account/migrations/0003_user_email.py
delete mode 100644 account/migrations/0004_auto_20150806_1645.py
delete mode 100644 account/migrations/__init__.py
delete mode 100644 template/admin/index/announcement.html
diff --git a/account/migrations/0001_initial.py b/account/migrations/0001_initial.py
deleted file mode 100644
index 03d5584..0000000
--- a/account/migrations/0001_initial.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
-import account.models
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ]
-
- operations = [
- migrations.CreateModel(
- name='User',
- fields=[
- ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
- ('password', models.CharField(max_length=128, verbose_name='password')),
- ('last_login', models.DateTimeField(null=True, verbose_name='last login', blank=True)),
- ('username', models.CharField(unique=True, max_length=30)),
- ('real_name', models.CharField(max_length=30, null=True, blank=True)),
- ('email', models.EmailField(max_length=254, null=True, blank=True)),
- ('create_time', models.DateTimeField(auto_now_add=True)),
- ('admin_type', models.IntegerField(default=0)),
- ],
- options={
- 'db_table': 'user',
- },
- managers=[
- ('objects', account.models.UserManager()),
- ],
- ),
- migrations.CreateModel(
- name='AdminGroup',
- fields=[
- ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
- ],
- ),
- ]
diff --git a/account/migrations/0002_auto_20150731_2310.py b/account/migrations/0002_auto_20150731_2310.py
deleted file mode 100644
index 73f1b6a..0000000
--- a/account/migrations/0002_auto_20150731_2310.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
-import account.models
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('account', '0001_initial'),
- ]
-
- operations = [
- migrations.AlterModelManagers(
- name='user',
- managers=[
- (b'objects', account.models.UserManager()),
- ],
- ),
- migrations.AddField(
- model_name='user',
- name='real_name',
- field=models.CharField(max_length=30, null=True, blank=True),
- ),
- ]
diff --git a/account/migrations/0003_user_email.py b/account/migrations/0003_user_email.py
deleted file mode 100644
index 780afc3..0000000
--- a/account/migrations/0003_user_email.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('account', '0002_auto_20150731_2310'),
- ]
-
- operations = [
- migrations.AddField(
- model_name='user',
- name='email',
- field=models.EmailField(max_length=254, null=True, blank=True),
- ),
- ]
diff --git a/account/migrations/0004_auto_20150806_1645.py b/account/migrations/0004_auto_20150806_1645.py
deleted file mode 100644
index d3d2225..0000000
--- a/account/migrations/0004_auto_20150806_1645.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('account', '0003_user_email'),
- ]
-
- operations = [
- migrations.RemoveField(
- model_name='user',
- name='admin_group',
- ),
- migrations.AddField(
- model_name='user',
- name='admin_type',
- field=models.IntegerField(default=0),
- ),
- ]
diff --git a/account/migrations/__init__.py b/account/migrations/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/template/admin/index/announcement.html b/template/admin/index/announcement.html
deleted file mode 100644
index c93b760..0000000
--- a/template/admin/index/announcement.html
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
Announcement
-
-
-
- | 编号 |
- 标题 |
- 创建时间 |
- 更新时间 |
- 创建者 |
- 状态 |
- 操作 |
-
-
- | {{el.id}} |
- {{el.title}} |
- {{el.create_time|date("yyyy-MM-dd HH:mm:ss")}} |
- {{el.last_update_time|date("yyyy-MM-dd HH:mm:ss")}} |
- {{el.created_by.username}} |
- {{getState(el)}} |
-
-
- |
-
-
-
- 页数:{{page}}/{{page+next_page}}
- 上一页
- 下一页
-
-
-
-
编辑公告
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
添加公告
-
-
-
-
\ No newline at end of file
From 6e8baca8c9423edf4ff172238480654f5088b2cb Mon Sep 17 00:00:00 2001
From: virusdefender <1670873886@qq.com>
Date: Fri, 7 Aug 2015 22:01:16 +0800
Subject: [PATCH 2/4] =?UTF-8?q?django=20rest=20framework=203.2=E4=B9=8B?=
=?UTF-8?q?=E5=90=8E=E4=BD=BF=E7=94=A8=20request.data=E4=BB=A3=E6=9B=BF=20?=
=?UTF-8?q?request.DATA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
account/views.py | 12 ++++++------
announcement/views.py | 4 ++--
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/account/views.py b/account/views.py
index ec29f97..e128782 100644
--- a/account/views.py
+++ b/account/views.py
@@ -19,7 +19,7 @@ class UserLoginAPIView(APIView):
---
request_serializer: UserLoginSerializer
"""
- serializer = UserLoginSerializer(data=request.DATA)
+ serializer = UserLoginSerializer(data=request.data)
if serializer.is_valid():
data = serializer.data
user = auth.authenticate(username=data["username"], password=data["password"])
@@ -40,7 +40,7 @@ class UserRegisterAPIView(APIView):
---
request_serializer: UserRegisterSerializer
"""
- serializer = UserRegisterSerializer(data=request.DATA)
+ serializer = UserRegisterSerializer(data=request.data)
if serializer.is_valid():
data = serializer.data
try:
@@ -68,7 +68,7 @@ class UserChangePasswordAPIView(APIView):
---
request_serializer: UserChangePasswordSerializer
"""
- serializer = UserChangePasswordSerializer(data=request.DATA)
+ serializer = UserChangePasswordSerializer(data=request.data)
if serializer.is_valid():
data = serializer.data
user = auth.authenticate(username=data["username"], password=data["old_password"])
@@ -89,7 +89,7 @@ class UsernameCheckAPIView(APIView):
---
request_serializer: UsernameCheckSerializer
"""
- serializer = UsernameCheckSerializer(data=request.DATA)
+ serializer = UsernameCheckSerializer(data=request.data)
if serializer.is_valid():
try:
User.objects.get(username=serializer.data["username"])
@@ -107,7 +107,7 @@ class EmailCheckAPIView(APIView):
---
request_serializer: EmailCheckSerializer
"""
- serializer = EmailCheckSerializer(data=request.DATA)
+ serializer = EmailCheckSerializer(data=request.data)
if serializer.is_valid():
try:
User.objects.get(email=serializer.data["email"])
@@ -148,7 +148,7 @@ class UserAdminAPIView(APIView):
request_serializer: EditUserSerializer
response_serializer: UserSerializer
"""
- serializer = EditUserSerializer(data=request.DATA)
+ serializer = EditUserSerializer(data=request.data)
if serializer.is_valid():
data = serializer.data
try:
diff --git a/announcement/views.py b/announcement/views.py
index a96b1f1..654d91a 100644
--- a/announcement/views.py
+++ b/announcement/views.py
@@ -17,7 +17,7 @@ class AnnouncementAdminAPIView(APIView):
---
request_serializer: CreateAnnouncementSerializer
"""
- serializer = CreateAnnouncementSerializer(data=request.DATA)
+ serializer = CreateAnnouncementSerializer(data=request.data)
if serializer.is_valid():
data = serializer.data
Announcement.objects.create(title=data["title"],
@@ -34,7 +34,7 @@ class AnnouncementAdminAPIView(APIView):
request_serializer: EditAnnouncementSerializer
response_serializer: AnnouncementSerializer
"""
- serializer = EditAnnouncementSerializer(data=request.DATA)
+ serializer = EditAnnouncementSerializer(data=request.data)
if serializer.is_valid():
data = serializer.data
try:
From fff7fae323dda8587b42ef35ac82a99e845a9d56 Mon Sep 17 00:00:00 2001
From: virusdefender <1670873886@qq.com>
Date: Sat, 8 Aug 2015 09:43:32 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=A8=A1=E6=9D=BF?=
=?UTF-8?q?=E9=87=8D=E5=A4=8D=E5=8A=A0=E8=BD=BD=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
需要在 avalon.ready()之后再进行其他动作,需要先初始化模板路径。
---
static/src/js/app/admin/admin.js | 67 +++++++++++++++++---------------
1 file changed, 36 insertions(+), 31 deletions(-)
diff --git a/static/src/js/app/admin/admin.js b/static/src/js/app/admin/admin.js
index 4145a45..9c17e41 100644
--- a/static/src/js/app/admin/admin.js
+++ b/static/src/js/app/admin/admin.js
@@ -1,42 +1,47 @@
-define("admin", ["jquery", "avalon"], function($, avalon){
- function li_active(selector){
- $(selector).attr("class", "list-group-item active");
- }
+define("admin", ["jquery", "avalon"], function ($, avalon) {
- function li_inactive(selector){
- $(".list-group-item").attr("class", "list-group-item");
- }
+ avalon.ready(function () {
- function show_template(url){
- $("#loading-gif").show();
- vm.template_url = url;
- }
-
- var vm = avalon.define({
- $id: "admin",
- template_url: "template/index/index.html",
- hide_loading: function(){
- $("#loading-gif").hide();
+ function li_active(selector) {
+ $(selector).attr("class", "list-group-item active");
}
- });
- var hash = window.location.hash.substring(1);
+ function li_inactive(selector) {
+ $(".list-group-item").attr("class", "list-group-item");
+ }
- if(hash){
- li_active("#li-" + hash.replace("/", "-"));
- show_template("template/" + hash + ".html");
- }else {
- li_active("#li-index-index");
- }
+ function show_template(url) {
+ $("#loading-gif").show();
+ vm.template_url = url;
+ }
- window.onhashchange = function() {
var hash = window.location.hash.substring(1);
- if(hash){
- li_inactive(".list-group-item");
- li_active("#li-" + hash.replace("/", "-"));
- show_template("template/" + hash + ".html");
+
+ if (!hash) {
+ hash = "index/index";
}
- };
+
+ var vm = avalon.define({
+ $id: "admin",
+ template_url: "template/" + hash + ".html",
+ hide_loading: function () {
+ $("#loading-gif").hide();
+ }
+ });
+
+ avalon.scan();
+
+ li_active("#li-" + hash.replace("/", "-"));
+
+ window.onhashchange = function () {
+ var hash = window.location.hash.substring(1);
+ if (hash) {
+ li_inactive(".list-group-item");
+ li_active("#li-" + hash.replace("/", "-"));
+ show_template("template/" + hash + ".html");
+ }
+ };
+ });
});
\ No newline at end of file
From aad9b305ef051ea56b58d19ee485f6501e42ba49 Mon Sep 17 00:00:00 2001
From: virusdefender <1670873886@qq.com>
Date: Sat, 8 Aug 2015 09:44:15 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9C=8D=E5=8A=A1?=
=?UTF-8?q?=E5=99=A8=E7=9B=91=E6=8E=A7=E7=9A=84=E5=AF=B9=E5=BA=94=20js=20?=
=?UTF-8?q?=E4=B9=9F=20demo=20=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
static/src/js/app/admin/monitor/monitor.js | 56 ++++++++++++++++++++++
static/src/js/config.js | 1 +
template/admin/monitor/monitor.html | 21 ++++++++
3 files changed, 78 insertions(+)
create mode 100644 static/src/js/app/admin/monitor/monitor.js
create mode 100644 template/admin/monitor/monitor.html
diff --git a/static/src/js/app/admin/monitor/monitor.js b/static/src/js/app/admin/monitor/monitor.js
new file mode 100644
index 0000000..66a4574
--- /dev/null
+++ b/static/src/js/app/admin/monitor/monitor.js
@@ -0,0 +1,56 @@
+require(["jquery", "chart"], function ($, Chart) {
+ var data = {
+ labels: ["January", "February", "March", "April", "May", "June", "July",
+ "January", "February", "March", "April", "January", "February", "March", "April"],
+ datasets: [
+ {
+ label: "11111111",
+ fillColor: "rgba(220,220,220,0.2)",
+ strokeColor: "rgba(220,220,220,1)",
+ pointColor: "rgba(220,220,220,1)",
+ pointStrokeColor: "#fff",
+ pointHighlightFill: "#fff",
+ pointHighlightStroke: "rgba(220,220,220,1)",
+ data: [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10]
+ },
+ {
+ label: "2222222",
+ fillColor: "rgba(151,187,205,0.2)",
+ strokeColor: "rgba(151,187,205,1)",
+ pointColor: "rgba(151,187,205,1)",
+ pointStrokeColor: "#fff",
+ pointHighlightFill: "#fff",
+ pointHighlightStroke: "rgba(151,187,205,1)",
+ data: [3, 7, 8, 9, 1, 4, 10, 10, 9, 8, 7, 10, 10, 10, 10]
+ }
+ ]
+ };
+ Chart.defaults.global.responsive = true;
+ var myLineChart = new Chart($("#myChart").get(0).getContext("2d")).Line(data);
+
+ var data1 = [
+ {
+ value: 300,
+ color:"#F7464A",
+ highlight: "#FF5A5E",
+ label: "Red"
+ },
+ {
+ value: 50,
+ color: "#46BFBD",
+ highlight: "#5AD3D1",
+ label: "Green"
+ },
+ {
+ value: 100,
+ color: "#FDB45C",
+ highlight: "#FFC870",
+ label: "Yellow"
+ }
+];
+
+
+ new Chart($("#c1").get(0).getContext("2d")).Pie(data1);
+ new Chart($("#c2").get(0).getContext("2d")).Pie(data1);
+
+});
\ No newline at end of file
diff --git a/static/src/js/config.js b/static/src/js/config.js
index 67bb9b6..2f730b4 100644
--- a/static/src/js/config.js
+++ b/static/src/js/config.js
@@ -16,6 +16,7 @@ var require = {
contest: "app/admin/contest/contest",
csrf: "utils/csrf",
admin: "app/admin/admin",
+ chart: "lib/chart/Chart",
//formValidation 不要在代码中单独使用,而是使用和修改utils/validation
base: "lib/formValidation/base",
diff --git a/template/admin/monitor/monitor.html b/template/admin/monitor/monitor.html
new file mode 100644
index 0000000..07a4ba1
--- /dev/null
+++ b/template/admin/monitor/monitor.html
@@ -0,0 +1,21 @@
+
\ No newline at end of file