mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-17 20:19:20 +00:00
Compare commits
3590 Commits
refactor-p
...
coderabbit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
16f13c75de | ||
|
|
609164fb9a | ||
|
|
993ba4cf45 | ||
|
|
bb081e46d7 | ||
|
|
6985f0efc3 | ||
|
|
302ff49b7f | ||
|
|
ee2b65806b | ||
|
|
ba459204b0 | ||
|
|
7d4785784b | ||
|
|
35b503932d | ||
|
|
736a776d3d | ||
|
|
11b9b1adc5 | ||
|
|
9f6bc7fe49 | ||
|
|
7e63f1d220 | ||
|
|
3d8502f408 | ||
|
|
c3e869c701 | ||
|
|
aee03417de | ||
|
|
14d8b87c8e | ||
|
|
2a86a1fb98 | ||
|
|
28180ccaa4 | ||
|
|
7bf17372b0 | ||
|
|
a5b881ea74 | ||
|
|
ac40b46a6d | ||
|
|
69682cb064 | ||
|
|
8b543e5503 | ||
|
|
c4f90c3b34 | ||
|
|
244dce5098 | ||
|
|
194ab87fef | ||
|
|
e0299e1cbd | ||
|
|
9c970acbda | ||
|
|
06dde659c2 | ||
|
|
9fc17e0e3a | ||
|
|
535f8657ed | ||
|
|
c77781a14f | ||
|
|
c9d22386ed | ||
|
|
2e7c3207c4 | ||
|
|
0aef591f5d | ||
|
|
39049948b8 | ||
|
|
39b9d798d9 | ||
|
|
bebb8ae1ea | ||
|
|
1c8266af39 | ||
|
|
73729f6ab0 | ||
|
|
a287201011 | ||
|
|
a4e2fbdcf9 | ||
|
|
21dc0a0b1a | ||
|
|
98626aaa6c | ||
|
|
86a8015cea | ||
|
|
8330b349d2 | ||
|
|
29197af11a | ||
|
|
a00a3868ed | ||
|
|
335dcc976c | ||
|
|
6972f161b8 | ||
|
|
79b8505972 | ||
|
|
fe7b797e5f | ||
|
|
df329964dd | ||
|
|
1845d12951 | ||
|
|
67c2ab4c9f | ||
|
|
405e1ab6d3 | ||
|
|
cf066edd7f | ||
|
|
96e2e356b6 | ||
|
|
0fef2d4b02 | ||
|
|
b265b82f0b | ||
|
|
c92a06d77d | ||
|
|
c0236191aa | ||
|
|
5f083d55b5 | ||
|
|
56da3bd2e4 | ||
|
|
f27077a45f | ||
|
|
38b51df17e | ||
|
|
f145e6267b | ||
|
|
09d9c0ddd3 | ||
|
|
e4b5507446 | ||
|
|
a028d856bc | ||
|
|
e3e4680ad2 | ||
|
|
276406bc1c | ||
|
|
156e46ccb0 | ||
|
|
07a5aba2aa | ||
|
|
4ce8d9af6a | ||
|
|
0474b8595b | ||
|
|
ca8677a0ff | ||
|
|
03e5467ba2 | ||
|
|
e960f8217b | ||
|
|
a81e807a70 | ||
|
|
3b4ee30dd7 | ||
|
|
521ebc25aa | ||
|
|
1291df9a63 | ||
|
|
70d7ceb2f2 | ||
|
|
512419eee7 | ||
|
|
c6be380e83 | ||
|
|
200496254b | ||
|
|
2596ef202b | ||
|
|
ac71969512 | ||
|
|
734a7b8be9 | ||
|
|
aa9c4555fd | ||
|
|
7e5be50997 | ||
|
|
03e3a693ff | ||
|
|
d4ae2f89b2 | ||
|
|
17c24a4168 | ||
|
|
c41824c4d0 | ||
|
|
3ad611966e | ||
|
|
ddc97df31a | ||
|
|
c21ebafaa5 | ||
|
|
17276a2c0c | ||
|
|
4ecdd1fd0e | ||
|
|
7e093d08a9 | ||
|
|
955e8714ee | ||
|
|
1a262483a4 | ||
|
|
eead27560c | ||
|
|
b658330881 | ||
|
|
4f968f5c65 | ||
|
|
838183941a | ||
|
|
92d86eb30b | ||
|
|
efeda90cad | ||
|
|
47d4319f83 | ||
|
|
eb5a9db749 | ||
|
|
a2ccb5fa87 | ||
|
|
b56dbe98cf | ||
|
|
cf5a2d6351 | ||
|
|
564de01463 | ||
|
|
ac8637d5a0 | ||
|
|
7c10775bc8 | ||
|
|
49a96f4306 | ||
|
|
161ed5290e | ||
|
|
a0d3b931f3 | ||
|
|
11b82ba008 | ||
|
|
1b73170e8c | ||
|
|
59c46a1789 | ||
|
|
24e0e3505d | ||
|
|
5824b5effd | ||
|
|
fba16efc07 | ||
|
|
9aeb21d0c8 | ||
|
|
000135a3d4 | ||
|
|
260574719e | ||
|
|
ead1ce2742 | ||
|
|
991413608b | ||
|
|
fe74e0888b | ||
|
|
ceff8c92fd | ||
|
|
d8babf66ae | ||
|
|
8dbbcf5ffb | ||
|
|
fab9c4d7df | ||
|
|
2383051b74 | ||
|
|
d2d3294f02 | ||
|
|
62037301ee | ||
|
|
b860f3d31d | ||
|
|
b8c72c05bb | ||
|
|
f1eda7c4ec | ||
|
|
83eafe118e | ||
|
|
0b178b9449 | ||
|
|
1e7f374d6e | ||
|
|
fcb86023cb | ||
|
|
2dba591d37 | ||
|
|
385a2beaf9 | ||
|
|
cc2cc812cc | ||
|
|
a1c3c60fca | ||
|
|
bbbd693c1c | ||
|
|
f42f59a6b2 | ||
|
|
886cec797c | ||
|
|
2ea2c5c11e | ||
|
|
b0f59ebf79 | ||
|
|
35fee187b6 | ||
|
|
3e2fb85ae6 | ||
|
|
0cb5b571b0 | ||
|
|
3131cf335e | ||
|
|
785845a425 | ||
|
|
fa3ee91414 | ||
|
|
f8fa8bdda7 | ||
|
|
69d509a098 | ||
|
|
5a9fb3db1f | ||
|
|
8c8bfd4277 | ||
|
|
47f0507643 | ||
|
|
cb68c784fe | ||
|
|
b1d3d39a11 | ||
|
|
31d9fc5367 | ||
|
|
80a38732f9 | ||
|
|
c228d1a05a | ||
|
|
6bbba727a5 | ||
|
|
0149bc633c | ||
|
|
574198bceb | ||
|
|
edd3383f7d | ||
|
|
2384b37305 | ||
|
|
c71dd00cc3 | ||
|
|
bd18ce7326 | ||
|
|
9a85e1a811 | ||
|
|
ad1b77f280 | ||
|
|
99d89b207e | ||
|
|
66f60c64bd | ||
|
|
9f8abd585a | ||
|
|
1f937a7c76 | ||
|
|
9234e27a70 | ||
|
|
6ba476a3cd | ||
|
|
5f4c1f331d | ||
|
|
c95b8e8d30 | ||
|
|
b1d91f429c | ||
|
|
4e86a46008 | ||
|
|
0ad348d714 | ||
|
|
7f1240e2eb | ||
|
|
6806c5e977 | ||
|
|
4bdb4fb170 | ||
|
|
06a999ebaa | ||
|
|
5663c2a1ca | ||
|
|
13e3db3730 | ||
|
|
bba77529f8 | ||
|
|
625321ba8a | ||
|
|
4dd428de41 | ||
|
|
9ece6ebef8 | ||
|
|
155bdd0251 | ||
|
|
77a9cf6398 | ||
|
|
c45ea53889 | ||
|
|
d117411070 | ||
|
|
cab262c147 | ||
|
|
aaa4f0ae26 | ||
|
|
00fd1d2f26 | ||
|
|
7f55f421ab | ||
|
|
170fe86f38 | ||
|
|
781c377588 | ||
|
|
7318c6007d | ||
|
|
aedb171dd4 | ||
|
|
1fbde7b8c6 | ||
|
|
e8288a2f63 | ||
|
|
afb067ce50 | ||
|
|
0c400f9355 | ||
|
|
e36cc5641c | ||
|
|
a98eb60a27 | ||
|
|
147e99a0cc | ||
|
|
b38b2d2283 | ||
|
|
e065794838 | ||
|
|
903194abed | ||
|
|
2bf0ba9802 | ||
|
|
39ec44f169 | ||
|
|
e1cac75f85 | ||
|
|
5e9e95e00b | ||
|
|
58d9113fd6 | ||
|
|
49bb095152 | ||
|
|
2f4caf755e | ||
|
|
f38abe38d7 | ||
|
|
fe0722c4f1 | ||
|
|
c585903a4a | ||
|
|
48eb488918 | ||
|
|
68e1f9d4b0 | ||
|
|
a24f1d056b | ||
|
|
0b0365d559 | ||
|
|
3401438878 | ||
|
|
00ea513546 | ||
|
|
4bf3a73b50 | ||
|
|
72a38929e5 | ||
|
|
4d3ddeae8d | ||
|
|
4005e4412d | ||
|
|
470efbeaf5 | ||
|
|
368dbe3bbf | ||
|
|
e5affb16c7 | ||
|
|
e5d4b4f0f0 | ||
|
|
a5138f4899 | ||
|
|
4cac80a968 | ||
|
|
f74d8439a1 | ||
|
|
fa182395f6 | ||
|
|
ed84d33b28 | ||
|
|
770d6dd8e2 | ||
|
|
46b85c7857 | ||
|
|
626be61218 | ||
|
|
9a5348b0e0 | ||
|
|
5ebd7d72fc | ||
|
|
a3bd10f6c6 | ||
|
|
15040a362d | ||
|
|
19729a307f | ||
|
|
42710f9ba1 | ||
|
|
b2e94ed29d | ||
|
|
6908101735 | ||
|
|
d211641ce2 | ||
|
|
c3bca6ed60 | ||
|
|
9423f37e12 | ||
|
|
c93da6cbbc | ||
|
|
709ae67b3f | ||
|
|
efad850ef3 | ||
|
|
622eafdcc0 | ||
|
|
5cddf86c7c | ||
|
|
28931bd49a | ||
|
|
61360fa813 | ||
|
|
a41f6c7fcd | ||
|
|
22aa830f53 | ||
|
|
5aaf1501a2 | ||
|
|
6781c69d33 | ||
|
|
9a1f033fb4 | ||
|
|
259c74eb3a | ||
|
|
b107cf7d03 | ||
|
|
97b0985261 | ||
|
|
055b1c3bdc | ||
|
|
fa0856de8b | ||
|
|
db1d77269a | ||
|
|
44634cde63 | ||
|
|
eabf69ea00 | ||
|
|
7bc508004b | ||
|
|
831dfc8f6d | ||
|
|
7435b28092 | ||
|
|
34584cd8f8 | ||
|
|
677a5e829e | ||
|
|
d1f8105abf | ||
|
|
c54ccc56c7 | ||
|
|
e909fd352a | ||
|
|
916ed3d6aa | ||
|
|
5503d4b05b | ||
|
|
a5f200636a | ||
|
|
673bb99573 | ||
|
|
d64cd86f52 | ||
|
|
3ddd5bb65a | ||
|
|
876598f714 | ||
|
|
ed550bb633 | ||
|
|
6b4004b127 | ||
|
|
96feae60da | ||
|
|
fb1bf29136 | ||
|
|
738c1e0d0a | ||
|
|
19b64d4b0f | ||
|
|
67e57018bc | ||
|
|
fac8013dba | ||
|
|
3c6b2a7c03 | ||
|
|
699d42b26c | ||
|
|
1cdf32d807 | ||
|
|
a0f23339cc | ||
|
|
77478303fe | ||
|
|
3f354b78dc | ||
|
|
c7a2a26f50 | ||
|
|
1fb0d1460a | ||
|
|
acab260762 | ||
|
|
a7ec036d95 | ||
|
|
bb2236ba85 | ||
|
|
66f217c8e6 | ||
|
|
7cd0db219a | ||
|
|
d656e02441 | ||
|
|
67d3ad47d7 | ||
|
|
4ec2e16b98 | ||
|
|
645abe0c77 | ||
|
|
e623b262ab | ||
|
|
5472ff4ac3 | ||
|
|
f377c94b64 | ||
|
|
6b7ceb92fa | ||
|
|
9a15f4fc8d | ||
|
|
fc9fa2a7f8 | ||
|
|
b617b5aa20 | ||
|
|
15006c27cc | ||
|
|
bd3892982f | ||
|
|
53520af2fd | ||
|
|
5ff508de2c | ||
|
|
059c541875 | ||
|
|
d959ca1694 | ||
|
|
fe2d0ea43b | ||
|
|
6c644dd5d2 | ||
|
|
b304c1d079 | ||
|
|
8cf672d878 | ||
|
|
9aa7f87a27 | ||
|
|
692c848154 | ||
|
|
4378be45e4 | ||
|
|
dbb8c34486 | ||
|
|
0933701f55 | ||
|
|
5bd45b5a42 | ||
|
|
48ff8175eb | ||
|
|
8d4562d071 | ||
|
|
334c17f8ab | ||
|
|
bbc772abe7 | ||
|
|
1231ca17c9 | ||
|
|
e563ed0c75 | ||
|
|
7f2a52ff71 | ||
|
|
7fa4ed6139 | ||
|
|
eb22794f14 | ||
|
|
1db135262d | ||
|
|
6320f7290f | ||
|
|
de919568b4 | ||
|
|
8696ba2f5d | ||
|
|
c140596ab3 | ||
|
|
bba72e9b2f | ||
|
|
ad559c3491 | ||
|
|
078b8439d9 | ||
|
|
0b475aa13e | ||
|
|
734880f314 | ||
|
|
cff2629131 | ||
|
|
667213e52b | ||
|
|
f0c9b3852f | ||
|
|
5e82de1b71 | ||
|
|
29ca1a1f40 | ||
|
|
eb5946fa99 | ||
|
|
2fc39859ad | ||
|
|
58322c271b | ||
|
|
319414486a | ||
|
|
711076d02d | ||
|
|
227fadc541 | ||
|
|
4cd0db764f | ||
|
|
fc71001110 | ||
|
|
54d3e5675f | ||
|
|
b9fc3db613 | ||
|
|
817e719cc2 | ||
|
|
7ba61be796 | ||
|
|
4a48b13715 | ||
|
|
cd2bab7c5f | ||
|
|
f8050f4278 | ||
|
|
3bcf1cbdce | ||
|
|
0f68dc4505 | ||
|
|
b7470617e0 | ||
|
|
ac9b0409f5 | ||
|
|
d77d79e011 | ||
|
|
f5e5f7b588 | ||
|
|
a65b200eb7 | ||
|
|
8290731253 | ||
|
|
9429c05693 | ||
|
|
0fc187adc3 | ||
|
|
99956649e3 | ||
|
|
e91d886e76 | ||
|
|
514cfe2c29 | ||
|
|
a9936ae133 | ||
|
|
1e87600119 | ||
|
|
a9aeb8ac54 | ||
|
|
2c64b76392 | ||
|
|
655a241958 | ||
|
|
6bf63f66ec | ||
|
|
8b75993d3a | ||
|
|
e11cadca58 | ||
|
|
77021fff74 | ||
|
|
16e440f9a7 | ||
|
|
3cf765d985 | ||
|
|
42f9d27d79 | ||
|
|
ac2acc535d | ||
|
|
81c8972a66 | ||
|
|
0941b908dd | ||
|
|
f9f4e4b84c | ||
|
|
b8ea6fc708 | ||
|
|
0c7dcec5c2 | ||
|
|
92327729d6 | ||
|
|
5a5804ca87 | ||
|
|
984d744ac2 | ||
|
|
1e992bb263 | ||
|
|
21e7675a44 | ||
|
|
26586a42a4 | ||
|
|
823413a9c4 | ||
|
|
25240967ba | ||
|
|
4ce058fc47 | ||
|
|
b9a08e7920 | ||
|
|
68f23c7a70 | ||
|
|
43dbc1efbb | ||
|
|
472c0c2b27 | ||
|
|
d0e59b580e | ||
|
|
a8b69efa84 | ||
|
|
8b27c2b8ee | ||
|
|
e346e988ca | ||
|
|
a271fd2590 | ||
|
|
7be3eb36d9 | ||
|
|
62269b595a | ||
|
|
7d03e609a6 | ||
|
|
91652921a3 | ||
|
|
cde9d3a9ce | ||
|
|
c655d1db3a | ||
|
|
4fa74d29a9 | ||
|
|
752253704c | ||
|
|
8d35676e5a | ||
|
|
4cc6596d44 | ||
|
|
16d5caa719 | ||
|
|
430a06d056 | ||
|
|
0c62e1a9ae | ||
|
|
d45cd5af2b | ||
|
|
2713055447 | ||
|
|
3431c6c90e | ||
|
|
f0e7eb44f1 | ||
|
|
2b777caa83 | ||
|
|
8a9bf166c6 | ||
|
|
a08c7f37d3 | ||
|
|
3302795e50 | ||
|
|
e867a42181 | ||
|
|
aa3f50ab77 | ||
|
|
fc5946c139 | ||
|
|
2fd4db0891 | ||
|
|
3ee23d9ee8 | ||
|
|
dbaa44688e | ||
|
|
fe4f7b9c2f | ||
|
|
7adab6f5ec | ||
|
|
5b4e28fac6 | ||
|
|
12c91af5bc | ||
|
|
d1f24ca4a5 | ||
|
|
4cf481cca8 | ||
|
|
dd910d7c1a | ||
|
|
1770fe6590 | ||
|
|
a72a1ca517 | ||
|
|
9d2e5391cc | ||
|
|
4312719010 | ||
|
|
9540ffeec0 | ||
|
|
89c2bbed7c | ||
|
|
a7e70b1094 | ||
|
|
760c373eb2 | ||
|
|
89aab0af18 | ||
|
|
345ca405b0 | ||
|
|
7d06622881 | ||
|
|
fa5419dede | ||
|
|
e7a2ff1884 | ||
|
|
6d908f44a5 | ||
|
|
d61977d002 | ||
|
|
29c3ef8280 | ||
|
|
f9c797a402 | ||
|
|
c8940a39b3 | ||
|
|
38471995e7 | ||
|
|
00b3576134 | ||
|
|
94c45d1db3 | ||
|
|
00518069ac | ||
|
|
0665d13fd3 | ||
|
|
505814c07a | ||
|
|
c15d7fe86e | ||
|
|
23308f6d10 | ||
|
|
7c8dd86a35 | ||
|
|
c3111db6e2 | ||
|
|
09f65713ca | ||
|
|
c8410cb5ca | ||
|
|
d7e22de44c | ||
|
|
5918199845 | ||
|
|
8b0b938595 | ||
|
|
2c35299cbb | ||
|
|
07d1663f2c | ||
|
|
a33bcb47b3 | ||
|
|
67ec4fa477 | ||
|
|
c433943c46 | ||
|
|
865956e537 | ||
|
|
7b05a2a097 | ||
|
|
eb6c8d8938 | ||
|
|
28cbd18300 | ||
|
|
b4f831a931 | ||
|
|
a273147b6e | ||
|
|
2cb2e05b19 | ||
|
|
f2d31e3b77 | ||
|
|
a8d17b7590 | ||
|
|
c46b3d4b83 | ||
|
|
dd24cce509 | ||
|
|
b0d9c4f563 | ||
|
|
ccc48f909a | ||
|
|
60b7e22e93 | ||
|
|
f0df41d521 | ||
|
|
9ad7dad86d | ||
|
|
ece7165022 | ||
|
|
e4db7f8d0a | ||
|
|
9a61d2d531 | ||
|
|
265f7ce092 | ||
|
|
db8d368717 | ||
|
|
30c59bddf9 | ||
|
|
bc26c87a63 | ||
|
|
338ee746ec | ||
|
|
3bda9c54ae | ||
|
|
8b6f328665 | ||
|
|
1b674a1051 | ||
|
|
8a10e327ff | ||
|
|
2c80b2baa7 | ||
|
|
d6fb99916e | ||
|
|
9502b163e1 | ||
|
|
269020984b | ||
|
|
e058998689 | ||
|
|
349ad94ff3 | ||
|
|
f5a71c6b88 | ||
|
|
d5edca2022 | ||
|
|
283d69c0bd | ||
|
|
cc2a27315a | ||
|
|
a4628c2024 | ||
|
|
708ba3b229 | ||
|
|
14e17f584a | ||
|
|
871b8473fa | ||
|
|
a60db40fd2 | ||
|
|
86db6a5b06 | ||
|
|
e556616ad1 | ||
|
|
88c2be7e68 | ||
|
|
3274285729 | ||
|
|
14b47e81ce | ||
|
|
7dc2abb516 | ||
|
|
23bc180d98 | ||
|
|
aa7727d50a | ||
|
|
0212be2e58 | ||
|
|
cc26d5da14 | ||
|
|
de153aeb1d | ||
|
|
7f6038208d | ||
|
|
b3cebd87c8 | ||
|
|
7bd24308d3 | ||
|
|
cd9651afc1 | ||
|
|
3aa950c32e | ||
|
|
2729d7521d | ||
|
|
f4722d3b24 | ||
|
|
c30665fda7 | ||
|
|
0c15b65756 | ||
|
|
d25846f383 | ||
|
|
02380c3eab | ||
|
|
655aff7c92 | ||
|
|
1d8f1d66e4 | ||
|
|
3395fc1fde | ||
|
|
415b751bab | ||
|
|
67b95c4abf | ||
|
|
5c3c11cda3 | ||
|
|
af7dc363e1 | ||
|
|
803180d5de | ||
|
|
119904e44f | ||
|
|
2c44e4ec2c | ||
|
|
7358f44cc2 | ||
|
|
c03f1c25cf | ||
|
|
97959dbe75 | ||
|
|
7f3905185c | ||
|
|
316470eee4 | ||
|
|
fc56b1e8aa | ||
|
|
f4e5e0812b | ||
|
|
a384c96617 | ||
|
|
9c5ba2b0b3 | ||
|
|
8837016243 | ||
|
|
2ce297aff8 | ||
|
|
4785f0b31d | ||
|
|
e38dfbfa91 | ||
|
|
f916f29e47 | ||
|
|
3a9b65ebef | ||
|
|
34b0aef5ce | ||
|
|
1481bc80e3 | ||
|
|
6d82e3cc28 | ||
|
|
3a80e116e8 | ||
|
|
6e8589a69a | ||
|
|
e70caedddc | ||
|
|
a0bb8411ef | ||
|
|
5a718d681a | ||
|
|
ba45f7610d | ||
|
|
892dc1862a | ||
|
|
bb43419944 | ||
|
|
0707c9d732 | ||
|
|
edd41fd693 | ||
|
|
e2a25ae3c5 | ||
|
|
732a9b86c6 | ||
|
|
d4ad4a2f6e | ||
|
|
ee47c5eba9 | ||
|
|
70411ec086 | ||
|
|
b0c0a86fcf | ||
|
|
9dee411eb5 | ||
|
|
3d94a7cf2c | ||
|
|
5f24061dd4 | ||
|
|
f619bca2d6 | ||
|
|
e2d63e4c32 | ||
|
|
848d4d3767 | ||
|
|
830b3ba1e5 | ||
|
|
8c736b5bbd | ||
|
|
30b3570987 | ||
|
|
b9b3302b69 | ||
|
|
9c14aa08f8 | ||
|
|
89564bd10b | ||
|
|
c41adc4b9c | ||
|
|
0b08fe2bac | ||
|
|
0a34facb81 | ||
|
|
99f7eb38d3 | ||
|
|
bb129b7883 | ||
|
|
140698d676 | ||
|
|
7970819904 | ||
|
|
f6212f7b51 | ||
|
|
a7a6ca197c | ||
|
|
1deedc766c | ||
|
|
c18d565d3e | ||
|
|
b8015d1032 | ||
|
|
cf70147c0d | ||
|
|
4c08165b69 | ||
|
|
f7ee9ee967 | ||
|
|
f13d98fc7c | ||
|
|
ac47b42c66 | ||
|
|
394b5b5b94 | ||
|
|
8ae48f9baa | ||
|
|
1a1eb00689 | ||
|
|
daac7c589b | ||
|
|
88b9f8d68c | ||
|
|
c86e75c091 | ||
|
|
444225f0ec | ||
|
|
3d5b46bdfc | ||
|
|
15e354f76e | ||
|
|
b1037eaade | ||
|
|
a20d0d8f60 | ||
|
|
bf99f8095d | ||
|
|
7464fdb8e8 | ||
|
|
ea5761ee9c | ||
|
|
c29fb45e10 | ||
|
|
9c4aac03df | ||
|
|
f12b1bbf5d | ||
|
|
da498b0558 | ||
|
|
062b245e3f | ||
|
|
2b2c7bdf09 | ||
|
|
d0504546ec | ||
|
|
da68fa0980 | ||
|
|
8d96acfc98 | ||
|
|
96c59e0435 | ||
|
|
2ec69545ea | ||
|
|
baa612bc72 | ||
|
|
56085fe6a9 | ||
|
|
4c273fcc99 | ||
|
|
8fdda31e45 | ||
|
|
73e34ff9a9 | ||
|
|
d915c2b404 | ||
|
|
468e5e9b2e | ||
|
|
048b87328b | ||
|
|
2c54f49cbc | ||
|
|
fccfcd6b0e | ||
|
|
1170e4fb2c | ||
|
|
20c2af9cd4 | ||
|
|
1d991af821 | ||
|
|
a186b1266d | ||
|
|
dc841fe661 | ||
|
|
ac448988ca | ||
|
|
cc48cfaa5d | ||
|
|
5ed34d6ff9 | ||
|
|
46e6e48495 | ||
|
|
9638151f9d | ||
|
|
998617879c | ||
|
|
984947f333 | ||
|
|
2de2ea9f58 | ||
|
|
657de2cc7e | ||
|
|
27e5344188 | ||
|
|
d163da171f | ||
|
|
d3253d7d06 | ||
|
|
c7b1379a7f | ||
|
|
ed79adebc4 | ||
|
|
f5beda48dc | ||
|
|
d45d20e4db | ||
|
|
f41c6c037b | ||
|
|
313913b329 | ||
|
|
c9c45fe89f | ||
|
|
56ddb16186 | ||
|
|
4f1acc9349 | ||
|
|
ecff9dfdd8 | ||
|
|
73d2878e08 | ||
|
|
feaf39a812 | ||
|
|
1662b7c311 | ||
|
|
dc72e6cf36 | ||
|
|
4edbe77f67 | ||
|
|
fa228da29c | ||
|
|
9aea4ba51a | ||
|
|
b7039cc506 | ||
|
|
b8224693c4 | ||
|
|
1e44e3c1f6 | ||
|
|
a8e2386daa | ||
|
|
7e12332ea5 | ||
|
|
03d6550db3 | ||
|
|
b1311ceb30 | ||
|
|
5089cf2155 | ||
|
|
204de4934a | ||
|
|
8f3ed909c3 | ||
|
|
1728a95111 | ||
|
|
94ec76545c | ||
|
|
4174269091 | ||
|
|
bc2cb1737a | ||
|
|
cf6913891a | ||
|
|
205037fd6b | ||
|
|
7591656491 | ||
|
|
766c5bbe2b | ||
|
|
446264e496 | ||
|
|
1ff47f0780 | ||
|
|
cb02391f37 | ||
|
|
e01ff50833 | ||
|
|
8a97b39028 | ||
|
|
f6e16c1180 | ||
|
|
dd23d4c81b | ||
|
|
dfd115cee5 | ||
|
|
37a964c300 | ||
|
|
b53723acad | ||
|
|
98eb115746 | ||
|
|
c022b80e05 | ||
|
|
a88c62a307 | ||
|
|
98724dff32 | ||
|
|
9dc583ffcb | ||
|
|
971024ab99 | ||
|
|
b6da350c20 | ||
|
|
4f90f50eb2 | ||
|
|
84b9a2aefb | ||
|
|
e70416c78c | ||
|
|
4fb1202c30 | ||
|
|
2245731fc8 | ||
|
|
2b87de1000 | ||
|
|
063c4e9720 | ||
|
|
cc2ca58721 | ||
|
|
7b99275ceb | ||
|
|
478766c600 | ||
|
|
0ae080723c | ||
|
|
f3d6a64156 | ||
|
|
da8f7b29c1 | ||
|
|
8900744fc4 | ||
|
|
71578cb2ef | ||
|
|
8d091f6821 | ||
|
|
9c7c22ed20 | ||
|
|
f9a78e9b45 | ||
|
|
13afd3301f | ||
|
|
a27f3f737f | ||
|
|
bc46045cc7 | ||
|
|
47979871de | ||
|
|
c9675b3f7d | ||
|
|
79f73ccca1 | ||
|
|
74c4ca68e5 | ||
|
|
2a186ab8dd | ||
|
|
6b98323806 | ||
|
|
52ac389661 | ||
|
|
393c1d4bee | ||
|
|
9b8e0eb5c5 | ||
|
|
33f2a23bd8 | ||
|
|
d40538968f | ||
|
|
28ee5fbf2e | ||
|
|
982550b92c | ||
|
|
26f234fdbd | ||
|
|
d6fd613272 | ||
|
|
480e76d98e | ||
|
|
8b06468490 | ||
|
|
ea3d4ced5e | ||
|
|
bb7ddd11f1 | ||
|
|
05e7db2362 | ||
|
|
34e0a939e6 | ||
|
|
0da8ed2daa | ||
|
|
0caa0371dc | ||
|
|
7a266113ed | ||
|
|
e725780c6d | ||
|
|
0fb6b4eaf6 | ||
|
|
403220c69a | ||
|
|
6150106dee | ||
|
|
e073075834 | ||
|
|
fca9843fc2 | ||
|
|
169caaf66f | ||
|
|
dea3e326ba | ||
|
|
26ecd7fd1b | ||
|
|
f877f87b01 | ||
|
|
d33851367b | ||
|
|
4c5d753ade | ||
|
|
bc6f69ad54 | ||
|
|
ee2ea11458 | ||
|
|
e1b2956cdb | ||
|
|
8757800888 | ||
|
|
d99f258d61 | ||
|
|
b8bf4319ac | ||
|
|
7ae642e6fa | ||
|
|
70204b4464 | ||
|
|
e0895be7e9 | ||
|
|
815220a3c6 | ||
|
|
668574e4f0 | ||
|
|
adb9a6bc15 | ||
|
|
597d5aff02 | ||
|
|
896b21e78b | ||
|
|
816b84be02 | ||
|
|
290a9b7804 | ||
|
|
ac7b6c6a3d | ||
|
|
3ccb209bfd | ||
|
|
f2ce84c161 | ||
|
|
52a6856f6c | ||
|
|
92a12d7fea | ||
|
|
a2bb557570 | ||
|
|
a73c555574 | ||
|
|
25838ba9b0 | ||
|
|
e6b9e82b2f | ||
|
|
de8c3ba968 | ||
|
|
de56faf862 | ||
|
|
89233d2b87 | ||
|
|
75a00928b5 | ||
|
|
a3834eef46 | ||
|
|
b38d472d7c | ||
|
|
96bfe7ccb7 | ||
|
|
146f98d026 | ||
|
|
ec578ba231 | ||
|
|
29d94f71f3 | ||
|
|
a878dd3837 | ||
|
|
93d3eb662f | ||
|
|
d8371c41cf | ||
|
|
73c08c1ecd | ||
|
|
ea05f81024 | ||
|
|
e16014e448 | ||
|
|
15b1609d88 | ||
|
|
51751a7a05 | ||
|
|
0ae60b8b61 | ||
|
|
7af9fa36d7 | ||
|
|
3886641887 | ||
|
|
b651d3f622 | ||
|
|
d72825e279 | ||
|
|
6e73fbedb0 | ||
|
|
e9f99e5a3f | ||
|
|
9f44de50eb | ||
|
|
ec1faf02ed | ||
|
|
2397abaee5 | ||
|
|
b11bf8eb79 | ||
|
|
f3460ec840 | ||
|
|
fbe14b79cc | ||
|
|
ebd45878c3 | ||
|
|
91881fad6b | ||
|
|
c2cd4934e7 | ||
|
|
48485c27ec | ||
|
|
6e80d89d13 | ||
|
|
8a2a845a16 | ||
|
|
376dcf50ec | ||
|
|
751f3abd95 | ||
|
|
6e98adecdd | ||
|
|
64ae1ec367 | ||
|
|
b937b18e3d | ||
|
|
fc8ca7d82c | ||
|
|
7efeed54de | ||
|
|
52c0df24e3 | ||
|
|
9d0ebe3427 | ||
|
|
1a90c0d031 | ||
|
|
c5e35cc330 | ||
|
|
da32bb5f51 | ||
|
|
7b7440d44a | ||
|
|
e90c6a33bd | ||
|
|
8cf8f6abad | ||
|
|
097e74979f | ||
|
|
e5920c57aa | ||
|
|
c714b724da | ||
|
|
f0697d8f27 | ||
|
|
27309d6714 | ||
|
|
c0631468db | ||
|
|
d10647a592 | ||
|
|
269ac78a98 | ||
|
|
5c665c562a | ||
|
|
4d784b8fc7 | ||
|
|
dd027f09ac | ||
|
|
2a16353cf6 | ||
|
|
8c2e40e291 | ||
|
|
5f1ca4113d | ||
|
|
846f0350d8 | ||
|
|
95a235e239 | ||
|
|
b7bf2fad84 | ||
|
|
d0537f2ee4 | ||
|
|
495afae178 | ||
|
|
83f279410c | ||
|
|
34f51ae0b2 | ||
|
|
5b619c7832 | ||
|
|
376191b31f | ||
|
|
2c507c891c | ||
|
|
73f6c29559 | ||
|
|
6cac0347ae | ||
|
|
f5de1ea5c8 | ||
|
|
161e336d97 | ||
|
|
d2a4cebe54 | ||
|
|
88255d3d3d | ||
|
|
1cd2266da1 | ||
|
|
288c3ee9c2 | ||
|
|
cae34096c7 | ||
|
|
27c73cf9e9 | ||
|
|
84ea6afd01 | ||
|
|
e342b1f7bd | ||
|
|
9f32021d07 | ||
|
|
8ba66c9833 | ||
|
|
2012045798 | ||
|
|
7ec4d16403 | ||
|
|
8cc6853c34 | ||
|
|
3600f2f91b | ||
|
|
7ed05e7d2d | ||
|
|
8aac6a6b18 | ||
|
|
5fc07842eb | ||
|
|
aa2c56e117 | ||
|
|
97c48ed6d2 | ||
|
|
4e45e69247 | ||
|
|
0e881f2999 | ||
|
|
f4c6bdf204 | ||
|
|
099a5fbad9 | ||
|
|
e60c711fdc | ||
|
|
0a41fe2541 | ||
|
|
901a89ebcd | ||
|
|
2ee463fa33 | ||
|
|
398406082a | ||
|
|
277c1101fc | ||
|
|
ee0dd462b8 | ||
|
|
df0994c0d3 | ||
|
|
fc622631c0 | ||
|
|
46a6290ce9 | ||
|
|
09541c52e1 | ||
|
|
9548f341bf | ||
|
|
b4b473185f | ||
|
|
d46b68230c | ||
|
|
109658731b | ||
|
|
ec07549d5e | ||
|
|
90be3cddf7 | ||
|
|
0a71ca6739 | ||
|
|
2928d39d58 | ||
|
|
407fdab487 | ||
|
|
9e633bddef | ||
|
|
327d067305 | ||
|
|
acb9829159 | ||
|
|
b0535bff34 | ||
|
|
0da90f8092 | ||
|
|
efb8e7c0e4 | ||
|
|
80d6779210 | ||
|
|
32a45cf635 | ||
|
|
45c7bac2d0 | ||
|
|
59ae667cce | ||
|
|
50bf4017d6 | ||
|
|
5f721f01d3 | ||
|
|
f2afd98725 | ||
|
|
2882576479 | ||
|
|
2ff1dcc391 | ||
|
|
dd43594ad6 | ||
|
|
c17ae703c7 | ||
|
|
9da5010265 | ||
|
|
39cd7a29df | ||
|
|
86b37782fe | ||
|
|
1ee8a9f257 | ||
|
|
704223e5d0 | ||
|
|
7ee2418f60 | ||
|
|
14a2f98521 | ||
|
|
7dbc821731 | ||
|
|
0d2a88bafc | ||
|
|
072518ed96 | ||
|
|
863507ea28 | ||
|
|
0b7f73fa8b | ||
|
|
37727448f6 | ||
|
|
74df63a28a | ||
|
|
bb62a01c0d | ||
|
|
7e0e9db4d2 | ||
|
|
48e8e85617 | ||
|
|
8f19f14004 | ||
|
|
aac4ac0fae | ||
|
|
31d12517f0 | ||
|
|
8098229b55 | ||
|
|
8ea9cb1d34 | ||
|
|
6a401bcfbb | ||
|
|
20fd071c4e | ||
|
|
db654d5e59 | ||
|
|
abfff79095 | ||
|
|
8aafd893ed | ||
|
|
21118d5373 | ||
|
|
2c7262b033 | ||
|
|
dc1be35dbb | ||
|
|
ee3f4c21be | ||
|
|
bc002937ad | ||
|
|
2af95d2339 | ||
|
|
d69d5b498d | ||
|
|
cfe04a2aaf | ||
|
|
c6baa34812 | ||
|
|
52177cffcd | ||
|
|
344bcf1448 | ||
|
|
45292700d4 | ||
|
|
c742a1dbe9 | ||
|
|
1cb7d5126c | ||
|
|
e7da4992f3 | ||
|
|
c5e36eb323 | ||
|
|
4dbf4a214d | ||
|
|
ae77c609ff | ||
|
|
195911ce4e | ||
|
|
d2983b977c | ||
|
|
824a86c503 | ||
|
|
a0a8428483 | ||
|
|
87a472c2d7 | ||
|
|
a926c7eafd | ||
|
|
b630ccc8e6 | ||
|
|
0426b37f32 | ||
|
|
e1d9f863c6 | ||
|
|
24cc711a70 | ||
|
|
7c7b392789 | ||
|
|
fab0f4f337 | ||
|
|
aee26c3550 | ||
|
|
1e929e2c6c | ||
|
|
664872a07b | ||
|
|
19a8303c1a | ||
|
|
1b18105bce | ||
|
|
7181e67ad4 | ||
|
|
66eeda6410 | ||
|
|
0585bc5aef | ||
|
|
c13df330f3 | ||
|
|
ee4e0c646d | ||
|
|
a571a5bf70 | ||
|
|
01bfc25161 | ||
|
|
48d3e0d0a2 | ||
|
|
b99dd34a4b | ||
|
|
47c3c4808e | ||
|
|
7bc88ffe0e | ||
|
|
635ce0e94a | ||
|
|
dc28fa79a0 | ||
|
|
b08d66113c | ||
|
|
b0e201a332 | ||
|
|
5e672990b3 | ||
|
|
ea6ff2defe | ||
|
|
ab77ee7f5a | ||
|
|
c4cd4a660b | ||
|
|
77e82f4a80 | ||
|
|
f40c78f838 | ||
|
|
d294afa46e | ||
|
|
c8c1c96298 | ||
|
|
23e3883c13 | ||
|
|
7c2812b7f2 | ||
|
|
4cb1fa2b6b | ||
|
|
5840645663 | ||
|
|
919684a787 | ||
|
|
ce2b98a38d | ||
|
|
51429b3642 | ||
|
|
b06eca8dcb | ||
|
|
62cf0504d8 | ||
|
|
7cabf85f74 | ||
|
|
2d3c8dd4f6 | ||
|
|
ddeeb194cd | ||
|
|
2dc05a369b | ||
|
|
c5cd7d91c4 | ||
|
|
05fb3a1304 | ||
|
|
289694ed4c | ||
|
|
64a83195e9 | ||
|
|
eb4455cb3e | ||
|
|
08ef197906 | ||
|
|
d152ab9b88 | ||
|
|
727c5ce323 | ||
|
|
9ba61b54e3 | ||
|
|
99bc02d0e0 | ||
|
|
0b23e808c7 | ||
|
|
8289dc6885 | ||
|
|
ce6ace4b8a | ||
|
|
0769174206 | ||
|
|
9e8d35bf62 | ||
|
|
938be22ae9 | ||
|
|
74bd07f10b | ||
|
|
a397c1dea8 | ||
|
|
300530d35a | ||
|
|
20e2fda183 | ||
|
|
6a3fc36979 | ||
|
|
495bf4b765 | ||
|
|
6bc59d23ea | ||
|
|
a29ae9cf90 | ||
|
|
3e4d160626 | ||
|
|
9491f6f83f | ||
|
|
e958f886d3 | ||
|
|
4a3ee4df29 | ||
|
|
4aa4942a17 | ||
|
|
7502a4aba3 | ||
|
|
7e897c4a5d | ||
|
|
5c24fc3485 | ||
|
|
ed9346a435 | ||
|
|
d65cb56d66 | ||
|
|
1e37fd8991 | ||
|
|
55e79c4dfd | ||
|
|
fbd8fd7d22 | ||
|
|
a1c0727d7b | ||
|
|
5c9eddd31e | ||
|
|
4a027125bc | ||
|
|
9cd44833b3 | ||
|
|
b11c72958e | ||
|
|
0665691b88 | ||
|
|
b56337ecb9 | ||
|
|
44b51bdd02 | ||
|
|
2f8893439f | ||
|
|
bf56c73c6c | ||
|
|
f154c70289 | ||
|
|
a25356a99e | ||
|
|
29ff258ccb | ||
|
|
abb05f59e2 | ||
|
|
dcc9fc2fec | ||
|
|
2f50ddae85 | ||
|
|
abbf2fac6d | ||
|
|
d75bdd9f72 | ||
|
|
a4bb7c4e95 | ||
|
|
2f0c0c2b59 | ||
|
|
527cfe9c7d | ||
|
|
f7e63936a9 | ||
|
|
b55d1e61c7 | ||
|
|
e13e2bffe2 | ||
|
|
1170c5c7d3 | ||
|
|
7e4db0f70e | ||
|
|
c94764ab52 | ||
|
|
8c3ed5eccf | ||
|
|
80f992c87f | ||
|
|
14f0569a39 | ||
|
|
41b876ff71 | ||
|
|
e2c9e24f66 | ||
|
|
69d54d2e0f | ||
|
|
77f17c987d | ||
|
|
7a482a6998 | ||
|
|
5d4405c7f2 | ||
|
|
d079db16d6 | ||
|
|
20565f5f19 | ||
|
|
5683032434 | ||
|
|
fa82d3fbb1 | ||
|
|
10a83698eb | ||
|
|
6def182e1a | ||
|
|
cec0ffad06 | ||
|
|
7e758a9d5b | ||
|
|
01cd3b6712 | ||
|
|
a69bfc2e78 | ||
|
|
e4a35137b4 | ||
|
|
d05204a960 | ||
|
|
fa23f1a37e | ||
|
|
f4617d77a7 | ||
|
|
6a3e38e6ef | ||
|
|
67f96c66e4 | ||
|
|
6ea32a8762 | ||
|
|
d992f67658 | ||
|
|
7e5274f650 | ||
|
|
237f9640d5 | ||
|
|
da2663b8dc | ||
|
|
57429e5d90 | ||
|
|
28642dd9bd | ||
|
|
6be6eab6ff | ||
|
|
7c9d6aaae2 | ||
|
|
1e4fc043a8 | ||
|
|
cf1d4362e5 | ||
|
|
c4bdf2a721 | ||
|
|
e52d83e756 | ||
|
|
94b45d174a | ||
|
|
f71a0fa9e1 | ||
|
|
58565a9fb1 | ||
|
|
74af9e32f8 | ||
|
|
b527bb771b | ||
|
|
10825af531 | ||
|
|
43395f922f | ||
|
|
666bf65f48 | ||
|
|
36ab072072 | ||
|
|
cdcc692e01 | ||
|
|
7211609725 | ||
|
|
f1b8b7512e | ||
|
|
07805f17fc | ||
|
|
0da8d9c869 | ||
|
|
f5808f65c1 | ||
|
|
765fc27a9f | ||
|
|
4178d9e2a1 | ||
|
|
4b82fe2611 | ||
|
|
c275c55d6c | ||
|
|
f37d5f188e | ||
|
|
41509d37af | ||
|
|
0a8e42a358 | ||
|
|
576e804dbf | ||
|
|
5d4d4f40a1 | ||
|
|
59cbe85817 | ||
|
|
e50467a593 | ||
|
|
c630aa9fe8 | ||
|
|
2c54933e3e | ||
|
|
27bec4cde5 | ||
|
|
46985e0f3c | ||
|
|
37f9002b84 | ||
|
|
4d9d7b243d | ||
|
|
153a70cd70 | ||
|
|
66d1771b94 | ||
|
|
7d940faa4f | ||
|
|
338256b799 | ||
|
|
d16a6d42a5 | ||
|
|
76982fe133 | ||
|
|
b23a2dd8e8 | ||
|
|
7a1cebfa3e | ||
|
|
5254057b11 | ||
|
|
1502515ed9 | ||
|
|
8f4a6d248f | ||
|
|
a7974451fd | ||
|
|
175200891c | ||
|
|
ff868aeba8 | ||
|
|
7987ba9b7c | ||
|
|
bd502c11cc | ||
|
|
3969a75635 | ||
|
|
14646b1952 | ||
|
|
161a186bcc | ||
|
|
37e97e1256 | ||
|
|
bc87609264 | ||
|
|
4e537cdb74 | ||
|
|
2b9ca79291 | ||
|
|
6529b288c2 | ||
|
|
751815745f | ||
|
|
d38f3f4fae | ||
|
|
97923c3b2b | ||
|
|
224c525b86 | ||
|
|
384f4e120a | ||
|
|
a123de4884 | ||
|
|
e8c8f6fb63 | ||
|
|
b3bfce56a8 | ||
|
|
9f0df5ecf3 | ||
|
|
4e1abc1814 | ||
|
|
c62fe1a8db | ||
|
|
964712301b | ||
|
|
c222d5fa55 | ||
|
|
465ec357aa | ||
|
|
bf9d3eac6a | ||
|
|
2a2af8d986 | ||
|
|
4861e6a1b8 | ||
|
|
1343d147bd | ||
|
|
0a043a4e0b | ||
|
|
c8cec8cedf | ||
|
|
2dbdacf905 | ||
|
|
ffa014ecdc | ||
|
|
351796bce6 | ||
|
|
8b6a8d0c4f | ||
|
|
e91b4f759c | ||
|
|
54ca0dd004 | ||
|
|
5e4554d14e | ||
|
|
2a85c401b4 | ||
|
|
f781a39dbe | ||
|
|
9bf9b34ac4 | ||
|
|
33e793354c | ||
|
|
e3356ebfb6 | ||
|
|
3f0c5be5d9 | ||
|
|
9120927a65 | ||
|
|
3dcb801a37 | ||
|
|
ea68e94665 | ||
|
|
daad6137f8 | ||
|
|
1e9c34d4f8 | ||
|
|
d83bc7be41 | ||
|
|
e1ae650d45 | ||
|
|
d25021d488 | ||
|
|
62dd6df24f | ||
|
|
8adb5e7e66 | ||
|
|
765c7c2bcc | ||
|
|
26abf9f13a | ||
|
|
75872925a2 | ||
|
|
bb693c0a4f | ||
|
|
73746e2c71 | ||
|
|
7d88d9dd4d | ||
|
|
45a4beb401 | ||
|
|
ea5c2c454b | ||
|
|
f7eda8a156 | ||
|
|
522b6ad49f | ||
|
|
a38ed286bd | ||
|
|
ea689bbe3f | ||
|
|
534f90c33d | ||
|
|
86e4a658a5 | ||
|
|
7d3bec8ef8 | ||
|
|
7e52cb2856 | ||
|
|
07d1a0ed9c | ||
|
|
f5e5146021 | ||
|
|
7bddd64771 | ||
|
|
abad8050a3 | ||
|
|
27dc0f5b70 | ||
|
|
c9413e0cbb | ||
|
|
958cc6f8f8 | ||
|
|
8e17054b67 | ||
|
|
a36daec939 | ||
|
|
4dc2969fa6 | ||
|
|
c06a361348 | ||
|
|
9870dd26f7 | ||
|
|
013011aa43 | ||
|
|
fc4f38eed1 | ||
|
|
342cebc778 | ||
|
|
8fa3473945 | ||
|
|
9167f1ff90 | ||
|
|
997ce4eaa7 | ||
|
|
7720163e4c | ||
|
|
c4aecb15ce | ||
|
|
10ff369ff2 | ||
|
|
bb903a4bef | ||
|
|
bfff582fea | ||
|
|
dc4f701101 | ||
|
|
cbcd580daa | ||
|
|
7c57f5a304 | ||
|
|
67d82894c6 | ||
|
|
32229fb646 | ||
|
|
1a4bb30923 | ||
|
|
3f6a132234 | ||
|
|
a243abb5fd | ||
|
|
524ae1d368 | ||
|
|
b2ff5b4578 | ||
|
|
e70da0291e | ||
|
|
074dc6d7dd | ||
|
|
36f3bd473c | ||
|
|
75b5ba6e67 | ||
|
|
ff285307c6 | ||
|
|
0dbebe74c1 | ||
|
|
22ea62e92f | ||
|
|
e7ba420687 | ||
|
|
d15e3bb52b | ||
|
|
538e0d08e4 | ||
|
|
0670765baa | ||
|
|
8b42582f3c | ||
|
|
20b87512d1 | ||
|
|
1c17419a9e | ||
|
|
0624556ef6 | ||
|
|
49f23513e0 | ||
|
|
56fc76f180 | ||
|
|
ee8c0daf61 | ||
|
|
3a2b863e7f | ||
|
|
39f6d8ffb6 | ||
|
|
f7712c9dc0 | ||
|
|
c8e052f3c6 | ||
|
|
0dbd9efc91 | ||
|
|
f86c3f7f8b | ||
|
|
705b9e0181 | ||
|
|
910c3cc5cf | ||
|
|
1c0f164670 | ||
|
|
bb474f4f42 | ||
|
|
e4c4ee79de | ||
|
|
0557d4d180 | ||
|
|
b49a835b4c | ||
|
|
a61f065660 | ||
|
|
c544c3e018 | ||
|
|
dc8d9dc7fa | ||
|
|
e1d14d8ac2 | ||
|
|
0a1fc3e24f | ||
|
|
e2920e2536 | ||
|
|
076b765cb2 | ||
|
|
4d98094783 | ||
|
|
45f7db6054 | ||
|
|
6549047c3f | ||
|
|
a0a51b5074 | ||
|
|
cb9e6f6655 | ||
|
|
7d9379461a | ||
|
|
93ebd173cd | ||
|
|
2b4285374f | ||
|
|
90ba4ad1e1 | ||
|
|
83b32f9646 | ||
|
|
14313b162a | ||
|
|
e3e6503076 | ||
|
|
82208f8513 | ||
|
|
5222e89250 | ||
|
|
5aaa866205 | ||
|
|
776688d585 | ||
|
|
aefa5308b7 | ||
|
|
1026550051 | ||
|
|
a10b8ecbe5 | ||
|
|
3c0efcf7f1 | ||
|
|
011084bdf9 | ||
|
|
4861856b8f | ||
|
|
74fab3a539 | ||
|
|
f50b5b19fe | ||
|
|
536f7d5ff8 | ||
|
|
98e889a516 | ||
|
|
d05132ab1d | ||
|
|
9093e5e363 | ||
|
|
93b33faabf | ||
|
|
a9a957edc7 | ||
|
|
44bec1f981 | ||
|
|
0f53cc1922 | ||
|
|
4d1d66e579 | ||
|
|
1523b38315 | ||
|
|
3bb44b5ef6 | ||
|
|
4fc7cc4c15 | ||
|
|
e358a9e53f | ||
|
|
e1b9f24b69 | ||
|
|
c3847e4300 | ||
|
|
bba2bb4561 | ||
|
|
d8cb073eaf | ||
|
|
64cb693173 | ||
|
|
114d42d26b | ||
|
|
c40b4c4639 | ||
|
|
75ae131d81 | ||
|
|
8e2221178b | ||
|
|
752024e222 | ||
|
|
016924361a | ||
|
|
b7de5398a7 | ||
|
|
def9d8c9e0 | ||
|
|
19b1650522 | ||
|
|
ff59b89f3e | ||
|
|
477ec9fdcc | ||
|
|
7b811a93b4 | ||
|
|
41d56c8e3a | ||
|
|
31b8eb4922 | ||
|
|
a54d965d6d | ||
|
|
a52b2d8eb5 | ||
|
|
4faab02e24 | ||
|
|
6174522028 | ||
|
|
3b2e689957 | ||
|
|
7fc017d537 | ||
|
|
a9440d5d43 | ||
|
|
27a99d42df | ||
|
|
4132e9a283 | ||
|
|
d9c038cd43 | ||
|
|
4bc29a1c80 | ||
|
|
8d00c2f6db | ||
|
|
910e51005a | ||
|
|
96d053edf7 | ||
|
|
5f9d42b7f5 | ||
|
|
6d9afe2bdb | ||
|
|
72b811bc6f | ||
|
|
03e366999a | ||
|
|
ca9cde986f | ||
|
|
984037eea1 | ||
|
|
82e41e79cf | ||
|
|
92ab31c54c | ||
|
|
1be24f948a | ||
|
|
7755e77dfc | ||
|
|
67c86ec028 | ||
|
|
874750f9ce | ||
|
|
786963f0be | ||
|
|
73b377a9b0 | ||
|
|
6cf5e76685 | ||
|
|
1e8ed22421 | ||
|
|
48eccb1f73 | ||
|
|
0d19c18c06 | ||
|
|
89115688f7 | ||
|
|
c3b17024bd | ||
|
|
70110be24b | ||
|
|
b4aafd317e | ||
|
|
30e23a8c74 | ||
|
|
351f02cea0 | ||
|
|
9fa5bbae24 | ||
|
|
10a5815805 | ||
|
|
aae63afec9 | ||
|
|
b22efc0bb5 | ||
|
|
6ed97b5fda | ||
|
|
6bd6e7d417 | ||
|
|
07e11f94b6 | ||
|
|
5a9b272f84 | ||
|
|
f077f60344 | ||
|
|
3eb07fba2a | ||
|
|
45368f983b | ||
|
|
483b572db0 | ||
|
|
8d9888b1b6 | ||
|
|
9d78485af8 | ||
|
|
92614cb446 | ||
|
|
2aecca50b9 | ||
|
|
17a5d5f561 | ||
|
|
51162cb1a3 | ||
|
|
0f89eb30ac | ||
|
|
bf4350064a | ||
|
|
26a1bdd0fe | ||
|
|
3f30404417 | ||
|
|
9eab434ae8 | ||
|
|
b2696bf659 | ||
|
|
e6f47be4b0 | ||
|
|
2839fc9460 | ||
|
|
50a5b51909 | ||
|
|
a442ec4e80 | ||
|
|
1953c8489c | ||
|
|
4a6b5b9993 | ||
|
|
ce45d1664d | ||
|
|
9d12ae071a | ||
|
|
22a94d6817 | ||
|
|
8c86def018 | ||
|
|
4862ae42d5 | ||
|
|
998f6a29a4 | ||
|
|
4e3652b1c1 | ||
|
|
472c84ecdb | ||
|
|
fe084d1953 | ||
|
|
7196a4b603 | ||
|
|
738cb6a0c1 | ||
|
|
33ab64dec2 | ||
|
|
0f5be4b245 | ||
|
|
ee27730b72 | ||
|
|
c7ea91073e | ||
|
|
13dd6272d7 | ||
|
|
67c32ce3c9 | ||
|
|
6f85a74f30 | ||
|
|
9dc27141c7 | ||
|
|
15b3ce1beb | ||
|
|
83879715e9 | ||
|
|
0f27e100b2 | ||
|
|
2206f492ac | ||
|
|
ff2ccf9bce | ||
|
|
3e098da01f | ||
|
|
45a5c19dd4 | ||
|
|
a912e5ddae | ||
|
|
2eea8c9e79 | ||
|
|
ca0e53dd78 | ||
|
|
a058fe7319 | ||
|
|
0daeb26e96 | ||
|
|
c67ba2d49b | ||
|
|
7bc974b65a | ||
|
|
1ca51e4f14 | ||
|
|
a418e377f4 | ||
|
|
7f9f3027cc | ||
|
|
3a8075198b | ||
|
|
e1f32df5b3 | ||
|
|
6fabedd0da | ||
|
|
ee3d7db29d | ||
|
|
d4ac042d85 | ||
|
|
58556c82bb | ||
|
|
a7202201f7 | ||
|
|
3fb5d835f2 | ||
|
|
55cb91ce20 | ||
|
|
f886b50e7a | ||
|
|
11f7c1e49a | ||
|
|
d9d2020b46 | ||
|
|
b7e70bb746 | ||
|
|
2ecb2fa4af | ||
|
|
49bb72bcd2 | ||
|
|
3064646a8f | ||
|
|
fcf572e641 | ||
|
|
fc24bbf5ad | ||
|
|
3e80248cde | ||
|
|
0e016a9c47 | ||
|
|
593729ac2b | ||
|
|
388d901668 | ||
|
|
d52469c51e | ||
|
|
791ad16883 | ||
|
|
ec466d024a | ||
|
|
d933d0b478 | ||
|
|
626b345caf | ||
|
|
7791777d1a | ||
|
|
1c574561eb | ||
|
|
10c3bb4971 | ||
|
|
fb667f5e09 | ||
|
|
31ac9a5ea0 | ||
|
|
bd42d09592 | ||
|
|
63dae6bd42 | ||
|
|
22150d8175 | ||
|
|
9fb7490c40 | ||
|
|
2d9a6a4de8 | ||
|
|
b846686971 | ||
|
|
5c15b96d7d | ||
|
|
9175d0dbbf | ||
|
|
9ed69f96e8 | ||
|
|
ca07ec79ee | ||
|
|
31c4c1ccf3 | ||
|
|
6dc459db58 | ||
|
|
fc554ba599 | ||
|
|
82161e9cb5 | ||
|
|
89f98b835c | ||
|
|
4241bfd4bc | ||
|
|
a18e1cffa7 | ||
|
|
5c28e01590 | ||
|
|
b541b536c3 | ||
|
|
61e96f3fb5 | ||
|
|
dfc4aa9a57 | ||
|
|
f1159b6ea6 | ||
|
|
0b1a316ad9 | ||
|
|
d715db1226 | ||
|
|
80320ffa25 | ||
|
|
32cb7d6388 | ||
|
|
fbbfd6531b | ||
|
|
f67559bb1e | ||
|
|
2e992f937a | ||
|
|
c1bfa9f056 | ||
|
|
6c65a15758 | ||
|
|
5e5795cba2 | ||
|
|
c924f93614 | ||
|
|
1139eaf751 | ||
|
|
ded46ce3d8 | ||
|
|
d6602d63fc | ||
|
|
e7e3244e72 | ||
|
|
e4e0bb68ec | ||
|
|
898b5595a1 | ||
|
|
963d1e502e | ||
|
|
a50251401f | ||
|
|
7269dbc754 | ||
|
|
54e4e7918e | ||
|
|
62cce38a06 | ||
|
|
afff6b84ce | ||
|
|
61d13ce232 | ||
|
|
6851322361 | ||
|
|
5c9e591297 | ||
|
|
07c7ce2d6a | ||
|
|
4db3c7fc81 | ||
|
|
57f3489dfa | ||
|
|
3965e2f3de | ||
|
|
04ef4c2b16 | ||
|
|
0caa757dd6 | ||
|
|
aed46ad5b9 | ||
|
|
0bc3cfe29d | ||
|
|
2ad16673f0 | ||
|
|
c5686af7e2 | ||
|
|
49df9ed32d | ||
|
|
6d269b4409 | ||
|
|
b6b4ac5b4a | ||
|
|
b04a07fda0 | ||
|
|
c770113f7c | ||
|
|
7103cdd84a | ||
|
|
7bc62cedc6 | ||
|
|
462ad4b6b3 | ||
|
|
653e0a2e3a | ||
|
|
74eb611563 | ||
|
|
04e46ea787 | ||
|
|
27e842ba02 | ||
|
|
b406ec724b | ||
|
|
edee75c757 | ||
|
|
a9041e0c9b | ||
|
|
19f1ffbdc2 | ||
|
|
fb92183679 | ||
|
|
24184c21f0 | ||
|
|
74f8d65021 | ||
|
|
3465c21090 | ||
|
|
dc06116425 | ||
|
|
c9980c59e7 | ||
|
|
0e93c573a6 | ||
|
|
89d10ad4e6 | ||
|
|
782d16c1a3 | ||
|
|
e2cfd01bb2 | ||
|
|
6fa316177b | ||
|
|
99e8c984ad | ||
|
|
3e32c30298 | ||
|
|
5d16936b9e | ||
|
|
42ccce1687 | ||
|
|
f5fa757bc6 | ||
|
|
cf1af451b8 | ||
|
|
881e5e3417 | ||
|
|
4b0279329f | ||
|
|
0e7ae25f65 | ||
|
|
b3ffdb6517 | ||
|
|
6ac68ed1e7 | ||
|
|
229d3634b1 | ||
|
|
2391c859b2 | ||
|
|
a121c30b56 | ||
|
|
3855536ef1 | ||
|
|
8f1044a065 | ||
|
|
c7cc7d61d1 | ||
|
|
223e8e1bdb | ||
|
|
48311ee5c5 | ||
|
|
fe52e802ce | ||
|
|
813164c25b | ||
|
|
5f21d7ea1d | ||
|
|
44e45b55d4 | ||
|
|
c567a08470 | ||
|
|
0e4706b074 | ||
|
|
0eb83a4474 | ||
|
|
f99d02b71e | ||
|
|
2a89bac11d | ||
|
|
9f3a1faa5e | ||
|
|
b433b125ff | ||
|
|
c9487e0427 | ||
|
|
96071ae891 | ||
|
|
c1edbc7e4b | ||
|
|
ad25636afb | ||
|
|
82ccdcfddd | ||
|
|
afc46a77f6 | ||
|
|
bc7cc6eac0 | ||
|
|
835d08ab00 | ||
|
|
fbdbcdd8c0 | ||
|
|
1271ba3672 | ||
|
|
b2fd354d41 | ||
|
|
a55a86f300 | ||
|
|
26915c622f | ||
|
|
543ba51009 | ||
|
|
4a4e314899 | ||
|
|
8a3a9b985b | ||
|
|
50551c1069 | ||
|
|
80f7c507ba | ||
|
|
66381f52ed | ||
|
|
78b026a4ca | ||
|
|
9526f9d835 | ||
|
|
eda7595179 | ||
|
|
3ecc39a51f | ||
|
|
b77e608264 | ||
|
|
f7f3269c68 | ||
|
|
8d089218b5 | ||
|
|
fb4ca8c386 | ||
|
|
c585bdb316 | ||
|
|
520a54db0c | ||
|
|
9b2c89f704 | ||
|
|
f4ffc57b51 | ||
|
|
46eb7a7aa1 | ||
|
|
bba6b0ff45 | ||
|
|
786f28e642 | ||
|
|
4ccd0a7407 | ||
|
|
208ac19650 | ||
|
|
0bd6ffaee6 | ||
|
|
68e4be2887 | ||
|
|
e17f54ade0 | ||
|
|
fbef81bcf6 | ||
|
|
fcf874906f | ||
|
|
bd1fb7357c | ||
|
|
879b966bd4 | ||
|
|
97095c7d24 | ||
|
|
25264df18f | ||
|
|
7616b2b8e4 | ||
|
|
e2fc10d558 | ||
|
|
51ea33e743 | ||
|
|
dc9dc2ca42 | ||
|
|
3ebde4526a | ||
|
|
d065904431 | ||
|
|
682e6ceb9d | ||
|
|
0b4add2f2b | ||
|
|
9e07a48201 | ||
|
|
80bd5ced46 | ||
|
|
0bbd94d549 | ||
|
|
69bee93bfd | ||
|
|
b6d9134014 | ||
|
|
45393d51a2 | ||
|
|
d4ffa54136 | ||
|
|
3de249dcba | ||
|
|
c31845c55a | ||
|
|
e68883f0f9 | ||
|
|
8067799692 | ||
|
|
60201a9683 | ||
|
|
5990752416 | ||
|
|
ca1e81e1b5 | ||
|
|
b5bb6f3508 | ||
|
|
f370b36b62 | ||
|
|
a20951e1cd | ||
|
|
66fd639b52 | ||
|
|
08903459c2 | ||
|
|
bd4d1cd0d3 | ||
|
|
1c322965b4 | ||
|
|
fa1b706147 | ||
|
|
16306d1352 | ||
|
|
8c3af7738c | ||
|
|
fb819c558e | ||
|
|
5225d4c318 | ||
|
|
1d862c111f | ||
|
|
e9663a55a3 | ||
|
|
37d74e387d | ||
|
|
97db9da10e | ||
|
|
13a84e7f82 | ||
|
|
4fc7a8b71d | ||
|
|
e02de12ecc | ||
|
|
70bc86a4c6 | ||
|
|
553dd38c8d | ||
|
|
88ebdffc9a | ||
|
|
ffdc4347e8 | ||
|
|
b9a02b466b | ||
|
|
795c2d104d | ||
|
|
48e6fee6a1 | ||
|
|
05afad78fc | ||
|
|
b89bbe36d7 | ||
|
|
fc02a6510e | ||
|
|
7499c25a3c | ||
|
|
14ac65b64d | ||
|
|
cf29c3758a | ||
|
|
7423e4187f | ||
|
|
02a25bcfcd | ||
|
|
d93b0af07c | ||
|
|
3bd149ec3a | ||
|
|
47927b38a9 | ||
|
|
26564819fe | ||
|
|
ce0693be95 | ||
|
|
710a77a327 | ||
|
|
e98dcfc668 | ||
|
|
583f251edf | ||
|
|
9dee4ac891 | ||
|
|
6a59744d8e | ||
|
|
bd727e069b | ||
|
|
ab7973231a | ||
|
|
ee10afc074 | ||
|
|
bfc4ce1d5d | ||
|
|
07c263d453 | ||
|
|
0701a8cf5a | ||
|
|
3d36d0b1df | ||
|
|
9e640341fd | ||
|
|
acd1529780 | ||
|
|
72113dc485 | ||
|
|
9a7bcfe395 | ||
|
|
70787eb5e0 | ||
|
|
fad1a32e63 | ||
|
|
eae08bc619 | ||
|
|
cf3237a252 | ||
|
|
c060cdc06c | ||
|
|
dd4739c1aa | ||
|
|
edcc1d39ae | ||
|
|
be72e64633 | ||
|
|
a4e20c59d6 | ||
|
|
1ed9872db1 | ||
|
|
df08c92b4f | ||
|
|
b454ed4b8f | ||
|
|
aa18753f57 | ||
|
|
c85edc3346 | ||
|
|
1ad61fb572 | ||
|
|
c28596f69d | ||
|
|
a4471865a9 | ||
|
|
3193e1c1a2 | ||
|
|
3790c6c551 | ||
|
|
7a5cbc759c | ||
|
|
483c4a3271 | ||
|
|
c8ee5d9a4e | ||
|
|
5fe247557e | ||
|
|
ed8a8532e1 | ||
|
|
88926eb2a7 | ||
|
|
deefac0abf | ||
|
|
b570d97b4d | ||
|
|
0d53e6ed7c | ||
|
|
cb111c43d4 | ||
|
|
7131396ac0 | ||
|
|
af283d0d9e | ||
|
|
593ecb3d68 | ||
|
|
0bc8d28969 | ||
|
|
709a2fa553 | ||
|
|
1b2bde4c82 | ||
|
|
551639da7b | ||
|
|
6857700eff | ||
|
|
c3d172fac3 | ||
|
|
5d07beee61 | ||
|
|
7e0681c4a4 | ||
|
|
bd4e9370de | ||
|
|
eaaf34cda6 | ||
|
|
7a82b37f76 | ||
|
|
b9e09aa34e | ||
|
|
5a6997455b | ||
|
|
68ca4a77c9 | ||
|
|
f01a9069b1 | ||
|
|
3c53d628d9 | ||
|
|
4be975f87c | ||
|
|
5eb83f763f | ||
|
|
75874b4986 | ||
|
|
a599632f8a | ||
|
|
3745825052 | ||
|
|
5835502937 | ||
|
|
c7e5442565 | ||
|
|
ef57d2b328 | ||
|
|
b4aa88b59b | ||
|
|
ecf15130ba | ||
|
|
f3838c0b61 | ||
|
|
83cf17f07c | ||
|
|
52d73de6b6 | ||
|
|
a31075692c | ||
|
|
c5db4ca43a | ||
|
|
9244ecdaff | ||
|
|
21df80b750 | ||
|
|
911c7b969c | ||
|
|
02356029a8 | ||
|
|
fe5898a151 | ||
|
|
8290a83591 | ||
|
|
e035120f41 | ||
|
|
a7bf999a4f | ||
|
|
b9fc173a98 | ||
|
|
374da68829 | ||
|
|
3e9fc558a8 | ||
|
|
91d7bc55be | ||
|
|
cb2ad4acdb | ||
|
|
ceaba4220b | ||
|
|
fb3b7d8c34 | ||
|
|
8ccd7a3e61 | ||
|
|
9612521894 | ||
|
|
f52cbf6165 | ||
|
|
8b602c4608 | ||
|
|
32d5597d23 | ||
|
|
d19b197524 | ||
|
|
36081413d8 | ||
|
|
5741458c94 | ||
|
|
eac96cb186 | ||
|
|
7dbe27da19 | ||
|
|
515fe340a8 | ||
|
|
999ffe86a7 | ||
|
|
a32a79e90a | ||
|
|
baa0c8bd5f | ||
|
|
e945b4cc06 | ||
|
|
d12998e524 | ||
|
|
048997f809 | ||
|
|
c4bd3123fb | ||
|
|
9a859e54b6 | ||
|
|
53d0b7be23 | ||
|
|
872e94a316 | ||
|
|
e5eafc49ee | ||
|
|
756d496235 | ||
|
|
5d35e31281 | ||
|
|
2de61e955a | ||
|
|
659119adc2 | ||
|
|
8da5752059 | ||
|
|
f4c4a0cc0f | ||
|
|
fc16199a49 | ||
|
|
0b22f87db9 | ||
|
|
7728126b1f | ||
|
|
88b5d40202 | ||
|
|
67600b76e8 | ||
|
|
39174f9dc0 | ||
|
|
445263bb85 | ||
|
|
e41720f1a3 | ||
|
|
be556167b1 | ||
|
|
bbe641fd77 | ||
|
|
573809cece | ||
|
|
a2b326a988 | ||
|
|
eb1b401653 | ||
|
|
71f0f7a0b5 | ||
|
|
9a3a80dfd3 | ||
|
|
3b613c44a6 | ||
|
|
9bae57e2b4 | ||
|
|
6608735006 | ||
|
|
fb9cb779f4 | ||
|
|
a854beeb40 | ||
|
|
5063f1174e | ||
|
|
e3f1677786 | ||
|
|
083a666188 | ||
|
|
95686fc255 | ||
|
|
15272d0e56 | ||
|
|
27d674d54a | ||
|
|
46783c1377 | ||
|
|
adb331ef71 | ||
|
|
5a524854de | ||
|
|
61a3e01bd3 | ||
|
|
ea917f946c | ||
|
|
8df18762a9 | ||
|
|
205443a9e0 | ||
|
|
acfa2465df | ||
|
|
08f21c7905 | ||
|
|
f894c6d275 | ||
|
|
6d93c3adad | ||
|
|
eff2f34048 | ||
|
|
c48db0b7c0 | ||
|
|
00b6b97197 | ||
|
|
8ef31c8fc0 | ||
|
|
b4be1503e3 | ||
|
|
504b8c0a68 | ||
|
|
78583ac632 | ||
|
|
dc8616d2ab | ||
|
|
a7394329ca | ||
|
|
cc171d9706 | ||
|
|
e2a7856a44 | ||
|
|
e0bf45e03b | ||
|
|
02bb63a5f7 | ||
|
|
890040db86 | ||
|
|
65ba79bb85 | ||
|
|
046bcfa606 | ||
|
|
f071255340 | ||
|
|
b8b8dce733 | ||
|
|
e3af7f639d | ||
|
|
9624d56abd | ||
|
|
4abc39ef62 | ||
|
|
8b0fd7b00f | ||
|
|
8eaa2afeb7 | ||
|
|
145a6c5e2a | ||
|
|
dc5a5ef258 | ||
|
|
d9ca7e755f | ||
|
|
511a01c26c | ||
|
|
2ef8b581cd | ||
|
|
3697b9fd9b | ||
|
|
54385dde24 | ||
|
|
8383c826c3 | ||
|
|
54b5205221 | ||
|
|
860699ee7b | ||
|
|
358e3581c2 | ||
|
|
e3c0dbe79f | ||
|
|
67fcc172d7 | ||
|
|
2fee4958d7 | ||
|
|
229a4cef45 | ||
|
|
821d64241a | ||
|
|
147852a5af | ||
|
|
c00f62d54a | ||
|
|
57be8a85d6 | ||
|
|
8a4db69581 | ||
|
|
c55c77f4e9 | ||
|
|
87c21a89fe | ||
|
|
a16fd451ee | ||
|
|
fa719d8695 | ||
|
|
6dc65f1a19 | ||
|
|
5837f257bc | ||
|
|
b0d5642785 | ||
|
|
495428ba4e | ||
|
|
984bb7c7ea | ||
|
|
6f89f7e945 | ||
|
|
7479e1ec32 | ||
|
|
f58abed935 | ||
|
|
c8d6968a66 | ||
|
|
72846dc64f | ||
|
|
86dee69c2f | ||
|
|
ea8ab256ad | ||
|
|
673e3c7849 | ||
|
|
5dfc0d32d6 | ||
|
|
c58e7c22f5 | ||
|
|
b1051dadd5 | ||
|
|
49822c553a | ||
|
|
4f758701fe | ||
|
|
b5d7fe6734 | ||
|
|
6ee6d3508a | ||
|
|
903ff67a22 | ||
|
|
186d7abf0a | ||
|
|
6fae98afda | ||
|
|
3de1b22480 | ||
|
|
79bd731188 | ||
|
|
dc4819e897 | ||
|
|
274cb898ea | ||
|
|
6d1f119a0f | ||
|
|
56eaa504ec | ||
|
|
216bf2456e | ||
|
|
15d632f8de | ||
|
|
9c68bc22fa | ||
|
|
2b411fb7f5 | ||
|
|
7fb75f0482 | ||
|
|
7f0af3c667 | ||
|
|
8759824aa7 | ||
|
|
0d72d58860 | ||
|
|
9c685c5af0 | ||
|
|
82bf88635c | ||
|
|
21954b9f9c | ||
|
|
b4430a14a6 | ||
|
|
5786596fc0 | ||
|
|
c9cc5122dd | ||
|
|
2948a33f40 | ||
|
|
a55a4efb22 | ||
|
|
ddbb44c6a2 | ||
|
|
f82c8ea5eb | ||
|
|
6fd15abd15 | ||
|
|
4ef5f6a392 | ||
|
|
b863296e53 | ||
|
|
04df09cfca | ||
|
|
e25517a3ce | ||
|
|
7d12e9afd4 | ||
|
|
27deed6d94 | ||
|
|
ae1f6912f8 | ||
|
|
544ceb93cd | ||
|
|
89f58f7822 | ||
|
|
4cb6b70048 | ||
|
|
ef4f662c31 | ||
|
|
7b5406b940 | ||
|
|
038355f87b | ||
|
|
fca46e0b2d | ||
|
|
2553dea78e | ||
|
|
22ffdb9e77 | ||
|
|
8dae5047c2 | ||
|
|
db0c5ae48d | ||
|
|
a5c62f8623 | ||
|
|
fd252da6b1 | ||
|
|
5d5b6acc79 | ||
|
|
4ae11d4384 | ||
|
|
fb054d4904 | ||
|
|
63ef0a5a99 | ||
|
|
f49adfdd98 | ||
|
|
665645721b | ||
|
|
f2cfb03c2c | ||
|
|
c7db13c275 | ||
|
|
b1dfbbe85e | ||
|
|
3a9dca0563 | ||
|
|
f25bf6dbd2 | ||
|
|
bad901e7da | ||
|
|
1e780945e8 | ||
|
|
21b8ad6aa5 | ||
|
|
218dbd6911 | ||
|
|
aadda9f606 | ||
|
|
646cf54679 | ||
|
|
9aff191bb1 | ||
|
|
8e8a724d82 | ||
|
|
6df932f789 | ||
|
|
19279dffea | ||
|
|
a393195866 | ||
|
|
1e18569be7 | ||
|
|
732e950265 | ||
|
|
4284701442 | ||
|
|
3a4ba0c790 | ||
|
|
f55e8d1f4a | ||
|
|
b93957197e | ||
|
|
dc75a385b7 | ||
|
|
0c1a8e9c58 | ||
|
|
bb864c8345 | ||
|
|
8c9d630ee4 | ||
|
|
c2bdd30e6d | ||
|
|
e6ff7f0e9f | ||
|
|
45b45efee5 | ||
|
|
7bf1a39861 | ||
|
|
5af8378471 | ||
|
|
036af54d54 | ||
|
|
668fdc8f92 | ||
|
|
11800e3cd8 | ||
|
|
35fbbc2057 | ||
|
|
6275b236ee | ||
|
|
5ddb36af87 | ||
|
|
d35ae3ef5e | ||
|
|
b9d70e2ea4 | ||
|
|
cf2d67f145 | ||
|
|
338b09debb | ||
|
|
7bfe703b04 | ||
|
|
26de902496 | ||
|
|
1d8c252ee7 | ||
|
|
d04dbd8ed9 | ||
|
|
31e59354c9 | ||
|
|
9d2f9ad4c0 | ||
|
|
80b746d4dd | ||
|
|
e2412072d9 | ||
|
|
bf3b0d607f | ||
|
|
638d825d8c | ||
|
|
f4bc1dfd00 | ||
|
|
435bb1c7b0 | ||
|
|
89569d4b32 | ||
|
|
a88259591b | ||
|
|
a8ed8b26f1 | ||
|
|
9af130598a | ||
|
|
eb350012b0 | ||
|
|
70d9db7557 | ||
|
|
56a0c4642f | ||
|
|
41f2b136d5 | ||
|
|
9a8f0f3aef | ||
|
|
d35a533d8b | ||
|
|
ea224e131c | ||
|
|
8f647b4172 | ||
|
|
9c82f4bb0f | ||
|
|
fa2fd5bf88 | ||
|
|
eda0e2152d | ||
|
|
becb53ba5d | ||
|
|
03fde2c039 | ||
|
|
eec2e7e833 | ||
|
|
93bd9a40cd | ||
|
|
361a55a703 | ||
|
|
b0dccadd26 | ||
|
|
d3f8263890 | ||
|
|
91c899f3f9 | ||
|
|
e0f8e72c4d | ||
|
|
e73570910c | ||
|
|
92be7cbbbf | ||
|
|
e84e49345a | ||
|
|
7785296573 | ||
|
|
5618859bd8 | ||
|
|
2c1077d332 | ||
|
|
2fd1d4d3ab | ||
|
|
7b0882600a | ||
|
|
222f1834f1 | ||
|
|
913c60d77b | ||
|
|
dc45c3b39c | ||
|
|
85dd1dd4c7 | ||
|
|
80c17cc005 | ||
|
|
257802aeda | ||
|
|
b36e356469 | ||
|
|
393434dfd9 | ||
|
|
4376ca5f1d | ||
|
|
e8a66d03bc | ||
|
|
21e22b577a | ||
|
|
f2da369a07 | ||
|
|
386df968c2 | ||
|
|
97debcb27b | ||
|
|
f4aba561ce | ||
|
|
eb7cf2608c | ||
|
|
c2cf1d14e6 | ||
|
|
b3c400f998 | ||
|
|
508727a57a | ||
|
|
b1f15358dd | ||
|
|
343940a9f3 | ||
|
|
e4acf20a62 | ||
|
|
6a52c30591 | ||
|
|
0985441fc3 | ||
|
|
ad9ac1f058 | ||
|
|
4683e03353 | ||
|
|
57d7ac4954 | ||
|
|
54d96f34f2 | ||
|
|
327af0ceac | ||
|
|
3756bf231b | ||
|
|
29d77aa19f | ||
|
|
182b4ef266 | ||
|
|
59f2302b77 | ||
|
|
cdfbc73f4c | ||
|
|
1e2f5940fd | ||
|
|
8a84faebed | ||
|
|
0a482c7ea8 | ||
|
|
5c34a5aaed | ||
|
|
7e669c0728 | ||
|
|
75ab5f2bd0 | ||
|
|
e1ba08a28d | ||
|
|
3eaa9bfca4 | ||
|
|
c6cfbd7a65 | ||
|
|
efeab38199 | ||
|
|
bf62f9ad57 | ||
|
|
0447c7be0a | ||
|
|
c32e11e69d | ||
|
|
dd214fedd8 | ||
|
|
f10d1f2b1f | ||
|
|
a70354a0a4 | ||
|
|
c7ad7eecbb | ||
|
|
4687ba22d4 | ||
|
|
b25e0bd2b0 | ||
|
|
ca1eec355c | ||
|
|
addc26fb2b | ||
|
|
88ec083e4c | ||
|
|
798664dfbf | ||
|
|
368892a82f | ||
|
|
173a954d8c | ||
|
|
af0d6eeae8 | ||
|
|
b666b8bbd4 | ||
|
|
d758fde881 | ||
|
|
6c3117dc0d | ||
|
|
96d0cd23f1 | ||
|
|
ecb31b7c9f | ||
|
|
e47a87839b | ||
|
|
90b6e00237 | ||
|
|
ba50d01f6b | ||
|
|
5c5b29745b | ||
|
|
350c4e5d9f | ||
|
|
b68627240c | ||
|
|
06732da687 | ||
|
|
3fbbf5a609 | ||
|
|
0e593fddf4 | ||
|
|
a0d50e146e | ||
|
|
a3f3724fc6 | ||
|
|
0c58b2cf7e | ||
|
|
a536400a0c | ||
|
|
825e8325eb | ||
|
|
84889718ca | ||
|
|
a30a5ce645 | ||
|
|
eaa386da2f | ||
|
|
63129cecf3 | ||
|
|
43791abdd3 | ||
|
|
40a84a3dfb | ||
|
|
0821a46302 | ||
|
|
b21a823cc4 | ||
|
|
e5fdbeefc3 | ||
|
|
52ef4f38fe | ||
|
|
dd8956a3cf | ||
|
|
25623325ce | ||
|
|
70aa9e5f50 | ||
|
|
d8ef5e4d58 | ||
|
|
55981c8358 | ||
|
|
eea758f5b2 | ||
|
|
3be570b44a | ||
|
|
3c7583495e | ||
|
|
f59620fd55 | ||
|
|
04edbf7efe | ||
|
|
c7e7da6500 | ||
|
|
1b560ce949 | ||
|
|
8bb2a15732 | ||
|
|
e80129627a | ||
|
|
229147a434 | ||
|
|
784e61e3e9 | ||
|
|
e6a3a19641 | ||
|
|
3adb9eefd7 | ||
|
|
fc279c85bd | ||
|
|
8411e2e01f | ||
|
|
840ea070a9 | ||
|
|
75882cc81c | ||
|
|
ac354505ef | ||
|
|
6e8521d761 | ||
|
|
46f4babcd0 | ||
|
|
0552209310 | ||
|
|
551f89f14b | ||
|
|
378a554ea2 | ||
|
|
5057e3fe30 | ||
|
|
6572fba435 | ||
|
|
f2a709f953 | ||
|
|
0ba9712935 | ||
|
|
cc2ce30bd4 | ||
|
|
d9662959d2 | ||
|
|
8f96c0b546 | ||
|
|
38955af802 | ||
|
|
43303f2cf6 | ||
|
|
8f7f0b81f6 | ||
|
|
95b8355cff | ||
|
|
f8c659d8d5 | ||
|
|
08c7e8a602 | ||
|
|
d371236684 | ||
|
|
ba96c86576 | ||
|
|
0bdb81db53 | ||
|
|
9e808c832f | ||
|
|
41c93c8832 | ||
|
|
67e9389a02 | ||
|
|
5a72edcb82 | ||
|
|
b6c0448075 | ||
|
|
b270140e61 | ||
|
|
0753c018d2 | ||
|
|
b72f6f5a3d | ||
|
|
8ba4ac3b86 | ||
|
|
0a5ca0c35f | ||
|
|
8bce42e633 | ||
|
|
6f010915fe | ||
|
|
52b76736d3 | ||
|
|
f5d5508035 | ||
|
|
b6c18849c5 | ||
|
|
c1a8de9fcd | ||
|
|
f1398a50e7 | ||
|
|
03e66468f6 | ||
|
|
57007bf937 | ||
|
|
d653899372 | ||
|
|
74208a3e06 | ||
|
|
b81ad55acd | ||
|
|
24e4d92202 | ||
|
|
44835126db | ||
|
|
121798ba85 | ||
|
|
a2881b5be0 | ||
|
|
398083853c | ||
|
|
18fdd17e94 | ||
|
|
9b7e936169 | ||
|
|
7e92e4967a | ||
|
|
6c2f9a563e | ||
|
|
66d5aab8ac | ||
|
|
9dd801ff3b | ||
|
|
aba512c1c6 | ||
|
|
c962b2e97b | ||
|
|
5caef24335 | ||
|
|
7a584d3228 | ||
|
|
04e9134016 | ||
|
|
ac7fc608aa | ||
|
|
6789578b27 | ||
|
|
3376f37012 | ||
|
|
9aacd90633 | ||
|
|
db93302a53 | ||
|
|
f9cac1c186 | ||
|
|
5a9767ca67 | ||
|
|
9026b67333 | ||
|
|
e917bd5334 | ||
|
|
98690c42b0 | ||
|
|
97733c8974 | ||
|
|
0afcf59ba1 | ||
|
|
f7bcae83e4 | ||
|
|
0bd80f98a8 | ||
|
|
262798e319 | ||
|
|
a4c913a794 | ||
|
|
60379241d8 | ||
|
|
ab8134aec6 | ||
|
|
eca5a8e6ab | ||
|
|
d2732e376c | ||
|
|
615997b774 | ||
|
|
f5d061d2dd | ||
|
|
f1d8feec15 | ||
|
|
cd72532789 | ||
|
|
696f931678 | ||
|
|
55d0636123 | ||
|
|
455a55b2ce | ||
|
|
4cd3f3531c | ||
|
|
7528ef147a | ||
|
|
6545467aec | ||
|
|
bc792c61e9 | ||
|
|
b348aa3b37 | ||
|
|
23d465805b | ||
|
|
a31770d122 | ||
|
|
ceca5b4c72 | ||
|
|
5c86e3ce85 | ||
|
|
9f3847c0f8 | ||
|
|
d1d06885dc | ||
|
|
3e292ef2cb | ||
|
|
ee93ed8c97 | ||
|
|
7ff3977394 | ||
|
|
e9af567033 | ||
|
|
b115bf2e2a | ||
|
|
f5f138ef9d | ||
|
|
f585fd6b88 | ||
|
|
49dcd96909 | ||
|
|
501f07803e | ||
|
|
5592d8e87f | ||
|
|
faa340c8b5 | ||
|
|
98111dac17 | ||
|
|
33b71544db | ||
|
|
4a4894bc01 | ||
|
|
18832c057c | ||
|
|
7b6ebad9e6 | ||
|
|
d01367eefe | ||
|
|
ba2f887be9 | ||
|
|
606dcb0ad1 | ||
|
|
884709deb8 | ||
|
|
81d460e4bd | ||
|
|
87e7f0f4d7 | ||
|
|
2e207d651d | ||
|
|
93779c88d2 | ||
|
|
95d1976931 | ||
|
|
0492b941ff | ||
|
|
e8d4a487c6 | ||
|
|
40c92b0988 | ||
|
|
137090ca77 | ||
|
|
abd044eb0d | ||
|
|
d039310d80 | ||
|
|
38aa7cab8a | ||
|
|
8caf7f275e | ||
|
|
35512d40bb | ||
|
|
f50d479bfd | ||
|
|
cb004709ff | ||
|
|
4f559b6df2 | ||
|
|
58ed697ba5 | ||
|
|
4ef7e6424a | ||
|
|
6c0b18b19f | ||
|
|
b1508efca2 | ||
|
|
82c0995f2e | ||
|
|
c4eb577a76 | ||
|
|
a700345cee | ||
|
|
104f60cc57 | ||
|
|
6cc3d67835 | ||
|
|
926e4ecc4f | ||
|
|
1f685efcaf | ||
|
|
425fb12e91 | ||
|
|
c5f90c823d | ||
|
|
70128881a8 | ||
|
|
694098a578 | ||
|
|
961258a4ce | ||
|
|
772e9ecfaa | ||
|
|
94547188bf | ||
|
|
89bcdd6fa5 | ||
|
|
2d26bff870 | ||
|
|
3bb6a311de | ||
|
|
27446a68b7 | ||
|
|
5513e24b00 | ||
|
|
4a542b22a4 | ||
|
|
88fcdbb81e | ||
|
|
0f6062efee | ||
|
|
6117706ab5 | ||
|
|
65a229abb1 | ||
|
|
93fe9203da | ||
|
|
4c810a878c | ||
|
|
a8d1cbc1c3 | ||
|
|
01b5fb2f91 | ||
|
|
ceaf217341 | ||
|
|
62837099fc | ||
|
|
2b703c233b | ||
|
|
59e99f167d | ||
|
|
bb12551599 | ||
|
|
41fe30ea6e | ||
|
|
55de0176e8 | ||
|
|
1bdfd44d4c | ||
|
|
6f40849d55 | ||
|
|
f006fd99d2 | ||
|
|
f8dd4e0961 | ||
|
|
60247eeed5 | ||
|
|
1332ea02d1 | ||
|
|
6cbce114a6 | ||
|
|
24f684c58f | ||
|
|
6151f9c912 | ||
|
|
c1ddf444c6 | ||
|
|
49a43d355d | ||
|
|
0d44b5d3ce | ||
|
|
e6514eda50 | ||
|
|
e403d3f153 | ||
|
|
e4b0ab6656 | ||
|
|
71f65bab5e | ||
|
|
a29c6a5aea | ||
|
|
8db1fcd19c | ||
|
|
17eb57efdc | ||
|
|
117b847de7 | ||
|
|
03fc1d7a00 | ||
|
|
25d39a38f1 | ||
|
|
d3a1fbbfef | ||
|
|
efd7e05bb6 | ||
|
|
0a2193e458 | ||
|
|
1a56b83054 | ||
|
|
9597b1a69e | ||
|
|
a5271fdb2e | ||
|
|
4bf84f5c84 | ||
|
|
47648329ed | ||
|
|
62c3915ecb | ||
|
|
9078e3798d | ||
|
|
e803ed72e6 | ||
|
|
b4f65154f5 | ||
|
|
d2564cad68 | ||
|
|
5bee30ff2f | ||
|
|
7c9c0c7776 | ||
|
|
a3596f717b | ||
|
|
464e3339fe | ||
|
|
912f9bfd8e | ||
|
|
1c124b3c90 | ||
|
|
c1e4e7af28 | ||
|
|
d2fad44e89 | ||
|
|
999f1cf96d | ||
|
|
64985bffe0 | ||
|
|
8fb09decd2 | ||
|
|
93f461c6f3 | ||
|
|
a4b24f7451 | ||
|
|
48f9769c05 | ||
|
|
e965c44908 | ||
|
|
0c1e8bbfbb | ||
|
|
3251a331dd | ||
|
|
453bcd7513 | ||
|
|
ded0aab680 | ||
|
|
079cf772aa | ||
|
|
2dbef23244 | ||
|
|
6719bbeb10 | ||
|
|
9b2b477ae0 | ||
|
|
ccb4bdbe4c | ||
|
|
daa5bebdd0 | ||
|
|
4e63ee1a70 | ||
|
|
967f5ac7f3 | ||
|
|
fcf374928f | ||
|
|
ac640a22b7 | ||
|
|
221f1468cb | ||
|
|
da4b28bf2f | ||
|
|
5a6e06a140 | ||
|
|
45d72cbefc | ||
|
|
fd3fec3912 | ||
|
|
936d7d4342 | ||
|
|
2394e76e7d | ||
|
|
f62aa8fc57 | ||
|
|
8284efdf66 | ||
|
|
3876cf0c2b | ||
|
|
85f46d6e32 | ||
|
|
3b2879d3a1 | ||
|
|
6073f5a6f9 | ||
|
|
b88305a95f | ||
|
|
987a95d2b5 | ||
|
|
c3b45c933a | ||
|
|
1ec182430d | ||
|
|
da09c278c8 | ||
|
|
8e6959dfad | ||
|
|
f7594e2ff9 | ||
|
|
a91fe5cbb3 | ||
|
|
8c5aea15ac | ||
|
|
2f1e253e19 | ||
|
|
5e66231ca4 | ||
|
|
f68730f444 | ||
|
|
746adfd057 | ||
|
|
cd4ba69262 | ||
|
|
78dedc0773 | ||
|
|
75379b79fc | ||
|
|
83cafb892c | ||
|
|
a1cbcda4c5 | ||
|
|
0c465b0f32 | ||
|
|
df83e427a3 | ||
|
|
7f8d08c8eb | ||
|
|
8e42764274 | ||
|
|
65c45a3f5b | ||
|
|
941085000a | ||
|
|
17a2f44290 | ||
|
|
24394765a6 | ||
|
|
fa31a0282e | ||
|
|
38e1054eb7 | ||
|
|
2bb79197aa | ||
|
|
a08bc6b913 | ||
|
|
73e82b7afa | ||
|
|
dcec446e55 | ||
|
|
4821c44227 | ||
|
|
1230127d24 | ||
|
|
44c1425e73 | ||
|
|
4b87610d95 | ||
|
|
448a5db20f | ||
|
|
5fed3866b6 | ||
|
|
019303dd12 | ||
|
|
1b831e9abd | ||
|
|
baa0dd1235 | ||
|
|
f05c1d7e7b | ||
|
|
32f616ad87 | ||
|
|
93a8440908 | ||
|
|
be813b5bba | ||
|
|
ac9e5c0163 | ||
|
|
4487edb255 | ||
|
|
8234e659c8 | ||
|
|
927eae79d5 | ||
|
|
196ef7ac4e | ||
|
|
8cfab57fc8 | ||
|
|
74621eeb1b | ||
|
|
1eea76cbad | ||
|
|
3333331a3d | ||
|
|
0fd0695bbb | ||
|
|
dfc3dc4944 | ||
|
|
7c7aa831ec | ||
|
|
70260c8c86 | ||
|
|
c46af238d4 | ||
|
|
7e61b67ba8 | ||
|
|
5e8124900f | ||
|
|
3788339ea0 | ||
|
|
fe47ca8566 | ||
|
|
154e9813c4 | ||
|
|
844f1636c0 | ||
|
|
7cf8e498c4 | ||
|
|
f3d598881c | ||
|
|
a41024813b | ||
|
|
2fcc5e3f55 | ||
|
|
b9450288f5 | ||
|
|
fe43975cdd | ||
|
|
c2b4a79b5b | ||
|
|
98cc1558d3 | ||
|
|
f206034a79 | ||
|
|
6f1bc5225a | ||
|
|
5506b44b6f | ||
|
|
5880f1d5c6 | ||
|
|
17d415b105 | ||
|
|
d94802067b | ||
|
|
6c8cb9717d | ||
|
|
cdd41373b6 | ||
|
|
419b149d05 | ||
|
|
019f6422be | ||
|
|
947a4fb091 | ||
|
|
03d515208a | ||
|
|
9e4c82e055 | ||
|
|
92f63a026b | ||
|
|
dee46c6954 | ||
|
|
60a5f4f30d | ||
|
|
bee26e046e | ||
|
|
e6b6849940 | ||
|
|
6e67a1ba7c | ||
|
|
f0a6399056 | ||
|
|
c81ce29e4c | ||
|
|
0a364ed1c9 | ||
|
|
dbac8cfc94 | ||
|
|
43b13b91be | ||
|
|
914ad357fd | ||
|
|
876082ea2f | ||
|
|
706cb64279 | ||
|
|
7324dcb7c8 | ||
|
|
6275b44a0b | ||
|
|
fd4c4f98fa | ||
|
|
a81867bc43 | ||
|
|
6886f5ef41 | ||
|
|
72f8fc8a7b | ||
|
|
5f554e1ec3 | ||
|
|
2f77a8bed1 | ||
|
|
b839094551 | ||
|
|
a007dc285d | ||
|
|
3e990153a4 | ||
|
|
591ad7641f | ||
|
|
4bf85d1a5a | ||
|
|
6ab2106322 | ||
|
|
c522071b58 | ||
|
|
5df8609b33 | ||
|
|
4dcac56486 | ||
|
|
da1b4cb9ab | ||
|
|
8d8f3afb39 | ||
|
|
8af9dcb33e | ||
|
|
b95b13ecd8 | ||
|
|
6591e76a63 | ||
|
|
c33c6b6560 | ||
|
|
e1b7688a17 | ||
|
|
0fdaa541f1 | ||
|
|
0bae273d41 | ||
|
|
494310293c | ||
|
|
3a4ae8c463 | ||
|
|
110412d8ad | ||
|
|
675b3330d9 | ||
|
|
8296e28689 | ||
|
|
3977a7a06e | ||
|
|
1c725dee5d | ||
|
|
e8871257a2 | ||
|
|
a11b8db389 | ||
|
|
3c8214827c | ||
|
|
2bd596ee3d | ||
|
|
0069581aa3 | ||
|
|
cbcdc5e7e5 | ||
|
|
0b9c28620f | ||
|
|
8fa39bec61 | ||
|
|
03290ef45f | ||
|
|
71a507d30b | ||
|
|
e6176db2c9 | ||
|
|
bcad6cb757 | ||
|
|
95f6b586ff | ||
|
|
c636cc33b3 | ||
|
|
9b5c4a0144 | ||
|
|
1bb6cd33a3 | ||
|
|
4178154b19 | ||
|
|
35388e7a04 | ||
|
|
91f6c65c0a | ||
|
|
7137331355 | ||
|
|
5e2879e9ea | ||
|
|
06a93ffc80 | ||
|
|
862ca7ddd3 | ||
|
|
e4530232e4 | ||
|
|
ed7ad79c2c | ||
|
|
ec9af4ae29 | ||
|
|
5c002df014 | ||
|
|
814be2b80a | ||
|
|
b0bb3ca798 | ||
|
|
7e752756cf | ||
|
|
613c2a0379 | ||
|
|
e2b586d5a3 | ||
|
|
b0d197119f | ||
|
|
8785342fce | ||
|
|
0809e00455 | ||
|
|
6077c248b0 | ||
|
|
0207d2d7b6 | ||
|
|
7b955b2ea6 | ||
|
|
772776ad8a | ||
|
|
0df18daf10 | ||
|
|
8f3cc6af16 | ||
|
|
88e68bb803 | ||
|
|
b80b5574d3 | ||
|
|
2d32ddacc3 | ||
|
|
0cdd346f8f | ||
|
|
3d5b52f3bf | ||
|
|
c83398471c | ||
|
|
820b32eb8a | ||
|
|
fc8663421b | ||
|
|
33d03b1542 | ||
|
|
fd8c78628f | ||
|
|
0c9d0ea1f4 | ||
|
|
99e721e622 | ||
|
|
5ff540bd82 | ||
|
|
7d47869f4b | ||
|
|
f8472c32d9 | ||
|
|
325c4e3536 | ||
|
|
52c687ecc9 | ||
|
|
ac3259b8f1 | ||
|
|
366ae85d85 | ||
|
|
19c01b1457 | ||
|
|
f8ab021920 | ||
|
|
133e0417b8 | ||
|
|
d0479036bb | ||
|
|
54a8d41f88 | ||
|
|
e72687d3eb | ||
|
|
fb7bba8cd0 | ||
|
|
ab486d2515 | ||
|
|
2d7a576da5 | ||
|
|
6a2f2ae3fe | ||
|
|
723e902470 | ||
|
|
f6fca3acec | ||
|
|
218670a720 | ||
|
|
fee3846144 | ||
|
|
417bf49a8d | ||
|
|
54279ee21d | ||
|
|
98e727a061 | ||
|
|
79d4852d7d | ||
|
|
07adfadd58 | ||
|
|
7f34b490f4 | ||
|
|
85378f9d1a | ||
|
|
899c18df18 | ||
|
|
848b98e6d6 | ||
|
|
b57a2612ce | ||
|
|
0edba914fa | ||
|
|
bfc01441a0 | ||
|
|
fb3f08a441 | ||
|
|
18127603fe | ||
|
|
cd87ad0613 | ||
|
|
ffd10d1fe9 | ||
|
|
d1c927530e | ||
|
|
c92ec312b9 | ||
|
|
3947b5943e | ||
|
|
ab2d6fdefd | ||
|
|
a20116816e | ||
|
|
7e24395e00 | ||
|
|
8720d412bd | ||
|
|
51a65899ec | ||
|
|
a44be73a98 | ||
|
|
2482a3a205 | ||
|
|
716edeb465 | ||
|
|
fee318a275 | ||
|
|
f82837a4a2 | ||
|
|
9950e4aa0c | ||
|
|
1e4b9fbdf0 | ||
|
|
4c39dc5493 | ||
|
|
2394dd71e6 | ||
|
|
9422ce5aee | ||
|
|
2c8e3f3409 | ||
|
|
423decb93c | ||
|
|
daf9c9d34a | ||
|
|
d762180231 | ||
|
|
b7d801d571 | ||
|
|
81978a0bd8 | ||
|
|
7b6e8b9c29 | ||
|
|
3cdaa80526 | ||
|
|
adfbfe5b32 | ||
|
|
827afbfa2e | ||
|
|
1fb3a4333d | ||
|
|
4b434d01f3 | ||
|
|
cd0faf12a4 | ||
|
|
1362e2b6bf | ||
|
|
018df3135a | ||
|
|
0a25fe981b | ||
|
|
60da21be55 | ||
|
|
3cdc636111 | ||
|
|
bd2c3711c0 | ||
|
|
589325e14b | ||
|
|
cd20d7aa8e | ||
|
|
99c3fb6ba5 | ||
|
|
2a258c1629 | ||
|
|
4b345cf495 | ||
|
|
33ce49730a | ||
|
|
95fda47b6c | ||
|
|
75567dc9ff | ||
|
|
1607aa1a44 | ||
|
|
1a83316112 | ||
|
|
707c01487e | ||
|
|
5be2e71a35 | ||
|
|
5676d60ed3 | ||
|
|
3e35c48cf7 | ||
|
|
f976115a2b | ||
|
|
e2db3b9cfc | ||
|
|
2c94867b0e | ||
|
|
a913c9b202 | ||
|
|
fe51535392 | ||
|
|
701fc02050 | ||
|
|
5643385c22 | ||
|
|
5a1851dfe3 | ||
|
|
437444fe04 | ||
|
|
00f9a36980 | ||
|
|
41649cf52d | ||
|
|
592704cfd0 | ||
|
|
b3ffb82586 | ||
|
|
e61ab48145 | ||
|
|
b8ee15269c | ||
|
|
ce7702cc19 | ||
|
|
9faf78d3e5 | ||
|
|
6b454ca9a7 | ||
|
|
9a34c4c1ec | ||
|
|
4dd37ba033 | ||
|
|
968e235a3f | ||
|
|
90eefac6f6 | ||
|
|
4c8dff942d | ||
|
|
378afd2f65 | ||
|
|
aaf720ab61 | ||
|
|
d042c841e4 | ||
|
|
409e512d47 | ||
|
|
3f2e93dcb6 | ||
|
|
79b5a3e1dd | ||
|
|
72b940e3d3 | ||
|
|
9ae8e94e6c | ||
|
|
d1086722bf | ||
|
|
d748b491ee | ||
|
|
5e8e7dd3d8 | ||
|
|
5a023dc8d4 | ||
|
|
9f20854bd9 | ||
|
|
a64a4f9b20 | ||
|
|
ac32c554af | ||
|
|
ceb4f249cb | ||
|
|
2609f9809d | ||
|
|
dd77070351 | ||
|
|
4d050441b3 | ||
|
|
8e77b26641 | ||
|
|
b08da0f6bd | ||
|
|
b1eb604363 | ||
|
|
7bc075376b | ||
|
|
7e7209e448 | ||
|
|
9964ddc0e9 | ||
|
|
9933d3c8ff | ||
|
|
813cfdfff6 | ||
|
|
0b1b964b77 | ||
|
|
d1fbeb11cb | ||
|
|
dc7e7118af | ||
|
|
26afba142e | ||
|
|
2c644ec2ef | ||
|
|
47c2c5377c | ||
|
|
3078578692 | ||
|
|
49570a5544 | ||
|
|
e88f96b92d | ||
|
|
e55d4030ec | ||
|
|
db38e7bf5a | ||
|
|
11f65f20a0 | ||
|
|
2ac8c92e7f | ||
|
|
fb285749dd | ||
|
|
887645e55f | ||
|
|
af97f42429 | ||
|
|
eabdd5992b | ||
|
|
29341245b8 | ||
|
|
b5afd901f3 | ||
|
|
2e8cde3378 | ||
|
|
d97e78e5d3 | ||
|
|
55733d4f18 | ||
|
|
bee2c04d0b | ||
|
|
53704b98b5 | ||
|
|
bad1ac9fbc | ||
|
|
4008ca5ddd | ||
|
|
9f3b8520fe | ||
|
|
d862e9b771 | ||
|
|
97acbb3134 | ||
|
|
a9bc395e98 | ||
|
|
42edb9f5b1 | ||
|
|
e82911041d | ||
|
|
3d7f1026ca | ||
|
|
54d234e05d | ||
|
|
78c7c1c631 | ||
|
|
8028dd2683 | ||
|
|
cd3f03696e | ||
|
|
6ec18fb40d | ||
|
|
5bf90dccbb | ||
|
|
9888c62e13 | ||
|
|
5088d8576f | ||
|
|
d92f9330fa | ||
|
|
d1329c2910 | ||
|
|
1758e125e0 | ||
|
|
85b6fdd067 | ||
|
|
c889bdba0f | ||
|
|
766b5fa5ed | ||
|
|
3923b784e3 | ||
|
|
7b8a099d95 | ||
|
|
a71718883e | ||
|
|
2f3281579a | ||
|
|
b2c3da135e | ||
|
|
95af63e305 | ||
|
|
f79eea2261 | ||
|
|
5257413a93 | ||
|
|
41dda35db7 | ||
|
|
50223c6bec | ||
|
|
2a400dd3f8 | ||
|
|
551fa500e8 | ||
|
|
fe43d20545 | ||
|
|
8e18c572f4 | ||
|
|
f07a71a882 | ||
|
|
c5f21a5686 | ||
|
|
4a7586cc01 | ||
|
|
3fbd2ca0d9 | ||
|
|
b26f0b6633 | ||
|
|
05579959f2 | ||
|
|
4481ca83ff | ||
|
|
9ff3101b2d | ||
|
|
8b6a20d501 | ||
|
|
be2593bb51 | ||
|
|
5207917993 | ||
|
|
84d379914c | ||
|
|
f4d1a54588 | ||
|
|
1c6a7830c3 | ||
|
|
4455312b73 | ||
|
|
36bae55299 | ||
|
|
dedb96d337 | ||
|
|
d73c17aa98 | ||
|
|
4f55356c79 | ||
|
|
993f40fa43 | ||
|
|
2e535955b3 | ||
|
|
dd923332cb | ||
|
|
7b0c21e989 | ||
|
|
6c32397313 | ||
|
|
5638dac414 | ||
|
|
e2a32b7257 | ||
|
|
7c6e279599 | ||
|
|
68fb1b28eb | ||
|
|
47f8a86003 | ||
|
|
5fb158a6f7 | ||
|
|
30e87c37dc | ||
|
|
f9200a9575 | ||
|
|
3697ba0772 | ||
|
|
1d81a9f933 | ||
|
|
da34d7923d | ||
|
|
04364d680f | ||
|
|
34a80bfcd3 | ||
|
|
76ba17808b | ||
|
|
397cd79e1e | ||
|
|
97e3770872 | ||
|
|
8f9b5aaae7 | ||
|
|
d13c03676b | ||
|
|
98d401bee4 | ||
|
|
ec487c14d9 | ||
|
|
2d45d0e5d5 | ||
|
|
ada272a29b | ||
|
|
8d66142865 | ||
|
|
84e0b41c4f | ||
|
|
19c8708e5e | ||
|
|
aa38895caf | ||
|
|
9163f60191 | ||
|
|
454067198e | ||
|
|
c94091d68f | ||
|
|
60efd3e219 | ||
|
|
0e7e9b5f0a | ||
|
|
87de5c7450 | ||
|
|
5f15b0b65b | ||
|
|
063a205e5a | ||
|
|
43ce185429 | ||
|
|
318a945d66 | ||
|
|
6628d290de | ||
|
|
4fb48b7f22 | ||
|
|
ed2764ab8d | ||
|
|
a7cd17ac8b | ||
|
|
484ecf2479 | ||
|
|
2af6fca7fa | ||
|
|
2bf10f68a8 | ||
|
|
cb91e8e69e | ||
|
|
9607b16dcf | ||
|
|
37a5767be5 | ||
|
|
195254756f | ||
|
|
a4453fb77b | ||
|
|
6edb454eea | ||
|
|
001d1eb3f9 | ||
|
|
3a2e816759 | ||
|
|
ce9c606f71 | ||
|
|
09d26a835f | ||
|
|
aea69af4ff | ||
|
|
fd442a36a9 | ||
|
|
9ee5fcc602 | ||
|
|
d9013e1054 | ||
|
|
9bb7d4e428 | ||
|
|
a3165c5719 | ||
|
|
601bc3026d | ||
|
|
aeedaae761 | ||
|
|
2e8723407f | ||
|
|
4b483e176d | ||
|
|
f7a93640b0 | ||
|
|
8f8cddb03c | ||
|
|
ea4526ad30 | ||
|
|
6c5a9f5a74 | ||
|
|
bbb5f8056b | ||
|
|
83bb3926b1 | ||
|
|
9fa1865cb7 | ||
|
|
88ab9be79c | ||
|
|
2936139c79 | ||
|
|
a4271aa5d1 | ||
|
|
7e7775aa44 | ||
|
|
e529f82392 | ||
|
|
eea0eff001 | ||
|
|
6eb3b0b1c2 | ||
|
|
53c282c86e | ||
|
|
959434601d | ||
|
|
c6c7d7832a | ||
|
|
edb254e43e | ||
|
|
455ef6f084 | ||
|
|
61efb2bb39 | ||
|
|
856ec08484 | ||
|
|
31005c5984 | ||
|
|
14ce2337df | ||
|
|
e0517852bc | ||
|
|
e4d3235b9c | ||
|
|
5ccf4a1783 | ||
|
|
1ef9f7f8fd | ||
|
|
376bdc75f4 | ||
|
|
c8e93e7a61 | ||
|
|
bb8d2c994c | ||
|
|
fb6c72a247 | ||
|
|
a8a8ac71b6 | ||
|
|
8b2c981fc3 | ||
|
|
108a91d788 | ||
|
|
1f1c01d88e | ||
|
|
90339511aa | ||
|
|
a9b761f862 | ||
|
|
4ec824d71e | ||
|
|
bb9dd7b8cc | ||
|
|
b291835ccd | ||
|
|
2e930eb97b | ||
|
|
00dadc1a89 | ||
|
|
b4ceda6f2c | ||
|
|
7ea73d8265 | ||
|
|
9e760e54a5 | ||
|
|
e614f07795 | ||
|
|
81d8f257aa | ||
|
|
dbb572eec1 | ||
|
|
2b453219fc | ||
|
|
ca44a31420 | ||
|
|
4620025dcd | ||
|
|
5df9a8ab99 | ||
|
|
731822efac | ||
|
|
a24d7e8ecd | ||
|
|
729ce1dc50 | ||
|
|
31dd32dcdf | ||
|
|
6850019649 | ||
|
|
2788739c1e | ||
|
|
9f77793f16 | ||
|
|
a0f17f8e73 | ||
|
|
dc5bff9008 | ||
|
|
8521796811 | ||
|
|
61d4593236 | ||
|
|
3bc74f219a | ||
|
|
886281f81a | ||
|
|
9eede907f8 | ||
|
|
6f5fea6b52 | ||
|
|
3ca3707603 | ||
|
|
d7bf73cffa | ||
|
|
8de0fe78ea | ||
|
|
87f1f6e15c | ||
|
|
7afe3cccd6 | ||
|
|
30d68a31e0 | ||
|
|
d79e561248 | ||
|
|
03abde6993 | ||
|
|
c7370e214f | ||
|
|
3125bc8a16 | ||
|
|
7bbd70a7e2 | ||
|
|
acb5eeb281 | ||
|
|
b8838bd9b9 | ||
|
|
d42ee40b17 | ||
|
|
19f1e089bd | ||
|
|
bddffbb04f | ||
|
|
2b88c13002 | ||
|
|
988b680244 | ||
|
|
4d74724a34 | ||
|
|
b6fe43b63a | ||
|
|
d39fa07620 | ||
|
|
34a4efbc59 | ||
|
|
d34ebcfe9a | ||
|
|
7b5f026b8b | ||
|
|
630009e28f | ||
|
|
9727bcc281 | ||
|
|
3c96ccf990 | ||
|
|
74791fd619 | ||
|
|
ee3f3fc799 | ||
|
|
7bcd5f5bcb | ||
|
|
af027cf980 | ||
|
|
b3e2e8e123 | ||
|
|
43408c1b6d | ||
|
|
609f789807 | ||
|
|
cacc90c224 | ||
|
|
a76c3b5f3f | ||
|
|
ae4e55bf3a | ||
|
|
07ba0281f7 | ||
|
|
d5babf4237 | ||
|
|
9e86a02a91 | ||
|
|
e28382afc1 | ||
|
|
1f2d7da426 | ||
|
|
f996f71d16 | ||
|
|
f51c9f578c | ||
|
|
ba90a6a4bf | ||
|
|
947ab72441 | ||
|
|
5245c54de9 | ||
|
|
e39638bdcd | ||
|
|
839b79ffd0 | ||
|
|
ce99764772 | ||
|
|
058fdca981 | ||
|
|
2f80c4dee5 | ||
|
|
f46f1bead4 | ||
|
|
4f690affc9 | ||
|
|
413fef332a | ||
|
|
63d547fb4a | ||
|
|
3221c89218 | ||
|
|
b634ba7f54 | ||
|
|
49885f8eae | ||
|
|
71d1205f53 | ||
|
|
15d488b9aa | ||
|
|
bdece96510 | ||
|
|
b1de82ddad | ||
|
|
5dacfd5cda | ||
|
|
e609a6a038 | ||
|
|
1f26feca2e | ||
|
|
51354c894a | ||
|
|
53d8e32961 | ||
|
|
dc5f2d35ac | ||
|
|
d2b0e0fa2d | ||
|
|
28ea3ddd51 | ||
|
|
81a6e42620 | ||
|
|
015fd4a05b | ||
|
|
5e977cf5a7 | ||
|
|
e92af10f14 | ||
|
|
d1d01482df | ||
|
|
8aa3157307 | ||
|
|
b84c8ff960 | ||
|
|
7db9bcaeac | ||
|
|
a9cc23f242 | ||
|
|
575fb43f9c | ||
|
|
2cd915fb4d | ||
|
|
b60bd17d1d | ||
|
|
c6634d03ad | ||
|
|
fa3c882656 | ||
|
|
e58d73525b | ||
|
|
ebc0ed8a31 | ||
|
|
2beb485d77 | ||
|
|
a203e3ffaf | ||
|
|
4b6cae156e | ||
|
|
65dc3505c4 | ||
|
|
079ec864de | ||
|
|
7c4aecf834 | ||
|
|
d6980a9493 | ||
|
|
d1ae0d784e | ||
|
|
2cbab9b875 | ||
|
|
22d38c2af4 | ||
|
|
7a5d958aba | ||
|
|
27195c7c96 | ||
|
|
54cb99eae3 | ||
|
|
7926bf066a | ||
|
|
a984aaae36 | ||
|
|
bb0cf3bf78 | ||
|
|
b92f8bc514 | ||
|
|
1a7b09e576 | ||
|
|
ee418ffefa | ||
|
|
98cbb7e900 | ||
|
|
867aa9dd86 | ||
|
|
4f398d8edc | ||
|
|
93b70b98bb | ||
|
|
5a284df51d | ||
|
|
784a62eae8 | ||
|
|
f3be246df3 | ||
|
|
9fdeb5f826 | ||
|
|
e216547084 | ||
|
|
92b1f314ef | ||
|
|
6e0dd271f5 | ||
|
|
185bbb4c20 | ||
|
|
50c92034ba | ||
|
|
9661c1d081 | ||
|
|
6f8d6c81d5 | ||
|
|
70b1077286 | ||
|
|
bcae2810b9 | ||
|
|
303c52f134 | ||
|
|
187c74ae09 | ||
|
|
0589fa7f3e | ||
|
|
cb197fd01f | ||
|
|
cfcc24a341 | ||
|
|
4f29908aa9 | ||
|
|
e85142f996 | ||
|
|
78b0b3047c | ||
|
|
751a0a93ef | ||
|
|
c9088f4955 | ||
|
|
ab1cca0c40 | ||
|
|
8f82219986 | ||
|
|
f5e53c9661 | ||
|
|
b998933ef0 | ||
|
|
ac26622d6e | ||
|
|
976e35d547 | ||
|
|
1319ce4bc1 | ||
|
|
614a8f106d | ||
|
|
888da9c1ab | ||
|
|
9f8448bb15 | ||
|
|
0adfebee85 | ||
|
|
9368485594 | ||
|
|
8bcfd2429d | ||
|
|
42c8ce68ad | ||
|
|
0b113815c9 | ||
|
|
7378eff0ca | ||
|
|
f0a34aa587 | ||
|
|
e1fc239f3d | ||
|
|
8abbece7c4 | ||
|
|
f8b923edfe | ||
|
|
de54c0b41f | ||
|
|
021d077808 | ||
|
|
a10a15b2c3 | ||
|
|
c6a2d86ba6 | ||
|
|
c59d3bda7e | ||
|
|
dc5cd93bf0 | ||
|
|
d4b21f532a | ||
|
|
60694838f3 | ||
|
|
079b86044e | ||
|
|
0b1c3208a0 | ||
|
|
2f7e6230a6 | ||
|
|
1f4e1811de | ||
|
|
948556def5 | ||
|
|
c9b143b509 | ||
|
|
7d41805d0e | ||
|
|
54d7b742ab | ||
|
|
2aff3ced52 | ||
|
|
7497f0ca52 | ||
|
|
42f2b965d1 | ||
|
|
70405d9026 | ||
|
|
4c5e9c005c | ||
|
|
789469f784 | ||
|
|
643163cc24 | ||
|
|
e98881cc56 | ||
|
|
ab36dfe5ef | ||
|
|
3892f2a1fa | ||
|
|
abf624b994 | ||
|
|
05ceb25abc | ||
|
|
5cb86b1367 | ||
|
|
a515a399cf | ||
|
|
a87e7fde03 | ||
|
|
a7078e5702 | ||
|
|
92b8768ae2 | ||
|
|
a2c2b8b5ad | ||
|
|
2dfd7472a4 | ||
|
|
ab91abb144 | ||
|
|
6f00a87a9c | ||
|
|
ab01b8fc63 | ||
|
|
10b7c3e0ac | ||
|
|
fc57fb22a5 | ||
|
|
fad00fedaa | ||
|
|
b7699012b2 | ||
|
|
cf57cb73f0 | ||
|
|
a2a642a5b1 | ||
|
|
547c8004eb | ||
|
|
cc3f4bb0b0 | ||
|
|
5567a41a2a | ||
|
|
bcb7617630 | ||
|
|
fe0036e707 | ||
|
|
b1c9716fec | ||
|
|
c100b68ad1 | ||
|
|
085ef5df8f | ||
|
|
ba28f6bf73 | ||
|
|
919abd2c03 | ||
|
|
31803a2f53 | ||
|
|
a4c34ad759 | ||
|
|
3be633f6f1 | ||
|
|
1eb8b0ceef | ||
|
|
bf4d696f17 | ||
|
|
7cd6bfc8a4 | ||
|
|
56f561cdaa | ||
|
|
3b36ce560c | ||
|
|
09776e9a5a | ||
|
|
913001e44c | ||
|
|
5057a4e1b2 | ||
|
|
afea92c01d | ||
|
|
a764d16674 | ||
|
|
854e37c05c | ||
|
|
2d58e845e6 | ||
|
|
6db1b3fef8 | ||
|
|
c14a2d73bf | ||
|
|
ff1d040a6e | ||
|
|
225e56cbca | ||
|
|
82306c5a85 | ||
|
|
a7b5e2565b | ||
|
|
d541259da9 | ||
|
|
ed231abb54 | ||
|
|
e3a7f2f2e7 | ||
|
|
b9e96f62ef | ||
|
|
51137cf001 | ||
|
|
cb9c12d495 | ||
|
|
3662a6a41d | ||
|
|
93ec962aae | ||
|
|
90baa38f64 | ||
|
|
2ce07865d3 | ||
|
|
6b847cdb62 | ||
|
|
df13a4cc2f | ||
|
|
700dc05b55 | ||
|
|
ce9f10b387 | ||
|
|
3eba6bf3dd | ||
|
|
779dd2d798 | ||
|
|
6f99e9959d | ||
|
|
1fd7ba7c88 | ||
|
|
febdf4c61e | ||
|
|
c798a68e5d | ||
|
|
663372a23e | ||
|
|
7fed467354 | ||
|
|
9a43acb65c | ||
|
|
54eedaeeff | ||
|
|
b970eb8b15 | ||
|
|
352b82bc0b | ||
|
|
878f76455b | ||
|
|
5c9e8fb4da | ||
|
|
5ea131c763 | ||
|
|
8d6e79a16f | ||
|
|
7ac7a40aec | ||
|
|
3342fa1440 | ||
|
|
fe4eb8e6db | ||
|
|
a819b1feaa | ||
|
|
8205000195 | ||
|
|
4387e09ee8 | ||
|
|
3be6390a12 | ||
|
|
c33b9922a5 | ||
|
|
c25ef357a5 | ||
|
|
09e64594db | ||
|
|
1663c7983e | ||
|
|
1f5d7072e7 | ||
|
|
37fb6d12da | ||
|
|
94c64235d4 | ||
|
|
8b89cc69c1 | ||
|
|
8a5f7ec4d7 | ||
|
|
5401cf9647 | ||
|
|
494ac04f8e | ||
|
|
2a6be127ef | ||
|
|
4de180feee | ||
|
|
852596dbe6 | ||
|
|
84dff3601a | ||
|
|
b565b67cc7 | ||
|
|
12634d0bd6 | ||
|
|
fda57420a5 | ||
|
|
bf0cfc4704 | ||
|
|
4af0365719 | ||
|
|
30d2a2bce5 | ||
|
|
e82f993d94 | ||
|
|
9e8304c16f | ||
|
|
efa00fd9c6 | ||
|
|
e90d2c2cfe | ||
|
|
30735b339d | ||
|
|
7eb7a7fa36 | ||
|
|
0e68c433db | ||
|
|
95da0913f6 | ||
|
|
5f539619bc | ||
|
|
5d16e4aefe | ||
|
|
ac4ee1b005 | ||
|
|
9ebdd4d79a | ||
|
|
dc02cb8119 | ||
|
|
eb1e36ca22 | ||
|
|
f8cf1983a4 | ||
|
|
8338d1d5b4 | ||
|
|
62c553edeb | ||
|
|
37fc2068b5 | ||
|
|
15d2ca0c06 | ||
|
|
4d34eefde4 | ||
|
|
73112fa3c9 | ||
|
|
6119d4384a | ||
|
|
4409dadfe2 | ||
|
|
3a4d8a7bbd | ||
|
|
578ca230fe | ||
|
|
d07f9d746a | ||
|
|
48b49cdea4 | ||
|
|
168baae118 | ||
|
|
693b073088 | ||
|
|
2c5b5d4117 | ||
|
|
f704ade417 | ||
|
|
d8f55923c9 | ||
|
|
a626372d66 | ||
|
|
325b20491a | ||
|
|
d84aeef0bb | ||
|
|
faa6a3dec0 | ||
|
|
d2cab83003 | ||
|
|
91c7e3d5f3 | ||
|
|
cd693b5fa4 | ||
|
|
63123471b3 | ||
|
|
ecc213b06f | ||
|
|
b584212edb | ||
|
|
4385349e36 | ||
|
|
9ef9ff3de8 | ||
|
|
4d12134552 | ||
|
|
7199b6c094 | ||
|
|
15c7d26378 | ||
|
|
033075c023 | ||
|
|
4c68fa46e7 | ||
|
|
a793017628 | ||
|
|
56a0a0db18 | ||
|
|
3595783202 | ||
|
|
67ac3a5173 | ||
|
|
3f4832631f | ||
|
|
542d0140f2 | ||
|
|
d9408eae44 | ||
|
|
644c48ba46 | ||
|
|
687894584f | ||
|
|
f03a0d8015 | ||
|
|
3a2b805a55 | ||
|
|
ae89a81ecb | ||
|
|
79fd881ad5 | ||
|
|
eac3ae5627 | ||
|
|
ee9a2952d6 | ||
|
|
11644241fa | ||
|
|
a7d964212e | ||
|
|
4d5241486f | ||
|
|
1467610109 | ||
|
|
267d9606f8 | ||
|
|
22c1608745 | ||
|
|
c97e058bc6 | ||
|
|
8a710f85e2 | ||
|
|
6ea9c0c48d | ||
|
|
67b28a7864 | ||
|
|
b21d5934e6 | ||
|
|
a06a6ccaa6 | ||
|
|
5b4987e160 | ||
|
|
364126d2e4 | ||
|
|
d68f30769a | ||
|
|
d0153065b0 | ||
|
|
af580c9977 | ||
|
|
88e6b572a8 | ||
|
|
600d92100c | ||
|
|
ce1ee98a12 | ||
|
|
f2783fbb55 | ||
|
|
968762cb3e | ||
|
|
da09316d4c | ||
|
|
b839663c48 | ||
|
|
01d1c67869 | ||
|
|
94d7e5964b | ||
|
|
f5c038cd1b | ||
|
|
616bb383c5 | ||
|
|
7614f166d8 | ||
|
|
6e02e29e4e | ||
|
|
d847f75ade | ||
|
|
314c7b8d2a | ||
|
|
2195529c26 | ||
|
|
f9f8ef0e17 | ||
|
|
9ad79625e0 | ||
|
|
603ca0963a | ||
|
|
0c18fb575e | ||
|
|
a08a66df92 | ||
|
|
af3743f09e | ||
|
|
a6aaaa5525 | ||
|
|
f0270f69f0 | ||
|
|
426fe96e5f | ||
|
|
42d238da14 | ||
|
|
8806d17ef1 | ||
|
|
d871e21a40 | ||
|
|
14a57795d5 | ||
|
|
93e9517f5d | ||
|
|
dda272220b | ||
|
|
125a352bc2 | ||
|
|
b7a3c6b6ca | ||
|
|
72256565bb | ||
|
|
d5a208cf69 | ||
|
|
cc931d20c2 | ||
|
|
0e38e9417d | ||
|
|
c116815c14 | ||
|
|
53d183ae03 | ||
|
|
93c75901cf | ||
|
|
e8e13674ef | ||
|
|
b9f9fc0afe | ||
|
|
8a554a5538 | ||
|
|
7d244051c8 | ||
|
|
84b54f549a | ||
|
|
c26114b66a | ||
|
|
98da9b56e9 | ||
|
|
9610a33d23 | ||
|
|
1ac292285e | ||
|
|
30c3892f9d | ||
|
|
1571dff3ef | ||
|
|
024c442087 | ||
|
|
7249cf0001 | ||
|
|
ffd6a8424b | ||
|
|
322c788760 | ||
|
|
6ff4704345 | ||
|
|
9b09116576 | ||
|
|
342a398bec | ||
|
|
61439132a4 | ||
|
|
14f2b0ab0e | ||
|
|
5413cf9f1f | ||
|
|
707d8eddc5 | ||
|
|
901bcd5c43 | ||
|
|
abd2314894 | ||
|
|
fb5cbc43a2 | ||
|
|
31efaf6dbf | ||
|
|
2f38390b48 | ||
|
|
138ffc4e93 | ||
|
|
ba8ba79335 | ||
|
|
353610ce61 | ||
|
|
143acf2330 | ||
|
|
bd77a5557d | ||
|
|
163ff71ece | ||
|
|
6a9a4f10f0 | ||
|
|
663b66ca1d | ||
|
|
029dc948fe | ||
|
|
4001166ecc | ||
|
|
b4534e56e4 | ||
|
|
4b72b60f1a | ||
|
|
23c846d4b9 | ||
|
|
d544328ffe | ||
|
|
6585fabdb1 | ||
|
|
e6be1021f9 | ||
|
|
d1dc7ec7bf | ||
|
|
f74c99be9d | ||
|
|
032ef62b14 | ||
|
|
329d14957b | ||
|
|
8bce382834 | ||
|
|
657c85638c | ||
|
|
483fd124fc | ||
|
|
c3ace82db8 | ||
|
|
88b0af1696 | ||
|
|
fc0122ce76 | ||
|
|
d0c522ee46 | ||
|
|
f11eab06c3 | ||
|
|
9bbb953e26 | ||
|
|
f21283d829 | ||
|
|
94de5c4e7e | ||
|
|
dc645b3906 | ||
|
|
f758dfcbe1 | ||
|
|
fdfd51c0fd | ||
|
|
7244754d28 | ||
|
|
4e6a5893e7 | ||
|
|
7cc111f790 | ||
|
|
7de9c14a2c | ||
|
|
a86b223aed | ||
|
|
810a2c8fc1 | ||
|
|
6b6798bee6 | ||
|
|
e355b18c0c | ||
|
|
a4f8315602 | ||
|
|
6df0ea153d | ||
|
|
74624828e7 | ||
|
|
55cb1c54e0 | ||
|
|
bd042d0fff | ||
|
|
aa8254963c | ||
|
|
04c7c0bb66 | ||
|
|
279dcabf38 | ||
|
|
9ee4f58e1b | ||
|
|
b6b8a06fda | ||
|
|
6de7320ef4 | ||
|
|
b80022133c | ||
|
|
810c72a30c | ||
|
|
9bee2d430c | ||
|
|
de6cbd382f | ||
|
|
561a159aec | ||
|
|
7f7564b581 | ||
|
|
4050ea07eb | ||
|
|
5266f236b7 | ||
|
|
d37d7b9811 | ||
|
|
76bd1017f4 | ||
|
|
2b3c829662 | ||
|
|
da5dba997d | ||
|
|
2394da419e | ||
|
|
3182c6981c | ||
|
|
e371f68d66 | ||
|
|
44c33cd12a | ||
|
|
4066df8652 | ||
|
|
a6d8383e43 | ||
|
|
69bd90b038 | ||
|
|
5de7db2be0 | ||
|
|
46ce8780f2 | ||
|
|
af5dae8682 | ||
|
|
1737de7c10 | ||
|
|
7c393e5aa0 | ||
|
|
9a5d68f1f4 | ||
|
|
f6776c7d6b | ||
|
|
ea6ddd5df6 | ||
|
|
e7808981cf | ||
|
|
78a1b211a1 | ||
|
|
4d164d5854 | ||
|
|
21049bae91 | ||
|
|
82907672d9 | ||
|
|
7efe05baf2 | ||
|
|
46b15f6040 | ||
|
|
3de5ce74e1 | ||
|
|
676c93411e | ||
|
|
214dfab269 | ||
|
|
e1b3193b04 | ||
|
|
f42ec6a124 | ||
|
|
e3770bc9e1 | ||
|
|
4dbd8054e8 | ||
|
|
1ea5c5d821 | ||
|
|
c9fb59a158 | ||
|
|
02225e6a33 | ||
|
|
ebfbee3da5 | ||
|
|
eff9cd10cd | ||
|
|
94d3fc9fde | ||
|
|
d049c97884 | ||
|
|
e2bae4cf07 | ||
|
|
8b5d4c0236 | ||
|
|
bbe3bc95d0 | ||
|
|
38e7d0a41e | ||
|
|
6e19c06e58 | ||
|
|
af5a3e5a48 | ||
|
|
00403515a8 | ||
|
|
8a42601e99 | ||
|
|
af9524920b | ||
|
|
4bdc6a0021 | ||
|
|
87065d0387 | ||
|
|
e3d734c890 | ||
|
|
0c83f48f78 | ||
|
|
ac0cb9db5a |
12
.coderabbit.yml
Normal file
12
.coderabbit.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
reviews:
|
||||
auto_review:
|
||||
ignore_title_keywords:
|
||||
- "sync translations"
|
||||
- "update POT file"
|
||||
- "style: "
|
||||
review_status: false
|
||||
poem: false
|
||||
collapse_walkthrough: true
|
||||
sequence_diagrams: false
|
||||
changed_files_summary: false
|
||||
high_level_summary: false
|
||||
@@ -42,3 +42,6 @@ a308792ee7fda18a681e9181f4fd00b36385bc23
|
||||
# noisy typing refactoring of get_item_details
|
||||
7b7211ac79c248a79ba8a999ff34e734d874c0ae
|
||||
d827ed21adc7b36047e247cbb0dc6388d048a7f9
|
||||
|
||||
# `frappe.flags.in_test` => `frappe.in_test`
|
||||
7a482a69985c952de0e8193c9d4e086aee65ee6d
|
||||
|
||||
1
.github/helper/documentation.py
vendored
1
.github/helper/documentation.py
vendored
@@ -10,6 +10,7 @@ WEBSITE_REPOS = [
|
||||
|
||||
DOCUMENTATION_DOMAINS = [
|
||||
"docs.erpnext.com",
|
||||
"docs.frappe.io",
|
||||
"frappeframework.com",
|
||||
]
|
||||
|
||||
|
||||
14
.github/helper/install.sh
vendored
14
.github/helper/install.sh
vendored
@@ -6,7 +6,7 @@ cd ~ || exit
|
||||
|
||||
sudo apt update
|
||||
sudo apt remove mysql-server mysql-client
|
||||
sudo apt install libcups2-dev redis-server mariadb-client-10.6
|
||||
sudo apt install libcups2-dev redis-server mariadb-client libmariadb-dev
|
||||
|
||||
pip install frappe-bench
|
||||
|
||||
@@ -51,13 +51,9 @@ fi
|
||||
|
||||
|
||||
install_whktml() {
|
||||
if [ "$(lsb_release -rs)" = "22.04" ]; then
|
||||
wget -O /tmp/wkhtmltox.deb https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb
|
||||
sudo apt install /tmp/wkhtmltox.deb
|
||||
else
|
||||
echo "Please update this script to support wkhtmltopdf for $(lsb_release -ds)"
|
||||
exit 1
|
||||
fi
|
||||
wget -O /tmp/wkhtmltox.deb https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb
|
||||
sudo apt install /tmp/wkhtmltox.deb
|
||||
|
||||
}
|
||||
install_whktml &
|
||||
wkpid=$!
|
||||
@@ -70,7 +66,7 @@ sed -i 's/schedule:/# schedule:/g' Procfile
|
||||
sed -i 's/socketio:/# socketio:/g' Procfile
|
||||
sed -i 's/redis_socketio:/# redis_socketio:/g' Procfile
|
||||
|
||||
bench get-app payments --branch ${githubbranch%"-hotfix"}
|
||||
bench get-app payments --branch develop
|
||||
bench get-app erpnext "${GITHUB_WORKSPACE}"
|
||||
|
||||
if [ "$TYPE" == "server" ]; then bench setup requirements --dev; fi
|
||||
|
||||
1
.github/helper/site_config_mariadb.json
vendored
1
.github/helper/site_config_mariadb.json
vendored
@@ -8,6 +8,7 @@
|
||||
"mail_login": "test@example.com",
|
||||
"mail_password": "test",
|
||||
"admin_password": "admin",
|
||||
"use_mysqlclient": 1,
|
||||
"root_login": "root",
|
||||
"root_password": "root",
|
||||
"host_name": "http://test_site:8000",
|
||||
|
||||
4
.github/release.yml
vendored
Normal file
4
.github/release.yml
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
changelog:
|
||||
exclude:
|
||||
labels:
|
||||
- skip-release-notes
|
||||
3
.github/workflows/backport.yml
vendored
3
.github/workflows/backport.yml
vendored
@@ -5,6 +5,9 @@ on:
|
||||
- closed
|
||||
- labeled
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
4
.github/workflows/docker-release.yml
vendored
4
.github/workflows/docker-release.yml
vendored
@@ -2,6 +2,10 @@ name: Trigger Docker build on release
|
||||
on:
|
||||
release:
|
||||
types: [released]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
curl:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
3
.github/workflows/docs-checker.yml
vendored
3
.github/workflows/docs-checker.yml
vendored
@@ -3,6 +3,9 @@ on:
|
||||
pull_request:
|
||||
types: [ opened, synchronize, reopened, edited ]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
4
.github/workflows/initiate_release.yml
vendored
4
.github/workflows/initiate_release.yml
vendored
@@ -2,6 +2,10 @@
|
||||
# To add/remove versions just modify the matrix.
|
||||
|
||||
name: Create weekly release pull requests
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
schedule:
|
||||
# 9:30 UTC => 3 PM IST Tuesday
|
||||
|
||||
30
.github/workflows/label-base-on-title.yml
vendored
Normal file
30
.github/workflows/label-base-on-title.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
name: "Auto-label PRs based on title"
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened, reopened]
|
||||
|
||||
jobs:
|
||||
add-label-if-prefix-matches:
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check PR title and add label if it matches prefixes
|
||||
uses: actions/github-script@v7
|
||||
continue-on-error: true
|
||||
with:
|
||||
script: |
|
||||
const title = context.payload.pull_request.title.toLowerCase();
|
||||
const prefixes = ['chore', 'ci', 'style', 'test', 'refactor'];
|
||||
|
||||
// Check if the PR title starts with any of the prefixes
|
||||
if (prefixes.some(prefix => title.startsWith(prefix))) {
|
||||
await github.rest.issues.addLabels({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: context.payload.pull_request.number,
|
||||
labels: ['skip-release-notes']
|
||||
});
|
||||
}
|
||||
4
.github/workflows/labeller.yml
vendored
4
.github/workflows/labeller.yml
vendored
@@ -3,6 +3,10 @@ on:
|
||||
pull_request_target:
|
||||
types: [opened, reopened]
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
3
.github/workflows/linters.yml
vendored
3
.github/workflows/linters.yml
vendored
@@ -3,6 +3,9 @@ name: Linters
|
||||
on:
|
||||
pull_request: { }
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
|
||||
linters:
|
||||
|
||||
8
.github/workflows/patch.yml
vendored
8
.github/workflows/patch.yml
vendored
@@ -8,8 +8,14 @@ on:
|
||||
- '**.md'
|
||||
- '**.html'
|
||||
- '**.csv'
|
||||
- 'crowdin.yml'
|
||||
- '.coderabbit.yml'
|
||||
- '.mergify.yml'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: patch-develop-${{ github.event_name }}-${{ github.event.number || github.event_name == 'workflow_dispatch' && github.run_id || '' }}
|
||||
cancel-in-progress: true
|
||||
@@ -36,7 +42,7 @@ jobs:
|
||||
|
||||
- name: Check for valid Python & Merge Conflicts
|
||||
run: |
|
||||
python -m compileall -f "${GITHUB_WORKSPACE}"
|
||||
python -m compileall -fq "${GITHUB_WORKSPACE}"
|
||||
if grep -lr --exclude-dir=node_modules "^<<<<<<< " "${GITHUB_WORKSPACE}"
|
||||
then echo "Found merge conflicts"
|
||||
exit 1
|
||||
|
||||
6
.github/workflows/patch_faux.yml
vendored
6
.github/workflows/patch_faux.yml
vendored
@@ -10,6 +10,12 @@ on:
|
||||
- "**.md"
|
||||
- "**.html"
|
||||
- "**.csv"
|
||||
- 'crowdin.yml'
|
||||
- '.coderabbit.yml'
|
||||
- '.mergify.yml'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
@@ -3,6 +3,10 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- version-13
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
release:
|
||||
name: Release
|
||||
|
||||
3
.github/workflows/run-indinvidual-tests.yml
vendored
3
.github/workflows/run-indinvidual-tests.yml
vendored
@@ -7,6 +7,9 @@ concurrency:
|
||||
group: server-individual-tests-develop-${{ github.event_name }}-${{ github.event.number || github.event_name == 'workflow_dispatch' && github.run_id || '' }}
|
||||
cancel-in-progress: false
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
discover:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@@ -9,6 +9,12 @@ on:
|
||||
- "**.css"
|
||||
- "**.md"
|
||||
- "**.html"
|
||||
- 'crowdin.yml'
|
||||
- '.coderabbit.yml'
|
||||
- '.mergify.yml'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
12
.github/workflows/server-tests-mariadb.yml
vendored
12
.github/workflows/server-tests-mariadb.yml
vendored
@@ -9,6 +9,9 @@ on:
|
||||
- '**.css'
|
||||
- '**.md'
|
||||
- '**.html'
|
||||
- 'crowdin.yml'
|
||||
- '.coderabbit.yml'
|
||||
- '.mergify.yml'
|
||||
schedule:
|
||||
# Run everday at midnight UTC / 5:30 IST
|
||||
- cron: "0 0 * * *"
|
||||
@@ -25,6 +28,9 @@ on:
|
||||
required: false
|
||||
type: string
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: server-mariadb-develop-${{ github.event_name }}-${{ github.event.number || github.event_name == 'workflow_dispatch' && github.run_id || '' }}
|
||||
cancel-in-progress: true
|
||||
@@ -65,7 +71,7 @@ jobs:
|
||||
|
||||
- name: Check for valid Python & Merge Conflicts
|
||||
run: |
|
||||
python -m compileall -f "${GITHUB_WORKSPACE}"
|
||||
python -m compileall -fq "${GITHUB_WORKSPACE}"
|
||||
if grep -lr --exclude-dir=node_modules "^<<<<<<< " "${GITHUB_WORKSPACE}"
|
||||
then echo "Found merge conflicts"
|
||||
exit 1
|
||||
@@ -133,7 +139,7 @@ jobs:
|
||||
run: cat ~/frappe-bench/bench_start.log || true
|
||||
|
||||
- name: Upload coverage data
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
if: github.event_name != 'pull_request'
|
||||
with:
|
||||
name: coverage-${{ matrix.container }}
|
||||
@@ -149,7 +155,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v3
|
||||
uses: actions/download-artifact@v4
|
||||
|
||||
- name: Upload coverage data
|
||||
uses: codecov/codecov-action@v4
|
||||
|
||||
8
.github/workflows/server-tests-postgres.yml
vendored
8
.github/workflows/server-tests-postgres.yml
vendored
@@ -6,12 +6,18 @@ on:
|
||||
- '**.js'
|
||||
- '**.md'
|
||||
- '**.html'
|
||||
- 'crowdin.yml'
|
||||
- '.coderabbit.yml'
|
||||
- '.mergify.yml'
|
||||
types: [opened, labelled, synchronize, reopened]
|
||||
|
||||
concurrency:
|
||||
group: server-postgres-develop-${{ github.event_name }}-${{ github.event.number || github.event_name == 'workflow_dispatch' && github.run_id || '' }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
test:
|
||||
if: ${{ contains(github.event.pull_request.labels.*.name, 'postgres') }}
|
||||
@@ -50,7 +56,7 @@ jobs:
|
||||
|
||||
- name: Check for valid Python & Merge Conflicts
|
||||
run: |
|
||||
python -m compileall -f "${GITHUB_WORKSPACE}"
|
||||
python -m compileall -fq "${GITHUB_WORKSPACE}"
|
||||
if grep -lr --exclude-dir=node_modules "^<<<<<<< " "${GITHUB_WORKSPACE}"
|
||||
then echo "Found merge conflicts"
|
||||
exit 1
|
||||
|
||||
56
.mergify.yml
56
.mergify.yml
@@ -2,29 +2,27 @@ pull_request_rules:
|
||||
- name: Auto-close PRs on stable branch
|
||||
conditions:
|
||||
- and:
|
||||
- and:
|
||||
- author!=surajshetty3416
|
||||
- author!=gavindsouza
|
||||
- author!=rohitwaghchaure
|
||||
- author!=nabinhait
|
||||
- author!=ankush
|
||||
- author!=deepeshgarg007
|
||||
- author!=frappe-pr-bot
|
||||
- author!=mergify[bot]
|
||||
|
||||
- or:
|
||||
- base=version-13
|
||||
- base=version-12
|
||||
- base=version-14
|
||||
- base=version-15
|
||||
- base=version-16
|
||||
- and:
|
||||
- author!=surajshetty3416
|
||||
- author!=gavindsouza
|
||||
- author!=rohitwaghchaure
|
||||
- author!=nabinhait
|
||||
- author!=ankush
|
||||
- author!=deepeshgarg007
|
||||
- author!=frappe-pr-bot
|
||||
- author!=mergify[bot]
|
||||
- or:
|
||||
- base=version-13
|
||||
- base=version-12
|
||||
- base=version-14
|
||||
- base=version-15
|
||||
- base=version-16
|
||||
actions:
|
||||
close:
|
||||
comment:
|
||||
message: |
|
||||
@{{author}}, thanks for the contribution, but we do not accept pull requests on a stable branch. Please raise PR on an appropriate hotfix branch.
|
||||
https://github.com/frappe/erpnext/wiki/Pull-Request-Checklist#which-branch
|
||||
|
||||
message: |
|
||||
@{{author}}, thanks for the contribution, but we do not accept pull requests on a stable branch. Please raise PR on an appropriate hotfix branch.
|
||||
https://github.com/frappe/erpnext/wiki/Pull-Request-Checklist#which-branch
|
||||
- name: backport to develop
|
||||
conditions:
|
||||
- label="backport develop"
|
||||
@@ -34,7 +32,6 @@ pull_request_rules:
|
||||
- develop
|
||||
assignees:
|
||||
- "{{ author }}"
|
||||
|
||||
- name: backport to version-14-hotfix
|
||||
conditions:
|
||||
- label="backport version-14-hotfix"
|
||||
@@ -44,7 +41,6 @@ pull_request_rules:
|
||||
- version-14-hotfix
|
||||
assignees:
|
||||
- "{{ author }}"
|
||||
|
||||
- name: backport to version-15-hotfix
|
||||
conditions:
|
||||
- label="backport version-15-hotfix"
|
||||
@@ -54,18 +50,6 @@ pull_request_rules:
|
||||
- version-15-hotfix
|
||||
assignees:
|
||||
- "{{ author }}"
|
||||
|
||||
- name: backport to version-13-hotfix
|
||||
conditions:
|
||||
- label="backport version-13-hotfix"
|
||||
actions:
|
||||
backport:
|
||||
branches:
|
||||
- version-13-hotfix
|
||||
assignees:
|
||||
- "{{ author }}"
|
||||
|
||||
|
||||
- name: Automatic merge on CI success and review
|
||||
conditions:
|
||||
- status-success=linters
|
||||
@@ -96,6 +80,6 @@ pull_request_rules:
|
||||
merge:
|
||||
method: squash
|
||||
commit_message_template: |
|
||||
{{ title }} (#{{ number }})
|
||||
{{ title }} (#{{ number }})
|
||||
|
||||
{{ body }}
|
||||
{{ body }}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
exclude: 'node_modules|.git'
|
||||
default_stages: [commit]
|
||||
default_stages: [pre-commit]
|
||||
fail_fast: false
|
||||
|
||||
|
||||
@@ -32,8 +32,6 @@ repos:
|
||||
cypress/.*|
|
||||
.*node_modules.*|
|
||||
.*boilerplate.*|
|
||||
erpnext/public/js/controllers/.*|
|
||||
erpnext/templates/pages/order.js|
|
||||
erpnext/templates/includes/.*
|
||||
)$
|
||||
|
||||
|
||||
13
CODEOWNERS
13
CODEOWNERS
@@ -8,17 +8,16 @@ erpnext/assets/ @khushi8112
|
||||
erpnext/regional @ruthra-kumar
|
||||
erpnext/selling @ruthra-kumar
|
||||
erpnext/support/ @ruthra-kumar
|
||||
pos*
|
||||
|
||||
erpnext/buying/ @rohitwaghchaure
|
||||
erpnext/buying/ @rohitwaghchaure @mihir-kandoi
|
||||
erpnext/maintenance/ @rohitwaghchaure
|
||||
erpnext/manufacturing/ @rohitwaghchaure
|
||||
erpnext/manufacturing/ @rohitwaghchaure @mihir-kandoi
|
||||
erpnext/quality_management/ @rohitwaghchaure
|
||||
erpnext/stock/ @rohitwaghchaure
|
||||
erpnext/subcontracting @rohitwaghchaure
|
||||
erpnext/stock/ @rohitwaghchaure @mihir-kandoi
|
||||
erpnext/subcontracting @mihir-kandoi
|
||||
|
||||
erpnext/controllers/ @ruthra-kumar @rohitwaghchaure
|
||||
erpnext/controllers/ @ruthra-kumar @rohitwaghchaure @mihir-kandoi
|
||||
erpnext/patches/ @ruthra-kumar
|
||||
|
||||
.github/ @ruthra-kumar
|
||||
pyproject.toml @akhilnarang
|
||||
pyproject.toml @ruthra-kumar
|
||||
|
||||
167
README.md
167
README.md
@@ -1,57 +1,101 @@
|
||||
<div align="center">
|
||||
<a href="https://erpnext.com">
|
||||
<img src="https://raw.githubusercontent.com/frappe/erpnext/develop/erpnext/public/images/erpnext-logo.png" height="128">
|
||||
<a href="https://frappe.io/erpnext">
|
||||
<img src="./erpnext/public/images/v16/erpnext.svg" alt="ERPNext Logo" height="80px" width="80xp"/>
|
||||
</a>
|
||||
<h2>ERPNext</h2>
|
||||
<p align="center">
|
||||
<p>ERP made simple</p>
|
||||
<p>Powerful, Intuitive and Open-Source ERP</p>
|
||||
</p>
|
||||
|
||||
[](https://frappe.school)<br><br>
|
||||
[](https://github.com/frappe/erpnext/actions/workflows/server-tests-mariadb.yml)
|
||||
[](https://www.codetriage.com/frappe/erpnext)
|
||||
[](https://codecov.io/gh/frappe/erpnext)
|
||||
[](https://hub.docker.com/r/frappe/erpnext-worker)
|
||||
|
||||
[https://erpnext.com](https://erpnext.com)
|
||||
|
||||
</div>
|
||||
|
||||
ERPNext as a monolith includes the following areas for managing businesses:
|
||||
|
||||
1. [Accounting](https://erpnext.com/open-source-accounting)
|
||||
1. [Warehouse Management](https://erpnext.com/distribution/warehouse-management-system)
|
||||
1. [CRM](https://erpnext.com/open-source-crm)
|
||||
1. [Sales](https://erpnext.com/open-source-sales-purchase)
|
||||
1. [Purchase](https://erpnext.com/open-source-sales-purchase)
|
||||
1. [HRMS](https://erpnext.com/open-source-hrms)
|
||||
1. [Project Management](https://erpnext.com/open-source-projects)
|
||||
1. [Support](https://erpnext.com/open-source-help-desk-software)
|
||||
1. [Asset Management](https://erpnext.com/open-source-asset-management-software)
|
||||
1. [Quality Management](https://erpnext.com/docs/user/manual/en/quality-management)
|
||||
1. [Manufacturing](https://erpnext.com/open-source-manufacturing-erp-software)
|
||||
1. [Website Management](https://erpnext.com/open-source-website-builder-software)
|
||||
1. [Customize ERPNext](https://erpnext.com/docs/user/manual/en/customize-erpnext)
|
||||
1. [And More](https://erpnext.com/docs/user/manual/en/)
|
||||
|
||||
ERPNext is built on the [Frappe Framework](https://github.com/frappe/frappe), a full-stack web app framework built with Python & JavaScript.
|
||||
|
||||
## Installation
|
||||
|
||||
<div align="center" style="max-height: 40px;">
|
||||
<a href="https://frappecloud.com/erpnext/signup">
|
||||
<img src=".github/try-on-f-cloud-button.svg" height="40">
|
||||
</a>
|
||||
<a href="https://labs.play-with-docker.com/?stack=https://raw.githubusercontent.com/frappe/frappe_docker/main/pwd.yml">
|
||||
<img src="https://raw.githubusercontent.com/play-with-docker/stacks/master/assets/images/button.png" alt="Try in PWD" height="37"/>
|
||||
</a>
|
||||
<div align="center">
|
||||
<img src="./erpnext/public/images/v16/hero_image.png"/>
|
||||
</div>
|
||||
|
||||
> Login for the PWD site: (username: Administrator, password: admin)
|
||||
<div align="center">
|
||||
<a href="https://erpnext-demo.frappe.cloud/api/method/erpnext_demo.erpnext_demo.auth.login_demo">Live Demo</a>
|
||||
-
|
||||
<a href="https://frappe.io/erpnext">Website</a>
|
||||
-
|
||||
<a href="https://docs.frappe.io/erpnext/">Documentation</a>
|
||||
</div>
|
||||
|
||||
### Containerized Installation
|
||||
## ERPNext
|
||||
|
||||
Use docker to deploy ERPNext in production or for development of [Frappe](https://github.com/frappe/frappe) apps. See https://github.com/frappe/frappe_docker for more details.
|
||||
100% Open-Source ERP system to help you run your business.
|
||||
|
||||
### Motivation
|
||||
|
||||
Running a business is a complex task - handling invoices, tracking stock, managing personnel and even more ad-hoc activities. In a market where software is sold separately to manage each of these tasks, ERPNext does all of the above and more, for free.
|
||||
|
||||
### Key Features
|
||||
|
||||
- **Accounting**: All the tools you need to manage cash flow in one place, right from recording transactions to summarizing and analyzing financial reports.
|
||||
- **Order Management**: Track inventory levels, replenish stock, and manage sales orders, customers, suppliers, shipments, deliverables, and order fulfillment.
|
||||
- **Manufacturing**: Simplifies the production cycle, helps track material consumption, exhibits capacity planning, handles subcontracting, and more!
|
||||
- **Asset Management**: From purchase to perishment, IT infrastructure to equipment. Cover every branch of your organization, all in one centralized system.
|
||||
- **Projects**: Delivery both internal and external Projects on time, budget and Profitability. Track tasks, timesheets, and issues by project.
|
||||
|
||||
<details open>
|
||||
|
||||
<summary>More</summary>
|
||||
<img src="https://erpnext.com/files/v16_bom.png"/>
|
||||
<img src="https://erpnext.com/files/v16_stock_summary.png"/>
|
||||
<img src="https://erpnext.com/files/v16_job_card.png"/>
|
||||
<img src="https://erpnext.com/files/v16_tasks.png"/>
|
||||
</details>
|
||||
|
||||
### Under the Hood
|
||||
|
||||
- [**Frappe Framework**](https://github.com/frappe/frappe): A full-stack web application framework written in Python and Javascript. The framework provides a robust foundation for building web applications, including a database abstraction layer, user authentication, and a REST API.
|
||||
|
||||
- [**Frappe UI**](https://github.com/frappe/frappe-ui): A Vue-based UI library, to provide a modern user interface. The Frappe UI library provides a variety of components that can be used to build single-page applications on top of the Frappe Framework.
|
||||
|
||||
## Production Setup
|
||||
|
||||
### Managed Hosting
|
||||
|
||||
You can try [Frappe Cloud](https://frappecloud.com), a simple, user-friendly and sophisticated [open-source](https://github.com/frappe/press) platform to host Frappe applications with peace of mind.
|
||||
|
||||
It takes care of installation, setup, upgrades, monitoring, maintenance and support of your Frappe deployments. It is a fully featured developer platform with an ability to manage and control multiple Frappe deployments.
|
||||
|
||||
<div>
|
||||
<a href="https://erpnext-demo.frappe.cloud/app/home" target="_blank">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://frappe.io/files/try-on-fc-white.png">
|
||||
<img src="https://frappe.io/files/try-on-fc-black.png" alt="Try on Frappe Cloud" height="28" />
|
||||
</picture>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
### Self-Hosted
|
||||
#### Docker
|
||||
|
||||
Prerequisites: docker, docker-compose, git. Refer [Docker Documentation](https://docs.docker.com) for more details on Docker setup.
|
||||
|
||||
Run following commands:
|
||||
|
||||
```
|
||||
git clone https://github.com/frappe/frappe_docker
|
||||
cd frappe_docker
|
||||
docker compose -f pwd.yml up -d
|
||||
```
|
||||
|
||||
After a couple of minutes, site should be accessible on your localhost port: 8080. Use below default login credentials to access the site.
|
||||
- Username: Administrator
|
||||
- Password: admin
|
||||
|
||||
See [Frappe Docker](https://github.com/frappe/frappe_docker?tab=readme-ov-file#to-run-on-arm64-architecture-follow-this-instructions) for ARM based docker setup.
|
||||
|
||||
|
||||
## Development Setup
|
||||
### Manual Install
|
||||
|
||||
The Easy Way: our install script for bench will install all dependencies (e.g. MariaDB). See https://github.com/frappe/bench for more details.
|
||||
@@ -59,9 +103,35 @@ The Easy Way: our install script for bench will install all dependencies (e.g. M
|
||||
New passwords will be created for the ERPNext "Administrator" user, the MariaDB root user, and the frappe user (the script displays the passwords and saves them to ~/frappe_passwords.txt).
|
||||
|
||||
|
||||
### Local
|
||||
|
||||
To setup the repository locally follow the steps mentioned below:
|
||||
|
||||
1. Setup bench by following the [Installation Steps](https://frappeframework.com/docs/user/en/installation) and start the server
|
||||
```
|
||||
bench start
|
||||
```
|
||||
|
||||
2. In a separate terminal window, run the following commands:
|
||||
```
|
||||
# Create a new site
|
||||
bench new-site erpnext.localhost
|
||||
```
|
||||
|
||||
3. Get the ERPNext app and install it
|
||||
```
|
||||
# Get the ERPNext app
|
||||
bench get-app https://github.com/frappe/erpnext
|
||||
|
||||
# Install the app
|
||||
bench --site erpnext.localhost install-app erpnext
|
||||
```
|
||||
|
||||
4. Open the URL `http://erpnext.localhost:8000/app` in your browser, you should see the app running
|
||||
|
||||
## Learning and community
|
||||
|
||||
1. [Frappe School](https://frappe.school) - Learn Frappe Framework and ERPNext from the various courses by the maintainers or from the community.
|
||||
1. [Frappe School](https://school.frappe.io) - Learn Frappe Framework and ERPNext from the various courses by the maintainers or from the community.
|
||||
2. [Official documentation](https://docs.erpnext.com/) - Extensive documentation for ERPNext.
|
||||
3. [Discussion Forum](https://discuss.erpnext.com/) - Engage with community of ERPNext users and service providers.
|
||||
4. [Telegram Group](https://erpnext_public.t.me) - Get instant help from huge community of users.
|
||||
@@ -72,15 +142,20 @@ New passwords will be created for the ERPNext "Administrator" user, the MariaDB
|
||||
1. [Issue Guidelines](https://github.com/frappe/erpnext/wiki/Issue-Guidelines)
|
||||
1. [Report Security Vulnerabilities](https://erpnext.com/security)
|
||||
1. [Pull Request Requirements](https://github.com/frappe/erpnext/wiki/Contribution-Guidelines)
|
||||
2. [Translations](https://crowdin.com/project/frappe)
|
||||
|
||||
## License
|
||||
|
||||
GNU/General Public License (see [license.txt](license.txt))
|
||||
|
||||
The ERPNext code is licensed as GNU General Public License (v3) and the Documentation is licensed as Creative Commons (CC-BY-SA-3.0) and the copyright is owned by Frappe Technologies Pvt Ltd (Frappe) and Contributors.
|
||||
|
||||
By contributing to ERPNext, you agree that your contributions will be licensed under its GNU General Public License (v3).
|
||||
|
||||
## Logo and Trademark Policy
|
||||
|
||||
Please read our [Logo and Trademark Policy](TRADEMARK_POLICY.md).
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<div align="center" style="padding-top: 0.75rem;">
|
||||
<a href="https://frappe.io" target="_blank">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://frappe.io/files/Frappe-white.png">
|
||||
<img src="https://frappe.io/files/Frappe-black.png" alt="Frappe Technologies" height="28"/>
|
||||
</picture>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -4,7 +4,11 @@ files:
|
||||
pull_request_title: "fix: sync translations from crowdin"
|
||||
pull_request_labels:
|
||||
- translation
|
||||
- skip-release-notes
|
||||
pull_request_reviewers:
|
||||
- barredterra # change to your GitHub username if you copied this file
|
||||
commit_message: "fix: %language% translations"
|
||||
append_commit_message: false
|
||||
languages_mapping:
|
||||
two_letters_code:
|
||||
pt-BR: pt_BR
|
||||
|
||||
@@ -57,7 +57,7 @@ def get_company_currency(company):
|
||||
|
||||
def set_perpetual_inventory(enable=1, company=None):
|
||||
if not company:
|
||||
company = "_Test Company" if frappe.flags.in_test else get_default_company()
|
||||
company = "_Test Company" if frappe.in_test else get_default_company()
|
||||
|
||||
company = frappe.get_doc("Company", company)
|
||||
company.enable_perpetual_inventory = enable
|
||||
@@ -77,7 +77,7 @@ def encode_company_abbr(name, company=None, abbr=None):
|
||||
|
||||
def is_perpetual_inventory_enabled(company):
|
||||
if not company:
|
||||
company = "_Test Company" if frappe.flags.in_test else get_default_company()
|
||||
company = "_Test Company" if frappe.in_test else get_default_company()
|
||||
|
||||
if not hasattr(frappe.local, "enable_perpetual_inventory"):
|
||||
frappe.local.enable_perpetual_inventory = {}
|
||||
|
||||
@@ -10,8 +10,10 @@ from frappe.contacts.doctype.address.address import (
|
||||
class ERPNextAddress(Address):
|
||||
def validate(self):
|
||||
self.validate_reference()
|
||||
self.update_compnay_address()
|
||||
super().validate()
|
||||
self.update_company_address()
|
||||
|
||||
if hasattr(super(), "validate"):
|
||||
super().validate()
|
||||
|
||||
def link_address(self):
|
||||
"""Link address based on owner"""
|
||||
@@ -20,7 +22,7 @@ class ERPNextAddress(Address):
|
||||
|
||||
return super().link_address()
|
||||
|
||||
def update_compnay_address(self):
|
||||
def update_company_address(self):
|
||||
for link in self.get("links"):
|
||||
if link.link_doctype == "Company":
|
||||
self.is_your_company_address = 1
|
||||
@@ -38,6 +40,10 @@ class ERPNextAddress(Address):
|
||||
"""
|
||||
After Address is updated, update the related 'Primary Address' on Customer.
|
||||
"""
|
||||
|
||||
if hasattr(super(), "on_update"):
|
||||
super().on_update()
|
||||
|
||||
address_display = get_address_display(self.as_dict())
|
||||
filters = {"customer_primary_address": self.name}
|
||||
customers = frappe.db.get_all("Customer", filters=filters, as_list=True)
|
||||
|
||||
@@ -317,7 +317,7 @@ def get_already_booked_amount(doc, item):
|
||||
def book_deferred_income_or_expense(doc, deferred_process, posting_date=None):
|
||||
enable_check = "enable_deferred_revenue" if doc.doctype == "Sales Invoice" else "enable_deferred_expense"
|
||||
|
||||
accounts_frozen_upto = frappe.db.get_single_value("Accounts Settings", "acc_frozen_upto")
|
||||
accounts_frozen_upto = frappe.get_single_value("Accounts Settings", "acc_frozen_upto")
|
||||
|
||||
def _book_deferred_revenue_or_expense(
|
||||
item,
|
||||
@@ -526,7 +526,7 @@ def make_gl_entries(
|
||||
make_gl_entries(gl_entries, cancel=(doc.docstatus == 2), merge_entries=True)
|
||||
frappe.db.commit()
|
||||
except Exception as e:
|
||||
if frappe.flags.in_test:
|
||||
if frappe.in_test:
|
||||
doc.log_error(f"Error while processing deferred accounting for Invoice {doc.name}")
|
||||
raise e
|
||||
else:
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"allow_copy": 1,
|
||||
"allow_import": 1,
|
||||
"creation": "2013-01-30 12:49:46",
|
||||
"default_view": "Tree",
|
||||
"description": "Heads (or groups) against which Accounting Entries are made and balances are maintained.",
|
||||
"doctype": "DocType",
|
||||
"document_type": "Setup",
|
||||
@@ -131,7 +132,7 @@
|
||||
"description": "Rate at which this tax is applied",
|
||||
"fieldname": "tax_rate",
|
||||
"fieldtype": "Float",
|
||||
"label": "Rate",
|
||||
"label": "Tax Rate",
|
||||
"oldfieldname": "tax_rate",
|
||||
"oldfieldtype": "Currency"
|
||||
},
|
||||
@@ -194,7 +195,7 @@
|
||||
"idx": 1,
|
||||
"is_tree": 1,
|
||||
"links": [],
|
||||
"modified": "2024-08-19 15:19:11.095045",
|
||||
"modified": "2025-01-22 10:40:35.766017",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Accounts",
|
||||
"name": "Account",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
import frappe
|
||||
from frappe import _, throw
|
||||
from frappe.utils import cint, cstr
|
||||
from frappe.utils import add_to_date, cint, cstr, pretty_date
|
||||
from frappe.utils.nestedset import NestedSet, get_ancestors_of, get_descendants_of
|
||||
|
||||
import erpnext
|
||||
@@ -92,7 +92,7 @@ class Account(NestedSet):
|
||||
super().on_update()
|
||||
|
||||
def onload(self):
|
||||
frozen_accounts_modifier = frappe.db.get_single_value("Accounts Settings", "frozen_accounts_modifier")
|
||||
frozen_accounts_modifier = frappe.get_single_value("Accounts Settings", "frozen_accounts_modifier")
|
||||
if not frozen_accounts_modifier or frozen_accounts_modifier in frappe.get_roles():
|
||||
self.set_onload("can_freeze_account", True)
|
||||
|
||||
@@ -167,7 +167,7 @@ class Account(NestedSet):
|
||||
if par.root_type:
|
||||
self.root_type = par.root_type
|
||||
|
||||
if self.is_group:
|
||||
if cint(self.is_group):
|
||||
db_value = self.get_doc_before_save()
|
||||
if db_value:
|
||||
if self.report_type != db_value.report_type:
|
||||
@@ -210,7 +210,7 @@ class Account(NestedSet):
|
||||
if doc_before_save and not doc_before_save.parent_account:
|
||||
throw(_("Root cannot be edited."), RootNotEditable)
|
||||
|
||||
if not self.parent_account and not self.is_group:
|
||||
if not self.parent_account and not cint(self.is_group):
|
||||
throw(_("The root account {0} must be a group").format(frappe.bold(self.name)))
|
||||
|
||||
def validate_root_company_and_sync_account_to_children(self):
|
||||
@@ -259,7 +259,7 @@ class Account(NestedSet):
|
||||
|
||||
if self.check_gle_exists():
|
||||
throw(_("Account with existing transaction cannot be converted to ledger"))
|
||||
elif self.is_group:
|
||||
elif cint(self.is_group):
|
||||
if self.account_type and not self.flags.exclude_account_type_check:
|
||||
throw(_("Cannot covert to Group because Account Type is selected."))
|
||||
elif self.check_if_child_exists():
|
||||
@@ -302,7 +302,9 @@ class Account(NestedSet):
|
||||
self.account_currency = frappe.get_cached_value("Company", self.company, "default_currency")
|
||||
self.currency_explicitly_specified = False
|
||||
|
||||
gl_currency = frappe.db.get_value("GL Entry", {"account": self.name}, "account_currency")
|
||||
gl_currency = frappe.db.get_value(
|
||||
"GL Entry", {"account": self.name, "is_cancelled": 0}, "account_currency"
|
||||
)
|
||||
|
||||
if gl_currency and self.account_currency != gl_currency:
|
||||
if frappe.db.get_value("GL Entry", {"account": self.name}):
|
||||
@@ -479,6 +481,7 @@ def get_account_autoname(account_number, account_name, company):
|
||||
|
||||
@frappe.whitelist()
|
||||
def update_account_number(name, account_name, account_number=None, from_descendant=False):
|
||||
_ensure_idle_system()
|
||||
account = frappe.get_cached_doc("Account", name)
|
||||
if not account:
|
||||
return
|
||||
@@ -499,7 +502,7 @@ def update_account_number(name, account_name, account_number=None, from_descenda
|
||||
"name",
|
||||
)
|
||||
|
||||
if old_name:
|
||||
if old_name and not from_descendant:
|
||||
# same account in parent company exists
|
||||
allow_child_account_creation = _("Allow Account Creation Against Child Company")
|
||||
|
||||
@@ -540,6 +543,7 @@ def update_account_number(name, account_name, account_number=None, from_descenda
|
||||
|
||||
@frappe.whitelist()
|
||||
def merge_account(old, new):
|
||||
_ensure_idle_system()
|
||||
# Validate properties before merging
|
||||
new_account = frappe.get_cached_doc("Account", new)
|
||||
old_account = frappe.get_cached_doc("Account", old)
|
||||
@@ -593,3 +597,31 @@ def sync_update_account_number_in_child(
|
||||
|
||||
for d in frappe.db.get_values("Account", filters=filters, fieldname=["company", "name"], as_dict=True):
|
||||
update_account_number(d["name"], account_name, account_number, from_descendant=True)
|
||||
|
||||
|
||||
def _ensure_idle_system():
|
||||
# Don't allow renaming if accounting entries are actively being updated, there are two main reasons:
|
||||
# 1. Correctness: It's next to impossible to ensure that renamed account is not being used *right now*.
|
||||
# 2. Performance: Renaming requires locking out many tables entirely and severely degrades performance.
|
||||
|
||||
if frappe.in_test:
|
||||
return
|
||||
|
||||
last_gl_update = None
|
||||
try:
|
||||
# We also lock inserts to GL entry table with for_update here.
|
||||
last_gl_update = frappe.db.get_value("GL Entry", {}, "modified", for_update=True, wait=False)
|
||||
except frappe.QueryTimeoutError:
|
||||
# wait=False fails immediately if there's an active transaction.
|
||||
last_gl_update = add_to_date(None, seconds=-1)
|
||||
|
||||
if not last_gl_update:
|
||||
return
|
||||
|
||||
if last_gl_update > add_to_date(None, minutes=-5):
|
||||
frappe.throw(
|
||||
_(
|
||||
"Last GL Entry update was done {}. This operation is not allowed while system is actively being used. Please wait for 5 minutes before retrying."
|
||||
).format(pretty_date(last_gl_update)),
|
||||
title=_("System In Use"),
|
||||
)
|
||||
|
||||
@@ -10,6 +10,7 @@ frappe.treeview_settings["Account"] = {
|
||||
fieldtype: "Select",
|
||||
options: erpnext.utils.get_tree_options("company"),
|
||||
label: __("Company"),
|
||||
render_on_toolbar: true,
|
||||
default: erpnext.utils.get_tree_default("company"),
|
||||
on_change: function () {
|
||||
var me = frappe.treeview_settings["Account"].treeview;
|
||||
@@ -138,6 +139,11 @@ frappe.treeview_settings["Account"] = {
|
||||
description: __(
|
||||
"Further accounts can be made under Groups, but entries can be made against non-Groups"
|
||||
),
|
||||
onchange: function () {
|
||||
if (!this.value) {
|
||||
this.layout.set_value("root_type", "");
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
fieldtype: "Select",
|
||||
@@ -182,7 +188,9 @@ frappe.treeview_settings["Account"] = {
|
||||
function () {
|
||||
frappe.set_route("Tree", "Cost Center", { company: get_company() });
|
||||
},
|
||||
__("View")
|
||||
__("View"),
|
||||
"default",
|
||||
true
|
||||
);
|
||||
|
||||
treeview.page.add_inner_button(
|
||||
@@ -190,31 +198,12 @@ frappe.treeview_settings["Account"] = {
|
||||
function () {
|
||||
frappe.set_route("Form", "Opening Invoice Creation Tool", { company: get_company() });
|
||||
},
|
||||
__("View")
|
||||
__("View"),
|
||||
"default",
|
||||
true
|
||||
);
|
||||
|
||||
treeview.page.add_inner_button(
|
||||
__("Period Closing Voucher"),
|
||||
function () {
|
||||
frappe.set_route("List", "Period Closing Voucher", { company: get_company() });
|
||||
},
|
||||
__("View")
|
||||
);
|
||||
|
||||
treeview.page.add_inner_button(
|
||||
__("Journal Entry"),
|
||||
function () {
|
||||
frappe.new_doc("Journal Entry", { company: get_company() });
|
||||
},
|
||||
__("Create")
|
||||
);
|
||||
treeview.page.add_inner_button(
|
||||
__("Company"),
|
||||
function () {
|
||||
frappe.new_doc("Company");
|
||||
},
|
||||
__("Create")
|
||||
);
|
||||
treeview.page.add_divider_to_button_group(__("View"));
|
||||
|
||||
// financial statements
|
||||
for (let report of [
|
||||
@@ -231,25 +220,28 @@ frappe.treeview_settings["Account"] = {
|
||||
function () {
|
||||
frappe.set_route("query-report", report, { company: get_company() });
|
||||
},
|
||||
__("Financial Statements")
|
||||
__("View")
|
||||
);
|
||||
}
|
||||
},
|
||||
post_render: function (treeview) {
|
||||
frappe.treeview_settings["Account"].treeview["tree"] = treeview.tree;
|
||||
treeview.page.set_primary_action(
|
||||
__("New"),
|
||||
function () {
|
||||
let root_company = treeview.page.fields_dict.root_company.get_value();
|
||||
|
||||
if (root_company) {
|
||||
frappe.throw(__("Please add the account to root level Company - {0}"), [root_company]);
|
||||
} else {
|
||||
treeview.new_node();
|
||||
}
|
||||
},
|
||||
"add"
|
||||
);
|
||||
if (treeview.can_create) {
|
||||
treeview.page.set_primary_action(
|
||||
__("New"),
|
||||
function () {
|
||||
let root_company = treeview.page.fields_dict.root_company.get_value();
|
||||
if (root_company) {
|
||||
frappe.throw(__("Please add the account to root level Company - {0}"), [
|
||||
root_company,
|
||||
]);
|
||||
} else {
|
||||
treeview.new_node();
|
||||
}
|
||||
},
|
||||
"add"
|
||||
);
|
||||
}
|
||||
},
|
||||
toolbar: [
|
||||
{
|
||||
@@ -278,12 +270,14 @@ frappe.treeview_settings["Account"] = {
|
||||
label: __("View Ledger"),
|
||||
click: function (node, btn) {
|
||||
frappe.route_options = {
|
||||
account: node.label,
|
||||
from_date: erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[1],
|
||||
to_date: erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[2],
|
||||
company:
|
||||
frappe.treeview_settings["Account"].treeview.page.fields_dict.company.get_value(),
|
||||
};
|
||||
if (node.parent_label) {
|
||||
frappe.route_options["account"] = node.label;
|
||||
}
|
||||
frappe.set_route("query-report", "General Ledger");
|
||||
},
|
||||
btnClass: "hidden-xs",
|
||||
|
||||
@@ -18,6 +18,7 @@ def create_charts(
|
||||
accounts = []
|
||||
|
||||
def _import_accounts(children, parent, root_type, root_account=False):
|
||||
nonlocal custom_chart
|
||||
for account_name, child in children.items():
|
||||
if root_account:
|
||||
root_type = child.get("root_type")
|
||||
@@ -55,7 +56,8 @@ def create_charts(
|
||||
"account_number": account_number,
|
||||
"account_type": child.get("account_type"),
|
||||
"account_currency": child.get("account_currency")
|
||||
or frappe.get_cached_value("Company", company, "default_currency"),
|
||||
if custom_chart
|
||||
else frappe.get_cached_value("Company", company, "default_currency"),
|
||||
"tax_rate": child.get("tax_rate"),
|
||||
}
|
||||
)
|
||||
@@ -116,6 +118,7 @@ def identify_is_group(child):
|
||||
return is_group
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_chart(chart_template, existing_company=None):
|
||||
chart = {}
|
||||
if existing_company:
|
||||
|
||||
@@ -0,0 +1,817 @@
|
||||
{
|
||||
"country_code": "au",
|
||||
"name": "Australia - Chart of Accounts with Account Numbers",
|
||||
"tree": {
|
||||
"Assets": {
|
||||
"Current Assets": {
|
||||
"Cash On Hand": {
|
||||
"Cash On Hand": {
|
||||
"account_number": "11010",
|
||||
"account_type": "Cash"
|
||||
},
|
||||
"account_number": "110",
|
||||
"is_group": 1
|
||||
},
|
||||
"Cash at Bank": {
|
||||
"Every Day Bank Account": {
|
||||
"account_number": "11510",
|
||||
"account_type": "Bank"
|
||||
},
|
||||
"Business Savings Account": {
|
||||
"account_number": "11520"
|
||||
},
|
||||
"Business Term Deposit": {
|
||||
"account_number": "11530"
|
||||
},
|
||||
"account_number": "115",
|
||||
"is_group": 1
|
||||
},
|
||||
"Trade Receivables": {
|
||||
"Trade Debtors": {
|
||||
"account_number": "12010",
|
||||
"account_type": "Receivable"
|
||||
},
|
||||
"Provision for Doubtful Debts": {
|
||||
"account_number": "12020"
|
||||
},
|
||||
"Sundry Debtors": {
|
||||
"account_number": "12030"
|
||||
},
|
||||
"Debtor Refund": {
|
||||
"account_number": "12040"
|
||||
},
|
||||
"account_number": "120",
|
||||
"is_group": 1
|
||||
},
|
||||
"Inventory": {
|
||||
"Stock On Hand": {
|
||||
"account_number": "13010",
|
||||
"account_type": "Stock"
|
||||
},
|
||||
"WIP - Work In Progress - Manufacturing": {
|
||||
"account_number": "13020"
|
||||
},
|
||||
"account_number": "130",
|
||||
"is_group": 1
|
||||
},
|
||||
"Prepayments": {
|
||||
"Prepayments": {
|
||||
"account_number": "14010"
|
||||
},
|
||||
"Provisional Tax Paid": {
|
||||
"account_number": "14020"
|
||||
},
|
||||
"account_number": "140",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "11",
|
||||
"is_group": 1
|
||||
},
|
||||
"Non Current Assets": {
|
||||
"Plant & Equipment": {
|
||||
"Plant & Equipment": {
|
||||
"account_number": "16010",
|
||||
"account_type": "Fixed Asset"
|
||||
},
|
||||
"Accumulated Depreciation Plant & Equipment": {
|
||||
"account_number": "16020",
|
||||
"account_type": "Accumulated Depreciation"
|
||||
},
|
||||
"account_number": "160",
|
||||
"is_group": 1
|
||||
},
|
||||
"Motor Vehicle": {
|
||||
"Motor Vehicle": {
|
||||
"account_number": "16110",
|
||||
"account_type": "Fixed Asset"
|
||||
},
|
||||
"Accumulated Depreciation Motor Vehicle": {
|
||||
"account_number": "16120",
|
||||
"account_type": "Accumulated Depreciation"
|
||||
},
|
||||
"account_number": "161",
|
||||
"is_group": 1
|
||||
},
|
||||
"Office Equipment": {
|
||||
"Office Furniture & Equipment": {
|
||||
"account_number": "16210",
|
||||
"account_type": "Fixed Asset"
|
||||
},
|
||||
"Accumulated Depreciation Office Furniture & Equipment": {
|
||||
"account_number": "16220",
|
||||
"account_type": "Accumulated Depreciation"
|
||||
},
|
||||
"account_number": "162",
|
||||
"is_group": 1
|
||||
},
|
||||
"Computer Equipment": {
|
||||
"Computer Equipment": {
|
||||
"account_number": "16310",
|
||||
"account_type": "Fixed Asset"
|
||||
},
|
||||
"Accumulated Depreciation Computer Equipment": {
|
||||
"account_number": "16320",
|
||||
"account_type": "Accumulated Depreciation"
|
||||
},
|
||||
"account_number": "163",
|
||||
"is_group": 1
|
||||
},
|
||||
"Building": {
|
||||
"Buildings": {
|
||||
"account_number": "16410",
|
||||
"account_type": "Fixed Asset"
|
||||
},
|
||||
"Accumulated Depreciation Buildings": {
|
||||
"account_number": "16420",
|
||||
"account_type": "Accumulated Depreciation"
|
||||
},
|
||||
"CWIP - Construction Work In Progress": {
|
||||
"account_number": "16430",
|
||||
"account_type": "Capital Work in Progress"
|
||||
},
|
||||
"Accumulated Depreciation - Others": {
|
||||
"account_number": "16440",
|
||||
"account_type": "Accumulated Depreciation"
|
||||
},
|
||||
"account_number": "164",
|
||||
"is_group": 1
|
||||
},
|
||||
"Related Party": {
|
||||
"Loan to Party 1": {
|
||||
"account_number": "17010"
|
||||
},
|
||||
"account_number": "170",
|
||||
"is_group": 1
|
||||
},
|
||||
"Investments & Unlisted Entities": {
|
||||
"Investment - Entity 1": {
|
||||
"account_number": "17510"
|
||||
},
|
||||
"account_number": "175",
|
||||
"is_group": 1
|
||||
},
|
||||
"Intagible Assets": {
|
||||
"Goodwill": {
|
||||
"account_number": "18010"
|
||||
},
|
||||
"Opening Balance Temporary ": {
|
||||
"account_number": "18090",
|
||||
"account_type": "Temporary"
|
||||
},
|
||||
"account_number": "180",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "16",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "1",
|
||||
"root_type": "Asset"
|
||||
},
|
||||
"Liabilities": {
|
||||
"Current Liabilities": {
|
||||
"Trade Payables - Current": {
|
||||
"Trade Creditors": {
|
||||
"account_number": "21010",
|
||||
"account_type": "Payable"
|
||||
},
|
||||
"Goods Received Not Invoiced": {
|
||||
"account_number": "21050",
|
||||
"account_type": "Stock Received But Not Billed"
|
||||
},
|
||||
"Service Received Not Invoiced": {
|
||||
"account_number": "21060"
|
||||
},
|
||||
"Asset Received Not Invoiced": {
|
||||
"account_number": "21070",
|
||||
"account_type": "Asset Received But Not Billed"
|
||||
},
|
||||
"account_number": "210",
|
||||
"is_group": 1
|
||||
},
|
||||
"Other Payables - Current": {
|
||||
"Accrued Expenses": {
|
||||
"account_number": "21510"
|
||||
},
|
||||
"Payroll - Wages Clearing": {
|
||||
"account_number": "21550"
|
||||
},
|
||||
"Payroll - Superannuation Deductions": {
|
||||
"account_number": "21555"
|
||||
},
|
||||
"Payroll - Misc Deductions": {
|
||||
"account_number": "21560"
|
||||
},
|
||||
"Payroll - Withholding Tax Payable": {
|
||||
"account_number": "21565"
|
||||
},
|
||||
"account_number": "215",
|
||||
"is_group": 1
|
||||
},
|
||||
"GST": {
|
||||
"GST Payments to ATO": {
|
||||
"account_number": "22030"
|
||||
},
|
||||
"Provision for PAYG Tax": {
|
||||
"account_number": "22040"
|
||||
},
|
||||
"account_number": "220",
|
||||
"account_type": "Tax",
|
||||
"is_group": 1
|
||||
},
|
||||
"Interest & Non Bearing Liabilities - Current": {
|
||||
"Credit Card - VISA": {
|
||||
"account_number": "22510"
|
||||
},
|
||||
"account_number": "225",
|
||||
"is_group": 1
|
||||
},
|
||||
"Bank Overdraft": {
|
||||
"Bank Overdraft Cash at Bank": {
|
||||
"account_number": "23010"
|
||||
},
|
||||
"account_number": "230",
|
||||
"is_group": 1
|
||||
},
|
||||
"Trade Finance": {
|
||||
"Trade Finance": {
|
||||
"account_number": "23510"
|
||||
},
|
||||
"account_number": "235",
|
||||
"is_group": 1
|
||||
},
|
||||
"Lease Liabilities": {
|
||||
"Finance Lease - Current": {
|
||||
"account_number": "24010"
|
||||
},
|
||||
"account_number": "240",
|
||||
"is_group": 1
|
||||
},
|
||||
"Provisions": {
|
||||
"Provision for Long Service Leave": {
|
||||
"account_number": "24510"
|
||||
},
|
||||
"Provision for Holiday Pay": {
|
||||
"account_number": "24520"
|
||||
},
|
||||
"account_number": "245",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "21",
|
||||
"is_group": 1
|
||||
},
|
||||
"Non Current Liabilities": {
|
||||
"Trade & Other Payables - Non Current": {
|
||||
"Loan Account - Party 1": {
|
||||
"account_number": "25010"
|
||||
},
|
||||
"account_number": "250",
|
||||
"is_group": 1
|
||||
},
|
||||
"Interest & Non Bearing Liabilities - Non Current": {
|
||||
"Non Current Liability - Director Loan": {
|
||||
"account_number": "25510"
|
||||
},
|
||||
"account_number": "255",
|
||||
"is_group": 1
|
||||
},
|
||||
"Bank Loans - Non Current": {
|
||||
"Bank Loan 1 - Non Current": {
|
||||
"account_number": "26010"
|
||||
},
|
||||
"account_number": "260",
|
||||
"is_group": 1
|
||||
},
|
||||
"Lease Liabilities - Non Current": {
|
||||
"Finance Lease - Non Current": {
|
||||
"account_number": "27010"
|
||||
},
|
||||
"account_number": "270",
|
||||
"is_group": 1
|
||||
},
|
||||
"Provisions - Non Current": {
|
||||
"Provision for Long Service Leave": {
|
||||
"account_number": "27510"
|
||||
},
|
||||
"Provision for Holiday Pay": {
|
||||
"account_number": "27520"
|
||||
},
|
||||
"account_number": "275",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "25",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "2",
|
||||
"root_type": "Liability"
|
||||
},
|
||||
"Equity": {
|
||||
"Equity": {
|
||||
"Owner's/Shareholder's Equity": {
|
||||
"Owner's/Shareholders Capital": {
|
||||
"account_number": "31010",
|
||||
"account_type": "Equity"
|
||||
},
|
||||
"Owner's/Shareholders Drawings": {
|
||||
"account_number": "31020",
|
||||
"account_type": "Equity"
|
||||
},
|
||||
"account_number": "310",
|
||||
"is_group": 1
|
||||
},
|
||||
"Earnings": {
|
||||
"Current Year Earnings": {
|
||||
"account_number": "35010",
|
||||
"account_type": "Equity"
|
||||
},
|
||||
"Retained Earnings": {
|
||||
"account_number": "35020",
|
||||
"account_type": "Equity"
|
||||
},
|
||||
"account_number": "350",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "31",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "3",
|
||||
"root_type": "Equity"
|
||||
},
|
||||
"Revenue": {
|
||||
"Revenue": {
|
||||
"Sales Revenue": {
|
||||
"Sales Income": {
|
||||
"account_number": "41010",
|
||||
"account_type": "Income Account"
|
||||
},
|
||||
"Freight Income": {
|
||||
"account_number": "41020",
|
||||
"account_type": "Income Account"
|
||||
},
|
||||
"Other Income": {
|
||||
"account_number": "41030",
|
||||
"account_type": "Income Account"
|
||||
},
|
||||
"Service Income": {
|
||||
"account_number": "41040",
|
||||
"account_type": "Income Account"
|
||||
},
|
||||
"account_number": "410",
|
||||
"is_group": 1
|
||||
},
|
||||
"Other Revenue": {
|
||||
"Commission Received": {
|
||||
"account_number": "42010"
|
||||
},
|
||||
"Discounts Received": {
|
||||
"account_number": "42020"
|
||||
},
|
||||
"Interest received": {
|
||||
"account_number": "42030"
|
||||
},
|
||||
"Profit/Loss on Sales of Assets": {
|
||||
"account_number": "42040"
|
||||
},
|
||||
"Rent Received": {
|
||||
"account_number": "42050"
|
||||
},
|
||||
"Sundry Income": {
|
||||
"account_number": "42060"
|
||||
},
|
||||
"account_number": "420",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "41",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "4",
|
||||
"root_type": "Income"
|
||||
},
|
||||
"Cost of Goods": {
|
||||
"Cost of Goods": {
|
||||
"Cost of Goods Sold": {
|
||||
"Cost of Goods Sold": {
|
||||
"account_number": "51010",
|
||||
"account_type": "Cost of Goods Sold"
|
||||
},
|
||||
"Freight Expenses (sales related)": {
|
||||
"account_number": "51020"
|
||||
},
|
||||
"Discounts Given": {
|
||||
"account_number": "51030"
|
||||
},
|
||||
"Subcontracting Charges": {
|
||||
"account_number": "51040"
|
||||
},
|
||||
"account_number": "510",
|
||||
"is_group": 1
|
||||
},
|
||||
"Other COGS": {
|
||||
"Purchases - Miscellaneous": {
|
||||
"account_number": "52010"
|
||||
},
|
||||
"Duty & Customs Fees": {
|
||||
"account_number": "52020",
|
||||
"account_type": "Tax"
|
||||
},
|
||||
"Freight Inwards": {
|
||||
"account_number": "52030",
|
||||
"account_type": "Chargeable"
|
||||
},
|
||||
"Stock Adjustment": {
|
||||
"account_number": "52040",
|
||||
"account_type": "Stock Adjustment"
|
||||
},
|
||||
"Stock Wirte Off": {
|
||||
"account_number": "52050",
|
||||
"account_type": "Stock Adjustment"
|
||||
},
|
||||
"Stock Valuation Expenses": {
|
||||
"account_number": "52060",
|
||||
"account_type": "Expenses Included In Valuation"
|
||||
},
|
||||
"Asset Valuation Expenses": {
|
||||
"account_number": "52070",
|
||||
"account_type": "Expenses Included In Asset Valuation"
|
||||
},
|
||||
"account_number": "520",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "51",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "5",
|
||||
"root_type": "Expense"
|
||||
},
|
||||
"Expenses": {
|
||||
"Fixed Expenses": {
|
||||
"Payroll & Related Expenses": {
|
||||
"Salaries & Wages": {
|
||||
"account_number": "61010"
|
||||
},
|
||||
"Superannuation": {
|
||||
"account_number": "61015"
|
||||
},
|
||||
"Staff Amenities - GST Paid": {
|
||||
"account_number": "61020"
|
||||
},
|
||||
"Staff Amenities - GST Free": {
|
||||
"account_number": "61025"
|
||||
},
|
||||
"Staff Recruitment": {
|
||||
"account_number": "61030"
|
||||
},
|
||||
"Staff Training": {
|
||||
"account_number": "61035"
|
||||
},
|
||||
"Fringe Benefits Tax": {
|
||||
"account_number": "61040"
|
||||
},
|
||||
"Payroll Tax": {
|
||||
"account_number": "61045"
|
||||
},
|
||||
"Workers Compensation": {
|
||||
"account_number": "61050"
|
||||
},
|
||||
"Long Service Leave": {
|
||||
"account_number": "61060"
|
||||
},
|
||||
"Mileage Reimbursement": {
|
||||
"account_number": "61070"
|
||||
},
|
||||
"Overtime": {
|
||||
"account_number": "61080"
|
||||
},
|
||||
"Worksafe Insurance": {
|
||||
"account_number": "61090"
|
||||
},
|
||||
"account_number": "610",
|
||||
"is_group": 1
|
||||
},
|
||||
"Depreciation Expenses": {
|
||||
"Depreciation - Plant & Equipment": {
|
||||
"account_number": "62010",
|
||||
"account_type": "Depreciation"
|
||||
},
|
||||
"Depreciation - Motor Vehicle": {
|
||||
"account_number": "62020",
|
||||
"account_type": "Depreciation"
|
||||
},
|
||||
"Depreciation - Office Equipment": {
|
||||
"account_number": "62030",
|
||||
"account_type": "Depreciation"
|
||||
},
|
||||
"Depreciation - Computer Equipment": {
|
||||
"account_number": "62040",
|
||||
"account_type": "Depreciation"
|
||||
},
|
||||
"Depreciation - Building": {
|
||||
"account_number": "62050",
|
||||
"account_type": "Depreciation"
|
||||
},
|
||||
"Depreciation - Others": {
|
||||
"account_number": "62510",
|
||||
"account_type": "Depreciation"
|
||||
},
|
||||
"account_number": "620",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "61",
|
||||
"is_group": 1
|
||||
},
|
||||
"Accrued Expenses": {
|
||||
"Accrued Expenses": {
|
||||
"Accrued Expenses - Salaries & Wages": {
|
||||
"account_number": "63010"
|
||||
},
|
||||
"Accrued Expenses - Interest": {
|
||||
"account_number": "63020"
|
||||
},
|
||||
"account_number": "630",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "63",
|
||||
"is_group": 1
|
||||
},
|
||||
"Operating Expenses": {
|
||||
"General and Administrative Expenses": {
|
||||
"Low Value Assets less than $300": {
|
||||
"account_number": "64010"
|
||||
},
|
||||
"Office Supplies": {
|
||||
"account_number": "64020"
|
||||
},
|
||||
"Postage & Courier": {
|
||||
"account_number": "64025"
|
||||
},
|
||||
"Printing & Stationery": {
|
||||
"account_number": "64030"
|
||||
},
|
||||
"Registration Fees / Filing Fees": {
|
||||
"account_number": "64040"
|
||||
},
|
||||
"Travel & Accommodation - Local": {
|
||||
"account_number": "64050"
|
||||
},
|
||||
"Travel & Accommodation - Overseas": {
|
||||
"account_number": "64060"
|
||||
},
|
||||
"Relocation Costs": {
|
||||
"account_number": "64070"
|
||||
},
|
||||
"Hire Charges": {
|
||||
"account_number": "64080"
|
||||
},
|
||||
"Repairs & Maintenance": {
|
||||
"account_number": "64210"
|
||||
},
|
||||
"Cleaning Expenses": {
|
||||
"account_number": "64215"
|
||||
},
|
||||
"Uniforms": {
|
||||
"account_number": "64220"
|
||||
},
|
||||
"Security": {
|
||||
"account_number": "64225"
|
||||
},
|
||||
"Subscriptions & Licences": {
|
||||
"account_number": "64510"
|
||||
},
|
||||
"Software Expenses": {
|
||||
"account_number": "64515"
|
||||
},
|
||||
"Marketing Expenses": {
|
||||
"account_number": "64520"
|
||||
},
|
||||
"Advertising Expenses": {
|
||||
"account_number": "64525"
|
||||
},
|
||||
"Website Hosting & Domain Expenses": {
|
||||
"account_number": "64530"
|
||||
},
|
||||
"Computer Repairs / Supplies": {
|
||||
"account_number": "64540"
|
||||
},
|
||||
"Conferences": {
|
||||
"account_number": "64550"
|
||||
},
|
||||
"Consultancy /Contract Services": {
|
||||
"account_number": "64560"
|
||||
},
|
||||
"Training Services": {
|
||||
"account_number": "64570"
|
||||
},
|
||||
"Workshop Supplies": {
|
||||
"account_number": "64580"
|
||||
},
|
||||
"Consumables": {
|
||||
"account_number": "64585"
|
||||
},
|
||||
"Entertainment Expenses - Deductible": {
|
||||
"account_number": "64810"
|
||||
},
|
||||
"Entertainment Expenses - Non Deductible": {
|
||||
"account_number": "64820"
|
||||
},
|
||||
"Amortisation Of Goodwill": {
|
||||
"account_number": "64910"
|
||||
},
|
||||
"General / Miscellaneous Expenses": {
|
||||
"account_number": "64915",
|
||||
"account_type": "Chargeable"
|
||||
},
|
||||
"Donations": {
|
||||
"account_number": "64920"
|
||||
},
|
||||
"Client Gifts": {
|
||||
"account_number": "64930"
|
||||
},
|
||||
"Employee Gifts": {
|
||||
"account_number": "64935"
|
||||
},
|
||||
"account_number": "640",
|
||||
"is_group": 1
|
||||
},
|
||||
"Occupancy Expenses": {
|
||||
"Rental Expenses": {
|
||||
"account_number": "65010"
|
||||
},
|
||||
"Property Insurance": {
|
||||
"account_number": "65020"
|
||||
},
|
||||
"Electricity Expenses": {
|
||||
"account_number": "65030"
|
||||
},
|
||||
"Water Rates": {
|
||||
"account_number": "65040"
|
||||
},
|
||||
"Gas Expenses": {
|
||||
"account_number": "65050"
|
||||
},
|
||||
"Property Taxes": {
|
||||
"account_number": "65060"
|
||||
},
|
||||
"Rates": {
|
||||
"account_number": "65070"
|
||||
},
|
||||
"account_number": "650",
|
||||
"is_group": 1
|
||||
},
|
||||
"Communication & Vehicle Expenses": {
|
||||
"Internet Expenses": {
|
||||
"account_number": "66010"
|
||||
},
|
||||
"Mobile Telephone": {
|
||||
"account_number": "66020"
|
||||
},
|
||||
"Telephone Expenses": {
|
||||
"account_number": "66030"
|
||||
},
|
||||
"Motor Vehicle - Fuel Expenses": {
|
||||
"account_number": "66040"
|
||||
},
|
||||
"Motor Vehicle - Parking & Tolls": {
|
||||
"account_number": "66050"
|
||||
},
|
||||
"Motor Vehicle - Registration & Insurance": {
|
||||
"account_number": "66060"
|
||||
},
|
||||
"Motor Vehicle - Service & Repairs": {
|
||||
"account_number": "66070"
|
||||
},
|
||||
"Taxi": {
|
||||
"account_number": "66080"
|
||||
},
|
||||
"account_number": "660",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "64",
|
||||
"is_group": 1
|
||||
},
|
||||
"Non-Operating Expenses": {
|
||||
"Finance Costs": {
|
||||
"Interest - Bank Loans": {
|
||||
"account_number": "67010"
|
||||
},
|
||||
"Interest - Finance Leases": {
|
||||
"account_number": "67020"
|
||||
},
|
||||
"Interest - Other Loans": {
|
||||
"account_number": "67025"
|
||||
},
|
||||
"Insurance": {
|
||||
"account_number": "67030"
|
||||
},
|
||||
"Bank Charges": {
|
||||
"account_number": "67050"
|
||||
},
|
||||
"Rounding off": {
|
||||
"account_number": "67055",
|
||||
"account_type": "Round Off"
|
||||
},
|
||||
"Audit Fees": {
|
||||
"account_number": "67060"
|
||||
},
|
||||
"Accounting Fees": {
|
||||
"account_number": "67070"
|
||||
},
|
||||
"Legal Fees": {
|
||||
"account_number": "67080"
|
||||
},
|
||||
"Management Fees": {
|
||||
"account_number": "67090"
|
||||
},
|
||||
"account_number": "670",
|
||||
"is_group": 1
|
||||
},
|
||||
"Other Costs": {
|
||||
"Doubtful Debts": {
|
||||
"account_number": "67510"
|
||||
},
|
||||
"Fines": {
|
||||
"account_number": "67520"
|
||||
},
|
||||
"Debt Collection": {
|
||||
"account_number": "67530"
|
||||
},
|
||||
"Bad Debts": {
|
||||
"account_number": "67540"
|
||||
},
|
||||
"account_number": "675",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "67",
|
||||
"is_group": 1
|
||||
},
|
||||
"Variable Expenses": {
|
||||
"Variable Expenses": {
|
||||
"Bonus & Commissions Paid": {
|
||||
"account_number": "68010"
|
||||
},
|
||||
"Bonus & Commissions To be Paid": {
|
||||
"account_number": "68020"
|
||||
},
|
||||
"Warranty Claims": {
|
||||
"account_number": "68030"
|
||||
},
|
||||
"account_number": "680",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "68",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "6",
|
||||
"root_type": "Expense"
|
||||
},
|
||||
"Other Income": {
|
||||
"Other Income": {
|
||||
"Interest Income": {
|
||||
"Interest Income": {
|
||||
"account_number": "71010"
|
||||
},
|
||||
"account_number": "710",
|
||||
"is_group": 1
|
||||
},
|
||||
"Asset Disposal Income": {
|
||||
"Gain on Asset Disposal": {
|
||||
"account_number": "73010"
|
||||
},
|
||||
"account_number": "730",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "71",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "7",
|
||||
"root_type": "Income"
|
||||
},
|
||||
"Other Expenses": {
|
||||
"Other Expenses": {
|
||||
"Income Tax Expenses": {
|
||||
"Income Tax Expenses": {
|
||||
"account_number": "81010"
|
||||
},
|
||||
"account_number": "810",
|
||||
"is_group": 1
|
||||
},
|
||||
"Foreign Exchange Gain/Loss": {
|
||||
"Exchange Loss/Gain - Realized": {
|
||||
"account_number": "82010"
|
||||
},
|
||||
"account_number": "820",
|
||||
"is_group": 1
|
||||
},
|
||||
"Asset Disposal Expenses": {
|
||||
"Loss on Asset Disposal": {
|
||||
"account_number": "83010"
|
||||
},
|
||||
"account_number": "830",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "81",
|
||||
"is_group": 1
|
||||
},
|
||||
"account_number": "8",
|
||||
"root_type": "Expense"
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,532 @@
|
||||
{
|
||||
"country_code": "ch",
|
||||
"name": "240812 Schulkontenrahmen VEB - DE",
|
||||
"tree": {
|
||||
"Aktiven": {
|
||||
"account_number": "1",
|
||||
"is_group": 1,
|
||||
"root_type": "Asset",
|
||||
"Umlaufvermögen": {
|
||||
"account_number": "10",
|
||||
"is_group": 1,
|
||||
"Flüssige Mittel": {
|
||||
"account_number": "100",
|
||||
"is_group": 1,
|
||||
"Kasse": {
|
||||
"account_number": "1000",
|
||||
"account_type": "Cash"
|
||||
},
|
||||
"Bankguthaben": {
|
||||
"account_number": "1020",
|
||||
"account_type": "Bank"
|
||||
}
|
||||
},
|
||||
"Kurzfristig gehaltene Aktiven mit Börsenkurs": {
|
||||
"account_number": "106",
|
||||
"is_group": 1,
|
||||
"Wertschriften": {
|
||||
"account_number": "1060"
|
||||
},
|
||||
"Wertberichtigungen Wertschriften": {
|
||||
"account_number": "1069"
|
||||
}
|
||||
},
|
||||
"Forderungen aus Lieferungen und Leistungen": {
|
||||
"account_number": "110",
|
||||
"is_group": 1,
|
||||
"Forderungen aus Lieferungen und Leistungen (Debitoren)": {
|
||||
"account_number": "1100"
|
||||
},
|
||||
"Delkredere": {
|
||||
"account_number": "1109"
|
||||
}
|
||||
},
|
||||
"Übrige kurzfristige Forderungen": {
|
||||
"account_number": "114",
|
||||
"is_group": 1,
|
||||
"Vorschüsse und Darlehen": {
|
||||
"account_number": "1140"
|
||||
},
|
||||
"Wertberichtigungen Vorschüsse und Darlehen": {
|
||||
"account_number": "1149"
|
||||
},
|
||||
"Vorsteuer MWST Material, Waren, Dienstleistungen, Energie": {
|
||||
"account_number": "1170"
|
||||
},
|
||||
"Vorsteuer MWST Investitionen, übriger Betriebsaufwand": {
|
||||
"account_number": "1171"
|
||||
},
|
||||
"Verrechnungssteuer": {
|
||||
"account_number": "1176"
|
||||
},
|
||||
"Forderungen gegenüber Sozialversicherungen und Vorsorgeeinrichtungen": {
|
||||
"account_number": "1180"
|
||||
},
|
||||
"Quellensteuer": {
|
||||
"account_number": "1189"
|
||||
},
|
||||
"Sonstige kurzfristige Forderungen": {
|
||||
"account_number": "1190"
|
||||
},
|
||||
"Wertberichtigungen sonstige kurzfristige Forderungen": {
|
||||
"account_number": "1199"
|
||||
}
|
||||
},
|
||||
"Vorräte und nicht fakturierte Dienstleistungen": {
|
||||
"account_number": "120",
|
||||
"is_group": 1,
|
||||
"Handelswaren": {
|
||||
"account_number": "1200"
|
||||
},
|
||||
"Rohstoffe": {
|
||||
"account_number": "1210"
|
||||
},
|
||||
"Werkstoffe": {
|
||||
"account_number": "1220"
|
||||
},
|
||||
"Hilfs- und Verbrauchsmaterial": {
|
||||
"account_number": "1230"
|
||||
},
|
||||
"Handelswaren in Konsignation": {
|
||||
"account_number": "1250"
|
||||
},
|
||||
"Fertige Erzeugnisse": {
|
||||
"account_number": "1260"
|
||||
},
|
||||
"Unfertige Erzeugnisse": {
|
||||
"account_number": "1270"
|
||||
},
|
||||
"Nicht fakturierte Dienstleistungen": {
|
||||
"account_number": "1280"
|
||||
}
|
||||
},
|
||||
"Aktive Rechnungsabgrenzungen": {
|
||||
"account_number": "130",
|
||||
"is_group": 1,
|
||||
"Bezahlter Aufwand des Folgejahres": {
|
||||
"account_number": "1300"
|
||||
},
|
||||
"Noch nicht erhaltener Ertrag": {
|
||||
"account_number": "1301"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Anlagevermögen": {
|
||||
"account_number": "14",
|
||||
"is_group": 1,
|
||||
"Finanzanlagen": {
|
||||
"account_number": "140",
|
||||
"is_group": 1,
|
||||
"Wertschriften": {
|
||||
"account_number": "1400"
|
||||
},
|
||||
"Wertberichtigungen Wertschriften": {
|
||||
"account_number": "1409"
|
||||
},
|
||||
"Darlehen": {
|
||||
"account_number": "1440"
|
||||
},
|
||||
"Hypotheken": {
|
||||
"account_number": "1441"
|
||||
},
|
||||
"Wertberichtigungen langfristige Forderungen": {
|
||||
"account_number": "1449"
|
||||
}
|
||||
},
|
||||
"Beteiligungen": {
|
||||
"account_number": "148",
|
||||
"is_group": 1,
|
||||
"Beteiligungen": {
|
||||
"account_number": "1480"
|
||||
},
|
||||
"Wertberichtigungen Beteiligungen": {
|
||||
"account_number": "1489"
|
||||
}
|
||||
},
|
||||
"Mobile Sachanlagen": {
|
||||
"account_number": "150",
|
||||
"is_group": 1,
|
||||
"Maschinen und Apparate": {
|
||||
"account_number": "1500"
|
||||
},
|
||||
"Wertberichtigungen Maschinen und Apparate": {
|
||||
"account_number": "1509"
|
||||
},
|
||||
"Mobiliar und Einrichtungen": {
|
||||
"account_number": "1510"
|
||||
},
|
||||
"Wertberichtigungen Mobiliar und Einrichtungen": {
|
||||
"account_number": "1519"
|
||||
},
|
||||
"Büromaschinen, Informatik, Kommunikationstechnologie": {
|
||||
"account_number": "1520"
|
||||
},
|
||||
"Wertberichtigungen Büromaschinen, Informatik, Kommunikationstechnologie": {
|
||||
"account_number": "1529"
|
||||
},
|
||||
"Fahrzeuge": {
|
||||
"account_number": "1530"
|
||||
},
|
||||
"Wertberichtigungen Fahrzeuge": {
|
||||
"account_number": "1539"
|
||||
},
|
||||
"Werkzeuge und Geräte": {
|
||||
"account_number": "1540"
|
||||
},
|
||||
"Wertberichtigungen Werkzeuge und Geräte": {
|
||||
"account_number": "1549"
|
||||
}
|
||||
},
|
||||
"Immobile Sachanlagen": {
|
||||
"account_number": "160",
|
||||
"is_group": 1,
|
||||
"Geschäftsliegenschaften": {
|
||||
"account_number": "1600"
|
||||
},
|
||||
"Wertberichtigungen Geschäftsliegenschaften": {
|
||||
"account_number": "1609"
|
||||
}
|
||||
},
|
||||
"Immaterielle Werte": {
|
||||
"account_number": "170",
|
||||
"is_group": 1,
|
||||
"Patente, Know-how, Lizenzen, Rechte, Entwicklungen": {
|
||||
"account_number": "1700"
|
||||
},
|
||||
"Wertberichtigungen Patente, Know-how, Lizenzen, Rechte, Entwicklungen": {
|
||||
"account_number": "1709"
|
||||
},
|
||||
"Goodwill": {
|
||||
"account_number": "1770"
|
||||
},
|
||||
"Wertberichtigungen Goodwill": {
|
||||
"account_number": "1779"
|
||||
}
|
||||
},
|
||||
"Nicht einbezahltes Grund-, Gesellschafter- oder Stiftungskapital": {
|
||||
"account_number": "180",
|
||||
"is_group": 1,
|
||||
"Nicht einbezahltes Aktien-, Stamm-, Anteilschein- oder Stiftungskapital": {
|
||||
"account_number": "1850"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Passiven": {
|
||||
"account_number": "2",
|
||||
"is_group": 1,
|
||||
"root_type": "Liability",
|
||||
"Kurzfristiges Fremdkapital": {
|
||||
"account_number": "20",
|
||||
"is_group": 1,
|
||||
"Verbindlichkeiten aus Lieferungen und Leistungen": {
|
||||
"account_number": "200",
|
||||
"is_group": 1,
|
||||
"Verbindlichkeiten aus Lieferungen und Leistungen (Kreditoren)": {
|
||||
"account_number": "2000"
|
||||
},
|
||||
"Erhaltene Anzahlungen": {
|
||||
"account_number": "2030"
|
||||
}
|
||||
},
|
||||
"Kurzfristige verzinsliche Verbindlichkeiten": {
|
||||
"account_number": "210",
|
||||
"is_group": 1,
|
||||
"Bankverbindlichkeiten": {
|
||||
"account_number": "2100"
|
||||
},
|
||||
"Verbindlichkeiten aus Finanzierungsleasing": {
|
||||
"account_number": "2120"
|
||||
},
|
||||
"Übrige verzinsliche Verbindlichkeiten": {
|
||||
"account_number": "2140"
|
||||
}
|
||||
},
|
||||
"Übrige kurzfristige Verbindlichkeiten": {
|
||||
"account_number": "220",
|
||||
"is_group": 1,
|
||||
"Geschuldete MWST (Umsatzsteuer)": {
|
||||
"account_number": "2200"
|
||||
},
|
||||
"Abrechnungskonto MWST": {
|
||||
"account_number": "2201"
|
||||
},
|
||||
"Verrechnungssteuer": {
|
||||
"account_number": "2206"
|
||||
},
|
||||
"Direkte Steuern": {
|
||||
"account_number": "2208"
|
||||
},
|
||||
"Sonstige kurzfristige Verbindlichkeiten": {
|
||||
"account_number": "2210"
|
||||
},
|
||||
"Beschlossene Ausschüttungen": {
|
||||
"account_number": "2261"
|
||||
},
|
||||
"Sozialversicherungen und Vorsorgeeinrichtungen": {
|
||||
"account_number": "2270"
|
||||
},
|
||||
"Quellensteuer": {
|
||||
"account_number": "2279"
|
||||
}
|
||||
},
|
||||
"Passive Rechnungsabgrenzungen und kurzfristige Rückstellungen": {
|
||||
"account_number": "230",
|
||||
"is_group": 1,
|
||||
"Noch nicht bezahlter Aufwand": {
|
||||
"account_number": "2300"
|
||||
},
|
||||
"Erhaltener Ertrag des Folgejahres": {
|
||||
"account_number": "2301"
|
||||
},
|
||||
"Kurzfristige Rückstellungen": {
|
||||
"account_number": "2330"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Langfristiges Fremdkapital": {
|
||||
"account_number": "24",
|
||||
"is_group": 1,
|
||||
"Langfristige verzinsliche Verbindlichkeiten": {
|
||||
"account_number": "240",
|
||||
"is_group": 1,
|
||||
"Bankverbindlichkeiten": {
|
||||
"account_number": "2400"
|
||||
},
|
||||
"Verbindlichkeiten aus Finanzierungsleasing": {
|
||||
"account_number": "2420"
|
||||
},
|
||||
"Obligationenanleihen": {
|
||||
"account_number": "2430"
|
||||
},
|
||||
"Darlehen": {
|
||||
"account_number": "2450"
|
||||
},
|
||||
"Hypotheken": {
|
||||
"account_number": "2451"
|
||||
}
|
||||
},
|
||||
"Übrige langfristige Verbindlichkeiten": {
|
||||
"account_number": "250",
|
||||
"is_group": 1,
|
||||
"Übrige langfristige Verbindlichkeiten (unverzinslich)": {
|
||||
"account_number": "2500"
|
||||
}
|
||||
},
|
||||
"Rückstellungen sowie vom Gesetz vorgesehene ähnliche Positionen": {
|
||||
"account_number": "260",
|
||||
"is_group": 1,
|
||||
"Rückstellungen": {
|
||||
"account_number": "2600"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Eigenkapital (juristische Personen)": {
|
||||
"account_number": "28",
|
||||
"is_group": 1,
|
||||
"Grund-, Gesellschafter- oder Stiftungskapital": {
|
||||
"account_number": "280",
|
||||
"is_group": 1,
|
||||
"Aktien-, Stamm-, Anteilschein- oder Stiftungskapital": {
|
||||
"account_number": "2800"
|
||||
}
|
||||
},
|
||||
"Reserven und Jahresgewinn oder Jahresverlust": {
|
||||
"account_number": "290",
|
||||
"is_group": 1,
|
||||
"Gesetzliche Kapitalreserve": {
|
||||
"account_number": "2900"
|
||||
},
|
||||
"Reserve für eigene Kapitalanteile": {
|
||||
"account_number": "2930"
|
||||
},
|
||||
"Aufwertungsreserve": {
|
||||
"account_number": "2940"
|
||||
},
|
||||
"Gesetzliche Gewinnreserve": {
|
||||
"account_number": "2950"
|
||||
},
|
||||
"Freiwillige Gewinnreserven": {
|
||||
"account_number": "2960"
|
||||
},
|
||||
"Gewinnvortrag oder Verlustvortrag": {
|
||||
"account_number": "2970"
|
||||
},
|
||||
"Jahresgewinn oder Jahresverlust": {
|
||||
"account_number": "2979"
|
||||
},
|
||||
"Eigene Aktien, Stammanteile oder Anteilscheine (Minusposten)": {
|
||||
"account_number": "2980"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Betrieblicher Ertrag aus Lieferungen und Leistungen": {
|
||||
"account_number": "3",
|
||||
"is_group": 1,
|
||||
"root_type": "Income",
|
||||
"Produktionserlöse": {
|
||||
"account_number": "3000"
|
||||
},
|
||||
"Handelserlöse": {
|
||||
"account_number": "3200"
|
||||
},
|
||||
"Dienstleistungserlöse": {
|
||||
"account_number": "3400"
|
||||
},
|
||||
"Übrige Erlöse aus Lieferungen und Leistungen": {
|
||||
"account_number": "3600"
|
||||
},
|
||||
"Eigenleistungen": {
|
||||
"account_number": "3700"
|
||||
},
|
||||
"Eigenverbrauch": {
|
||||
"account_number": "3710"
|
||||
},
|
||||
"Erlösminderungen": {
|
||||
"account_number": "3800"
|
||||
},
|
||||
"Verluste Forderungen (Debitoren), Veränderung Delkredere": {
|
||||
"account_number": "3805"
|
||||
},
|
||||
"Bestandesänderungen unfertige Erzeugnisse": {
|
||||
"account_number": "3900"
|
||||
},
|
||||
"Bestandesänderungen fertige Erzeugnisse": {
|
||||
"account_number": "3901"
|
||||
},
|
||||
"Bestandesänderungen nicht fakturierte Dienstleistungen": {
|
||||
"account_number": "3940"
|
||||
}
|
||||
},
|
||||
"Aufwand für Material, Handelswaren, Dienstleistungen und Energie": {
|
||||
"account_number": "4",
|
||||
"is_group": 1,
|
||||
"root_type": "Expense",
|
||||
"Materialaufwand Produktion": {
|
||||
"account_number": "4000"
|
||||
},
|
||||
"Handelswarenaufwand": {
|
||||
"account_number": "4200"
|
||||
},
|
||||
"Aufwand für bezogene Dienstleistungen": {
|
||||
"account_number": "4400"
|
||||
},
|
||||
"Energieaufwand zur Leistungserstellung": {
|
||||
"account_number": "4500"
|
||||
},
|
||||
"Aufwandminderungen": {
|
||||
"account_number": "4900"
|
||||
}
|
||||
},
|
||||
"Personalaufwand": {
|
||||
"account_number": "5",
|
||||
"is_group": 1,
|
||||
"root_type": "Expense",
|
||||
"Lohnaufwand": {
|
||||
"account_number": "5000"
|
||||
},
|
||||
"Sozialversicherungsaufwand": {
|
||||
"account_number": "5700"
|
||||
},
|
||||
"Übriger Personalaufwand": {
|
||||
"account_number": "5800"
|
||||
},
|
||||
"Leistungen Dritter": {
|
||||
"account_number": "5900"
|
||||
}
|
||||
},
|
||||
"Übriger betrieblicher Aufwand, Abschreibungen und Wertberichtigungen sowie Finanzergebnis": {
|
||||
"account_number": "6",
|
||||
"is_group": 1,
|
||||
"root_type": "Expense",
|
||||
"Raumaufwand": {
|
||||
"account_number": "6000"
|
||||
},
|
||||
"Unterhalt, Reparaturen, Ersatz mobile Sachanlagen": {
|
||||
"account_number": "6100"
|
||||
},
|
||||
"Leasingaufwand mobile Sachanlagen": {
|
||||
"account_number": "6105"
|
||||
},
|
||||
"Fahrzeug- und Transportaufwand": {
|
||||
"account_number": "6200"
|
||||
},
|
||||
"Fahrzeugleasing und -mieten": {
|
||||
"account_number": "6260"
|
||||
},
|
||||
"Sachversicherungen, Abgaben, Gebühren, Bewilligungen": {
|
||||
"account_number": "6300"
|
||||
},
|
||||
"Energie- und Entsorgungsaufwand": {
|
||||
"account_number": "6400"
|
||||
},
|
||||
"Verwaltungsaufwand": {
|
||||
"account_number": "6500"
|
||||
},
|
||||
"Informatikaufwand inkl. Leasing": {
|
||||
"account_number": "6570"
|
||||
},
|
||||
"Werbeaufwand": {
|
||||
"account_number": "6600"
|
||||
},
|
||||
"Sonstiger betrieblicher Aufwand": {
|
||||
"account_number": "6700"
|
||||
},
|
||||
"Abschreibungen und Wertberichtigungen auf Positionen des Anlagevermögens": {
|
||||
"account_number": "6800"
|
||||
},
|
||||
"Finanzaufwand": {
|
||||
"account_number": "6900"
|
||||
},
|
||||
"Finanzertrag": {
|
||||
"account_number": "6950"
|
||||
}
|
||||
},
|
||||
"Betrieblicher Nebenerfolg": {
|
||||
"account_number": "7",
|
||||
"is_group": 1,
|
||||
"root_type": "Income",
|
||||
"Ertrag Nebenbetrieb": {
|
||||
"account_number": "7000"
|
||||
},
|
||||
"Aufwand Nebenbetrieb": {
|
||||
"account_number": "7010"
|
||||
},
|
||||
"Ertrag betriebliche Liegenschaft": {
|
||||
"account_number": "7500"
|
||||
},
|
||||
"Aufwand betriebliche Liegenschaft": {
|
||||
"account_number": "7510"
|
||||
}
|
||||
},
|
||||
"Betriebsfremder, ausserordentlicher, einmaliger oder periodenfremder Aufwand und Ertrag": {
|
||||
"account_number": "8",
|
||||
"is_group": 1,
|
||||
"root_type": "Expense",
|
||||
"Betriebsfremder Aufwand": {
|
||||
"account_number": "8000"
|
||||
},
|
||||
"Betriebsfremder Ertrag": {
|
||||
"account_number": "8100"
|
||||
},
|
||||
"Ausserordentlicher, einmaliger oder periodenfremder Aufwand": {
|
||||
"account_number": "8500"
|
||||
},
|
||||
"Ausserordentlicher, einmaliger oder periodenfremder Ertrag": {
|
||||
"account_number": "8510"
|
||||
},
|
||||
"Direkte Steuern": {
|
||||
"account_number": "8900"
|
||||
}
|
||||
},
|
||||
"Abschluss": {
|
||||
"account_number": "9",
|
||||
"is_group": 1,
|
||||
"root_type": "Equity",
|
||||
"Jahresgewinn oder Jahresverlust": {
|
||||
"account_number": "9200"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -96,8 +96,20 @@
|
||||
"account_number": "1132.000"
|
||||
},
|
||||
"account_number": "1130.000"
|
||||
},
|
||||
},
|
||||
"Pajak Dibayar di Muka": {
|
||||
"PPN Masukan": {
|
||||
"account_number": "1151.001",
|
||||
"account_type": "Tax"
|
||||
},
|
||||
"PPh 23 Dibayar di Muka": {
|
||||
"account_number": "1152.001",
|
||||
"account_type": "Tax"
|
||||
},
|
||||
"account_number": "1150.000"
|
||||
},
|
||||
"account_number": "1100.000"
|
||||
|
||||
},
|
||||
"Aktiva Tetap": {
|
||||
"Aktiva": {
|
||||
@@ -557,6 +569,10 @@
|
||||
"Hutang Pajak": {
|
||||
"account_number": "2141.000",
|
||||
"account_type": "Payable"
|
||||
},
|
||||
"PPN Keluaran": {
|
||||
"account_number": "2142.000",
|
||||
"account_type": "Tax"
|
||||
},
|
||||
"account_number": "2140.000"
|
||||
},
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
"Office Maintenance Expenses": {},
|
||||
"Office Rent": {},
|
||||
"Postal Expenses": {},
|
||||
"Print and Stationary": {},
|
||||
"Print and Stationery": {},
|
||||
"Rounded Off": {
|
||||
"account_type": "Round Off"
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -13,7 +13,7 @@ def get():
|
||||
_("Bank Accounts"): {"account_type": "Bank", "is_group": 1},
|
||||
_("Cash In Hand"): {_("Cash"): {"account_type": "Cash"}, "account_type": "Cash"},
|
||||
_("Loans and Advances (Assets)"): {
|
||||
_("Employee Advances"): {},
|
||||
_("Employee Advances"): {"account_type": "Payable"},
|
||||
},
|
||||
_("Securities and Deposits"): {_("Earnest Money"): {}},
|
||||
_("Stock Assets"): {
|
||||
|
||||
@@ -20,7 +20,7 @@ def get():
|
||||
"account_number": "1100",
|
||||
},
|
||||
_("Loans and Advances (Assets)"): {
|
||||
_("Employee Advances"): {"account_number": "1610"},
|
||||
_("Employee Advances"): {"account_number": "1610", "account_type": "Payable"},
|
||||
"account_number": "1600",
|
||||
},
|
||||
_("Securities and Deposits"): {
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
syscohada_countries = [
|
||||
"bj", # Bénin
|
||||
"bf", # Burkina-Faso
|
||||
"cm", # Cameroun
|
||||
"cf", # Centrafrique
|
||||
"ci", # Côte d'Ivoire
|
||||
"cg", # Congo
|
||||
"km", # Comores
|
||||
"ga", # Gabon
|
||||
"gn", # Guinée
|
||||
"gw", # Guinée-Bissau
|
||||
"gq", # Guinée Equatoriale
|
||||
"ml", # Mali
|
||||
"ne", # Niger
|
||||
"cd", # République Démocratique du Congo
|
||||
"sn", # Sénégal
|
||||
"td", # Tchad
|
||||
"tg", # Togo
|
||||
]
|
||||
|
||||
folder = Path(__file__).parent
|
||||
generic_charts = Path(folder).glob("syscohada*.json")
|
||||
|
||||
for file in generic_charts:
|
||||
with open(file) as f:
|
||||
chart = json.load(f)
|
||||
for country in syscohada_countries:
|
||||
chart["country_code"] = country
|
||||
json_object = json.dumps(chart, indent=4)
|
||||
with open(Path(folder, file.name.replace("syscohada", country)), "w") as outfile:
|
||||
outfile.write(json_object)
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
6
erpnext/accounts/doctype/account/test_records.json
Normal file
6
erpnext/accounts/doctype/account/test_records.json
Normal file
@@ -0,0 +1,6 @@
|
||||
[
|
||||
{
|
||||
"doctype": "Account",
|
||||
"name": "_Test Account 1"
|
||||
}
|
||||
]
|
||||
@@ -1,3 +0,0 @@
|
||||
[[Account]]
|
||||
name = "_Test Account 1"
|
||||
|
||||
@@ -11,6 +11,9 @@
|
||||
"cost_center",
|
||||
"debit",
|
||||
"credit",
|
||||
"reporting_currency_exchange_rate",
|
||||
"debit_in_reporting_currency",
|
||||
"credit_in_reporting_currency",
|
||||
"account_currency",
|
||||
"debit_in_account_currency",
|
||||
"credit_in_account_currency",
|
||||
@@ -124,12 +127,30 @@
|
||||
"fieldname": "is_period_closing_voucher_entry",
|
||||
"fieldtype": "Check",
|
||||
"label": "Is Period Closing Voucher Entry"
|
||||
},
|
||||
{
|
||||
"fieldname": "debit_in_reporting_currency",
|
||||
"fieldtype": "Currency",
|
||||
"label": "Debit Amount in Reporting Currency",
|
||||
"options": "Company:company:reporting_currency"
|
||||
},
|
||||
{
|
||||
"fieldname": "credit_in_reporting_currency",
|
||||
"fieldtype": "Currency",
|
||||
"label": "Credit Amount in Reporting Currency",
|
||||
"options": "Company:company:reporting_currency"
|
||||
},
|
||||
{
|
||||
"fieldname": "reporting_currency_exchange_rate",
|
||||
"fieldtype": "Float",
|
||||
"label": "Reporting Currency Exchange Rate",
|
||||
"precision": "9"
|
||||
}
|
||||
],
|
||||
"icon": "fa fa-list",
|
||||
"in_create": 1,
|
||||
"links": [],
|
||||
"modified": "2024-03-27 13:05:56.710541",
|
||||
"modified": "2025-08-22 19:13:50.400404",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Accounts",
|
||||
"name": "Account Closing Balance",
|
||||
@@ -158,7 +179,8 @@
|
||||
"role": "Auditor"
|
||||
}
|
||||
],
|
||||
"row_format": "Dynamic",
|
||||
"sort_field": "creation",
|
||||
"sort_order": "DESC",
|
||||
"states": []
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,12 +2,15 @@
|
||||
# For license information, please see license.txt
|
||||
|
||||
import frappe
|
||||
from frappe import _
|
||||
from frappe.model.document import Document
|
||||
from frappe.utils import cint, cstr
|
||||
from frappe.utils import cint, cstr, flt
|
||||
|
||||
from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import (
|
||||
get_accounting_dimensions,
|
||||
)
|
||||
from erpnext.exceptions import ReportingCurrencyExchangeNotFoundError
|
||||
from erpnext.setup.utils import get_exchange_rate
|
||||
|
||||
|
||||
class AccountClosingBalance(Document):
|
||||
@@ -26,12 +29,15 @@ class AccountClosingBalance(Document):
|
||||
cost_center: DF.Link | None
|
||||
credit: DF.Currency
|
||||
credit_in_account_currency: DF.Currency
|
||||
credit_in_reporting_currency: DF.Currency
|
||||
debit: DF.Currency
|
||||
debit_in_account_currency: DF.Currency
|
||||
debit_in_reporting_currency: DF.Currency
|
||||
finance_book: DF.Link | None
|
||||
is_period_closing_voucher_entry: DF.Check
|
||||
period_closing_voucher: DF.Link | None
|
||||
project: DF.Link | None
|
||||
reporting_currency_exchange_rate: DF.Float
|
||||
# end: auto-generated types
|
||||
|
||||
pass
|
||||
@@ -55,6 +61,7 @@ def make_closing_entries(closing_entries, voucher_name, company, closing_date):
|
||||
"closing_date": closing_date,
|
||||
}
|
||||
)
|
||||
set_amount_in_reporting_currency(cle, company, closing_date)
|
||||
cle.flags.ignore_permissions = True
|
||||
cle.flags.ignore_links = True
|
||||
cle.submit()
|
||||
@@ -144,3 +151,29 @@ def get_previous_closing_entries(company, closing_date, accounting_dimensions):
|
||||
entries = query.run(as_dict=1)
|
||||
|
||||
return entries
|
||||
|
||||
|
||||
def set_amount_in_reporting_currency(cle, company, closing_date):
|
||||
default_currency, reporting_currency = frappe.get_cached_value(
|
||||
"Company", company, ["default_currency", "reporting_currency"]
|
||||
)
|
||||
|
||||
reporting_currency_exchange_rate = get_exchange_rate(default_currency, reporting_currency, closing_date)
|
||||
if not reporting_currency_exchange_rate:
|
||||
frappe.throw(
|
||||
title=_("Reporting Currency Exchange Not Found"),
|
||||
msg=_(
|
||||
"Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually."
|
||||
).format(default_currency, reporting_currency, closing_date),
|
||||
exc=ReportingCurrencyExchangeNotFoundError,
|
||||
)
|
||||
debit_in_reporting_currency = flt(cle.get("debit", 0) * reporting_currency_exchange_rate)
|
||||
credit_in_reporting_currency = flt(cle.get("credit", 0) * reporting_currency_exchange_rate)
|
||||
|
||||
cle.update(
|
||||
{
|
||||
"reporting_currency_exchange_rate": reporting_currency_exchange_rate,
|
||||
"debit_in_reporting_currency": debit_in_reporting_currency,
|
||||
"credit_in_reporting_currency": credit_in_reporting_currency,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -2,16 +2,7 @@
|
||||
# See license.txt
|
||||
|
||||
# import frappe
|
||||
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||
|
||||
|
||||
class UnitTestAccountClosingBalance(UnitTestCase):
|
||||
"""
|
||||
Unit tests for AccountClosingBalance.
|
||||
Use this class for testing individual functions and methods.
|
||||
"""
|
||||
|
||||
pass
|
||||
from frappe.tests import IntegrationTestCase
|
||||
|
||||
|
||||
class TestAccountClosingBalance(IntegrationTestCase):
|
||||
|
||||
@@ -31,7 +31,8 @@
|
||||
"label": "Reference Document Type",
|
||||
"options": "DocType",
|
||||
"read_only_depends_on": "eval:!doc.__islocal",
|
||||
"reqd": 1
|
||||
"reqd": 1,
|
||||
"search_index": 1
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
|
||||
@@ -41,6 +41,11 @@ class AccountingDimension(Document):
|
||||
self.set_fieldname_and_label()
|
||||
|
||||
def validate(self):
|
||||
self.validate_doctype()
|
||||
validate_column_name(self.fieldname)
|
||||
self.validate_dimension_defaults()
|
||||
|
||||
def validate_doctype(self):
|
||||
if self.document_type in (
|
||||
*core_doctypes_list,
|
||||
"Accounting Dimension",
|
||||
@@ -49,6 +54,7 @@ class AccountingDimension(Document):
|
||||
"Accounting Dimension Detail",
|
||||
"Company",
|
||||
"Account",
|
||||
"Finance Book",
|
||||
):
|
||||
msg = _("Not allowed to create accounting dimension for {0}").format(self.document_type)
|
||||
frappe.throw(msg)
|
||||
@@ -61,9 +67,6 @@ class AccountingDimension(Document):
|
||||
if not self.is_new():
|
||||
self.validate_document_type_change()
|
||||
|
||||
validate_column_name(self.fieldname)
|
||||
self.validate_dimension_defaults()
|
||||
|
||||
def validate_document_type_change(self):
|
||||
doctype_before_save = frappe.db.get_value("Accounting Dimension", self.name, "document_type")
|
||||
if doctype_before_save != self.document_type:
|
||||
@@ -80,7 +83,7 @@ class AccountingDimension(Document):
|
||||
frappe.throw(_("Company {0} is added more than once").format(frappe.bold(default.company)))
|
||||
|
||||
def after_insert(self):
|
||||
if frappe.flags.in_test:
|
||||
if frappe.in_test:
|
||||
make_dimension_in_accounting_doctypes(doc=self)
|
||||
else:
|
||||
frappe.enqueue(
|
||||
@@ -88,7 +91,7 @@ class AccountingDimension(Document):
|
||||
)
|
||||
|
||||
def on_trash(self):
|
||||
if frappe.flags.in_test:
|
||||
if frappe.in_test:
|
||||
delete_accounting_dimension(doc=self)
|
||||
else:
|
||||
frappe.enqueue(delete_accounting_dimension, doc=self, queue="long", enqueue_after_commit=True)
|
||||
@@ -102,22 +105,21 @@ class AccountingDimension(Document):
|
||||
|
||||
def on_update(self):
|
||||
frappe.flags.accounting_dimensions = None
|
||||
frappe.flags.accounting_dimensions_details = None
|
||||
|
||||
|
||||
def make_dimension_in_accounting_doctypes(doc, doclist=None):
|
||||
if not doclist:
|
||||
doclist = get_doctypes_with_dimensions()
|
||||
|
||||
doc_count = len(get_accounting_dimensions())
|
||||
count = 0
|
||||
repostable_doctypes = get_allowed_types_from_settings()
|
||||
repostable_doctypes = get_allowed_types_from_settings(child_doc=True)
|
||||
|
||||
for doctype in doclist:
|
||||
if (doc_count + 1) % 2 == 0:
|
||||
insert_after_field = "dimension_col_break"
|
||||
else:
|
||||
insert_after_field = "accounting_dimensions_section"
|
||||
|
||||
df = {
|
||||
"fieldname": doc.fieldname,
|
||||
"label": doc.label,
|
||||
@@ -209,7 +211,7 @@ def delete_accounting_dimension(doc):
|
||||
|
||||
@frappe.whitelist()
|
||||
def disable_dimension(doc):
|
||||
if frappe.flags.in_test:
|
||||
if frappe.in_test:
|
||||
toggle_disabling(doc=doc)
|
||||
else:
|
||||
frappe.enqueue(toggle_disabling, doc=doc)
|
||||
@@ -262,7 +264,7 @@ def get_checks_for_pl_and_bs_accounts():
|
||||
frappe.flags.accounting_dimensions_details = frappe.db.sql(
|
||||
"""SELECT p.label, p.disabled, p.fieldname, c.default_dimension, c.company, c.mandatory_for_pl, c.mandatory_for_bs
|
||||
FROM `tabAccounting Dimension`p ,`tabAccounting Dimension Detail` c
|
||||
WHERE p.name = c.parent""",
|
||||
WHERE p.name = c.parent AND p.disabled = 0""",
|
||||
as_dict=1,
|
||||
)
|
||||
|
||||
|
||||
@@ -58,6 +58,10 @@ class TestAccountingDimension(IntegrationTestCase):
|
||||
self.assertEqual(gle1.get("department"), "_Test Department - _TC")
|
||||
|
||||
def test_mandatory(self):
|
||||
location = frappe.get_doc("Accounting Dimension", "Location")
|
||||
location.dimension_defaults[0].mandatory_for_bs = True
|
||||
location.save()
|
||||
|
||||
si = create_sales_invoice(do_not_save=1)
|
||||
si.append(
|
||||
"items",
|
||||
@@ -121,7 +125,6 @@ def create_dimension():
|
||||
"company": "_Test Company",
|
||||
"reference_document": "Location",
|
||||
"default_dimension": "Block 1",
|
||||
"mandatory_for_bs": 1,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
"engine": "InnoDB",
|
||||
"field_order": [
|
||||
"accounting_dimension",
|
||||
"fieldname",
|
||||
"disabled",
|
||||
"column_break_2",
|
||||
"company",
|
||||
@@ -90,11 +91,17 @@
|
||||
"fieldname": "apply_restriction_on_values",
|
||||
"fieldtype": "Check",
|
||||
"label": "Apply restriction on dimension values"
|
||||
},
|
||||
{
|
||||
"fieldname": "fieldname",
|
||||
"fieldtype": "Data",
|
||||
"hidden": 1,
|
||||
"label": "Fieldname"
|
||||
}
|
||||
],
|
||||
"index_web_pages_for_search": 1,
|
||||
"links": [],
|
||||
"modified": "2024-03-27 13:05:57.199186",
|
||||
"modified": "2025-08-08 14:13:22.203011",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Accounts",
|
||||
"name": "Accounting Dimension Filter",
|
||||
@@ -139,8 +146,9 @@
|
||||
}
|
||||
],
|
||||
"quick_entry": 1,
|
||||
"row_format": "Dynamic",
|
||||
"sort_field": "creation",
|
||||
"sort_order": "DESC",
|
||||
"states": [],
|
||||
"track_changes": 1
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,17 +17,16 @@ class AccountingDimensionFilter(Document):
|
||||
from frappe.types import DF
|
||||
|
||||
from erpnext.accounts.doctype.allowed_dimension.allowed_dimension import AllowedDimension
|
||||
from erpnext.accounts.doctype.applicable_on_account.applicable_on_account import (
|
||||
ApplicableOnAccount,
|
||||
)
|
||||
from erpnext.accounts.doctype.applicable_on_account.applicable_on_account import ApplicableOnAccount
|
||||
|
||||
accounting_dimension: DF.Literal
|
||||
accounting_dimension: DF.Literal[None]
|
||||
accounts: DF.Table[ApplicableOnAccount]
|
||||
allow_or_restrict: DF.Literal["Allow", "Restrict"]
|
||||
apply_restriction_on_values: DF.Check
|
||||
company: DF.Link
|
||||
dimensions: DF.Table[AllowedDimension]
|
||||
disabled: DF.Check
|
||||
fieldname: DF.Data | None
|
||||
# end: auto-generated types
|
||||
|
||||
def before_save(self):
|
||||
@@ -37,6 +36,10 @@ class AccountingDimensionFilter(Document):
|
||||
self.set("dimensions", [])
|
||||
|
||||
def validate(self):
|
||||
self.fieldname = frappe.db.get_value(
|
||||
"Accounting Dimension", {"document_type": self.accounting_dimension}, "fieldname"
|
||||
) or frappe.scrub(self.accounting_dimension) # scrub to handle default accounting dimension
|
||||
|
||||
self.validate_applicable_accounts()
|
||||
|
||||
def validate_applicable_accounts(self):
|
||||
@@ -71,7 +74,7 @@ def get_dimension_filter_map():
|
||||
"""
|
||||
SELECT
|
||||
a.applicable_on_account, d.dimension_value, p.accounting_dimension,
|
||||
p.allow_or_restrict, a.is_mandatory
|
||||
p.allow_or_restrict, p.fieldname, a.is_mandatory
|
||||
FROM
|
||||
`tabApplicable On Account` a,
|
||||
`tabAccounting Dimension Filter` p
|
||||
@@ -86,8 +89,6 @@ def get_dimension_filter_map():
|
||||
dimension_filter_map = {}
|
||||
|
||||
for f in filters:
|
||||
f.fieldname = scrub(f.accounting_dimension)
|
||||
|
||||
build_map(
|
||||
dimension_filter_map,
|
||||
f.fieldname,
|
||||
|
||||
@@ -12,7 +12,7 @@ frappe.ui.form.on("Accounts Settings", {
|
||||
msg += " ";
|
||||
msg += __("Please enable only if the understand the effects of enabling this.");
|
||||
msg += "<br>";
|
||||
msg += "Do you still want to enable immutable ledger?";
|
||||
msg += __("Do you still want to enable immutable ledger?");
|
||||
|
||||
frappe.confirm(
|
||||
msg,
|
||||
@@ -22,4 +22,32 @@ frappe.ui.form.on("Accounts Settings", {
|
||||
}
|
||||
);
|
||||
},
|
||||
|
||||
add_taxes_from_taxes_and_charges_template(frm) {
|
||||
toggle_tax_settings(frm, "add_taxes_from_taxes_and_charges_template");
|
||||
},
|
||||
|
||||
add_taxes_from_item_tax_template(frm) {
|
||||
toggle_tax_settings(frm, "add_taxes_from_item_tax_template");
|
||||
},
|
||||
|
||||
drop_ar_procedures: function (frm) {
|
||||
frm.call({
|
||||
doc: frm.doc,
|
||||
method: "drop_ar_sql_procedures",
|
||||
callback: function (r) {
|
||||
frappe.show_alert(__("Procedures dropped"), 5);
|
||||
},
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
function toggle_tax_settings(frm, field_name) {
|
||||
if (frm.doc[field_name]) {
|
||||
const other_field =
|
||||
field_name === "add_taxes_from_item_tax_template"
|
||||
? "add_taxes_from_taxes_and_charges_template"
|
||||
: "add_taxes_from_item_tax_template";
|
||||
frm.set_value(other_field, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"column_break_17",
|
||||
"enable_common_party_accounting",
|
||||
"allow_multi_currency_invoices_against_single_party_account",
|
||||
"confirm_before_resetting_posting_date",
|
||||
"journals_section",
|
||||
"merge_similar_account_heads",
|
||||
"deferred_accounting_settings_section",
|
||||
@@ -31,6 +32,7 @@
|
||||
"determine_address_tax_category_from",
|
||||
"column_break_19",
|
||||
"add_taxes_from_item_tax_template",
|
||||
"add_taxes_from_taxes_and_charges_template",
|
||||
"book_tax_discount_loss",
|
||||
"round_row_wise_tax",
|
||||
"print_settings",
|
||||
@@ -38,11 +40,23 @@
|
||||
"show_taxes_as_table_in_print",
|
||||
"column_break_12",
|
||||
"show_payment_schedule_in_print",
|
||||
"item_price_settings_section",
|
||||
"maintain_same_internal_transaction_rate",
|
||||
"fetch_valuation_rate_for_internal_transaction",
|
||||
"column_break_feyo",
|
||||
"maintain_same_rate_action",
|
||||
"role_to_override_stop_action",
|
||||
"currency_exchange_section",
|
||||
"allow_stale",
|
||||
"allow_pegged_currencies_exchange_rates",
|
||||
"column_break_yuug",
|
||||
"stale_days",
|
||||
"section_break_jpd0",
|
||||
"auto_reconcile_payments",
|
||||
"stale_days",
|
||||
"auto_reconciliation_job_trigger",
|
||||
"reconciliation_queue_size",
|
||||
"column_break_resa",
|
||||
"exchange_gain_loss_posting_date",
|
||||
"invoicing_settings_tab",
|
||||
"accounts_transactions_settings_section",
|
||||
"over_billing_allowance",
|
||||
@@ -53,6 +67,7 @@
|
||||
"pos_tab",
|
||||
"pos_setting_section",
|
||||
"post_change_gl_entries",
|
||||
"column_break_xrnd",
|
||||
"assets_tab",
|
||||
"asset_settings_section",
|
||||
"calculate_depr_using_total_days",
|
||||
@@ -74,8 +89,16 @@
|
||||
"general_ledger_remarks_length",
|
||||
"column_break_lvjk",
|
||||
"receivable_payable_remarks_length",
|
||||
"accounts_receivable_payable_tuning_section",
|
||||
"receivable_payable_fetch_method",
|
||||
"column_break_ntmi",
|
||||
"drop_ar_procedures",
|
||||
"legacy_section",
|
||||
"ignore_is_opening_check_for_reporting",
|
||||
"payment_request_settings",
|
||||
"create_pr_in_draft_status"
|
||||
"create_pr_in_draft_status",
|
||||
"budget_settings",
|
||||
"use_new_budget_controller"
|
||||
],
|
||||
"fields": [
|
||||
{
|
||||
@@ -384,7 +407,7 @@
|
||||
{
|
||||
"fieldname": "section_break_jpd0",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "Payment Reconciliations"
|
||||
"label": "Payment Reconciliation Settings"
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
@@ -489,14 +512,154 @@
|
||||
"fieldname": "create_pr_in_draft_status",
|
||||
"fieldtype": "Check",
|
||||
"label": "Create in Draft Status"
|
||||
},
|
||||
{
|
||||
"fieldname": "column_break_yuug",
|
||||
"fieldtype": "Column Break"
|
||||
},
|
||||
{
|
||||
"fieldname": "column_break_resa",
|
||||
"fieldtype": "Column Break"
|
||||
},
|
||||
{
|
||||
"default": "15",
|
||||
"description": "Interval should be between 1 to 59 MInutes",
|
||||
"fieldname": "auto_reconciliation_job_trigger",
|
||||
"fieldtype": "Int",
|
||||
"label": "Auto Reconciliation Job Trigger"
|
||||
},
|
||||
{
|
||||
"default": "5",
|
||||
"description": "Documents Processed on each trigger. Queue Size should be between 5 and 100",
|
||||
"fieldname": "reconciliation_queue_size",
|
||||
"fieldtype": "Int",
|
||||
"label": "Reconciliation Queue Size"
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
"description": "Ignores legacy Is Opening field in GL Entry that allows adding opening balance post the system is in use while generating reports",
|
||||
"fieldname": "ignore_is_opening_check_for_reporting",
|
||||
"fieldtype": "Check",
|
||||
"label": "Ignore Is Opening check for reporting"
|
||||
},
|
||||
{
|
||||
"default": "Payment",
|
||||
"description": "Only applies for Normal Payments",
|
||||
"fieldname": "exchange_gain_loss_posting_date",
|
||||
"fieldtype": "Select",
|
||||
"label": "Posting Date Inheritance for Exchange Gain / Loss",
|
||||
"options": "Invoice\nPayment\nReconciliation Date"
|
||||
},
|
||||
{
|
||||
"fieldname": "column_break_xrnd",
|
||||
"fieldtype": "Column Break"
|
||||
},
|
||||
{
|
||||
"default": "Buffered Cursor",
|
||||
"fieldname": "receivable_payable_fetch_method",
|
||||
"fieldtype": "Select",
|
||||
"label": "Data Fetch Method",
|
||||
"options": "Buffered Cursor\nUnBuffered Cursor\nRaw SQL"
|
||||
},
|
||||
{
|
||||
"fieldname": "accounts_receivable_payable_tuning_section",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "Accounts Receivable / Payable Tuning"
|
||||
},
|
||||
{
|
||||
"fieldname": "legacy_section",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "Legacy Fields"
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
"fieldname": "maintain_same_internal_transaction_rate",
|
||||
"fieldtype": "Check",
|
||||
"label": "Maintain Same Rate Throughout Internal Transaction"
|
||||
},
|
||||
{
|
||||
"default": "Stop",
|
||||
"depends_on": "maintain_same_internal_transaction_rate",
|
||||
"fieldname": "maintain_same_rate_action",
|
||||
"fieldtype": "Select",
|
||||
"label": "Action if Same Rate is Not Maintained Throughout Internal Transaction",
|
||||
"mandatory_depends_on": "maintain_same_internal_transaction_rate",
|
||||
"options": "Stop\nWarn"
|
||||
},
|
||||
{
|
||||
"depends_on": "eval: doc.maintain_same_internal_transaction_rate && doc.maintain_same_rate_action == 'Stop'",
|
||||
"fieldname": "role_to_override_stop_action",
|
||||
"fieldtype": "Link",
|
||||
"label": "Role Allowed to Override Stop Action",
|
||||
"options": "Role"
|
||||
},
|
||||
{
|
||||
"fieldname": "budget_settings",
|
||||
"fieldtype": "Tab Break",
|
||||
"label": "Budget"
|
||||
},
|
||||
{
|
||||
"default": "1",
|
||||
"fieldname": "use_new_budget_controller",
|
||||
"fieldtype": "Check",
|
||||
"label": "Use New Budget Controller"
|
||||
},
|
||||
{
|
||||
"default": "1",
|
||||
"description": "If enabled, user will be alerted before resetting posting date to current date in relevant transactions",
|
||||
"fieldname": "confirm_before_resetting_posting_date",
|
||||
"fieldtype": "Check",
|
||||
"label": "Confirm before resetting posting date"
|
||||
},
|
||||
{
|
||||
"fieldname": "item_price_settings_section",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "Item Price Settings"
|
||||
},
|
||||
{
|
||||
"fieldname": "column_break_feyo",
|
||||
"fieldtype": "Column Break"
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
"description": "System will do an implicit conversion using the pegged currency. <br>\nEx: Instead of AED -> INR, system will do AED -> USD -> INR using the pegged exchange rate of AED against USD.",
|
||||
"documentation_url": "/app/pegged-currencies/Pegged Currencies",
|
||||
"fieldname": "allow_pegged_currencies_exchange_rates",
|
||||
"fieldtype": "Check",
|
||||
"label": "Allow Implicit Pegged Currency Conversion"
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
"description": "If no taxes are set, and Taxes and Charges Template is selected, the system will automatically apply the taxes from the chosen template.",
|
||||
"fieldname": "add_taxes_from_taxes_and_charges_template",
|
||||
"fieldtype": "Check",
|
||||
"label": "Automatically Add Taxes from Taxes and Charges Template"
|
||||
},
|
||||
{
|
||||
"fieldname": "column_break_ntmi",
|
||||
"fieldtype": "Column Break"
|
||||
},
|
||||
{
|
||||
"depends_on": "eval:doc.receivable_payable_fetch_method == \"Raw SQL\"",
|
||||
"description": "Drops existing SQL Procedures and Function setup by Accounts Receivable report",
|
||||
"fieldname": "drop_ar_procedures",
|
||||
"fieldtype": "Button",
|
||||
"label": "Drop Procedures"
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
"fieldname": "fetch_valuation_rate_for_internal_transaction",
|
||||
"fieldtype": "Check",
|
||||
"label": "Fetch Valuation Rate for Internal Transaction"
|
||||
}
|
||||
],
|
||||
"grid_page_length": 50,
|
||||
"icon": "icon-cog",
|
||||
"idx": 1,
|
||||
"index_web_pages_for_search": 1,
|
||||
"issingle": 1,
|
||||
"links": [],
|
||||
"modified": "2024-07-26 06:48:52.714630",
|
||||
"modified": "2025-07-18 13:56:47.192437",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Accounts",
|
||||
"name": "Accounts Settings",
|
||||
@@ -521,8 +684,9 @@
|
||||
}
|
||||
],
|
||||
"quick_entry": 1,
|
||||
"row_format": "Dynamic",
|
||||
"sort_field": "creation",
|
||||
"sort_order": "ASC",
|
||||
"states": [],
|
||||
"track_changes": 1
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ from frappe.custom.doctype.property_setter.property_setter import make_property_
|
||||
from frappe.model.document import Document
|
||||
from frappe.utils import cint
|
||||
|
||||
from erpnext.accounts.utils import sync_auto_reconcile_config
|
||||
from erpnext.stock.utils import check_pending_reposting
|
||||
|
||||
|
||||
@@ -24,9 +25,12 @@ class AccountsSettings(Document):
|
||||
|
||||
acc_frozen_upto: DF.Date | None
|
||||
add_taxes_from_item_tax_template: DF.Check
|
||||
add_taxes_from_taxes_and_charges_template: DF.Check
|
||||
allow_multi_currency_invoices_against_single_party_account: DF.Check
|
||||
allow_pegged_currencies_exchange_rates: DF.Check
|
||||
allow_stale: DF.Check
|
||||
auto_reconcile_payments: DF.Check
|
||||
auto_reconciliation_job_trigger: DF.Int
|
||||
automatically_fetch_payment_terms: DF.Check
|
||||
automatically_process_deferred_accounting_entry: DF.Check
|
||||
book_asset_depreciation_entry_automatically: DF.Check
|
||||
@@ -35,6 +39,7 @@ class AccountsSettings(Document):
|
||||
book_tax_discount_loss: DF.Check
|
||||
calculate_depr_using_total_days: DF.Check
|
||||
check_supplier_invoice_uniqueness: DF.Check
|
||||
confirm_before_resetting_posting_date: DF.Check
|
||||
create_pr_in_draft_status: DF.Check
|
||||
credit_controller: DF.Link | None
|
||||
delete_linked_ledger_entries: DF.Check
|
||||
@@ -43,15 +48,23 @@ class AccountsSettings(Document):
|
||||
enable_fuzzy_matching: DF.Check
|
||||
enable_immutable_ledger: DF.Check
|
||||
enable_party_matching: DF.Check
|
||||
exchange_gain_loss_posting_date: DF.Literal["Invoice", "Payment", "Reconciliation Date"]
|
||||
fetch_valuation_rate_for_internal_transaction: DF.Check
|
||||
frozen_accounts_modifier: DF.Link | None
|
||||
general_ledger_remarks_length: DF.Int
|
||||
ignore_account_closing_balance: DF.Check
|
||||
ignore_is_opening_check_for_reporting: DF.Check
|
||||
maintain_same_internal_transaction_rate: DF.Check
|
||||
maintain_same_rate_action: DF.Literal["Stop", "Warn"]
|
||||
make_payment_via_journal_entry: DF.Check
|
||||
merge_similar_account_heads: DF.Check
|
||||
over_billing_allowance: DF.Currency
|
||||
post_change_gl_entries: DF.Check
|
||||
receivable_payable_fetch_method: DF.Literal["Buffered Cursor", "UnBuffered Cursor", "Raw SQL"]
|
||||
receivable_payable_remarks_length: DF.Int
|
||||
reconciliation_queue_size: DF.Int
|
||||
role_allowed_to_over_bill: DF.Link | None
|
||||
role_to_override_stop_action: DF.Link | None
|
||||
round_row_wise_tax: DF.Check
|
||||
show_balance_in_coa: DF.Check
|
||||
show_inclusive_tax_in_print: DF.Check
|
||||
@@ -61,9 +74,11 @@ class AccountsSettings(Document):
|
||||
submit_journal_entries: DF.Check
|
||||
unlink_advance_payment_on_cancelation_of_order: DF.Check
|
||||
unlink_payment_on_cancellation_of_invoice: DF.Check
|
||||
use_new_budget_controller: DF.Check
|
||||
# end: auto-generated types
|
||||
|
||||
def validate(self):
|
||||
self.validate_auto_tax_settings()
|
||||
old_doc = self.get_doc_before_save()
|
||||
clear_cache = False
|
||||
|
||||
@@ -90,6 +105,8 @@ class AccountsSettings(Document):
|
||||
if clear_cache:
|
||||
frappe.clear_cache()
|
||||
|
||||
self.validate_and_sync_auto_reconcile_config()
|
||||
|
||||
def validate_stale_days(self):
|
||||
if not self.allow_stale and cint(self.stale_days) <= 0:
|
||||
frappe.msgprint(
|
||||
@@ -114,3 +131,35 @@ class AccountsSettings(Document):
|
||||
def validate_pending_reposts(self):
|
||||
if self.acc_frozen_upto:
|
||||
check_pending_reposting(self.acc_frozen_upto)
|
||||
|
||||
def validate_and_sync_auto_reconcile_config(self):
|
||||
if self.has_value_changed("auto_reconciliation_job_trigger"):
|
||||
if (
|
||||
cint(self.auto_reconciliation_job_trigger) > 0
|
||||
and cint(self.auto_reconciliation_job_trigger) < 60
|
||||
):
|
||||
sync_auto_reconcile_config(self.auto_reconciliation_job_trigger)
|
||||
else:
|
||||
frappe.throw(_("Cron Interval should be between 1 and 59 Min"))
|
||||
|
||||
if self.has_value_changed("reconciliation_queue_size"):
|
||||
if cint(self.reconciliation_queue_size) < 5 or cint(self.reconciliation_queue_size) > 100:
|
||||
frappe.throw(_("Queue Size should be between 5 and 100"))
|
||||
|
||||
def validate_auto_tax_settings(self):
|
||||
if self.add_taxes_from_item_tax_template and self.add_taxes_from_taxes_and_charges_template:
|
||||
frappe.throw(
|
||||
_("You cannot enable both the settings '{0}' and '{1}'.").format(
|
||||
frappe.bold(_(self.meta.get_label("add_taxes_from_item_tax_template"))),
|
||||
frappe.bold(_(self.meta.get_label("add_taxes_from_taxes_and_charges_template"))),
|
||||
),
|
||||
title=_("Auto Tax Settings Error"),
|
||||
)
|
||||
|
||||
@frappe.whitelist()
|
||||
def drop_ar_sql_procedures(self):
|
||||
from erpnext.accounts.report.accounts_receivable.accounts_receivable import InitSQLProceduresForAR
|
||||
|
||||
frappe.db.sql(f"drop function if exists {InitSQLProceduresForAR.genkey_function_name}")
|
||||
frappe.db.sql(f"drop procedure if exists {InitSQLProceduresForAR.init_procedure_name}")
|
||||
frappe.db.sql(f"drop procedure if exists {InitSQLProceduresForAR.allocate_procedure_name}")
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
"against_voucher_no",
|
||||
"amount",
|
||||
"currency",
|
||||
"event"
|
||||
"event",
|
||||
"delinked"
|
||||
],
|
||||
"fields": [
|
||||
{
|
||||
@@ -68,12 +69,20 @@
|
||||
"label": "Company",
|
||||
"options": "Company",
|
||||
"read_only": 1
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
"fieldname": "delinked",
|
||||
"fieldtype": "Check",
|
||||
"label": "DeLinked",
|
||||
"read_only": 1
|
||||
}
|
||||
],
|
||||
"grid_page_length": 50,
|
||||
"in_create": 1,
|
||||
"index_web_pages_for_search": 1,
|
||||
"links": [],
|
||||
"modified": "2024-11-05 10:31:28.736671",
|
||||
"modified": "2025-07-29 11:37:42.678556",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Accounts",
|
||||
"name": "Advance Payment Ledger Entry",
|
||||
@@ -107,7 +116,8 @@
|
||||
"share": 1
|
||||
}
|
||||
],
|
||||
"row_format": "Dynamic",
|
||||
"sort_field": "creation",
|
||||
"sort_order": "DESC",
|
||||
"states": []
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
# Copyright (c) 2024, Frappe Technologies Pvt. Ltd. and contributors
|
||||
# For license information, please see license.txt
|
||||
|
||||
# import frappe
|
||||
import frappe
|
||||
from frappe.model.document import Document
|
||||
|
||||
from erpnext.accounts.utils import get_advance_payment_doctypes, update_voucher_outstanding
|
||||
|
||||
|
||||
class AdvancePaymentLedgerEntry(Document):
|
||||
# begin: auto-generated types
|
||||
@@ -19,9 +21,16 @@ class AdvancePaymentLedgerEntry(Document):
|
||||
amount: DF.Currency
|
||||
company: DF.Link | None
|
||||
currency: DF.Link | None
|
||||
delinked: DF.Check
|
||||
event: DF.Data | None
|
||||
voucher_no: DF.DynamicLink | None
|
||||
voucher_type: DF.Link | None
|
||||
# end: auto-generated types
|
||||
|
||||
pass
|
||||
def on_update(self):
|
||||
if (
|
||||
self.against_voucher_type in get_advance_payment_doctypes()
|
||||
and self.flags.update_outstanding == "Yes"
|
||||
and not frappe.flags.is_reverse_depr_entry
|
||||
):
|
||||
update_voucher_outstanding(self.against_voucher_type, self.against_voucher_no, None, None, None)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# See license.txt
|
||||
|
||||
import frappe
|
||||
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||
from frappe.tests import IntegrationTestCase
|
||||
from frappe.utils import nowdate, today
|
||||
|
||||
from erpnext.accounts.doctype.payment_entry.test_payment_entry import get_payment_entry
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"accounting_dimensions_section",
|
||||
"cost_center",
|
||||
"dimension_col_break",
|
||||
"project",
|
||||
"section_break_8",
|
||||
"rate",
|
||||
"section_break_9",
|
||||
@@ -95,6 +96,13 @@
|
||||
"fieldname": "dimension_col_break",
|
||||
"fieldtype": "Column Break"
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 1,
|
||||
"fieldname": "project",
|
||||
"fieldtype": "Link",
|
||||
"label": "Project",
|
||||
"options": "Project"
|
||||
},
|
||||
{
|
||||
"fieldname": "section_break_8",
|
||||
"fieldtype": "Section Break"
|
||||
@@ -104,7 +112,7 @@
|
||||
"fieldname": "rate",
|
||||
"fieldtype": "Float",
|
||||
"in_list_view": 1,
|
||||
"label": "Rate",
|
||||
"label": "Tax Rate",
|
||||
"oldfieldname": "rate",
|
||||
"oldfieldtype": "Currency"
|
||||
},
|
||||
|
||||
@@ -132,7 +132,8 @@
|
||||
"fieldtype": "Data",
|
||||
"in_list_view": 1,
|
||||
"label": "IBAN",
|
||||
"length": 30
|
||||
"length": 34,
|
||||
"options": "IBAN"
|
||||
},
|
||||
{
|
||||
"fieldname": "column_break_12",
|
||||
@@ -208,6 +209,7 @@
|
||||
"label": "Disabled"
|
||||
}
|
||||
],
|
||||
"grid_page_length": 50,
|
||||
"links": [
|
||||
{
|
||||
"group": "Transactions",
|
||||
@@ -250,7 +252,7 @@
|
||||
"link_fieldname": "default_bank_account"
|
||||
}
|
||||
],
|
||||
"modified": "2024-10-30 09:41:14.113414",
|
||||
"modified": "2025-08-29 12:32:01.081687",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Accounts",
|
||||
"name": "Bank Account",
|
||||
@@ -282,9 +284,10 @@
|
||||
"write": 1
|
||||
}
|
||||
],
|
||||
"row_format": "Dynamic",
|
||||
"search_fields": "bank,account",
|
||||
"sort_field": "creation",
|
||||
"sort_order": "DESC",
|
||||
"states": [],
|
||||
"track_changes": 1
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,11 +48,10 @@ class BankAccount(Document):
|
||||
self.name = self.account_name + " - " + self.bank
|
||||
|
||||
def on_trash(self):
|
||||
delete_contact_and_address("BankAccount", self.name)
|
||||
delete_contact_and_address("Bank Account", self.name)
|
||||
|
||||
def validate(self):
|
||||
self.validate_company()
|
||||
self.validate_iban()
|
||||
self.validate_account()
|
||||
self.update_default_bank_account()
|
||||
|
||||
@@ -72,35 +71,6 @@ class BankAccount(Document):
|
||||
if self.is_company_account and not self.company:
|
||||
frappe.throw(_("Company is mandatory for company account"))
|
||||
|
||||
def validate_iban(self):
|
||||
"""
|
||||
Algorithm: https://en.wikipedia.org/wiki/International_Bank_Account_Number#Validating_the_IBAN
|
||||
"""
|
||||
# IBAN field is optional
|
||||
if not self.iban:
|
||||
return
|
||||
|
||||
def encode_char(c):
|
||||
# Position in the alphabet (A=1, B=2, ...) plus nine
|
||||
return str(9 + ord(c) - 64)
|
||||
|
||||
# remove whitespaces, upper case to get the right number from ord()
|
||||
iban = "".join(self.iban.split(" ")).upper()
|
||||
|
||||
# Move country code and checksum from the start to the end
|
||||
flipped = iban[4:] + iban[:4]
|
||||
|
||||
# Encode characters as numbers
|
||||
encoded = [encode_char(c) if ord(c) >= 65 and ord(c) <= 90 else c for c in flipped]
|
||||
|
||||
try:
|
||||
to_check = int("".join(encoded))
|
||||
except ValueError:
|
||||
frappe.throw(_("IBAN is not valid"))
|
||||
|
||||
if to_check % 97 != 1:
|
||||
frappe.throw(_("IBAN is not valid"))
|
||||
|
||||
def update_default_bank_account(self):
|
||||
if self.is_default and not self.disabled:
|
||||
frappe.db.set_value(
|
||||
@@ -109,6 +79,7 @@ class BankAccount(Document):
|
||||
"party_type": self.party_type,
|
||||
"party": self.party,
|
||||
"is_company_account": self.is_company_account,
|
||||
"company": self.company,
|
||||
"is_default": 1,
|
||||
"disabled": 0,
|
||||
},
|
||||
@@ -117,15 +88,6 @@ class BankAccount(Document):
|
||||
)
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def make_bank_account(doctype, docname):
|
||||
doc = frappe.new_doc("Bank Account")
|
||||
doc.party_type = doctype
|
||||
doc.party = docname
|
||||
|
||||
return doc
|
||||
|
||||
|
||||
def get_party_bank_account(party_type, party):
|
||||
return frappe.db.get_value(
|
||||
"Bank Account",
|
||||
|
||||
@@ -8,38 +8,4 @@ from frappe.tests import IntegrationTestCase
|
||||
|
||||
|
||||
class TestBankAccount(IntegrationTestCase):
|
||||
def test_validate_iban(self):
|
||||
valid_ibans = [
|
||||
"GB82 WEST 1234 5698 7654 32",
|
||||
"DE91 1000 0000 0123 4567 89",
|
||||
"FR76 3000 6000 0112 3456 7890 189",
|
||||
]
|
||||
|
||||
invalid_ibans = [
|
||||
# wrong checksum (3rd place)
|
||||
"GB72 WEST 1234 5698 7654 32",
|
||||
"DE81 1000 0000 0123 4567 89",
|
||||
"FR66 3000 6000 0112 3456 7890 189",
|
||||
]
|
||||
|
||||
bank_account = frappe.get_doc({"doctype": "Bank Account"})
|
||||
|
||||
try:
|
||||
bank_account.validate_iban()
|
||||
except AttributeError:
|
||||
msg = "BankAccount.validate_iban() failed for empty IBAN"
|
||||
self.fail(msg=msg)
|
||||
|
||||
for iban in valid_ibans:
|
||||
bank_account.iban = iban
|
||||
try:
|
||||
bank_account.validate_iban()
|
||||
except ValidationError:
|
||||
msg = f"BankAccount.validate_iban() failed for valid IBAN {iban}"
|
||||
self.fail(msg=msg)
|
||||
|
||||
for not_iban in invalid_ibans:
|
||||
bank_account.iban = not_iban
|
||||
msg = f"BankAccount.validate_iban() accepted invalid IBAN {not_iban}"
|
||||
with self.assertRaises(ValidationError, msg=msg):
|
||||
bank_account.validate_iban()
|
||||
pass
|
||||
|
||||
@@ -6,7 +6,7 @@ import frappe
|
||||
from frappe import _, msgprint
|
||||
from frappe.model.document import Document
|
||||
from frappe.query_builder.custom import ConstantColumn
|
||||
from frappe.utils import flt, fmt_money, get_link_to_form, getdate
|
||||
from frappe.utils import cint, flt, fmt_money, get_link_to_form, getdate
|
||||
from pypika import Order
|
||||
|
||||
import erpnext
|
||||
@@ -48,6 +48,7 @@ class BankClearance(Document):
|
||||
entries = []
|
||||
|
||||
# get entries from all the apps
|
||||
precision = cint(frappe.db.get_default("currency_precision")) or 2
|
||||
for method_name in frappe.get_hooks("get_payment_entries_for_bank_clearance"):
|
||||
entries += (
|
||||
frappe.get_attr(method_name)(
|
||||
@@ -77,7 +78,7 @@ class BankClearance(Document):
|
||||
if not d.get("account_currency"):
|
||||
d.account_currency = default_currency
|
||||
|
||||
formatted_amount = fmt_money(abs(amount), 2, d.account_currency)
|
||||
formatted_amount = fmt_money(abs(amount), precision, d.account_currency)
|
||||
d.amount = formatted_amount + " " + (_("Dr") if amount > 0 else _("Cr"))
|
||||
d.posting_date = getdate(d.posting_date)
|
||||
|
||||
@@ -88,46 +89,64 @@ class BankClearance(Document):
|
||||
|
||||
@frappe.whitelist()
|
||||
def update_clearance_date(self):
|
||||
clearance_date_updated = False
|
||||
invalid_document = []
|
||||
invalid_cheque_date = []
|
||||
entries_to_update = []
|
||||
|
||||
def validate_entry(d):
|
||||
is_valid = True
|
||||
if not d.payment_document:
|
||||
invalid_document.append(str(d.idx))
|
||||
is_valid = False
|
||||
|
||||
if d.clearance_date and d.cheque_date and getdate(d.clearance_date) < getdate(d.cheque_date):
|
||||
invalid_cheque_date.append(str(d.idx))
|
||||
is_valid = False
|
||||
|
||||
return is_valid
|
||||
|
||||
for d in self.get("payment_entries"):
|
||||
if d.clearance_date:
|
||||
if not d.payment_document:
|
||||
frappe.throw(_("Row #{0}: Payment document is required to complete the transaction"))
|
||||
|
||||
if d.cheque_date and getdate(d.clearance_date) < getdate(d.cheque_date):
|
||||
frappe.throw(
|
||||
_("Row #{0}: For {1} Clearance date {2} cannot be before Cheque Date {3}").format(
|
||||
d.idx,
|
||||
get_link_to_form(d.payment_document, d.payment_entry),
|
||||
d.clearance_date,
|
||||
d.cheque_date,
|
||||
)
|
||||
)
|
||||
|
||||
if d.clearance_date or self.include_reconciled_entries:
|
||||
if validate_entry(d) and (d.clearance_date or self.include_reconciled_entries):
|
||||
if not d.clearance_date:
|
||||
d.clearance_date = None
|
||||
|
||||
if d.payment_document == "Sales Invoice":
|
||||
frappe.db.set_value(
|
||||
"Sales Invoice Payment",
|
||||
{"parent": d.payment_entry, "account": self.get("account"), "amount": [">", 0]},
|
||||
"clearance_date",
|
||||
d.clearance_date,
|
||||
)
|
||||
entries_to_update.append(d)
|
||||
|
||||
else:
|
||||
frappe.db.set_value(
|
||||
d.payment_document, d.payment_entry, "clearance_date", d.clearance_date
|
||||
)
|
||||
if invalid_document or invalid_cheque_date:
|
||||
msg = _("<p>Please correct the following row(s):</p><ul>")
|
||||
if invalid_document:
|
||||
msg += _("<li>Payment document required for row(s): {0}</li>").format(
|
||||
", ".join(invalid_document)
|
||||
)
|
||||
|
||||
clearance_date_updated = True
|
||||
if invalid_cheque_date:
|
||||
msg += _("<li>Clearance date must be after cheque date for row(s): {0}</li>").format(
|
||||
", ".join(invalid_cheque_date)
|
||||
)
|
||||
|
||||
if clearance_date_updated:
|
||||
self.get_payment_entries()
|
||||
msgprint(_("Clearance Date updated"))
|
||||
else:
|
||||
msg += "</ul>"
|
||||
frappe.throw(_(msg))
|
||||
return
|
||||
|
||||
if not entries_to_update:
|
||||
msgprint(_("Clearance Date not mentioned"))
|
||||
return
|
||||
|
||||
for d in entries_to_update:
|
||||
if d.payment_document == "Sales Invoice":
|
||||
frappe.db.set_value(
|
||||
"Sales Invoice Payment",
|
||||
{"parent": d.payment_entry, "account": self.get("account"), "amount": [">", 0]},
|
||||
"clearance_date",
|
||||
d.clearance_date,
|
||||
)
|
||||
else:
|
||||
# using db_set to trigger notification
|
||||
payment_entry = frappe.get_lazy_doc(d.payment_document, d.payment_entry)
|
||||
payment_entry.db_set("clearance_date", d.clearance_date)
|
||||
|
||||
self.get_payment_entries()
|
||||
msgprint(_("Clearance Date updated"))
|
||||
|
||||
|
||||
def get_payment_entries_for_bank_clearance(
|
||||
@@ -136,8 +155,10 @@ def get_payment_entries_for_bank_clearance(
|
||||
entries = []
|
||||
|
||||
condition = ""
|
||||
pe_condition = ""
|
||||
if not include_reconciled_entries:
|
||||
condition = "and (clearance_date IS NULL or clearance_date='0000-00-00')"
|
||||
pe_condition = "and (pe.clearance_date IS NULL or pe.clearance_date='0000-00-00')"
|
||||
|
||||
journal_entries = frappe.db.sql(
|
||||
f"""
|
||||
@@ -159,31 +180,28 @@ def get_payment_entries_for_bank_clearance(
|
||||
as_dict=1,
|
||||
)
|
||||
|
||||
if bank_account:
|
||||
condition += "and bank_account = %(bank_account)s"
|
||||
|
||||
payment_entries = frappe.db.sql(
|
||||
f"""
|
||||
select
|
||||
"Payment Entry" as payment_document, name as payment_entry,
|
||||
reference_no as cheque_number, reference_date as cheque_date,
|
||||
if(paid_from=%(account)s, paid_amount + total_taxes_and_charges, 0) as credit,
|
||||
if(paid_from=%(account)s, 0, received_amount + total_taxes_and_charges) as debit,
|
||||
posting_date, ifnull(party,if(paid_from=%(account)s,paid_to,paid_from)) as against_account, clearance_date,
|
||||
if(paid_to=%(account)s, paid_to_account_currency, paid_from_account_currency) as account_currency
|
||||
from `tabPayment Entry`
|
||||
"Payment Entry" as payment_document, pe.name as payment_entry,
|
||||
pe.reference_no as cheque_number, pe.reference_date as cheque_date,
|
||||
if(pe.paid_from=%(account)s, pe.paid_amount + if(pe.payment_type = 'Pay' and c.default_currency = pe.paid_from_account_currency, pe.base_total_taxes_and_charges, pe.total_taxes_and_charges) , 0) as credit,
|
||||
if(pe.paid_from=%(account)s, 0, pe.received_amount + pe.total_taxes_and_charges) as debit,
|
||||
pe.posting_date, ifnull(pe.party,if(pe.paid_from=%(account)s,pe.paid_to,pe.paid_from)) as against_account, pe.clearance_date,
|
||||
if(pe.paid_to=%(account)s, pe.paid_to_account_currency, pe.paid_from_account_currency) as account_currency
|
||||
from `tabPayment Entry` as pe
|
||||
join `tabCompany` c on c.name = pe.company
|
||||
where
|
||||
(paid_from=%(account)s or paid_to=%(account)s) and docstatus=1
|
||||
and posting_date >= %(from)s and posting_date <= %(to)s
|
||||
{condition}
|
||||
(pe.paid_from=%(account)s or pe.paid_to=%(account)s) and pe.docstatus=1
|
||||
and pe.posting_date >= %(from)s and pe.posting_date <= %(to)s
|
||||
{pe_condition}
|
||||
order by
|
||||
posting_date ASC, name DESC
|
||||
pe.posting_date ASC, pe.name DESC
|
||||
""",
|
||||
{
|
||||
"account": account,
|
||||
"from": from_date,
|
||||
"to": to_date,
|
||||
"bank_account": bank_account,
|
||||
},
|
||||
as_dict=1,
|
||||
)
|
||||
|
||||
@@ -7,6 +7,9 @@ from frappe.tests import IntegrationTestCase
|
||||
from frappe.utils import add_months, getdate
|
||||
|
||||
from erpnext.accounts.doctype.cost_center.test_cost_center import create_cost_center
|
||||
from erpnext.accounts.doctype.mode_of_payment.test_mode_of_payment import (
|
||||
set_default_account_for_mode_of_payment,
|
||||
)
|
||||
from erpnext.accounts.doctype.payment_entry.test_payment_entry import get_payment_entry
|
||||
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice
|
||||
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
|
||||
@@ -143,7 +146,7 @@ def make_payment_entry():
|
||||
|
||||
supplier = create_supplier(supplier_name="_Test Supplier")
|
||||
pi = make_purchase_invoice(
|
||||
supplier=supplier,
|
||||
supplier=supplier.name,
|
||||
supplier_warehouse="_Test Warehouse - _TC",
|
||||
expense_account="Cost of Goods Sold - _TC",
|
||||
uom="Nos",
|
||||
@@ -172,11 +175,13 @@ def make_pos_sales_invoice():
|
||||
|
||||
customer = make_customer(customer="_Test Customer")
|
||||
|
||||
mode_of_payment = frappe.get_doc("Mode of Payment", "Wire Transfer")
|
||||
|
||||
set_default_account_for_mode_of_payment(mode_of_payment, "_Test Company", "_Test Bank Clearance - _TC")
|
||||
|
||||
si = create_sales_invoice(customer=customer, item="_Test Item", is_pos=1, qty=1, rate=1000, do_not_save=1)
|
||||
si.set("payments", [])
|
||||
si.append(
|
||||
"payments", {"mode_of_payment": "Cash", "account": "_Test Bank Clearance - _TC", "amount": 1000}
|
||||
)
|
||||
si.append("payments", {"mode_of_payment": "Wire Transfer", "amount": 1000})
|
||||
si.insert()
|
||||
si.submit()
|
||||
|
||||
|
||||
@@ -146,6 +146,7 @@
|
||||
"fieldname": "iban",
|
||||
"fieldtype": "Data",
|
||||
"label": "IBAN",
|
||||
"options": "IBAN",
|
||||
"read_only": 1
|
||||
},
|
||||
{
|
||||
@@ -214,9 +215,10 @@
|
||||
"read_only": 1
|
||||
}
|
||||
],
|
||||
"grid_page_length": 50,
|
||||
"is_submittable": 1,
|
||||
"links": [],
|
||||
"modified": "2024-03-27 13:06:37.731207",
|
||||
"modified": "2025-08-29 11:52:33.550847",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Accounts",
|
||||
"name": "Bank Guarantee",
|
||||
@@ -250,9 +252,10 @@
|
||||
}
|
||||
],
|
||||
"quick_entry": 1,
|
||||
"row_format": "Dynamic",
|
||||
"search_fields": "customer",
|
||||
"sort_field": "creation",
|
||||
"sort_order": "DESC",
|
||||
"states": [],
|
||||
"title_field": "customer"
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user