From ea53217fc541a83a1888af9aa6e4c22b0d97ed56 Mon Sep 17 00:00:00 2001 From: TurnMeOn Date: Tue, 2 May 2017 17:33:23 +0800 Subject: [PATCH 1/2] Grouplist file --- .../Resource/__pycache__/admin.cpython-36.pyc | Bin 321 -> 321 bytes .../__pycache__/models.cpython-36.pyc | Bin 2306 -> 2480 bytes .../Resource/__pycache__/urls.cpython-36.pyc | Bin 422 -> 506 bytes .../Resource/__pycache__/views.cpython-36.pyc | Bin 1589 -> 1844 bytes Server/Resource/models.py | 8 +++++++- Server/Resource/urls.py | 1 + Server/Resource/views.py | 8 ++++++++ Server/db.sqlite3 | Bin 180224 -> 184320 bytes 8 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Server/Resource/__pycache__/admin.cpython-36.pyc b/Server/Resource/__pycache__/admin.cpython-36.pyc index 0b3858086a0c4a98bc648e12466ec201d1b1edfd..1fab606281d5e9d01ded17daa9134dc09d20ded7 100644 GIT binary patch delta 16 XcmX@ebdZVNn3tDpwJ*m;b}L2zB%=e^ delta 16 XcmX@ebdZVNn3tF9ZZpG1b}L2zCmjSh diff --git a/Server/Resource/__pycache__/models.cpython-36.pyc b/Server/Resource/__pycache__/models.cpython-36.pyc index 91d13f51d5c647dc61207015fd48e2634d22126e..b3b3c563279f8fd3496c21f0a7ca7a951e1ae1cb 100644 GIT binary patch delta 293 zcmZn?+91qp%*)F)A&?_7pOb;%@x+6o8ax!4#O7#x7OIB4=ZcB6W}6t-TbDDG6| zES?nh6pmiTC|)3&56I>OviVcEf*CaVZ*jR7<(C%3hZd(6X)+ec0ks!#0f}3z`Q>@3 zMYq^;6N^j0bZTxAPzh5JJ4lHPkO%>)*9Fo*N)|}@tz;@P0m*>~AX~!}!~qdNjv0sz zA~czc%t34m5Mc=t5SYx%;jC#0WJa-W&*$ic)jxs0O+0HPQ{aC!XbGw3xh(-AI?YmobVvg(a9lll2yt zdr^LAL40U&YLO;mksJd9LlGB{0J7PEl%FQg2wEa^Z{y|Y|NO>#|5;NhmnVwj}Zg`eSIs6 delta 82 zcmeyxyo_1dn3tEUcqe0|G$RAUV+JI^4rDt3ak1A#Wmm3r<|y_Q?qCK@o{0@D%zm02 ZldT!8Cbu%C^Kbyw@G$Z)^D*)<0svCH4P5{L diff --git a/Server/Resource/__pycache__/views.cpython-36.pyc b/Server/Resource/__pycache__/views.cpython-36.pyc index a1f08ee491beccde5eacddc49e4c1f89d3c45d14..cd6bc04b6e2d5047c51553f1ab739f901392e2d0 100644 GIT binary patch delta 349 zcmdnWvxQIDn3tDJK8Pc-hJ%6OF#{4{0HPy`WNaDp4iy2Te*np#xp z4zdemv>8yW7#IQ!42*nCOpF{%MJ7PDpC*5lKuT6(UV6S>aYlYoNpfjPG1!t@+(6;U f>sUh>O(y?mRTBbP#>2?ND8b0X%)!hd!yy0wCV5AD delta 80 zcmdnOx0OfPn3tDJcRyofAv*)ZV+JI^1Y|n^adE^%.+)/', 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 475f458a673b0efe617678c64539f3384d6099e7..fb1b2b6f48792367a1daa21c7252359f4ac5bb2c 100644 GIT binary patch delta 2382 zcmZ`*TWl0n7@jk;vvXO>zooR>vMt@NtO}*uGc!9gyNmRq;f|$pYoK(u3%f$0Ww94A z5JIaEq9znF>cE4FghYc8gc4T-Bk>XpXd=WIqX|YuKuiRlc<{w@rY)2$Y%^cap85Xo z{QtRpXZ!m-{f9jJ{Dtid!_<(+Lmrkqz58cssQpCy5#WmDvzFkkl0D}<{hkI7BcB~o zysybSpDyN^if0;^W_q%H-Rm+K<7jeyceZa!vacu8o$T9^PW5Jzy&YW{6)R>9)@!gD zz_GZh$FUKPMPu01>LwG7Sz|TKu^KOS^mMH4%#YXNiW-jXjABKL)D`6m7|B#$Z#GHC z#5z`!imBqf1aMr(Vbvh<(Yi_b@%p%UMSCz_(c%#^JU6OGFxKh{^93T~1hD>~05<3h zM0CT{)RX0Im$#RLkKk+A3j5#}xB)kYssc{{?8_5=$DUsRQ;H+4Qm(!df4&%T?nFu1d%fMZ@1gD1z8$N`2CA^C%3w5P>dNbWkb5_tP zHpr?gB`(^3?ahN%KRq+HznF6|zEF1SW`{0vK8dg~KHNSkf182Za0R|6@*lu*AI~#o z(l~uD7eZrI`TP!-7r2l#hJp)7@{E^Z;18nwGpOar&G>vF$w|e@VJw@H$p?{#RxOdo zP2x_2{o8TYi};}{#~<707vEq+?i2&lCSDei@SQuypL4y(ouYra@&@#h=ptctR=aS7 zG&sv{Sb*NAt+#XkEI=wN57c@DU+Zi%u*`mEKB{*+%jmI|h{3lOpqZ7<*I?kupmTOQ z(#ei=a5_1PoUe_-|X3F*K~XTLR31!CwpdiFv&jA zjLNNB0zdMmiqq|)MQA8@xe2M4!a>j(xCMX0MR)-+&^wP!ua2oa$hOgXIqTDGF1ZcA3*Ib=qV%lc*B= zm0EUy3qp%6V77V+Sg;pfgKiB5{u$lRTAT?Muqm?1Y6eDCJdkXNR1i|;7B~8QKlI) zBWg?w5T+j$BB_z?M&+-M2d|&mrLe8zg4DQfgcV&U-a4mJVxU&4CPBKLSU#YYTBnop*g9Lc2UF>ECLN3iw(r=HU$aI8j4-j5 zSTvF-%O7NzVM(Uf1%mSooG0`AImApPIM+qv!|#jXg&K8$kzX@r I3`dOr0aJB5=Kufz delta 829 zcmaKpT}V@57{}lDoU`+>v-KRA+cK40v~E&7&eS4Hy9hMMhS7zX%%$@qrYAPVAR^7e zE`({PIunG{qOR0*;W4BL`#>s^q>Cu9Eayjou^Vr^>D@x~B6{I@dEfu@=g0HWJ|MQY zi#@4Hr3j%+5-bT!qO3PF7nhDz-v?SUA(fLHkv$oo#PKwikt%7Zgkg9IZO{Xsp)QhC zTmX{YK4k6)>`nnZfH;B9Sb@U#Yf0aD&hL0#Z1Lvn_Rd=dv1V44&%0Y}rZ z0Xb7r7AO0o-CFei!|3pXm1j?*BOOcQH&(-uboAf!P<4jMOo$ZBB3OZ0!h8Wo?2G}W z@Xn>%eT$P*WyjBWTyjpnEXz4I+JNl5Q)z4V1-9w3F@ab|umS6lq;EgL#?U-w;urll zH;>>q%oF?^XkSMuDY7Qi}#%0SMCcYNS-q&16$s$7b_cKgOFngVh|(bDCn`flq5O0E@Wn_5LB2)%$H2lrt9LGF=Q;~ Wt9d6EVyn0kQr%%zubQCl34Z{e7X#k_ From cd3515b712a986a008ce095aa5d0362380202908 Mon Sep 17 00:00:00 2001 From: TurnMeOn Date: Tue, 2 May 2017 17:34:38 +0800 Subject: [PATCH 2/2] ! --- .../migrations/0004_auto_20170502_1705.py | 31 +++++++++++++++ .../migrations/0005_auto_20170502_1713.py | 37 ++++++++++++++++++ .../migrations/0006_auto_20170502_1720.py | 20 ++++++++++ .../migrations/0007_group_user_visible.py | 20 ++++++++++ .../migrations/0008_group_user_update_time.py | 22 +++++++++++ .../0004_auto_20170502_1705.cpython-36.pyc | Bin 0 -> 794 bytes .../0005_auto_20170502_1713.cpython-36.pyc | Bin 0 -> 1085 bytes .../0006_auto_20170502_1720.cpython-36.pyc | Bin 0 -> 733 bytes .../0007_group_user_visible.cpython-36.pyc | Bin 0 -> 649 bytes ...0008_group_user_update_time.cpython-36.pyc | Bin 0 -> 771 bytes .../Resource/templates/Resource/groupList.xml | 13 ++++++ 11 files changed, 143 insertions(+) create mode 100644 Server/Resource/migrations/0004_auto_20170502_1705.py create mode 100644 Server/Resource/migrations/0005_auto_20170502_1713.py create mode 100644 Server/Resource/migrations/0006_auto_20170502_1720.py create mode 100644 Server/Resource/migrations/0007_group_user_visible.py create mode 100644 Server/Resource/migrations/0008_group_user_update_time.py create mode 100644 Server/Resource/migrations/__pycache__/0004_auto_20170502_1705.cpython-36.pyc create mode 100644 Server/Resource/migrations/__pycache__/0005_auto_20170502_1713.cpython-36.pyc create mode 100644 Server/Resource/migrations/__pycache__/0006_auto_20170502_1720.cpython-36.pyc create mode 100644 Server/Resource/migrations/__pycache__/0007_group_user_visible.cpython-36.pyc create mode 100644 Server/Resource/migrations/__pycache__/0008_group_user_update_time.cpython-36.pyc create mode 100644 Server/Resource/templates/Resource/groupList.xml 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 0000000000000000000000000000000000000000..c3a162d8aef39569aa282681a5e5596c96a6859f GIT binary patch literal 794 zcmYjPO>5gg5Z%?6W!X-AE3}thbuqHz5GbLfq%?0jDwPyGWu^wimPjI*#$PwZRGyf-=-41&KO{o8@f*l+f1Im9n$*AoI@z;jmcm~+jo z+$!wYE}Yom?23U6&QAso+H3cR9lPKzSm^zsdo1K?*p}I{0u*`HpiJ{Rv{X=JE15P~ zRo2QY=rFIBTE1UCkqg@OoB&zOfyEXauXt>uvvzesaJSYI_nx>19q_TU_Mr>GmP2o= z)m`YrV9Qrd9KaDZHdNi&zPj?Sv94OVMD-$yq7#v}O(iDL_$-=E&cyg^JdJ~utlEue zYn000@eGUy-M1*y0+nO1qctJ}d1y&b%Q^&MPx-gYtvjeq2B;ESOS*I3~NbqWvX|L zMfHFmOcnnffMHV4SRK#O^6{q9xI6E?#~d4+X?rTDHZ(Ldsb5UK)U9av_vP|UqWi3q z%QSmEyG=e<^6O%gE-|^u3Z$>4E0oCs?NkmeQYFZzvK(X-kDvA=E0R6+-EuEkZSsR!(N(I`vOj#}(}r zu93L$47>@?uvbof1y0P`q(xwBXJ@_N%+B}ic&E{DfAs8&Z>FaG)c$&Ct?kpu_Q-$+ zdZfj=r|ZgR5sMAah)vHd)<#tEtYZyKsC?0&g2uS|+3>1hoM|oVj^eeJE}MB04pTrL zg;NxMl(m?2<1i5ZG)$9BS}|=#*~w7h=Z{OyK8@@v8Pq%-G>^f0pnC?I;|dsHqBX8U zg`=sw zhY<#Nw?f*Gz;5h+;t?jn^pd1C3zRhqF@j810(G*i#uyJ!l+r7?i(F!v5=ggz@LUyV zmwpJh3v*WOqIOE`qzR`;oT6mYv}K4@iY`-Biqm9O<=_RlQmPPA~yXh9PFcP<7V2g-$(HzEE8%odc5kND-Az_tF=o zTRX)#y~c839{`k|dz1bgXNW0)fohYl_gR}0z;cMxp6Kd3=JHKn< zsVZHWUmv=AeMKnicl~g)chP^JimS7UKg9ld7-P>*`~XG&3xy2Cna>bCJ48TB~o literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..bfe631f9e8f06e9c1e99f244850d4c111992b8fc GIT binary patch literal 733 zcmZWnO>fjN5Ov}tn@x9N4@gLG;f8XlvRg_egiz5+aM~iVAk+}aa^q<>Tjv8iDR72s ze+YlcS5Ey4oET@dDiV(T{Ortl=FRwMI*qD#;rUaSkl*B=;UPc8sTT->2uG62Ngc;> zSGpBVY2~G!L*5cWh4+&P59rqaK~rD&YZ3>y=tpA5%=)^_8v#s~9Vjk!?3$=53&p## zskI3z{3&&A&G#cja*9(wLjaOGf~2mP6i!OP+xj*j1ly6AihJUIK}9IWH?D|oC|ZQ# z0K?DBc(spV!uOz?UgcmOCP{M4c;7W_k<3q$<7C0+C-Wl{6{_i5)@x8^+^X`rlu&^2 zo3AyV1QpkqJg!h(fVzEvX`zf!zG=!FH0t5sn1s6MHZjGWRm5suf$;|PFH4Z(EOu3Z zo@z9>tH^Q-cz$5H1>_UUEyQCJvf&=aOvD)8+e<(`VeCuKrM=tk1hh~KsPhuEqUdO% z*Anx6W1}kDNi$w<_-=2aro}!C#s5XrBOA=ZpU=w|*+}A{ qJqn*9CM>qRE}BDeF(?{T4AyrU@7QB&9lqSv=9N{it>TG0qkjRy+QJF| literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..0e188d9624ace9a22fd713eb27747d2ce82b8ab9 GIT binary patch literal 649 zcmYjNO^?$s5VhkZO{1=~7vRb@5?W=8pb|o8VI??qk?10{A(G|IOsf><1G`y?GhFwF z@R!Vy6Mq45V4S5Yj%NH~&v@Q@kB^ShKW~$(ADpqD?7tNfKBKU6O2B|?*6@OJj{_Yv zq7Y43gq*!$ARzq4AVjf^zKSA(XvMPl7xl4>yW^p)s}4}=dWS}7n*}ay>Wxvmx@)bA z8@klC^5y##6F8%=k0>E4IItps>4p~q!)@dTV!WL|1o170$*rK91QHsXy6JNNwoBfj z?FLh!dywb(Q>lhsC+GR;B7c(4<>_LcyL4l^p_hY2<0dz?t*Dmgi{ZukRPA`=(yk}ZMx(wnbI(un>G#L;XXSh1Y|C?1KU`jwA3F1C)vF52 z%euj(YSji!xk7V8+unxqV0%f1EaXAF{HOh-|6(GVkWkpv0}+QI59k}uFS6LnTMxUz qkRTIKiJQV!wVUn)u186ukg@u}_zvCo)yeZab6$A)){CA6$Ko&W->{+p literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..0a76216e11368a5bfd60e84de73ebad1a1e38a75 GIT binary patch literal 771 zcmYjPON$dh5bk+TCJ6*VJ?O#fTtYxlS!7vRSr3v$%!=$V(DbG%VaA?^-7_nC)$9Hc z|59H)`4>D{J=u`-&_#83J-+X&c|M&c&4>8u*&uHrtGQhx*ta38PvA!$a z%FDdU&-~%+$sh~gG4LVy#UMbhjDC7q1m23J;a|#Usbgk+U91~GE{hJ8kUDiuQWaYz zx}vGI2`hS(`f_dK_bVdjjJAG323h6+%UnpdPUfLs2H=5@VHr`+xEz&9Ifn4gg$Uw1 zpJFC3A_QYITJGDJ_#^73S8Ftn7mLM9zEw@%@?N9jw}mclB%0)KXU2UCqC?&l6D0u0 z$l}~2oKuxvBKZ@}zxG1fO7;ZUVhvcY3)IS^L=(ROxUe0R9hI5BC7f3TbGS1hl%n1? zCg{6DY7<)mKbjhiN8nA;v^0W2_uouCv0$wE$InmlPXt!y=c0JFyv{#2>dUGXYs_uw zrKrUgRlc%xRKAxoKTI(vQC}U4dZgdH{jLJ)GNP>~WMVJ$eaEHmfit|Mv6W!ccfBIg zihfCEMmr*NxEW~g$UeNk9LUZ0+|(mV7z!OI?YyV9Qv7-+?x~ee+X+nEnG<{e0d + + + + {% for group in groups %} + + {% endfor %} +