From 9b8eeeaacee3161a5aa4ebad01a0be1bc543f8ab Mon Sep 17 00:00:00 2001 From: RemonIbrahimNashed Date: Sat, 27 Jan 2018 20:56:35 +0200 Subject: [PATCH] first commit --- .idea/.name | 1 + .idea/ScrumManagementSystem.iml | 21 + .idea/encodings.xml | 4 + .idea/misc.xml | 4 + .idea/modules.xml | 8 + .idea/scopes/scope_settings.xml | 5 + .idea/vcs.xml | 6 + .idea/workspace.xml | 770 ++++++++++++++++++ ScrumManagementSystem/__init__.py | 0 .../__pycache__/__init__.cpython-35.pyc | Bin 0 -> 158 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 191 bytes .../__pycache__/settings.cpython-35.pyc | Bin 0 -> 2116 bytes .../__pycache__/settings.cpython-36.pyc | Bin 0 -> 2040 bytes .../__pycache__/urls.cpython-35.pyc | Bin 0 -> 534 bytes .../__pycache__/urls.cpython-36.pyc | Bin 0 -> 528 bytes .../__pycache__/wsgi.cpython-35.pyc | Bin 0 -> 607 bytes .../__pycache__/wsgi.cpython-36.pyc | Bin 0 -> 622 bytes ScrumManagementSystem/settings.py | 111 +++ ScrumManagementSystem/urls.py | 11 + ScrumManagementSystem/wsgi.py | 16 + backlog/__init__.py | 0 backlog/__pycache__/__init__.cpython-35.pyc | Bin 0 -> 144 bytes backlog/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 177 bytes backlog/__pycache__/admin.cpython-35.pyc | Bin 0 -> 310 bytes backlog/__pycache__/admin.cpython-36.pyc | Bin 0 -> 325 bytes backlog/__pycache__/forms.cpython-35.pyc | Bin 0 -> 518 bytes backlog/__pycache__/forms.cpython-36.pyc | Bin 0 -> 524 bytes backlog/__pycache__/models.cpython-35.pyc | Bin 0 -> 1983 bytes backlog/__pycache__/models.cpython-36.pyc | Bin 0 -> 1852 bytes backlog/__pycache__/views.cpython-35.pyc | Bin 0 -> 1237 bytes backlog/__pycache__/views.cpython-36.pyc | Bin 0 -> 1184 bytes backlog/admin.py | 7 + backlog/apps.py | 5 + backlog/forms.py | 9 + backlog/migrations/0001_initial.py | 52 ++ backlog/migrations/0002_auto_20180127_1951.py | 33 + backlog/migrations/0003_auto_20180127_2005.py | 18 + backlog/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-35.pyc | Bin 0 -> 1824 bytes .../__pycache__/0001_initial.cpython-36.pyc | Bin 0 -> 1608 bytes .../0002_auto_20180127_1951.cpython-35.pyc | Bin 0 -> 780 bytes .../0002_auto_20180127_1951.cpython-36.pyc | Bin 0 -> 716 bytes .../0003_auto_20180127_2005.cpython-35.pyc | Bin 0 -> 641 bytes .../0003_auto_20180127_2005.cpython-36.pyc | Bin 0 -> 615 bytes .../__pycache__/__init__.cpython-35.pyc | Bin 0 -> 155 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 188 bytes backlog/models.py | 39 + backlog/tests.py | 3 + backlog/views.py | 29 + db.sqlite3 | Bin 0 -> 176128 bytes manage.py | 15 + templates/base.html | 26 + templates/home.html | 32 + templates/new_sprint.html | 16 + templates/sprint.html | 36 + 55 files changed, 1277 insertions(+) create mode 100644 .idea/.name create mode 100644 .idea/ScrumManagementSystem.iml create mode 100644 .idea/encodings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/scopes/scope_settings.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml create mode 100644 ScrumManagementSystem/__init__.py create mode 100644 ScrumManagementSystem/__pycache__/__init__.cpython-35.pyc create mode 100644 ScrumManagementSystem/__pycache__/__init__.cpython-36.pyc create mode 100644 ScrumManagementSystem/__pycache__/settings.cpython-35.pyc create mode 100644 ScrumManagementSystem/__pycache__/settings.cpython-36.pyc create mode 100644 ScrumManagementSystem/__pycache__/urls.cpython-35.pyc create mode 100644 ScrumManagementSystem/__pycache__/urls.cpython-36.pyc create mode 100644 ScrumManagementSystem/__pycache__/wsgi.cpython-35.pyc create mode 100644 ScrumManagementSystem/__pycache__/wsgi.cpython-36.pyc create mode 100644 ScrumManagementSystem/settings.py create mode 100644 ScrumManagementSystem/urls.py create mode 100644 ScrumManagementSystem/wsgi.py create mode 100644 backlog/__init__.py create mode 100644 backlog/__pycache__/__init__.cpython-35.pyc create mode 100644 backlog/__pycache__/__init__.cpython-36.pyc create mode 100644 backlog/__pycache__/admin.cpython-35.pyc create mode 100644 backlog/__pycache__/admin.cpython-36.pyc create mode 100644 backlog/__pycache__/forms.cpython-35.pyc create mode 100644 backlog/__pycache__/forms.cpython-36.pyc create mode 100644 backlog/__pycache__/models.cpython-35.pyc create mode 100644 backlog/__pycache__/models.cpython-36.pyc create mode 100644 backlog/__pycache__/views.cpython-35.pyc create mode 100644 backlog/__pycache__/views.cpython-36.pyc create mode 100644 backlog/admin.py create mode 100644 backlog/apps.py create mode 100644 backlog/forms.py create mode 100644 backlog/migrations/0001_initial.py create mode 100644 backlog/migrations/0002_auto_20180127_1951.py create mode 100644 backlog/migrations/0003_auto_20180127_2005.py create mode 100644 backlog/migrations/__init__.py create mode 100644 backlog/migrations/__pycache__/0001_initial.cpython-35.pyc create mode 100644 backlog/migrations/__pycache__/0001_initial.cpython-36.pyc create mode 100644 backlog/migrations/__pycache__/0002_auto_20180127_1951.cpython-35.pyc create mode 100644 backlog/migrations/__pycache__/0002_auto_20180127_1951.cpython-36.pyc create mode 100644 backlog/migrations/__pycache__/0003_auto_20180127_2005.cpython-35.pyc create mode 100644 backlog/migrations/__pycache__/0003_auto_20180127_2005.cpython-36.pyc create mode 100644 backlog/migrations/__pycache__/__init__.cpython-35.pyc create mode 100644 backlog/migrations/__pycache__/__init__.cpython-36.pyc create mode 100644 backlog/models.py create mode 100644 backlog/tests.py create mode 100644 backlog/views.py create mode 100644 db.sqlite3 create mode 100755 manage.py create mode 100644 templates/base.html create mode 100644 templates/home.html create mode 100644 templates/new_sprint.html create mode 100644 templates/sprint.html diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..6ee233a --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +ScrumManagementSystem \ No newline at end of file diff --git a/.idea/ScrumManagementSystem.iml b/.idea/ScrumManagementSystem.iml new file mode 100644 index 0000000..45b2f53 --- /dev/null +++ b/.idea/ScrumManagementSystem.iml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..d821048 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..4007372 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..8d52539 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/scopes/scope_settings.xml b/.idea/scopes/scope_settings.xml new file mode 100644 index 0000000..0d5175c --- /dev/null +++ b/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..c8c7873 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,770 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + 1517061192924 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ScrumManagementSystem/__init__.py b/ScrumManagementSystem/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/ScrumManagementSystem/__pycache__/__init__.cpython-35.pyc b/ScrumManagementSystem/__pycache__/__init__.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..48ef8028277af50f1296f76172ff6aa4f759ff12 GIT binary patch literal 158 zcmWgR<>gA*ml?$X1dl-k3@`#24nSPY0whux7=kq!{Z=v*frJsnFK_*f{M=OiqSV~{ zJbjnc;_QWHa^HWN5 MQtd#N6az5>0IF6gqyPW_ literal 0 HcmV?d00001 diff --git a/ScrumManagementSystem/__pycache__/__init__.cpython-36.pyc b/ScrumManagementSystem/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d486855e57cdad673114750306448fe5c2514890 GIT binary patch literal 191 zcmXr!<>hi&lo`bU1dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnuN-Hqn9$&r Yyk0@&Ee@O9{FKt1R6CF>ih-B`0Df#YZvX%Q literal 0 HcmV?d00001 diff --git a/ScrumManagementSystem/__pycache__/settings.cpython-35.pyc b/ScrumManagementSystem/__pycache__/settings.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..161c2a057c33f9d5a71e74004af9b9e0da3ea7bc GIT binary patch literal 2116 zcma)7TUXmg5FTSAUjn(11Sn~f=2|WXxw(*}=d?+Lt$+`<P1Ir7kfb$qm`lP zspsU^^r3%9uYKxY=u=0+Hm;$kSkij*&CEBmv$L!D+1b)>e>ld+8vuX8*lz~qPx$cd z3;@A90}g-zKmiUja5!~I$O6s5m(1Wcrh!a>AppsOk%tcY7J%e{AdX-j2)-79l%SIb z1BDwvW`N8Bxe4SJklR4+q^c5-IWSOr7sx#z_lI$3fFjjAe3^ny2FOAZh%5s63dj@)*dIf3rPJ*cjeuj5$03@+^@P;rUQ_F%-T_ z1mrg`)nzd509gTJE}bu?inGRSal8*?6^!|$fZEF1UrC9T=+%4cCof#HPfp(+S+72A z(D3;W2O$j~cYD#vyAA7XV?BDh{OstB&B?NR-1WPW9^E5{me=t`+xNnN?TZ$1nHSxi zMEhYkdN2VdF4POdvmWKq!i17j&YACBR=B9JI_R-9=@D8Xvk#a?6nTMC$`1 zml5L7Q!Ah%r*=PJ;hCrngvLl0y_w`3WFe0EYvR+4!g@#oKh zSuAo~|J<;M;S>FYSBNDVnEp=y9c+Y`B^J=L=~KlKA*o>&eeX&kZ5 zX&{Bkj_!w4V=i;7WY6rLTlhir;krx><}tVL)~VMCyBGc+uj_xlg_?sLF9<$emq6*e zG+_2+hH2`p_qma6>y@Zb=IQZKURj8zd>-d|R@lXAv%tfykMq_(PmzLYCMS$(8ih?s zlar2&OPXA1$-22C{}NAE<<0h1JS)}f>YiLRw^dEo;+r)^(-A@d+gOWBjas!@m-nQW z9M7~=RX5wMdPP+}$GJnFd2vyf8_l|;%UXPUPur>`UiDf8y z4V;ONF)B$mzeDf{zY6K__fEO%yR;loJk!cm%8x?7SH7}i{{!VT4Dk@*V(%<2{OJ0m z@6ZqU4F|5{Fq2))3t3@G5VD!kl`ZB*GNQ$-kP|YC8R5brGbaf7EFup}#cXojDj>)C GCHw>XNvEy= literal 0 HcmV?d00001 diff --git a/ScrumManagementSystem/__pycache__/settings.cpython-36.pyc b/ScrumManagementSystem/__pycache__/settings.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a2bd903623c050942f9dd610bc19fa7790852b1a GIT binary patch literal 2040 zcma)6UsKyg5Vve$8-ob}5>k@3`Cn)T(S(qsoi;((3V32m9!rK+!&D=*hkT$vMkhhh zE1#h6`2zhueY)2^^(*wLC)pT}ai{p^)~nt9?d|RT?$*oY(yzZe`iH4Z=C91qugLUG zHp!n%Kn6G`qi0a&h&##-$sFP@xMb)Pkk#{$(+hS+F9Ht}kcR>kVG>GqL7#*vn1(XU zz%7`C+ssmeIeiM|(_GVN0v0Z^HU~Ml19xE&?!gx}k2zTS%-ft^hWq*qJb*6;(O+F; z;p@*?%;~q_Av|J{58-htpQQ3B=4@V{g=hM0c&^W}y5`wjVDk=qqu&Ki&8#f{&32ZN z<5%y@pS6sABHG=)ak~jZ#T^Ijn(+c^3&tj7J+5=q~mvDEna{l z)3bfS^1U#?2Z9MM_Tu?bYZP|k`y<8#g1j(1?;;W}jyMS-1pD4~hszwM%@9kYh|mnN zb%-5A^umE@9Xq}qul9pn4B((MGe81CRutgyTu}Q;W8jNlkLK)GAq?Two^1%Va(xlY zcU|8TD(T<aPn>-dOu5_`7r^T)t+kk{mD>-p+h}Pp0GxqhBEX_;uc1@NjFN+N+D6z{P z?~H6CC0ExZ2gAwpg;_hs~v?%#V&Tt|r-@>&Uai z&K3T{P4T_E)a=)Im0Qn?HEl_Rri!u)z}s5HRe*G-foNAl2K8r5=&TXNQSO3 zHWb^e?AptBa!;$j{7$C%#HQ(NCmLI$l2r3YCV0#klZtwiEyW literal 0 HcmV?d00001 diff --git a/ScrumManagementSystem/__pycache__/urls.cpython-35.pyc b/ScrumManagementSystem/__pycache__/urls.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c961ed23b4fb9cdd86fa8c63e38bc754d6b3ecb8 GIT binary patch literal 534 zcmZ{hy-ve05P;A5Y0|WT3JDlkI}jl?FHjW*Bqk7|TZD?z+JvOB6WJ+Mvoi7|47^ZQ zCSHMwb0~rVeD?i(KI_i*f$w`auXz*`fH(LxT=dUysb^FaCxIM*6Nm^99UG7vz)gtE zuh@j#0&YWO17QTH1}i--5cPoe zVH)`F*boGyF;_B2W5<-ILOYKsTdUfcwIHmG*|4!h%vobS6r9zEvw6H&=0&2yebMc<&)>6%VuU`?pVb6@16$7k7-Bd>0!J8I?qrT25!rE) zxx$M)j5ua4C#%NFe|3O++*>tSgZXa+R1;K-wQAJ{)n*;57H-sG!32ffFSrMVxFTzn zLGmaQiL~S;;Tv80)15IaooT;vm$~3jb0rnLJetnvJk9cj9-dr3jEeLsW~bq>Umeu` zlP**ujV_P(cS^p2?lz>l^F9o!L$;!Fkq_p%d>+6|S~)Oa)cduKN@j|HS^4!v%C*YX ziQ$#IJL7?&d<*tLs}7h2HHIsxKalF#f`#wp?PdI^xzh1?Jx>!JkGW1wUc{5RT8ld> t>4FO`&19<$7iWS(Qu~YlxOSXDv8|dTk+XHiui(d#4gdlSK?2-^_yJ@Vn2!Je literal 0 HcmV?d00001 diff --git a/ScrumManagementSystem/__pycache__/wsgi.cpython-35.pyc b/ScrumManagementSystem/__pycache__/wsgi.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..99f18d98d7ab2177d97bbfc6b28b948b0434bf7b GIT binary patch literal 607 zcmZ`$O>Yx15S`s^lWL(-B~XvZ*GRBN91%iLr9?qAJ!}zDE*rC+Y#jWtT01G}wLhh& z{t14_UJ(cW0w-n@A>~jk`)M@xoA+jXdVHM9A8L9R0sMr$l~DYSjz1%i08_#UWDGij zDFw6>&@q?hae9?9>Q%*sRV9`*Xv06pm*~t{gRKytaNs+DmHfw%gbhE zE`${o8nhwb_<)Ahjay=3UkM{KMp-JiC7XFN=2ZOvp<18Pd{}x=$AN28`Y$u%6oA&6@+!HkV7WWlk}e6`+lVN;ou-jA9?;1AoPs3M(FpS{j|s4Fq9(}Ff4*R z@M|cr4D&ER5X?LCJ=S4+57?i=2bAwKoT2{y{jcbIHW-ppt0}L@R2!0&W+5-Aq7_I` zE?Zd#lGH}ep>%N+4IP2IT3fKh&46susSxys075OHL~6DWa3o*}f-I@w>yV-n7@16H zT?<}P$F-VFe7&z;Q)&Z*D=#nC0iu;J&Mld80q=+fh-S{!_9RJ|E^W-_R8{&PQ>kSF zDtR9tCo_HPbi$w(dezb=x3=O*^xJ<98uf$bO$DxKeZ>|=^EUlDYoa3sp{ch7O3J+8i4c4}Ky}^o0|C+cJG1$vCT~JGIv}z)s$Y4qr z!Zk0p^nW4~`HO4wXZGb}d~Lzlak?mPIE+)UH%`~%oh(O^`u3RJ!T)$$vbbI~y^otl Red>8}+nNsU;g|Ro{tFge%o+dy literal 0 HcmV?d00001 diff --git a/ScrumManagementSystem/settings.py b/ScrumManagementSystem/settings.py new file mode 100644 index 0000000..3a277bd --- /dev/null +++ b/ScrumManagementSystem/settings.py @@ -0,0 +1,111 @@ +import os + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = '8a=nt+cvw6ka2@5et%9ftet!hpzv75ay5-z#($k4csd(mqhohz' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + + # CUSTOM APP + 'backlog', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'ScrumManagementSystem.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [os.path.join(BASE_DIR, 'templates')], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'ScrumManagementSystem.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/2.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + + +# Password validation +# https://docs.djangoproject.com/en/2.0/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/2.0/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/2.0/howto/static-files/ + +STATIC_URL = '/static/' diff --git a/ScrumManagementSystem/urls.py b/ScrumManagementSystem/urls.py new file mode 100644 index 0000000..4380a90 --- /dev/null +++ b/ScrumManagementSystem/urls.py @@ -0,0 +1,11 @@ +from django.conf.urls import url +from django.contrib import admin +from backlog import views + +urlpatterns = [ + url(r'^admin/', admin.site.urls), + url(r'^$', views.home, name='home'), + url(r'^backlogs/(?P\d+)/$', views.backlog_sprints, name='backlog_sprints'), + url(r'^backlogs/(?P\d+)/new/$', views.new_sprint, name='new_sprint'), + +] diff --git a/ScrumManagementSystem/wsgi.py b/ScrumManagementSystem/wsgi.py new file mode 100644 index 0000000..4d6fb3c --- /dev/null +++ b/ScrumManagementSystem/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for ScrumManagementSystem project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/2.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ScrumManagementSystem.settings") + +application = get_wsgi_application() diff --git a/backlog/__init__.py b/backlog/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backlog/__pycache__/__init__.cpython-35.pyc b/backlog/__pycache__/__init__.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..85a2bc09bbd1dd25feb4d75cee11d38b0493501b GIT binary patch literal 144 zcmWgR<>gA*ml?$X1dl-k3@`#24nSPY0whux7=kq!{Z=v*frJsnFI)YL{M=OiqSV~{ zJbjnc;_Qhi&lo`bU1dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnuQ+F`n9$E?OoM68~t$b z^EYaJph4~W%D4`7@SKWX5F`AXwb&`OlwB|>dVV#)pSnF9i2L9+%r-NIl+c+vkm(J(ko01 literal 0 HcmV?d00001 diff --git a/backlog/__pycache__/admin.cpython-36.pyc b/backlog/__pycache__/admin.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7ee4f3ebb3f2bd73409d972e6ba8dd223012257a GIT binary patch literal 325 zcmZuryH3O~5VYgm<%I4|{6-2QAsU1bLU1L}L^Q^YFSa5lenhrYT+OFY@eh27TPl8m ziZwb>vC@u4J3G5`vDuuQe`xxK5c-7vs{+_9bhrc%NMMZ&rWj{l=)w?6Oi4?OBpw#S zQj%BDj=aoVkQUYD7r0T4(}D}5Y+a=4j(6jO>(jEGyt47BuIN?_-1e^NoQ+=Xef~|i zdsx)2Z;TUC2Tx$=OMp}c6=hm^*{cwxe@DK`T88hJ`z!Vwqz`O2ccYSQC&L)s#M;i! u=8;?8OCxP;4`4NChUW|ai|iPH{YG!5Lt0%!mRZXi46nixU`t0z%FF~GK4oWhky)L0lbEg zhae-EkK->&fiZLOU1fB$@Y*jWBuwZxQ(_1njllB&Foad)s}S@nusm)pNn3ziJr6Bo zkO>sb2l$vi$R5?}yL5(+^V$@pb+Hn+s9v@@^`I0QUGiASC6Z5AYZ@06G9O4`u`U*C zG_!H)`kebn&fS1>UCE8|@;2uW8=*Rn38-V2p5F^IEl^1pwbyYf*|NYAo&ixv{9TTd`QHYMHew zJg%QjNGSd&jbGt5+hcn{YnzQDm&lbUmsQtdG^MS#uD{Biv`d+;f7;D=Mi+<14>byZ E05wZ~^8f$< literal 0 HcmV?d00001 diff --git a/backlog/__pycache__/forms.cpython-36.pyc b/backlog/__pycache__/forms.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2c2b672edc0ed35bfdc5a023e9be633422fe29b9 GIT binary patch literal 524 zcmZuu%}yIJ5Vm(Wo86E|l5$yAvYeeE-NgG-+balHxaL9n z3OtIhJyqffI5C?Qg#(sm=JWS?#`es&(P;4WsFFj@*kAT;1%yw@%x7}IfGbw;gmZSz zzytq*fscIU-TR3T!JLhI|L7bWbJx4BbYZe~_qzVqIwA&H!ht0o`l|pqcw3(I2!~{S zpjtVH-j+j1d<1=}9JzRgH}hKOrM=th;z213Y%f!Cfy#L~BmpWYdZUt$rHUz?( z9F}NjFsG9+NVqx Q9d`{lp}8~D{(9)Y0NTQi8~^|S literal 0 HcmV?d00001 diff --git a/backlog/__pycache__/models.cpython-35.pyc b/backlog/__pycache__/models.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..adc9235f919dfcef1d8dba0ed7fa055678170979 GIT binary patch literal 1983 zcmb`I%W~sH6oy;ANU|cwp3H@0pr)u<9;o^Gii z6g#u#J$MGTJVmo)|LL|T4loo8RMt`JoNo2${=Ytc)a^#%*DU$D&Dd{j=W3yS zj9Zs50zZ#sjO89nJm%4RgJlhtH(AnT-nnQp(PBTq-D0xIu3Bt`NSmFDHWR)L_&Wg~ zfq;q72Ev^HoEBDFcbV9y z#UyC-uztYnr}Qt%?pWfD#?AS>tE zbjpHbwX%|?Rn%E#+S4p8u1%QMRmqF;8xwC^JQd<>=Hat+(Ua~I+&X~yp0O*2bi6U` zB~3$5Ewk4@G1W(h-#-~$mbn}$nU}@rRO;)hT#hC)Rp&3$BAv@z7S-fNS27=M@*6oR zhRYihaIP!Gd6(vEz%cK--e%pyO>8{aHzBu6yT7YEe`QN0_aT zU=#^*ai(Hw)7nfRg_FX== z1oYK?8u5V4Loy_`dPIg~RyOCy)OsJr#LvqzlWAe~OoD~xqAa9(k2;WKCOCOEIeB*a zxd}E*zFXoC(4Ugjv==etg}_c^irf*|hvOKx{srdm^<;&ObMm5A*xEvZyQ&5~Z2=^Y zlhk>fq;Km9CP~PfKH7d5^cbSCFR(Vt#s!=^Fet#RicQ<-qqxW~J(1UFi zYF(uIT2a|qQ(a0 z6TBDGl*w*+*Q6#?lkOICt z3-2cADSA^^IevGq&I& z#HQWe2jLl5@E)^el~-T`|1-{2F4e8X0!wq|_{@xFa(@3g`Lf%M#((6=@2+M2XC5~5msVzD{<&E+~y8%T{?-2H&6KH z00CkScQ4%}L^Oi$UD`><_&yHd@ZhqQ#60BDTPx}E4vrCP|7p6~d{?gbpJI>s(9zL0 z{fXtGSXXD-tBdS)Es|h~NqMR%cbTWf20tiB z>#Af$`Qz!ZrQ@p?mU1p*Y$YR@l?_7=_0+~_%7gjEI=65>drB#yov2qLfAyOsPcZ)1 zV*J&DQl}P^dbP>KVj|S0DtC+7O4i#KX_2nQRut9jLRDh>#WqDJZysD6e%+!$Fxp*c zpD|TQ#=3MK2gb60?jJHWI*d(+JsmKU2F7&67?#($fFCpVx=wRCHe<4d)jAxXrSdcr zIhQ?pk4{S|vUTyTxRCUH9Zg=c>C5>y&!^9lXeEV7@$y246L@B!4pf!OilvqIM8VO^ z0aluHTr;;QM)D=~D9UnR_w0LiY@awL{x69^_l?97IPXdf@-YG0O*N{+%l1YiQMKf?*j21-UH&kZqHM-+0#8n)~TNCDSZdn`@i8Ii91K)iCbaa z|IhbxYVva)zb z3=MU<)siHZbW^2p)lo8Q6f6T#entacqwM!9;Q?k5b479u>_!Wuhn_tkJ<#}c80h=_ zJT2DcXjK-K%$6fm+p|$q&6?^G9wzW*Q;ysh^lxL7*_?;IbnT9q+d>-D!NaDkJtC}% ME+F=I2hpJO4~znj_y7O^ literal 0 HcmV?d00001 diff --git a/backlog/__pycache__/views.cpython-35.pyc b/backlog/__pycache__/views.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..795c479e19a55bbbdb7e771644f80236d059a2e9 GIT binary patch literal 1237 zcmZWoJ#Q2-5FPK=?cVL>E(t^mqDA7GJBm~YAp{f@a3BtvZBCnAb6@M-!}bv+NLaLhavuGhoO)|L=uhKG|aluPH zIaQjAQFF=Y(}JI<;ri5gbhM386x{%<$K)=K8DXM^WxvLD9~X#CGpaTs*)n$FfJRid z-Z|oQuHboNGUkib!E&q|kQo(d>A}(mLV#NVO%73*2nV&SmX$|aRf#%N5CNuFvhZ<8k=W62~oB+-Go`kP`C z)Li~cb^H2u;#Cp4|9BllGK#+8;_b-QfC{jtO9Cml(+E-t+GiY&N>!7i5e`))6!&fxRJb7j1^1x a2v2Pa{+M2XLniOJ#b?`_WuB%6$K># literal 0 HcmV?d00001 diff --git a/backlog/__pycache__/views.cpython-36.pyc b/backlog/__pycache__/views.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ecf011ce89df2077fd1c0f3d31dc795c0bde4151 GIT binary patch literal 1184 zcmZuw&2G~`5Z)i#u@g6Gp&+&51$-bvq9=q9YJ1=S1(9+wks{Z-#U$&Aj}CApxMuYj~* zD>|i@9N_Vz^Jr2j*`HWdxbOsyEUK|dJRQMC*J=P6$Fri)9;EPMEk7@%vAP5EYodGL zetkT6HbjPIc(}~xQ#m}8W^Sv+aFFYzdXtseSSnfC!I`mAJysbw{r{iCHHzVvsXR6P z#hLREVjHe82!YTx)mz|mWQre@`Ihk`m{?-ziVAwgE|_J&nF+pPYtG&glz}bg=N(gP z*>G>IZ%w#H@oN4JW3IcHxQFIG8YJA9O^94?y>rwYXYltLXiW7s%>DpH_yLT%G{+F! z1-c?LCfJe&}-hkK$=(SeNwng}j)kTef zU=7!K@7@lMomXZ`rjd}D7!}hJx=ufYyK6Eofc6_@w#IqhE9L2$My*Q1nnm8HN~@%E ztBebjw3A9`tcs4oxFFXugQ7mb43caVL&`b?13mS(jxJ~f`&ZBQEeI6PpvZ*AQ1yU@ zl+iBhQjJwUN;ciDm}TX->gQEy_4K5lE$yVQDj^G_u{~U8yoB_wGxC22W_N*a0)Gwoy^=Xp z$zfPE;Y>z3`K|v;{&n(W8UB0P_bqMW{DzUGSpH_2%is8SE&m6GKYxpiD~7!PSMqQF z7xM4eK%3+NjIi$(Lqq1hlFZHOykCMJSj)U*AC}-hWZf=9JbXoJd1*enSsIfa@4do4 zm%`ffkIA`}!U*VwwDYONpU}?#R5y;xZGNUb!4lN9T{gWuN<;0RM;LRd-H7WJTc|Xc zX2=wBy*AIHgk{U%5|_FmF^gCnUEzUleTUg3l^9r0?%|M*5&J%fQH1JZ^?*)`_7@_0 zwm>>-ie)Nbs_-q+=KR z9$5N8pqoKJ7tJC@>bHX6*@DGJM;g^45h)TmtC$cQ@;RH&*@O%^&Pgv6(`81t5a`a% z)3YbR)6xF7!SU&E|46r9SVSoG+Mcc8vANDN&n#%{P+<>Dp><>Lf@OKPJtSGrq6CW> zGt9fqgET|R?;EPT&u2`8sdo89*KJ8i1>GE;1}CRyPYzEW>(*|X#>hmzwzju3+S?iK z>(-%A7-A8una;7eX@7!jhgjL>_oKl@n&2SABo%`p%1f2b2cv1WNRF9cAtor)XekvY zgF@B8%R76py}kWeP{`JwFS9E7tqi@Ws#?C1X={ZgguOOvMI^fKYRw@a9=f0b{9 QuT8zBPtCfs>9i_;0yWOd!T%Wm676y-~#M7Chsw;b zsk}|M+Vm5;Df$WhmDzTsU+AX2L()zIq!GcwJS;|l2h!YuSOeiqUT-z)-iaBulUV03~B@>7=Z<5U{hyWqb}w* zBQvNYYJdec^`}iR@j(UPE}csYJnU;h9s3$f3$c&5ji|Xa5w#F?5VZ@`LDWTL(zWTW zsXtwxZa`PFz}m8QX+<@-wX_PZ^$&1uz-E!{Lrh!9w23Nj7c=i@-W$#>*oGaryR?zf zyUvv9&GkrY&O&f}Eu zML44i)ew}&B#E!6YW+m{I1@BvB&EvH?dm?(K~Xd0=P;oxk}s8;v-nj`v8E*9G9(h~ zt0Z9A>yQ8_mog~(9hN7F@+;0EBx0ugIGtx)5;mdA#eK?Ltne}zt3qoNsF?70uJ6$5AHAwggoq=C znsfA1)g&fCoh9v6=bE+Deb(Dn^|07o7%D#u@e<|<#kduQuX2)T=Mi}^izS{7w>8D4 zcunSWGRBEO=jbqHlLfc*PD1sRE@)zgqLBvkFF2nlvX1emZ5)~af@qw5>~GD4)+I#`~4%;I$@GVv?BAfIjz1ze;9lpRTa(O>EV;n1$rn({d_Wu z>8MY|OlI@ZV8ZkClrR#}lrlM32uaf~Q-Xi|{ez>*_R-r9-e_-c@2jx#b$7ntH6*U% zE56Zz<=7p^F)eG;Tr)fPJhn@uWBoj=uwUVh>6`b=B1^BXnx!?nlZ;)KC)22UU|bwx r>Hf}5=WhA=-MzMvf2)1an%+86MhDoZ>fe=>^1Uty;bPN5opt+P;V9E7 literal 0 HcmV?d00001 diff --git a/backlog/migrations/__pycache__/0002_auto_20180127_1951.cpython-35.pyc b/backlog/migrations/__pycache__/0002_auto_20180127_1951.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..01c63010b183cb29865a0fdd7e1e8795e2e590ae GIT binary patch literal 780 zcma)4&2G~`5FY=;wT;68sd)fyzSMRQ0wh!wse)5`2@;Yot8I2LPVBYW-3YbU@G^Y> z-UaQI6R*IDv6Cq60g3hQct$h+zWK&Gn@;2WXH%jF@CzO+pZp6t`UM$5+kpn4b)a;h zb)j^@`5;^n9(<>y2k5}cgRKXp2f~L%I{8f>Lh9PMtt-V%-AQeOwiDRs<&Zk8gq#aH z`Ue?=fq?jkKun<`KEn24H5o{#3BnfS2Y>;rPC(EOVGGU{yklAPe`WDl_T-4R1%i5j zvn%)qUFAa=f=Ec~QyX0!MB0-ZzFaq5Ws^M53s%e8)V!fF4APn8En0uHp*CC@#*LkP zuCWm|;TzL2*?nVNh>teVy{e@teZ%$I1}Fv9UZ?Kef#L2ELmJtTjrfe&m@(qpG)R8J z*w+nj2F@W8*b@}WWsO?7G;|(Afw65*{F7&7q9bT{)!cEUKVHl ztr{*~Ku13(lX#IIIRQP-+{f=^ACL9dsc$2(;Ic1xmWB@Ui5!n9TX8HbitX8Pj7B!r{}U- zw?l1bS(fFZ=^N9?)<)V$WrQ>zQf_B*YX;E|UxWlmeIn+_h+cMRgApg68f?LadZU`& z6oHX?ZA0vVI-I4Rnh--35~Q(>#8@eWO@yFM+ZM^53GsO=Ti4BbfE%jDzG_e_j|y$_ zrZuSExpNdf6SMI`8XSF_3>(}l{f((3cbJ1;7jIvdA2ljnF1FRW!E%9mZH7&`tkkwU zmA$O7!`>_}wZZOjCuvc42g|)qhh<>W2i8 z9|i&U=sWcOU6Z{(=AWg3jbSDGdN_vjk@d)Q4BoQZSr4eMjb82ad+h|#PNw_*Z*nBO ARR910 literal 0 HcmV?d00001 diff --git a/backlog/migrations/__pycache__/0003_auto_20180127_2005.cpython-35.pyc b/backlog/migrations/__pycache__/0003_auto_20180127_2005.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c95384f3cdddf376d841090f88647e44e8ec491c GIT binary patch literal 641 zcmZ`%%}(4f5T5*ONK!bpqR)^E$u2@|rK+M5f)iY}Ql-6EW<5=JiS4cJ6@u&b0eb5* z^p(u9r@lf@9UE3uNZ6jy*yEY+^Ox-J?bSc-hS|>q;5Ym?a*B`1>>)WpD}ez(CNN7t zrZ7t(ITI;}48Bt`1599gYw&bO$3=aSE_ z2HpGDUDr(*Upvhv-S}-cp1fh>cSmEQ7-%uYCHg%2(mHM&S;2u7 z0VFjq1csXkI2DdJGYBENG~ z`CKku9xYsAtkPC0`yt~lnF9LZOD2e+XC-^pp$jLBJ~i0FSr+JsNNG=zx+QXokicdB|-V~4$6Ul@zsvrf@Z|KC~O3RB*{LrD@H z{v**c&yNmv7uvtIpVy=WiHO6H2lP$%XIbdxuu*+I9KiWB-89kUyk~!7J*Iq@yuQ)t LjUU{2IUb5Xw5z4> literal 0 HcmV?d00001 diff --git a/backlog/migrations/__pycache__/__init__.cpython-35.pyc b/backlog/migrations/__pycache__/__init__.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d1e7372d7413a499c6493b141b2846eac51c8250 GIT binary patch literal 155 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 + + + + {% block title %}BackLogs{% endblock %} + + + + + + + + {% block heading %} + {% endblock %} + + {% block content %} + {% endblock %} + + + + \ No newline at end of file diff --git a/templates/home.html b/templates/home.html new file mode 100644 index 0000000..143afaf --- /dev/null +++ b/templates/home.html @@ -0,0 +1,32 @@ +{% extends 'base.html' %} +{% block heading %} +

BackLogs

+{% endblock %} +{% block content %} + + + + + + + + + + + + {% for backlog in backlogs %} + + + + + + + + {% endfor %} + +
BackLogsSprintsTasksstart_Atend_At
+ {{ backlog.name }}
+ {{ backlog.description }} +
{{ backlog.sprints.all.count }}0{{ backlog.start_at }}{{ backlog.end_at}}
+ +{% endblock %} \ No newline at end of file diff --git a/templates/new_sprint.html b/templates/new_sprint.html new file mode 100644 index 0000000..71dccd2 --- /dev/null +++ b/templates/new_sprint.html @@ -0,0 +1,16 @@ +{% extends 'base.html' %} + +{% block title %} New Sprint{% endblock %} + +{% block heading %} +

backlogs / {{backlog.name}} / new sprint

+ +{% endblock %} + +{% block content %} +
+ {% csrf_token %} + {{ form.as_p }} + +
+{% endblock %} \ No newline at end of file diff --git a/templates/sprint.html b/templates/sprint.html new file mode 100644 index 0000000..1de9260 --- /dev/null +++ b/templates/sprint.html @@ -0,0 +1,36 @@ +{% extends 'base.html' %} + +{% block title %} + {{ backlog.name }} +{% endblock %} + +{% block heading %} +

Backlogs / {{ backlog.name }}

+{% endblock %} + +{% block content %} +

New Sprint

+ + + + + + + + + + + + {% for sprint in backlog.sprints.all %} + + + + + + + + {% endfor %} + +
IDSprintTasksStart atEnd at
{{ sprint.id }}{{ sprint.name }}{{ sprint.tasks.all.count }}{{ sprint.start_at }}{{ sprint.end_at }}
+{% endblock %} +