From ed8e9d72fda30c3c0ab625855dd15ea2bba1d449 Mon Sep 17 00:00:00 2001 From: Salim Elliye Date: Wed, 9 Apr 2025 15:58:50 +0300 Subject: [PATCH] ss --- .../__pycache__/models.cpython-313.pyc | Bin 2942 -> 4577 bytes ...ent_prospectinglist_prospectinglistitem.py | 45 ++++++++++++++++++ ...nglist_prospectinglistitem.cpython-313.pyc | Bin 0 -> 2842 bytes osinaweb/addressbook/models.py | 21 +++++++- osinaweb/db.sqlite3 | Bin 2142208 -> 2142208 bytes 5 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 osinaweb/addressbook/migrations/0006_comment_prospectinglist_prospectinglistitem.py create mode 100644 osinaweb/addressbook/migrations/__pycache__/0006_comment_prospectinglist_prospectinglistitem.cpython-313.pyc diff --git a/osinaweb/addressbook/__pycache__/models.cpython-313.pyc b/osinaweb/addressbook/__pycache__/models.cpython-313.pyc index 795a11caee679a9512ceae21a03c884ee538679a..f016bc4e2b1dda9e124c228a039bedd4bec15272 100644 GIT binary patch literal 4577 zcmb_fO>EoP5hf){q<*YFJF$~(uoo3!3;lRExM9NSvMls6kx082}>%r!-N zA1P#YGhkq`DGDTuBG~p+ADx>QD6q*X>1nT__F&_oJ@uqp0Bd{h%%gu|m5LLf&+up- z-@G5b`R1G9UPniigH|#AQ`5EpGPxwC612chN1^T!i zZh(`6XE|9Y@C)ICsYkz8gPu+VW*Gv@@ClY7W+{TDbb@7=Sw_GzdV;0MEMs69KfzLB zmK|W3IKeW)ER$fFI>9o^EYo0_Il(ek?#y;I@XE404Ogs^X4s(dmx@PM%5lPeXYWH$ z9&-hb@G?gNGEag9VS#z{b#o4V6p(|XJPFIfS&oQuh)CsdR-~a@#Hy|}&~c3th$lRa zR@5&PLo>_HN)a4?*ic7j?wtkkm|Nr)4u_7E^KkAQ99S^biiW?oW-Qw{wT~{2EZQ2e zM{L#5E1F^GHEm?VDpo6+>DVK8EwVad*}AEYnA&}&ls;3d&#m^ zN4%>UUaL`2QEZ1O3hiL;GQ8iFU{5;^Vx8Mfc0Q~%?{p-PBA=Q3$?2jf}6TWJ=eJ62bLJ5+9zzZB<7vDyriU zeW~hbHcZH%K^jE@1>Q3gsMy^gzT|de>7Cen_1Jrxwi|nYed5OeA3EdBK`Vd9=V9dC z9N!ig0t3boB*by6YC5FWU@wQ)NPro*2GRk0AGkfziJdMKr%;?mftN$@o!GTdp$OEJ zf-A$5w=`xEhFFTiIKFsG8{i6Y7{Q~qG`6xhDv*RMkz_fNjnd>ivFtUi=;&s7R=1r7 z!^+{M=d%F_rK(}j(2}8=s}P=Xwdz=kY28;K9I`1A_9t5E@Cno9CyUdb)a z&Qgh)C`&b8&-dctP~dCYAA|7me5Pk7Gf>YAYzf;FZf10SW;flvlfF<-U)cVooBs9s zo!#WAon&7<*|*uXefqoJZ+l-jFXg*#^3#pm9!zkDV=%!$!nRij@y;-5N2nf9f<$Z^ zTOR4Q1yUgjY10=(a(FaI+Q0|^mH;S;0MR4>DaC*k8}rEVCXi!;1>tKT3KDz;4;l!P zY{0|H1<;@HuR|vNX2{Se<3q-rG*;0|C16b?OByj$+hHoXgnO|VzYH1`iyoiQ9=0yXg-A3x{YaKJ9t|c$o&gq)zXo z`s%5^t#LQ?^Y!W7MAuHDx1Q+T6t_xGm!DhDEH{x`zqK3B?8FD^@qx{&+kzXvx-sd& z2e&*1pTkP%1&q8MdqwCM zI$Kz0+R-Wv3>p9fVj@olK~6#b7E9W)S~Z-L8HITr*P!C~m^?l`>H=UQUucZtG!(ew0g-h7bf^1bz5C);?~AGL zbN|S>-SSJJYq#^vPUrc0=lRXwKb?A>dzN!MXM8vXF*8_C4Q@@ksVf`P9ujZ|ef~^14Jl<7BHu^G^~&dKo;P6v8{#YBMHWRb50=&BR<)N(Lfw%po7r>ByZDEi%w$* z&X5%#eS{_}s&0@;><4Ig&RWt9jZAsn(EN&JYUGyJlkTplj;*e(k=yW~f$9B8fKdko z@rtDvHJco=3i%BT@53VD#~L)Azc)XrjNkrvdVEqost%~&)Ydel1$I)8E?B7l7FWE1 z!mnx=#{m@hYBnlga<2lRuJHQot2hUt>=jXD`y)5@yY&ec^ylh{b6bOMVi#YG!O!??(b3txA$;v(c* zT!dr^az;XqK#)hXF&dMtqOKZqT1i(MSKvLeVE}+Mr4}`;pveM03ed>3359E!s1+i6 zPxwy>mY0Z@yuRvy>7v(_W_5EFmNUsG-UIQTRduRM8o3L7GL7O62&h_KOE@1eTgEG1 z)nvk@y8pRU2bd$pw$Ycm-Bfyvv`0e+~^pZ4%5e3cv9{O(h+hI2~ zc2M%+Lb+_5M!b*4;nEU2B~7s}$s!c2!`>$&4b9%WD%s7~jceUwO5$51U#_Usx7et5qtIQd?t+wrMSHd{hhTCRvhgw!3w*5eh=V zlb&o@)T`dCSE1m^zrmXfc+gvJit(z>HybOKVjw@h?>95wYksqzhkte_zQ^Mcj{auT zAIe17P4o94;oX%JZ9JpGloA4JP!Xvk{aF{- zx=bmhMeV*9l?e5tEx%JL$JBTOQmcrF8*a(8Yj5A6=V&TQIh>$Cx^%tf8J<5E%Fm_z{tjg8!0#bVmYKrqE#PaAsLm@G+n}06GD>0C<3I07y;3 zMOq9#4*sD`Dd1B6!|+6qDdm3@f9WjgLAt!kV+Fzp1>10{B<$2}TMgks;1t)bvan|P8E4VdpGqmP&kn?b6RHZa+XAmQVE;2TETUzM>abSX8?Nq{a7w& zcHEca>yn^}nv@RtJJH?Jlr)bMS_HS1qiT#qHMeLP_L5n$ zjK&BJsETwn^1M+rS@Id6LPWXhQ1OC^TTQd8#H*SRkNbYEgm>6ExPEX#1gw21=iT4S(f+-hY+o zpF9{QPQ&sAfTPqu4GRDx{uE|le84Dr5l8h&10Zr|k Zd@;5=*5s(!q&iOaMSpNHbQ7^J#BYXi2CM)8 diff --git a/osinaweb/addressbook/migrations/0006_comment_prospectinglist_prospectinglistitem.py b/osinaweb/addressbook/migrations/0006_comment_prospectinglist_prospectinglistitem.py new file mode 100644 index 00000000..ece95dde --- /dev/null +++ b/osinaweb/addressbook/migrations/0006_comment_prospectinglist_prospectinglistitem.py @@ -0,0 +1,45 @@ +# Generated by Django 5.1.7 on 2025-04-09 12:47 + +import django.db.models.deletion +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('addressbook', '0005_socialmedia_addressbook'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Comment', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('content', models.TextField()), + ('date_added', models.DateTimeField(auto_now_add=True)), + ('added_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + migrations.CreateModel( + name='ProspectingList', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=100)), + ('description', models.TextField(blank=True, null=True)), + ('date_added', models.DateTimeField(auto_now_add=True)), + ('added_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), + ], + ), + migrations.CreateModel( + name='ProspectingListItem', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('date_added', models.DateTimeField(auto_now_add=True)), + ('attention', models.BooleanField(default=False)), + ('addressbook', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='addressbook.addressbook')), + ('prospecting_list', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='addressbook.prospectinglist')), + ], + ), + ] diff --git a/osinaweb/addressbook/migrations/__pycache__/0006_comment_prospectinglist_prospectinglistitem.cpython-313.pyc b/osinaweb/addressbook/migrations/__pycache__/0006_comment_prospectinglist_prospectinglistitem.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1a75d91bb2f4f40cb38c087ef8278e061e1d7c1d GIT binary patch literal 2842 zcmcguO-vg{6y9Ci%i4xu6M``T<5Ea)6xpEss7_HEho6L>q>dL-1rbfw-oe?j-gRe} z0O_w(sfV6&sl+kI_QsK%LQn0{>l_x1RJBr1xjCXg*Us#k;0A|AijBG z&3n7o))rvM^`-iEv0Gr6Kd7*O`Raqc92tDih>Xb2GKeKlZkC(zAWxj?JhR>zAM(xc zh>tVf%m5>Ldl=ETY6V6k98(^Rygk>GHkq!f{4D!OK1 zzNE`gH3|m-7$#H~_IkV&)slk$SQ2|7?j6?#>)WN7&`XZin6I+sh}h$ITt_ zDGwlS zy$?}dHz3fY62vV9T{CH*fK0sTJD^NTo*PQj*Qf>yjvC}Q2uQ!K0aEp#2{C8tMB#Pf z@XHERWdpZok#3Y>f!518#V`>qInQLeK$a9wX&tCgE1LIkP=-bUDP>wpNfcjRm9!NS zY*kegUKAq^sGr_wX+sfm!^d9=J#E4g_Dd#(PlK?yMTX1Ls%j!Xv40S0AS~H1#-Z{7 zMxYXq4^B2rCmUwzn-BsU3i21sSHQXi(Du zK%@mQxYJmZ%4I1}9AsFAnhdqV2BMt?w`UgSuYm<|G6$}IG%-1cTVGfx(7?fQXDhGM zE`w;h!>w18Vuoz;6eSz`=i$2P4%;Tk?#(MD=!$_U9YLk2&62I>Dj* z4YE>NzW2zV!QZ78NUj+vgJfF?s;aU9Qxke&m1e7v`dCLRDcw*sDW$g$`RdT@_CM zAlSo~t>Md0g-p%o>EyqjtF*n0ve{)v6V+&9 zOSGctO6byVIQEFQ<0IAh$d7`xtz>W6+1pn3ww=9eW$)Tq#mXvn z7Fk(TS^MfAhFNE`-18TY*iEj+FyS0m3-T1SpMdUc0DbC6&`rqd-CVX~qt)2x_K+33 zTnT0B>lm%ZN4KY*Oh2Bs$L6fDIeTou8e6c(?pR}YD*4Z>_~(_-7rWtiAKkKtE>?#w z?sWYe{V8f^Zd#d}c4pDaEZUj8mB|yd_t;6gf>Tot^s9}~6R{5dn;CRzKWP#Ij=IU2 zl=DgVTQ9kPfY2yS_F#RU6wzh(Nc&%SIH%t^wr(EMBjN^spSlWTZWZ|eeMm(5sb|pd lqMC literal 0 HcmV?d00001 diff --git a/osinaweb/addressbook/models.py b/osinaweb/addressbook/models.py index e31a6052..98767c20 100644 --- a/osinaweb/addressbook/models.py +++ b/osinaweb/addressbook/models.py @@ -1,5 +1,5 @@ from django.db import models - +from osinacore.models import * # Create your models here. @@ -13,6 +13,13 @@ class Country(models.Model): name = models.CharField(max_length=100) code = models.CharField(max_length=5) + +class ProspectingList(models.Model): + name = models.CharField(max_length=100) + description = models.TextField(null=True, blank=True) + date_added = models.DateTimeField(auto_now_add=True) + added_by = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True) + class AddressBook(models.Model): first_name = models.CharField(max_length=100) middle_name = models.CharField(max_length=100, blank=True, null=True) @@ -21,6 +28,13 @@ class AddressBook(models.Model): group = models.ManyToManyField(Group, blank=True) +class ProspectingListItem(models.Model): + prospecting_list = models.ForeignKey(ProspectingList, on_delete=models.CASCADE) + addressbook = models.ForeignKey(AddressBook, on_delete=models.CASCADE) + date_added = models.DateTimeField(auto_now_add=True) + attention = models.BooleanField(default=False) + + class Contact(models.Model): TYPE_CHOICES = ( ('Email', 'Email'), @@ -47,3 +61,8 @@ class SocialMedia(models.Model): link = models.URLField(blank=True) addressbook = models.ForeignKey(AddressBook, on_delete=models.CASCADE, null=True) + +class Comment(models.Model): + content = models.TextField() + date_added = models.DateTimeField(auto_now_add=True) + added_by = models.ForeignKey(User, on_delete=models.CASCADE) diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index 63641231665df7293994df102d3cfbcd9aed2b6b..e7bf539ec9442d2e8f7cc5b01ece8ef3a6e62356 100644 GIT binary patch delta 3290 zcmb7GYfMvT7(U;*wG`S?5KhbW&<+uSQ7Cs*WXRN@pc}HyXcw7Nmj5JhDT!5t+Elcl6Cp9^s*=+8#bam~r+xND2+Pm5< zCWqCwr`6i!FfybjS*SPJ+uAHPhe1PXbi(rxKdZyiruUAObRH+BsI^|vtqej*y-OXW zoKzpxLA^zps2$Wcs-9X;tv#)9;f*u_a3h%F#YtYA;KgxH7{D=JKweDp;wUHdV1gIp zycpxfsCVL<_TLC2T?|Dt;4_+Tqqot;UWKcT+L2}?F-^|myb}#bpDfS^c&qj3Tqih> zz-KaLY7_K>1px z>8ba<eRbw;cFnL*oAV!EnkRU`O#2`o!WC(JESOf(^976m#^71kl za6w9&@VipZ$o`gnE%VBzWrt-BnNe0N%aTP&|A1Qx64btx1qm6^I5^|myeeTDIFm_G zj2nBbmR>^$OE8s6f^ytwwzOItmN4x}UTbP;w(SYmo=75r4mYA6hB+ROCqX7|@TW96 z`Aq}I5=fAZ8v?lka{!P(4de)(PR5ZygB!Tm!K0(;Bv_5>BhlcN6ij50pc>bQQ`y4p zzu#n>H;K&0Z!wlef=XN;fsZc4xUQjI?Zm3E?Nc1&SF;}+`3cx_o2*XC*01Q5Z z)?(vmbqd@x!h8j9jxy(AY>)DquWyVw^ivMC2b1FH(#OcJNS{iZVm^pANajSZ(qGVp z)Tks6sqSLAbT*2C`O+__ZUdjTQ~4u+&puLVeK8K@n}C#LVJqR@Zsl@vFx4Z4_7Oq{ z^#jViu=SE^f*cfkqG5*{PlP|8A}QbF9_2cMphXPKzo?q>T^~?Zo+UN_BNVZ!ekJi9 zv7KP>@9?Ym5!{5Y!6o1pm_#odg=@~KbEi-kD6WdQJT=WWmYW7ESSpt5b*VcUd6m~J zvR0fQKcxtsNxUaNB4_Agajv{7%(cL+Law^ik@k^uLn96IQM;AMCo?awsQjMJ(=yqe z{#WF3H-oIQ3qm$mKqIiC%iW2*;lgDW6df>R-3iE0lOx>kV2uHjRqkaJ<^-!ZF1qmZ zb%wT|aeR!$FN}aKB1qxBQez6-BWF65t%Xe3! z%HE$L$Btmp1CpDPbaAq%m%c-tCa)9c@z<~;@B zI7m5~cePs3)Po7lD8gM|fRK?G!w#Q#- zSo|j0RycExq@e4egn@sqP;{4N52bigM2t=c+=j4(f#nk>3LJI&6AQN{|h&pHY396QjX0L`-ERI8f@(WAC!snoagj+LK0e z?>1~G-;?AwaKmR?Wel8t983GYJga(xCXx0XnDwD**g4qYQHz;DstydLT5V=apRl%t z?exFng;VC5?=V=+hQhMql9F=E?j?Np)x1($-B`NusXCg92<+-u&bXNTv@rAGkq%{z9t*PYVkS zc!d`juof0J{N$1fAqgSb_vBJaR4kzqThX6!N&zmmqQByN@y_i-nG~jJs}}T4tJRjw z*BsKr&>3*A#zJjjah|p)Pg~9w6jl_KRcMP|)D{#K>57JD=TZ<-5z>6KbLkbo{0kRt Bbawy% delta 5288 zcmdVeX>e256#(FO-=@Wq<@L$3g)L(P#*(p(7Z$UI&1N;2eFZPJ-`lC)W5zV#dh< z$1jStfz0kU^~AJ0`oJ@H+J3LCGyAyXDtjG8-f8#_1O)Q_dG| zvMz{s9?386w+eXk3J5vhu!8c{Yc19Xym5Y9xj2uOdBu9{?WC=N(EG9!_5m`tMBZFiCnUAs_zHgaTq4wm_u%EQZTr!8uCbP&) zGK2Jy>7CAnNTSAmRb2~k3su%QX^H8k&3W_bs>D;Ecpfn>@hih zR1iLOwNU4JmGg1qzY22CP;EeY?oP=bNy*w$vRx_J&Y=vevn93u{+Du0Ksn|yzO~kA z@r)H#DgR50bv^+Fs57X*9pZaH1#Ty|kz2_vPkJy}QA3X`f$O=^GbaQj9)C=-#CCMPAy$?)W)I5`OoB`I~* zZejYM&L~YfnA#rf5N)rVU)^g3c;6wHYEU*cC_AY^+0>wHYEU*cD4QCTO%2M%1_e(pcBqKxz0{+i$zhX%eb}YIN2!jE zkcY`bWGC4{9wZNt`^k24AGw#@L+&OYA=}7ZZIHYBReKu2vlU*%putvNp5wD80aMaBge+??fA<-nN zgh}8IiQq+=Z zFFfbW5$&Qx)qWsuNS&&EpFB%qAA#{}lw%u#JdSx{&DSl53b!#sUNN5}UE-B^Bxw?t z#EA?(u(|x+eoH@fU#NlDv+Q<$eM)rRP`eCk(YYyEQ%csDlFb>){_lEn zbhf-&vm`SmGb9g5rc0(trb?zrCQBws8YB}X6C~p$<0SQxI!UdhMlx1XEvb@JO2$Yk zBoRqiQZ5-SDU*znjFgO!luAk@!zIO%kfcabC>bURN(vC4u<~TEa-LTCOy(c7=VxZX5TFYsN`qt1;ei>v#2+^=^HMUaI|FyUE=ftZC(} zpS8QQT)%Z))}GVav?*GK`jPsI8dclWX=)Dpg#D1kSWGWfrVqBnEPgxg$kVl_m8JhN z=7+ItrLuUKOQ~70r+wFs-P=Oica_EBnXA#^Rlay-Y2n_8IMayQOPBgFdH&d&!n#?g ztQ805^U_O>fJj>~b=OvfnisIK;of?_?=?pStCQ49Y9wPN)siX+%)t10Fax771EVkl zgRD2{fsPqPCWBcR_hT!C^MqL#bC`uun1xYAo_H6M)M}wCn5y>7;I}AHwQnXTQIXW~ zpUxg^WY5cynmL0bF*$O2XykDmQMH3|&+Nv*V>ii>SB6ILqSx`^O@qfwmB++rBnxgs zrMx<0Bo*|f%E{4W899oCe<$(Fk049Q5^^|MOom8YsKLd=l^TdkH84o~aj^zDuGYj& zk?S>aKXAPUyKun6uZ$9ZV4a|i$QULZGdsv_1#7*#*G*^U|f&!VT|iAuEn?p<7$knFs{V70^@Rw%P=m* z*n)8h#>E($F)mWN#0M|LWC6zc7~w}C7@v!=31cJ1IT&YSoP}{F#u*qN!Z;n{G>q^= z61>k8jFT}=!q|XuqN41C-4iewk8vEvdW>}#YcbYf9E-6UV-?0qjAJlXV2of4V=Tuw z8e>^vccXcV@o)db+m_h*nc-uOGw}boX>5+h9nrWm8h1tG?r1zM8uvuw-e^2M8uvxx z8PRxVG@ccWXJ3xz=-sd+Gpcg`z{gkTPE3?n=N6}_>Yow|Cgt`s{?r-oMtc7;i`P5GCi1|aV+sc0RDtvrX-}E4#AM?M-;|KB*+~4Pa zDbab{|I}~7?omn_)Rq}Ew&@<)kgUE#?iiiuEe*D-jdEo1!F&E(CP- za(mugmhc?NTf-9YJ{y_lgnupe9aAm-!SlM2__!l)rp8-;o?8|jsvlC&f4+wLM~fuqxW*LXp{1;@Rl^IK;E zufnf_O0mP=(7<}eom!G^xu2-C^D#fh|Ft;X&-*{lFcWXQ7+7V(sd>~y<(R@dtXGc* vV9STC;G7;0W@vfN>+oA(u$s5`dzKD_x+gk&uip&9HVn4H#Pyp+6My$_zdlJ`