From 954be495644a3e00de03f708835c60917fd7a8e0 Mon Sep 17 00:00:00 2001 From: ndu Date: Wed, 23 Oct 2024 13:18:29 +0100 Subject: [PATCH 1/2] chore(feat): add sponsored post model --- server/apps/research/admin/article_admin.py | 3 +- ...ponsored_article_sponsor_color_and_more.py | 28 ++++++++++++++++++ ...07_alter_article_sponsor_color_and_more.py | 23 ++++++++++++++ ...08_alter_article_sponsor_color_and_more.py | 23 ++++++++++++++ .../0009_alter_article_sponsor_text_color.py | 18 +++++++++++ ...ng_alter_article_sponsor_color_and_more.py | 28 ++++++++++++++++++ server/apps/research/models/article.py | 4 +++ .../serializers/article_serializer.py | 5 ++-- .../Screenshot_from_2024-10-23_05-08-02.png | Bin 0 -> 64005 bytes 9 files changed, 129 insertions(+), 3 deletions(-) create mode 100644 server/apps/research/migrations/0006_article_is_sponsored_article_sponsor_color_and_more.py create mode 100644 server/apps/research/migrations/0007_alter_article_sponsor_color_and_more.py create mode 100644 server/apps/research/migrations/0008_alter_article_sponsor_color_and_more.py create mode 100644 server/apps/research/migrations/0009_alter_article_sponsor_text_color.py create mode 100644 server/apps/research/migrations/0010_article_sponsor_padding_alter_article_sponsor_color_and_more.py create mode 100644 server/media/images/Screenshot_from_2024-10-23_05-08-02.png diff --git a/server/apps/research/admin/article_admin.py b/server/apps/research/admin/article_admin.py index 4619f09..2846e6b 100644 --- a/server/apps/research/admin/article_admin.py +++ b/server/apps/research/admin/article_admin.py @@ -18,11 +18,12 @@ class ArticleAdmin(admin.ModelAdmin): form = ArticleForm fieldsets = [ ('Article Details', {'fields': ['title', 'slug', 'authors', 'acknowledgement', 'categories', 'thumb', 'content', 'summary', 'status', 'scheduled_publish_time']}), + ('Sponsorship Details', {'fields': ['is_sponsored', 'sponsor_color', 'sponsor_text_color', 'sponsor_padding']}), ] list_display = ('title', 'display_authors', 'status', 'views', 'display_categories', 'min_read', 'created_at', 'scheduled_publish_time') search_fields = ('title', 'authors__user__username', 'authors__twitter_username', 'content') list_per_page = 25 - list_filter = ('authors', 'status', 'categories', 'created_at') + list_filter = ('authors', 'status', 'categories', 'created_at', 'is_sponsored') readonly_fields = ('views',) list_editable = ('status',) diff --git a/server/apps/research/migrations/0006_article_is_sponsored_article_sponsor_color_and_more.py b/server/apps/research/migrations/0006_article_is_sponsored_article_sponsor_color_and_more.py new file mode 100644 index 0000000..67414ad --- /dev/null +++ b/server/apps/research/migrations/0006_article_is_sponsored_article_sponsor_color_and_more.py @@ -0,0 +1,28 @@ +# Generated by Django 5.0.8 on 2024-10-23 08:16 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('research', '0005_article_table_of_contents'), + ] + + operations = [ + migrations.AddField( + model_name='article', + name='is_sponsored', + field=models.BooleanField(default=False), + ), + migrations.AddField( + model_name='article', + name='sponsor_color', + field=models.CharField(default='#FF0420', max_length=7), + ), + migrations.AddField( + model_name='article', + name='sponsor_text_color', + field=models.CharField(default='#000000', max_length=7), + ), + ] diff --git a/server/apps/research/migrations/0007_alter_article_sponsor_color_and_more.py b/server/apps/research/migrations/0007_alter_article_sponsor_color_and_more.py new file mode 100644 index 0000000..9faacb3 --- /dev/null +++ b/server/apps/research/migrations/0007_alter_article_sponsor_color_and_more.py @@ -0,0 +1,23 @@ +# Generated by Django 5.0.8 on 2024-10-23 10:50 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('research', '0006_article_is_sponsored_article_sponsor_color_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='article', + name='sponsor_color', + field=models.CharField(default='#FF0420 !important', max_length=7), + ), + migrations.AlterField( + model_name='article', + name='sponsor_text_color', + field=models.CharField(default='#000000 !important', max_length=7), + ), + ] diff --git a/server/apps/research/migrations/0008_alter_article_sponsor_color_and_more.py b/server/apps/research/migrations/0008_alter_article_sponsor_color_and_more.py new file mode 100644 index 0000000..b229923 --- /dev/null +++ b/server/apps/research/migrations/0008_alter_article_sponsor_color_and_more.py @@ -0,0 +1,23 @@ +# Generated by Django 5.0.8 on 2024-10-23 10:53 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('research', '0007_alter_article_sponsor_color_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='article', + name='sponsor_color', + field=models.CharField(default='bg-red-700 !important', max_length=7), + ), + migrations.AlterField( + model_name='article', + name='sponsor_text_color', + field=models.CharField(default='#bg-gray-700 !important', max_length=7), + ), + ] diff --git a/server/apps/research/migrations/0009_alter_article_sponsor_text_color.py b/server/apps/research/migrations/0009_alter_article_sponsor_text_color.py new file mode 100644 index 0000000..468a544 --- /dev/null +++ b/server/apps/research/migrations/0009_alter_article_sponsor_text_color.py @@ -0,0 +1,18 @@ +# Generated by Django 5.0.8 on 2024-10-23 10:58 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('research', '0008_alter_article_sponsor_color_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='article', + name='sponsor_text_color', + field=models.CharField(default='text-gray-700 !important', max_length=7), + ), + ] diff --git a/server/apps/research/migrations/0010_article_sponsor_padding_alter_article_sponsor_color_and_more.py b/server/apps/research/migrations/0010_article_sponsor_padding_alter_article_sponsor_color_and_more.py new file mode 100644 index 0000000..c6d0e62 --- /dev/null +++ b/server/apps/research/migrations/0010_article_sponsor_padding_alter_article_sponsor_color_and_more.py @@ -0,0 +1,28 @@ +# Generated by Django 5.0.8 on 2024-10-23 11:20 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('research', '0009_alter_article_sponsor_text_color'), + ] + + operations = [ + migrations.AddField( + model_name='article', + name='sponsor_padding', + field=models.CharField(default='px-4 py-6', max_length=20), + ), + migrations.AlterField( + model_name='article', + name='sponsor_color', + field=models.CharField(default='#FF0420', max_length=7), + ), + migrations.AlterField( + model_name='article', + name='sponsor_text_color', + field=models.CharField(default='#000000', max_length=7), + ), + ] diff --git a/server/apps/research/models/article.py b/server/apps/research/models/article.py index 3eef175..efb6ca0 100644 --- a/server/apps/research/models/article.py +++ b/server/apps/research/models/article.py @@ -34,6 +34,10 @@ class Article(BaseModel): status = models.CharField(max_length=10, choices=options, default='draft', db_index=True) scheduled_publish_time = models.DateTimeField(null=True, blank=True, db_index=True) table_of_contents = models.JSONField(default=list, blank=True) + is_sponsored = models.BooleanField(default=False) + sponsor_color = models.CharField(max_length=7, default="#FF0420") + sponsor_text_color = models.CharField(max_length=7, default="#000000") + sponsor_padding = models.CharField(max_length=20, default="px-4 py-6") objects = models.Manager() post_objects = ArticleObjects() diff --git a/server/apps/research/serializers/article_serializer.py b/server/apps/research/serializers/article_serializer.py index 1feb70c..7bb2ad2 100644 --- a/server/apps/research/serializers/article_serializer.py +++ b/server/apps/research/serializers/article_serializer.py @@ -27,7 +27,8 @@ class Meta: fields = [ 'id', 'slug', 'title', 'authors', 'thumb', 'categories', 'summary', 'acknowledgement', 'content', 'min_read', 'status', 'views', - 'created_at', 'updated_at', 'scheduled_publish_time', 'table_of_contents' + 'created_at', 'updated_at', 'scheduled_publish_time', 'table_of_contents', + 'is_sponsored', 'sponsor_color', 'sponsor_text_color', 'sponsor_padding' ] class ArticleCreateUpdateSerializer(serializers.ModelSerializer): @@ -37,7 +38,7 @@ class ArticleCreateUpdateSerializer(serializers.ModelSerializer): class Meta: model = Article - fields = ['title', 'slug', 'categories', 'thumb', 'content', 'summary', 'acknowledgement', 'status', 'authors', 'scheduled_publish_time'] + fields = ['title', 'slug', 'categories', 'thumb', 'content', 'summary', 'acknowledgement', 'status', 'authors', 'scheduled_publish_time', 'is_sponsored', 'sponsor_color', 'sponsor_text_color', 'sponsor_padding'] def create(self, validated_data: dict) -> Article: """Create a new article instance.""" diff --git a/server/media/images/Screenshot_from_2024-10-23_05-08-02.png b/server/media/images/Screenshot_from_2024-10-23_05-08-02.png new file mode 100644 index 0000000000000000000000000000000000000000..2541f1614b0d031eea3c88a41f465ecb489722d6 GIT binary patch literal 64005 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�L)Co)jyUUOUmK^f|+SC9PO@v1z1; ze(^8zY3mBX6Ff=XS2Xh%YELeEB*f9F(&6sXd$F9jda}NBG~Xh{$$Q#Lvq9)+cZ{Sw z>o*~#>2B`&3;9gVIhTH}dULe|MO*nubNe^5o^*b3JgW2LV&Urq8}mjM?FSDBW%ivC zD5UFLtbQ!7&G0)@{!sp}>MNI=RVZCoYlAKv-GGe3?d7tm-{smu;Rnr1tAoyM{0XE_ zb!U}YUI{&DQS4rN(Rgw-cBM{5$L&~-j*A9*FY6y&K*A8{IlSZHKze)Y$<=p1N0vOA zS4o0K+)1?={`aK0+E?Xz-*tD*mZr|bfs8q=npN()IWIY*;Wl-4u|f5;KmzGY$(!WX z7i+uxOrbODLEl9C=7kl_;1`GLeWF;WQ<*!$>pG{O?UHMdw>IV**%XlETvARpKM-W| zm)OfYYJl!<)WaP__B$;2|BJG8Rr$XbG-q6r3 z%)(6D`60*5Rv&9Jb<;apyu$vNs)FD_*93k>WmVN9uC(9hp2+(YoS}X+>(FmM$!*{_ z8E{os@<!rHyiY1*oF2(GYlj8;V{W2}h&Y$Q3 zH$`Yg1-7@FfWH%xEBX}_K^txo%J}-_t{wN90J@o(8Rs{Dw~CjQe0+{4dz=NPOpKkZPI{F|_7V@Ri%MXU_zsbeUyfV4%2b91xa)vGMK36uk;($~Cgl6l?h3 zf9%n?v@qQ}J|5vmOYtj@+^#Xv;Z}FmwiFYwDu5T0EoWSMlY;pD6A}_MW{=HvGsM{* zFwJAf?AR^O#nTa5U zB|1#?u1tTCn(P-?8>m)SnlXLu z>F@7vDQIqPmcBMCO4gccn+&;g$8~0?*%|Lzp}AxJa!oXxv-4a;SHad%E!8H0SIy_4 z9``Kd;|WV{UHtO(tGczduyc1wn4ZG&W@5}0N~3ud&9*yU0gJ`HZ5wsiCT}lh9T?e5 zMny+c@zNJrPU4GAqx*lylBwt&-nemNw}{Al^zV!LbR&Mv(AN4gib+eijYgh$`z>^2 z#3_P*6^|f(=hv(!Y|}bQ8xu-{N2Y>X*&(CLKWmN|UNGfxX=mXOH-o)BFjP??6*^?){lUMtAjBlQotG(;5M5C?+Am!y*Sb)j*0zcuh874^M^3) zA`k-2DA2xZFsI%#@Jv0d{GTzAfsxTI45LJ${B&>CB1&Vek~jSi6ME1dO_`2Nful$W z1+GpE>H6t3BLHI?)zs835mQjOO?nc6lcUdzg`!??6yp+eY!M9%3{1?* z;?RiTR|C$`=qu|Ofzb|Lm#F-#p$CMTrk-Aq=qCbVf*)WP5MYB60HxlWGd_)Rv%uf> z5U1TbY+z;<2I8v+mpuCQn6U7rgy!>VN=kI7E%Xfxl0+%roTM*(X96>R=ia@|&tJT- zYJPpPt<+Bed>~zFvzK09zW2gGVhRaj_z(1O7)Zn{7Q@*i*xX^fMtm{EH`=zkveF7L zA&l$MAxF-orKS4%dXf@5L647g7H$PsIx#tU=6jcjlu5+!J~KkE)uPUEZdrmnB^vdF^Jx!ckAd2|B7Bk(BnMYwu!s{ z)VH;_-!3Y;0iIr0%h}kN`)h(i1U9?EEl@S?`X-KNdvvos)){6;zzaZaaFHT*z)#c+ z4L6o73~s}{0RYVGHu(8HNUtZek$3Nsu$X`=>7&RpI>%kNpdu~@2-frCM-aHLaty42 z1l%RB!^o@>ChiL3#>*>(_w8c=AE;tx#s_vTT;zCi51hjMEY&5;bJWC%n#+QJwOMIK zdvl#T*JE~78M1Y|kPsdC=26**OgAK<`<8%eH$2&YqVwsIgRG`IlZE zHZR_9UK9*TgWT%U^l9u{Xnu9z{xwd$vuAgLSV-Zu=`8U0SX*0QUp;()R_Pu&G2zM; zrjGx3uD<{HVe=uFLw6WX0ybY}dr;;}($w@c0qwg&cmbPm&szlmgo~h%3IY0@H9hmX?VJdB&W15qMptd0(cc zs^Ecootg@_XPI@HAR*pSap#EdB%kz5QlMp+?5WhJ5^}`9ki`KR3aZdmOIo9E}ZkZ;7w0 ztQ6x3%QQ**`1$k5B>`2{fP1S}sW`&%XYFqd%=V%P6$2T8P&(;X%y$x2p7x911 zW4#iryJ?9xcebcaUHlP(Hv!xq3fvcO?oj8>;s-%e|3tH}!a8gBw9WGJvXul+T&?5z z^Y;R?GBfpKcIv}{m6t0M?)>R)A{t1$4TgT|&p)iroMXb0W;858qc;1Bax%joV1S>h z?L&7Rj$1jS)du!RguBaQyfB;2@MkkCXX^Gz#eS*n5D$2N9ck&C(^<+Q<6k8LT6}u$ zd~>?B`;LBUGfYcCK$*Z>S7WV7BtpjkS_z(>gPole zRMC)X6UuXFJ+RwLk7;)XQ$v`y?*CAJlbHyE@IX&Bq=qh^GBk{8bdMye0mNN~l#smo zAJI-ZCSg_;w|e^{6g+wI7k}yb-RbGE>?ppr6=q4?D0pEpw?Xaa$;o>jRsq5#6c0d> zMUE?WG`F<{11e0hTN9v^uiYJWf;#HCdCQjf&Xi|GMZDMmLP=5adZYKRc>ZTMVX*MG z`1+u7ho=G@P_3!^{iA=x>9+2_=qb&MyRiX&D+n0|P%qM!EnA$cds*?gQ7JAq@RFTf zxhbYOb;~UX2tgG$usnJ9PgBlH@StPd)$1O!sJ2;6)Hs`waGYo*Mj%}7pS>HhYoE)6qz54b(x@cujIBi4k9#Q347c(6+k00SeHO#3w>Y~=Nl7N z0)hIlHC5$+N$VrhBZAx!5e8RN2H@q6!pdZX`LZZ2X?R*iPh4Ca50}GSs-~1n*NNm% z)D(*Bj7TvOb8}nHeb9Me$9veF2}vGOZf{DsnVA_2t^;H}05;?tB2t!5uex`%wr<6N zYMTNr z>*`$QF35_Bu_JA{OV)}J7GhGS^trxBOe94{M%JEW%rQwbz2tZ<;K4b`_wU0?5ejU!w3O7u zg*9=De498Lmh~+xA^>$U!PtZ`0>6k1oiHK*>^t$);LBI$qkg}CHb852^UGNk2Z!BY zU;_LW9{SxtR2=u6ll7kO4Vv5cK0G+MY;Q)9KftWRVJ7xx&srn9x&jb!fvI%=?}f+_ zq+xrc9_JXHI1xz1MgTXOnwn)Ge;}Iyv=o4fS2oQt$7B-9E^7#Fkh-}qe!ov%2UxWN z^zdDPcE}fjIyIf6sa?D%uB@VR|Cb1Isz-m?hff9G$_0}rhLixhGahi+RiLTO_@7nQ zMDG$uLPbcS9Gsloz5I^?BgBrKlM@we45Xt7XaIFQ7nzuuRg{(K@ni!}^YSV<*gopa zn@;4Kgx^A3OV*B|52^GA%(nMorEY?J7-|}8{ApW>&o# zN@4x@A$$_j9qX>5tL$nVMBaEgmsnHq=^%aPeHO(8g$pdwF|3p7_TKdN?3Z$=R4!uk zQE#XkN0TrA{y@;k@SXMvKAb47rM>6H%>9-i4lJJ|Br<$e{cX$i3n4%_tNJmg6W%Pm) zozV1UB$Y09jw8z^ZeAZMPX5)4nIR#PR&5VI$raSaBg3vhIK8*GV2+mGJ$EKSpl0VK zY%Fv$BjdpN^XDy*^E$POjdT@Lsa9wb2>b@hCyeZako+AxP|S!J>@nOTQo6R`xJ%Kb zdZ9>WlazQ(^4eSPEz5wELO1~QClq1&w?hFl4)7_W>|INP%LVtXn?_awv?Py+AwJ)? z=pmyJ56e|x(r7YD@GD><(69zJmVaYq!<)2nYYl^{%6hw4(Y6SFS$BQ|FYEovMTL*E zi9a{FWd|Ja3EtLkep6*@PgOfXbu~S}@An)N@RAK(tDc~l&GJY0d;N(xO2yyM*rj6$ zkM^U#g5P^6_MiM&)qfWG|2K5ozah3Nav>X9B$X(Ui}`M8AY&++C}-|sWq<@h4LVf{ zWfLPE80%nW>Am~VlkG<3pwg~?8X>Rsrb3M4qV_< zfi*c4hM)TppHQ*&!9L3B{8rp>YDnrHQWt16Ye@eH>@r3hb0Ei-|_5L@H)h=&AI;4$43#@W{8wT14uWp6+}q1#v@o|9)1ID@s5j z>4dW*9(OSQ@F$r-f<9)4+Q(ldJ_bG_0QD0BxOxPC7%IId3V!^ACIdwz;TGYZh`KE= zk1Ho9hk#@085pu0Tlaq-7_e%3X)ro;_F&A!=RfNZTR73?KuSl*ZHYn~>6hr4+zrrC zA)h?nCjh~~*}8ZZ0RaIloKyR|npX!PDp`*gZ6nH~*yw}UIXEPQ@W&7XWkErVvxLK| z=L2mm)c-Qf2`RwOMH!#gbq$BDxyqP*~)`c0& z*wRl8g>ne0gP|Nmov)PIER2E;Z&!N{FG@$6oScN4Si`7PhPHw$AYI+X!Eg2nYN)%= zfw%>^k|hdZ-5-X!y5X0`5dVm(NBtQGaCgEWq2DHJmBV2*jxE6)g~xxoX?a3D262;B zjtP$5q<{K! zF!Bm07I~07;dM;D4~MBvl6Lowr!)#74n~oMQ2B_6h)8=3Z3gW92keR9W&H&$5oL%1 z3OQ%irGcYFA_m=L1sY2e&8IAgb^_uumzd@C<36YmI5uwdXH!^WC!wW5Pfss)ZPsb2 z)o*z#5V3ggDJ_)d!pOK0yxVdwYy*#ohQlo)Lwj2%A7GSP2{#sqRtW|d`Ey1>1pD;qQ*2{m4MRyvOiZjOSeT!;MBID%>eYK-+Tw(cxVuz5cI8Lh<${s!a6D&A%j14Qx+xVX7lUyLC=v(| zme2`U=9r+&EEtJ>;AV#~S?hZy;TX>81AM(Jq*+8_@(8? zR=D1)dI`s}t3$a1APS-<;au+Cz1w3H#fNJ2Z`2$0?K9DcJ9m`9I`RAbHXvOuEiE-f z@<>NQL`46`Bi|P~(5Y1*#b`1r+S-zl69{P;7Cu7Zg63eryLS>KMVKAFWJkV@FoJ@S zq=-kkkbI4(E^A(qwSw^psNkF=w~+*K2Qm9bf#m*LPf6*RTgJ?{fX+gH$@A=)|K-rjd3BkA6L>qrkX zsUC5azE^B}i8!{f)XQvj0^dt!qFQDQYb)7TDUMc);)*Ret$O6cqE0uN>w zub^P!rrq0s(RA|fgZ3mA42fld&+w?OcKcX!lIaco!L zJv#KYnHP^)fgkNe)F@VifMppOcYnfawCixAEKvdtUjO6`(XV>CTls}y4mG9ud?i}G zkkvL1WZ4;ywb1^w{~D;9q5|I!5t5igeIjc_XMO#3l!S-(v8`Y4Z_??}ioBA^zvrEH znvraC!}%P~N8UL)^RhJh`i7|olCCMvX_S+%PVnXWczR00TSX#~+iHG=4&x5zpxd6O z#6hJJIU9s|l|+&dYsC!5>)NY4KR;jA>x#3!orF@`|sxh3z>Pe=_SV`6Tz$dzf{dY6%$=A?MLl>{KG5hmp zZAx+|ue2)(Qcp!?W&g%6m!We9=TQw!YZ#ig9WXN#_rvZAW9fcl9Wq2YhE~4@x;~da zqfjT@u4Bua_vjR7K~PWpm}tZyoqcQ1hU6{NXVFvCqJ$UE2YSx65&@iB_nVeM^+vS4 zBqSw;p*(=_lK|A?eQD>=I)VXjmy&87o%J|{#rX`;X39Gs509LKujSC2Cfu-OEDJ7s z_wL<4Jwz5FU_g&govztI2+|1g(4iuG^NUP$EEEa~lG^&es0FmbV}-z-;@loHL%g ziDVDmGhW!+bJLn}m*awqP41ChXe`tYETROOb!fUrdw?u~HDM2t8oFo9y!s_vOazx8 zelI50AO>8oZp5)?DH8RT#Nf{Lg(R&{o6LOcJS-M-Zw zxa_AZNjqY&Y0N@v?i+>4c1_6whx(Padg6q?Ke3(r@uUs|J6mH5i|31j Date: Thu, 24 Oct 2024 10:05:33 +0100 Subject: [PATCH 2/2] chore(fix): update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3ec356e..432c61d 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # 2077 Collective -Content management system written in Python(Django) and React.js +Content management system written in Python(Django) and Sveltekit ## Project Architecture