From a02aba38323fb410b2376b5f154d1348567c298a Mon Sep 17 00:00:00 2001 From: Priec Date: Wed, 29 Jul 2026 15:26:33 +0200 Subject: [PATCH] account is always FK from now on --- client | 2 +- common/proto/table_definition.proto | 4 ++++ common/src/proto/descriptor.bin | Bin 135717 -> 135981 bytes common/src/proto/komp_ac.table_definition.rs | 4 ++++ graphs/src/pages/add_table/state.rs | 2 ++ server | 2 +- 6 files changed, 12 insertions(+), 2 deletions(-) diff --git a/client b/client index 8605da5..4a6fba3 160000 --- a/client +++ b/client @@ -1 +1 @@ -Subproject commit 8605da5f4869ab05d91b389e69f7f4719ce6e4e1 +Subproject commit 4a6fba395ae266e7ad8f4ffeeb959b6d91309eee diff --git a/common/proto/table_definition.proto b/common/proto/table_definition.proto index 19361bf..11eb568 100644 --- a/common/proto/table_definition.proto +++ b/common/proto/table_definition.proto @@ -55,6 +55,10 @@ message TableLink { // Otherwise the column allows NULL. // Duplicate links to the same target table in one request are rejected. bool required = 2; + + // User-defined column read from this linked row as the journal account. + // Exactly one required link must set this when the table contains ACCOUNTING. + string account_value_column = 3; } // Defines the input for creating a new table definition. diff --git a/common/src/proto/descriptor.bin b/common/src/proto/descriptor.bin index 8673c3a189dd865c8e112ee05f43b92f9e011f47..fc0fd3c953cbf34118867d6a927d306dfc23ea03 100644 GIT binary patch delta 6122 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 delta 5810 zcmYjVZE#f88NTnkckkZ4yUA{DHX#Y$AP|TN9|21=fIwm+3ay4lZ91KiPXF{rXB-f* zopC{Hf-?d#qK7)lN2N77RZ*xJWy%ysjfx7PRH?(@OdM<~3^RySEuFE?dp>sg`JDGW z&w0P@d(Q5Qe+vJ&FWldMiTn0F{>Y_e)cyE}m%0z!{`Ij!dguL7Do&DjesETrhEmiv z_*I@3aMTg8PqE+b{o=_2b>!N^DbYoWe4p5h6H8Thfi5*IbLfSPjbul4R9+%S%2B#LXpnNbFAvlMk5n*spf_;pqc2x9AOv_KGBhiDBArhB69ELxA`+2B+7pP?-$*<@sz4%uk{X5% zYHPaA!Gu`HqN+vBMI|>8PqbDfQJ~|B@+L|*I4iiD2;Y=B7U)6ZDr-a{1v)AM159U~ zRd3Gaqt!@)9|wKp(Ie`$Db!u;qfoNyqk+8G?!+X%o1k}kBh}d^a^2}Zs_t>U}k){}|+gLC*?~yiM zjFJU$u#dbC)Ssu*qWnGz>!PzV6$3eMKz%oz{?#(zyvHJx1}I&jy$6K%1C+0dz6~`8 z);9+$8|gQ`+PIFUE=L%CkdFPgh%0oj1!>5>MH$oDKww-A;hBavYB``Gb>UiC)-pt# zvu8@xhA3~o$pC{!AcEOz+y*?Ve%?&awj6csAF$NvD5a)Z3Ct!yjFp>^fK(hDBkvz- zb_;dpj!`%ftG=I-_=nX)E!5RK?1Zogp<(wO0YYe4zM~&&3XCV!w=Hyg%So5A6id&Z zbRRPyC?^RYvs~|C9GoKWKWf8lS{|RGaBS2Bp)i3)_>}nH>ciPItLjsVa?y$?kah9u zviJLVo!unR_EtQC%WRg+{0_p}YX45t=+D>aj||XVtd3 zbZ5uetCi&II(xN})a@)4W|Wkqa%X8)Q*@VA!Z$Xmn&wgO{L!m}k*{o&GBqWld}pKb zfy~qirZ_lH{FQoR9yL~-r>F|!OM;ZQm4889nnx>JFO&uK^UA+a&JGqJctNtW+!Ar( zMYXn-I+tB6$3%>0mVc2dV(SSOWFuAAmlvRPQKp8jy*O}L{kN5x7hiUBCu9#QmnjqL z1_p%2WvVuV3=j&JX~IN2fY?vR!FS~SkJK;c)5_d;6i$k6K+I_ozM_uIr$sGSTz6s- zN>|(v287ZTNz<)RisImV@*Y&zE}&bA-%~hQf5MRnZDccvd>|AJ(A-^s5ZuUissloB zBb&j5%`k3ao}$A5LiGU6cm_m}n>b@eBcR?q#$3&{z>wO+lP2pgCldz`v-gO~UPsG| z4|6C3)b}&uTOadeeE<-A12nz?La~qWDwEj@2*Ezav&>Lo>@QR0B>?EC;!J;;D!%kP z>TMaur?J_^1td49iwh7^o7r9(fRNhEv55;1Qkx~Lxkz~y7btt%)x;mroZ_R5fgrwR zC9ExMFLxja0-DPm5Q1CSUhaSp+`{&9&&p|A*<2J5lCS_xSb*A^&g+Z-g1VKfB0Puz%7xUuVh7t7PK6}l3Fi$EBmqq%fRKE`^&KE2pAc`l5J`o&x>J3*kX9_( z>FR<-DD32n2_8^3an&{2Wk4wGlFcG|>QRtNn@qLEYtYTdb72>}H;1g{3Zl?pO(S zx3rF=9(%#v%@_{GW1u~Zcd{``T>#y&QkOk!-&d8oE_>KMl`EyI_cD(!S}tCDf*n^z z?q0TUWo*Vlds*JfI#JmB2XHMlX`rLx*BPuODt?{;mZ+Et&z3z7l5;e6T>LbHx#Ti_ zn*qXQx!QAa@Em(Ds8u&mXYn}>o3t}IsoH=`JrJA$G=hK-9B_>U2*ClD`kdtUdFBN= z4j`li&{P-@u0GH9sSKz$&zz$-*8)T8d2XGL%bfju9K6WhYpSsw@52{4lwaR+Rxl* zkCjpbnz&#@T>II+n*kxUpY6LD5K{XY?`Go#&?{~f<~ac+K&O;|(kqO6S=tX)D80h9 zMbj6+nv7X!q`-aE&5*qOx)A7cA^r9$+lMr)puWobAuVad-UEzZoaUS)lmML<(tZcr zK*ru8qz*8CblTmJI>2}y8ZY4TLFQI#3=DK0OZy$<2`$bF>Or16&r(yd{}qk<)RTK%M&(^-k1A=8L+adO>TN#cE&wb- z=@6&PAOnQZA(`So(G(aDtF=q$j^@Kb8%R_U@I z;q(|CDj+CFxM3_FKxmgZc$>YW>bE!2vf|qunqQW&xcd&Xne#wM0HA3}K=|+uhvvr= zAOzpxg8Zq2U%Ap`L$3HhpaPoQ0cxu)J|L(=uK2}Ry7^rm(ylG!V2!Y zZa&6>-eWH4Ab~&ybX4ir_c(2SiomKj;|*v$Mw7kIT;FE7(yzddEB*RDr=7C&>-#*W zPXBJMj)RZb`@8yjDXl1e#CWoaVzs32m>X0;5Ck-WfDk<91{EL#kGVlrEkPc4tp@}u zprcCqj=P}=E2ziaoG(^O`i9-G1_Bq*aYcF94Qp7z9d^UITF{9yRniCOsFJ=DWvZm_ zgizbiL4`Q@n7x1E+HYS@*A+iz``j!@5JvG+d|d&T_4~ zyMvlquwXP{hUOVp6F_L5k(&HYew@~bKO^dm4(e+eDRab+5myZC0cS*t(E>ke>(); links.extend( @@ -101,6 +102,7 @@ impl CreateTableForm { .map(|linked_table_name| TableLink { linked_table_name, required: false, + account_value_column: String::new(), }), ); diff --git a/server b/server index 01ce5a6..2b4dfbf 160000 --- a/server +++ b/server @@ -1 +1 @@ -Subproject commit 01ce5a63b7ffd8ccc6336cb508364e69c4d6b40b +Subproject commit 2b4dfbf8ffc96bb697cd28feff1d47afbb8996e2