From 4b0054c5730d41437d66f90d9bc0633818ef24a5 Mon Sep 17 00:00:00 2001 From: emile Date: Sun, 17 Sep 2023 22:09:24 +0300 Subject: [PATCH] Major fixes --- .DS_Store | Bin 6148 -> 6148 bytes osinaweb/.DS_Store | Bin 8196 -> 8196 bytes osinaweb/db.sqlite3 | Bin 315392 -> 319488 bytes .../__pycache__/forms.cpython-310.pyc | Bin 528 -> 996 bytes .../__pycache__/models.cpython-310.pyc | Bin 6390 -> 7119 bytes .../__pycache__/views.cpython-310.pyc | Bin 7201 -> 9368 bytes osinaweb/osinacore/forms.py | 6 + ...alter_customerprofile_business_and_more.py | 66 +++++ .../0022_customerprofile_customer_id.py | 18 ++ .../migrations/0023_task_assigned_to.py | 19 ++ ...rprofile_business_and_more.cpython-310.pyc | Bin 0 -> 1537 bytes ...ustomerprofile_customer_id.cpython-310.pyc | Bin 0 -> 691 bytes .../0023_task_assigned_to.cpython-310.pyc | Bin 0 -> 754 bytes osinaweb/osinacore/models.py | 40 ++- osinaweb/osinacore/views.py | 88 ++++++- .../osinaweb/__pycache__/urls.cpython-310.pyc | Bin 2472 -> 2986 bytes osinaweb/osinaweb/urls.py | 6 +- osinaweb/templates/add-business.html | 152 ++++++----- osinaweb/templates/add-customer.html | 128 ++------- osinaweb/templates/customer-details.html | 104 ++++---- osinaweb/templates/customers.html | 248 ++---------------- osinaweb/templates/project-details.html | 3 + 22 files changed, 410 insertions(+), 468 deletions(-) create mode 100644 osinaweb/osinacore/migrations/0021_alter_customerprofile_business_and_more.py create mode 100644 osinaweb/osinacore/migrations/0022_customerprofile_customer_id.py create mode 100644 osinaweb/osinacore/migrations/0023_task_assigned_to.py create mode 100644 osinaweb/osinacore/migrations/__pycache__/0021_alter_customerprofile_business_and_more.cpython-310.pyc create mode 100644 osinaweb/osinacore/migrations/__pycache__/0022_customerprofile_customer_id.cpython-310.pyc create mode 100644 osinaweb/osinacore/migrations/__pycache__/0023_task_assigned_to.cpython-310.pyc diff --git a/.DS_Store b/.DS_Store index 684dd60e7dde9fd25bfe15b0048f64be79419334..722849003fd72aacadbcf40ab5b8c2339440bee7 100644 GIT binary patch delta 95 zcmZoMXffCj&BVB4atu?UyF_)hk)^4Qg0ZDpt&T#qrICS-f{C$NZ7nBM0#%@xwNfSuR53TS8DaIsm8Yx1k#wmgbp@cXJj@n{&?TNc&y<>LQ zF{z2>JGxOf}X7+nCvz|2( zv0|&XL^MxCDP$>)2^41}sh4>ujYK^&kPLXDPst^RLgJJkvQ9b@1`-Am1`-Am1`-DT z3k=|$EmP{8_rBI9Wx_zh!2gl~c|MrPQWhfF)lwZDDAW}Iatz%np^kfi!kCdPM6#=; zg2Jc1J+KJMqALc|aOh2G4q1p~S4#~irs2e*ky&&@VQO^XOl3~2pk-1f3?vK;Ga&Eo zm#IcJR1ywQ$?dQ5D!Aj$l);dY};}CkoLZ z3mA*)_&$&W_9%{^?_kwG#w4r-=EkW)4OMI5`vM;t>7@Z&8n%I&pM{wT@`=YsVqZQP zVYh>3^!(r3P1gy+#l>IP$mrNJm&Q}$sfpCx(ml~Gg;v-Kik5#{wswSY?OxrocOBlY z7_;lb3oXavz5+Nk4wE|{I$lk*i=yS#0);JUMJk<2SB&{iXL;>L*37T19%s$Y+VW!7 zT*ao1m>8#wyXU(Nm70ac?m9?z7y1XR z#z8RJYU$V1wnQ*!AMH9?2u_?ddH|mf`v^|M2gg=x!i%JNXsfAX;M;#j^pSnBH_i|j zPW3Q464{}}Hm`m3xNGOA37gr+9m?H1KIfkDx4FL` z@UYxh->Vo?LDd(oyCniAbcDBeC%{p)5%R`{w=Xc_A&#ldrc?#H+z%j!Fy*_hWpj7a zD~d1_jXlfvEw9dtM`fofJU#O%s4OW6@xOmB9-^Ls-Bwd zbw!e83Pr6-?|8!FnZlOVq;X^|U?sj!yEugI)7SJ3J)|G$XZnr)pugBSGuSI^fvvDN z*-iE?`+#k;Dsx$b`K+T|jP#Dom!rWV!9GXjj9oCW*W#cH+Zxp~pPzty`~2_!7xwv* zi6;ys3_O_uHg>CYs|dT^sW=FccWo2-V`Q16T~|v5K_N|Kzq*b?p8jEox*6#Tk?d*- e4boHp5b&>mI4AG_)87oq`#*MNQVaKj7k>k1_;_9b delta 95 zcmZp1XmOa}&nUPtU^hRb;AS2HWk$yBlMMt5ImN514RjQY4NWFj2+J^bPG%I9XY88H uCn&c0pWp)~HZvUsLkmlg+$2%+$%f+BHa7fb+{`ZVjb-vb5le``4@LkiM;@5~ diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index 535321389335f65f54b948f569bcc8e05aa25252..e1deaf01b1cbf418ee47a565c97194bb749a9910 100644 GIT binary patch delta 8049 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 delta 196 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 Dqj_Ue diff --git a/osinaweb/osinacore/__pycache__/views.cpython-310.pyc b/osinaweb/osinacore/__pycache__/views.cpython-310.pyc index 453de3359021ab2e4eabdd40fa7bf9415b09f467..24f8e9415151b24c33798bb86525e0393e4144f6 100644 GIT binary patch delta 3281 zcmZ`*U2Gf25x%`Y9`BA6^}|p9N@3B;m)=tCQ{erfwqAbIFRQ3QP}a6q5((6m5-6agB*O`6W^ zk(83U6878K*_qkdnYmfk#(p>*FUMl01b@4qh&am!UXO1hzkYqsUk^Jb?W6s-r8P3w z3-ornL(mTcJwOKq-3Rnex=YagKtDorHp9kI{3tGDHpvH~``eC-ozRoeBCnaf{C2cGwG3OE z1{GmYXD9hDqOWMeM}E@Wet;cDn|Q0hg4-@RIq&id%MLq)?5+1ag^be(c+F1!JF|sU z_qt>WicL=4cmfiksP!=(NxfwVrI*C%#POAIlZR z(?q(Jdb-&`&`QgJIltoOOOES0ZeTKJ!GS8uIqqs}meP?%1%w5l2gZrIu*m$D7)38O zG{fM;)G+oJ(6x&gm_Zv1W*P>63Ve}-gq$F<3`zKpt+82**Hv}~JyU1WB(NIt87NJo zu~TbP@ zXNa_3gR~Cvd-g=jpMV#Z0)bMv4*Z>bFm}xPGs=DqAtQL-jg4D>Y4UC$?@s)T^?s9; z6=JLLqt@S>ym`UA zqsd$3A18iJzRK^m9!cCp?L0y|!V>?mbwKVUJlVE`6z`3-Wr)VE!Va&sFZGpB1XpYb z0Y6^$ECNGt`R=_haCN?Ct2VnqVAHoPi0in!)&@oC%{P!K{;W9GN++1tX zDb7Q~%dEH#D`kt0yY&Q+2zXEOF&KZV`|7IoYl%P)KR za!GWrpOHY$)4G=+k=EJQVG1n^Q$8;1w`fmIOrF5Ca5ILKXc7ugX*2wkHr0h@*hIG2 zcrCS$T;uPg4w1Ec|4#K2Dnch>CC+;ZWCP84-eXy|R-q(G0_?w`e zgTiY5SwP{Kg5mxIz?YUJN}iF~Io|ouUVf!>ZxvYZ22vB=zo@5RQ}h*I^L0Ps8-CPR zskI)hn7+B8)+8c{R%x%v@Giz?SPPgGv4Q9nq1yzBg?uSn%H^|#Olbv6C$N`qmP<}! zrQFJTK`K`+!ZRwQSk+m~yAXIRk0A1#Gwtw?O;}?9rE**J85|R-bIVkG@SCQM#gUV z;~SZnZ*0V|nt&Il7PZ%*_ORMAEq*lI@e(w)Mxe^#^(w>M1m;4Xxn2f4(S6b%NI|ra zt*;pdElpSgCf16y64Izx6`WJ>Z0cBhc~AVBNw7t7Rp0tBLxsd zn6q5S=A1w)l%IoYR%f9RhA%vJ(Li^ehw63VHD*rMb3~tH9M!*%AnFWS`Lx8g_NzAB z6UDYEihj?vmRWugzMw+0;Rcahd8OpRpPAuO}Td;K1k*?!nHiAf9?ZSdbA zt3)MjazZvp+o!sQ4a0>UCf5n&Z!4FS6rdvT_3oPz|dhJ9fe^)2x9!Ro_-+YQIpsY{}&BV0x|#q delta 1430 zcmZvcUrbw79LIZZOKI=DZ7HR;3@VIu&-~80?r5+U2&gXn8Dnnq=D=pKn_b%+{H>q&@ZJqqA;I_aK3req2Y3?K9)6Jb z zu)o4G@ScBC8^az%hLD9{d@*?DZ;vhF*3uEW5@d=;VczF@tH?pX-~EC(ih8(At=Qr&`SI6KCKK z9o~3b>}Unp?D(9$2Dxaa?GmY%2@%5U@Imx|^2`Mf zqJ3;->!)auskZOGcM2o1>pdm%yFy42IDtk&TqV2#U&j(Sj!$EQ>@@h}32%{P1BT+m ztOS?h=^=vz3M+)GX7vh=N^#9H#cHW)TDvom2Rw`)@ydz527ko!%5xVS?wn&)xY7CR z1XZ;)Zd!&Y*Bj;9s+|2#nXQ!hb~ose_KHY?)mfUEi z)#m)~gv-e0tnJE??0Sg}!D81KTi^PqtCtn!5y>-=^&04Fx0r7?L`m$bO&RJ`#wYd& z5O2}_|G5j&EC?l%1~qMa7H~@UY(3CyeJ3$>ZMV`u7x8rVO1{&phlXFQ(ceMyTcvfg zNWyt|lsMP=F6Nm@55i}C-FVpNvC;$Ke diff --git a/osinaweb/osinacore/forms.py b/osinaweb/osinacore/forms.py index e2f9167d..86958069 100644 --- a/osinaweb/osinacore/forms.py +++ b/osinaweb/osinacore/forms.py @@ -1,7 +1,13 @@ from django import forms +from .models import * class CustomLoginForm(forms.Form): username = forms.CharField(label='Username', max_length=150) password = forms.CharField(label='Password', widget=forms.PasswordInput) + +class SignUpForm(forms.ModelForm): + class Meta: + model = CustomerProfile + fields = ['first_name', 'last_name', 'email', 'password', 'mobile_number', 'status', 'reference', 'personal_website', 'business'] diff --git a/osinaweb/osinacore/migrations/0021_alter_customerprofile_business_and_more.py b/osinaweb/osinacore/migrations/0021_alter_customerprofile_business_and_more.py new file mode 100644 index 00000000..1f38cd4b --- /dev/null +++ b/osinaweb/osinacore/migrations/0021_alter_customerprofile_business_and_more.py @@ -0,0 +1,66 @@ +# Generated by Django 4.2.5 on 2023-09-16 11:04 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('osinacore', '0020_task'), + ] + + operations = [ + migrations.AlterField( + model_name='customerprofile', + name='business', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='osinacore.business'), + ), + migrations.AlterField( + model_name='customerprofile', + name='email', + field=models.EmailField(blank=True, max_length=254, unique=True), + ), + migrations.AlterField( + model_name='customerprofile', + name='first_name', + field=models.CharField(blank=True, max_length=50), + ), + migrations.AlterField( + model_name='customerprofile', + name='last_name', + field=models.CharField(blank=True, max_length=50), + ), + migrations.AlterField( + model_name='customerprofile', + name='mobile_number', + field=models.CharField(blank=True, max_length=50), + ), + migrations.AlterField( + model_name='customerprofile', + name='password', + field=models.CharField(blank=True, max_length=128), + ), + migrations.AlterField( + model_name='customerprofile', + name='personal_website', + field=models.URLField(blank=True, null=True), + ), + migrations.AlterField( + model_name='customerprofile', + name='reference', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='osinacore.reference'), + ), + migrations.AlterField( + model_name='customerprofile', + name='status', + field=models.CharField(blank=True, choices=[('Active', 'Active'), ('Suspended', 'Suspended'), ('Terminated', 'Terminated')], max_length=200), + ), + migrations.AlterField( + model_name='customerprofile', + name='user', + field=models.OneToOneField(blank=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/osinaweb/osinacore/migrations/0022_customerprofile_customer_id.py b/osinaweb/osinacore/migrations/0022_customerprofile_customer_id.py new file mode 100644 index 00000000..1d748af9 --- /dev/null +++ b/osinaweb/osinacore/migrations/0022_customerprofile_customer_id.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.5 on 2023-09-17 18:19 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('osinacore', '0021_alter_customerprofile_business_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='customerprofile', + name='customer_id', + field=models.CharField(blank=True, max_length=20, null=True), + ), + ] diff --git a/osinaweb/osinacore/migrations/0023_task_assigned_to.py b/osinaweb/osinacore/migrations/0023_task_assigned_to.py new file mode 100644 index 00000000..9d20057c --- /dev/null +++ b/osinaweb/osinacore/migrations/0023_task_assigned_to.py @@ -0,0 +1,19 @@ +# Generated by Django 4.2.5 on 2023-09-17 18:56 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('osinacore', '0022_customerprofile_customer_id'), + ] + + operations = [ + migrations.AddField( + model_name='task', + name='assigned_to', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='osinacore.staffprofile'), + ), + ] diff --git a/osinaweb/osinacore/migrations/__pycache__/0021_alter_customerprofile_business_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0021_alter_customerprofile_business_and_more.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a5a5b850d5ec1d1e7a57ab14f6309591174d39f3 GIT binary patch literal 1537 zcmb7EOK;mo5awGXE%}`^=_|PsC?q#PatMMVg6*_GofwGhi!O^5cO+9Lm&`61$2k>9 zZiW9t+gs256Fv91*Piqj3N+{}Dand~97+X1-bGola=r_s7pJybcWGZ+%$( z96UV5B_HF)3}&WAW)4kL%T{V-_R!9pp;Mpj)E#=?8_Z$udxN=PPh0QoVT;)VBl2eG zZ$zf@C6r~tCo-~Bm?aZI%OvMgd0EaNl`mp#xB6}2;VCZp#54>rh9)zH7TCWy;7+|? zO=eE4VGHl_nZ;}frXk+%z}mDu4W^yxI&+zK<*?S3J-6}EW&>>kT;Y|yqFF=DCZcWD zxw2O9^-tg%pTIZg_|}a$+lX)J?AXpn@plownf0w3S>JAAP7L145;^!v1$rd$31JD$mtMT*)%eKolY$Cn+d@ zRG}S6dGdC9>Cs()k)zyEO8L2Rc$KCYloR9;N>EmrM>cY-c_o}?fF^o(#|flNxscH$ zoqa%RBU|VxL|giXq`)WTner;0ysAKj<3z}^_Mbh_wpMK`cCRv!Ar#W&uLxoTlUgMlva35oWCpBVY^ycnoiMu1j2k%9AB6D;e3?HLo9+ z$!ic_qoZ!(pppe}229**knjXVhK(%|x{uK8PmRwjY{h4J5`%2gcPa^Dt`coD6CK=M zM7zo-b;X3JkPz%(g_RN2CgfE`Q{6>EgpIapS6r@c_zXuOneZRsQh97j`6O2s8!5l$6CbH+?e_=! z{ewdl9%}AtUlr`1(I$-YPhTE2VCR^_Nse1{40G&%^U!}c#6!HT-u`*lJH-yj9%M)z zq-k;qy#tWvWnT0KG)=PmN3_s~W8^H(vtG?kvm=p>peML@{U_<+EPqR=E{@!oWwMxB zLOH{>3g{M>!o_raT$0y9Xj`W9!SO89GVhqqzmBV=^`+GQ-_muI?WM2A{J-kEBVVmG z?e4}oA2;L$bA*j*o*RblF2Qc|x9l#c5#Q*Z>PoJ=+enWPQ~r}?hQ7mJs3CQ+ZEMr? H&D-{W&m^q7 literal 0 HcmV?d00001 diff --git a/osinaweb/osinacore/migrations/__pycache__/0022_customerprofile_customer_id.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0022_customerprofile_customer_id.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..548717305069bdab8982cfc2276231747a084556 GIT binary patch literal 691 zcmZWn!EV$r5VhlEHwhFfgn%O_q?J&!^o&reBDg>~6fU_~-pq8HtrMqqqSAA@_Cxpw zzQk8f{RJdc##ySaV5AxO&5ZnJo^7_aaz?g)FvTC7v7Z5KT1;S%+`XUx47g?uFL@J{ z5ohliL?FH~5Xe{JQj`MXBQ{H}sh7tD;zLHA!Xk|6H z-ZW@CYmRG;axqXFIww^NvI*S}|7r2}ZWFSG&)1J>wwdtBLaX+a)>2=k#&+4C__!Uk zrcyqxCtKAZqOF_NZ3+H`QcXdz_Z*^okst|+5$*LKYh z=^yIAwNw8h{m9N8Z}ku#bmApizkv5IHB z5}DwR3*}}0TLvEZ-x>JG%ix=r1t4Z@68xq!Y$9x26{{w13tbxxJ9f9}$r= zn&u?|vWx@E1n?ElJoHPd2p)#zfOr*-oSw?X#W4#0oHGGb7K#3V~SOcAY1+M>v&fnF>StF-k+Oz z)~`28QG;5N9&FKyR#Q0c^vOD}kWw55%K{Z#PewM9U0g~VOG$Yfx`4EYQhwg#%H=u+ zxW*c=UKD5=L0;Hs3UKLaG@hgJCCQ;1Ug6e;Q0DbYTLE($b@w2X?cjVmJD*;>v9Vs` zz41R-b3~^*_^Z-S1{;%NMINA1#TL^GG&ikYr?XrY)$zN0?Z^jHvYN(7FIMZtnjup8!+RlqU<=> zyZIT@eAt&^qcC2(s+d0Vn@|pw!|Sl&VFgToIYL1S-S9RXW~&qtt7ecBZQVnfWZ1}% zGhMQ1BhxvHNoMesQHqOetsKNCAwe74prp8+9j6X)C%cup#NF%!rNlk#HtH4kv6Iv< zPP5x-z;%r>9CXm28&H7ANYr+lZ7ip?k*IhPe8tYwIvlo|5n{VW-x2rMRu14L4yI@`aFRAveS}SF9q0*e# z^0s7Priymyx;gL87VFwSZnoVgaoesh<_nv{fm>;de<@|odEa@rWoaB)=oFpH*1bT| zGa7XmbBf`VxKmo4lHgL0tXWH|rAo!LmhC%=m2w)XO;2c{c9TziimIy~X9rLL{-76r zqYr)=E%4Lu!w(|>-!TZ^Fa%#Q3|}w;pHYQRsKG}>_<%aR$0)qR7`#OT-e4QN#w5JL wc6f;$@B%yGId;J_?1rb9f*tIEZR~|7n1;k-9DqldfrmH<4=@XL%mwfN1tCl@R{#J2 delta 595 zcmYk(xlY4C5C&i$k#QVfIi33sU+mYG;<1I6Sr_# zgl$qARe~MTE~*TBq/', views.customerdetails, name='customerdetails'), path('addbusiness/', views.addbusiness, name='addbusiness'), path('businessdetails/', views.businessdetails, name='businessdetails'), - path('detailedproject//', views.detailed_project, name='detailed-project'), + path('projectdetails//', views.detailed_project, name='detailed-project'), path('createproject/', views.create_project, name='createproject'), path('createepic//', views.create_epic, name='createepic'), path('createtask/', views.create_task, name='createtask'), @@ -56,4 +56,6 @@ urlpatterns = [ path('save_project/', views.save_project, name='save_project'), path('save_epic/', views.save_epic, name='save_epic'), path('save_task/', views.save_task, name='save_task'), + path('save_business/', views.save_business, name='save_business'), + path('save_customer/', views.save_customer, name='save_customer'), ] diff --git a/osinaweb/templates/add-business.html b/osinaweb/templates/add-business.html index 10d65a1d..b4b3a18c 100644 --- a/osinaweb/templates/add-business.html +++ b/osinaweb/templates/add-business.html @@ -9,75 +9,95 @@

Add Business

-
-
- - -
-
- - Upload - Business - Logo - - -
-
+ + {% csrf_token %} + + +
+
+ + Upload Business + Logo + - - - - - - - -
- -
+
- - - - - - - - - -
- -
+ + + + + + + +
+ + +
+ + + + + + + + + + + + + + +
+
diff --git a/osinaweb/templates/add-customer.html b/osinaweb/templates/add-customer.html index 9f11fd1f..1d959630 100644 --- a/osinaweb/templates/add-customer.html +++ b/osinaweb/templates/add-customer.html @@ -9,46 +9,40 @@

Add Customer

-
+ + {% csrf_token %}
- - - - - - - - - - -
-
- - Upload Business - Logo - - -
-
- - - - - - - - -
- - -
- - - - - - - - - - -
- -
- -
+
+ + +
@@ -158,9 +84,11 @@ }); +
-
diff --git a/osinaweb/templates/customer-details.html b/osinaweb/templates/customer-details.html index aa435048..878907fc 100644 --- a/osinaweb/templates/customer-details.html +++ b/osinaweb/templates/customer-details.html @@ -57,9 +57,24 @@
-
-

Emile Elliye

+ {% if customer.status == 'Active' %} +
+

{{customer.first_name}} {{customer.last_name}}

+

{{customer.customer_id}}

+ {% endif %} + {% if customer.status == 'Suspended' %} +
+

{{customer.first_name}} {{customer.last_name}}

+

{{customer.customer_id}}

+
+ {% endif %} + {% if customer.status == 'Terminated' %} +
+

{{customer.first_name}} {{customer.last_name}}

+

{{customer.customer_id}}

+
+ {% endif %}
+ + {% if customer.business %}

Business:

@@ -129,13 +166,13 @@
-

Ositcom

+

{{customer.business.name}}

-

Associations

+

{{customer.business.business_type}}

-

2567776

+

{{customer.business.financial_number}}

- +
+ {% endif %} +
@@ -273,40 +307,6 @@
- -
-
-
-
-
- user profile -
-
-

Nataly

-

11:30 AM

-
-
-
- -
-
- - -
-

Closed - Create the Osina home page

-
- - -
- - -
-
-
diff --git a/osinaweb/templates/customers.html b/osinaweb/templates/customers.html index 3b691365..12cab0f5 100644 --- a/osinaweb/templates/customers.html +++ b/osinaweb/templates/customers.html @@ -107,191 +107,41 @@
+ {% for customer in customers %}
-

Nataly

+

{{customer.first_name}}

-

Abi Wajeh

+

{{customer.last_name}}

-

nataly.aw

+

{{customer.user.username}}

+ {% if customer.status == 'Active' %}
-

Active

-
-
-

Business

-
-
- -
- -
-
-
- -
-
- -
-
-
- - -
-
-

Rachel

-
-
-

Hanna

-
-
-

-

+

{{customer.status}}

+ {% endif %} + {% if customer.status == 'Terminated' %}
-

Terminated

-
-
-

-

-
-
- -
- -
-
-
- -
-
- -
-
-
- - -
-
-

Aya

-
-
-

Rifai

-
-
-

aya.rf

+

{{customer.status}}

+ {% endif %} + {% if customer.status == 'Suspended' %}
-

Suspended

-
-
-

-

-
-
- -
- -
-
-
- -
-
- -
-
-
- - -
-
-

Emile

-
-
-

Elliye

-
-
-

salim.e

-
-
-

Active

-
-
-

Business

-
-
- -
- -
-
-
- -
-
- -
-
-
- - -
-
-

Emilio

+

{{customer.status}}

+ {% endif %}
-

Emilio

-
-
-

-

-
-
-

Terminated

-
-
-

Cars and Classics

-
-
- -
- -
-
-
- -
-
- -
-
-
- - -
-
-

Arze

-
-
-

Elliye

-
-
-

Arze.e

-
-
-

Active

-
-
-

-

+

{{customer.business}}

+ {% endfor %} - - @@ -454,40 +273,7 @@ - -
-
-
-
-
- user profile -
-
-

Nataly

-

11:30 AM

-
-
-
- -
-
- - -
-

Closed - Create the Osina home page

-
- - -
- - -
-
-
+ diff --git a/osinaweb/templates/project-details.html b/osinaweb/templates/project-details.html index 9e4120ab..c08da322 100644 --- a/osinaweb/templates/project-details.html +++ b/osinaweb/templates/project-details.html @@ -370,6 +370,8 @@

Related Tasks:

+ + {% for task in tasks %}
@@ -462,6 +464,7 @@
+ {% endfor %}