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