diff --git a/Server/Resource/__pycache__/admin.cpython-36.pyc b/Server/Resource/__pycache__/admin.cpython-36.pyc
index 0b38580..1fab606 100644
Binary files a/Server/Resource/__pycache__/admin.cpython-36.pyc and b/Server/Resource/__pycache__/admin.cpython-36.pyc differ
diff --git a/Server/Resource/__pycache__/models.cpython-36.pyc b/Server/Resource/__pycache__/models.cpython-36.pyc
index 91d13f5..b3b3c56 100644
Binary files a/Server/Resource/__pycache__/models.cpython-36.pyc and b/Server/Resource/__pycache__/models.cpython-36.pyc differ
diff --git a/Server/Resource/__pycache__/urls.cpython-36.pyc b/Server/Resource/__pycache__/urls.cpython-36.pyc
index 94191b5..83d529d 100644
Binary files a/Server/Resource/__pycache__/urls.cpython-36.pyc and b/Server/Resource/__pycache__/urls.cpython-36.pyc differ
diff --git a/Server/Resource/__pycache__/views.cpython-36.pyc b/Server/Resource/__pycache__/views.cpython-36.pyc
index a1f08ee..cd6bc04 100644
Binary files a/Server/Resource/__pycache__/views.cpython-36.pyc and b/Server/Resource/__pycache__/views.cpython-36.pyc differ
diff --git a/Server/Resource/migrations/0004_auto_20170502_1705.py b/Server/Resource/migrations/0004_auto_20170502_1705.py
new file mode 100644
index 0000000..9ca512a
--- /dev/null
+++ b/Server/Resource/migrations/0004_auto_20170502_1705.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11 on 2017-05-02 09:05
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('Resource', '0003_auto_20170427_1714'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='group_user',
+ name='group_id',
+ ),
+ migrations.RemoveField(
+ model_name='group_user',
+ name='user_id',
+ ),
+ migrations.AddField(
+ model_name='group',
+ name='members',
+ field=models.ManyToManyField(to='Resource.User'),
+ ),
+ migrations.DeleteModel(
+ name='Group_User',
+ ),
+ ]
diff --git a/Server/Resource/migrations/0005_auto_20170502_1713.py b/Server/Resource/migrations/0005_auto_20170502_1713.py
new file mode 100644
index 0000000..21bfd4e
--- /dev/null
+++ b/Server/Resource/migrations/0005_auto_20170502_1713.py
@@ -0,0 +1,37 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11 on 2017-05-02 09:13
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('Resource', '0004_auto_20170502_1705'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Group_User',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('privilege', models.CharField(max_length=20)),
+ ],
+ ),
+ migrations.RemoveField(
+ model_name='group',
+ name='members',
+ ),
+ migrations.AddField(
+ model_name='group_user',
+ name='group_id',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='Resource.Group'),
+ ),
+ migrations.AddField(
+ model_name='group_user',
+ name='user_id',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='Resource.User'),
+ ),
+ ]
diff --git a/Server/Resource/migrations/0006_auto_20170502_1720.py b/Server/Resource/migrations/0006_auto_20170502_1720.py
new file mode 100644
index 0000000..d1ea34b
--- /dev/null
+++ b/Server/Resource/migrations/0006_auto_20170502_1720.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11 on 2017-05-02 09:20
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('Resource', '0005_auto_20170502_1713'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='group_user',
+ name='privilege',
+ field=models.CharField(choices=[('owner', 'owner'), ('master', 'master'), ('member', 'member')], max_length=20),
+ ),
+ ]
diff --git a/Server/Resource/migrations/0007_group_user_visible.py b/Server/Resource/migrations/0007_group_user_visible.py
new file mode 100644
index 0000000..0dcc0af
--- /dev/null
+++ b/Server/Resource/migrations/0007_group_user_visible.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11 on 2017-05-02 09:23
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('Resource', '0006_auto_20170502_1720'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='group_user',
+ name='visible',
+ field=models.BooleanField(default=True),
+ ),
+ ]
diff --git a/Server/Resource/migrations/0008_group_user_update_time.py b/Server/Resource/migrations/0008_group_user_update_time.py
new file mode 100644
index 0000000..428a9b9
--- /dev/null
+++ b/Server/Resource/migrations/0008_group_user_update_time.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11 on 2017-05-02 09:25
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('Resource', '0007_group_user_visible'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='group_user',
+ name='update_time',
+ field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now),
+ preserve_default=False,
+ ),
+ ]
diff --git a/Server/Resource/migrations/__pycache__/0004_auto_20170502_1705.cpython-36.pyc b/Server/Resource/migrations/__pycache__/0004_auto_20170502_1705.cpython-36.pyc
new file mode 100644
index 0000000..c3a162d
Binary files /dev/null and b/Server/Resource/migrations/__pycache__/0004_auto_20170502_1705.cpython-36.pyc differ
diff --git a/Server/Resource/migrations/__pycache__/0005_auto_20170502_1713.cpython-36.pyc b/Server/Resource/migrations/__pycache__/0005_auto_20170502_1713.cpython-36.pyc
new file mode 100644
index 0000000..fe471ae
Binary files /dev/null and b/Server/Resource/migrations/__pycache__/0005_auto_20170502_1713.cpython-36.pyc differ
diff --git a/Server/Resource/migrations/__pycache__/0006_auto_20170502_1720.cpython-36.pyc b/Server/Resource/migrations/__pycache__/0006_auto_20170502_1720.cpython-36.pyc
new file mode 100644
index 0000000..bfe631f
Binary files /dev/null and b/Server/Resource/migrations/__pycache__/0006_auto_20170502_1720.cpython-36.pyc differ
diff --git a/Server/Resource/migrations/__pycache__/0007_group_user_visible.cpython-36.pyc b/Server/Resource/migrations/__pycache__/0007_group_user_visible.cpython-36.pyc
new file mode 100644
index 0000000..0e188d9
Binary files /dev/null and b/Server/Resource/migrations/__pycache__/0007_group_user_visible.cpython-36.pyc differ
diff --git a/Server/Resource/migrations/__pycache__/0008_group_user_update_time.cpython-36.pyc b/Server/Resource/migrations/__pycache__/0008_group_user_update_time.cpython-36.pyc
new file mode 100644
index 0000000..0a76216
Binary files /dev/null and b/Server/Resource/migrations/__pycache__/0008_group_user_update_time.cpython-36.pyc differ
diff --git a/Server/Resource/models.py b/Server/Resource/models.py
index 842e8c4..ca7861c 100644
--- a/Server/Resource/models.py
+++ b/Server/Resource/models.py
@@ -47,6 +47,12 @@ class Group(models.Model):
class Group_User(models.Model):
group_id = models.ForeignKey(Group, on_delete=models.CASCADE)
user_id = models.ForeignKey(User, on_delete=models.CASCADE)
- privilege = models.CharField(max_length=20)
+ privilege = models.CharField(max_length=20, choices=(
+ ('owner', 'owner'),
+ ('master', 'master'),
+ ('member', 'member'),
+ ))
+ visible = models.BooleanField(default=True)
+ update_time = models.DateTimeField(auto_now_add=True)
# def __str__(self):
# return str(self.group_id.group_name)
diff --git a/Server/Resource/templates/Resource/groupList.xml b/Server/Resource/templates/Resource/groupList.xml
new file mode 100644
index 0000000..d732671
--- /dev/null
+++ b/Server/Resource/templates/Resource/groupList.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ {% for group in groups %}
+
+ {% endfor %}
+
diff --git a/Server/Resource/urls.py b/Server/Resource/urls.py
index f0bf96f..b9406a3 100644
--- a/Server/Resource/urls.py
+++ b/Server/Resource/urls.py
@@ -5,4 +5,5 @@ urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^query/user/(?P.+)/', views.QueryUser, name='query_user'),
url(r'^query/group/(?P.+)/', views.QueryGroup, name='query_group'),
+ url(r'^query/grouplist/(?P.+)/', views.QueryGroupList, name='query_grouplist'),
]
diff --git a/Server/Resource/views.py b/Server/Resource/views.py
index 1b81495..09b00e2 100644
--- a/Server/Resource/views.py
+++ b/Server/Resource/views.py
@@ -50,3 +50,11 @@ def QueryGroup(request, group_id):
}
return render(request, 'Resource/group.xml', data, content_type='application/xml')
+
+def QueryGroupList(request, user_id):
+ groups = Group_User.objects.filter(user_id=user_id)
+ data = {
+ 'belongs': user_id,
+ 'groups': groups,
+ }
+ return render(request, 'Resource/groupList.xml', data, content_type='application/xml')
diff --git a/Server/db.sqlite3 b/Server/db.sqlite3
index 475f458..fb1b2b6 100644
Binary files a/Server/db.sqlite3 and b/Server/db.sqlite3 differ