From 718b7b1c400f210d9f815d7f05151e4b1217585d Mon Sep 17 00:00:00 2001 From: mustafanw Date: Sun, 24 Mar 2019 23:17:15 +0530 Subject: [PATCH] ValueLabs Coding Round --- pollsapp/Poll.sqlite3 | Bin 0 -> 155648 bytes pollsapp/polls/admin.py | 3 +- pollsapp/polls/api.py | 1 + pollsapp/polls/forms.py | 17 +++ .../migrations/0002_auto_20190324_1308.py | 26 ++++ .../migrations/0003_auto_20190324_1344.py | 39 +++++ .../migrations/0004_auto_20190324_1346.py | 50 +++++++ .../migrations/0005_auto_20190324_1629.py | 29 ++++ .../migrations/0006_auto_20190324_1630.py | 21 +++ pollsapp/polls/models.py | 21 +-- pollsapp/polls/templates/editch.html | 79 +++++++++++ pollsapp/polls/templates/editqn.html | 71 ++++++++++ pollsapp/polls/templates/edittr.html | 37 +++++ pollsapp/polls/templates/home - Copy.html | 58 ++++++++ pollsapp/polls/templates/home.html | 57 ++++++++ pollsapp/polls/templates/indexch.html | 67 +++++++++ pollsapp/polls/templates/indexqn.html | 70 +++++++++ pollsapp/polls/templates/indextr.html | 58 ++++++++ pollsapp/polls/templates/logo.JPG | Bin 0 -> 10755 bytes pollsapp/polls/templates/showch.html | 70 +++++++++ pollsapp/polls/templates/showqn.html | 70 +++++++++ pollsapp/polls/templates/showqnch.html | 69 +++++++++ pollsapp/polls/templates/showqnch0.html | 37 +++++ pollsapp/polls/templates/showtr.html | 68 +++++++++ pollsapp/polls/urls.py | 18 +++ pollsapp/polls/views.py | 133 +++++++++++++++++- pollsapp/pollsapp/settings.py | 8 +- pollsapp/pollsapp/urls.py | 2 +- 28 files changed, 1162 insertions(+), 17 deletions(-) create mode 100644 pollsapp/Poll.sqlite3 create mode 100644 pollsapp/polls/forms.py create mode 100644 pollsapp/polls/migrations/0002_auto_20190324_1308.py create mode 100644 pollsapp/polls/migrations/0003_auto_20190324_1344.py create mode 100644 pollsapp/polls/migrations/0004_auto_20190324_1346.py create mode 100644 pollsapp/polls/migrations/0005_auto_20190324_1629.py create mode 100644 pollsapp/polls/migrations/0006_auto_20190324_1630.py create mode 100644 pollsapp/polls/templates/editch.html create mode 100644 pollsapp/polls/templates/editqn.html create mode 100644 pollsapp/polls/templates/edittr.html create mode 100644 pollsapp/polls/templates/home - Copy.html create mode 100644 pollsapp/polls/templates/home.html create mode 100644 pollsapp/polls/templates/indexch.html create mode 100644 pollsapp/polls/templates/indexqn.html create mode 100644 pollsapp/polls/templates/indextr.html create mode 100644 pollsapp/polls/templates/logo.JPG create mode 100644 pollsapp/polls/templates/showch.html create mode 100644 pollsapp/polls/templates/showqn.html create mode 100644 pollsapp/polls/templates/showqnch.html create mode 100644 pollsapp/polls/templates/showqnch0.html create mode 100644 pollsapp/polls/templates/showtr.html diff --git a/pollsapp/Poll.sqlite3 b/pollsapp/Poll.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..e88c6fb062a3244a16eb42765d6e07b95df74df3 GIT binary patch literal 155648 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 literal 0 HcmV?d00001 diff --git a/pollsapp/polls/admin.py b/pollsapp/polls/admin.py index bd9ecc4..bffe00d 100644 --- a/pollsapp/polls/admin.py +++ b/pollsapp/polls/admin.py @@ -1,7 +1,8 @@ from django.contrib import admin -from .models import Question, Choice +from .models import Question, Choice, Track # Register your models here. admin.site.register(Question) admin.site.register(Choice) +admin.site.register(Track) diff --git a/pollsapp/polls/api.py b/pollsapp/polls/api.py index 5e46693..df2dc5d 100644 --- a/pollsapp/polls/api.py +++ b/pollsapp/polls/api.py @@ -8,6 +8,7 @@ class QuesSerializer(serializers.ModelSerializer): class Meta: model = Question fields = ('id', 'question_text') + #fields = '__all__' class ChoiceSerializer(serializers.ModelSerializer): class Meta: diff --git a/pollsapp/polls/forms.py b/pollsapp/polls/forms.py new file mode 100644 index 0000000..128eaa4 --- /dev/null +++ b/pollsapp/polls/forms.py @@ -0,0 +1,17 @@ +from django import forms +from polls.models import Question, Choice, Track +class QuestionForm(forms.ModelForm): + class Meta: + model = Question + #fields = ( 'question_text',) + fields= "__all__" +class ChoiceForm(forms.ModelForm): + class Meta: + model = Choice + #fields = ( 'choice_text',) + fields= "__all__" + +class TrackForm(forms.ModelForm): + class Meta: + model = Track + fields = ( 'name',) diff --git a/pollsapp/polls/migrations/0002_auto_20190324_1308.py b/pollsapp/polls/migrations/0002_auto_20190324_1308.py new file mode 100644 index 0000000..2f434f7 --- /dev/null +++ b/pollsapp/polls/migrations/0002_auto_20190324_1308.py @@ -0,0 +1,26 @@ +# Generated by Django 2.1.4 on 2019-03-24 07:38 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('polls', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='Track', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=10)), + ], + ), + migrations.AddField( + model_name='question', + name='track', + field=models.ForeignKey(default='', editable=False, on_delete=django.db.models.deletion.CASCADE, to='polls.Track'), + ), + ] diff --git a/pollsapp/polls/migrations/0003_auto_20190324_1344.py b/pollsapp/polls/migrations/0003_auto_20190324_1344.py new file mode 100644 index 0000000..0b8f03f --- /dev/null +++ b/pollsapp/polls/migrations/0003_auto_20190324_1344.py @@ -0,0 +1,39 @@ +# Generated by Django 2.1.4 on 2019-03-24 08:14 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('polls', '0002_auto_20190324_1308'), + ] + + operations = [ + migrations.AlterField( + model_name='choice', + name='choice_text', + field=models.CharField(default='', max_length=200), + ), + migrations.AlterField( + model_name='choice', + name='question', + field=models.ForeignKey(default='', on_delete=django.db.models.deletion.CASCADE, to='polls.Question'), + ), + migrations.AlterField( + model_name='question', + name='pub_date', + field=models.DateTimeField(blank=True, default='', null=True), + ), + migrations.AlterField( + model_name='question', + name='question_text', + field=models.CharField(default='', max_length=200), + ), + migrations.AlterField( + model_name='track', + name='name', + field=models.CharField(default='', max_length=10), + ), + ] diff --git a/pollsapp/polls/migrations/0004_auto_20190324_1346.py b/pollsapp/polls/migrations/0004_auto_20190324_1346.py new file mode 100644 index 0000000..dedfad9 --- /dev/null +++ b/pollsapp/polls/migrations/0004_auto_20190324_1346.py @@ -0,0 +1,50 @@ +# Generated by Django 2.1.4 on 2019-03-24 08:16 + +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ('polls', '0003_auto_20190324_1344'), + ] + + operations = [ + migrations.AlterField( + model_name='choice', + name='choice_text', + field=models.CharField(default='', max_length=200, null=True), + ), + migrations.AlterField( + model_name='choice', + name='question', + field=models.ForeignKey(default='', null=True, on_delete=django.db.models.deletion.CASCADE, to='polls.Question'), + ), + migrations.AlterField( + model_name='choice', + name='votes', + field=models.IntegerField(default=0, null=True), + ), + migrations.AlterField( + model_name='question', + name='created_date', + field=models.DateTimeField(default=django.utils.timezone.now, null=True), + ), + migrations.AlterField( + model_name='question', + name='question_text', + field=models.CharField(default='', max_length=200, null=True), + ), + migrations.AlterField( + model_name='question', + name='track', + field=models.ForeignKey(default='', editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, to='polls.Track'), + ), + migrations.AlterField( + model_name='track', + name='name', + field=models.CharField(default='', max_length=10, null=True), + ), + ] diff --git a/pollsapp/polls/migrations/0005_auto_20190324_1629.py b/pollsapp/polls/migrations/0005_auto_20190324_1629.py new file mode 100644 index 0000000..d5522e2 --- /dev/null +++ b/pollsapp/polls/migrations/0005_auto_20190324_1629.py @@ -0,0 +1,29 @@ +# Generated by Django 2.1.4 on 2019-03-24 10:59 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('polls', '0004_auto_20190324_1346'), + ] + + operations = [ + migrations.AlterField( + model_name='question', + name='created_date', + field=models.DateTimeField(default='', null=True), + ), + migrations.AlterField( + model_name='question', + name='question_text', + field=models.CharField(default='Enter', max_length=200, null=True), + ), + migrations.AlterField( + model_name='question', + name='track', + field=models.ForeignKey(default='', null=True, on_delete=django.db.models.deletion.CASCADE, to='polls.Track'), + ), + ] diff --git a/pollsapp/polls/migrations/0006_auto_20190324_1630.py b/pollsapp/polls/migrations/0006_auto_20190324_1630.py new file mode 100644 index 0000000..a15c066 --- /dev/null +++ b/pollsapp/polls/migrations/0006_auto_20190324_1630.py @@ -0,0 +1,21 @@ +# Generated by Django 2.1.4 on 2019-03-24 11:00 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('polls', '0005_auto_20190324_1629'), + ] + + operations = [ + migrations.RemoveField( + model_name='question', + name='created_date', + ), + migrations.RemoveField( + model_name='question', + name='pub_date', + ), + ] diff --git a/pollsapp/polls/models.py b/pollsapp/polls/models.py index 024ae52..a0d3583 100644 --- a/pollsapp/polls/models.py +++ b/pollsapp/polls/models.py @@ -2,20 +2,23 @@ from django.utils import timezone import datetime -# Create your models here. -class Question(models.Model): - question_text = models.CharField(max_length=200) - pub_date = models.DateTimeField(blank=True,null=True) - created_date = models.DateTimeField(default=timezone.now) +class Track(models.Model): + name = models.CharField(max_length=10, default="",null=True) + def __str__(self): + return self.name +class Question(models.Model): + track = models.ForeignKey(Track,on_delete=models.CASCADE, default="",null=True) + question_text = models.CharField(max_length=200, default="Enter",null=True) + #pub_date = models.DateTimeField(blank=True,null=True, default="") + #created_date = models.DateTimeField(default="",null=True) def __str__(self): return self.question_text class Choice(models.Model): - question = models.ForeignKey(Question, on_delete=models.CASCADE) - choice_text = models.CharField(max_length=200) - votes = models.IntegerField(default=0) + question = models.ForeignKey(Question, on_delete=models.CASCADE, default="",null=True) + choice_text = models.CharField(max_length=200, default="",null=True) + votes = models.IntegerField(default=0,null=True) def __str__(self): return self.choice_text - diff --git a/pollsapp/polls/templates/editch.html b/pollsapp/polls/templates/editch.html new file mode 100644 index 0000000..2f513e0 --- /dev/null +++ b/pollsapp/polls/templates/editch.html @@ -0,0 +1,79 @@ + + + + + + + + + + + + + +
+ {% csrf_token %} +
+
+
+ +
+

Update Details

+
+
+ +
+ +
+ + +
+
+ +
+ +
+ + +
+
+ +
+ +
+ +
+
+
+
+ + + + + + + diff --git a/pollsapp/polls/templates/editqn.html b/pollsapp/polls/templates/editqn.html new file mode 100644 index 0000000..1f591e0 --- /dev/null +++ b/pollsapp/polls/templates/editqn.html @@ -0,0 +1,71 @@ + + + + + + + + + + + + + +
+ {% csrf_token %} +
+
+
+ +
+

Update Details

+
+
+ +
+ +
+ + +
+
+ +
+ +
+ +
+
+
+
+ + + + + + + diff --git a/pollsapp/polls/templates/edittr.html b/pollsapp/polls/templates/edittr.html new file mode 100644 index 0000000..2d50945 --- /dev/null +++ b/pollsapp/polls/templates/edittr.html @@ -0,0 +1,37 @@ + + + + + Index + {% load staticfiles %} + + + +
+ {% csrf_token %} +
+
+
+ +
+

Update Details

+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+
+
+ + diff --git a/pollsapp/polls/templates/home - Copy.html b/pollsapp/polls/templates/home - Copy.html new file mode 100644 index 0000000..6bceb85 --- /dev/null +++ b/pollsapp/polls/templates/home - Copy.html @@ -0,0 +1,58 @@ + + + + + + + + + + + + + +
+
+ + + Please Enter a New Track +
+ + +
+ + + + + + + + diff --git a/pollsapp/polls/templates/home.html b/pollsapp/polls/templates/home.html new file mode 100644 index 0000000..8037e73 --- /dev/null +++ b/pollsapp/polls/templates/home.html @@ -0,0 +1,57 @@ + + + + + + + + + + + diff --git a/pollsapp/polls/templates/indexch.html b/pollsapp/polls/templates/indexch.html new file mode 100644 index 0000000..9816c37 --- /dev/null +++ b/pollsapp/polls/templates/indexch.html @@ -0,0 +1,67 @@ + + + + + + + + + + + + + +
+ {% csrf_token %} +
+
+
+ +
+

Enter Details

+
+
+
+ + {{ form.as_table }} + +
+
+ +
+ +
+
+
+
+ + + + + + + diff --git a/pollsapp/polls/templates/indexqn.html b/pollsapp/polls/templates/indexqn.html new file mode 100644 index 0000000..3eb23ae --- /dev/null +++ b/pollsapp/polls/templates/indexqn.html @@ -0,0 +1,70 @@ + + + + + + + + + + + + + +
+ {% csrf_token %} +
+
+
+ +
+
Enter Question
+
+
+ +
+ +
+
{{ form.as_table }}
+
+
+ +
+ +
+ +
+
+
+
+ + + + + + + diff --git a/pollsapp/polls/templates/indextr.html b/pollsapp/polls/templates/indextr.html new file mode 100644 index 0000000..318f881 --- /dev/null +++ b/pollsapp/polls/templates/indextr.html @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + +
+ {% csrf_token %} +
+
+ + + {{ form.name }} + Please Enter a New Track +
+ + +
+ + + + + + + + diff --git a/pollsapp/polls/templates/logo.JPG b/pollsapp/polls/templates/logo.JPG new file mode 100644 index 0000000000000000000000000000000000000000..e024cdae86069d1dbe8ed48436753f1c11264eec GIT binary patch literal 10755 zcmeI1cU03&*2gD=4$=gq%LAbZLI_0x30SBq(h(4iAt4$dp-TWMQbZ7G3MfTTIw)A^ z1}RchM5RVSML3CLzek z7;=-Cf7+EP$=__KnkE1#DZlJrSq1xrHFE1&#ed`ZS=YQyV4c7^fpr4w1bz`vS3~IN zs%hw|Yf3W=O$}Ww4e+n}03ZN=;0yc!8sHdp?LQ7KvEzPzUb=8N(N`6X^>lGn#ds3n zB(xVCp{fQ4dIlsfG{)W4Puj)x7@mk!n7PxaAdSZ&6%J~dtC@T4aXpSV4f1id2|8el z33A8iU=mf!thY>4J7)ZNh(BN*&h=ay82>#@Lqm+PonhN zglHE}e?O#*zds(Ui$mkIT(DRz6&JJyRt15;qE*mX4TK6-Lj${A3!$x!L%7KN2#>}5 zjPB*{9%s6%&92|P^--G@$g>OBKQ^$Dj=NV-@DgA#?)`R>J8F&wJ+022fXWnzZ1urM>ODj^|^alp*aBJdYt7wbkVG@FdKp!%ugE9|nnZ#D~A zchAB!Tzn!pIE6Qfh>FR{D=2PJ($w0vU0X+YkD-yViK*FM8(Ta3gAR^P7_2Mq*m1m@ zub=;k08(I3WK{I&m@~0)Dd#VwrlnuJlyNmLzo4+FxTN&f?aHd^n%cVhmV2#j?H%_Y zJnZT1>mQ&zdpOK$$i=6dQy8W>B1c`5_D$Kp zCoJNBr0l1#U%CbXHx$CyJSaaf04rjS*6c?d9bn!iILuSX1I?9As=;cUZaa^`(_<5~ z=NXADK^04ssD&@1Lzhi=CecB4qjG3&-+b_kB9j}T_l8s|JX@w0w<%WW&*I98hfW$% z6=Jm9pMQ+S1YV~~(i%^?en6REo{#3ed$eT}G-h{srcHR(x@{oHyLg6H1+KRZt zjQqKAuehG3hjmExVC$6zcT{TPV9Qe7Q1_9Lu@5NA8`R;*4;~e`2(GfLw>!j>Zk?mX ztIhP${QI3rIp)<=yPBASK-Me%{25yODFwzeqjV6SaUlMJZCcI2FQ*I3yDN-r`m6R4 zHk#G;d3LHa)O#kCev}STI!mfCO>8+ks#DJGkSP)=C~{J<>|=>%!mXl zXSP+<95y<5(nX;`wfydiQHjZ;LypI~iQHF(xny*OunL8{7HO&Z#dZ8lOT?=P??YZ~l5Mv0ipnZ~ zT~J@$unieW6E2E2m{>urvW3m&{obe$n|*THQ_rrXAt4)vc$h3|cIk`=Gf&femp^K@ zP|t`C41xl_ehs6^U+@-*Rc@D~JeWJF_gSeQzfv)`qjA~kvLGGgOoq)$(m_k&veVs- zznbI}MjwSHO0~~HUo#O8>@|LPKLB=?45iFTQ$ohz(djE4XI{g7`c|-rMJX}Otn%aa0y4R4_@9FP9-Ca#8ph+_$UT`exastu`_bmZ zxk=fVUSs*RyWlbU64Rmby#|$AyDGOmYO^Xzidfdx22vVr76S;07v%a(I>2CQokPI~ zJA;o*hYm^Q(E*oDOV0dPI1SpkY}bj}d^}*u*ZG+lvZd)^xv&7cN><4GAhEdy)CjKT z>bp<6sr_AN_jp9VFp(9O9a26-2dvkx+^HFmtv!c5{4|LdGe7UtQ(@I_SzM{@{oEcU z!A;dRtJ5ATt-c-@c)5Z*;<&XPvvToK_U2|mn`B|_ep$=nJkH#skV&HxIWjm>4$Vjs zLn9xfgKk`{XQWs~X2CF?_@Y@l13~Nb3bR_F_>UUm^|qA3+#Yqgs@Ykk9JtpcG=}0i zotH-%>@mAWOyP=eRu*vp;#c&-NStG33S!;Idf)b8P|B^l8f?r@rqaP{$;5c-2pz;7 z5v2<6-sR`i@;0_f^h-V+3_CJ@E7cb`p$&pG#P@zKW(-mGjfHV4 z#FMwJU=FC{&)YkUZ@Giv^+;$v@=alNgBH5jovcXCdw;C37co zzj;8*z@VngXHIj@@WVGkkKDav5FMafaZmDq#YWWBD=DgZ`}wcABjX90dNqA&_a7)w zOE;l7R(F*k8<%R%$={9RFf5aJdK;K{r%xZYEqxkkuC+YuS=(+|{IT)=O{xNI@AgxT z)3bE&&bzlN=d*SQl-B%YwXi&~^%ZXz-*Wn{e*49vV*A@|L=yut=eM-`AU=hx^utA# znZ{b377MHLr>!TqFLjF;o{7FiUXYI9ePlA`U{hw1hVaZo1?FE-u1>e@92PKmlR1rA zd>?kPoC`$<=Lx-yFJtJy*glogG9x%V_`p46Y^dbJTXF2Uu@m-EQJc#1tY_s4=-}S7 zRizqh6G6n)4t>au3lp$_2Onk*Y%DM{@h~LRjT!kGfAfqb zESlB%=+VWQL&Myf8!#4kDOCiYX3dGdiGvBxO+SOJ7GPH2gSWsYair$#NUZGH(G80Gj({kwP-r-R~#PF)~o~pz0DfJ!qezbZ(P)pu)6~+l@DF8{7x!px7q9?tDtv zsqs$+b6)&ml&P?HH=R2Y?$bdO9XL(UjwH?rJtf6YiJ{s`7J~`uqmzV>!bV);gs>!@ zT(SPl4jZ^)wqg)kR6QS*d7n7amV;9++?OB~Od!LCnw#sVyQ{(bW+uKy0io)dqLYVn% z=b;YG-3qrH9OPeczm68sabCEdxNHuYo_#e$TMb*Pw|rw&gVOAXOH(Z%l7`bdO&@bU zxjqxT8mlkQ-VsZdQF%t*wGp%3`mW1Snq3Ul$KK+M221jVkPKBQ=4L+CxS@=cey|tb zI3ihFDHgh|wfMaV>xRU7M6XbTKb0x?`6EgWZ(i+%aIQ{KTu0%4e;e-{^@ehaG3Im; zYJ-@-n{n^>^UmGV%H@T)l(#hKwCly1m7uu;!EF}ZT2DCL40zu!Y!;Z>WG~?OLNmOn z2%gd^5v_OfC9)LGw_IjBpof%CM2{G}zk|=`g(q{Jd?vlX3EuF8lp63%_q+?zJh5G$ z&D_`!hw;{A^Tkd`T$${>u8Pf1333`ze<}JnzCdyCz{v+&jI;`B0*s@icxGeHXnx&E z!W`*SsILrvWbg5QCVZC_MY43bdE>>Z$SE`(JfEth?dY?ysE;(AH4O5rL0rr@enkf) z?uu$F0*P3`{K|`lxR7lId&m-OHMp};v)@&#D!P@(< zP^5tvh;q+xOd+*>z5B%#cj;vF#g?pXp)rw@CQIY#6Zd$Rq8l^S%Zx7{?PPu2n|P8B z>6S$ki#rsyb^mskvGiC+hc4+8a={C-)Y7D7`>`jf#Kr9y{j1Sf>;_n;KslF=D08h# z5cO$$s*PtVmn(x+4&e8ns3~CHzbyJny>6oCT45O)#)NG+m8V!yYl^7M z&ZWWl7e`B;%n`7cNR3!M{P?lDQ0hk za)1f8(RZjqZ?lK(tz~=B z%B3pzx`>8`R_-QXku~!2E*V43<-)Y;9*^omJ~}}q+S#Y}5#@wdpqJw{vVs=I3vcyb z_vb1Zsl+Ho%laz4&WjOG$4inXs6xA^@0EWNaDMK_>+Y?*uijz{>TQy=H1tKFd*p}v oTE3<|e|5h;o{RHpQR4z?0$TAr$aI6)+zp(HSHu6b8qlBr4XqyEng9R* literal 0 HcmV?d00001 diff --git a/pollsapp/polls/templates/showch.html b/pollsapp/polls/templates/showch.html new file mode 100644 index 0000000..76ace26 --- /dev/null +++ b/pollsapp/polls/templates/showch.html @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + +{% for poll in polls %} + + + + + + +{% endfor %} + +
IDChoiceVoteAction
{{ poll.id }}{{ poll.choice_text }}{{ poll.votes }} + Edit + Delete +
+
+
+
Add New Record
+ + + + + + + diff --git a/pollsapp/polls/templates/showqn.html b/pollsapp/polls/templates/showqn.html new file mode 100644 index 0000000..d1780f5 --- /dev/null +++ b/pollsapp/polls/templates/showqn.html @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + +{% for poll in polls %} + + + + + +{% endfor %} + +
IDQuestionAction
{{ poll.id }}{{ poll.question_text }} + Edit + Delete +
+
+
+
Add New Record
+ + + + + + + + + diff --git a/pollsapp/polls/templates/showqnch.html b/pollsapp/polls/templates/showqnch.html new file mode 100644 index 0000000..75509ac --- /dev/null +++ b/pollsapp/polls/templates/showqnch.html @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + +{% for ch in choice %} + + + + + + + + +{% endfor %} + +
Question IDQuestion TextChoice Text
{{ ch.id }}{{ ch.question }}{{ ch.choice_text }}
+
+
+ + + + + + + diff --git a/pollsapp/polls/templates/showqnch0.html b/pollsapp/polls/templates/showqnch0.html new file mode 100644 index 0000000..53b46f9 --- /dev/null +++ b/pollsapp/polls/templates/showqnch0.html @@ -0,0 +1,37 @@ + + + + + + Employee Records + {% load staticfiles %} + + + + + + + + + + + + + +{% for ch in choice %} + + + + + + + + +{% endfor %} + +
Question IDQuestion TextChoice Text
{{ ch.id }}{{ ch.question }}{{ ch.choice_text }}
+
+
+ + + diff --git a/pollsapp/polls/templates/showtr.html b/pollsapp/polls/templates/showtr.html new file mode 100644 index 0000000..92dde25 --- /dev/null +++ b/pollsapp/polls/templates/showtr.html @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + +{% for poll in polls %} + + + + + +{% endfor %} + +
IDTrackAction
{{ poll.id }}{{ poll.name }} + Edit + Delete +
+
+
+
Add New Record
+ + + + + + + diff --git a/pollsapp/polls/urls.py b/pollsapp/polls/urls.py index 9b8863b..0bced1a 100644 --- a/pollsapp/polls/urls.py +++ b/pollsapp/polls/urls.py @@ -10,4 +10,22 @@ urlpatterns = [ path('', views.index, name='index'), + path('pollqn', views.pollqn), + path('pollch', views.pollch), + path('polltr', views.polltr), + path('pollqnAdd', views.pollqn), + path('editqn/', views.editqn), + path('editch/', views.editch), + path('edittr/', views.edittr), + path('viewqn', views.QuesViewSet), + path('viewch', views.ChoiceViewSet), + path('viewtr', views.TrackViewSet), + path('updateqn/', views.updateqn), + path('updatech/', views.updatech), + path('updatetr/', views.updatetr), + path('deleteqn/', views.destroyqn), + path('deletech/', views.destroych), + path('deletetr/', views.destroytr), + + path('viewqnch', views.QnChViewSet), ] diff --git a/pollsapp/polls/views.py b/pollsapp/polls/views.py index a903ff3..169eb01 100644 --- a/pollsapp/polls/views.py +++ b/pollsapp/polls/views.py @@ -1,6 +1,135 @@ from django.http import HttpResponse - +from polls.api import QuesSerializer,ChoiceSerializer,QuesViewSet,ChoiceViewSet +from polls.models import Question, Choice, Track +from polls.forms import QuestionForm, ChoiceForm, TrackForm +from django.shortcuts import render, redirect def index(request): return HttpResponse("Hello, world. You're at the polls index.") - \ No newline at end of file +def pollqn(request): + + if request.method == "POST": + print("POST4") + form = QuestionForm(request.POST) + #print(form.cleaned_data['question_text']) + print("POST3") + if form.is_valid(): + print("POST1") + try: + form.save() + print("POST2") + return redirect('/polls/viewqn') + except: + pass + else: + print("GET") + form = QuestionForm() + return render(request,'indexqn.html',{'form':form}) + + +def pollch(request): + + if request.method == "POST": + print("POST4") + form = ChoiceForm(request.POST) + #print(form.cleaned_data['question_text']) + print("POST3") + if form.is_valid(): + print("POST1") + try: + form.save() + print("POST2") + return redirect('/polls/viewch') + except: + pass + else: + print("GET") + form = ChoiceForm() + return render(request,'indexch.html',{'form':form}) + + +def polltr(request): + + if request.method == "POST": + print("POST4") + form = TrackForm(request.POST) + #print(form.cleaned_data['question_text']) + print("POST3") + if form.is_valid(): + print("POST1") + try: + form.save() + print("POST2") + return redirect('/polls/viewtr') + except: + pass + else: + print("GET") + form = TrackForm() + return render(request,'indextr.html',{'form':form}) + + +def QuesViewSet(request): + polls = Question.objects.all() + return render(request,"showqn.html",{'polls':polls}) + +def ChoiceViewSet(request): + polls = Choice.objects.all() + return render(request,"showch.html",{'polls':polls}) +def TrackViewSet(request): + polls = Track.objects.all() + return render(request,"showtr.html",{'polls':polls}) +def QnChViewSet(request): + question = Question.objects.all() + choice = Choice.objects.all() + return render(request,"showqnch.html",{'choice':choice},{'question':question}) + +def editqn(request, id): + form = Question.objects.get(id=id) + return render(request,'editqn.html',{'form':form}) +def editch(request, id): + form = Choice.objects.get(id=id) + return render(request,'editch.html', {'form':form}) +def edittr(request, id): + form = Track.objects.get(id=id) + return render(request,'edittr.html', {'form':form}) +def updateqn(request, id): + polls = Question.objects.get(id=id) + form = QuestionForm(request.POST, instance = polls) + if form.is_valid(): + form.save() + return redirect('/polls/viewqn') + return render(request, 'editqn.html', {'form': form}) + +def updatech(request, id): + polls = Choice.objects.get(id=id) + print(polls) + form = ChoiceForm(request.POST, instance = polls) + print(form) + if form.is_valid(): + print("valid") + form.save() + return redirect('/polls/viewch') + return render(request, 'editch.html', {'form': form}) + +def updatetr(request, id): + polls = Track.objects.get(id=id) + form = TrackForm(request.POST, instance = polls) + if form.is_valid(): + form.save() + return redirect('/polls/viewtr') + return render(request, 'edittr.html', {'form': form}) + +def destroyqn(request, id): + Poll = Question.objects.get(id=id) + Poll.delete() + return redirect('/polls/viewqn') + +def destroych(request, id): + Poll = Choice.objects.get(id=id) + Poll.delete() + return redirect('/polls/viewch') +def destroytr(request, id): + Poll = Track.objects.get(id=id) + Poll.delete() + return redirect('/polls/viewtr') diff --git a/pollsapp/pollsapp/settings.py b/pollsapp/pollsapp/settings.py index 13ca071..5443e43 100644 --- a/pollsapp/pollsapp/settings.py +++ b/pollsapp/pollsapp/settings.py @@ -44,7 +44,7 @@ # project apps 'polls', - + ] MIDDLEWARE = [ @@ -85,7 +85,7 @@ DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + 'NAME': os.path.join(BASE_DIR, 'Poll.sqlite3'), } } @@ -139,8 +139,8 @@ # } ALLOWED_HOSTS = [ - 'localhost', - '127.0.0.1', + 'localhost', + '127.0.0.1', '[::1]', '*' ] diff --git a/pollsapp/pollsapp/urls.py b/pollsapp/pollsapp/urls.py index 81b9143..3743bc3 100644 --- a/pollsapp/pollsapp/urls.py +++ b/pollsapp/pollsapp/urls.py @@ -24,4 +24,4 @@ path('api/', include(routers.SharedAPIRootRouter.router.urls)), path('api-auth/', include('rest_framework.urls', namespace='rest_framework')), path('admin/', admin.site.urls), -] \ No newline at end of file +]