mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-05-25 00:44:03 -04:00
Compare commits
621 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8e52bd4c1a | ||
|
|
2a66107cbc | ||
|
|
2dec15c760 | ||
|
|
dcda176614 | ||
|
|
98306e20be | ||
|
|
a8e505d668 | ||
|
|
3acf9056ec | ||
|
|
9e800fa2c3 | ||
|
|
5578b40185 | ||
|
|
03e2bed008 | ||
|
|
c57a3d8973 | ||
|
|
6178b7b678 | ||
|
|
4e85b8a677 | ||
|
|
23e4deb7c4 | ||
|
|
f7d06c1da4 | ||
|
|
a25653e3cf | ||
|
|
49ef2a2105 | ||
|
|
57f5d419dd | ||
|
|
58192f74c0 | ||
|
|
d34ff02686 | ||
|
|
37cacdbc39 | ||
|
|
f312a45469 | ||
|
|
18d61188ff | ||
|
|
718729b4c7 | ||
|
|
9a881c5232 | ||
|
|
82a9348bf9 | ||
|
|
76d6ad215e | ||
|
|
2e2ef29f72 | ||
|
|
2d21980313 | ||
|
|
7eb310aac6 | ||
|
|
c72ef2aae9 | ||
|
|
c8e7fab9d3 | ||
|
|
4ca39bfedb | ||
|
|
6ec7fa822b | ||
|
|
fb21359663 | ||
|
|
030b67224e | ||
|
|
2ce73993c6 | ||
|
|
0d08e8e15b | ||
|
|
c3150efad5 | ||
|
|
303a1442d7 | ||
|
|
8a2923854a | ||
|
|
9318adaeb9 | ||
|
|
ea64e5bb40 | ||
|
|
5dd340d84c | ||
|
|
36bab70bfd | ||
|
|
e4aa4017ba | ||
|
|
87ea0c45f7 | ||
|
|
9ee3557672 | ||
|
|
0fd531c4a2 | ||
|
|
a54f596ea9 | ||
|
|
d571734f98 | ||
|
|
516f8f71da | ||
|
|
5c31fb094b | ||
|
|
7b20e2c29c | ||
|
|
d8431b8c00 | ||
|
|
4484a47d4c | ||
|
|
ea523dd765 | ||
|
|
b0e833f8c4 | ||
|
|
4e83d967c1 | ||
|
|
f01f882bb8 | ||
|
|
e72dc752bb | ||
|
|
8e054de506 | ||
|
|
084770643d | ||
|
|
4b2b098a85 | ||
|
|
d4d25d240e | ||
|
|
2393c21647 | ||
|
|
e47f3ee571 | ||
|
|
5ddda4dc1e | ||
|
|
20d78224a4 | ||
|
|
8571cd1a44 | ||
|
|
772e809ee6 | ||
|
|
35b09b2dfb | ||
|
|
705fc1dd0b | ||
|
|
814cd4503c | ||
|
|
9020e85a17 | ||
|
|
f0b2f64490 | ||
|
|
36b0b28109 | ||
|
|
5a124ede99 | ||
|
|
a8aafb6f47 | ||
|
|
eae0f8e0cb | ||
|
|
9542f2dd9c | ||
|
|
b8eb67a14a | ||
|
|
d763dd3665 | ||
|
|
5e3a6f0b07 | ||
|
|
d45d57ac4a | ||
|
|
58476dd3bc | ||
|
|
67e1e4ef19 | ||
|
|
8a26195a60 | ||
|
|
84a3a7e9b7 | ||
|
|
958469e207 | ||
|
|
47f61e1a30 | ||
|
|
f04ff91f44 | ||
|
|
e6ac4de69d | ||
|
|
e1ff739621 | ||
|
|
625fb584ed | ||
|
|
fdb8cf8bda | ||
|
|
65c84a8857 | ||
|
|
c0ac4b3400 | ||
|
|
3471c0f947 | ||
|
|
3aafa1649c | ||
|
|
a8b37d36ff | ||
|
|
5ec7e11c37 | ||
|
|
96c3738a7e | ||
|
|
1bb72d9fa9 | ||
|
|
5737d220eb | ||
|
|
f40c4aedef | ||
|
|
52fc45ae23 | ||
|
|
44f0036ac0 | ||
|
|
1e47521f55 | ||
|
|
d840a67150 | ||
|
|
8a16d5c93c | ||
|
|
b3d4ad1a13 | ||
|
|
2b8a2d8bb6 | ||
|
|
49be337200 | ||
|
|
632e25abe3 | ||
|
|
760d7490a2 | ||
|
|
c0ff849c0f | ||
|
|
730b9ff366 | ||
|
|
71f12bf205 | ||
|
|
8960f57bea | ||
|
|
437b4115e6 | ||
|
|
461db7883f | ||
|
|
f254ecc44a | ||
|
|
6432843fda | ||
|
|
ef198ce07a | ||
|
|
847724c5b3 | ||
|
|
7c173cbfe2 | ||
|
|
93b3e85b8d | ||
|
|
4e83a2d45f | ||
|
|
eb9e9ddd38 | ||
|
|
4fa69cbe13 | ||
|
|
12d79b7309 | ||
|
|
2743a6cf15 | ||
|
|
9528624c0e | ||
|
|
382aebcf16 | ||
|
|
1be9fd04c4 | ||
|
|
407a7c0132 | ||
|
|
8732648fc0 | ||
|
|
a3380a616b | ||
|
|
56487226ef | ||
|
|
cba6efec73 | ||
|
|
7872a4c212 | ||
|
|
64ab220c4d | ||
|
|
f8e9090eb7 | ||
|
|
edef11ce7f | ||
|
|
9ad13bf3e2 | ||
|
|
3f70e24780 | ||
|
|
5522f8580c | ||
|
|
956b54ad27 | ||
|
|
1860fa0eaa | ||
|
|
9e2cc52275 | ||
|
|
3ee277ef70 | ||
|
|
1b5fe21f00 | ||
|
|
dd0b1d4628 | ||
|
|
65da551aad | ||
|
|
9aa6406dae | ||
|
|
d429712c98 | ||
|
|
8c92cbb277 | ||
|
|
40f02988d8 | ||
|
|
9d7519bdc1 | ||
|
|
4fcfdfd4aa | ||
|
|
8e99889174 | ||
|
|
30134520f4 | ||
|
|
0ade104dff | ||
|
|
1709be588f | ||
|
|
bf88f8fdae | ||
|
|
bb309c2579 | ||
|
|
b8bfe2239e | ||
|
|
22324471e7 | ||
|
|
5a638aa11c | ||
|
|
f59bffd063 | ||
|
|
24687756c1 | ||
|
|
b4fadbf84f | ||
|
|
7873110fc5 | ||
|
|
46d957f5b4 | ||
|
|
458856668d | ||
|
|
98bd5ed09c | ||
|
|
8b22b1d733 | ||
|
|
b9727d72d7 | ||
|
|
3e4e6af726 | ||
|
|
4aabbaadaf | ||
|
|
a009f1719a | ||
|
|
cb67b53913 | ||
|
|
d31307f8f7 | ||
|
|
18bdb5d854 | ||
|
|
27e297540e | ||
|
|
88033799a0 | ||
|
|
d9ec9ce772 | ||
|
|
b680bea331 | ||
|
|
9116dc1920 | ||
|
|
088f175fd6 | ||
|
|
8f3d960817 | ||
|
|
33734a27ce | ||
|
|
dbcf980a2a | ||
|
|
e0709fcebb | ||
|
|
b54adc09ad | ||
|
|
33f87aeff1 | ||
|
|
ceb6ba49b2 | ||
|
|
4d0b23cd23 | ||
|
|
9cc38765c3 | ||
|
|
b65f68b677 | ||
|
|
702c1dc4df | ||
|
|
7040f80b7f | ||
|
|
d925388424 | ||
|
|
6c35f4bce0 | ||
|
|
dd7f8bb508 | ||
|
|
0ac0d1d06c | ||
|
|
5ffd536d4c | ||
|
|
2f71a6c6bb | ||
|
|
e8a15ebd37 | ||
|
|
8d88e23ab9 | ||
|
|
b07b17f1c7 | ||
|
|
ea8b9b4d10 | ||
|
|
b3d7b8d2f7 | ||
|
|
cf2f29d91b | ||
|
|
5514cbea79 | ||
|
|
5e9e09a227 | ||
|
|
27659f8098 | ||
|
|
aed4163c51 | ||
|
|
09e3e56245 | ||
|
|
edf2258463 | ||
|
|
0cb20b6384 | ||
|
|
10bc0b5720 | ||
|
|
7704d5ec6f | ||
|
|
b08f087306 | ||
|
|
0484cdd7d6 | ||
|
|
e7deac8a00 | ||
|
|
d0e44a2fc5 | ||
|
|
b7fcc94eb0 | ||
|
|
a11f25e983 | ||
|
|
85fea45def | ||
|
|
6d91ae3845 | ||
|
|
be44fb2aa7 | ||
|
|
fa15b1e94b | ||
|
|
535df2b706 | ||
|
|
5fa4e18eb7 | ||
|
|
581ca8745a | ||
|
|
687ae74a62 | ||
|
|
f3ee3d7dbd | ||
|
|
fb0cee0e74 | ||
|
|
1bd9501e76 | ||
|
|
3fa55b2ff4 | ||
|
|
633a888ae4 | ||
|
|
12125dfbd7 | ||
|
|
06aa032d45 | ||
|
|
46f0af4d48 | ||
|
|
70857ba358 | ||
|
|
5cf0d5faeb | ||
|
|
d6df082d32 | ||
|
|
2cd90ccb17 | ||
|
|
63ea90f537 | ||
|
|
a3fb05b566 | ||
|
|
8fc27d88e0 | ||
|
|
b2bb4d8b62 | ||
|
|
2fd50471de | ||
|
|
ecff38d5bb | ||
|
|
026114457b | ||
|
|
d5659b5131 | ||
|
|
979ec9fe02 | ||
|
|
89a56820d2 | ||
|
|
145f49d247 | ||
|
|
a155399ec0 | ||
|
|
f5424a3ed2 | ||
|
|
35023e648f | ||
|
|
00020ba7dc | ||
|
|
3854587907 | ||
|
|
ba6826a31e | ||
|
|
a154a8705c | ||
|
|
e6dad3eb81 | ||
|
|
b3b7b227a9 | ||
|
|
f4a941e209 | ||
|
|
75f45bdb47 | ||
|
|
8a9edb8963 | ||
|
|
6f78672f82 | ||
|
|
68a2489e13 | ||
|
|
9b18072f1e | ||
|
|
59142d9f69 | ||
|
|
a79e9dd4cb | ||
|
|
6eb5ed9381 | ||
|
|
bfa42dba4a | ||
|
|
54d07e9063 | ||
|
|
e830595f43 | ||
|
|
79632731f8 | ||
|
|
5ed8384d45 | ||
|
|
307407d732 | ||
|
|
a0b885d5ca | ||
|
|
5bf2f2ec43 | ||
|
|
a5f9185308 | ||
|
|
c9535653c9 | ||
|
|
249aa091fd | ||
|
|
569e09e741 | ||
|
|
5a58af7a01 | ||
|
|
9557f1c310 | ||
|
|
ee860e3b71 | ||
|
|
1dc3e15a55 | ||
|
|
d5d6d6668c | ||
|
|
0051fa87ec | ||
|
|
15a987cfd9 | ||
|
|
96bfa330ba | ||
|
|
231fe483d9 | ||
|
|
431074af58 | ||
|
|
06d73959af | ||
|
|
06eebc2ad3 | ||
|
|
42f8d71404 | ||
|
|
9b4621d3b8 | ||
|
|
6b830d7acd | ||
|
|
99fb55051a | ||
|
|
6bd0d6277b | ||
|
|
494b112424 | ||
|
|
b0ba354b31 | ||
|
|
e27c703026 | ||
|
|
822cd9f4ce | ||
|
|
a964c9b7d0 | ||
|
|
7e49a7b82a | ||
|
|
5fe3b2ff00 | ||
|
|
c1b2e0cec6 | ||
|
|
11f2f1eafa | ||
|
|
60d2dfcf1e | ||
|
|
64b2843cf6 | ||
|
|
d716cf9a48 | ||
|
|
01bb4e1b7a | ||
|
|
3572ed1f86 | ||
|
|
66d426a1b6 | ||
|
|
62946906d8 | ||
|
|
20e0eae9bd | ||
|
|
cf4a794c51 | ||
|
|
748c48b43f | ||
|
|
03f2a0a921 | ||
|
|
d2409bf952 | ||
|
|
783de92707 | ||
|
|
5db1c7a813 | ||
|
|
5720f2b893 | ||
|
|
5286f80748 | ||
|
|
8a19bf3f4a | ||
|
|
c2a13fce9c | ||
|
|
b1973f26c9 | ||
|
|
b5265870be | ||
|
|
4584b7eace | ||
|
|
8a0c88b11c | ||
|
|
3281fc9bb0 | ||
|
|
971ae5ec19 | ||
|
|
fb9fec1a10 | ||
|
|
c4c475b51f | ||
|
|
e7ec8aa49f | ||
|
|
1be27549df | ||
|
|
8e979deb99 | ||
|
|
5ba9746264 | ||
|
|
20e4040d02 | ||
|
|
425bee0ba1 | ||
|
|
5fe7186571 | ||
|
|
3382610871 | ||
|
|
0f2bafc7dd | ||
|
|
ea85a85518 | ||
|
|
531035fef2 | ||
|
|
1d39ec3aa5 | ||
|
|
ecb21d2d5e | ||
|
|
a2a5db8901 | ||
|
|
04ade7ab0b | ||
|
|
e579029ded | ||
|
|
be06cec80d | ||
|
|
ba1ef472e6 | ||
|
|
45894857a6 | ||
|
|
4f60465fa0 | ||
|
|
cefd287668 | ||
|
|
009905e405 | ||
|
|
bc38e94f42 | ||
|
|
ff8625fbe7 | ||
|
|
a5440f0443 | ||
|
|
5692ae4902 | ||
|
|
1cf5cbadd0 | ||
|
|
82351243f9 | ||
|
|
d47e687337 | ||
|
|
3700674045 | ||
|
|
b646e78ba6 | ||
|
|
b1cb951a9e | ||
|
|
f30e085d78 | ||
|
|
91c6508317 | ||
|
|
d341f1987a | ||
|
|
34b7e68f04 | ||
|
|
858320fe20 | ||
|
|
4300f0a3c6 | ||
|
|
7c33159a38 | ||
|
|
9583483543 | ||
|
|
ba19bc5ad6 | ||
|
|
a9b63fa360 | ||
|
|
dbe525a724 | ||
|
|
7a1891e5e8 | ||
|
|
c6048c8461 | ||
|
|
1c76edfc01 | ||
|
|
eae2dd483b | ||
|
|
a8d0a376f3 | ||
|
|
be2ff4bee4 | ||
|
|
609cb14cda | ||
|
|
2d57326779 | ||
|
|
2eec0ae6f0 | ||
|
|
99bd6570b9 | ||
|
|
2110692664 | ||
|
|
bc4a5570a5 | ||
|
|
d8f784c3f0 | ||
|
|
7d94ba7817 | ||
|
|
f3e87d3c3c | ||
|
|
f4487947c5 | ||
|
|
72915d84ef | ||
|
|
62eae20cfa | ||
|
|
3e698f96dc | ||
|
|
ea7cb48f1c | ||
|
|
cdaf88ef28 | ||
|
|
822b7211ec | ||
|
|
d7a59221fc | ||
|
|
b8174a85ee | ||
|
|
519242aead | ||
|
|
ff79b73e34 | ||
|
|
c8b49de7d1 | ||
|
|
cd9e05dac1 | ||
|
|
1488453ffa | ||
|
|
c5838ba098 | ||
|
|
b88b60597b | ||
|
|
3ceb2569cf | ||
|
|
556335918b | ||
|
|
7145ad9eec | ||
|
|
57dc2d2b11 | ||
|
|
bf88927e66 | ||
|
|
efd53cbccf | ||
|
|
e0620e1a3e | ||
|
|
622fdc27aa | ||
|
|
7a7d1ed44e | ||
|
|
161bbb4e07 | ||
|
|
035f2b7982 | ||
|
|
4234c4bc3a | ||
|
|
fa9f0ade55 | ||
|
|
0bbb6adaba | ||
|
|
8452959388 | ||
|
|
d1ba4bc875 | ||
|
|
fbd895d67c | ||
|
|
ca2907d6a6 | ||
|
|
6b07d8ee21 | ||
|
|
8d97efd52d | ||
|
|
864b024f31 | ||
|
|
8d6a23d0e7 | ||
|
|
4722a5600f | ||
|
|
aba9c2bc30 | ||
|
|
dea21f6d38 | ||
|
|
3cb1bf6b87 | ||
|
|
dfe66e8083 | ||
|
|
285b66406b | ||
|
|
99d861535e | ||
|
|
ba40783017 | ||
|
|
c871c68aeb | ||
|
|
6e523a30ab | ||
|
|
7739994eda | ||
|
|
5007410c1a | ||
|
|
b4eabd2265 | ||
|
|
40d8ea0268 | ||
|
|
0de4e51c41 | ||
|
|
6c6c18418e | ||
|
|
2f245b0c73 | ||
|
|
1337e88191 | ||
|
|
6ad6483e3a | ||
|
|
afa13473ed | ||
|
|
4e26567bee | ||
|
|
d0ac084cac | ||
|
|
bee6e4d2a9 | ||
|
|
a6c76ae0e4 | ||
|
|
bf0875be45 | ||
|
|
74585ff97d | ||
|
|
81ea7ab872 | ||
|
|
4b6fd69e3c | ||
|
|
bc4266e9ab | ||
|
|
d6147b4292 | ||
|
|
84ef3e6c3d | ||
|
|
b4cde57036 | ||
|
|
4c3551909f | ||
|
|
2075f3c717 | ||
|
|
d08381850d | ||
|
|
af2fd78348 | ||
|
|
60b9069a60 | ||
|
|
472e15ab0a | ||
|
|
bdddb945f0 | ||
|
|
615038ef38 | ||
|
|
ef661e52e7 | ||
|
|
bd52f0b004 | ||
|
|
8ec90d3b40 | ||
|
|
2aee09d441 | ||
|
|
35a6095d30 | ||
|
|
23a251aa77 | ||
|
|
48852f0c3f | ||
|
|
42ffe87bf5 | ||
|
|
2ba61fab9d | ||
|
|
1fc634214f | ||
|
|
cec35683f4 | ||
|
|
d4b2b768d3 | ||
|
|
a71226e995 | ||
|
|
3cec08c734 | ||
|
|
cccc72d0d8 | ||
|
|
bf19f13d4c | ||
|
|
0d7d8ddee2 | ||
|
|
de6a547272 | ||
|
|
2e1c798c6e | ||
|
|
26afd63e39 | ||
|
|
f8ef88362d | ||
|
|
ae445c8ece | ||
|
|
351bc544ee | ||
|
|
5dfe0c237f | ||
|
|
3b628bed45 | ||
|
|
a081b72916 | ||
|
|
44c1e8ce69 | ||
|
|
d52c16fbba | ||
|
|
2351ced921 | ||
|
|
afef8ff4a3 | ||
|
|
f9da801f06 | ||
|
|
0c3e7be420 | ||
|
|
43420f02f2 | ||
|
|
47b1b7f519 | ||
|
|
91d72c0265 | ||
|
|
5a98b9c3fd | ||
|
|
fd3b48ba43 | ||
|
|
e03ee00e61 | ||
|
|
685f38e6a0 | ||
|
|
2641a34a1e | ||
|
|
59bf8d0a45 | ||
|
|
b8f255cc50 | ||
|
|
fae67be8c8 | ||
|
|
230d822fce | ||
|
|
5088362430 | ||
|
|
970d2d1f42 | ||
|
|
c786d4e0ab | ||
|
|
dcb130c1c6 | ||
|
|
39d70f17b3 | ||
|
|
b7443be756 | ||
|
|
f75d0af6df | ||
|
|
420957ecb7 | ||
|
|
fde61ae0d6 | ||
|
|
644694a9f2 | ||
|
|
05c022c3f0 | ||
|
|
619742de4e | ||
|
|
6294079ce3 | ||
|
|
35a59fc400 | ||
|
|
0180de5490 | ||
|
|
a26ae1a9b3 | ||
|
|
dd7495a04c | ||
|
|
a59236f4ae | ||
|
|
ab23e01ef8 | ||
|
|
a52d923f79 | ||
|
|
5c541fcc03 | ||
|
|
afba8b58a3 | ||
|
|
2f755de206 | ||
|
|
06506d2793 | ||
|
|
11a66b79b1 | ||
|
|
782bfd23ad | ||
|
|
d3625c1b72 | ||
|
|
87ec999053 | ||
|
|
5e074d2bef | ||
|
|
bbc12bb026 | ||
|
|
9b15d1dcd1 | ||
|
|
fa38bf747a | ||
|
|
a03c22cbac | ||
|
|
e51f77d30e | ||
|
|
577394f167 | ||
|
|
c67af83de4 | ||
|
|
7e8014dd2e | ||
|
|
4600f4d9f2 | ||
|
|
bbd2c120f8 | ||
|
|
1036fcedd7 | ||
|
|
47121d31d1 | ||
|
|
5c9414656b | ||
|
|
7a7f0e34ea | ||
|
|
ec2f825ceb | ||
|
|
5bdd249557 | ||
|
|
8261a50365 | ||
|
|
a5e8665870 | ||
|
|
01b3db39c4 | ||
|
|
c989362875 | ||
|
|
430cd13e09 | ||
|
|
78a3724efe | ||
|
|
6d23c1baf5 | ||
|
|
1d4d1e207e | ||
|
|
3cc5199e80 | ||
|
|
f350dac237 | ||
|
|
ee4349fe8a | ||
|
|
96b755d2c6 | ||
|
|
6b459ee78f | ||
|
|
82f4694cd2 | ||
|
|
156aa721fe | ||
|
|
81f3e02c7b | ||
|
|
4b42fd270b | ||
|
|
6212595ab7 | ||
|
|
bd353a3f99 | ||
|
|
03a2f5c06e | ||
|
|
e4972852c6 | ||
|
|
ad4cb84a0d | ||
|
|
efc66bd1b9 | ||
|
|
7e7622ceca | ||
|
|
76607c99fd | ||
|
|
75113388f5 | ||
|
|
68f573caba | ||
|
|
7a4193c4d5 | ||
|
|
a923f279ff | ||
|
|
a84b33d013 | ||
|
|
80a512b9be | ||
|
|
ed10104f98 | ||
|
|
fffb70933d | ||
|
|
bb4c79d975 | ||
|
|
281d2df621 | ||
|
|
ac1c6b2286 | ||
|
|
a45ac78274 | ||
|
|
4c4725795c | ||
|
|
907e42e46b | ||
|
|
d4c2693511 | ||
|
|
eef7d65b5c | ||
|
|
bdb3dbe0eb | ||
|
|
61e28302ce | ||
|
|
a56a4070a6 | ||
|
|
69d57b3744 | ||
|
|
424eb4cf14 | ||
|
|
3a06f55db9 | ||
|
|
5fc20600e7 | ||
|
|
4a6f4e1f74 | ||
|
|
216396c94c | ||
|
|
19eb1cab59 | ||
|
|
51ca6e92c7 | ||
|
|
fd9d143269 |
18
.github/stale.yml
vendored
Normal file
18
.github/stale.yml
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
# Number of days of inactivity before an issue becomes stale
|
||||
daysUntilStale: 30
|
||||
# Number of days of inactivity before a stale issue is closed
|
||||
daysUntilClose: 7
|
||||
# Issues with these labels will never be considered stale
|
||||
exemptLabels:
|
||||
- enhancement
|
||||
- needsowner
|
||||
- bug
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: wontfix
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This issue has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions.
|
||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||
closeComment: false
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -32,6 +32,7 @@ vendor/
|
||||
*.log
|
||||
.env
|
||||
package-lock.json
|
||||
auth.json
|
||||
!/docker/.env
|
||||
/docker/data/database/db/*
|
||||
/docker/data/certbot/conf/*
|
||||
|
||||
22
.travis.yml
22
.travis.yml
@@ -1,30 +1,30 @@
|
||||
sudo: required
|
||||
dist: trusty
|
||||
group: deprecated-2017Q4
|
||||
|
||||
branches:
|
||||
except:
|
||||
- weblate
|
||||
services:
|
||||
- docker
|
||||
before_install:
|
||||
- curl -L https://github.com/docker/compose/releases/download/1.7.1/docker-compose-`uname
|
||||
-s`-`uname -m` > docker-compose
|
||||
- curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
|
||||
- chmod +x docker-compose
|
||||
- sudo mv docker-compose /usr/local/bin
|
||||
- date=`date +%Y%m%d%H%M%S` && branch=${TRAVIS_BRANCH} && rev=`git rev-parse --short=6
|
||||
HEAD` && sed -i "s/\$1/\$1.$date.$branch.$rev/g" deployment.json
|
||||
script:
|
||||
- docker run --rm -v $(pwd):/app composer/composer install
|
||||
- docker run --rm -v $(pwd):/app -w /app lucor/php7-cli php bin/install.php translations
|
||||
develop
|
||||
- docker run --rm -v $(pwd):/app jekkos/composer composer install
|
||||
- docker run --rm -v $(pwd):/app jekkos/composer php bin/install.php translations develop
|
||||
- sed -i "s/'\(dev\)'/'$rev'/g" application/config/config.php
|
||||
- docker run --rm -it -v $(pwd):/app -w /app digitallyseamless/nodejs-bower-grunt
|
||||
sh -c "npm install && bower install && grunt package"
|
||||
- /bin/bash docker/install-local.sh
|
||||
- docker-compose build
|
||||
- docker-compose -f docker-compose.test.yml up --abort-on-container-exit
|
||||
env:
|
||||
- TAG=$(echo ${TRAVIS_BRANCH} | sed s/feature\\///)
|
||||
after_success: '[ -n ${DOCKER_USERNAME} ] && docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
|
||||
&& docker tag "opensourcepos_ospos:latest" "jekkos/opensourcepos:$TAG" && docker push "jekkos/opensourcepos:$TAG"'
|
||||
global:
|
||||
- DOCKER_COMPOSE_VERSION=1.21.1
|
||||
- TAG=$(echo ${TRAVIS_BRANCH} | sed s/feature\\///)
|
||||
after_success:
|
||||
- 'docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD" && docker tag "opensourcepos_ospos:latest" "jekkos/opensourcepos:$TAG" && docker push "jekkos/opensourcepos:$TAG"'
|
||||
deploy:
|
||||
file: deployment.json
|
||||
provider: bintray
|
||||
|
||||
29
Dockerfile
29
Dockerfile
@@ -1,4 +1,4 @@
|
||||
FROM php:7.3-apache
|
||||
FROM php:7.4-apache AS ospos
|
||||
MAINTAINER jekkos
|
||||
|
||||
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
@@ -6,6 +6,7 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
libgd-dev \
|
||||
openssl
|
||||
|
||||
|
||||
RUN a2enmod rewrite
|
||||
RUN docker-php-ext-install mysqli bcmath intl gd
|
||||
RUN echo "date.timezone = \"\${PHP_TIMEZONE}\"" > /usr/local/etc/php/conf.d/timezone.ini
|
||||
@@ -14,6 +15,28 @@ RUN echo -e “$(hostname -i)\t$(hostname) $(hostname).localhost” >> /etc/host
|
||||
WORKDIR /app
|
||||
COPY . /app
|
||||
RUN ln -s /app/*[^public] /var/www && rm -rf /var/www/html && ln -nsf /app/public /var/www/html
|
||||
RUN chmod 755 /app/public/uploads && chown -R www-data:www-data /app/public /app/application
|
||||
RUN chmod -R 750 /app/public/uploads /app/application/logs && chown -R www-data:www-data /app/public /app/application
|
||||
|
||||
FROM ospos AS ospos_test
|
||||
|
||||
COPY --from=composer /usr/bin/composer /usr/bin/composer
|
||||
|
||||
RUN apt-get install -y libzip-dev wget git
|
||||
RUN wget https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh -O /bin/wait-for-it.sh && chmod +x /bin/wait-for-it.sh
|
||||
RUN docker-php-ext-install zip
|
||||
RUN composer install -d/app
|
||||
RUN php /app/vendor/kenjis/ci-phpunit-test/install.php -a /app/application -p /app/vendor/codeigniter/framework
|
||||
RUN sed -i 's/backupGlobals="true"/backupGlobals="false"/g' /app/application/tests/phpunit.xml
|
||||
RUN sed -i '13,17d' /app/application/tests/controllers/Welcome_test.php
|
||||
WORKDIR /app/application/tests
|
||||
|
||||
CMD ["/app/vendor/phpunit/phpunit/phpunit"]
|
||||
|
||||
FROM ospos AS ospos_dev
|
||||
|
||||
RUN mkdir -p /app/bower_components && ln -s /app/bower_components /var/www/html/bower_components
|
||||
RUN yes | pecl install xdebug \
|
||||
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
|
||||
&& echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
|
||||
&& echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini
|
||||
|
||||
RUN [ ! -f test/ospos.js ] || sed -i -e "s/\(localhost\)/web/g" test/ospos.js
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
FROM jekkos/opensourcepos:master
|
||||
MAINTAINER jekkos
|
||||
|
||||
RUN mkdir -p /app/bower_components && ln -s /app/bower_components /var/www/html/bower_components
|
||||
RUN yes | pecl install xdebug \
|
||||
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
|
||||
&& echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
|
||||
&& echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
FROM digitallyseamless/nodejs-bower-grunt:5
|
||||
MAINTAINER jekkos
|
||||
|
||||
# apt-get install curl
|
||||
|
||||
COPY Gruntfile.js .
|
||||
COPY package.json .
|
||||
COPY test .
|
||||
RUN npm install
|
||||
|
||||
CMD ['while ! curl web/index.php | grep username; do sleep 1; done; grunt mochaWebdriver:test']
|
||||
2
FUNDING.yml
Normal file
2
FUNDING.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
github: jekkos
|
||||
custom: ["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MUN6AEG7NY6H8"]
|
||||
54
Gruntfile.js
54
Gruntfile.js
@@ -1,6 +1,6 @@
|
||||
module.exports = function(grunt) {
|
||||
|
||||
grunt.initConfig({
|
||||
grunt.initConfig({
|
||||
pkg: grunt.file.readJSON('package.json'),
|
||||
wiredep: {
|
||||
task: {
|
||||
@@ -11,7 +11,8 @@ module.exports = function(grunt) {
|
||||
bower_concat: {
|
||||
all: {
|
||||
mainFiles: {
|
||||
'bootstrap-table': [ "src/bootstrap-table.js", "src/bootstrap-table.css", "dist/extensions/export/bootstrap-table-export.js", "dist/extensions/mobile/bootstrap-table-mobile.js", "dist/extensions/sticky-header/bootstrap-table-sticky-header.js", "dist/extensions/sticky-header/bootstrap-table-sticky-header.css"]
|
||||
'bootstrap-table': [ "dist/bootstrap-table.min.js", "dist/bootstrap-table.css", "dist/extensions/export/bootstrap-table-export.min.js", "dist/extensions/mobile/bootstrap-table-mobile.min.js", "dist/extensions/sticky-header/bootstrap-table-sticky-header.min.js", "dist/extensions/sticky-header/bootstrap-table-sticky-header.css"],
|
||||
'chartist-plugin-axistitle': [ "./dist/chartist-plugin-axistitle.min.js"]
|
||||
},
|
||||
dest: {
|
||||
'js': 'tmp/opensourcepos_bower.js',
|
||||
@@ -53,7 +54,7 @@ module.exports = function(grunt) {
|
||||
cssmin: {
|
||||
target: {
|
||||
files: {
|
||||
'public/dist/<%= pkg.name %>.min.css': ['tmp/opensourcepos_bower.css', 'public/css/*.css', '!public/css/login.css', '!public/css/invoice_email.css', '!public/css/barcode_font.css']
|
||||
'public/dist/<%= pkg.name %>.min.css': ['tmp/opensourcepos_bower.css', 'public/css/*.css', '!public/css/login.css', '!public/css/invoice_email.css', '!public/css/barcode_font.css', '!public/css/darkly.css']
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -106,7 +107,7 @@ module.exports = function(grunt) {
|
||||
closeTag: '<!-- end css template tags -->',
|
||||
ignorePath: '../../../public/'
|
||||
},
|
||||
src: ['public/css/*.css', '!public/css/login.css', '!public/css/invoice_email.css', '!public/css/barcode_font.css'],
|
||||
src: ['public/css/*.css', '!public/css/login.css', '!public/css/invoice_email.css', '!public/css/barcode_font.css', '!public/css/darkly.css'],
|
||||
dest: 'application/views/partial/header.php',
|
||||
},
|
||||
mincss_header: {
|
||||
@@ -125,7 +126,7 @@ module.exports = function(grunt) {
|
||||
scriptTemplate: '<rel type="text/css" src="{{ path }}"></rel>',
|
||||
openTag: '<!-- start css template tags -->',
|
||||
closeTag: '<!-- end css template tags -->',
|
||||
ignorePath: '../../public/'
|
||||
ignorePath: '../../public/'
|
||||
},
|
||||
src: ['public/css/login.css'],
|
||||
dest: 'application/views/login.php'
|
||||
@@ -145,7 +146,7 @@ module.exports = function(grunt) {
|
||||
scriptTemplate: '<script type="text/javascript" src="{{ path }}"></script>',
|
||||
openTag: '<!-- start minjs template tags -->',
|
||||
closeTag: '<!-- end minjs template tags -->',
|
||||
ignorePath: '../../../public/'
|
||||
ignorePath: '../../../public/'
|
||||
},
|
||||
src: ['public/dist/*min.js'],
|
||||
dest: 'application/views/partial/header.php'
|
||||
@@ -230,23 +231,42 @@ module.exports = function(grunt) {
|
||||
archive: 'dist/opensourcepos.zip'
|
||||
},
|
||||
files: [
|
||||
{src: ['public/**', 'vendor/**', 'application/**', '!/public/images/menubar/png/', '!/public/dist/bootswatch/', '/public/dist/bootswatch/*/*.css', 'database/**', '*.txt', '*.md', 'LICENSE', 'docker*', 'Dockerfile', '**/.htaccess', '*.csv']}
|
||||
{
|
||||
src: [
|
||||
'public/**',
|
||||
'vendor/**',
|
||||
'application/**',
|
||||
'!/application/tests',
|
||||
'!/public/images/menubar/png/',
|
||||
'!/public/dist/bootswatch/',
|
||||
'/public/dist/bootswatch/*/*.css',
|
||||
'database/**',
|
||||
'*.txt',
|
||||
'*.md',
|
||||
'LICENSE',
|
||||
'docker*',
|
||||
'docker/**',
|
||||
'Dockerfile',
|
||||
'**/.htaccess',
|
||||
'*.csv'
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
require('load-grunt-tasks')(grunt);
|
||||
grunt.loadNpmTasks('grunt-mocha-webdriver');
|
||||
require('load-grunt-tasks')(grunt);
|
||||
grunt.loadNpmTasks('grunt-mocha-webdriver');
|
||||
grunt.loadNpmTasks('grunt-composer');
|
||||
grunt.loadNpmTasks('grunt-apigen');
|
||||
grunt.loadNpmTasks('grunt-contrib-compress');
|
||||
|
||||
grunt.registerTask('default', ['wiredep', 'bower_concat', 'bowercopy', 'concat', 'uglify', 'cssmin', 'tags', 'cachebreaker']);
|
||||
grunt.registerTask('update', ['composer:update', 'bower:update']);
|
||||
grunt.registerTask('genlicense', ['clean:license', 'license', 'bower-licensechecker']);
|
||||
grunt.registerTask('package', ['default', 'compress']);
|
||||
grunt.registerTask('packages', ['composer:update']);
|
||||
grunt.registerTask('gendocs', ['apigen:generate']);
|
||||
grunt.loadNpmTasks('grunt-contrib-compress');
|
||||
|
||||
grunt.registerTask('default', ['wiredep', 'bower_concat', 'bowercopy', 'concat', 'uglify', 'cssmin', 'tags', 'cachebreaker']);
|
||||
grunt.registerTask('update', ['composer:update', 'bower:update']);
|
||||
grunt.registerTask('genlicense', ['clean:license', 'license', 'bower-licensechecker']);
|
||||
grunt.registerTask('package', ['default', 'compress']);
|
||||
grunt.registerTask('packages', ['composer:update']);
|
||||
grunt.registerTask('gendocs', ['apigen:generate']);
|
||||
|
||||
};
|
||||
|
||||
38
INSTALL.md
38
INSTALL.md
@@ -1,13 +1,13 @@
|
||||
Server Requirements
|
||||
-------------------
|
||||
|
||||
* PHP version 5.6 to 7.3 are supported. Please note that PHP needs to have `php-gd`, `php-bcmath`, `php-intl`, `php-openssl`, `php-mbstring` and `php-curl` installed and enabled.
|
||||
* PHP version 7.2 to 7.4 are supported, PHP version 5.6 and 8.0 are NOT supported. Please note that PHP needs to have `php-gd`, `php-bcmath`, `php-intl`, `php-openssl`, `php-mbstring` and `php-curl` installed and enabled.
|
||||
|
||||
* MySQL 5.5, 5.6 and 5.7 are supported, also MariaDB replacement is supported and apparently offering better performance.
|
||||
* MySQL 5.5, 5.6 and 5.7 are supported, also MariaDB replacement 10.x is supported and apparently offering better performance.
|
||||
|
||||
* Apache 2.2 and 2.4 are supported. Also Nginx has been proven to work fine, see [wiki page here](https://github.com/opensourcepos/opensourcepos/wiki/Local-Deployment-using-LEMP)
|
||||
* Apache 2.2 and 2.4 are supported. Also Nginx has been proven to work fine, see [wiki page here](https://github.com/opensourcepos/opensourcepos/wiki/Local-Deployment-using-LEMP).
|
||||
|
||||
* Raspberry PI based installations proved to work, see [wiki page here](https://github.com/opensourcepos/opensourcepos/wiki/Installing-on-Raspberry-PI---Orange-PI-(Headless-OSPOS))
|
||||
* Raspberry PI based installations proved to work, see [wiki page here](https://github.com/opensourcepos/opensourcepos/wiki/Installing-on-Raspberry-PI---Orange-PI-(Headless-OSPOS)).
|
||||
|
||||
* For Windows based installations please read [the wiki](https://github.com/opensourcepos/opensourcepos/wiki) and also existing closed issues as this topic has been covered well in all the variants and issues.
|
||||
|
||||
@@ -98,7 +98,7 @@ Cloud install
|
||||
-------------
|
||||
|
||||
If you choose *DigitalOcean*:
|
||||
[Through this link](https://m.do.co/c/ac38c262507b), you will get a *$50 credit* for a first month. [Check the wiki](https://github.com/opensourcepos/opensourcepos/wiki/DOCS-USERS-Getting-Started-installations#cloud-deploy-installation) for further instructions on how to install the necessary components.
|
||||
[Through this link](https://m.do.co/c/ac38c262507b), you will get a *$100 credit* for a first month. [Check the wiki](https://github.com/opensourcepos/opensourcepos/wiki/Getting-Started-installations) for further instructions on how to install the necessary components.
|
||||
|
||||
|
||||
cPanel & SSH Install
|
||||
@@ -108,21 +108,29 @@ If you own on a **VPS**, **Dedicated Server**, or **Shared Hosting** running on
|
||||
|
||||
You can run our Stand-alone [WS-OSPOS-Installer](https://github.com/WebShells/WS-OSPOS-Installer.git), it will handle:
|
||||
|
||||
. Database.php config files generation.<br>
|
||||
. Creation of db User & Password depending on user's input of Dbname, Username, Password, & Hostname ( No need for phpmyadmin )<br>
|
||||
. Imports default Db SQL files in order to run the project.<br>
|
||||
|
||||
. Database.php config files generation.
|
||||
|
||||
. Creation of db User & Password depending on user's input of Dbname, Username, Password, & Hostname ( No need for phpmyadmin )
|
||||
|
||||
. Imports default Db SQL files in order to run the project.
|
||||
|
||||
Usage in **(SSH)**:
|
||||
|
||||
git clone https://github.com/WebShells/WS-OSPOS-Installer.git<br>
|
||||
chmod +x WS-OSPOS-Installer/Get-POS<br>
|
||||
./WS-OSPOS-Installer/Get-POS<br>
|
||||
git clone https://github.com/WebShells/WS-OSPOS-Installer.git
|
||||
|
||||
chmod +x WS-OSPOS-Installer/Get-POS
|
||||
|
||||
./WS-OSPOS-Installer/Get-POS
|
||||
|
||||
or
|
||||
|
||||
wget https://github.com/WebShells/WS-OSPOS-Installer/archive/master.zip<br>
|
||||
unzip -qq master.zip<br>
|
||||
chmod +x WS-OSPOS-Installer-master/Get-POS<br>
|
||||
./WS-OSPOS-Installer-master/Get-POS<br>
|
||||
wget https://github.com/WebShells/WS-OSPOS-Installer/archive/master.zip
|
||||
|
||||
unzip -qq master.zip
|
||||
|
||||
chmod +x WS-OSPOS-Installer-master/Get-POS
|
||||
|
||||
./WS-OSPOS-Installer-master/Get-POS
|
||||
|
||||
Answer **DB required questions** and you are ready to run the project on http://localhost/OSPOS/public (localhost to be replaced by the hostname provided during setup).
|
||||
|
||||
34
LICENSE
34
LICENSE
@@ -5,17 +5,17 @@ Copyright (c) 2012 Alain
|
||||
Copyright (c) 2013 Rob Garrison
|
||||
Copyright (c) 2013 Parq
|
||||
Copyright (c) 2013 Ramel
|
||||
Copyright (c) 2013-2019 jekkos
|
||||
Copyright (c) 2015-2019 FrancescoUK (aka daN4cat)
|
||||
Copyright (c) 2013-2021 jekkos
|
||||
Copyright (c) 2015-2021 FrancescoUK (aka daN4cat)
|
||||
Copyright (c) 2015 Aamir Shahzad (aka asakpke), RoshanTech.com
|
||||
Copyright (c) 2015 Toni Haryanto (aka yllumi)
|
||||
Copyright (c) 2016-2017 Ramkrishna Mondal (aka RamkrishnaMondal)
|
||||
Copyright (c) 2016 Rinaldy@dbarber (aka rnld26)
|
||||
Copyright (c) 2016-2017 Jorge Colmenarez (aka jlctmaster), frontuari.com
|
||||
Copyright (c) 2017-2019 Steve Ireland
|
||||
Copyright (c) 2017-2019 objecttothis
|
||||
Copyright (c) 2017-2019 odiea
|
||||
Copyright (c) 2017-2019 WebShells / Shady Sh
|
||||
Copyright (c) 2017-2021 Steve Ireland
|
||||
Copyright (c) 2017-2021 objecttothis
|
||||
Copyright (c) 2017-2021 odiea
|
||||
Copyright (c) 2017-2021 WebShells / Shady Sh
|
||||
Copyright (c) 2017 Jesus Guerrero Botella (aka i92guboj)
|
||||
Copyright (c) 2017 Deep Shah (aka deepshah)
|
||||
Copyright (c) 2017 Joshua Fernandez (aka joshua1234511)
|
||||
@@ -24,6 +24,7 @@ Copyright (c) 2018 Erasto Marroquin (aka Erastus)
|
||||
Copyright (c) 2018 Nathan Sas (aka nathanzky)
|
||||
Copyright (c) 2018 Emilio Silva (aka emi-silva)
|
||||
Copyright (c) 2019 Loyd Jayme (aka loydjayme25)
|
||||
Copyright (c) 2020 Andriux1990
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
@@ -37,7 +38,26 @@ copies or substantial portions of the Software.
|
||||
|
||||
You cannot claim copyright or ownership of the Software.
|
||||
|
||||
Footer signatures "You are using Open Source Point Of Sale" and/or "Open Source Point Of Sale"
|
||||
Versions ≥ 3.3.2:
|
||||
|
||||
Footer signatures "© 2010 - 2021 · opensourcepos.org · 3.3.3 - 6909c8"
|
||||
In the format of: "© 2010 - Current Year · opensourcepos.org · Version - Commit"
|
||||
|
||||
and/or
|
||||
|
||||
"· opensourcepos.org ·"
|
||||
|
||||
with version, hash and URL link to the official website of the project MUST BE RETAINED,
|
||||
MUST BE VISIBLE IN EVERY PAGE and CANNOT BE MODIFIED.
|
||||
|
||||
Versions < 3.3.2:
|
||||
|
||||
Footer signatures "You are using Open Source Point Of Sale"
|
||||
|
||||
and/or
|
||||
|
||||
"Open Source Point Of Sale"
|
||||
|
||||
with version, hash and URL link to the original distribution of the code MUST BE RETAINED,
|
||||
MUST BE VISIBLE IN EVERY PAGE and CANNOT BE MODIFIED.
|
||||
|
||||
|
||||
34
README.md
34
README.md
@@ -1,9 +1,8 @@
|
||||
[ ](https://bintray.com/jekkos/opensourcepos/opensourcepos/3.3.0/link)
|
||||
[ ](https://bintray.com/jekkos/opensourcepos/opensourcepos/3.3.2/link)
|
||||
[](https://travis-ci.org/opensourcepos/opensourcepos)
|
||||
[](https://gitter.im/opensourcepos?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
[](https://david-dm.org/jekkos/opensourcepos#info=dev)
|
||||
[](https://badge.fury.io/gh/jekkos%2Fopensourcepos)
|
||||
[](http://weblate.jpeelaer.net/engage/ospos/?utm_source=widget)
|
||||
[](http://weblate.jpeelaer.net/engage/ospos/?utm_source=widget)
|
||||
|
||||
|
||||
Introduction
|
||||
@@ -36,13 +35,11 @@ The main features are:
|
||||
The software is written in PHP language, it uses MySQL (or MariaDB) as data storage back-end and has a simple but intuitive user interface.
|
||||
|
||||
The latest 3.x version is a complete overhaul of the original software.
|
||||
It is now based on Bootstrap 3 using Bootswatch themes, and still uses CodeIgniter 3 as framework.
|
||||
It is now based on Bootstrap 3 using Bootswatch themes, and uses CodeIgniter version 3 as framework.
|
||||
It also has improved functionality and security.
|
||||
|
||||
Deployed to a Cloud it's a SaaS (Software as a Service) solution.
|
||||
|
||||
DEMO
|
||||
----
|
||||
DEMO / DEV
|
||||
----------
|
||||
|
||||
A demo version of the latest master version can be found on our [Demo server](https://demo.opensourcepos.org). This is a containerized install which will be reinitialized when new functionality is added to the code repository.
|
||||
|
||||
@@ -50,16 +47,20 @@ LOGIN using
|
||||
* username: admin
|
||||
* password: pointofsale
|
||||
|
||||
Beside this we also have a [Dev server](https://dev.opensourcepos.org) that runs the build that was triggered with the last repository's commit.
|
||||
|
||||
In case of any issues, check our status page at [https://status.opensourcepos.org](https://status.opensourcepos.org) to confirm whether there is a sever outage.
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
Please **refrain from creating issues** about installation issues **before reading the FAQ and going through existing github issues**. We have a build pipeline that checks the sanity of our latest repository commit and in case the application itself is broken then our build will be as well.
|
||||
Please **refrain from creating issues** about installation problems **before having read the FAQ and went through existing github issues**. We have a build pipeline that checks the sanity of our latest repository commit and in case the application itself is broken then our build will be as well.
|
||||
|
||||
This application **can be setup in many different ways** and we only **support the ones described in the INSTALL file linked below**.
|
||||
|
||||
Read the [INSTALL.md](https://github.com/opensourcepos/opensourcepos/blob/master/INSTALL.md) in our repository.
|
||||
|
||||
[Check our wiki](https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet) for info and recommendations on supported receipt printers and barcode scanners.
|
||||
|
||||
License
|
||||
-------
|
||||
@@ -96,6 +97,7 @@ If you like the project, and you are making money out of it in some form, then c
|
||||
|
||||
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MUN6AEG7NY6H8)
|
||||
|
||||
If you choose to deploy OSPOS in the cloud, you can contribute to the project by using our referral link. [You will get an initial $100 credits](https://m.do.co/c/ac38c262507b) for running OSPOS on a cloud instance with DigitalOcean.
|
||||
|
||||
Language Translations
|
||||
---------------------
|
||||
@@ -122,10 +124,10 @@ Please **Copy** the info under **System Info tab in configuration section** in o
|
||||
Bug reports must follow the below schema:
|
||||
|
||||
1. Ospos **version string with git commit hash** (see ospos footer)
|
||||
2. OS name and version running your Web Server (e.g. CentOS 6.9, Ubuntu 16.4, Windows 10)
|
||||
3. Web Server name and version (e.g. Apache 2.2, Apache 2.4, Nginx 1.12, Nginx 1.13)
|
||||
4. Database name and version (e.g. MySQL 5.5, MySQL 5.6, MySQL 5.7, MariaDB 10.0, MariaDB 10.1, MariaDB 10.2)
|
||||
5. PHP version (e.g. 5.6, 7.0, 7.1, 7.2, 7.3)
|
||||
2. OS name and version running your Web Server (e.g. CentOS 6.9, Ubuntu 20, Windows 10)
|
||||
3. Web Server name and version (e.g. Apache 2.4, Nginx 1.12, Nginx 1.13)
|
||||
4. Database name and version (e.g. MySQL 5.6, MySQL 5.7, MariaDB 10.2, MariaDB 10.3)
|
||||
5. PHP version (e.g. 7.2, 7.3, 7.4)
|
||||
6. Language selected in OSPOS (e.g. English, Spanish)
|
||||
7. Any configuration of OSPOS that you changed
|
||||
8. Exact steps to reproduce the issue (test case)
|
||||
@@ -146,12 +148,16 @@ FAQ
|
||||
|
||||
* Apache server configurations are SysAdmin issues and not strictly related to OSPOS. Please make sure you first can show a "hello world" html page before pointing to OSPOS public directory. Make sure .htaccess is correctly configured.
|
||||
|
||||
* If the avatar pictures are not shown in Items or at Item save time you get an error, please make sure your public and subdirs are assigned to the correct owner and the access permission is set to 755.
|
||||
* If the avatar pictures are not shown in Items or at Item save time you get an error, please make sure your public and subdirs are assigned to the correct owner and the access permission is set to 750.
|
||||
|
||||
* If you install ospos in docker behind a proxy that performs ssloffloading, you can enable the url generated to be https instead of http, by activating the environment variable FORCE_HTTPS = 1.
|
||||
|
||||
* If you have suhosin installed and face an issue with CSRF, please make sure you read [issue #1492](https://github.com/opensourcepos/opensourcepos/issues/1492).
|
||||
|
||||
* PHP 8.0 is not currently supported, see [issue #3051](https://github.com/opensourcepos/opensourcepos/issues/3051).
|
||||
|
||||
* PHP 5.5 and 5.6 are no longer supported due to the fact that they have been deprecated and not safe to use from security point of view.
|
||||
|
||||
Credits
|
||||
-------
|
||||
|JetBrains|Travis CI|
|
||||
|
||||
@@ -1,3 +1,23 @@
|
||||
Version 3.3.3
|
||||
-------------
|
||||
+ PHP 7.4 support
|
||||
+ Set PHP 7.2 to be the minimum level due to older version deprecations
|
||||
+ Added email CC and BCC (see config/email.php)
|
||||
+ Cash rounding to nearest 5 cents
|
||||
+ Updated composer packages and js plugins
|
||||
+ Improved security (CSRF protection)
|
||||
+ Various small improvements and bug fixes
|
||||
|
||||
Version 3.3.2
|
||||
-------------
|
||||
+ Fixed `only_full_group_by` issue with MySQL/MariaDB
|
||||
+ Fixed POS transaction return failure if items are deleted
|
||||
+ Various bug fixes
|
||||
|
||||
Version 3.3.1
|
||||
-------------
|
||||
+ Various bug fixes (please disable `only_full_group_by` option from MySQL/MariaDB to avoid issues)
|
||||
|
||||
Version 3.3.0
|
||||
-------------
|
||||
+ New logo
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
CI_ENV="development"
|
||||
#CI_ENV="production"
|
||||
|
||||
#Database Settings
|
||||
MYSQL_HOST_NAME="localhost"
|
||||
MYSQL_USERNAME=""
|
||||
MYSQL_PASSWORD=""
|
||||
MYSQL_DB_NAME=""
|
||||
MYSQL_USERNAME="admin"
|
||||
MYSQL_PASSWORD="pointofsale"
|
||||
MYSQL_DB_NAME="ospos"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
|
||||
|
|
||||
*/
|
||||
$config['application_version'] = '3.3.0';
|
||||
$config['application_version'] = '3.3.3';
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -66,7 +66,7 @@ $config['db_log_enabled'] = FALSE;
|
||||
|
|
||||
*/
|
||||
$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_ENV['FORCE_HTTPS']) && $_ENV['FORCE_HTTPS'] == 'true')) ? 'https' : 'http';
|
||||
$config['base_url'] .= '://' . $_SERVER['HTTP_HOST'];
|
||||
$config['base_url'] .= '://' . ((isset($_SERVER['HTTP_HOST'])) ? $_SERVER['HTTP_HOST'] : 'localhost') ;
|
||||
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
|
||||
|
||||
/*
|
||||
@@ -437,8 +437,8 @@ $config['sess_regenerate_destroy'] = FALSE;
|
||||
$config['cookie_prefix'] = '';
|
||||
$config['cookie_domain'] = '';
|
||||
$config['cookie_path'] = '/';
|
||||
$config['cookie_secure'] = FALSE;
|
||||
$config['cookie_httponly'] = FALSE;
|
||||
$config['cookie_secure'] = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on';
|
||||
$config['cookie_httponly'] = TRUE;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
||||
@@ -83,3 +83,64 @@ defined('EXIT_USER_INPUT') OR define('EXIT_USER_INPUT', 7); // invalid user
|
||||
defined('EXIT_DATABASE') OR define('EXIT_DATABASE', 8); // database error
|
||||
defined('EXIT__AUTO_MIN') OR define('EXIT__AUTO_MIN', 9); // lowest automatically-assigned error code
|
||||
defined('EXIT__AUTO_MAX') OR define('EXIT__AUTO_MAX', 125); // highest automatically-assigned error code
|
||||
|
||||
/*
|
||||
| Attribute Related Constants.
|
||||
*/
|
||||
define('GROUP', 'GROUP');
|
||||
define('DROPDOWN', 'DROPDOWN');
|
||||
define('DECIMAL', 'DECIMAL');
|
||||
define('DATE', 'DATE');
|
||||
define('TEXT', 'TEXT');
|
||||
define('CHECKBOX', 'CHECKBOX');
|
||||
define('NO_DEFINITION_ID', 0);
|
||||
define('CATEGORY_DEFINITION_ID', -1);
|
||||
|
||||
|
||||
const DEFINITION_TYPES = [GROUP, DROPDOWN, DECIMAL, TEXT, DATE, CHECKBOX];
|
||||
|
||||
|
||||
/*
|
||||
| Item Related Constants.
|
||||
*/
|
||||
define('HAS_STOCK', 0);
|
||||
define('HAS_NO_STOCK', 1);
|
||||
|
||||
define('ITEM', 0);
|
||||
define('ITEM_KIT', 1);
|
||||
define('ITEM_AMOUNT_ENTRY', 2);
|
||||
define('ITEM_TEMP', 3);
|
||||
|
||||
define('PRINT_ALL', 0);
|
||||
define('PRINT_PRICED', 1);
|
||||
define('PRINT_KIT', 2);
|
||||
|
||||
define('PRINT_YES', 0);
|
||||
define('PRINT_NO', 1);
|
||||
|
||||
define('PRICE_ALL', 0);
|
||||
define('PRICE_KIT', 1);
|
||||
define('PRICE_KIT_ITEMS', 2);
|
||||
|
||||
define('PRICE_OPTION_ALL', 0);
|
||||
define('PRICE_OPTION_KIT', 1);
|
||||
define('PRICE_OPTION_KIT_STOCK', 2);
|
||||
|
||||
define('NAME_SEPARATOR', ' | ');
|
||||
|
||||
/*
|
||||
| Sale Related Constants.
|
||||
*/
|
||||
define('COMPLETED', 0);
|
||||
define('SUSPENDED', 1);
|
||||
define('CANCELED', 2);
|
||||
|
||||
|
||||
define('SALE_TYPE_POS', 0);
|
||||
define('SALE_TYPE_INVOICE', 1);
|
||||
define('SALE_TYPE_WORK_ORDER', 2);
|
||||
define('SALE_TYPE_QUOTE', 3);
|
||||
define('SALE_TYPE_RETURN', 4);
|
||||
|
||||
define('PERCENT', 0);
|
||||
define('FIXED', 1);
|
||||
|
||||
10
application/config/email.php
Normal file
10
application/config/email.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
$config['default_email_address'] = "";
|
||||
$config['default_cc_address'] = '';
|
||||
$config['default_sender_name'] = "";
|
||||
$config['default_sender_address'] = "";
|
||||
$config['default_bounce_address'] = "";
|
||||
$config['charset'] = 'utf-8';
|
||||
$config['mailtype'] = 'html';
|
||||
$config['wordwrap'] = FALSE;
|
||||
|
||||
@@ -27,7 +27,7 @@ $hook['post_controller'] = array(
|
||||
);
|
||||
|
||||
$hook['pre_system'] = function() {
|
||||
$config_path = APPPATH . 'config/';
|
||||
$config_path = APPPATH . (ENVIRONMENT == 'testing') ? 'tests/' : 'config/';
|
||||
try {
|
||||
$dotenv = new Dotenv\Dotenv($config_path);
|
||||
$dotenv->overload();
|
||||
|
||||
@@ -69,7 +69,7 @@ $config['migration_auto_latest'] = FALSE;
|
||||
| be upgraded / downgraded to.
|
||||
|
|
||||
*/
|
||||
$config['migration_version'] = 20171126100000;
|
||||
$config['migration_version'] = 20180225100000;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
||||
@@ -73,15 +73,15 @@ $route['reports/(inventory_:any)/([^/]+)'] = 'reports/$1/$2';
|
||||
$route['reports/inventory_summary'] = 'reports/inventory_summary_input';
|
||||
$route['reports/(inventory_summary)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2';
|
||||
|
||||
$route['reports/(detailed_sales)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3$/$4';
|
||||
$route['reports/(detailed_:any)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
|
||||
$route['reports/detailed_sales'] = 'reports/date_input_sales';
|
||||
$route['reports/(detailed_receivings)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
|
||||
$route['reports/detailed_receivings'] = 'reports/date_input_recv';
|
||||
|
||||
$route['reports/(specific_:any)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
|
||||
$route['reports/specific_customer'] = 'reports/specific_customer_input';
|
||||
$route['reports/specific_employee'] = 'reports/specific_employee_input';
|
||||
$route['reports/specific_discount'] = 'reports/specific_discount_input';
|
||||
$route['reports/specific_supplier'] = 'reports/specific_supplier_input';
|
||||
|
||||
$route['404_override'] = '';
|
||||
$route['translate_uri_dashes'] = FALSE;
|
||||
|
||||
@@ -16,9 +16,9 @@ class Attributes extends Secure_Controller
|
||||
$this->load->view('attributes/manage', $data);
|
||||
}
|
||||
|
||||
/*
|
||||
Returns customer table data rows. This will be called with AJAX.
|
||||
*/
|
||||
/**
|
||||
* Returns customer table data rows. This will be called with AJAX.
|
||||
*/
|
||||
public function search()
|
||||
{
|
||||
$search = $this->input->get('search');
|
||||
@@ -44,7 +44,7 @@ class Attributes extends Secure_Controller
|
||||
|
||||
public function save_attribute_value($attribute_value)
|
||||
{
|
||||
$success = $this->Attribute->save_value(urldecode($attribute_value), $this->input->post('definition_id'), $this->input->post('item_id'), $this->input->post('attribute_id'));
|
||||
$success = $this->Attribute->save_value(urldecode($attribute_value), $this->input->post('definition_id'), $this->input->post('item_id'), $this->input->post('attribute_id'));
|
||||
|
||||
echo json_encode(array('success' => $success != 0));
|
||||
}
|
||||
@@ -56,9 +56,8 @@ class Attributes extends Secure_Controller
|
||||
echo json_encode(array('success' => $success));
|
||||
}
|
||||
|
||||
public function save_definition($definition_id = -1)
|
||||
public function save_definition($definition_id = NO_DEFINITION_ID)
|
||||
{
|
||||
|
||||
$definition_flags = 0;
|
||||
|
||||
$flags = (empty($this->input->post('definition_flags'))) ? array() : $this->input->post('definition_flags');
|
||||
@@ -68,7 +67,7 @@ class Attributes extends Secure_Controller
|
||||
$definition_flags |= $flag;
|
||||
}
|
||||
|
||||
//Save definition data
|
||||
//Save definition data
|
||||
$definition_data = array(
|
||||
'definition_name' => $this->input->post('definition_name'),
|
||||
'definition_unit' => $this->input->post('definition_unit') != '' ? $this->input->post('definition_unit') : NULL,
|
||||
@@ -85,8 +84,8 @@ class Attributes extends Secure_Controller
|
||||
|
||||
if($this->Attribute->save_definition($definition_data, $definition_id))
|
||||
{
|
||||
//New definition
|
||||
if($definition_id == -1)
|
||||
//New definition
|
||||
if($definition_id == 0)
|
||||
{
|
||||
$definition_values = json_decode($this->input->post('definition_values'));
|
||||
|
||||
@@ -96,15 +95,17 @@ class Attributes extends Secure_Controller
|
||||
}
|
||||
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('attributes_definition_successful_adding').' '.
|
||||
$definition_name, 'id' => $definition_data['definition_id']));
|
||||
$definition_name, 'id' => $definition_data['definition_id']));
|
||||
}
|
||||
else //Existing definition
|
||||
//Existing definition
|
||||
else
|
||||
{
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('attributes_definition_successful_updating').' '.
|
||||
$definition_name, 'id' => $definition_id));
|
||||
$definition_name, 'id' => $definition_id));
|
||||
}
|
||||
}
|
||||
else//failure
|
||||
//Failure
|
||||
else
|
||||
{
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('attributes_definition_error_adding_updating', $definition_name), 'id' => -1));
|
||||
}
|
||||
@@ -139,7 +140,7 @@ class Attributes extends Secure_Controller
|
||||
return $definition_flag_names;
|
||||
}
|
||||
|
||||
public function view($definition_id = -1)
|
||||
public function view($definition_id = NO_DEFINITION_ID)
|
||||
{
|
||||
$info = $this->Attribute->get_info($definition_id);
|
||||
foreach(get_object_vars($info) as $property => $value)
|
||||
@@ -180,5 +181,4 @@ class Attributes extends Secure_Controller
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('attributes_definition_cannot_be_deleted')));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -7,11 +7,11 @@ class Config extends Secure_Controller
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct('config');
|
||||
|
||||
|
||||
$this->load->library('barcode_lib');
|
||||
$this->load->library('sale_lib');
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* This function loads all the licenses starting with the first one being OSPOS one
|
||||
*/
|
||||
@@ -21,9 +21,9 @@ class Config extends Secure_Controller
|
||||
$bower = FALSE;
|
||||
$composer = FALSE;
|
||||
$license = array();
|
||||
|
||||
|
||||
$license[$i]['title'] = 'Open Source Point Of Sale ' . $this->config->item('application_version');
|
||||
|
||||
|
||||
if(file_exists('license/LICENSE'))
|
||||
{
|
||||
$license[$i]['text'] = $this->xss_clean(file_get_contents('license/LICENSE', NULL, NULL, 0, 2000));
|
||||
@@ -32,10 +32,9 @@ class Config extends Secure_Controller
|
||||
{
|
||||
$license[$i]['text'] = 'LICENSE file must be in OSPOS license directory. You are not allowed to use OSPOS application until the distribution copy of LICENSE file is present.';
|
||||
}
|
||||
|
||||
// read all the files in the dir license
|
||||
$dir = new DirectoryIterator('license');
|
||||
|
||||
|
||||
$dir = new DirectoryIterator('license'); // read all the files in the dir license
|
||||
|
||||
foreach($dir as $fileinfo)
|
||||
{
|
||||
// license files must be in couples: .version (name & version) & .license (license text)
|
||||
@@ -44,13 +43,13 @@ class Config extends Secure_Controller
|
||||
if($fileinfo->getExtension() == 'version')
|
||||
{
|
||||
++$i;
|
||||
|
||||
|
||||
$basename = 'license/' . $fileinfo->getBasename('.version');
|
||||
|
||||
|
||||
$license[$i]['title'] = $this->xss_clean(file_get_contents($basename . '.version', NULL, NULL, 0, 100));
|
||||
|
||||
|
||||
$license_text_file = $basename . '.license';
|
||||
|
||||
|
||||
if(file_exists($license_text_file))
|
||||
{
|
||||
$license[$i]['text'] = $this->xss_clean(file_get_contents($license_text_file , NULL, NULL, 0, 2000));
|
||||
@@ -72,17 +71,17 @@ class Config extends Secure_Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// attach the licenses from the LICENSES file generated by bower
|
||||
if($composer)
|
||||
{
|
||||
++$i;
|
||||
$license[$i]['title'] = 'Composer Libraries';
|
||||
$license[$i]['text'] = '';
|
||||
|
||||
|
||||
$file = file_get_contents('license/composer.LICENSES');
|
||||
$array = json_decode($file, TRUE);
|
||||
|
||||
|
||||
foreach($array as $key => $val)
|
||||
{
|
||||
if(is_array($val) && $key == 'dependencies')
|
||||
@@ -92,18 +91,18 @@ class Config extends Secure_Controller
|
||||
if(is_array($val1))
|
||||
{
|
||||
$license[$i]['text'] .= 'component: ' . $key1 . "\n";
|
||||
|
||||
|
||||
foreach($val1 as $key2 => $val2)
|
||||
{
|
||||
if(is_array($val2))
|
||||
{
|
||||
$license[$i]['text'] .= $key2 . ': ';
|
||||
|
||||
|
||||
foreach($val2 as $key3 => $val3)
|
||||
{
|
||||
$license[$i]['text'] .= $val3 . ' ';
|
||||
}
|
||||
|
||||
|
||||
$license[$i]['text'] .= "\n";
|
||||
}
|
||||
else
|
||||
@@ -111,7 +110,7 @@ class Config extends Secure_Controller
|
||||
$license[$i]['text'] .= $key2 . ': ' . $val2 . "\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$license[$i]['text'] .= "\n";
|
||||
}
|
||||
else
|
||||
@@ -121,37 +120,37 @@ class Config extends Secure_Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$license[$i]['text'] = $this->xss_clean($license[$i]['text']);
|
||||
}
|
||||
|
||||
|
||||
// attach the licenses from the LICENSES file generated by bower
|
||||
if($bower)
|
||||
{
|
||||
++$i;
|
||||
$license[$i]['title'] = 'JS Plugins';
|
||||
$license[$i]['text'] = '';
|
||||
|
||||
|
||||
$file = file_get_contents('license/bower.LICENSES');
|
||||
$array = json_decode($file, TRUE);
|
||||
|
||||
|
||||
foreach($array as $key => $val)
|
||||
{
|
||||
if(is_array($val))
|
||||
{
|
||||
$license[$i]['text'] .= 'component: ' . $key . "\n";
|
||||
|
||||
|
||||
foreach($val as $key1 => $val1)
|
||||
{
|
||||
if(is_array($val1))
|
||||
{
|
||||
$license[$i]['text'] .= $key1 . ': ';
|
||||
|
||||
|
||||
foreach($val1 as $key2 => $val2)
|
||||
{
|
||||
$license[$i]['text'] .= $val2 . ' ';
|
||||
}
|
||||
|
||||
|
||||
$license[$i]['text'] .= "\n";
|
||||
}
|
||||
else
|
||||
@@ -159,27 +158,27 @@ class Config extends Secure_Controller
|
||||
$license[$i]['text'] .= $key1 . ': ' . $val1 . "\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$license[$i]['text'] .= "\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$license[$i]['text'] = $this->xss_clean($license[$i]['text']);
|
||||
}
|
||||
|
||||
|
||||
return $license;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* This function loads all the available themes in the dist/bootswatch directory
|
||||
*/
|
||||
private function _themes()
|
||||
{
|
||||
$themes = array();
|
||||
|
||||
|
||||
// read all themes in the dist folder
|
||||
$dir = new DirectoryIterator('dist/bootswatch');
|
||||
|
||||
|
||||
foreach($dir as $dirinfo)
|
||||
{
|
||||
if($dirinfo->isDir() && !$dirinfo->isDot() && $dirinfo->getFileName() != 'fonts')
|
||||
@@ -188,12 +187,12 @@ class Config extends Secure_Controller
|
||||
$themes[$file] = $file;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
asort($themes);
|
||||
|
||||
|
||||
return $themes;
|
||||
}
|
||||
|
||||
|
||||
public function index()
|
||||
{
|
||||
$data['stock_locations'] = $this->Stock_location->get_all()->result_array();
|
||||
@@ -209,15 +208,25 @@ class Config extends Secure_Controller
|
||||
$data['tax_category_options'] = $this->tax_lib->get_tax_category_options();
|
||||
$data['tax_jurisdiction_options'] = $this->tax_lib->get_tax_jurisdiction_options();
|
||||
$data['show_office_group'] = $this->Module->get_show_office_group();
|
||||
|
||||
$data['currency_code'] = $this->config->item('currency_code');
|
||||
|
||||
$data = $this->xss_clean($data);
|
||||
|
||||
|
||||
// load all the license statements, they are already XSS cleaned in the private function
|
||||
$data['licenses'] = $this->_licenses();
|
||||
|
||||
// load all the themes, already XSS cleaned in the private function
|
||||
$data['themes'] = $this->_themes();
|
||||
|
||||
$data['mailchimp'] = array();
|
||||
|
||||
//Load General related fields
|
||||
$image_allowed_types = array('jpg','jpeg','gif','svg','webp','bmp','png','tif','tiff');
|
||||
$data['image_allowed_types'] = array_combine($image_allowed_types,$image_allowed_types);
|
||||
|
||||
$data['selected_image_allowed_types'] = explode('|',$this->config->item('image_allowed_types'));
|
||||
|
||||
//Load Integrations Related fields
|
||||
$data['mailchimp'] = array();
|
||||
|
||||
if($this->_check_encryption())
|
||||
{
|
||||
$data['mailchimp']['api_key'] = $this->encryption->decrypt($this->config->item('mailchimp_api_key'));
|
||||
@@ -228,18 +237,18 @@ class Config extends Secure_Controller
|
||||
$data['mailchimp']['api_key'] = '';
|
||||
$data['mailchimp']['list_id'] = '';
|
||||
}
|
||||
|
||||
|
||||
// load mailchimp lists associated to the given api key, already XSS cleaned in the private function
|
||||
$data['mailchimp']['lists'] = $this->_mailchimp();
|
||||
|
||||
|
||||
$this->load->view("configs/manage", $data);
|
||||
}
|
||||
|
||||
|
||||
public function save_info()
|
||||
{
|
||||
$upload_success = $this->_handle_logo_upload();
|
||||
$upload_data = $this->upload->data();
|
||||
|
||||
|
||||
$batch_save_data = array(
|
||||
'company' => $this->input->post('company'),
|
||||
'address' => $this->input->post('address'),
|
||||
@@ -249,7 +258,7 @@ class Config extends Secure_Controller
|
||||
'website' => $this->input->post('website'),
|
||||
'return_policy' => $this->input->post('return_policy')
|
||||
);
|
||||
|
||||
|
||||
if(!empty($upload_data['orig_name']))
|
||||
{
|
||||
// XSS file image sanity check
|
||||
@@ -258,18 +267,18 @@ class Config extends Secure_Controller
|
||||
$batch_save_data['company_logo'] = $upload_data['raw_name'] . $upload_data['file_ext'];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$result = $this->Appconfig->batch_save($batch_save_data);
|
||||
$success = $upload_success && $result ? TRUE : FALSE;
|
||||
$message = $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully');
|
||||
$message = $upload_success ? $message : strip_tags($this->upload->display_errors());
|
||||
|
||||
|
||||
echo json_encode(array(
|
||||
'success' => $success,
|
||||
'message' => $message
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
public function save_general()
|
||||
{
|
||||
$batch_save_data = array(
|
||||
@@ -283,6 +292,10 @@ class Config extends Secure_Controller
|
||||
'lines_per_page' => $this->input->post('lines_per_page'),
|
||||
'notify_horizontal_position' => $this->input->post('notify_horizontal_position'),
|
||||
'notify_vertical_position' => $this->input->post('notify_vertical_position'),
|
||||
'image_max_width' => $this->input->post('image_max_width'),
|
||||
'image_max_height' => $this->input->post('image_max_height'),
|
||||
'image_max_size' => $this->input->post('image_max_size'),
|
||||
'image_allowed_types' => implode('|', $this->input->post('image_allowed_types')),
|
||||
'gcaptcha_enable' => $this->input->post('gcaptcha_enable') != NULL,
|
||||
'gcaptcha_secret_key' => $this->input->post('gcaptcha_secret_key'),
|
||||
'gcaptcha_site_key' => $this->input->post('gcaptcha_site_key'),
|
||||
@@ -292,46 +305,71 @@ class Config extends Secure_Controller
|
||||
'giftcard_number' => $this->input->post('giftcard_number'),
|
||||
'derive_sale_quantity' => $this->input->post('derive_sale_quantity') != NULL,
|
||||
'multi_pack_enabled' => $this->input->post('multi_pack_enabled') != NULL,
|
||||
'include_hsn' => $this->input->post('include_hsn') != NULL
|
||||
'include_hsn' => $this->input->post('include_hsn') != NULL,
|
||||
'category_dropdown' => $this->input->post('category_dropdown') != NULL
|
||||
);
|
||||
|
||||
|
||||
$this->Module->set_show_office_group($this->input->post('show_office_group') != NULL);
|
||||
|
||||
|
||||
if($batch_save_data['category_dropdown'] == 1)
|
||||
{
|
||||
$definition_data['definition_name'] = 'ospos_category';
|
||||
$definition_data['definition_flags'] = 0;
|
||||
$definition_data['definition_type'] = 'DROPDOWN';
|
||||
$definition_data['definition_id'] = CATEGORY_DEFINITION_ID;
|
||||
$definition_data['deleted'] = 0;
|
||||
|
||||
$this->Attribute->save_definition($definition_data, CATEGORY_DEFINITION_ID);
|
||||
}
|
||||
else if($batch_save_data['category_dropdown'] == NO_DEFINITION_ID)
|
||||
{
|
||||
$this->Attribute->delete_definition(CATEGORY_DEFINITION_ID);
|
||||
}
|
||||
|
||||
$result = $this->Appconfig->batch_save($batch_save_data);
|
||||
$success = $result ? TRUE : FALSE;
|
||||
|
||||
|
||||
echo json_encode(array(
|
||||
'success' => $success,
|
||||
'message' => $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully')
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
public function ajax_check_number_locale()
|
||||
{
|
||||
$number_locale = $this->input->post('number_locale');
|
||||
$save_number_locale = $this->input->post('save_number_locale');
|
||||
|
||||
$fmt = new \NumberFormatter($number_locale, \NumberFormatter::CURRENCY);
|
||||
$currency_symbol = empty($this->input->post('currency_symbol')) ? $fmt->getSymbol(\NumberFormatter::CURRENCY_SYMBOL) : $this->input->post('currency_symbol');
|
||||
$currency_code = empty($this->input->post('currency_code')) ? $fmt->getTextAttribute(\NumberFormatter::CURRENCY_CODE) : $this->input->post('currency_code');
|
||||
|
||||
if($number_locale != $save_number_locale)
|
||||
{
|
||||
$currency_symbol = $fmt->getSymbol(\NumberFormatter::CURRENCY_SYMBOL);
|
||||
$currency_code = $fmt->getTextAttribute(\NumberFormatter::CURRENCY_CODE);
|
||||
$save_number_locale = $number_locale;
|
||||
}
|
||||
else
|
||||
{
|
||||
$currency_symbol = empty($this->input->post('currency_symbol')) ? $fmt->getSymbol(\NumberFormatter::CURRENCY_SYMBOL) : $this->input->post('currency_symbol');
|
||||
$currency_code = empty($this->input->post('currency_code')) ? $fmt->getTextAttribute(\NumberFormatter::CURRENCY_CODE) : $this->input->post('currency_code');
|
||||
}
|
||||
|
||||
if($this->input->post('thousands_separator') == 'false')
|
||||
{
|
||||
$fmt->setAttribute(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL, '');
|
||||
}
|
||||
|
||||
|
||||
$fmt->setSymbol(\NumberFormatter::CURRENCY_SYMBOL, $currency_symbol);
|
||||
$fmt->setTextAttribute(\NumberFormatter::CURRENCY_CODE, $currency_code);
|
||||
|
||||
$number_local_example = $fmt->format(1234567890.12300);
|
||||
|
||||
|
||||
echo json_encode(array(
|
||||
'success' => $number_local_example != FALSE,
|
||||
'save_number_locale' => $save_number_locale,
|
||||
'number_locale_example' => $number_local_example,
|
||||
'currency_symbol' => $currency_symbol,
|
||||
'currency_code' => $currency_code,
|
||||
'thousands_separator' => $fmt->getAttribute(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL) != ''
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
public function save_locale()
|
||||
{
|
||||
$exploded = explode(":", $this->input->post('language'));
|
||||
@@ -343,7 +381,7 @@ class Config extends Secure_Controller
|
||||
'timezone' => $this->input->post('timezone'),
|
||||
'dateformat' => $this->input->post('dateformat'),
|
||||
'timeformat' => $this->input->post('timeformat'),
|
||||
'thousands_separator' => $this->input->post('thousands_separator'),
|
||||
'thousands_separator' => !empty($this->input->post('thousands_separator')),
|
||||
'number_locale' => $this->input->post('number_locale'),
|
||||
'currency_decimals' => $this->input->post('currency_decimals'),
|
||||
'tax_decimals' => $this->input->post('tax_decimals'),
|
||||
@@ -355,25 +393,25 @@ class Config extends Secure_Controller
|
||||
'cash_rounding_code' => $this->input->post('cash_rounding_code'),
|
||||
'financial_year' => $this->input->post('financial_year')
|
||||
);
|
||||
|
||||
|
||||
$result = $this->Appconfig->batch_save($batch_save_data);
|
||||
$success = $result ? TRUE : FALSE;
|
||||
|
||||
|
||||
echo json_encode(array(
|
||||
'success' => $success,
|
||||
'message' => $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully')
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
public function save_email()
|
||||
{
|
||||
$password = '';
|
||||
|
||||
|
||||
if($this->_check_encryption())
|
||||
{
|
||||
$password = $this->encryption->encrypt($this->input->post('smtp_pass'));
|
||||
}
|
||||
|
||||
|
||||
$batch_save_data = array(
|
||||
'protocol' => $this->input->post('protocol'),
|
||||
'mailpath' => $this->input->post('mailpath'),
|
||||
@@ -384,50 +422,50 @@ class Config extends Secure_Controller
|
||||
'smtp_timeout' => $this->input->post('smtp_timeout'),
|
||||
'smtp_crypto' => $this->input->post('smtp_crypto')
|
||||
);
|
||||
|
||||
|
||||
$result = $this->Appconfig->batch_save($batch_save_data);
|
||||
$success = $result ? TRUE : FALSE;
|
||||
|
||||
|
||||
echo json_encode(array(
|
||||
'success' => $success,
|
||||
'message' => $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully')
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
public function save_message()
|
||||
{
|
||||
$password = '';
|
||||
|
||||
|
||||
if($this->_check_encryption())
|
||||
{
|
||||
$password = $this->encryption->encrypt($this->input->post('msg_pwd'));
|
||||
}
|
||||
|
||||
|
||||
$batch_save_data = array(
|
||||
'msg_msg' => $this->input->post('msg_msg'),
|
||||
'msg_uid' => $this->input->post('msg_uid'),
|
||||
'msg_pwd' => $password,
|
||||
'msg_src' => $this->input->post('msg_src')
|
||||
);
|
||||
|
||||
|
||||
$result = $this->Appconfig->batch_save($batch_save_data);
|
||||
$success = $result ? TRUE : FALSE;
|
||||
|
||||
|
||||
echo json_encode(array(
|
||||
'success' => $success,
|
||||
'message' => $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully')
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* This function fetches all the available lists from Mailchimp for the given API key
|
||||
*/
|
||||
private function _mailchimp($api_key = '')
|
||||
{
|
||||
$this->load->library('mailchimp_lib', array('api_key' => $api_key));
|
||||
|
||||
|
||||
$result = array();
|
||||
|
||||
|
||||
if(($lists = $this->mailchimp_lib->getLists()) !== FALSE)
|
||||
{
|
||||
if(is_array($lists) && !empty($lists['lists']) && is_array($lists['lists']))
|
||||
@@ -439,10 +477,10 @@ class Config extends Secure_Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
AJAX call from mailchimp config form to fetch the Mailchimp lists when a valid API key is inserted
|
||||
*/
|
||||
@@ -451,75 +489,75 @@ class Config extends Secure_Controller
|
||||
// load mailchimp lists associated to the given api key, already XSS cleaned in the private function
|
||||
$lists = $this->_mailchimp($this->input->post('mailchimp_api_key'));
|
||||
$success = count($lists) > 0 ? TRUE : FALSE;
|
||||
|
||||
|
||||
echo json_encode(array(
|
||||
'success' => $success,
|
||||
'message' => $this->lang->line('config_mailchimp_key_' . ($success ? '' : 'un') . 'successfully'),
|
||||
'mailchimp_lists' => $lists
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
public function save_mailchimp()
|
||||
{
|
||||
$api_key = '';
|
||||
$list_id = '';
|
||||
|
||||
|
||||
if($this->_check_encryption())
|
||||
{
|
||||
$api_key = $this->encryption->encrypt($this->input->post('mailchimp_api_key'));
|
||||
$list_id = $this->encryption->encrypt($this->input->post('mailchimp_list_id'));
|
||||
}
|
||||
|
||||
|
||||
$batch_save_data = array(
|
||||
'mailchimp_api_key' => $api_key,
|
||||
'mailchimp_list_id' => $list_id
|
||||
);
|
||||
|
||||
|
||||
$result = $this->Appconfig->batch_save($batch_save_data);
|
||||
$success = $result ? TRUE : FALSE;
|
||||
|
||||
|
||||
echo json_encode(array(
|
||||
'success' => $success,
|
||||
'message' => $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully')
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
public function ajax_stock_locations()
|
||||
{
|
||||
$stock_locations = $this->Stock_location->get_all()->result_array();
|
||||
|
||||
|
||||
$stock_locations = $this->xss_clean($stock_locations);
|
||||
|
||||
|
||||
$this->load->view('partial/stock_locations', array('stock_locations' => $stock_locations));
|
||||
}
|
||||
|
||||
|
||||
public function ajax_dinner_tables()
|
||||
{
|
||||
$dinner_tables = $this->Dinner_table->get_all()->result_array();
|
||||
|
||||
|
||||
$dinner_tables = $this->xss_clean($dinner_tables);
|
||||
|
||||
|
||||
$this->load->view('partial/dinner_tables', array('dinner_tables' => $dinner_tables));
|
||||
}
|
||||
|
||||
|
||||
public function ajax_tax_categories()
|
||||
{
|
||||
$tax_categories = $this->Tax->get_all_tax_categories()->result_array();
|
||||
|
||||
|
||||
$tax_categories = $this->xss_clean($tax_categories);
|
||||
|
||||
|
||||
$this->load->view('partial/tax_categories', array('tax_categories' => $tax_categories));
|
||||
}
|
||||
|
||||
|
||||
public function ajax_customer_rewards()
|
||||
{
|
||||
$customer_rewards = $this->Customer_rewards->get_all()->result_array();
|
||||
|
||||
|
||||
$customer_rewards = $this->xss_clean($customer_rewards);
|
||||
|
||||
|
||||
$this->load->view('partial/customer_rewards', array('customer_rewards' => $customer_rewards));
|
||||
}
|
||||
|
||||
|
||||
private function _clear_session_state()
|
||||
{
|
||||
$this->sale_lib->clear_sale_location();
|
||||
@@ -530,32 +568,33 @@ class Config extends Secure_Controller
|
||||
$this->receiving_lib->clear_stock_destination();
|
||||
$this->receiving_lib->clear_all();
|
||||
}
|
||||
|
||||
|
||||
public function save_locations()
|
||||
{
|
||||
$this->db->trans_start();
|
||||
|
||||
|
||||
$not_to_delete = array();
|
||||
foreach($this->input->post() as $key => $value)
|
||||
{
|
||||
if(strstr($key, 'stock_location'))
|
||||
{
|
||||
$location_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
|
||||
|
||||
// save or update
|
||||
$location_data = array('location_name' => $value);
|
||||
if($this->Stock_location->save($location_data, $location_id))
|
||||
foreach ($value as $location_id => $location_name)
|
||||
{
|
||||
$location_id = $this->Stock_location->get_location_id($value);
|
||||
$not_to_delete[] = $location_id;
|
||||
$this->_clear_session_state();
|
||||
$location_data = array('location_name' => $location_name);
|
||||
if($this->Stock_location->save($location_data, $location_id))
|
||||
{
|
||||
$location_id = $this->Stock_location->get_location_id($location_name);
|
||||
$not_to_delete[] = $location_id;
|
||||
$this->_clear_session_state();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// all locations not available in post will be deleted now
|
||||
$deleted_locations = $this->Stock_location->get_all()->result_array();
|
||||
|
||||
|
||||
foreach($deleted_locations as $location => $location_data)
|
||||
{
|
||||
if(!in_array($location_data['location_id'], $not_to_delete))
|
||||
@@ -563,25 +602,25 @@ class Config extends Secure_Controller
|
||||
$this->Stock_location->delete($location_data['location_id']);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$this->db->trans_complete();
|
||||
|
||||
|
||||
$success = $this->db->trans_status();
|
||||
|
||||
|
||||
echo json_encode(array(
|
||||
'success' => $success,
|
||||
'message' => $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully')
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
public function save_tables()
|
||||
{
|
||||
$this->db->trans_start();
|
||||
|
||||
|
||||
$dinner_table_enable = $this->input->post('dinner_table_enable') != NULL;
|
||||
|
||||
|
||||
$this->Appconfig->save('dinner_table_enable', $dinner_table_enable);
|
||||
|
||||
|
||||
if($dinner_table_enable)
|
||||
{
|
||||
$not_to_delete = array();
|
||||
@@ -591,6 +630,7 @@ class Config extends Secure_Controller
|
||||
{
|
||||
$dinner_table_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
|
||||
$not_to_delete[] = $dinner_table_id;
|
||||
|
||||
// save or update
|
||||
$table_data = array('name' => $value);
|
||||
if($this->Dinner_table->save($table_data, $dinner_table_id))
|
||||
@@ -599,10 +639,10 @@ class Config extends Secure_Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// all tables not available in post will be deleted now
|
||||
$deleted_tables = $this->Dinner_table->get_all()->result_array();
|
||||
|
||||
|
||||
foreach($deleted_tables as $dinner_tables => $table)
|
||||
{
|
||||
if(!in_array($table['dinner_table_id'], $not_to_delete))
|
||||
@@ -611,25 +651,25 @@ class Config extends Secure_Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$this->db->trans_complete();
|
||||
|
||||
|
||||
$success = $this->db->trans_status();
|
||||
|
||||
|
||||
echo json_encode(array(
|
||||
'success' => $success,
|
||||
'message' => $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully')
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
public function save_tax()
|
||||
{
|
||||
$this->db->trans_start();
|
||||
|
||||
|
||||
$batch_save_data = array(
|
||||
'default_tax_1_rate' => parse_decimals($this->input->post('default_tax_1_rate')),
|
||||
'default_tax_1_rate' => parse_tax($this->input->post('default_tax_1_rate')),
|
||||
'default_tax_1_name' => $this->input->post('default_tax_1_name'),
|
||||
'default_tax_2_rate' => parse_decimals($this->input->post('default_tax_2_rate')),
|
||||
'default_tax_2_rate' => parse_tax($this->input->post('default_tax_2_rate')),
|
||||
'default_tax_2_name' => $this->input->post('default_tax_2_name'),
|
||||
'tax_included' => $this->input->post('tax_included') != NULL,
|
||||
'use_destination_based_tax' => $this->input->post('use_destination_based_tax') != NULL,
|
||||
@@ -638,29 +678,29 @@ class Config extends Secure_Controller
|
||||
'default_tax_jurisdiction' => $this->input->post('default_tax_jurisdiction'),
|
||||
'tax_id' => $this->input->post('tax_id')
|
||||
);
|
||||
|
||||
|
||||
$success = $this->Appconfig->batch_save($batch_save_data) ? TRUE : FALSE;
|
||||
|
||||
|
||||
$this->db->trans_complete();
|
||||
|
||||
|
||||
$success &= $this->db->trans_status();
|
||||
|
||||
|
||||
$message = $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully');
|
||||
|
||||
|
||||
echo json_encode(array(
|
||||
'success' => $success,
|
||||
'message' => $message
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
public function save_rewards()
|
||||
{
|
||||
$this->db->trans_start();
|
||||
|
||||
|
||||
$customer_reward_enable = $this->input->post('customer_reward_enable') != NULL;
|
||||
|
||||
|
||||
$this->Appconfig->save('customer_reward_enable', $customer_reward_enable);
|
||||
|
||||
|
||||
if($customer_reward_enable)
|
||||
{
|
||||
$not_to_delete = array();
|
||||
@@ -679,7 +719,7 @@ class Config extends Secure_Controller
|
||||
$array_save[$customer_reward_id]['points_percent'] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(!empty($array_save))
|
||||
{
|
||||
foreach($array_save as $key => $value)
|
||||
@@ -689,10 +729,10 @@ class Config extends Secure_Controller
|
||||
$this->Customer_rewards->save($package_data, $key);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// all packages not available in post will be deleted now
|
||||
$deleted_packages = $this->Customer_rewards->get_all()->result_array();
|
||||
|
||||
|
||||
foreach($deleted_packages as $customer_rewards => $reward_category)
|
||||
{
|
||||
if(!in_array($reward_category['package_id'], $not_to_delete))
|
||||
@@ -701,17 +741,17 @@ class Config extends Secure_Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$this->db->trans_complete();
|
||||
|
||||
|
||||
$success = $this->db->trans_status();
|
||||
|
||||
|
||||
echo json_encode(array(
|
||||
'success' => $success,
|
||||
'message' => $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully')
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
public function save_barcode()
|
||||
{
|
||||
$batch_save_data = array(
|
||||
@@ -731,16 +771,16 @@ class Config extends Secure_Controller
|
||||
'barcode_content' => $this->input->post('barcode_content'),
|
||||
'barcode_formats' => json_encode($this->input->post('barcode_formats'))
|
||||
);
|
||||
|
||||
|
||||
$result = $this->Appconfig->batch_save($batch_save_data);
|
||||
$success = $result ? TRUE : FALSE;
|
||||
|
||||
|
||||
echo json_encode(array(
|
||||
'success' => $success,
|
||||
'message' => $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully')
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
public function save_receipt()
|
||||
{
|
||||
$batch_save_data = array (
|
||||
@@ -750,7 +790,8 @@ class Config extends Secure_Controller
|
||||
'email_receipt_check_behaviour' => $this->input->post('email_receipt_check_behaviour'),
|
||||
'print_receipt_check_behaviour' => $this->input->post('print_receipt_check_behaviour'),
|
||||
'receipt_show_company_name' => $this->input->post('receipt_show_company_name') != NULL,
|
||||
'receipt_show_taxes' => $this->input->post('receipt_show_taxes') != NULL,
|
||||
'receipt_show_taxes' => ($this->input->post('receipt_show_taxes') != NULL),
|
||||
'receipt_show_tax_ind' => ($this->input->post('receipt_show_tax_ind') != NULL),
|
||||
'receipt_show_total_discount' => $this->input->post('receipt_show_total_discount') != NULL,
|
||||
'receipt_show_description' => $this->input->post('receipt_show_description') != NULL,
|
||||
'receipt_show_serialnumber' => $this->input->post('receipt_show_serialnumber') != NULL,
|
||||
@@ -762,21 +803,20 @@ class Config extends Secure_Controller
|
||||
'print_bottom_margin' => $this->input->post('print_bottom_margin'),
|
||||
'print_right_margin' => $this->input->post('print_right_margin')
|
||||
);
|
||||
|
||||
|
||||
$result = $this->Appconfig->batch_save($batch_save_data);
|
||||
$success = $result ? TRUE : FALSE;
|
||||
|
||||
|
||||
echo json_encode(array(
|
||||
'success' => $success,
|
||||
'message' => $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully')
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
public function save_invoice()
|
||||
{
|
||||
$batch_save_data = array (
|
||||
'invoice_enable' => $this->input->post('invoice_enable') != NULL,
|
||||
'default_register_mode' => $this->input->post('default_register_mode'),
|
||||
'sales_invoice_format' => $this->input->post('sales_invoice_format'),
|
||||
'sales_quote_format' => $this->input->post('sales_quote_format'),
|
||||
'recv_invoice_format' => $this->input->post('recv_invoice_format'),
|
||||
@@ -791,10 +831,10 @@ class Config extends Secure_Controller
|
||||
'last_used_work_order_number' => $this->input->post('last_used_work_order_number'),
|
||||
'invoice_type' => $this->input->post('invoice_type')
|
||||
);
|
||||
|
||||
|
||||
$result = $this->Appconfig->batch_save($batch_save_data);
|
||||
$success = $result ? TRUE : FALSE;
|
||||
|
||||
|
||||
// Update the register mode with the latest change so that if the user
|
||||
// switches immediately back to the register the mode reflects the change
|
||||
if($success == TRUE)
|
||||
@@ -808,24 +848,24 @@ class Config extends Secure_Controller
|
||||
$this->sale_lib->set_mode('sale');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
echo json_encode(array(
|
||||
'success' => $success,
|
||||
'message' => $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully')
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
public function remove_logo()
|
||||
{
|
||||
$result = $this->Appconfig->batch_save(array('company_logo' => ''));
|
||||
|
||||
|
||||
echo json_encode(array('success' => $result));
|
||||
}
|
||||
|
||||
|
||||
private function _handle_logo_upload()
|
||||
{
|
||||
$this->load->helper('directory');
|
||||
|
||||
|
||||
// load upload library
|
||||
$config = array('upload_path' => './uploads/',
|
||||
'allowed_types' => 'gif|jpg|png',
|
||||
@@ -835,71 +875,72 @@ class Config extends Secure_Controller
|
||||
'file_name' => 'company_logo');
|
||||
$this->load->library('upload', $config);
|
||||
$this->upload->do_upload('company_logo');
|
||||
|
||||
|
||||
return strlen($this->upload->display_errors()) == 0 || !strcmp($this->upload->display_errors(), '<p>'.$this->lang->line('upload_no_file_selected').'</p>');
|
||||
}
|
||||
|
||||
|
||||
private function _check_encryption()
|
||||
{
|
||||
$encryption_key = $this->config->item('encryption_key');
|
||||
|
||||
|
||||
// check if the encryption_key config item is the default one
|
||||
if($encryption_key == '' || $encryption_key == 'YOUR KEY')
|
||||
{
|
||||
// Config path
|
||||
$config_path = APPPATH . 'config/config.php';
|
||||
|
||||
|
||||
// Open the file
|
||||
$config = file_get_contents($config_path);
|
||||
|
||||
|
||||
// $key will be assigned a 32-byte (256-bit) hex-encoded random key
|
||||
$key = bin2hex($this->encryption->create_key(32));
|
||||
|
||||
|
||||
// set the encryption key in the config item
|
||||
$this->config->set_item('encryption_key', $key);
|
||||
|
||||
|
||||
// replace the empty placeholder with a real randomly generated encryption key
|
||||
$config = preg_replace("/(.*encryption_key.*)('');/", "$1'$key';", $config);
|
||||
|
||||
|
||||
$result = FALSE;
|
||||
|
||||
|
||||
// Chmod the file
|
||||
@chmod($config_path, 0777);
|
||||
|
||||
@chmod($config_path, 0770);
|
||||
|
||||
// Verify file permissions
|
||||
if(is_writable($config_path))
|
||||
{
|
||||
// Write the new config.php file
|
||||
$handle = @fopen($config_path, 'w+');
|
||||
|
||||
// Write the file
|
||||
$result = (fwrite($handle, $config) === FALSE) ? FALSE : TRUE;
|
||||
|
||||
|
||||
fclose($handle);
|
||||
}
|
||||
|
||||
|
||||
// Chmod the file
|
||||
@chmod($config_path, 0444);
|
||||
|
||||
@chmod($config_path, 0440);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
public function backup_db()
|
||||
{
|
||||
$employee_id = $this->Employee->get_logged_in_employee_info()->person_id;
|
||||
if($this->Employee->has_module_grant('config', $employee_id))
|
||||
{
|
||||
$this->load->dbutil();
|
||||
|
||||
|
||||
$prefs = array(
|
||||
'format' => 'zip',
|
||||
'filename' => 'ospos.sql'
|
||||
);
|
||||
|
||||
|
||||
$backup = $this->dbutil->backup($prefs);
|
||||
|
||||
|
||||
$file_name = 'ospos-' . date("Y-m-d-H-i-s") .'.zip';
|
||||
$save = 'uploads/' . $file_name;
|
||||
$this->load->helper('download');
|
||||
@@ -907,7 +948,7 @@ class Config extends Secure_Controller
|
||||
{
|
||||
ob_end_clean();
|
||||
}
|
||||
|
||||
|
||||
force_download($file_name, $backup);
|
||||
}
|
||||
else
|
||||
@@ -916,4 +957,4 @@ class Config extends Secure_Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -347,25 +347,25 @@ class Customers extends Persons
|
||||
}
|
||||
|
||||
/*
|
||||
Customers import from excel spreadsheet
|
||||
Customers import from csv spreadsheet
|
||||
*/
|
||||
public function excel()
|
||||
public function csv()
|
||||
{
|
||||
$name = 'import_customers.csv';
|
||||
$data = file_get_contents('../' . $name);
|
||||
force_download($name, $data);
|
||||
}
|
||||
|
||||
public function excel_import()
|
||||
public function csv_import()
|
||||
{
|
||||
$this->load->view('customers/form_excel_import', NULL);
|
||||
$this->load->view('customers/form_csv_import', NULL);
|
||||
}
|
||||
|
||||
public function do_excel_import()
|
||||
public function do_csv_import()
|
||||
{
|
||||
if($_FILES['file_path']['error'] != UPLOAD_ERR_OK)
|
||||
{
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('customers_excel_import_failed')));
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('customers_csv_import_failed')));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -446,18 +446,18 @@ class Customers extends Persons
|
||||
|
||||
if(count($failCodes) > 0)
|
||||
{
|
||||
$message = $this->lang->line('customers_excel_import_partially_failed') . ' (' . count($failCodes) . '): ' . implode(', ', $failCodes);
|
||||
$message = $this->lang->line('customers_csv_import_partially_failed') . ' (' . count($failCodes) . '): ' . implode(', ', $failCodes);
|
||||
|
||||
echo json_encode(array('success' => FALSE, 'message' => $message));
|
||||
}
|
||||
else
|
||||
{
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('customers_excel_import_success')));
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('customers_csv_import_success')));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('customers_excel_import_nodata_wrongformat')));
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('customers_csv_import_nodata_wrongformat')));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,6 +35,13 @@ class Employees extends Persons
|
||||
/*
|
||||
Gives search suggestions based on what is being searched for
|
||||
*/
|
||||
public function suggest()
|
||||
{
|
||||
$suggestions = $this->xss_clean($this->Employee->get_search_suggestions($this->input->get('term'), TRUE));
|
||||
|
||||
echo json_encode($suggestions);
|
||||
}
|
||||
|
||||
public function suggest_search()
|
||||
{
|
||||
$suggestions = $this->xss_clean($this->Employee->get_search_suggestions($this->input->post('term')));
|
||||
|
||||
@@ -4,7 +4,7 @@ require_once("Secure_Controller.php");
|
||||
|
||||
class Home extends Secure_Controller
|
||||
{
|
||||
function __construct()
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(NULL, NULL, 'home');
|
||||
}
|
||||
@@ -20,7 +20,7 @@ class Home extends Secure_Controller
|
||||
}
|
||||
|
||||
/*
|
||||
Loads the change employee password form
|
||||
Load "change employee password" form
|
||||
*/
|
||||
public function change_password($employee_id = -1)
|
||||
{
|
||||
|
||||
@@ -16,11 +16,10 @@ class Items extends Secure_Controller
|
||||
$this->session->set_userdata('allow_temp_items', 0);
|
||||
|
||||
$data['table_headers'] = $this->xss_clean(get_items_manage_table_headers());
|
||||
|
||||
$data['stock_location'] = $this->xss_clean($this->item_lib->get_item_location());
|
||||
$data['stock_locations'] = $this->xss_clean($this->Stock_location->get_allowed_locations());
|
||||
|
||||
// filters that will be loaded in the multiselect dropdown
|
||||
//Filters that will be loaded in the multiselect dropdown
|
||||
$data['filters'] = array('empty_upc' => $this->lang->line('items_empty_upc_items'),
|
||||
'low_inventory' => $this->lang->line('items_low_inventory_items'),
|
||||
'is_serialized' => $this->lang->line('items_serialized_items'),
|
||||
@@ -59,7 +58,7 @@ class Items extends Secure_Controller
|
||||
'temporary' => FALSE,
|
||||
'definition_ids' => array_keys($definition_names));
|
||||
|
||||
// check if any filter is set in the multiselect dropdown
|
||||
//Check if any filter is set in the multiselect dropdown
|
||||
$filledup = array_fill_keys($this->input->get('filters'), TRUE);
|
||||
$filters = array_merge($filters, $filledup);
|
||||
|
||||
@@ -85,16 +84,17 @@ class Items extends Secure_Controller
|
||||
$this->load->helper('file');
|
||||
$this->load->library('image_lib');
|
||||
|
||||
// in this context, $pic_filename always has .ext
|
||||
//In this context, $pic_filename always has .ext
|
||||
$ext = pathinfo($pic_filename, PATHINFO_EXTENSION);
|
||||
$images = glob('./uploads/item_pics/' . $pic_filename);
|
||||
|
||||
// make sure we pick only the file name, without extension
|
||||
//Make sure we pick only the file name, without extension
|
||||
$base_path = './uploads/item_pics/' . pathinfo($pic_filename, PATHINFO_FILENAME);
|
||||
if(sizeof($images) > 0)
|
||||
{
|
||||
$image_path = $images[0];
|
||||
$thumb_path = $base_path . $this->image_lib->thumb_marker . '.' . $ext;
|
||||
|
||||
if(sizeof($images) < 2)
|
||||
{
|
||||
$config['image_library'] = 'gd2';
|
||||
@@ -131,7 +131,6 @@ class Items extends Secure_Controller
|
||||
echo json_encode($suggestions);
|
||||
}
|
||||
|
||||
|
||||
public function suggest_low_sell()
|
||||
{
|
||||
$suggestions = $this->xss_clean($this->Item->get_low_sell_suggestions($this->input->post_get('name')));
|
||||
@@ -139,7 +138,6 @@ class Items extends Secure_Controller
|
||||
echo json_encode($suggestions);
|
||||
}
|
||||
|
||||
|
||||
public function suggest_kits()
|
||||
{
|
||||
$suggestions = $this->xss_clean($this->Item->get_kit_search_suggestions($this->input->post_get('term'),
|
||||
@@ -188,12 +186,12 @@ class Items extends Secure_Controller
|
||||
$data = array();
|
||||
}
|
||||
|
||||
// allow_temp_items is set in the index function of items.php or sales.php
|
||||
//allow_temp_items is set in the index function of items.php or sales.php
|
||||
$data['allow_temp_item'] = $this->session->userdata('allow_temp_items');
|
||||
$data['item_tax_info'] = $this->xss_clean($this->Item_taxes->get_info($item_id));
|
||||
$data['default_tax_1_rate'] = '';
|
||||
$data['default_tax_2_rate'] = '';
|
||||
$data['item_type_disabled'] = !$this->Employee->has_grant('item_kits', $this->Employee->get_logged_in_employee_info()->person_id);
|
||||
$data['item_kit_disabled'] = !$this->Employee->has_grant('item_kits', $this->Employee->get_logged_in_employee_info()->person_id);
|
||||
$data['definition_values'] = $this->Attribute->get_attributes_by_item($item_id);
|
||||
$data['definition_names'] = $this->Attribute->get_definition_names();
|
||||
|
||||
@@ -229,6 +227,17 @@ class Items extends Secure_Controller
|
||||
|
||||
$use_destination_based_tax = (boolean)$this->config->item('use_destination_based_tax');
|
||||
$data['include_hsn'] = $this->config->item('include_hsn') == '1';
|
||||
$data['category_dropdown'] = $this->config->item('category_dropdown');
|
||||
|
||||
if($data['category_dropdown'] == 1)
|
||||
{
|
||||
$categories = array('' => $this->lang->line('items_none'));
|
||||
$category_options = $this->Attribute->get_definition_values(-1);
|
||||
$category_options = array_combine($category_options,$category_options); //Overwrite indexes with values for saving in items table instead of attributes
|
||||
$data['categories'] = array_merge($categories,$category_options);
|
||||
|
||||
$data['selected_category'] = $item_info->category;
|
||||
}
|
||||
|
||||
if($item_id == -1)
|
||||
{
|
||||
@@ -237,26 +246,33 @@ class Items extends Secure_Controller
|
||||
|
||||
$item_info->receiving_quantity = 1;
|
||||
$item_info->reorder_level = 1;
|
||||
$item_info->item_type = ITEM; // standard
|
||||
$item_info->item_type = ITEM; //Standard
|
||||
$item_info->item_id = $item_id;
|
||||
$item_info->stock_type = HAS_STOCK;
|
||||
$item_info->tax_category_id = NULL;
|
||||
$item_info->qty_per_pack = 1;
|
||||
$item_info->pack_name = $this->lang->line('items_default_pack_name');
|
||||
$data['hsn_code'] = '';
|
||||
|
||||
if($use_destination_based_tax)
|
||||
{
|
||||
$item_info->tax_category_id = $this->config->item('default_tax_category');
|
||||
}
|
||||
}
|
||||
|
||||
$data['standard_item_locked'] = ($data['item_kit_disabled'] && $item_info->item_type == ITEM_KIT
|
||||
&& !$data['allow_temp_item']
|
||||
& !($this->config->item('derive_sale_quantity') == '1'));
|
||||
|
||||
$data['item_info'] = $item_info;
|
||||
|
||||
$suppliers = array('' => $this->lang->line('items_none'));
|
||||
|
||||
foreach($this->Supplier->get_all()->result_array() as $row)
|
||||
{
|
||||
$suppliers[$this->xss_clean($row['person_id'])] = $this->xss_clean($row['company_name']);
|
||||
}
|
||||
|
||||
$data['suppliers'] = $suppliers;
|
||||
$data['selected_supplier'] = $item_info->supplier_id;
|
||||
|
||||
@@ -296,18 +312,21 @@ class Items extends Secure_Controller
|
||||
|
||||
$data['logo_exists'] = $item_info->pic_filename != '';
|
||||
$ext = pathinfo($item_info->pic_filename, PATHINFO_EXTENSION);
|
||||
|
||||
if($ext == '')
|
||||
{
|
||||
// if file extension is not found guess it (legacy)
|
||||
//If file extension is not found guess it (legacy)
|
||||
$images = glob('./uploads/item_pics/' . $item_info->pic_filename . '.*');
|
||||
}
|
||||
else
|
||||
{
|
||||
// else just pick that file
|
||||
//Else just pick that file
|
||||
$images = glob('./uploads/item_pics/' . $item_info->pic_filename);
|
||||
}
|
||||
$data['image_path'] = sizeof($images) > 0 ? base_url($images[0]) : '';
|
||||
$stock_locations = $this->Stock_location->get_undeleted_all()->result_array();
|
||||
|
||||
$data['image_path'] = sizeof($images) > 0 ? base_url($images[0]) : '';
|
||||
$stock_locations = $this->Stock_location->get_undeleted_all()->result_array();
|
||||
|
||||
foreach($stock_locations as $location)
|
||||
{
|
||||
$location = $this->xss_clean($location);
|
||||
@@ -389,28 +408,26 @@ class Items extends Secure_Controller
|
||||
|
||||
$data['barcode_config'] = $config;
|
||||
|
||||
// check the list of items to see if any item_number field is empty
|
||||
//Check the list of items to see if any item_number field is empty
|
||||
foreach($result as &$item)
|
||||
{
|
||||
$item = $this->xss_clean($item);
|
||||
|
||||
// update the barcode field if empty / NULL with the newly generated barcode
|
||||
//Update the barcode field if empty / NULL with the newly generated barcode
|
||||
if(empty($item['item_number']) && $this->config->item('barcode_generate_if_empty'))
|
||||
{
|
||||
// get the newly generated barcode
|
||||
// get the newly generated barcode
|
||||
$barcode_instance = Barcode_lib::barcode_instance($item, $config);
|
||||
$item['item_number'] = $barcode_instance->getData();
|
||||
|
||||
$save_item = array('item_number' => $item['item_number']);
|
||||
|
||||
// update the item in the database in order to save the barcode field
|
||||
$this->Item->save($save_item, $item['item_id']);
|
||||
$this->Item->save($save_item, $item['item_id']); // update the item in the database in order to save the barcode field
|
||||
}
|
||||
}
|
||||
$data['items'] = $result;
|
||||
|
||||
// display barcodes
|
||||
$this->load->view('barcodes/barcode_sheet', $data);
|
||||
$this->load->view('barcodes/barcode_sheet', $data); // display barcodes
|
||||
}
|
||||
|
||||
public function attributes($item_id)
|
||||
@@ -475,7 +492,7 @@ class Items extends Secure_Controller
|
||||
$upload_success = $this->_handle_image_upload();
|
||||
$upload_data = $this->upload->data();
|
||||
|
||||
$receiving_quantity = parse_decimals($this->input->post('receiving_quantity'));
|
||||
$receiving_quantity = parse_quantity($this->input->post('receiving_quantity'));
|
||||
$item_type = $this->input->post('item_type') == NULL ? ITEM : $this->input->post('item_type');
|
||||
|
||||
if($receiving_quantity == '0' && $item_type!= ITEM_TEMP)
|
||||
@@ -484,7 +501,7 @@ class Items extends Secure_Controller
|
||||
}
|
||||
$default_pack_name = $this->lang->line('items_default_pack_name');
|
||||
|
||||
//Save item data
|
||||
//Save item data
|
||||
$item_data = array(
|
||||
'name' => $this->input->post('name'),
|
||||
'description' => $this->input->post('description'),
|
||||
@@ -495,7 +512,7 @@ class Items extends Secure_Controller
|
||||
'item_number' => $this->input->post('item_number') == '' ? NULL : $this->input->post('item_number'),
|
||||
'cost_price' => parse_decimals($this->input->post('cost_price')),
|
||||
'unit_price' => parse_decimals($this->input->post('unit_price')),
|
||||
'reorder_level' => parse_decimals($this->input->post('reorder_level')),
|
||||
'reorder_level' => parse_quantity($this->input->post('reorder_level')),
|
||||
'receiving_quantity' => $receiving_quantity,
|
||||
'allow_alt_description' => $this->input->post('allow_alt_description') != NULL,
|
||||
'is_serialized' => $this->input->post('is_serialized') != NULL,
|
||||
@@ -514,6 +531,7 @@ class Items extends Secure_Controller
|
||||
}
|
||||
|
||||
$x = $this->input->post('tax_category_id');
|
||||
|
||||
if(!isset($x))
|
||||
{
|
||||
$item_data['tax_category_id'] = '';
|
||||
@@ -525,7 +543,7 @@ class Items extends Secure_Controller
|
||||
|
||||
if(!empty($upload_data['orig_name']))
|
||||
{
|
||||
// XSS file image sanity check
|
||||
// XSS file image sanity check
|
||||
if($this->xss_clean($upload_data['raw_name'], TRUE) === TRUE)
|
||||
{
|
||||
$item_data['pic_filename'] = $upload_data['raw_name'];
|
||||
@@ -538,7 +556,8 @@ class Items extends Secure_Controller
|
||||
{
|
||||
$success = TRUE;
|
||||
$new_item = FALSE;
|
||||
//New item
|
||||
|
||||
//New item
|
||||
if($item_id == -1)
|
||||
{
|
||||
$item_id = $item_data['item_id'];
|
||||
@@ -555,7 +574,7 @@ class Items extends Secure_Controller
|
||||
$count = count($tax_percents);
|
||||
for ($k = 0; $k < $count; ++$k)
|
||||
{
|
||||
$tax_percentage = parse_decimals($tax_percents[$k]);
|
||||
$tax_percentage = parse_tax($tax_percents[$k]);
|
||||
if(is_numeric($tax_percentage))
|
||||
{
|
||||
$items_taxes_data[] = array('name' => $tax_names[$k], 'percent' => $tax_percentage);
|
||||
@@ -564,11 +583,11 @@ class Items extends Secure_Controller
|
||||
$success &= $this->Item_taxes->save($items_taxes_data, $item_id);
|
||||
}
|
||||
|
||||
//Save item quantity
|
||||
//Save item quantity
|
||||
$stock_locations = $this->Stock_location->get_undeleted_all()->result_array();
|
||||
foreach($stock_locations as $location)
|
||||
{
|
||||
$updated_quantity = parse_decimals($this->input->post('quantity_' . $location['location_id']));
|
||||
$updated_quantity = parse_quantity($this->input->post('quantity_' . $location['location_id']));
|
||||
if($item_data['item_type'] == ITEM_TEMP)
|
||||
{
|
||||
$updated_quantity = 0;
|
||||
@@ -577,8 +596,8 @@ class Items extends Secure_Controller
|
||||
'location_id' => $location['location_id'],
|
||||
'quantity' => $updated_quantity);
|
||||
|
||||
|
||||
$item_quantity = $this->Item_quantity->get_item_quantity($item_id, $location['location_id']);
|
||||
|
||||
if($item_quantity->quantity != $updated_quantity || $new_item)
|
||||
{
|
||||
$success &= $this->Item_quantity->save($location_detail, $item_id, $location['location_id']);
|
||||
@@ -596,10 +615,11 @@ class Items extends Secure_Controller
|
||||
}
|
||||
}
|
||||
|
||||
// Save item attributes
|
||||
// Save item attributes
|
||||
$attribute_links = $this->input->post('attribute_links') != NULL ? $this->input->post('attribute_links') : array();
|
||||
$attribute_ids = $this->input->post('attribute_ids');
|
||||
$this->Attribute->delete_link($item_id);
|
||||
|
||||
foreach($attribute_links as $definition_id => $attribute_id)
|
||||
{
|
||||
$definition_type = $this->Attribute->get_info($definition_id)->definition_type;
|
||||
@@ -623,7 +643,7 @@ class Items extends Secure_Controller
|
||||
echo json_encode(array('success' => FALSE, 'message' => $message, 'id' => $item_id));
|
||||
}
|
||||
}
|
||||
else // failure
|
||||
else //Failure
|
||||
{
|
||||
$message = $this->xss_clean($this->lang->line('items_error_adding_updating') . ' ' . $item_data['name']);
|
||||
|
||||
@@ -653,17 +673,17 @@ class Items extends Secure_Controller
|
||||
echo !$exists ? 'true' : 'false';
|
||||
}
|
||||
|
||||
/*
|
||||
* Let files be uploaded with their original name
|
||||
*/
|
||||
private function _handle_image_upload()
|
||||
{
|
||||
/* Let files be uploaded with their original name */
|
||||
|
||||
// load upload library
|
||||
//Load upload library
|
||||
$config = array('upload_path' => './uploads/item_pics/',
|
||||
'allowed_types' => 'gif|jpg|png',
|
||||
'max_size' => '100',
|
||||
'max_width' => '640',
|
||||
'max_height' => '480'
|
||||
);
|
||||
'allowed_types' => $this->config->item('image_allowed_types'),
|
||||
'max_size' => $this->config->item('image_max_size'),
|
||||
'max_width' => $this->config->item('image_max_width'),
|
||||
'max_height' => $this->config->item('image_max_height'));
|
||||
$this->load->library('upload', $config);
|
||||
$this->upload->do_upload('item_image');
|
||||
|
||||
@@ -689,17 +709,17 @@ class Items extends Secure_Controller
|
||||
'trans_user' => $employee_id,
|
||||
'trans_location' => $location_id,
|
||||
'trans_comment' => $this->input->post('trans_comment'),
|
||||
'trans_inventory' => parse_decimals($this->input->post('newquantity'))
|
||||
'trans_inventory' => parse_quantity($this->input->post('newquantity'))
|
||||
);
|
||||
|
||||
$this->Inventory->insert($inv_data);
|
||||
|
||||
//Update stock quantity
|
||||
//Update stock quantity
|
||||
$item_quantity = $this->Item_quantity->get_item_quantity($item_id, $location_id);
|
||||
$item_quantity_data = array(
|
||||
'item_id' => $item_id,
|
||||
'location_id' => $location_id,
|
||||
'quantity' => $item_quantity->quantity + parse_decimals($this->input->post('newquantity'))
|
||||
'quantity' => $item_quantity->quantity + parse_quantity($this->input->post('newquantity'))
|
||||
);
|
||||
|
||||
if($this->Item_quantity->save($item_quantity_data, $item_id, $location_id))
|
||||
@@ -708,7 +728,7 @@ class Items extends Secure_Controller
|
||||
|
||||
echo json_encode(array('success' => TRUE, 'message' => $message, 'id' => $item_id));
|
||||
}
|
||||
else//failure
|
||||
else //failure
|
||||
{
|
||||
$message = $this->xss_clean($this->lang->line('items_error_adding_updating') . ' ' . $cur_item_info->name);
|
||||
|
||||
@@ -723,7 +743,7 @@ class Items extends Secure_Controller
|
||||
|
||||
foreach($_POST as $key => $value)
|
||||
{
|
||||
//This field is nullable, so treat it differently
|
||||
//This field is nullable, so treat it differently
|
||||
if($key == 'supplier_id' && $value != '')
|
||||
{
|
||||
$item_data["$key"] = $value;
|
||||
@@ -781,9 +801,9 @@ class Items extends Secure_Controller
|
||||
}
|
||||
|
||||
/*
|
||||
Items import from excel spreadsheet
|
||||
Items import from csv spreadsheet
|
||||
*/
|
||||
public function excel()
|
||||
public function csv()
|
||||
{
|
||||
$name = 'import_items.csv';
|
||||
$allowed_locations = $this->Stock_location->get_allowed_locations();
|
||||
@@ -792,19 +812,19 @@ class Items extends Secure_Controller
|
||||
force_download($name, $data, TRUE);
|
||||
}
|
||||
|
||||
public function excel_import()
|
||||
public function csv_import()
|
||||
{
|
||||
$this->load->view('items/form_excel_import', NULL);
|
||||
$this->load->view('items/form_csv_import', NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* Imports items from CSV formatted file.
|
||||
*/
|
||||
public function do_excel_import()
|
||||
public function do_csv_import()
|
||||
{
|
||||
if($_FILES['file_path']['error'] != UPLOAD_ERR_OK)
|
||||
{
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('items_excel_import_failed')));
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('items_csv_import_failed')));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -818,51 +838,47 @@ class Items extends Secure_Controller
|
||||
for($i = 1; $i < count($line_array); $i++)
|
||||
{
|
||||
$invalidated = FALSE;
|
||||
$line = array_combine($keys,$this->xss_clean($line_array[$i])); //Build a XSS-cleaned associative array with the row to use to assign values
|
||||
|
||||
if(!empty($line))
|
||||
$line = array_combine($keys,$this->xss_clean($line_array[$i])); //Build a XSS-cleaned associative array with the row to use to assign values
|
||||
|
||||
$item_data = array(
|
||||
'name' => $line['Item Name'],
|
||||
'description' => $line['Description'],
|
||||
'category' => $line['Category'],
|
||||
'cost_price' => $line['Cost Price'],
|
||||
'unit_price' => $line['Unit Price'],
|
||||
'reorder_level' => $line['Reorder Level'],
|
||||
'supplier_id' => $this->Supplier->exists($line['Supplier ID']) ? $line['Supplier ID'] : NULL,
|
||||
'allow_alt_description' => empty($line['Allow Alt Description'])? '0' : '1',
|
||||
'is_serialized' => empty($line['Item has Serial Number'])? '0' : '1',
|
||||
'hsn_code' => $line['HSN'],
|
||||
'pic_filename' => $line['item_image']
|
||||
);
|
||||
|
||||
$item_number = $line['Barcode'];
|
||||
|
||||
if(!empty($item_number))
|
||||
{
|
||||
$item_data = array(
|
||||
'name' => $line['Item Name'],
|
||||
'description' => $line['Description'],
|
||||
'category' => $line['Category'],
|
||||
'cost_price' => $line['Cost Price'],
|
||||
'unit_price' => $line['Unit Price'],
|
||||
'reorder_level' => $line['Reorder Level'],
|
||||
'supplier_id' => $this->Supplier->exists($line['Supplier ID']) ? $line['Supplier ID'] : NULL,
|
||||
'allow_alt_description' => $line['Allow Alt Description'] != '' ? '1' : '0',
|
||||
'is_serialized' => $line['Item has Serial Number'] != '' ? '1' : '0',
|
||||
'hsn_code' => $line['HSN'],
|
||||
'pic_filename' => $line['item_image']
|
||||
);
|
||||
|
||||
$item_number = $line['Barcode'];
|
||||
|
||||
if($item_number != '')
|
||||
{
|
||||
$item_data['item_number'] = $item_number;
|
||||
$invalidated = $this->Item->item_number_exists($item_number);
|
||||
}
|
||||
|
||||
//Sanity check of data
|
||||
if(!$invalidated)
|
||||
{
|
||||
$invalidated = $this->data_error_check($line, $item_data);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$invalidated = TRUE;
|
||||
$item_data['item_number'] = $item_number;
|
||||
$invalidated = $this->Item->item_number_exists($item_number);
|
||||
}
|
||||
|
||||
//Save to database
|
||||
//Sanity check of data
|
||||
if(!$invalidated)
|
||||
{
|
||||
$invalidated = $this->data_error_check($line, $item_data);
|
||||
}
|
||||
|
||||
//Save to database
|
||||
if(!$invalidated && $this->Item->save($item_data))
|
||||
{
|
||||
$this->save_tax_data($line, $item_data);
|
||||
$this->save_inventory_quantities($line, $item_data);
|
||||
$this->save_attribute_data($line, $item_data);
|
||||
}
|
||||
else //insert or update item failure
|
||||
|
||||
//Insert or update item failure
|
||||
else
|
||||
{
|
||||
$failed_row = $i+1;
|
||||
$failCodes[] = $failed_row;
|
||||
@@ -872,25 +888,25 @@ class Items extends Secure_Controller
|
||||
|
||||
if(count($failCodes) > 0)
|
||||
{
|
||||
$message = $this->lang->line('items_excel_import_partially_failed', count($failCodes), implode(', ', $failCodes));
|
||||
$message = $this->lang->line('items_csv_import_partially_failed', count($failCodes), implode(', ', $failCodes));
|
||||
$this->db->trans_rollback();
|
||||
echo json_encode(array('success' => FALSE, 'message' => $message));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db->trans_commit();
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('items_excel_import_success')));
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('items_csv_import_success')));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('items_excel_import_nodata_wrongformat')));
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('items_csv_import_nodata_wrongformat')));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the entire line of data for errors
|
||||
* Checks the entire line of data in an import file for errors
|
||||
*
|
||||
* @param array $line
|
||||
* @param array $item_data
|
||||
@@ -899,21 +915,25 @@ class Items extends Secure_Controller
|
||||
*/
|
||||
private function data_error_check($line, $item_data)
|
||||
{
|
||||
//Check for empty required fields
|
||||
//Check for empty required fields
|
||||
$check_for_empty = array(
|
||||
$item_data['name'],
|
||||
$item_data['category'],
|
||||
$item_data['cost_price'],
|
||||
$item_data['unit_price']
|
||||
);
|
||||
|
||||
if(in_array('',$check_for_empty,true))
|
||||
foreach($check_for_empty as $key => $val)
|
||||
{
|
||||
log_message("ERROR","Empty required value");
|
||||
return TRUE; //Return fail on empty required fields
|
||||
if (empty($val))
|
||||
{
|
||||
log_message("ERROR","Empty required value");
|
||||
return TRUE; //Return fail on empty required fields
|
||||
}
|
||||
}
|
||||
|
||||
//Build array of fields to check for numerics
|
||||
$item_data['cost_price'] = empty($item_data['cost_price']) ? 0 : 1; //Allow for zero wholesale price
|
||||
|
||||
//Build array of fields to check for numerics
|
||||
$check_for_numeric_values = array(
|
||||
$item_data['cost_price'],
|
||||
$item_data['unit_price'],
|
||||
@@ -923,7 +943,7 @@ class Items extends Secure_Controller
|
||||
$line['Tax 2 Percent']
|
||||
);
|
||||
|
||||
//Add in Stock Location values to check for numeric
|
||||
//Add in Stock Location values to check for numeric
|
||||
$allowed_locations = $this->Stock_location->get_allowed_locations();
|
||||
|
||||
foreach($allowed_locations as $location_id => $location_name)
|
||||
@@ -931,7 +951,7 @@ class Items extends Secure_Controller
|
||||
$check_for_numeric_values[] = $line['location_'. $location_name];
|
||||
}
|
||||
|
||||
//Check for non-numeric values which require numeric
|
||||
//Check for non-numeric values which require numeric
|
||||
foreach($check_for_numeric_values as $value)
|
||||
{
|
||||
if(!is_numeric($value) && $value != '')
|
||||
@@ -941,8 +961,9 @@ class Items extends Secure_Controller
|
||||
}
|
||||
}
|
||||
|
||||
//Check Attribute Data
|
||||
//Check Attribute Data
|
||||
$definition_names = $this->Attribute->get_definition_names();
|
||||
unset($definition_names[-1]);
|
||||
|
||||
foreach($definition_names as $definition_name)
|
||||
{
|
||||
@@ -957,7 +978,7 @@ class Items extends Secure_Controller
|
||||
$dropdown_values = $this->Attribute->get_definition_values($attribute_data['definition_id']);
|
||||
$dropdown_values[] = '';
|
||||
|
||||
if(in_array($attribute_value, $dropdown_values) === FALSE)
|
||||
if(in_array($attribute_value, $dropdown_values) === FALSE && !empty($attribute_value))
|
||||
{
|
||||
log_message("ERROR","Value: '$attribute_value' is not an acceptable DROPDOWN value");
|
||||
return TRUE;
|
||||
@@ -965,17 +986,17 @@ class Items extends Secure_Controller
|
||||
}
|
||||
else if($attribute_type == 'DECIMAL')
|
||||
{
|
||||
if(!is_numeric($attribute_value) && $attribute_value != '')
|
||||
if(!is_numeric($attribute_value) && !empty($attribute_value))
|
||||
{
|
||||
log_message("ERROR","Decimal required: '$attribute_value' is not an acceptable DECIMAL value");
|
||||
log_message("ERROR","'$attribute_value' is not an acceptable DECIMAL value");
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
else if($attribute_type == 'DATETIME')
|
||||
{
|
||||
if(strtotime($attribute_value) === FALSE)
|
||||
if(strtotime($attribute_value) === FALSE && !empty($attribute_value))
|
||||
{
|
||||
log_message("ERROR","Datetime required: '$attribute_value' is not an acceptable DATETIME value");
|
||||
log_message("ERROR","'$attribute_value' is not an acceptable DATETIME value.");
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@@ -986,6 +1007,8 @@ class Items extends Secure_Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves attribute data found in the CSV import.
|
||||
*
|
||||
* @param line
|
||||
* @param failCodes
|
||||
* @param attribute_data
|
||||
@@ -993,14 +1016,36 @@ class Items extends Secure_Controller
|
||||
private function save_attribute_data($line, $item_data)
|
||||
{
|
||||
$definition_names = $this->Attribute->get_definition_names();
|
||||
unset($definition_names[-1]);
|
||||
|
||||
foreach($definition_names as $definition_name)
|
||||
{
|
||||
if(!empty($line['attribute_' . $definition_name]))
|
||||
//Create attribute value
|
||||
if(!empty($line['attribute_' . $definition_name]) || $line['attribute_' . $definition_name] == '0')
|
||||
{
|
||||
//Create attribute value
|
||||
$attribute_data = $this->Attribute->get_definition_by_name($definition_name)[0];
|
||||
$status = $this->Attribute->save_value($line['attribute_' . $definition_name], $attribute_data['definition_id'], $item_data['item_id'], FALSE, $attribute_data['definition_type']);
|
||||
|
||||
//CHECKBOX Attribute types (zero value creates attribute and marks it as unchecked)
|
||||
if($attribute_data['definition_type'] == 'CHECKBOX')
|
||||
{
|
||||
//FALSE and '0' value creates checkbox and marks it as unchecked.
|
||||
if(strcasecmp($line['attribute_' . $definition_name],'FALSE') == 0 || $line['attribute_' . $definition_name] == '0')
|
||||
{
|
||||
$line['attribute_' . $definition_name] = '0';
|
||||
}
|
||||
else
|
||||
{
|
||||
$line['attribute_' . $definition_name] = '1';
|
||||
}
|
||||
|
||||
$status = $this->Attribute->save_value($line['attribute_' . $definition_name], $attribute_data['definition_id'], $item_data['item_id'], FALSE, $attribute_data['definition_type']);
|
||||
}
|
||||
|
||||
//All other Attribute types (0 value means attribute not created)
|
||||
elseif(!empty($line['attribute_' . $definition_name]))
|
||||
{
|
||||
$status = $this->Attribute->save_value($line['attribute_' . $definition_name], $attribute_data['definition_id'], $item_data['item_id'], FALSE, $attribute_data['definition_type']);
|
||||
}
|
||||
|
||||
if($status === FALSE)
|
||||
{
|
||||
@@ -1018,7 +1063,7 @@ class Items extends Secure_Controller
|
||||
*/
|
||||
private function save_inventory_quantities($line, $item_data)
|
||||
{
|
||||
//Quantities & Inventory Section
|
||||
//Quantities & Inventory Section
|
||||
$employee_id = $this->Employee->get_logged_in_employee_info()->person_id;
|
||||
$emp_info = $this->Employee->get_info($employee_id);
|
||||
$comment = $this->lang->line('items_inventory_CSV_import_quantity');
|
||||
@@ -1031,7 +1076,7 @@ class Items extends Secure_Controller
|
||||
'location_id' => $location_id
|
||||
);
|
||||
|
||||
$excel_data = array(
|
||||
$csv_data = array(
|
||||
'trans_items' => $item_data['item_id'],
|
||||
'trans_user' => $employee_id,
|
||||
'trans_comment' => $comment,
|
||||
@@ -1043,16 +1088,16 @@ class Items extends Secure_Controller
|
||||
$item_quantity_data['quantity'] = $line['location_' . $location_name];
|
||||
$this->Item_quantity->save($item_quantity_data, $item_data['item_id'], $location_id);
|
||||
|
||||
$excel_data['trans_inventory'] = $line['location_' . $location_name];
|
||||
$this->Inventory->insert($excel_data);
|
||||
$csv_data['trans_inventory'] = $line['location_' . $location_name];
|
||||
$this->Inventory->insert($csv_data);
|
||||
}
|
||||
else
|
||||
{
|
||||
$item_quantity_data['quantity'] = 0;
|
||||
$this->Item_quantity->save($item_quantity_data, $item_data['item_id'], $line[$col]);
|
||||
|
||||
$excel_data['trans_inventory'] = 0;
|
||||
$this->Inventory->insert($excel_data);
|
||||
$csv_data['trans_inventory'] = 0;
|
||||
$this->Inventory->insert($csv_data);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1082,7 +1127,6 @@ class Items extends Secure_Controller
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Guess whether file extension is not in the table field, if it isn't, then it's an old-format (formerly pic_id) field, so we guess the right filename and update the table
|
||||
*
|
||||
@@ -1092,7 +1136,7 @@ class Items extends Secure_Controller
|
||||
{
|
||||
$filename = pathinfo($item->pic_filename, PATHINFO_FILENAME);
|
||||
|
||||
// if the field is empty there's nothing to check
|
||||
// if the field is empty there's nothing to check
|
||||
if(!empty($filename))
|
||||
{
|
||||
$ext = pathinfo($item->pic_filename, PATHINFO_EXTENSION);
|
||||
@@ -1109,4 +1153,4 @@ class Items extends Secure_Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
@@ -45,7 +45,7 @@ class Login extends CI_Controller
|
||||
|
||||
if (!$this->migration->is_latest())
|
||||
{
|
||||
set_time_limit(1200);
|
||||
set_time_limit(3600);
|
||||
// trigger any required upgrade before starting the application
|
||||
$this->migration->latest();
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ class Receivings extends Secure_Controller
|
||||
parent::__construct('receivings');
|
||||
|
||||
$this->load->library('receiving_lib');
|
||||
$this->load->library('token_lib');
|
||||
$this->load->library('barcode_lib');
|
||||
}
|
||||
|
||||
@@ -90,7 +91,7 @@ class Receivings extends Secure_Controller
|
||||
|
||||
$mode = $this->receiving_lib->get_mode();
|
||||
$item_id_or_number_or_item_kit_or_receipt = $this->input->post('item');
|
||||
$this->barcode_lib->parse_barcode_fields($quantity, $item_id_or_number_or_item_kit_or_receipt);
|
||||
$this->token_lib->parse_barcode($quantity, $price, $item_id_or_number_or_item_kit_or_receipt);
|
||||
$quantity = ($mode == 'receive' || $mode == 'requisition') ? $quantity : -$quantity;
|
||||
$item_location = $this->receiving_lib->get_stock_source();
|
||||
$discount = $this->config->item('default_receivings_discount');
|
||||
@@ -123,9 +124,9 @@ class Receivings extends Secure_Controller
|
||||
$description = $this->input->post('description');
|
||||
$serialnumber = $this->input->post('serialnumber');
|
||||
$price = parse_decimals($this->input->post('price'));
|
||||
$quantity = parse_decimals($this->input->post('quantity'));
|
||||
$quantity = parse_quantity($this->input->post('quantity'));
|
||||
$discount = parse_decimals($this->input->post('discount'));
|
||||
$discount_type = parse_decimals($this->input->post('discount_type'));
|
||||
$discount_type = $this->input->post('discount_type');
|
||||
$item_location = $this->input->post('location');
|
||||
$receiving_quantity = $this->input->post('receiving_quantity');
|
||||
|
||||
@@ -377,15 +378,17 @@ class Receivings extends Secure_Controller
|
||||
$newdate = $this->input->post('date');
|
||||
|
||||
$date_formatter = date_create_from_format($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'), $newdate);
|
||||
$receiving_time = $date_formatter->format('Y-m-d H:i:s');
|
||||
|
||||
$receiving_data = array(
|
||||
'receiving_time' => $date_formatter->format('Y-m-d H:i:s'),
|
||||
'receiving_time' => $receiving_time,
|
||||
'supplier_id' => $this->input->post('supplier_id') ? $this->input->post('supplier_id') : NULL,
|
||||
'employee_id' => $this->input->post('employee_id'),
|
||||
'comment' => $this->input->post('comment'),
|
||||
'reference' => $this->input->post('reference') != '' ? $this->input->post('reference') : NULL
|
||||
);
|
||||
|
||||
|
||||
$this->Inventory->update('RECV '.$receiving_id, ['trans_date' => $receiving_time]);
|
||||
if($this->Receiving->update($receiving_data, $receiving_id))
|
||||
{
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('receivings_successfully_updated'), 'id' => $receiving_id));
|
||||
|
||||
@@ -51,6 +51,7 @@ class Reports extends Secure_Controller
|
||||
{
|
||||
$tabular_data[] = $this->xss_clean(array(
|
||||
'sale_date' => to_date(strtotime($row['sale_date'])),
|
||||
'sales' => to_quantity_decimals($row['sales']),
|
||||
'quantity' => to_quantity_decimals($row['quantity_purchased']),
|
||||
'subtotal' => to_currency($row['subtotal']),
|
||||
'tax' => to_currency_tax($row['tax']),
|
||||
@@ -156,6 +157,7 @@ class Reports extends Secure_Controller
|
||||
{
|
||||
$tabular_data[] = $this->xss_clean(array(
|
||||
'customer_name' => $row['customer'],
|
||||
'sales' => to_quantity_decimals($row['sales']),
|
||||
'quantity' => to_quantity_decimals($row['quantity_purchased']),
|
||||
'subtotal' => to_currency($row['subtotal']),
|
||||
'tax' => to_currency_tax($row['tax']),
|
||||
@@ -228,6 +230,7 @@ class Reports extends Secure_Controller
|
||||
{
|
||||
$tabular_data[] = $this->xss_clean(array(
|
||||
'item_name' => $row['name'],
|
||||
'unit_price' => $row['unit_price'],
|
||||
'quantity' => to_quantity_decimals($row['quantity_purchased']),
|
||||
'subtotal' => to_currency($row['subtotal']),
|
||||
'tax' => to_currency_tax($row['tax']),
|
||||
@@ -264,6 +267,7 @@ class Reports extends Secure_Controller
|
||||
{
|
||||
$tabular_data[] = $this->xss_clean(array(
|
||||
'employee_name' => $row['employee'],
|
||||
'sales' => to_quantity_decimals($row['sales']),
|
||||
'quantity' => to_quantity_decimals($row['quantity_purchased']),
|
||||
'subtotal' => to_currency($row['subtotal']),
|
||||
'tax' => to_currency_tax($row['tax']),
|
||||
@@ -418,7 +422,7 @@ class Reports extends Secure_Controller
|
||||
$tabular_data[] = array(
|
||||
'trans_group' => '--',
|
||||
'trans_type' => '--',
|
||||
'trans_count' => '--',
|
||||
'trans_sales' => '--',
|
||||
'trans_amount' => '--',
|
||||
'trans_payments' => '--',
|
||||
'trans_refunded' => '--',
|
||||
@@ -435,7 +439,7 @@ class Reports extends Secure_Controller
|
||||
$tabular_data[] = $this->xss_clean(array(
|
||||
'trans_group' => $row['trans_group'],
|
||||
'trans_type' => $row['trans_type'],
|
||||
'trans_count' => $row['trans_count'],
|
||||
'trans_sales' => $row['trans_sales'],
|
||||
'trans_amount' => to_currency($row['trans_amount']),
|
||||
'trans_payments' => to_currency($row['trans_payments']),
|
||||
'trans_refunded' => to_currency($row['trans_refunded']),
|
||||
@@ -850,9 +854,9 @@ class Reports extends Secure_Controller
|
||||
}
|
||||
|
||||
//Graphical summary payments report
|
||||
public function graphical_summary_payments($start_date, $end_date, $sale_type)
|
||||
public function graphical_summary_payments($start_date, $end_date, $sale_type, $location_id = 'all')
|
||||
{
|
||||
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type);
|
||||
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id);
|
||||
|
||||
$this->load->model('reports/Summary_payments');
|
||||
$model = $this->Summary_payments;
|
||||
@@ -866,8 +870,11 @@ class Reports extends Secure_Controller
|
||||
{
|
||||
$row = $this->xss_clean($row);
|
||||
|
||||
$labels[] = $row['payment_type'];
|
||||
$series[] = array('meta' => $row['payment_type'] . ' ' . round($row['payment_amount'] / $summary['total'] * 100, 2) . '%', 'value' => $row['payment_amount']);
|
||||
if($row['trans_group'] == $this->lang->line('reports_trans_payments') && !empty($row['trans_amount']))
|
||||
{
|
||||
$labels[] = $row['trans_type'];
|
||||
$series[] = array('meta' => $row['trans_type'] . ' ' . round($row['trans_amount'] / $summary['total'] * 100, 2) . '%', 'value' => $row['trans_amount']);
|
||||
}
|
||||
}
|
||||
|
||||
$data = array(
|
||||
@@ -969,7 +976,7 @@ class Reports extends Secure_Controller
|
||||
$details_data[$row['sale_id']][] = $this->xss_clean(array(
|
||||
$drow['name'],
|
||||
$drow['category'],
|
||||
$drow['serialnumber'],
|
||||
$drow['item_number'],
|
||||
$drow['description'],
|
||||
to_quantity_decimals($drow['quantity_purchased']),
|
||||
to_currency($drow['subtotal']),
|
||||
@@ -977,7 +984,8 @@ class Reports extends Secure_Controller
|
||||
to_currency($drow['total']),
|
||||
to_currency($drow['cost']),
|
||||
to_currency($drow['profit']),
|
||||
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])));
|
||||
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])
|
||||
));
|
||||
}
|
||||
|
||||
if(isset($report_data['rewards'][$key]))
|
||||
@@ -1080,7 +1088,7 @@ class Reports extends Secure_Controller
|
||||
$details_data[$row['sale_id']][] = $this->xss_clean(array(
|
||||
$drow['name'],
|
||||
$drow['category'],
|
||||
$drow['serialnumber'],
|
||||
$drow['item_number'],
|
||||
$drow['description'],
|
||||
to_quantity_decimals($drow['quantity_purchased']),
|
||||
to_currency($drow['subtotal']),
|
||||
@@ -1088,7 +1096,8 @@ class Reports extends Secure_Controller
|
||||
to_currency($drow['total']),
|
||||
to_currency($drow['cost']),
|
||||
to_currency($drow['profit']),
|
||||
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])));
|
||||
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])
|
||||
));
|
||||
}
|
||||
|
||||
if(isset($report_data['rewards'][$key]))
|
||||
@@ -1188,7 +1197,7 @@ class Reports extends Secure_Controller
|
||||
$details_data[$row['sale_id']][] = $this->xss_clean(array(
|
||||
$drow['name'],
|
||||
$drow['category'],
|
||||
$drow['serialnumber'],
|
||||
$drow['item_number'],
|
||||
$drow['description'],
|
||||
to_quantity_decimals($drow['quantity_purchased']),
|
||||
to_currency($drow['subtotal']),
|
||||
@@ -1196,7 +1205,8 @@ class Reports extends Secure_Controller
|
||||
to_currency($drow['total']),
|
||||
to_currency($drow['cost']),
|
||||
to_currency($drow['profit']),
|
||||
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])));
|
||||
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])
|
||||
));
|
||||
}
|
||||
|
||||
if(isset($report_data['rewards'][$key]))
|
||||
@@ -1263,6 +1273,65 @@ class Reports extends Secure_Controller
|
||||
echo json_encode(array($sale_id => $summary_data));
|
||||
}
|
||||
|
||||
public function specific_supplier_input()
|
||||
{
|
||||
$data = array();
|
||||
$data['specific_input_name'] = $this->lang->line('reports_supplier');
|
||||
|
||||
$supplier = array();
|
||||
foreach($this->Supplier->get_all()->result() as $supplier)
|
||||
{
|
||||
$suppliers[$supplier->person_id] = $this->xss_clean($supplier->company_name . ' (' . $supplier->first_name . ' ' . $supplier->last_name . ')');
|
||||
}
|
||||
$data['specific_input_data'] = $suppliers;
|
||||
$data['sale_type_options'] = $this->get_sale_type_options();
|
||||
|
||||
$this->load->view('reports/specific_input', $data);
|
||||
}
|
||||
|
||||
public function specific_supplier($start_date, $end_date, $supplier_id, $sale_type)
|
||||
{
|
||||
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'supplier_id' => $supplier_id, 'sale_type' => $sale_type);
|
||||
|
||||
$this->load->model('reports/Specific_supplier');
|
||||
$model = $this->Specific_supplier;
|
||||
|
||||
$model->create($inputs);
|
||||
|
||||
$report_data = $model->getData($inputs);
|
||||
|
||||
$tabular_data = array();
|
||||
foreach($report_data as $row)
|
||||
{
|
||||
$tabular_data[] = $this->xss_clean(array(
|
||||
'id' => $row['sale_id'],
|
||||
'type_code' => $row['type_code'],
|
||||
'sale_date' => to_date(strtotime($row['sale_date'])),
|
||||
'name' => $row['name'],
|
||||
'category' => $row['category'],
|
||||
'item_number' => $row['item_number'],
|
||||
'quantity' => to_quantity_decimals($row['items_purchased']),
|
||||
'subtotal' => to_currency($row['subtotal']),
|
||||
'tax' => to_currency_tax($row['tax']),
|
||||
'total' => to_currency($row['total']),
|
||||
'cost' => to_currency($row['cost']),
|
||||
'profit' => to_currency($row['profit']),
|
||||
'discount' => ($row['discount_type'] == PERCENT)? $row['discount'].'%':to_currency($row['discount'])
|
||||
));
|
||||
}
|
||||
|
||||
$supplier_info = $this->Supplier->get_info($supplier_id);
|
||||
$data = array(
|
||||
'title' => $this->xss_clean($supplier_info->company_name . ' (' . $supplier_info->first_name . ' ' . $supplier_info->last_name . ') ' . $this->lang->line('reports_report')),
|
||||
'subtitle' => $this->_get_subtitle_report(array('start_date' => $start_date, 'end_date' => $end_date)),
|
||||
'headers' => $this->xss_clean($model->getDataColumns()),
|
||||
'data' => $tabular_data,
|
||||
'summary_data' => $this->xss_clean($model->getSummaryData($inputs))
|
||||
);
|
||||
|
||||
$this->load->view('reports/tabular', $data);
|
||||
}
|
||||
|
||||
public function get_sale_type_options()
|
||||
{
|
||||
$sale_type_options = array();
|
||||
@@ -1349,7 +1418,7 @@ class Reports extends Secure_Controller
|
||||
$details_data[$row['sale_id']][] = $this->xss_clean(array_merge(array(
|
||||
$drow['name'],
|
||||
$drow['category'],
|
||||
$drow['serialnumber'],
|
||||
$drow['item_number'],
|
||||
$drow['description'],
|
||||
$quantity_purchased,
|
||||
to_currency($drow['subtotal']),
|
||||
@@ -1358,7 +1427,6 @@ class Reports extends Secure_Controller
|
||||
to_currency($drow['cost']),
|
||||
to_currency($drow['profit']),
|
||||
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])), $attribute_values));
|
||||
|
||||
}
|
||||
|
||||
if(isset($report_data['rewards'][$key]))
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?php if(!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
require_once("Secure_Controller.php");
|
||||
|
||||
@@ -12,10 +12,11 @@ class Sales extends Secure_Controller
|
||||
{
|
||||
parent::__construct('sales');
|
||||
|
||||
$this->load->helper('file');
|
||||
$this->load->library('sale_lib');
|
||||
$this->load->library('barcode_lib');
|
||||
$this->load->library('email_lib');
|
||||
$this->load->library('token_lib');
|
||||
$this->load->library('barcode_lib');
|
||||
}
|
||||
|
||||
public function index()
|
||||
@@ -36,20 +37,11 @@ class Sales extends Secure_Controller
|
||||
{
|
||||
$data['table_headers'] = get_sales_manage_table_headers();
|
||||
|
||||
// filters that will be loaded in the multiselect dropdown
|
||||
if($this->config->item('invoice_enable') == TRUE)
|
||||
{
|
||||
$data['filters'] = array('only_cash' => $this->lang->line('sales_cash_filter'),
|
||||
'only_due' => $this->lang->line('sales_due_filter'),
|
||||
'only_check' => $this->lang->line('sales_check_filter'),
|
||||
'only_invoices' => $this->lang->line('sales_invoice_filter'));
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['filters'] = array('only_cash' => $this->lang->line('sales_cash_filter'),
|
||||
'only_due' => $this->lang->line('sales_due_filter'),
|
||||
'only_check' => $this->lang->line('sales_check_filter'));
|
||||
}
|
||||
$data['filters'] = array('only_cash' => $this->lang->line('sales_cash_filter'),
|
||||
'only_due' => $this->lang->line('sales_due_filter'),
|
||||
'only_check' => $this->lang->line('sales_check_filter'),
|
||||
'only_creditcard' => $this->lang->line('sales_credit_filter'),
|
||||
'only_invoices' => $this->lang->line('sales_invoice_filter'));
|
||||
|
||||
$this->load->view('sales/manage', $data);
|
||||
}
|
||||
@@ -78,6 +70,7 @@ class Sales extends Secure_Controller
|
||||
'only_cash' => FALSE,
|
||||
'only_due' => FALSE,
|
||||
'only_check' => FALSE,
|
||||
'only_creditcard' => FALSE,
|
||||
'only_invoices' => $this->config->item('invoice_enable') && $this->input->get('only_invoices'),
|
||||
'is_valid_receipt' => $this->Sale->is_valid_receipt($search));
|
||||
|
||||
@@ -200,6 +193,8 @@ class Sales extends Secure_Controller
|
||||
$this->sale_lib->set_sale_location($stock_location);
|
||||
}
|
||||
|
||||
$this->sale_lib->empty_payments();
|
||||
|
||||
$this->_reload();
|
||||
}
|
||||
|
||||
@@ -241,11 +236,6 @@ class Sales extends Secure_Controller
|
||||
$this->sale_lib->set_invoice_number($this->input->post('sales_invoice_number'));
|
||||
}
|
||||
|
||||
public function set_invoice_number_enabled()
|
||||
{
|
||||
$this->sale_lib->set_invoice_number_enabled($this->input->post('sales_invoice_number_enabled'));
|
||||
}
|
||||
|
||||
public function set_payment_type()
|
||||
{
|
||||
$this->sale_lib->set_payment_type($this->input->post('selected_payment_type'));
|
||||
@@ -398,7 +388,7 @@ class Sales extends Secure_Controller
|
||||
}
|
||||
|
||||
$item_id_or_number_or_item_kit_or_receipt = $this->input->post('item');
|
||||
$this->barcode_lib->parse_barcode_fields($quantity, $item_id_or_number_or_item_kit_or_receipt);
|
||||
$this->token_lib->parse_barcode($quantity, $price, $item_id_or_number_or_item_kit_or_receipt);
|
||||
$mode = $this->sale_lib->get_mode();
|
||||
$quantity = ($mode == 'return') ? -$quantity : $quantity;
|
||||
$item_location = $this->sale_lib->get_sale_location();
|
||||
@@ -423,12 +413,11 @@ class Sales extends Secure_Controller
|
||||
$discount_type = $item_kit_info->kit_discount_type;
|
||||
}
|
||||
|
||||
$price = NULL;
|
||||
$print_option = PRINT_ALL; // Always include in list of items on invoice
|
||||
|
||||
if(!empty($kit_item_id))
|
||||
{
|
||||
if(!$this->sale_lib->add_item($kit_item_id, $quantity, $item_location, $discount, $discount_type, PRICE_MODE_STANDARD))
|
||||
if(!$this->sale_lib->add_item($kit_item_id, $quantity, $item_location, $discount, $discount_type, PRICE_MODE_STANDARD, NULL, NULL, $price))
|
||||
{
|
||||
$data['error'] = $this->lang->line('sales_unable_to_add_item');
|
||||
}
|
||||
@@ -451,7 +440,7 @@ class Sales extends Secure_Controller
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!$this->sale_lib->add_item($item_id_or_number_or_item_kit_or_receipt, $quantity, $item_location, $discount, $discount_type, PRICE_MODE_STANDARD))
|
||||
if(!$this->sale_lib->add_item($item_id_or_number_or_item_kit_or_receipt, $quantity, $item_location, $discount, $discount_type, PRICE_MODE_STANDARD, NULL, NULL, $price))
|
||||
{
|
||||
$data['error'] = $this->lang->line('sales_unable_to_add_item');
|
||||
}
|
||||
@@ -460,6 +449,7 @@ class Sales extends Secure_Controller
|
||||
$data['warning'] = $this->sale_lib->out_of_stock($item_id_or_number_or_item_kit_or_receipt, $item_location);
|
||||
}
|
||||
}
|
||||
|
||||
$this->_reload($data);
|
||||
}
|
||||
|
||||
@@ -474,7 +464,7 @@ class Sales extends Secure_Controller
|
||||
$description = $this->input->post('description');
|
||||
$serialnumber = $this->input->post('serialnumber');
|
||||
$price = parse_decimals($this->input->post('price'));
|
||||
$quantity = parse_decimals($this->input->post('quantity'));
|
||||
$quantity = parse_quantity($this->input->post('quantity'));
|
||||
$discount = parse_decimals($this->input->post('discount'));
|
||||
$discount_type = $this->input->post('discount_type');
|
||||
|
||||
@@ -484,6 +474,8 @@ class Sales extends Secure_Controller
|
||||
if($this->form_validation->run() != FALSE)
|
||||
{
|
||||
$this->sale_lib->edit_item($item_id, $description, $serialnumber, $quantity, $discount, $discount_type, $price, $discounted_total);
|
||||
|
||||
$this->sale_lib->empty_payments();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -499,6 +491,8 @@ class Sales extends Secure_Controller
|
||||
{
|
||||
$this->sale_lib->delete_item($item_number);
|
||||
|
||||
$this->sale_lib->empty_payments();
|
||||
|
||||
$this->_reload();
|
||||
}
|
||||
|
||||
@@ -553,7 +547,6 @@ class Sales extends Secure_Controller
|
||||
$data['price_work_orders'] = $this->sale_lib->is_price_work_orders();
|
||||
$data['email_receipt'] = $this->sale_lib->is_email_receipt();
|
||||
$customer_id = $this->sale_lib->get_customer();
|
||||
$invoice_number_enabled = $this->sale_lib->get_invoice_number_enabled();
|
||||
$invoice_number = $this->sale_lib->get_invoice_number();
|
||||
$data["invoice_number"] = $invoice_number;
|
||||
$work_order_number = $this->sale_lib->get_work_order_number();
|
||||
@@ -613,56 +606,20 @@ class Sales extends Secure_Controller
|
||||
|
||||
$data['print_price_info'] = TRUE;
|
||||
|
||||
$override_invoice_number = NULL;
|
||||
|
||||
if($this->sale_lib->is_sale_by_receipt_mode() && $invoice_number_enabled )
|
||||
{
|
||||
$pos_invoice = TRUE;
|
||||
$candidate_invoice_number = $invoice_number;
|
||||
if($candidate_invoice_number != NULL && strlen($candidate_invoice_number) > 3)
|
||||
{
|
||||
if(strpos($candidate_invoice_number, '{') == FALSE)
|
||||
{
|
||||
$override_invoice_number = $candidate_invoice_number;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$pos_invoice = FALSE;
|
||||
}
|
||||
|
||||
if($this->sale_lib->is_invoice_mode() || $pos_invoice)
|
||||
if($this->sale_lib->is_invoice_mode())
|
||||
{
|
||||
$invoice_format = $this->config->item('sales_invoice_format');
|
||||
// generate final invoice number (if using the invoice in sales by receipt mode then the invoice number can be manually entered or altered in some way
|
||||
if($pos_invoice)
|
||||
if(!empty($invoice_format) && $invoice_number == NULL)
|
||||
{
|
||||
// The user can retain the default encoded format or can manually override it. It still passes through the rendering step.
|
||||
$this->sale_lib->set_invoice_number($this->input->post('invoice_number'), $keep_custom = TRUE);
|
||||
$invoice_format = $this->sale_lib->get_invoice_number();
|
||||
// If the user blanks out the invoice number and doesn't put anything in there then revert back to the default format encoding
|
||||
if(empty($invoice_format))
|
||||
{
|
||||
$invoice_format = $this->config->item('sales_invoice_format');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$invoice_format = $this->config->item('sales_invoice_format');
|
||||
}
|
||||
|
||||
if($override_invoice_number == NULL)
|
||||
{
|
||||
$invoice_number = $this->token_lib->render($invoice_format);
|
||||
}
|
||||
else
|
||||
{
|
||||
$invoice_number = $override_invoice_number;
|
||||
}
|
||||
|
||||
|
||||
if($sale_id == -1 && $this->Sale->check_invoice_number_exists($invoice_number))
|
||||
{
|
||||
$data['error'] = $this->lang->line('sales_invoice_number_duplicate');
|
||||
$data['error'] = $this->lang->line('sales_invoice_number_duplicate', $invoice_number);
|
||||
$this->_reload($data);
|
||||
}
|
||||
else
|
||||
@@ -826,6 +783,7 @@ class Sales extends Secure_Controller
|
||||
new Token_invoice_count('POS ' . $sale_data['sale_id']),
|
||||
new Token_customer((object)$sale_data));
|
||||
$text = $this->token_lib->render($text, $tokens);
|
||||
$sale_data['mimetype'] = get_mime_by_extension('uploads/' . $this->config->item('company_logo'));
|
||||
|
||||
// generate email attachment: invoice in pdf format
|
||||
$html = $this->load->view("sales/" . $type . "_email", $sale_data, TRUE);
|
||||
@@ -953,7 +911,7 @@ class Sales extends Secure_Controller
|
||||
$data['payments'] = $this->sale_lib->get_payments();
|
||||
$data['selected_payment_type'] = $this->sale_lib->get_payment_type();
|
||||
|
||||
$tax_details = $this->tax_lib->get_taxes($data['cart']);
|
||||
$tax_details = $this->tax_lib->get_taxes($data['cart'], $sale_id);
|
||||
$data['taxes'] = $this->Sale->get_sales_taxes($sale_id);
|
||||
$data['discount'] = $this->sale_lib->get_discount();
|
||||
$data['transaction_time'] = to_datetime(strtotime($sale_info['sale_time']));
|
||||
@@ -1042,8 +1000,8 @@ class Sales extends Secure_Controller
|
||||
}
|
||||
|
||||
$invoice_type = $this->config->item('invoice_type');
|
||||
|
||||
$data['invoice_view'] = $invoice_type;
|
||||
|
||||
return $this->xss_clean($data);
|
||||
}
|
||||
|
||||
@@ -1069,9 +1027,6 @@ class Sales extends Secure_Controller
|
||||
$data['taxes'] = $tax_details[0];
|
||||
$data['discount'] = $this->sale_lib->get_discount();
|
||||
$data['payments'] = $this->sale_lib->get_payments();
|
||||
// sale_type (0=pos, 1=invoice, 2=work order, 3=quote, 4=return)
|
||||
$sale_type = $this->sale_lib->get_sale_type();
|
||||
|
||||
// Returns 'subtotal', 'total', 'cash_total', 'payment_total', 'amount_due', 'cash_amount_due', 'payments_cover_total'
|
||||
$totals = $this->sale_lib->get_totals($tax_details[0]);
|
||||
$data['item_count'] = $totals['item_count'];
|
||||
@@ -1112,14 +1067,17 @@ class Sales extends Secure_Controller
|
||||
}
|
||||
|
||||
$data['items_module_allowed'] = $this->Employee->has_grant('items', $this->Employee->get_logged_in_employee_info()->person_id);
|
||||
$data['change_price'] = $this->Employee->has_grant('sales_change_price', $this->Employee->get_logged_in_employee_info()->person_id);
|
||||
|
||||
$invoice_format = $this->config->item('sales_invoice_format');
|
||||
$data['invoice_format'] = $invoice_format;
|
||||
$invoice_number = $this->sale_lib->get_invoice_number();
|
||||
|
||||
$this->set_invoice_number($invoice_format);
|
||||
$data['invoice_number'] = $invoice_format;
|
||||
if ($this->sale_lib->get_invoice_number() == NULL)
|
||||
{
|
||||
$invoice_number = $this->config->item('sales_invoice_format');
|
||||
}
|
||||
|
||||
$data['invoice_number'] = $invoice_number;
|
||||
|
||||
$data['invoice_number_enabled'] = $this->sale_lib->is_invoice_mode();
|
||||
$data['print_after_sale'] = $this->sale_lib->is_print_after_sale();
|
||||
$data['price_work_orders'] = $this->sale_lib->is_price_work_orders();
|
||||
|
||||
@@ -1178,20 +1136,12 @@ class Sales extends Secure_Controller
|
||||
{
|
||||
$data = array();
|
||||
|
||||
$data['employees'] = array();
|
||||
foreach($this->Employee->get_all()->result() as $employee)
|
||||
{
|
||||
foreach(get_object_vars($employee) as $property => $value)
|
||||
{
|
||||
$employee->$property = $this->xss_clean($value);
|
||||
}
|
||||
|
||||
$data['employees'][$employee->person_id] = $employee->first_name . ' ' . $employee->last_name;
|
||||
}
|
||||
|
||||
$sale_info = $this->xss_clean($this->Sale->get_info($sale_id)->row_array());
|
||||
$data['selected_customer_name'] = $sale_info['customer_name'];
|
||||
$data['selected_customer_id'] = $sale_info['customer_id'];
|
||||
$data['selected_customer_name'] = $sale_info['customer_name'];
|
||||
$employee_info = $this->Employee->get_info($sale_info['employee_id']);
|
||||
$data['selected_employee_id'] = $sale_info['employee_id'];
|
||||
$data['selected_employee_name'] = $this->xss_clean($employee_info->first_name . ' ' . $employee_info->last_name);
|
||||
$data['sale_info'] = $sale_info;
|
||||
$balance_due = $sale_info['amount_due'] - $sale_info['amount_tendered'];
|
||||
if($balance_due < 0)
|
||||
@@ -1215,12 +1165,12 @@ class Sales extends Secure_Controller
|
||||
$data['balance_due'] = $balance_due != 0;
|
||||
|
||||
// don't allow gift card to be a payment option in a sale transaction edit because it's a complex change
|
||||
$data['payment_options'] = $this->xss_clean($this->Sale->get_payment_options(FALSE));
|
||||
$new_payment_options = $this->xss_clean($this->Sale->get_payment_options(FALSE));
|
||||
$data['payment_options'] = $new_payment_options;
|
||||
|
||||
// Set up a slightly modified list of payment types for new payment entry
|
||||
$new_payment_options = $this->Sale->get_payment_options(FALSE);
|
||||
$new_payment_options["--"] = $this->lang->line('common_none_selected_text');
|
||||
$data['new_payment_options'] = $this->xss_clean($new_payment_options);
|
||||
$data['new_payment_options'] = $new_payment_options;
|
||||
|
||||
$this->load->view('sales/form', $data);
|
||||
}
|
||||
@@ -1286,11 +1236,12 @@ class Sales extends Secure_Controller
|
||||
$employee_id = $this->Employee->get_logged_in_employee_info()->person_id;
|
||||
|
||||
$date_formatter = date_create_from_format($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'), $newdate);
|
||||
$sale_time = $date_formatter->format('Y-m-d H:i:s');
|
||||
|
||||
$sale_data = array(
|
||||
'sale_time' => $date_formatter->format('Y-m-d H:i:s'),
|
||||
'sale_time' => $sale_time,
|
||||
'customer_id' => $this->input->post('customer_id') != '' ? $this->input->post('customer_id') : NULL,
|
||||
'employee_id' => $this->input->post('employee_id'),
|
||||
'employee_id' => $this->input->post('employee_id') != '' ? $this->input->post('employee_id') : NULL,
|
||||
'comment' => $this->input->post('comment'),
|
||||
'invoice_number' => $this->input->post('invoice_number') != '' ? $this->input->post('invoice_number') : NULL
|
||||
);
|
||||
@@ -1301,12 +1252,27 @@ class Sales extends Secure_Controller
|
||||
for($i = 0; $i < $number_of_payments; ++$i)
|
||||
{
|
||||
$payment_id = $this->input->post('payment_id_' . $i);
|
||||
$payment_amount = $this->input->post('payment_amount_' . $i);
|
||||
$payment_type = $this->input->post('payment_type_' . $i);
|
||||
$cash_refund = 0.00;
|
||||
$payment_amount = $this->input->post('payment_amount_' . $i);
|
||||
$refund_type = $this->input->post('refund_type_' . $i);
|
||||
$cash_refund = $this->input->post('refund_amount_' . $i);
|
||||
|
||||
// To maintain tradition we will also delete any payments with 0 amount assuming these are mistakes
|
||||
// introduced at sale time. This is now done in Sale.php
|
||||
// if the refund is not cash ...
|
||||
if(empty(strstr($refund_type, $this->lang->line('sales_cash'))))
|
||||
{
|
||||
// ... and it's positive ...
|
||||
if($cash_refund > 0)
|
||||
{
|
||||
// ... change it to be a new negative payment (a "non-cash refund")
|
||||
$payment_type = $refund_type;
|
||||
$payment_amount = $payment_amount - $cash_refund;
|
||||
$cash_refund = 0.00;
|
||||
}
|
||||
}
|
||||
|
||||
// To maintain tradition we will also delete any payments with 0 amount
|
||||
// assuming these are mistakes introduced at sale time.
|
||||
// This is now done in models/Sale.php
|
||||
|
||||
$payments[] = array('payment_id' => $payment_id, 'payment_type' => $payment_type, 'payment_amount' => $payment_amount, 'cash_refund' => $cash_refund, 'employee_id' => $employee_id);
|
||||
}
|
||||
@@ -1320,6 +1286,7 @@ class Sales extends Secure_Controller
|
||||
$payments[] = array('payment_id' => $payment_id, 'payment_type' => $payment_type, 'payment_amount' => $payment_amount, 'cash_refund' => 0.00, 'employee_id' => $employee_id);
|
||||
}
|
||||
|
||||
$this->Inventory->update('POS '.$sale_id, ['trans_date' => $sale_time]);
|
||||
if($this->Sale->update($sale_id, $sale_data, $payments))
|
||||
{
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('sales_successfully_updated'), 'id' => $sale_id));
|
||||
@@ -1411,6 +1378,7 @@ class Sales extends Secure_Controller
|
||||
}
|
||||
|
||||
$this->sale_lib->clear_all();
|
||||
|
||||
$this->_reload($data);
|
||||
}
|
||||
|
||||
@@ -1419,14 +1387,13 @@ class Sales extends Secure_Controller
|
||||
*/
|
||||
public function suspended()
|
||||
{
|
||||
$customer_id = $this->sale_lib->get_customer();
|
||||
$data = array();
|
||||
$customer_id = $this->sale_lib->get_customer();
|
||||
$data['suspended_sales'] = $this->xss_clean($this->Sale->get_all_suspended($customer_id));
|
||||
$data['dinner_table_enable'] = $this->config->item('dinner_table_enable');
|
||||
$this->load->view('sales/suspended', $data);
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* Unsuspended sales are now left in the tables and are only removed
|
||||
* when they are intentionally cancelled.
|
||||
*/
|
||||
@@ -1514,7 +1481,7 @@ class Sales extends Secure_Controller
|
||||
$this->sale_lib->set_cart($cart);
|
||||
}
|
||||
|
||||
function search_cart_for_item_id($id, $array)
|
||||
public function search_cart_for_item_id($id, $array)
|
||||
{
|
||||
foreach($array as $key => $val)
|
||||
{
|
||||
@@ -1523,6 +1490,7 @@ class Sales extends Secure_Controller
|
||||
return $key;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ class Suppliers extends Persons
|
||||
public function get_row($row_id)
|
||||
{
|
||||
$data_row = $this->xss_clean(get_supplier_data_row($this->Supplier->get_info($row_id)));
|
||||
$data_row['category'] = $this->Supplier->get_category_name($data_row['category']);
|
||||
|
||||
echo json_encode($data_row);
|
||||
}
|
||||
|
||||
@@ -354,7 +354,7 @@ class Taxes extends Secure_Controller
|
||||
public function save($tax_rate_id = -1)
|
||||
{
|
||||
$tax_category_id = $this->input->post('rate_tax_category_id');
|
||||
$tax_rate = parse_decimals($this->input->post('tax_rate'));
|
||||
$tax_rate = parse_tax($this->input->post('tax_rate'));
|
||||
|
||||
if ($tax_rate == 0) {
|
||||
$tax_category_info = $this->Tax_category->get_info($tax_category_id);
|
||||
@@ -443,6 +443,8 @@ class Taxes extends Secure_Controller
|
||||
|
||||
$array_save = array();
|
||||
|
||||
$unique_tax_groups = [];
|
||||
|
||||
foreach($jurisdiction_id as $key => $val)
|
||||
{
|
||||
$array_save[] = array(
|
||||
@@ -453,6 +455,19 @@ class Taxes extends Secure_Controller
|
||||
'reporting_authority'=>$this->xss_clean($reporting_authority[$key]),
|
||||
'tax_group_sequence'=>$this->xss_clean($tax_group_sequence[$key]),
|
||||
'cascade_sequence'=>$this->xss_clean($cascade_sequence[$key]));
|
||||
|
||||
if (array_search($tax_group[$key], $unique_tax_groups) !== false)
|
||||
{
|
||||
echo json_encode(array(
|
||||
'success' => FALSE,
|
||||
'message' => $this->lang->line('taxes_tax_group_not_unique', $tax_group[$key])
|
||||
));
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
$unique_tax_groups[] = $tax_group[$key];
|
||||
}
|
||||
}
|
||||
|
||||
$success = $this->Tax_jurisdiction->save_jurisdictions($array_save);
|
||||
|
||||
57
application/core/MY_Security.php
Normal file
57
application/core/MY_Security.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
defined('BASEPATH') or exit('No direct script access allowed');
|
||||
|
||||
class MY_Security extends CI_Security
|
||||
{
|
||||
/**
|
||||
* CSRF Set Cookie with samesite
|
||||
*
|
||||
* @codeCoverageIgnore
|
||||
* @return CI_Security
|
||||
*/
|
||||
public function csrf_set_cookie()
|
||||
{
|
||||
$expire = time() + $this->_csrf_expire;
|
||||
$secure_cookie = (bool)config_item('cookie_secure');
|
||||
|
||||
if ($secure_cookie && !is_https())
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
$path = config_item('cookie_path');
|
||||
|
||||
if (PHP_VERSION_ID < 70300) {
|
||||
|
||||
if (is_https())
|
||||
{
|
||||
$path .= '; samesite=strict';
|
||||
}
|
||||
|
||||
setcookie($this->_csrf_cookie_name,
|
||||
$this->_csrf_hash, $expire,
|
||||
$path,
|
||||
config_item('cookie_domain'),
|
||||
$secure_cookie,
|
||||
FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
$samesite = is_https() ? 'None' : 'Strict';
|
||||
|
||||
setcookie($this->_csrf_cookie_name,
|
||||
$this->_csrf_hash,
|
||||
['samesite' => $samesite,
|
||||
'secure' => $secure_cookie,
|
||||
'expires' => $expire,
|
||||
'path' => config_item('cookie_path'),
|
||||
'domain' => config_item('cookie_domain'),
|
||||
'httponly' => FALSE]);
|
||||
}
|
||||
|
||||
|
||||
log_message('info', 'CSRF cookie sent');
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
@@ -7,22 +7,10 @@
|
||||
function create_pdf($html, $filename = '')
|
||||
{
|
||||
// need to enable magic quotes for the
|
||||
$magic_quotes_enabled = get_magic_quotes_runtime();
|
||||
|
||||
if(!$magic_quotes_enabled)
|
||||
{
|
||||
ini_set('magic_quotes_runtime', TRUE);
|
||||
}
|
||||
|
||||
$dompdf = new Dompdf\Dompdf();
|
||||
$dompdf = new Dompdf\Dompdf(array("isRemoteEnabled" => TRUE, "isPhpEnabled" => TRUE));
|
||||
$dompdf->loadHtml(str_replace(array("\n", "\r"), '', $html));
|
||||
$dompdf->render();
|
||||
|
||||
if(!$magic_quotes_enabled)
|
||||
{
|
||||
ini_set('magic_quotes_runtime', $magic_quotes_enabled);
|
||||
}
|
||||
|
||||
|
||||
if($filename != '')
|
||||
{
|
||||
$dompdf->stream($filename . '.pdf');
|
||||
|
||||
@@ -11,7 +11,7 @@ function generate_import_items_csv($stock_locations,$attributes)
|
||||
$csv_headers .= 'Barcode,"Item Name",Category,"Supplier ID","Cost Price","Unit Price","Tax 1 Name","Tax 1 Percent","Tax 2 Name","Tax 2 Percent","Reorder Level",Description,"Allow Alt Description","Item has Serial Number",item_image,HSN';
|
||||
$csv_headers .= generate_stock_location_headers($stock_locations);
|
||||
$csv_headers .= generate_attribute_headers($attributes);
|
||||
|
||||
|
||||
return $csv_headers;
|
||||
}
|
||||
|
||||
@@ -23,12 +23,12 @@ function generate_import_items_csv($stock_locations,$attributes)
|
||||
function generate_stock_location_headers($locations)
|
||||
{
|
||||
$location_headers = "";
|
||||
|
||||
|
||||
foreach($locations as $location_id => $location_name)
|
||||
{
|
||||
$location_headers .= ',"location_' . $location_name . '"';
|
||||
}
|
||||
|
||||
|
||||
return $location_headers;
|
||||
}
|
||||
|
||||
@@ -41,12 +41,12 @@ function generate_attribute_headers($attribute_names)
|
||||
{
|
||||
$attribute_headers = "";
|
||||
unset($attribute_names[-1]);
|
||||
|
||||
|
||||
foreach($attribute_names as $attribute_name)
|
||||
{
|
||||
$attribute_headers .= ',"attribute_' . $attribute_name . '"';
|
||||
}
|
||||
|
||||
|
||||
return $attribute_headers;
|
||||
}
|
||||
|
||||
@@ -59,19 +59,52 @@ function generate_attribute_headers($attribute_names)
|
||||
function get_csv_file($file_name)
|
||||
{
|
||||
ini_set("auto_detect_line_endings", true);
|
||||
|
||||
|
||||
if(($csv_file = fopen($file_name,'r')) !== FALSE)
|
||||
{
|
||||
//Skip Byte-Order Mark
|
||||
if(bom_exists($csv_file) === TRUE)
|
||||
{
|
||||
fseek($csv_file, 3);
|
||||
}
|
||||
|
||||
while (($data = fgetcsv($csv_file)) !== FALSE)
|
||||
{
|
||||
$line_array[] = $data;
|
||||
//Skip empty lines
|
||||
if(array(null) !== $data)
|
||||
{
|
||||
$line_array[] = $data;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
return $line_array;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the first three characters of a file for the Byte-Order Mark then returns the file position to the first character.
|
||||
*
|
||||
* @param object $file_handle File handle to check
|
||||
* @return bool Returns TRUE if the BOM exists and FALSE otherwise.
|
||||
*/
|
||||
function bom_exists(&$file_handle)
|
||||
{
|
||||
$str = fread($file_handle,3);
|
||||
rewind($file_handle);
|
||||
|
||||
$bom = pack("CCC", 0xef, 0xbb, 0xbf);
|
||||
|
||||
if (0 === strncmp($str, $bom, 3))
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -3,6 +3,8 @@
|
||||
const DEFAULT_LANGUAGE = 'english';
|
||||
const DEFAULT_LANGUAGE_CODE = 'en-US';
|
||||
|
||||
define('NOW', time());
|
||||
define('MAX_PRECISION', 1e14);
|
||||
define('DEFAULT_DATE', mktime(0, 0, 0, 1, 1, 2010));
|
||||
define('DEFAULT_DATETIME', mktime(0, 0, 0, 1, 1, 2010));
|
||||
|
||||
@@ -57,6 +59,7 @@ function get_languages()
|
||||
'az-AZ:azerbaijani' => 'Azerbaijani (Azerbaijan)',
|
||||
'bg:bulgarian' => 'Bulgarian',
|
||||
'cs:czech' => 'Czech',
|
||||
'da:danish' => 'Danish',
|
||||
'de:german' => 'German (Germany)',
|
||||
'de-CH:german' => 'German (Swiss)',
|
||||
'el:greek' => 'Greek',
|
||||
@@ -65,18 +68,21 @@ function get_languages()
|
||||
'es:spanish' => 'Spanish',
|
||||
'es-MX:spanish' => 'Spanish (Mexico)',
|
||||
'fr:french' => 'French',
|
||||
'he:hebrew' => 'Hebrew',
|
||||
'fa-IR:persian' => 'Farsi (Iran)',
|
||||
'he:english' => 'Hebrew',
|
||||
'hr-HR:croatian' => 'Croatian (Croatia)',
|
||||
'hu-HU:hungarian' => 'Hungarian (Hungary)',
|
||||
'hy:armenian' => 'Armenian',
|
||||
'id:indonesian' => 'Indonesian',
|
||||
'it:italian' => 'Italian',
|
||||
'km:khmer' => 'Central Khmer (Cambodia)',
|
||||
'lo:lao' => 'Lao (Laos)',
|
||||
'ml:malay' => 'Malay',
|
||||
'nb:norwegian' => 'Norwegian',
|
||||
'nl:dutch' => 'Dutch',
|
||||
'nl-BE:dutch' => 'Dutch (Belgium)',
|
||||
'pl:polish' => 'Polish',
|
||||
'pt-BR:portuguese-brazilian' => 'Portuguese (Brazil)',
|
||||
'pt-BR:portuguese' => 'Portuguese (Brazil)',
|
||||
'ro:romanian' => 'Romanian',
|
||||
'ru:russian' => 'Russian',
|
||||
'sv:swedish' => 'Swedish',
|
||||
@@ -400,18 +406,45 @@ function to_decimals($number, $decimals, $type=\NumberFormatter::DECIMAL)
|
||||
return $fmt->format($number);
|
||||
}
|
||||
|
||||
function parse_decimals($number)
|
||||
function parse_quantity($number)
|
||||
{
|
||||
return parse_decimals($number, quantity_decimals());
|
||||
}
|
||||
|
||||
function parse_tax($number)
|
||||
{
|
||||
return parse_decimals($number, tax_decimals());
|
||||
}
|
||||
|
||||
function parse_decimals($number, $decimals = NULL)
|
||||
{
|
||||
// ignore empty strings and return
|
||||
|
||||
if(empty($number))
|
||||
{
|
||||
return $number;
|
||||
}
|
||||
|
||||
if ($number > MAX_PRECISION)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if ($number > 1.e14)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
$config = get_instance()->config;
|
||||
|
||||
if($decimals == NULL)
|
||||
{
|
||||
$decimals = $config->item('currency_decimals');
|
||||
}
|
||||
|
||||
$fmt = new \NumberFormatter($config->item('number_locale'), \NumberFormatter::DECIMAL);
|
||||
|
||||
$fmt->setAttribute(\NumberFormatter::FRACTION_DIGITS, $config->item('currency_decimals'));
|
||||
$fmt->setAttribute(\NumberFormatter::FRACTION_DIGITS, $decimals);
|
||||
|
||||
if(empty($config->item('thousands_separator')))
|
||||
{
|
||||
|
||||
@@ -9,7 +9,7 @@ function execute_script($path)
|
||||
$CI =& get_instance();
|
||||
|
||||
$version = preg_replace("/(.*_)?(.*).sql/", "$2", $path);
|
||||
error_log("Migrating to $version");
|
||||
error_log("Migrating to $version (file: $path)");
|
||||
|
||||
$sql = file_get_contents($path);
|
||||
|
||||
|
||||
@@ -354,7 +354,7 @@ function get_items_manage_table_headers()
|
||||
|
||||
foreach($definition_names as $definition_id => $definition_name)
|
||||
{
|
||||
$headers[] = array($definition_id => $definition_name);
|
||||
$headers[] = array($definition_id => $definition_name, 'sortable' => FALSE);
|
||||
}
|
||||
|
||||
$headers[] = array('inventory' => '');
|
||||
|
||||
@@ -7,6 +7,7 @@ $lang["common_close"] = "إغلاق";
|
||||
$lang["common_comments"] = "تعليقات";
|
||||
$lang["common_common"] = "عام";
|
||||
$lang["common_confirm_search"] = "لقد قمت اختيار أكتر من سجل، سوف تفقد هذه الاختيارات عند إرسال البحث، موافق؟";
|
||||
$lang["common_copyrights"] = "© 2010 - %1";
|
||||
$lang["common_correct_errors"] = "يرجى تصحيح الأخطاء المحددة قبل الحفظ";
|
||||
$lang["common_country"] = "البلد";
|
||||
$lang["common_date"] = "التاريخ";
|
||||
@@ -16,9 +17,9 @@ $lang["common_download_import_template"] = "تنزيل قالب الاستيرا
|
||||
$lang["common_edit"] = "تحرير";
|
||||
$lang["common_email"] = "بريد إلكتروني";
|
||||
$lang["common_email_invalid_format"] = "شكل البريد الإلكتروني غير صحيح.";
|
||||
$lang["common_export_excel"] = "تصدير إلى اكسل";
|
||||
$lang["common_export_excel_no"] = "لا";
|
||||
$lang["common_export_excel_yes"] = "نعم";
|
||||
$lang["common_export_csv"] = "تصدير إلى اكسل";
|
||||
$lang["common_export_csv_no"] = "لا";
|
||||
$lang["common_export_csv_yes"] = "نعم";
|
||||
$lang["common_fields_required_message"] = "الحقول التي بالأحمر مطلوبة";
|
||||
$lang["common_first_name"] = "الاسم الأول";
|
||||
$lang["common_first_name_required"] = "الاسم الأول مطلوب.";
|
||||
@@ -29,7 +30,7 @@ $lang["common_gender_male"] = "ذكر";
|
||||
$lang["common_id"] = "كود";
|
||||
$lang["common_import"] = "استيراد";
|
||||
$lang["common_import_change_file"] = "تغيير";
|
||||
$lang["common_import_excel"] = "استيراد من اكسل";
|
||||
$lang["common_import_csv"] = "استيراد من اكسل";
|
||||
$lang["common_import_full_path"] = "المسار الكامل لملف اكسل مطلوب";
|
||||
$lang["common_import_remove_file"] = "إزالة";
|
||||
$lang["common_import_select_file"] = "اختار ملف";
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<?php
|
||||
<?php
|
||||
|
||||
$lang["config_address"] = "عنوان الشركة";
|
||||
$lang["config_address_required"] = "عنوان الشركة مطلوب.";
|
||||
$lang["config_all_set"] = "All file permissions are set correctly!";
|
||||
$lang["config_allow_duplicate_barcodes"] = "السماح بتشابة الباركود";
|
||||
$lang["config_apostrophe"] = "الفاصلة";
|
||||
$lang["config_backup_button"] = "نسخ إحتياطى";
|
||||
@@ -32,6 +34,7 @@ $lang["config_bottom"] = "الأسفل";
|
||||
$lang["config_cash_decimals"] = "فواصل النقدية";
|
||||
$lang["config_cash_decimals_tooltip"] = "إذا كانت الكسور العشرية النقدية وعشرية العملات هي نفسها ثم لن يتم تقريب النقدية.";
|
||||
$lang["config_cash_rounding"] = "التقريب النقدي";
|
||||
$lang["config_category_dropdown"] = "";
|
||||
$lang["config_center"] = "الوسط";
|
||||
$lang["config_comma"] = "فاصلة";
|
||||
$lang["config_company"] = "اسم الشركة";
|
||||
@@ -110,6 +113,7 @@ $lang["config_email_smtp_user"] = "اسم مستخدم SMTP";
|
||||
$lang["config_enforce_privacy"] = "فرض نظام الخصوصية";
|
||||
$lang["config_enforce_privacy_tooltip"] = "حماية ملفات ومعلومات المستخدم عند الحذف";
|
||||
$lang["config_fax"] = "الفاكس";
|
||||
$lang["config_file_perm"] = "There are problems with file permissions please fix and reload this page.";
|
||||
$lang["config_financial_year"] = "بداية السنة المالية";
|
||||
$lang["config_financial_year_apr"] = "1 أبريل";
|
||||
$lang["config_financial_year_aug"] = "1 أغسطس";
|
||||
@@ -134,6 +138,11 @@ $lang["config_general_configuration"] = "إعدادات عامة";
|
||||
$lang["config_giftcard_number"] = "رقم كارت الهدية";
|
||||
$lang["config_giftcard_random"] = "توليد عشوائي";
|
||||
$lang["config_giftcard_series"] = "توليد في السلسلة";
|
||||
$lang["config_image_allowed_file_types"] = "";
|
||||
$lang["config_image_max_height_tooltip"] = "";
|
||||
$lang["config_image_max_size_tooltip"] = "";
|
||||
$lang["config_image_max_width_tooltip"] = "";
|
||||
$lang["config_image_restrictions"] = "";
|
||||
$lang["config_include_hsn"] = "تشمل الدعم لرمز نظام منسق";
|
||||
$lang["config_info"] = "معلومات";
|
||||
$lang["config_info_configuration"] = "معلومات الشركة";
|
||||
@@ -146,6 +155,8 @@ $lang["config_invoice_email_message"] = "قالب البريد الإلكترو
|
||||
$lang["config_invoice_enable"] = "تفعيل الفوترة";
|
||||
$lang["config_invoice_printer"] = "طابعة الفواتير";
|
||||
$lang["config_invoice_type"] = "نوع الفاتورة";
|
||||
$lang["config_is_readable"] = "";
|
||||
$lang["config_is_writable"] = "is writable, but the permissions are higher than 750.";
|
||||
$lang["config_jsprintsetup_required"] = "تحذير! هذه الخاصية غير المفعلة سوف تعمل فقط مع وجود الاضافة jsPrintSetup على متصفح فايرفوكس. حفظ على أى حال؟";
|
||||
$lang["config_language"] = "اللغة";
|
||||
$lang["config_last_used_invoice_number"] = "اخر رقم مستخدم للفاتورة";
|
||||
@@ -183,6 +194,7 @@ $lang["config_msg_src_required"] = "مطلوب SMS-API كود المرسل لـ"
|
||||
$lang["config_msg_uid"] = "SMS-API اسم المستخدم لـ";
|
||||
$lang["config_msg_uid_required"] = "مطلوب SMS-API اسم المستخدم لـ";
|
||||
$lang["config_multi_pack_enabled"] = "رزم متعددة لكل صنف";
|
||||
$lang["config_no_risk"] = "No security/vulnerability risks.";
|
||||
$lang["config_none"] = "لايوجد";
|
||||
$lang["config_notify_alignment"] = "مكان عرض رسائل المعلومات";
|
||||
$lang["config_number_format"] = "شكل الرقم";
|
||||
@@ -190,8 +202,10 @@ $lang["config_number_locale"] = "التهيئة الاقليمية";
|
||||
$lang["config_number_locale_invalid"] = "التهيئة الإقليمية المختارة غير صحية، راجع الرابط الموجود فى الملاحظة لاختيار تهيئة مناسبة.";
|
||||
$lang["config_number_locale_required"] = "رقم التهيئة الإقليمية مطلوب.";
|
||||
$lang["config_number_locale_tooltip"] = "إيجاد تهيئة إقليمية مناسبة عبر الرابط.";
|
||||
$lang["config_os_timezone"] = "";
|
||||
$lang["config_ospos_info"] = "معلومات التثبيت OSPOS";
|
||||
$lang["config_payment_options_order"] = "ترتيب خيارات الدفع";
|
||||
$lang["config_perm_risk"] = "Permissions higher than 750 leaves this software at risk.";
|
||||
$lang["config_phone"] = "هاتف الشركة";
|
||||
$lang["config_phone_required"] = "هاتف الشركة مطلوب.";
|
||||
$lang["config_print_bottom_margin"] = "الهامش السفلي";
|
||||
@@ -230,12 +244,14 @@ $lang["config_receipt_short"] = "مختصر";
|
||||
$lang["config_receipt_show_company_name"] = "عرض اسم الشركة";
|
||||
$lang["config_receipt_show_description"] = "عرض الوصف";
|
||||
$lang["config_receipt_show_serialnumber"] = "عرض الرقم المسلسل";
|
||||
$lang["config_receipt_show_tax_ind"] = "";
|
||||
$lang["config_receipt_show_taxes"] = "عرض الضرائب";
|
||||
$lang["config_receipt_show_total_discount"] = "عرض إجمالى الخصم";
|
||||
$lang["config_receipt_template"] = "قالب الايصال";
|
||||
$lang["config_receiving_calculate_average_price"] = "حساب متوسط سعر الأصناف المستلمة";
|
||||
$lang["config_recv_invoice_format"] = "شكل فاتورة الإستلام";
|
||||
$lang["config_register_mode_default"] = "نمط التسجيل الافتراضي";
|
||||
$lang["config_report_an_issue"] = "";
|
||||
$lang["config_return_policy_required"] = "سياسة الإسترجاع مطلوب.";
|
||||
$lang["config_reward"] = "المكافاة";
|
||||
$lang["config_reward_configuration"] = "اعدادات المكافاة";
|
||||
@@ -244,6 +260,7 @@ $lang["config_sales_invoice_format"] = "شكل فاتورة البيع";
|
||||
$lang["config_sales_quote_format"] = "شكل فاتورة عرض الاسعار";
|
||||
$lang["config_saved_successfully"] = "تم حفظ التهيئة بنجاح.";
|
||||
$lang["config_saved_unsuccessfully"] = "لم يتم حفظ التهيئة بنجاح.";
|
||||
$lang["config_security_issue"] = "Security Vulnerability Warning";
|
||||
$lang["config_server_notice"] = "يرجى استخدام المعلومات أدناه للإبلاغ عن المشكلة.";
|
||||
$lang["config_show_office_group"] = "اظهار ايكونة المكتب";
|
||||
$lang["config_statistics"] = "إرسال اﻹحصائيات";
|
||||
@@ -256,6 +273,7 @@ $lang["config_suggestions_first_column"] = "العامود 1";
|
||||
$lang["config_suggestions_layout"] = "تخطيط اقتراحات البحث";
|
||||
$lang["config_suggestions_second_column"] = "العامود 2";
|
||||
$lang["config_suggestions_third_column"] = "العامود 3";
|
||||
$lang["config_system_conf"] = "Setup & Conf";
|
||||
$lang["config_system_info"] = "System Info";
|
||||
$lang["config_table"] = "جدول";
|
||||
$lang["config_table_configuration"] = "اعدادات الجدول";
|
||||
@@ -273,8 +291,10 @@ $lang["config_tax_included"] = "شامل الضريبة";
|
||||
$lang["config_theme"] = "السمة";
|
||||
$lang["config_thousands_separator"] = "فاصل الاف";
|
||||
$lang["config_timezone"] = "المنطقة الزمنية";
|
||||
$lang["config_timezone_error"] = "";
|
||||
$lang["config_top"] = "علوى";
|
||||
$lang["config_use_destination_based_tax"] = "استخدام الضريبة المستندة على الوجهة";
|
||||
$lang["config_user_timezone"] = "";
|
||||
$lang["config_website"] = "موقع الشركة";
|
||||
$lang["config_work_order_enable"] = "تفعيل طلبات العمل";
|
||||
$lang["config_work_order_format"] = "شكل طلبات العمل";
|
||||
|
||||
@@ -12,6 +12,10 @@ $lang["customers_confirm_delete"] = "هل تريد حذف هؤلاء العمل
|
||||
$lang["customers_confirm_restore"] = "هل انت متأكد من إستعادة قاعدة بيانات الزبائن ؟";
|
||||
$lang["customers_consent"] = "موافقة التسجيل";
|
||||
$lang["customers_consent_required"] = "موافقة التسجيل هي خانة اجبارية.";
|
||||
$lang["customers_csv_import_failed"] = "فشل الإستيراد من اكسل";
|
||||
$lang["customers_csv_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
|
||||
$lang["customers_csv_import_partially_failed"] = "تم استيراد معظم العملاء. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
|
||||
$lang["customers_csv_import_success"] = "تم استيراد العملاء بنجاح.";
|
||||
$lang["customers_customer"] = "العميل";
|
||||
$lang["customers_date"] = "التاريخ";
|
||||
$lang["customers_discount"] = "نسبة الخصم";
|
||||
@@ -21,11 +25,7 @@ $lang["customers_discount_type"] = "نوع الحسم";
|
||||
$lang["customers_email_duplicate"] = "البريد الالكتروني مكرر.";
|
||||
$lang["customers_employee"] = "الموظف";
|
||||
$lang["customers_error_adding_updating"] = "خطاء فى إضافة أو تحديث العميل.";
|
||||
$lang["customers_excel_import_failed"] = "فشل الإستيراد من اكسل";
|
||||
$lang["customers_excel_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
|
||||
$lang["customers_excel_import_partially_failed"] = "تم استيراد معظم العملاء. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
|
||||
$lang["customers_excel_import_success"] = "تم استيراد العملاء بنجاح.";
|
||||
$lang["customers_import_items_excel"] = "استيراد العملا ء من ورقة عمل اكسل";
|
||||
$lang["customers_import_items_csv"] = "استيراد العملا ء من ورقة عمل اكسل";
|
||||
$lang["customers_mailchimp_activity_click"] = "النقر على البريد الإلكتروني";
|
||||
$lang["customers_mailchimp_activity_lastopen"] = "آخر رسالة إلكترونية مفتوحة";
|
||||
$lang["customers_mailchimp_activity_open"] = "رسالة إلكترونية مفتوحة";
|
||||
|
||||
@@ -17,6 +17,7 @@ $lang["giftcards_confirm_delete"] = "هل أنت متأكد انك تريد حذ
|
||||
$lang["giftcards_confirm_restore"] = "هل تريد بالتأكيد استعادة بطاقة (بطاقات) الهدايا المحددة؟";
|
||||
$lang["giftcards_cost_price"] = "سعر التكلفة";
|
||||
$lang["giftcards_count"] = "تحديث المخزون";
|
||||
$lang["giftcards_csv_import_failed"] = "فشل الإستيراد من اكسل.";
|
||||
$lang["giftcards_current_quantity"] = "الكميات الحالية";
|
||||
$lang["giftcards_description"] = "الوصف";
|
||||
$lang["giftcards_details_count"] = "حركة الكارت";
|
||||
@@ -25,7 +26,6 @@ $lang["giftcards_edit_fields_you_want_to_update"] = "قم بتحديث الحق
|
||||
$lang["giftcards_edit_multiple_giftcards"] = "تحرير مجموعة من بطاقات الهدايا.";
|
||||
$lang["giftcards_error_adding_updating"] = "خطاء فى إضافة/تحديث بطاقة هدية.";
|
||||
$lang["giftcards_error_updating_multiple"] = "خطاء فى تحديث بيانات بطاقات الهدايا.";
|
||||
$lang["giftcards_excel_import_failed"] = "فشل الإستيراد من اكسل.";
|
||||
$lang["giftcards_generate_barcodes"] = "توليد أكواد الباركود";
|
||||
$lang["giftcards_giftcard"] = "بطاقة هدية";
|
||||
$lang["giftcards_giftcard_number"] = "رقم بطاقة الهدية";
|
||||
|
||||
@@ -22,6 +22,10 @@ $lang["items_cost_price"] = "سعر التكلفة";
|
||||
$lang["items_cost_price_number"] = "سعر التكلفة يجب أن يكون رقم.";
|
||||
$lang["items_cost_price_required"] = "سعر التكلفة مطلوب.";
|
||||
$lang["items_count"] = "تحديث المخزون";
|
||||
$lang["items_csv_import_failed"] = "فشل الإستيراد من اكسل";
|
||||
$lang["items_csv_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
|
||||
$lang["items_csv_import_partially_failed"] = "يوجد خطأ بنسبة 1% في استيراد الاصناف في السطر: %2. لم يتم استيرادهم.";
|
||||
$lang["items_csv_import_success"] = "تم استيراد الأصناف بنجاح.";
|
||||
$lang["items_current_quantity"] = "الكمية الحالية";
|
||||
$lang["items_default_pack_name"] = "كل";
|
||||
$lang["items_description"] = "الوصف";
|
||||
@@ -32,16 +36,13 @@ $lang["items_edit_multiple_items"] = "تحريد مجموعة اصناف";
|
||||
$lang["items_empty_upc_items"] = "تفريغ اصناف UPC";
|
||||
$lang["items_error_adding_updating"] = "خطاء فى إضافة/تحديث صنف";
|
||||
$lang["items_error_updating_multiple"] = "خطاء فى تحديث بيانات أصناف";
|
||||
$lang["items_excel_import_failed"] = "فشل الإستيراد من اكسل";
|
||||
$lang["items_excel_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
|
||||
$lang["items_excel_import_partially_failed"] = "تم استيراد معظم الأصناف. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
|
||||
$lang["items_excel_import_success"] = "تم استيراد الأصناف بنجاح.";
|
||||
$lang["items_generate_barcodes"] = "توليد أكواد الباركود";
|
||||
$lang["items_hsn_code"] = "تسميات النظام المنسق";
|
||||
$lang["items_image"] = "صورة";
|
||||
$lang["items_import_items_excel"] = "استيراد من اكسل";
|
||||
$lang["items_import_items_csv"] = "استيراد من اكسل";
|
||||
$lang["items_info_provided_by"] = "المعلومات مقدمة بواسطة";
|
||||
$lang["items_inventory"] = "المخزن";
|
||||
$lang["items_inventory_CSV_import_quantity"] = "العدد المستورد من ملفات ال CSV";
|
||||
$lang["items_inventory_comments"] = "تعليقات";
|
||||
$lang["items_inventory_data_tracking"] = "تتبع بيانات المخزون";
|
||||
$lang["items_inventory_date"] = "التاريخ";
|
||||
|
||||
@@ -13,6 +13,7 @@ $lang["sales_cash"] = "نقدى";
|
||||
$lang["sales_cash_deposit"] = "ايداع نقدي";
|
||||
$lang["sales_cash_filter"] = "نقدى";
|
||||
$lang["sales_change_due"] = "الباقى";
|
||||
$lang["sales_change_price"] = "";
|
||||
$lang["sales_check"] = "شيك";
|
||||
$lang["sales_check_balance"] = "تذكير بموعد الشيك";
|
||||
$lang["sales_check_filter"] = "شيك";
|
||||
@@ -24,6 +25,7 @@ $lang["sales_confirm_delete"] = "هل تريد حذف عمليات البيع ا
|
||||
$lang["sales_confirm_restore"] = "هل انت متاكد من استعادة عملية البيع؟";
|
||||
$lang["sales_credit"] = "بطاقة إئتمانية";
|
||||
$lang["sales_credit_deposit"] = "ايداع ببطاقة ائتمان";
|
||||
$lang["sales_credit_filter"] = "";
|
||||
$lang["sales_customer"] = "العميل";
|
||||
$lang["sales_customer_address"] = "العنوان";
|
||||
$lang["sales_customer_discount"] = "الخصم";
|
||||
@@ -97,6 +99,7 @@ $lang["sales_no_filter"] = "الكل";
|
||||
$lang["sales_no_items_in_cart"] = "لايوجد أصناف فى السلة.";
|
||||
$lang["sales_no_sales_to_display"] = "لاتوجد عمليات بيع لعرضها.";
|
||||
$lang["sales_none_selected"] = "لم تقم بإختيار أى عمليات بيع لحذفها.";
|
||||
$lang["sales_nontaxed_ind"] = "";
|
||||
$lang["sales_not_authorized"] = "هذه العملية لا يمكن فعلها لعدم تخويلك.";
|
||||
$lang["sales_one_or_multiple"] = "عمليات بيع";
|
||||
$lang["sales_payment"] = "طريقة الدفع";
|
||||
@@ -120,6 +123,7 @@ $lang["sales_receipt_no_email"] = "هذا العميل ليس له اي بريد
|
||||
$lang["sales_receipt_number"] = "إيصال بيع";
|
||||
$lang["sales_receipt_sent"] = "تم إرسال الإيصال إلى";
|
||||
$lang["sales_receipt_unsent"] = "فشل إرسال الإيصال إلى";
|
||||
$lang["sales_refund"] = "";
|
||||
$lang["sales_register"] = "مسجل المبيعات";
|
||||
$lang["sales_remove_customer"] = "حذف عميل";
|
||||
$lang["sales_return"] = "إرتجاع";
|
||||
@@ -157,6 +161,7 @@ $lang["sales_tax"] = "ضريبة";
|
||||
$lang["sales_tax_id"] = "الرقم الضريبي";
|
||||
$lang["sales_tax_invoice"] = "فاتورة ضريبية";
|
||||
$lang["sales_tax_percent"] = "ضريبة %";
|
||||
$lang["sales_taxed_ind"] = "";
|
||||
$lang["sales_total"] = "المجموع";
|
||||
$lang["sales_total_tax_exclusive"] = "الإجمالى بدون الضرائب";
|
||||
$lang["sales_transaction_failed"] = "فشل حركة البيع.";
|
||||
|
||||
@@ -54,6 +54,7 @@ $lang["taxes_tax_codes_saved_successfully"] = "تم حفظ تغييرات قان
|
||||
$lang["taxes_tax_codes_saved_unsuccessfully"] = "لم يتم حفظ تغييرات قانون الضريبة";
|
||||
$lang["taxes_tax_excluded"] = "لا تشمل الضرائب";
|
||||
$lang["taxes_tax_group"] = "المجموعة الضريبية";
|
||||
$lang["taxes_tax_group_not_unique"] = "";
|
||||
$lang["taxes_tax_group_sequence"] = "تسلسل مجموعة الضرائب";
|
||||
$lang["taxes_tax_included"] = "الضريبة مشمولة";
|
||||
$lang["taxes_tax_jurisdiction"] = "الاختصاص الضريبي";
|
||||
|
||||
@@ -7,6 +7,7 @@ $lang["common_close"] = "إغلاق";
|
||||
$lang["common_comments"] = "تعليقات";
|
||||
$lang["common_common"] = "عام";
|
||||
$lang["common_confirm_search"] = "لقد قمت اختيار أكتر من سجل، سوف تفقد هذه الاختيارات عند إرسال البحث، موافق؟";
|
||||
$lang["common_copyrights"] = "© 2010 - %1";
|
||||
$lang["common_correct_errors"] = "يرجى تصحيح الأخطاء المحددة قبل الحفظ";
|
||||
$lang["common_country"] = "البلد";
|
||||
$lang["common_date"] = "التاريخ";
|
||||
@@ -16,9 +17,9 @@ $lang["common_download_import_template"] = "تنزيل قالب الاستيرا
|
||||
$lang["common_edit"] = "تحرير";
|
||||
$lang["common_email"] = "بريد إلكتروني";
|
||||
$lang["common_email_invalid_format"] = "شكل البريد الإلكتروني غير صحيح.";
|
||||
$lang["common_export_excel"] = "تصدير إلى اكسل";
|
||||
$lang["common_export_excel_no"] = "لا";
|
||||
$lang["common_export_excel_yes"] = "نعم";
|
||||
$lang["common_export_csv"] = "تصدير إلى اكسل";
|
||||
$lang["common_export_csv_no"] = "لا";
|
||||
$lang["common_export_csv_yes"] = "نعم";
|
||||
$lang["common_fields_required_message"] = "الحقول التي بالأحمر مطلوبة";
|
||||
$lang["common_first_name"] = "الاسم الأول";
|
||||
$lang["common_first_name_required"] = "الاسم الأول مطلوب.";
|
||||
@@ -29,7 +30,7 @@ $lang["common_gender_male"] = "ذكر";
|
||||
$lang["common_id"] = "كود";
|
||||
$lang["common_import"] = "استيراد";
|
||||
$lang["common_import_change_file"] = "تغيير";
|
||||
$lang["common_import_excel"] = "استيراد من اكسل";
|
||||
$lang["common_import_csv"] = "استيراد من اكسل";
|
||||
$lang["common_import_full_path"] = "المسار الكامل لملف اكسل مطلوب";
|
||||
$lang["common_import_remove_file"] = "إزالة";
|
||||
$lang["common_import_select_file"] = "اختار ملف";
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<?php
|
||||
<?php
|
||||
|
||||
$lang["config_address"] = "عنوان الشركة";
|
||||
$lang["config_address_required"] = "عنوان الشركة مطلوب.";
|
||||
$lang["config_all_set"] = "All file permissions are set correctly!";
|
||||
$lang["config_allow_duplicate_barcodes"] = "السماح بتشابة الباركود";
|
||||
$lang["config_apostrophe"] = "الفاصلة";
|
||||
$lang["config_backup_button"] = "نسخ إحتياطى";
|
||||
@@ -32,6 +34,7 @@ $lang["config_bottom"] = "الأسفل";
|
||||
$lang["config_cash_decimals"] = "فواصل النقدية";
|
||||
$lang["config_cash_decimals_tooltip"] = "إذا كانت الكسور العشرية النقدية وعشرية العملات هي نفسها ثم لن يتم تقريب النقدية.";
|
||||
$lang["config_cash_rounding"] = "التقريب النقدي";
|
||||
$lang["config_category_dropdown"] = "";
|
||||
$lang["config_center"] = "الوسط";
|
||||
$lang["config_comma"] = "فاصلة";
|
||||
$lang["config_company"] = "اسم الشركة";
|
||||
@@ -110,6 +113,7 @@ $lang["config_email_smtp_user"] = "اسم مستخدم SMTP";
|
||||
$lang["config_enforce_privacy"] = "فرض نظام الخصوصية";
|
||||
$lang["config_enforce_privacy_tooltip"] = "حماية ملفات ومعلومات المستخدم عند الحذف";
|
||||
$lang["config_fax"] = "الفاكس";
|
||||
$lang["config_file_perm"] = "There are problems with file permissions please fix and reload this page.";
|
||||
$lang["config_financial_year"] = "بداية السنة المالية";
|
||||
$lang["config_financial_year_apr"] = "1 أبريل";
|
||||
$lang["config_financial_year_aug"] = "1 أغسطس";
|
||||
@@ -134,6 +138,11 @@ $lang["config_general_configuration"] = "إعدادات عامة";
|
||||
$lang["config_giftcard_number"] = "رقم كارت الهدية";
|
||||
$lang["config_giftcard_random"] = "توليد عشوائي";
|
||||
$lang["config_giftcard_series"] = "توليد في السلسلة";
|
||||
$lang["config_image_allowed_file_types"] = "";
|
||||
$lang["config_image_max_height_tooltip"] = "";
|
||||
$lang["config_image_max_size_tooltip"] = "";
|
||||
$lang["config_image_max_width_tooltip"] = "";
|
||||
$lang["config_image_restrictions"] = "";
|
||||
$lang["config_include_hsn"] = "تشمل الدعم لرمز نظام منسق";
|
||||
$lang["config_info"] = "معلومات";
|
||||
$lang["config_info_configuration"] = "معلومات الشركة";
|
||||
@@ -146,6 +155,8 @@ $lang["config_invoice_email_message"] = "قالب البريد الإلكترو
|
||||
$lang["config_invoice_enable"] = "تفعيل الفوترة";
|
||||
$lang["config_invoice_printer"] = "طابعة الفواتير";
|
||||
$lang["config_invoice_type"] = "نوع الفاتورة";
|
||||
$lang["config_is_readable"] = "";
|
||||
$lang["config_is_writable"] = "is writable, but the permissions are higher than 750.";
|
||||
$lang["config_jsprintsetup_required"] = "تحذير! هذه الخاصية غير المفعلة سوف تعمل فقط مع وجود الاضافة jsPrintSetup على متصفح فايرفوكس. حفظ على أى حال؟";
|
||||
$lang["config_language"] = "اللغة";
|
||||
$lang["config_last_used_invoice_number"] = "اخر رقم مستخدم للفاتورة";
|
||||
@@ -183,6 +194,7 @@ $lang["config_msg_src_required"] = "مطلوب SMS-API كود المرسل لـ"
|
||||
$lang["config_msg_uid"] = "SMS-API اسم المستخدم لـ";
|
||||
$lang["config_msg_uid_required"] = "مطلوب SMS-API اسم المستخدم لـ";
|
||||
$lang["config_multi_pack_enabled"] = "رزم متعددة لكل صنف";
|
||||
$lang["config_no_risk"] = "No security/vulnerability risks.";
|
||||
$lang["config_none"] = "لايوجد";
|
||||
$lang["config_notify_alignment"] = "مكان عرض رسائل المعلومات";
|
||||
$lang["config_number_format"] = "شكل الرقم";
|
||||
@@ -190,8 +202,10 @@ $lang["config_number_locale"] = "التهيئة الاقليمية";
|
||||
$lang["config_number_locale_invalid"] = "التهيئة الإقليمية المختارة غير صحية، راجع الرابط الموجود فى الملاحظة لاختيار تهيئة مناسبة.";
|
||||
$lang["config_number_locale_required"] = "رقم التهيئة الإقليمية مطلوب.";
|
||||
$lang["config_number_locale_tooltip"] = "إيجاد تهيئة إقليمية مناسبة عبر الرابط.";
|
||||
$lang["config_os_timezone"] = "";
|
||||
$lang["config_ospos_info"] = "معلومات التثبيت OSPOS";
|
||||
$lang["config_payment_options_order"] = "ترتيب خيارات الدفع";
|
||||
$lang["config_perm_risk"] = "Permissions higher than 750 leaves this software at risk.";
|
||||
$lang["config_phone"] = "هاتف الشركة";
|
||||
$lang["config_phone_required"] = "هاتف الشركة مطلوب.";
|
||||
$lang["config_print_bottom_margin"] = "الهامش السفلي";
|
||||
@@ -230,12 +244,14 @@ $lang["config_receipt_short"] = "مختصر";
|
||||
$lang["config_receipt_show_company_name"] = "عرض اسم الشركة";
|
||||
$lang["config_receipt_show_description"] = "عرض الوصف";
|
||||
$lang["config_receipt_show_serialnumber"] = "عرض الرقم المسلسل";
|
||||
$lang["config_receipt_show_tax_ind"] = "";
|
||||
$lang["config_receipt_show_taxes"] = "عرض الضرائب";
|
||||
$lang["config_receipt_show_total_discount"] = "عرض إجمالى الخصم";
|
||||
$lang["config_receipt_template"] = "قالب الايصال";
|
||||
$lang["config_receiving_calculate_average_price"] = "حساب متوسط سعر الأصناف المستلمة";
|
||||
$lang["config_recv_invoice_format"] = "شكل فاتورة الإستلام";
|
||||
$lang["config_register_mode_default"] = "نمط التسجيل الافتراضي";
|
||||
$lang["config_report_an_issue"] = "";
|
||||
$lang["config_return_policy_required"] = "سياسة الإسترجاع مطلوب.";
|
||||
$lang["config_reward"] = "المكافاة";
|
||||
$lang["config_reward_configuration"] = "اعدادات المكافاة";
|
||||
@@ -244,6 +260,7 @@ $lang["config_sales_invoice_format"] = "شكل فاتورة البيع";
|
||||
$lang["config_sales_quote_format"] = "شكل فاتورة عرض الاسعار";
|
||||
$lang["config_saved_successfully"] = "تم حفظ التهيئة بنجاح.";
|
||||
$lang["config_saved_unsuccessfully"] = "لم يتم حفظ التهيئة بنجاح.";
|
||||
$lang["config_security_issue"] = "Security Vulnerability Warning";
|
||||
$lang["config_server_notice"] = "يرجى استخدام المعلومات أدناه للإبلاغ عن المشكلة.";
|
||||
$lang["config_show_office_group"] = "اظهار ايكونة المكتب";
|
||||
$lang["config_statistics"] = "إرسال اﻹحصائيات";
|
||||
@@ -256,6 +273,7 @@ $lang["config_suggestions_first_column"] = "العامود 1";
|
||||
$lang["config_suggestions_layout"] = "تخطيط اقتراحات البحث";
|
||||
$lang["config_suggestions_second_column"] = "العامود 2";
|
||||
$lang["config_suggestions_third_column"] = "العامود 3";
|
||||
$lang["config_system_conf"] = "Setup & Conf";
|
||||
$lang["config_system_info"] = "System Info";
|
||||
$lang["config_table"] = "جدول";
|
||||
$lang["config_table_configuration"] = "اعدادات الجدول";
|
||||
@@ -273,8 +291,10 @@ $lang["config_tax_included"] = "شامل الضريبة";
|
||||
$lang["config_theme"] = "السمة";
|
||||
$lang["config_thousands_separator"] = "فاصل الاف";
|
||||
$lang["config_timezone"] = "المنطقة الزمنية";
|
||||
$lang["config_timezone_error"] = "";
|
||||
$lang["config_top"] = "علوى";
|
||||
$lang["config_use_destination_based_tax"] = "استخدام الضريبة المستندة على الوجهة";
|
||||
$lang["config_user_timezone"] = "";
|
||||
$lang["config_website"] = "موقع الشركة";
|
||||
$lang["config_work_order_enable"] = "تفعيل طلبات العمل";
|
||||
$lang["config_work_order_format"] = "شكل طلبات العمل";
|
||||
|
||||
@@ -12,6 +12,10 @@ $lang["customers_confirm_delete"] = "هل تريد حذف هؤلاء العمل
|
||||
$lang["customers_confirm_restore"] = "هل انت متأكد من إستعادة قاعدة بيانات الزبائن ؟";
|
||||
$lang["customers_consent"] = "موافقة التسجيل";
|
||||
$lang["customers_consent_required"] = "موافقة التسجيل هي خانة اجبارية.";
|
||||
$lang["customers_csv_import_failed"] = "فشل الإستيراد من اكسل";
|
||||
$lang["customers_csv_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
|
||||
$lang["customers_csv_import_partially_failed"] = "تم استيراد معظم العملاء. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
|
||||
$lang["customers_csv_import_success"] = "تم استيراد العملاء بنجاح.";
|
||||
$lang["customers_customer"] = "العميل";
|
||||
$lang["customers_date"] = "التاريخ";
|
||||
$lang["customers_discount"] = "نسبة الخصم";
|
||||
@@ -21,11 +25,7 @@ $lang["customers_discount_type"] = "نوع الحسم";
|
||||
$lang["customers_email_duplicate"] = "البريد الالكتروني مكرر.";
|
||||
$lang["customers_employee"] = "الموظف";
|
||||
$lang["customers_error_adding_updating"] = "خطاء فى إضافة أو تحديث العميل.";
|
||||
$lang["customers_excel_import_failed"] = "فشل الإستيراد من اكسل";
|
||||
$lang["customers_excel_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
|
||||
$lang["customers_excel_import_partially_failed"] = "تم استيراد معظم العملاء. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
|
||||
$lang["customers_excel_import_success"] = "تم استيراد العملاء بنجاح.";
|
||||
$lang["customers_import_items_excel"] = "استيراد العملا ء من ورقة عمل اكسل";
|
||||
$lang["customers_import_items_csv"] = "استيراد العملا ء من ورقة عمل اكسل";
|
||||
$lang["customers_mailchimp_activity_click"] = "النقر على البريد الإلكتروني";
|
||||
$lang["customers_mailchimp_activity_lastopen"] = "آخر رسالة إلكترونية مفتوحة";
|
||||
$lang["customers_mailchimp_activity_open"] = "رسالة إلكترونية مفتوحة";
|
||||
|
||||
@@ -17,6 +17,7 @@ $lang["giftcards_confirm_delete"] = "هل أنت متأكد انك تريد حذ
|
||||
$lang["giftcards_confirm_restore"] = "هل تريد بالتأكيد استعادة بطاقة (بطاقات) الهدايا المحددة؟";
|
||||
$lang["giftcards_cost_price"] = "سعر التكلفة";
|
||||
$lang["giftcards_count"] = "تحديث المخزون";
|
||||
$lang["giftcards_csv_import_failed"] = "فشل الإستيراد من اكسل.";
|
||||
$lang["giftcards_current_quantity"] = "الكميات الحالية";
|
||||
$lang["giftcards_description"] = "الوصف";
|
||||
$lang["giftcards_details_count"] = "حركة الكارت";
|
||||
@@ -25,7 +26,6 @@ $lang["giftcards_edit_fields_you_want_to_update"] = "قم بتحديث الحق
|
||||
$lang["giftcards_edit_multiple_giftcards"] = "تحرير مجموعة من بطاقات الهدايا.";
|
||||
$lang["giftcards_error_adding_updating"] = "خطاء فى إضافة/تحديث بطاقة هدية.";
|
||||
$lang["giftcards_error_updating_multiple"] = "خطاء فى تحديث بيانات بطاقات الهدايا.";
|
||||
$lang["giftcards_excel_import_failed"] = "فشل الإستيراد من اكسل.";
|
||||
$lang["giftcards_generate_barcodes"] = "توليد أكواد الباركود";
|
||||
$lang["giftcards_giftcard"] = "بطاقة هدية";
|
||||
$lang["giftcards_giftcard_number"] = "رقم بطاقة الهدية";
|
||||
|
||||
@@ -22,6 +22,10 @@ $lang["items_cost_price"] = "سعر التكلفة";
|
||||
$lang["items_cost_price_number"] = "سعر التكلفة يجب أن يكون رقم.";
|
||||
$lang["items_cost_price_required"] = "سعر التكلفة مطلوب.";
|
||||
$lang["items_count"] = "تحديث المخزون";
|
||||
$lang["items_csv_import_failed"] = "فشل الإستيراد من اكسل";
|
||||
$lang["items_csv_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
|
||||
$lang["items_csv_import_partially_failed"] = "تم استيراد معظم الأصناف. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
|
||||
$lang["items_csv_import_success"] = "تم استيراد الأصناف بنجاح.";
|
||||
$lang["items_current_quantity"] = "الكمية الحالية";
|
||||
$lang["items_default_pack_name"] = "كل";
|
||||
$lang["items_description"] = "الوصف";
|
||||
@@ -32,16 +36,13 @@ $lang["items_edit_multiple_items"] = "تحريد مجموعة اصناف";
|
||||
$lang["items_empty_upc_items"] = "تفريغ اصناف UPC";
|
||||
$lang["items_error_adding_updating"] = "خطاء فى إضافة/تحديث صنف";
|
||||
$lang["items_error_updating_multiple"] = "خطاء فى تحديث بيانات أصناف";
|
||||
$lang["items_excel_import_failed"] = "فشل الإستيراد من اكسل";
|
||||
$lang["items_excel_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
|
||||
$lang["items_excel_import_partially_failed"] = "تم استيراد معظم الأصناف. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
|
||||
$lang["items_excel_import_success"] = "تم استيراد الأصناف بنجاح.";
|
||||
$lang["items_generate_barcodes"] = "توليد أكواد الباركود";
|
||||
$lang["items_hsn_code"] = "تسميات النظام المنسق";
|
||||
$lang["items_image"] = "صورة";
|
||||
$lang["items_import_items_excel"] = "استيراد من اكسل";
|
||||
$lang["items_import_items_csv"] = "استيراد من اكسل";
|
||||
$lang["items_info_provided_by"] = "المعلومات مقدمة بواسطة";
|
||||
$lang["items_inventory"] = "المخزن";
|
||||
$lang["items_inventory_CSV_import_quantity"] = "العدد المستورد من ملفات ال CSV";
|
||||
$lang["items_inventory_comments"] = "تعليقات";
|
||||
$lang["items_inventory_data_tracking"] = "تتبع بيانات المخزون";
|
||||
$lang["items_inventory_date"] = "التاريخ";
|
||||
|
||||
@@ -13,6 +13,7 @@ $lang["sales_cash"] = "نقدى";
|
||||
$lang["sales_cash_deposit"] = "ايداع نقدي";
|
||||
$lang["sales_cash_filter"] = "نقدى";
|
||||
$lang["sales_change_due"] = "الباقى";
|
||||
$lang["sales_change_price"] = "";
|
||||
$lang["sales_check"] = "شيك";
|
||||
$lang["sales_check_balance"] = "تذكير بموعد الشيك";
|
||||
$lang["sales_check_filter"] = "شيك";
|
||||
@@ -24,6 +25,7 @@ $lang["sales_confirm_delete"] = "هل تريد حذف عمليات البيع ا
|
||||
$lang["sales_confirm_restore"] = "هل انت متاكد من استعادة عملية البيع؟";
|
||||
$lang["sales_credit"] = "بطاقة إئتمانية";
|
||||
$lang["sales_credit_deposit"] = "ايداع ببطاقة ائتمان";
|
||||
$lang["sales_credit_filter"] = "";
|
||||
$lang["sales_customer"] = "العميل";
|
||||
$lang["sales_customer_address"] = "العنوان";
|
||||
$lang["sales_customer_discount"] = "الخصم";
|
||||
@@ -97,6 +99,7 @@ $lang["sales_no_filter"] = "الكل";
|
||||
$lang["sales_no_items_in_cart"] = "لايوجد أصناف فى السلة.";
|
||||
$lang["sales_no_sales_to_display"] = "لاتوجد عمليات بيع لعرضها.";
|
||||
$lang["sales_none_selected"] = "لم تقم بإختيار أى عمليات بيع لحذفها.";
|
||||
$lang["sales_nontaxed_ind"] = "";
|
||||
$lang["sales_not_authorized"] = "هذه العملية لا يمكن فعلها لعدم تخويلك.";
|
||||
$lang["sales_one_or_multiple"] = "عمليات بيع";
|
||||
$lang["sales_payment"] = "طريقة الدفع";
|
||||
@@ -120,6 +123,7 @@ $lang["sales_receipt_no_email"] = "هذا العميل ليس له اي بريد
|
||||
$lang["sales_receipt_number"] = "إيصال بيع";
|
||||
$lang["sales_receipt_sent"] = "تم إرسال الإيصال إلى";
|
||||
$lang["sales_receipt_unsent"] = "فشل إرسال الإيصال إلى";
|
||||
$lang["sales_refund"] = "";
|
||||
$lang["sales_register"] = "مسجل المبيعات";
|
||||
$lang["sales_remove_customer"] = "حذف عميل";
|
||||
$lang["sales_return"] = "إرتجاع";
|
||||
@@ -157,6 +161,7 @@ $lang["sales_tax"] = "ضريبة";
|
||||
$lang["sales_tax_id"] = "الرقم الضريبي";
|
||||
$lang["sales_tax_invoice"] = "فاتورة ضريبية";
|
||||
$lang["sales_tax_percent"] = "ضريبة %";
|
||||
$lang["sales_taxed_ind"] = "";
|
||||
$lang["sales_total"] = "المجموع";
|
||||
$lang["sales_total_tax_exclusive"] = "الإجمالى بدون الضرائب";
|
||||
$lang["sales_transaction_failed"] = "فشل حركة البيع.";
|
||||
|
||||
@@ -54,6 +54,7 @@ $lang["taxes_tax_codes_saved_successfully"] = "تم حفظ تغييرات قان
|
||||
$lang["taxes_tax_codes_saved_unsuccessfully"] = "لم يتم حفظ تغييرات قانون الضريبة";
|
||||
$lang["taxes_tax_excluded"] = "لا تشمل الضرائب";
|
||||
$lang["taxes_tax_group"] = "المجموعة الضريبية";
|
||||
$lang["taxes_tax_group_not_unique"] = "";
|
||||
$lang["taxes_tax_group_sequence"] = "تسلسل مجموعة الضرائب";
|
||||
$lang["taxes_tax_included"] = "الضريبة مشمولة";
|
||||
$lang["taxes_tax_jurisdiction"] = "الاختصاص الضريبي";
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
<?php
|
||||
|
||||
$lang["attributes_attribute_value_invalid_chars"] = "Atribut dəyəri bu ':' və ya '|' olmaz";
|
||||
$lang["attributes_confirm_delete"] = "Seçilmiş Atributları silmək istədiyinizdən əminsinizmi?";
|
||||
$lang["attributes_confirm_restore"] = "Seçilmiş atributları bərpa etmək istədiyinizə əminsinizmi?";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
$lang["tables_all"] = "Hamısı";
|
||||
$lang["tables_all"] = "hamısı";
|
||||
$lang["tables_columns"] = "Sütunlar";
|
||||
$lang["tables_hide_show_pagination"] = "Gizlət/Göstər səhifənin nömrələnməsin";
|
||||
$lang["tables_loading"] = "Lütfən gözləyin, səhifə yüklənir...";
|
||||
|
||||
@@ -7,30 +7,31 @@ $lang["common_close"] = "Bağlı";
|
||||
$lang["common_comments"] = "Rəylər";
|
||||
$lang["common_common"] = "ortaq";
|
||||
$lang["common_confirm_search"] = "Bir və ya bir neçə sətir seçdiniz, bunlar axtarışınızdan sonra artıq seçilməyəcək. Bu axtarışı göndərmək istədiyinizə əminsinizmi?";
|
||||
$lang["common_copyrights"] = "© 2010 - %1";
|
||||
$lang["common_correct_errors"] = "Xahiş edirik təsdiqlə-dən əvvəl səhvləri düzəldin";
|
||||
$lang["common_country"] = "Ölkə";
|
||||
$lang["common_date"] = "Təqvim";
|
||||
$lang["common_delete"] = "Sil";
|
||||
$lang["common_det"] = "detallar";
|
||||
$lang["common_download_import_template"] = "İdxal Excel Şablonunu Yüklə (CSV)";
|
||||
$lang["common_download_import_template"] = "CSV Şablonunu (CSV) daxil edin";
|
||||
$lang["common_edit"] = "Redaktə Et";
|
||||
$lang["common_email"] = "E-poçt";
|
||||
$lang["common_email_invalid_format"] = "E-poçt ünvanı düzgün formatda deyil.";
|
||||
$lang["common_export_excel"] = "Excel Export";
|
||||
$lang["common_export_excel_no"] = "Xeyir";
|
||||
$lang["common_export_excel_yes"] = "Bəli";
|
||||
$lang["common_export_csv"] = "CSV Export";
|
||||
$lang["common_export_csv_no"] = "Xeyr";
|
||||
$lang["common_export_csv_yes"] = "Bəli";
|
||||
$lang["common_fields_required_message"] = "Qırmızı sahələr tələb olunur";
|
||||
$lang["common_first_name"] = "Ad";
|
||||
$lang["common_first_name_required"] = "Ad yazmağınız tələb olunur.";
|
||||
$lang["common_first_page"] = "Birinci";
|
||||
$lang["common_gender"] = "Cins";
|
||||
$lang["common_gender_female"] = "F";
|
||||
$lang["common_gender_male"] = "M";
|
||||
$lang["common_gender_female"] = "Q";
|
||||
$lang["common_gender_male"] = "K";
|
||||
$lang["common_id"] = "ID";
|
||||
$lang["common_import"] = "İmport";
|
||||
$lang["common_import"] = "Daxil et";
|
||||
$lang["common_import_change_file"] = "Dəyiş";
|
||||
$lang["common_import_excel"] = "Excel Import";
|
||||
$lang["common_import_full_path"] = "Excel faylına tam yol tələb olunur";
|
||||
$lang["common_import_csv"] = "CSV daxil et";
|
||||
$lang["common_import_full_path"] = "CSV faylına tam yol tələb olunur";
|
||||
$lang["common_import_remove_file"] = "Sil(Gizlət)";
|
||||
$lang["common_import_select_file"] = "Fayl Seç";
|
||||
$lang["common_inv"] = "Qaimə";
|
||||
@@ -44,7 +45,7 @@ $lang["common_migration_needed"] = "Girişdən sonra bazaya %1 köçməsi başla
|
||||
$lang["common_new"] = "Yenisi";
|
||||
$lang["common_no_persons_to_display"] = "Göstərmək üçün heç kim yoxdur.";
|
||||
$lang["common_none_selected_text"] = "Seçin";
|
||||
$lang["common_or"] = "Və Ya";
|
||||
$lang["common_or"] = "Və ya";
|
||||
$lang["common_phone_number"] = "Telefon";
|
||||
$lang["common_phone_number_required"] = "çıxarış ";
|
||||
$lang["common_please_visit_my"] = "Xahiş edirik ziyarət edin";
|
||||
@@ -58,9 +59,9 @@ $lang["common_return_policy"] = "Qaytarma siyasəti";
|
||||
$lang["common_search"] = "Axtarış";
|
||||
$lang["common_search_options"] = "Axtarış variantları";
|
||||
$lang["common_searched_for"] = "Axtarıldı";
|
||||
$lang["common_state"] = "Ştat";
|
||||
$lang["common_state"] = "Əyalət";
|
||||
$lang["common_submit"] = "Təsdiqlə";
|
||||
$lang["common_total_spent"] = "Cəmi Xərclənmiş";
|
||||
$lang["common_total_spent"] = "Ümumi xərc";
|
||||
$lang["common_unknown"] = "Naməlum";
|
||||
$lang["common_view_recent_sales"] = "Son Satışları Göstər";
|
||||
$lang["common_website"] = "Veb Sayt";
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<?php
|
||||
<?php
|
||||
|
||||
$lang["config_address"] = "Şirkət Adresi";
|
||||
$lang["config_address_required"] = "Şirkətin adı olan boşluq sahəsi doldurulmalıdı.";
|
||||
$lang["config_address_required"] = "Şirkətin adı olan boşluq sahəsi doldurulmalıdı.";
|
||||
$lang["config_all_set"] = "Bütün fayl icazələri düzgün qurulub!";
|
||||
$lang["config_allow_duplicate_barcodes"] = "Dublikat Barkodlarına icazə verin";
|
||||
$lang["config_apostrophe"] = "Apastrof";
|
||||
$lang["config_backup_button"] = "Ehtiyyat Köçürmə";
|
||||
@@ -32,6 +34,7 @@ $lang["config_bottom"] = "Aşağı";
|
||||
$lang["config_cash_decimals"] = "Nəğd Pul Cədvəlləri";
|
||||
$lang["config_cash_decimals_tooltip"] = "Nağd pul və Məzənnədəki ədədlər eyni olarsa, onda nağd pul yuvarlaqlaşması baş verməz.";
|
||||
$lang["config_cash_rounding"] = "Nəğd Pul Yuvarlaqlaşdırılması";
|
||||
$lang["config_category_dropdown"] = "Bölməni açılan siyahida göstər";
|
||||
$lang["config_center"] = "Mərkəz";
|
||||
$lang["config_comma"] = "vergül";
|
||||
$lang["config_company"] = "Şirkətin Adı";
|
||||
@@ -110,6 +113,7 @@ $lang["config_email_smtp_user"] = "SMTP İstifadəçi Adı";
|
||||
$lang["config_enforce_privacy"] = "Məxvilik Təmin edin";
|
||||
$lang["config_enforce_privacy_tooltip"] = "Müştərilərin gizliliyini qorumaq, silmək halında məlumat şifrələməsini təmin etmək";
|
||||
$lang["config_fax"] = "Faks";
|
||||
$lang["config_file_perm"] = "Fayl icazəsində problem var, lütfən bu səhvləri düzəldib səhifəni yeniləyin.";
|
||||
$lang["config_financial_year"] = "Maliyyə İli Başlancığı";
|
||||
$lang["config_financial_year_apr"] = "1 Aprel";
|
||||
$lang["config_financial_year_aug"] = "1 Avgust";
|
||||
@@ -134,6 +138,11 @@ $lang["config_general_configuration"] = "Ümumi Konfiqurasiya";
|
||||
$lang["config_giftcard_number"] = "Hədiyyə Kartı Nömrəsi";
|
||||
$lang["config_giftcard_random"] = "Təsadüfən Yarat";
|
||||
$lang["config_giftcard_series"] = "Bölümlərə görə Yarat";
|
||||
$lang["config_image_allowed_file_types"] = "İcazəli fayl növləri";
|
||||
$lang["config_image_max_height_tooltip"] = "Şəkillərinin maksimum hündürlüyü pikselə(px).";
|
||||
$lang["config_image_max_size_tooltip"] = "Şəkil yükləmələrinin maksimum fayl ölçüsü kilobaytla(kb).";
|
||||
$lang["config_image_max_width_tooltip"] = "Şəkillərinin maksimum enliliyi pikselə(px).";
|
||||
$lang["config_image_restrictions"] = "Şəkil yükləmə məhdudiyyətləri";
|
||||
$lang["config_include_hsn"] = "HSN Kodlarına dəstək verin";
|
||||
$lang["config_info"] = "Məlumat";
|
||||
$lang["config_info_configuration"] = "Dükan İnformasiyası";
|
||||
@@ -146,6 +155,8 @@ $lang["config_invoice_email_message"] = "Dil";
|
||||
$lang["config_invoice_enable"] = "Fakturanı Aktivləşdir";
|
||||
$lang["config_invoice_printer"] = "Faktura Printeri";
|
||||
$lang["config_invoice_type"] = "Qaimənin Tipi";
|
||||
$lang["config_is_readable"] = "oxunur, lakin icazələr 660-dan yüksəkdir.";
|
||||
$lang["config_is_writable"] = "yazılabilir, lakin icazələr 750-dən yüksəkdir.";
|
||||
$lang["config_jsprintsetup_required"] = "Xəbərdarlıq: Bu funksiya yalnız FireFox jsPrintSetup addon quraşdırıldığı halda işləyəcəkdir. Yadda saxlanılsın?";
|
||||
$lang["config_language"] = "Dil";
|
||||
$lang["config_last_used_invoice_number"] = "Son istifadə edilmiş Faktura nömrəsi";
|
||||
@@ -183,6 +194,7 @@ $lang["config_msg_src_required"] = "SMS-API Göndərici ID tələb olunan sahəd
|
||||
$lang["config_msg_uid"] = "SMS-API İstifadəçi adı";
|
||||
$lang["config_msg_uid_required"] = "SMS-API İstifadəçi adı tələb olunan sahədir";
|
||||
$lang["config_multi_pack_enabled"] = "Hər bir elementə birdən çox paket";
|
||||
$lang["config_no_risk"] = "Təhlükəsizlik / zəiflik riski yoxdur.";
|
||||
$lang["config_none"] = "Heç biri";
|
||||
$lang["config_notify_alignment"] = "Bildiriş Pəncərə Mövqeyi";
|
||||
$lang["config_number_format"] = "Nömrə Formatı";
|
||||
@@ -190,8 +202,10 @@ $lang["config_number_locale"] = "Yerləşdirmə";
|
||||
$lang["config_number_locale_invalid"] = "Kompaniyanın tel.";
|
||||
$lang["config_number_locale_required"] = "Şirkət telefonu olan sahə boş qalma bilməz.";
|
||||
$lang["config_number_locale_tooltip"] = "Bu link vasitəsilə uyğun bir yer tapın.";
|
||||
$lang["config_os_timezone"] = "OSPOS Saat qurşağı:";
|
||||
$lang["config_ospos_info"] = "OSPOS quraşdırılması məlumatı";
|
||||
$lang["config_payment_options_order"] = "Sifariş üçün Ödəmə Şərtləri";
|
||||
$lang["config_perm_risk"] = "Permissions higher than 750 leaves this software at risk.";
|
||||
$lang["config_phone"] = "Şirkətin Telefon Nömrəsi";
|
||||
$lang["config_phone_required"] = "Şirkət Telefonu tələb olunan bir sahədir.";
|
||||
$lang["config_print_bottom_margin"] = "Çərçivədki aşağı Sərhəd";
|
||||
@@ -230,12 +244,14 @@ $lang["config_receipt_short"] = "Qısa";
|
||||
$lang["config_receipt_show_company_name"] = "Şirkətin Adını Göstər";
|
||||
$lang["config_receipt_show_description"] = "Təsviri Göstər";
|
||||
$lang["config_receipt_show_serialnumber"] = "Serial nömrəsi göstər";
|
||||
$lang["config_receipt_show_tax_ind"] = "Vergi göstəricisinə bax";
|
||||
$lang["config_receipt_show_taxes"] = "Vergini Göstər";
|
||||
$lang["config_receipt_show_total_discount"] = "Ümumi Endirim göstər";
|
||||
$lang["config_receipt_template"] = "Geri qaytarmaq mütləq məsafə lazımdır";
|
||||
$lang["config_receiving_calculate_average_price"] = "Otalama Qiyməti Hesabla (Alınan)";
|
||||
$lang["config_recv_invoice_format"] = "Alınan Fatura Formatı";
|
||||
$lang["config_register_mode_default"] = "Standart Qeydiyyat Rejimi";
|
||||
$lang["config_report_an_issue"] = "Bir problemi bildirişi";
|
||||
$lang["config_return_policy_required"] = "Geri Qaytarma Qanunu olan sahə zəruri sahədir.";
|
||||
$lang["config_reward"] = "Mükafat";
|
||||
$lang["config_reward_configuration"] = "Konfiqurasiya ugurla saxlanıldı";
|
||||
@@ -244,18 +260,20 @@ $lang["config_sales_invoice_format"] = "Satış Fatura Formatı";
|
||||
$lang["config_sales_quote_format"] = "Satış Sitat Formati";
|
||||
$lang["config_saved_successfully"] = "Konfiqurasiya uğurla saxlanıldı.";
|
||||
$lang["config_saved_unsuccessfully"] = "Konfiqurasiyanı saxlamq mümkün olmadı.";
|
||||
$lang["config_security_issue"] = "Təhlükəsizlik açığı xəbərdarlığı";
|
||||
$lang["config_server_notice"] = "Xahiş edirik, hesabatın təqdim edilməsi üçün aşağıdakı məlumatı istifadə edin.";
|
||||
$lang["config_show_office_group"] = "Ofis İşarəsini Göstər";
|
||||
$lang["config_statistics"] = "Statistikalari Göndər";
|
||||
$lang["config_statistics_tooltip"] = "İnkişaf və xüsusiyyət təkmilləşdirilməsi məqsədi ilə statistika göndərin.";
|
||||
$lang["config_stock_location"] = "Ehtiyyat Yeri";
|
||||
$lang["config_stock_location_duplicate"] = "Ehtiyyat Olan Yer Unikal Olmalıdir.";
|
||||
$lang["config_stock_location_invalid_chars"] = "Ehtiyyat Yeri '_' təşkil etməməlidir.";
|
||||
$lang["config_stock_location_invalid_chars"] = "Ehtiyyat Yeri təşkil etməməlidir '_'.";
|
||||
$lang["config_stock_location_required"] = "Ehtiyyat Yeri Olan Sahə boş qala bilməz.";
|
||||
$lang["config_suggestions_first_column"] = "Sütun 1";
|
||||
$lang["config_suggestions_layout"] = "Təklif Çərçivələrini Axtar";
|
||||
$lang["config_suggestions_second_column"] = "Sütun 2";
|
||||
$lang["config_suggestions_third_column"] = "Sütun 3";
|
||||
$lang["config_system_conf"] = "Quraşdırma və Conf";
|
||||
$lang["config_system_info"] = "System Info";
|
||||
$lang["config_table"] = "Masa";
|
||||
$lang["config_table_configuration"] = "Cədvəl Konfiqurasiyası";
|
||||
@@ -273,8 +291,10 @@ $lang["config_tax_included"] = "Vergi Daxildir";
|
||||
$lang["config_theme"] = "Vebsayt";
|
||||
$lang["config_thousands_separator"] = "Minliklər Ayıran";
|
||||
$lang["config_timezone"] = "Vaxt Zonası";
|
||||
$lang["config_timezone_error"] = "OSPOS Saat qurşağı Yerli saat qurşağınızdan fərqlidir.";
|
||||
$lang["config_top"] = "Yuxarı";
|
||||
$lang["config_use_destination_based_tax"] = "Təyinatından vergi istifadə edin";
|
||||
$lang["config_user_timezone"] = "Yerli saat qurşağı:";
|
||||
$lang["config_website"] = "Vebsayt";
|
||||
$lang["config_work_order_enable"] = "İş Sifariş Dəstəyi";
|
||||
$lang["config_work_order_format"] = "İş Sifarş Farmatı";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
$lang["customers_account_number"] = "hesab nömrəsi";
|
||||
$lang["customers_account_number"] = "Hesab nömrəsi";
|
||||
$lang["customers_account_number_duplicate"] = "Hesab nömrəsi artıq verilənlər bazasında mövcuddur.";
|
||||
$lang["customers_available_points"] = "Mövcud ballar";
|
||||
$lang["customers_average"] = "Orta xərclənən";
|
||||
@@ -12,6 +12,10 @@ $lang["customers_confirm_delete"] = "Siz seçilmiş müştərini (lər) silməy
|
||||
$lang["customers_confirm_restore"] = "Seçilmiş müştəriləri bərpa etmək istədiyinizə əminsinizmi?";
|
||||
$lang["customers_consent"] = "Qeydiyyatın razılığı";
|
||||
$lang["customers_consent_required"] = "Qeydiyyatın razılığı tələb olunan bir sahədir.";
|
||||
$lang["customers_csv_import_failed"] = "CSV idxalı alınmadı";
|
||||
$lang["customers_csv_import_nodata_wrongformat"] = "Yüklənmiş faylda məlumat yoxdur və ya düzgün formatda deyil.";
|
||||
$lang["customers_csv_import_partially_failed"] = "Müştəri əlavəsi bəzi səhvlər olmaqla uğurla alındı:";
|
||||
$lang["customers_csv_import_success"] = "Müştəri Əlavəsi uğurla alındı.";
|
||||
$lang["customers_customer"] = "Müştəri";
|
||||
$lang["customers_date"] = "Tarix";
|
||||
$lang["customers_discount"] = "Endirim";
|
||||
@@ -21,11 +25,7 @@ $lang["customers_discount_type"] = "Endirim növü";
|
||||
$lang["customers_email_duplicate"] = "Məlumat bazasında artıq bu e-poçt ünvanı var.";
|
||||
$lang["customers_employee"] = "Əməkdaş";
|
||||
$lang["customers_error_adding_updating"] = "Müştəri əlavəsində ya da yenilənməsində XƏTA.";
|
||||
$lang["customers_excel_import_failed"] = "Excel idxalı alınmadı";
|
||||
$lang["customers_excel_import_nodata_wrongformat"] = "Yüklənmiş faylda məlumat yoxdur və ya düzgün formatda deyil.";
|
||||
$lang["customers_excel_import_partially_failed"] = "Müştəri əlavəsi bəzi səhvlər olmaqla uğurla alındı:";
|
||||
$lang["customers_excel_import_success"] = "Müştəri Əlavəsi uğurla alındı.";
|
||||
$lang["customers_import_items_excel"] = "Exceldən müştəri əlavə et";
|
||||
$lang["customers_import_items_csv"] = "CSVdən müştəri əlavə et";
|
||||
$lang["customers_mailchimp_activity_click"] = "Elektron poçt düyməsi";
|
||||
$lang["customers_mailchimp_activity_lastopen"] = "Son açılan məktub";
|
||||
$lang["customers_mailchimp_activity_open"] = "Açıq məktub";
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
$lang["employees_basic_information"] = "Məlumat";
|
||||
$lang["employees_cannot_be_deleted"] = "Seçilmiş əməkdaş (lar) silinə bilməz, bir və ya birdən çox əməkdaş satışlar edib, əks halda siz öz heasabınızı silməyə çalışırsiz.";
|
||||
$lang["employees_cannot_be_deleted"] = "Seçilmiş əməkdaş (lar) silinə bilməz, bir və ya birdən çox əməkdaş satışlar edib, əks halda siz öz heasabınızı silməyə çalışırsınız.";
|
||||
$lang["employees_change_password"] = "Şifrəni Dəyiş";
|
||||
$lang["employees_confirm_delete"] = "Siz əminsiniz ki seçilmiş əməkdaşları silmək istəyirsiniz?";
|
||||
$lang["employees_confirm_restore"] = "Seçilmiş əməkdaşı (lar) yenidən bərpa etməyinizə əminsinizmi?";
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
<?php
|
||||
|
||||
$lang["category_name_required"] = "Xərc Kategoriyası adı tələb olunur";
|
||||
$lang["expenses_categories_add_item"] = "Kategoriya əlavə et";
|
||||
$lang["expenses_categories_cannot_be_deleted"] = "Kategoriya Xərcləri silinmədi";
|
||||
$lang["category_name_required"] = "Xərc kateqoriyası adı tələb olunur";
|
||||
$lang["expenses_categories_add_item"] = "Kateqoriya əlavə et";
|
||||
$lang["expenses_categories_cannot_be_deleted"] = "Kateqoriya xərcləri silinmədi";
|
||||
$lang["expenses_categories_category_id"] = "Kimlik";
|
||||
$lang["expenses_categories_confirm_delete"] = "Seçilmiş xərc kateqoriyasını silmək istədiyinizə əminsinizmi?";
|
||||
$lang["expenses_categories_confirm_restore"] = "Seçilmiş xərc bölməsini bərpa etmək istədiyinizə əminsiniz?";
|
||||
$lang["expenses_categories_description"] = "Kateqoriya təsviri";
|
||||
$lang["expenses_categories_error_adding_updating"] = "Əlavədə Səhv/Xərcl Kategotiyasi yenilənir";
|
||||
$lang["expenses_categories_info"] = "Xərc Kategoriyası Məlumatı";
|
||||
$lang["expenses_categories_name"] = "Kategoriya adı";
|
||||
$lang["expenses_categories_new"] = "Yeni Kategoriya";
|
||||
$lang["expenses_categories_no_expenses_categories_to_display"] = "Heç bir kategoriya göstərilmir";
|
||||
$lang["expenses_categories_none_selected"] = "Siz heç bir Xərc Kategoriyasi Seçməmisiniz";
|
||||
$lang["expenses_categories_one_or_multiple"] = "Xərc Kategoriyası";
|
||||
$lang["expenses_categories_info"] = "Xərc kateqoriyası haqqında məlumat";
|
||||
$lang["expenses_categories_name"] = "Kateqoriya adı";
|
||||
$lang["expenses_categories_new"] = "Yeni Kateqoriya";
|
||||
$lang["expenses_categories_no_expenses_categories_to_display"] = "Heç bir kateqoriya göstərilmir";
|
||||
$lang["expenses_categories_none_selected"] = "Siz heç bir Xərc Kateqoriyası seçməmisiniz";
|
||||
$lang["expenses_categories_one_or_multiple"] = "Xərc Kateqoriyası";
|
||||
$lang["expenses_categories_quantity"] = "Miqdarı";
|
||||
$lang["expenses_categories_successful_adding"] = "Xərc Kategoriyası uğurla əlavə edildi";
|
||||
$lang["expenses_categories_successful_deleted"] = "Xərc Kategoriyası uğurla silindi";
|
||||
|
||||
@@ -17,6 +17,7 @@ $lang["giftcards_confirm_delete"] = "Seçilmiş Hədiyyə Kartlarını ləğv et
|
||||
$lang["giftcards_confirm_restore"] = "Seçilmiş Hədiyyə Kartlarını (lər) bərpa etmək istədiyinizə əminsinizmi?";
|
||||
$lang["giftcards_cost_price"] = "Topdan Satış Qiyməti";
|
||||
$lang["giftcards_count"] = "İnventarlaşdırmanı Yenilə";
|
||||
$lang["giftcards_csv_import_failed"] = "CSV idxalı uğursuz oldu.";
|
||||
$lang["giftcards_current_quantity"] = "Hazırkı Sayı";
|
||||
$lang["giftcards_description"] = "Təsvir";
|
||||
$lang["giftcards_details_count"] = "İnventarlaşdırma Sayının Detalları";
|
||||
@@ -25,7 +26,6 @@ $lang["giftcards_edit_fields_you_want_to_update"] = "Seçilmiş Hədiyyə Kartla
|
||||
$lang["giftcards_edit_multiple_giftcards"] = "Birneçə Hədiyyə Kartını redaktə et.";
|
||||
$lang["giftcards_error_adding_updating"] = "Hədiyyə Kartı əlavə və ya yenilənməsində XƏTA.";
|
||||
$lang["giftcards_error_updating_multiple"] = "Hədiyyə kartlarının yeniləməsi uğursuz oldu.";
|
||||
$lang["giftcards_excel_import_failed"] = "Excel idxalı uğursuz oldu.";
|
||||
$lang["giftcards_generate_barcodes"] = "Barkodlar Yarat";
|
||||
$lang["giftcards_giftcard"] = "Hədiyyə Kartı";
|
||||
$lang["giftcards_giftcard_number"] = "Hədiyyə Kartı Nömrəsi";
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
$lang["item_kits_add_item"] = "Mal Əlavə Etmək";
|
||||
$lang["item_kits_all"] = "Hamısı";
|
||||
$lang["item_kits_cannot_be_deleted"] = "Dəst Mal (lar) silinə bilməz.";
|
||||
$lang["item_kits_confirm_delete"] = "Siz əminsiniz ki seçilmiş mallar dəstlərini silmək istəyirsiniz?";
|
||||
$lang["item_kits_confirm_delete"] = "Seçilmiş mallar dəstlərini silmək istəyinizə əminsiniz?";
|
||||
$lang["item_kits_confirm_restore"] = "Seçilən Mal dəstini (lər) bərpa etmək istədiyinizə əminsiniz?";
|
||||
$lang["item_kits_description"] = "Mal Dəstinin Təsviri";
|
||||
$lang["item_kits_discount"] = "Endirim";
|
||||
|
||||
@@ -18,10 +18,14 @@ $lang["items_confirm_bulk_edit"] = "Siz əminsinizmi ki işarələnmiş butun ma
|
||||
$lang["items_confirm_bulk_edit_wipe_taxes"] = "Bütün Vergi haqqında olan Məlumatların yerləri dəyişəcək.";
|
||||
$lang["items_confirm_delete"] = "siz əminsiniz ki seçilmiş malları silmək istəyirsiniz?";
|
||||
$lang["items_confirm_restore"] = "Seçilmiş element (lər) bərpa etmək istədiyinizə əminsinizmi?";
|
||||
$lang["items_cost_price"] = "topdan satış qiyməti";
|
||||
$lang["items_cost_price"] = "Alış qiyməti";
|
||||
$lang["items_cost_price_number"] = "Topdan satış rəqəmlə olmalıdır.";
|
||||
$lang["items_cost_price_required"] = "Topdan satiış - yazılması vacib sahə.";
|
||||
$lang["items_count"] = "inventorun yenilənməsi";
|
||||
$lang["items_csv_import_failed"] = "səhv csv import";
|
||||
$lang["items_csv_import_nodata_wrongformat"] = "Yüklənmiş faylda məlumat yoxdur və ya düzgün formatlanmır.";
|
||||
$lang["items_csv_import_partially_failed"] = "Xətlərdə %1 element idxalı uğursuzluq (lar) var: %2. Heç bir sıra idxal edilmədi.";
|
||||
$lang["items_csv_import_success"] = "Malların İdxalı Uğurla Həyata Keçdi.";
|
||||
$lang["items_current_quantity"] = "indiki say";
|
||||
$lang["items_default_pack_name"] = "Hər biri";
|
||||
$lang["items_description"] = "təsvir";
|
||||
@@ -32,16 +36,13 @@ $lang["items_edit_multiple_items"] = "bir neçə malın redaktəsi";
|
||||
$lang["items_empty_upc_items"] = "Boş Barkod Malları";
|
||||
$lang["items_error_adding_updating"] = "mal əlavə etməkdə və ya yeniləməkdə səhv var";
|
||||
$lang["items_error_updating_multiple"] = "malların yenilənməsində səhv var";
|
||||
$lang["items_excel_import_failed"] = "səhv excel import";
|
||||
$lang["items_excel_import_nodata_wrongformat"] = "Yüklənmiş faylda məlumat yoxdur və ya düzgün formatlanmır.";
|
||||
$lang["items_excel_import_partially_failed"] = "Bəzi uğursuzluqlarla idxal idarəsi müvəffəq olub:";
|
||||
$lang["items_excel_import_success"] = "Malların İdxalı Uğurla Həyata Keçdi.";
|
||||
$lang["items_generate_barcodes"] = "şifrə yarat";
|
||||
$lang["items_hsn_code"] = "Harmonize Sistem Nomenklaturası";
|
||||
$lang["items_image"] = "Avatar";
|
||||
$lang["items_import_items_excel"] = "Exceldən Malları İdxal Et";
|
||||
$lang["items_import_items_csv"] = "CSVdən Malları İdxal Et";
|
||||
$lang["items_info_provided_by"] = "Məlumat təqdim olundu";
|
||||
$lang["items_inventory"] = "inventor";
|
||||
$lang["items_inventory_CSV_import_quantity"] = "Miqdarı CSV-dən idxal olunur";
|
||||
$lang["items_inventory_comments"] = "komentariyalar";
|
||||
$lang["items_inventory_data_tracking"] = "İnventarlaşdırma Üçün Məlumat İzləmə";
|
||||
$lang["items_inventory_date"] = "Tarix";
|
||||
|
||||
@@ -8,7 +8,7 @@ $lang["module_cashups_desc"] = "Əlavə et, Yenilə, Sil və Qazancları axtar."
|
||||
$lang["module_config"] = "Konfiqursiya";
|
||||
$lang["module_config_desc"] = "ALSAN Konfiqurasiyasını dəyiş.";
|
||||
$lang["module_customers"] = "Müştərilər";
|
||||
$lang["module_customers_desc"] = "Əlavə et,Yenilə,Sil və Müştəriləri axtar.";
|
||||
$lang["module_customers_desc"] = "Əlavə et, Yenilə, Sil və Müştəriləri axtar.";
|
||||
$lang["module_employees"] = "Əməkdaşlar";
|
||||
$lang["module_employees_desc"] = "Əlavə et,Yenilə,Sil və Əməkdaşları axtar.";
|
||||
$lang["module_expenses"] = "Xərclər";
|
||||
@@ -35,7 +35,7 @@ $lang["module_reports"] = "Hesabatlar";
|
||||
$lang["module_reports_desc"] = "Hesabatları Yarat və Göstər.";
|
||||
$lang["module_sales"] = "Satışlar";
|
||||
$lang["module_sales_desc"] = "Satış prosesləri və Qaytarılanlar.";
|
||||
$lang["module_suppliers"] = "Təchizatcılar";
|
||||
$lang["module_suppliers_desc"] = "Əlavə et,Yenilə,Sil və Təchizatçıları Axtar.";
|
||||
$lang["module_suppliers"] = "Təchizatçılar";
|
||||
$lang["module_suppliers_desc"] = "Əlavə et, Yenilə, Sil və Təchizatçıları Axtar.";
|
||||
$lang["module_taxes"] = "Vergi";
|
||||
$lang["module_taxes_desc"] = "Satış üçün Vergiləri Ayarla.";
|
||||
|
||||
@@ -18,7 +18,7 @@ $lang["receivings_edit_sale"] = "malın redaktəsi səhvdir";
|
||||
$lang["receivings_employee"] = "Əməkdaş";
|
||||
$lang["receivings_error_editing_item"] = "Mal redaktə edilmədi.";
|
||||
$lang["receivings_error_requisition"] = "İnventarın yerdəyişməsi və ya yerinə qoyulması mümkün olmadı.";
|
||||
$lang["receivings_find_or_scan_item"] = "alış id";
|
||||
$lang["receivings_find_or_scan_item"] = "Məhsulu tap və ya skan et";
|
||||
$lang["receivings_find_or_scan_item_or_receipt"] = "malın adı";
|
||||
$lang["receivings_id"] = "alınma rejimi";
|
||||
$lang["receivings_item_name"] = "yeni tədarükçü";
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
<?php
|
||||
<?php
|
||||
|
||||
$lang["reports_all"] = "hamısı";
|
||||
$lang["reports_authority"] = "Səlahiyyət";
|
||||
$lang["reports_canceled"] = "Ləğv Edilmiş";
|
||||
$lang["reports_categories"] = "kateqoriyalar";
|
||||
$lang["reports_categories"] = "Kateqoriyalar";
|
||||
$lang["reports_categories_summary_report"] = "komentariyalar";
|
||||
$lang["reports_category"] = "Kategoriya";
|
||||
$lang["reports_code_canceled"] = "CNL";
|
||||
@@ -21,7 +22,7 @@ $lang["reports_cost"] = "hesab";
|
||||
$lang["reports_cost_price"] = "müştəri";
|
||||
$lang["reports_count"] = "müştərilər";
|
||||
$lang["reports_customer"] = "müştərilərin hesabatı";
|
||||
$lang["reports_customers"] = "gun";
|
||||
$lang["reports_customers"] = "Müştərilər";
|
||||
$lang["reports_customers_summary_report"] = "gün";
|
||||
$lang["reports_date"] = "təsvir";
|
||||
$lang["reports_date_range"] = "detallı göndərilən hesabatlar";
|
||||
@@ -38,7 +39,7 @@ $lang["reports_discounts"] = "Endirimlər";
|
||||
$lang["reports_discounts_summary_report"] = "əməkdaş";
|
||||
$lang["reports_earned"] = "əməkdaş";
|
||||
$lang["reports_employee"] = "əməkdaşın hesabatı";
|
||||
$lang["reports_employees"] = "qrafik hesabatlar";
|
||||
$lang["reports_employees"] = "İşçilər";
|
||||
$lang["reports_employees_summary_report"] = "İşçilərin Xülasəsi Hesabatı";
|
||||
$lang["reports_expenses"] = "Xərclər";
|
||||
$lang["reports_expenses_amount"] = "Məbləğ";
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
<?php
|
||||
<?php
|
||||
|
||||
$lang["customers_available_points"] = "Mövcud ballar";
|
||||
$lang["rewards_package"] = "Mükafatlar";
|
||||
$lang["rewards_remaining_balance"] = "Mükafatın yerdə qalan bal dəyəri ";
|
||||
$lang["sales_account_number"] = "Hesab #";
|
||||
$lang["sales_add_payment"] = "Ödəniş Əlavə Etmək";
|
||||
$lang["sales_amount_due"] = "Məbləğə Görə";
|
||||
$lang["sales_amount_tendered"] = "Təklif olunan Məbləğ";
|
||||
$lang["sales_amount_due"] = "Qalıq";
|
||||
$lang["sales_amount_tendered"] = "Ödənilən məbləğ";
|
||||
$lang["sales_authorized_signature"] = "Səlahiyyətli İmza";
|
||||
$lang["sales_cancel_sale"] = "İmtina";
|
||||
$lang["sales_cash"] = "Nəğd pullar";
|
||||
$lang["sales_cash_deposit"] = "Nağd depozit";
|
||||
$lang["sales_cash_filter"] = "Nəğd Pul";
|
||||
$lang["sales_change_due"] = "Dəyişikliyə görə";
|
||||
$lang["sales_change_due"] = "Qalıq";
|
||||
$lang["sales_change_price"] = "Satış qiymətini dəyiş";
|
||||
$lang["sales_check"] = "Çek";
|
||||
$lang["sales_check_balance"] = "Çek Xatırladan";
|
||||
$lang["sales_check_filter"] = "Çek";
|
||||
@@ -23,13 +25,14 @@ $lang["sales_confirm_delete"] = "Siz əminsiniz ki seçilmiş satışı (lar) si
|
||||
$lang["sales_confirm_restore"] = "Seçilmiş Satışları bərpa etmək istədiyinizə əminsinizmi?";
|
||||
$lang["sales_credit"] = "Kredit kartı";
|
||||
$lang["sales_credit_deposit"] = "Kredit Depoziti";
|
||||
$lang["sales_credit_filter"] = "";
|
||||
$lang["sales_customer"] = "Ad";
|
||||
$lang["sales_customer_address"] = "Ünvan";
|
||||
$lang["sales_customer_discount"] = "Endirim";
|
||||
$lang["sales_customer_email"] = "E-poçt";
|
||||
$lang["sales_customer_location"] = "Yer";
|
||||
$lang["sales_customer_mailchimp_status"] = "Mailchimp Statusu";
|
||||
$lang["sales_customer_optional"] = "(Ödənişlər üçün tələb olunur)";
|
||||
$lang["sales_customer_optional"] = "(Ödənişlərdə tələb olunur)";
|
||||
$lang["sales_customer_required"] = "(Vacib)";
|
||||
$lang["sales_customer_total"] = "Cəmi";
|
||||
$lang["sales_date"] = "Satış Tarixi";
|
||||
@@ -87,7 +90,7 @@ $lang["sales_item_name"] = "Malın adı";
|
||||
$lang["sales_item_number"] = "Mal #";
|
||||
$lang["sales_item_out_of_stock"] = "Mal satılıb.";
|
||||
$lang["sales_mode"] = "Qeydiyyat Rejimi";
|
||||
$lang["sales_must_enter_numeric"] = "Təklif olunan məbləğ rəqəm ilə olmalıdır.";
|
||||
$lang["sales_must_enter_numeric"] = "Ödəniş məbləği rəqəm ilə olmalıdır.";
|
||||
$lang["sales_must_enter_numeric_giftcard"] = "Hədiyyə Kartın nömrəsi rəqəmlə olmalıdır.";
|
||||
$lang["sales_new_customer"] = "Yeni Müştəri";
|
||||
$lang["sales_new_item"] = "Yeni Mal";
|
||||
@@ -96,6 +99,7 @@ $lang["sales_no_filter"] = "Hamısı";
|
||||
$lang["sales_no_items_in_cart"] = "Səbətdə heç bir mal yoxdur.";
|
||||
$lang["sales_no_sales_to_display"] = "Satış yoxdur.";
|
||||
$lang["sales_none_selected"] = "Silmək üçün hər hansı bir Satış (lar) seçmədiniz.";
|
||||
$lang["sales_nontaxed_ind"] = " . ";
|
||||
$lang["sales_not_authorized"] = "Bu hərəkət səlahiyyətli deyil.";
|
||||
$lang["sales_one_or_multiple"] = "Satış (lar)";
|
||||
$lang["sales_payment"] = "Ödəniş Növü";
|
||||
@@ -119,6 +123,7 @@ $lang["sales_receipt_no_email"] = "Bu müştərinin etibarlı bir e-poçt ünvan
|
||||
$lang["sales_receipt_number"] = "Satış №";
|
||||
$lang["sales_receipt_sent"] = "Çek Göndərildi";
|
||||
$lang["sales_receipt_unsent"] = "Çek göndərilə Bilmədi";
|
||||
$lang["sales_refund"] = "Qaytarılma növü";
|
||||
$lang["sales_register"] = "jurnal satışı";
|
||||
$lang["sales_remove_customer"] = "müştəriləri silmək";
|
||||
$lang["sales_return"] = "qaytarmaq";
|
||||
@@ -129,7 +134,7 @@ $lang["sales_sale_by_invoice"] = "Faktura ilə Satış";
|
||||
$lang["sales_sale_for_customer"] = "Müştəri:";
|
||||
$lang["sales_sale_time"] = "Vaxt";
|
||||
$lang["sales_sales_tax"] = "Satış Vergisi";
|
||||
$lang["sales_select_customer"] = "müştəri secmək";
|
||||
$lang["sales_select_customer"] = "Müştəri seçmək";
|
||||
$lang["sales_send_invoice"] = "Faktura Göndər";
|
||||
$lang["sales_send_quote"] = "Sitat Göndər";
|
||||
$lang["sales_send_receipt"] = "Çek Göndər";
|
||||
@@ -156,6 +161,7 @@ $lang["sales_tax"] = "vergi";
|
||||
$lang["sales_tax_id"] = "Vergi İD";
|
||||
$lang["sales_tax_invoice"] = "Vergi Qaimə";
|
||||
$lang["sales_tax_percent"] = "vergi %";
|
||||
$lang["sales_taxed_ind"] = "T";
|
||||
$lang["sales_total"] = "cəm";
|
||||
$lang["sales_total_tax_exclusive"] = "Vergi Xaric";
|
||||
$lang["sales_transaction_failed"] = "Satış əməliyyatı uğursuz oldu.";
|
||||
|
||||
@@ -4,7 +4,7 @@ $lang["suppliers_account_number"] = "Hesab №";
|
||||
$lang["suppliers_agency_name"] = "Agentliyin Adı";
|
||||
$lang["suppliers_cannot_be_deleted"] = "Seçilmiş Təchizatçı (lar) silinə bilmədi. Bir və ya birdən çox satışlar var.";
|
||||
$lang["suppliers_category"] = "Bölmə";
|
||||
$lang["suppliers_company_name"] = "Kompaniyanın Adı";
|
||||
$lang["suppliers_company_name"] = "Firma Adı";
|
||||
$lang["suppliers_company_name_required"] = "Şirkətin Adı - yazılması vacib sahə.";
|
||||
$lang["suppliers_confirm_delete"] = "Siz əminsiniz ki seçilmiş təchizatçı (lar) ı silmək istəyirsiniz?";
|
||||
$lang["suppliers_confirm_restore"] = "Seçilmiş təchizatçı (lar) bərpa etmək istədiyinizə əminsinizmi?";
|
||||
@@ -12,7 +12,7 @@ $lang["suppliers_cost"] = "Maliyə Təchizatçı";
|
||||
$lang["suppliers_error_adding_updating"] = "Təchizatçı əlavə et / yenilə XƏTA.";
|
||||
$lang["suppliers_goods"] = "Məhsullar Təchizatçı";
|
||||
$lang["suppliers_new"] = "Yeni Təchizatçı";
|
||||
$lang["suppliers_none_selected"] = "Siz silmək üçün heç bir təchizatçı (lar) seçmədiniz.";
|
||||
$lang["suppliers_none_selected"] = "Siz silmək üçün heç bir təchizatçı seçmədiniz.";
|
||||
$lang["suppliers_one_or_multiple"] = "Təchizatçı (lar)";
|
||||
$lang["suppliers_successful_adding"] = "Siz Təchizatçını uğurla əlavə etdiniz";
|
||||
$lang["suppliers_successful_deleted"] = "Siz uğurla sildiniz";
|
||||
|
||||
@@ -54,6 +54,7 @@ $lang["taxes_tax_codes_saved_successfully"] = "Vergi kodu dəyişikliyi saxlanı
|
||||
$lang["taxes_tax_codes_saved_unsuccessfully"] = "Vergi kodu dəyişikliyi saxlanılmadı";
|
||||
$lang["taxes_tax_excluded"] = "Vergi istisna olunur";
|
||||
$lang["taxes_tax_group"] = "Vergi qurupu";
|
||||
$lang["taxes_tax_group_not_unique"] = "Vergi Qrupu %1 unikal deyil";
|
||||
$lang["taxes_tax_group_sequence"] = "Vergi Qrupu Sırası";
|
||||
$lang["taxes_tax_included"] = "Vergi daxildir";
|
||||
$lang["taxes_tax_jurisdiction"] = "Vergi Yurisdiksiya";
|
||||
|
||||
@@ -7,18 +7,19 @@ $lang["common_close"] = "Затвори";
|
||||
$lang["common_comments"] = "Коментари";
|
||||
$lang["common_common"] = "Често срещани";
|
||||
$lang["common_confirm_search"] = "Избрали сте един или повече редове, след търсене няма да бъдат избрани. Наистина ли искате да подадете това търсене?";
|
||||
$lang["common_copyrights"] = "© 2010 - %1";
|
||||
$lang["common_correct_errors"] = "";
|
||||
$lang["common_country"] = "Държава";
|
||||
$lang["common_date"] = "Дата";
|
||||
$lang["common_delete"] = "Изтриване";
|
||||
$lang["common_det"] = "Детайли";
|
||||
$lang["common_download_import_template"] = "Изтегляне на шаблон за импортиране на Excel (CSV)";
|
||||
$lang["common_download_import_template"] = "Изтегляне на шаблон за импортиране на CSV (CSV)";
|
||||
$lang["common_edit"] = "Редактиране";
|
||||
$lang["common_email"] = "Електронна поща";
|
||||
$lang["common_email_invalid_format"] = "Имейл адресът не е в правилния формат.";
|
||||
$lang["common_export_excel"] = "Експорт на Excel";
|
||||
$lang["common_export_excel_no"] = "Не";
|
||||
$lang["common_export_excel_yes"] = "Да";
|
||||
$lang["common_export_csv"] = "Експорт на CSV";
|
||||
$lang["common_export_csv_no"] = "Не";
|
||||
$lang["common_export_csv_yes"] = "Да";
|
||||
$lang["common_fields_required_message"] = "Полетата в червено са задължителни";
|
||||
$lang["common_first_name"] = "Име";
|
||||
$lang["common_first_name_required"] = "Име е задължително поле.";
|
||||
@@ -29,8 +30,8 @@ $lang["common_gender_male"] = "М";
|
||||
$lang["common_id"] = "Номер";
|
||||
$lang["common_import"] = "Внос";
|
||||
$lang["common_import_change_file"] = "Промяна";
|
||||
$lang["common_import_excel"] = "Внос на Excel";
|
||||
$lang["common_import_full_path"] = "Необходим е пълен пътека към файл с Excel";
|
||||
$lang["common_import_csv"] = "Внос на CSV";
|
||||
$lang["common_import_full_path"] = "Необходим е пълен пътека към файл с CSV";
|
||||
$lang["common_import_remove_file"] = "Премахване";
|
||||
$lang["common_import_select_file"] = "Изберете файл";
|
||||
$lang["common_inv"] = "Покана";
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
$lang["config_address"] = "Адрес на компанията";
|
||||
$lang["config_address_required"] = "Адресът на компанията е задължително поле.";
|
||||
$lang["config_all_set"] = "All file permissions are set correctly!";
|
||||
$lang["config_allow_duplicate_barcodes"] = "Разрешаване на дублирани баркодове";
|
||||
$lang["config_apostrophe"] = "апостроф";
|
||||
$lang["config_backup_button"] = "резервно копие";
|
||||
@@ -33,6 +34,7 @@ $lang["config_bottom"] = "Bottom";
|
||||
$lang["config_cash_decimals"] = "Cash Decimals";
|
||||
$lang["config_cash_decimals_tooltip"] = "If Cash Decimals and Currency Decimals are the same then no cash rounding will take place.";
|
||||
$lang["config_cash_rounding"] = "Cash Rounding";
|
||||
$lang["config_category_dropdown"] = "";
|
||||
$lang["config_center"] = "Center";
|
||||
$lang["config_comma"] = "comma";
|
||||
$lang["config_company"] = "Company Name";
|
||||
@@ -111,6 +113,7 @@ $lang["config_email_smtp_user"] = "SMTP Username";
|
||||
$lang["config_enforce_privacy"] = "";
|
||||
$lang["config_enforce_privacy_tooltip"] = "";
|
||||
$lang["config_fax"] = "Fax";
|
||||
$lang["config_file_perm"] = "There are problems with file permissions please fix and reload this page.";
|
||||
$lang["config_financial_year"] = "Fiscal Year Start";
|
||||
$lang["config_financial_year_apr"] = "1st of April";
|
||||
$lang["config_financial_year_aug"] = "1st of August";
|
||||
@@ -135,6 +138,11 @@ $lang["config_general_configuration"] = "General Configuration";
|
||||
$lang["config_giftcard_number"] = "Gift Card Number";
|
||||
$lang["config_giftcard_random"] = "Generate Random";
|
||||
$lang["config_giftcard_series"] = "Generate in Series";
|
||||
$lang["config_image_allowed_file_types"] = "";
|
||||
$lang["config_image_max_height_tooltip"] = "";
|
||||
$lang["config_image_max_size_tooltip"] = "";
|
||||
$lang["config_image_max_width_tooltip"] = "";
|
||||
$lang["config_image_restrictions"] = "";
|
||||
$lang["config_include_hsn"] = "";
|
||||
$lang["config_info"] = "Information";
|
||||
$lang["config_info_configuration"] = "Store Information";
|
||||
@@ -147,6 +155,8 @@ $lang["config_invoice_email_message"] = "Invoice Email Template";
|
||||
$lang["config_invoice_enable"] = "Enable Invoicing";
|
||||
$lang["config_invoice_printer"] = "Invoice Printer";
|
||||
$lang["config_invoice_type"] = "";
|
||||
$lang["config_is_readable"] = "";
|
||||
$lang["config_is_writable"] = "is writable, but the permissions are higher than 750.";
|
||||
$lang["config_jsprintsetup_required"] = "Warning: This functionality will only work if you have the FireFox jsPrintSetup addon installed. Save anyway?";
|
||||
$lang["config_language"] = "Language";
|
||||
$lang["config_last_used_invoice_number"] = "Last used Invoice Number";
|
||||
@@ -184,6 +194,7 @@ $lang["config_msg_src_required"] = "SMS-API Sender ID is a required field";
|
||||
$lang["config_msg_uid"] = "SMS-API Username";
|
||||
$lang["config_msg_uid_required"] = "SMS-API Username is a required field";
|
||||
$lang["config_multi_pack_enabled"] = "";
|
||||
$lang["config_no_risk"] = "No security/vulnerability risks.";
|
||||
$lang["config_none"] = "none";
|
||||
$lang["config_notify_alignment"] = "Notification Popup Position";
|
||||
$lang["config_number_format"] = "Number Format";
|
||||
@@ -191,8 +202,10 @@ $lang["config_number_locale"] = "Localization";
|
||||
$lang["config_number_locale_invalid"] = "The entered locale is invalid. Check the link in the tooltip to find a valid locale.";
|
||||
$lang["config_number_locale_required"] = "Number Locale is a required field.";
|
||||
$lang["config_number_locale_tooltip"] = "Find a suitable locale through this link.";
|
||||
$lang["config_os_timezone"] = "";
|
||||
$lang["config_ospos_info"] = "";
|
||||
$lang["config_payment_options_order"] = "Payment Options Order";
|
||||
$lang["config_perm_risk"] = "Permissions higher than 750 leaves this software at risk.";
|
||||
$lang["config_phone"] = "Company Phone";
|
||||
$lang["config_phone_required"] = "Company Phone is a required field.";
|
||||
$lang["config_print_bottom_margin"] = "Margin Bottom";
|
||||
@@ -231,12 +244,14 @@ $lang["config_receipt_short"] = "Short";
|
||||
$lang["config_receipt_show_company_name"] = "Show Company Name";
|
||||
$lang["config_receipt_show_description"] = "Show Description";
|
||||
$lang["config_receipt_show_serialnumber"] = "Show Serial Number";
|
||||
$lang["config_receipt_show_tax_ind"] = "";
|
||||
$lang["config_receipt_show_taxes"] = "Show Taxes";
|
||||
$lang["config_receipt_show_total_discount"] = "Show Total Discount";
|
||||
$lang["config_receipt_template"] = "Receipt Template";
|
||||
$lang["config_receiving_calculate_average_price"] = "Calc avg. Price (Receiving)";
|
||||
$lang["config_recv_invoice_format"] = "Receivings Invoice Format";
|
||||
$lang["config_register_mode_default"] = "Default Register Mode";
|
||||
$lang["config_report_an_issue"] = "";
|
||||
$lang["config_return_policy_required"] = "Return policy is a required field.";
|
||||
$lang["config_reward"] = "Reward";
|
||||
$lang["config_reward_configuration"] = "Reward Configuration";
|
||||
@@ -245,6 +260,7 @@ $lang["config_sales_invoice_format"] = "Sales Invoice Format";
|
||||
$lang["config_sales_quote_format"] = "Sales Quote Format";
|
||||
$lang["config_saved_successfully"] = "Configuration save successful.";
|
||||
$lang["config_saved_unsuccessfully"] = "Configuration save failed.";
|
||||
$lang["config_security_issue"] = "Security Vulnerability Warning";
|
||||
$lang["config_server_notice"] = "Please use the below info for issue reporting.";
|
||||
$lang["config_show_office_group"] = "Show office icon";
|
||||
$lang["config_statistics"] = "Send Statistics";
|
||||
@@ -257,6 +273,7 @@ $lang["config_suggestions_first_column"] = "Column 1";
|
||||
$lang["config_suggestions_layout"] = "Search Suggestions Layout";
|
||||
$lang["config_suggestions_second_column"] = "Column 2";
|
||||
$lang["config_suggestions_third_column"] = "Column 3";
|
||||
$lang["config_system_conf"] = "Setup & Conf";
|
||||
$lang["config_system_info"] = "System Info";
|
||||
$lang["config_table"] = "Table";
|
||||
$lang["config_table_configuration"] = "Table Configuration";
|
||||
@@ -274,8 +291,10 @@ $lang["config_tax_included"] = "Tax Included";
|
||||
$lang["config_theme"] = "Theme";
|
||||
$lang["config_thousands_separator"] = "Thousands Separator";
|
||||
$lang["config_timezone"] = "Timezone";
|
||||
$lang["config_timezone_error"] = "";
|
||||
$lang["config_top"] = "Top";
|
||||
$lang["config_use_destination_based_tax"] = "";
|
||||
$lang["config_user_timezone"] = "";
|
||||
$lang["config_website"] = "Website";
|
||||
$lang["config_work_order_enable"] = "Work Order Support";
|
||||
$lang["config_work_order_format"] = "Work Order Format";
|
||||
|
||||
@@ -12,6 +12,10 @@ $lang["customers_confirm_delete"] = "Наистина ли искате да и
|
||||
$lang["customers_confirm_restore"] = "Наистина ли искате да възстановите избраните клиенти?";
|
||||
$lang["customers_consent"] = "Съгласие за регистрация";
|
||||
$lang["customers_consent_required"] = "Регистрационното съгласие е задължително поле.";
|
||||
$lang["customers_csv_import_failed"] = "Вносът от CSV не бе успешен";
|
||||
$lang["customers_csv_import_nodata_wrongformat"] = "Каченият файл няма данни или е неправилно форматиран.";
|
||||
$lang["customers_csv_import_partially_failed"] = "Вносът на клиента е успешен с няколко грешки:";
|
||||
$lang["customers_csv_import_success"] = "Вносът на клиенти е успешен.";
|
||||
$lang["customers_customer"] = "Клиент";
|
||||
$lang["customers_date"] = "Дата";
|
||||
$lang["customers_discount"] = "Отстъпка";
|
||||
@@ -21,11 +25,7 @@ $lang["customers_discount_type"] = "";
|
||||
$lang["customers_email_duplicate"] = "Имейл адресът вече е в базата данни.";
|
||||
$lang["customers_employee"] = "Служител";
|
||||
$lang["customers_error_adding_updating"] = "Добавянето или актуализирането на клиента е неуспешно.";
|
||||
$lang["customers_excel_import_failed"] = "Вносът от Excel не бе успешен";
|
||||
$lang["customers_excel_import_nodata_wrongformat"] = "Каченият файл няма данни или е неправилно форматиран.";
|
||||
$lang["customers_excel_import_partially_failed"] = "Вносът на клиента е успешен с няколко грешки:";
|
||||
$lang["customers_excel_import_success"] = "Вносът на клиенти е успешен.";
|
||||
$lang["customers_import_items_excel"] = "Импортиране на клиент от Excel";
|
||||
$lang["customers_import_items_csv"] = "Импортиране на клиент от CSV";
|
||||
$lang["customers_mailchimp_activity_click"] = "Email click";
|
||||
$lang["customers_mailchimp_activity_lastopen"] = "Последно отворен Имейл";
|
||||
$lang["customers_mailchimp_activity_open"] = "Имейлът е отворен";
|
||||
|
||||
@@ -17,6 +17,7 @@ $lang["giftcards_confirm_delete"] = "Are you sure you want to delete the selecte
|
||||
$lang["giftcards_confirm_restore"] = "";
|
||||
$lang["giftcards_cost_price"] = "Wholesale Price";
|
||||
$lang["giftcards_count"] = "Update Inventory";
|
||||
$lang["giftcards_csv_import_failed"] = "CSV import failed.";
|
||||
$lang["giftcards_current_quantity"] = "Current Quantity";
|
||||
$lang["giftcards_description"] = "Description";
|
||||
$lang["giftcards_details_count"] = "Inventory Count Details";
|
||||
@@ -25,7 +26,6 @@ $lang["giftcards_edit_fields_you_want_to_update"] = "Edit desired fields for sel
|
||||
$lang["giftcards_edit_multiple_giftcards"] = "Edit Multiple Gift Cards.";
|
||||
$lang["giftcards_error_adding_updating"] = "Gift Card add or update failed.";
|
||||
$lang["giftcards_error_updating_multiple"] = "Gift Card(s) update failed.";
|
||||
$lang["giftcards_excel_import_failed"] = "Excel import failed.";
|
||||
$lang["giftcards_generate_barcodes"] = "Generate Barcodes";
|
||||
$lang["giftcards_giftcard"] = "Gift Card";
|
||||
$lang["giftcards_giftcard_number"] = "Gift Card Number";
|
||||
|
||||
@@ -22,6 +22,10 @@ $lang["items_cost_price"] = "Wholesale Price";
|
||||
$lang["items_cost_price_number"] = "Wholesale Price must be a number.";
|
||||
$lang["items_cost_price_required"] = "Wholesale Price is a required field.";
|
||||
$lang["items_count"] = "Update Inventory";
|
||||
$lang["items_csv_import_failed"] = "CSV import failed";
|
||||
$lang["items_csv_import_nodata_wrongformat"] = "The uploaded file has no data or is formatted incorrectly.";
|
||||
$lang["items_csv_import_partially_failed"] = "Item import successful with some failures:";
|
||||
$lang["items_csv_import_success"] = "Item import successful.";
|
||||
$lang["items_current_quantity"] = "Current Quantity";
|
||||
$lang["items_default_pack_name"] = "";
|
||||
$lang["items_description"] = "Description";
|
||||
@@ -32,16 +36,13 @@ $lang["items_edit_multiple_items"] = "Editing Multiple Items";
|
||||
$lang["items_empty_upc_items"] = "Empty Barcode Items";
|
||||
$lang["items_error_adding_updating"] = "Error adding/updating item";
|
||||
$lang["items_error_updating_multiple"] = "Error updating items";
|
||||
$lang["items_excel_import_failed"] = "Excel import failed";
|
||||
$lang["items_excel_import_nodata_wrongformat"] = "The uploaded file has no data or is formatted incorrectly.";
|
||||
$lang["items_excel_import_partially_failed"] = "Item import successful with some failures:";
|
||||
$lang["items_excel_import_success"] = "Item import successful.";
|
||||
$lang["items_generate_barcodes"] = "Generate Barcodes";
|
||||
$lang["items_hsn_code"] = "";
|
||||
$lang["items_image"] = "Avatar";
|
||||
$lang["items_import_items_excel"] = "Item Import from Excel";
|
||||
$lang["items_import_items_csv"] = "Item Import from CSV";
|
||||
$lang["items_info_provided_by"] = "Information provided by";
|
||||
$lang["items_inventory"] = "Inventory";
|
||||
$lang["items_inventory_CSV_import_quantity"] = "";
|
||||
$lang["items_inventory_comments"] = "Comments";
|
||||
$lang["items_inventory_data_tracking"] = "Inventory Data Tracking";
|
||||
$lang["items_inventory_date"] = "Date";
|
||||
|
||||
@@ -3,16 +3,17 @@
|
||||
$lang["customers_available_points"] = "Налични точки";
|
||||
$lang["rewards_package"] = "Награди";
|
||||
$lang["rewards_remaining_balance"] = "Оставащата стойност на точките за награда е ";
|
||||
$lang["sales_account_number"] = "";
|
||||
$lang["sales_account_number"] = "Номер на акаунт";
|
||||
$lang["sales_add_payment"] = "Добавяне на плащане";
|
||||
$lang["sales_amount_due"] = "Дължима сума";
|
||||
$lang["sales_amount_tendered"] = "Предоставена сума";
|
||||
$lang["sales_authorized_signature"] = "";
|
||||
$lang["sales_authorized_signature"] = "Оторизиран подпис";
|
||||
$lang["sales_cancel_sale"] = "Отказ";
|
||||
$lang["sales_cash"] = "В брой";
|
||||
$lang["sales_cash_deposit"] = "Депозит в брой";
|
||||
$lang["sales_cash_filter"] = "В брой";
|
||||
$lang["sales_change_due"] = "Промяна на дължимото";
|
||||
$lang["sales_change_price"] = "";
|
||||
$lang["sales_check"] = "Проверка";
|
||||
$lang["sales_check_balance"] = "Проверете остатъка";
|
||||
$lang["sales_check_filter"] = "Проверка";
|
||||
@@ -24,6 +25,7 @@ $lang["sales_confirm_delete"] = "Наистина ли искате да изт
|
||||
$lang["sales_confirm_restore"] = "Наистина ли искате да възстановите избраната Продажба (и)?";
|
||||
$lang["sales_credit"] = "Кредитна карта";
|
||||
$lang["sales_credit_deposit"] = "Кредитен депозит";
|
||||
$lang["sales_credit_filter"] = "";
|
||||
$lang["sales_customer"] = "Име";
|
||||
$lang["sales_customer_address"] = "Адрес";
|
||||
$lang["sales_customer_discount"] = "Намаление";
|
||||
@@ -76,10 +78,10 @@ $lang["sales_invoice_no_email"] = "Този клиент няма валиден
|
||||
$lang["sales_invoice_number"] = "Фактура #";
|
||||
$lang["sales_invoice_number_duplicate"] = "Номерът на фактурите трябва да е уникален.";
|
||||
$lang["sales_invoice_sent"] = "Фактура, изпратена до";
|
||||
$lang["sales_invoice_total"] = "";
|
||||
$lang["sales_invoice_type_custom_invoice"] = "";
|
||||
$lang["sales_invoice_total"] = "Фактура общо";
|
||||
$lang["sales_invoice_type_custom_invoice"] = "Ръчна фактура";
|
||||
$lang["sales_invoice_type_custom_tax_invoice"] = "";
|
||||
$lang["sales_invoice_type_invoice"] = "";
|
||||
$lang["sales_invoice_type_invoice"] = "Фактура";
|
||||
$lang["sales_invoice_type_tax_invoice"] = "";
|
||||
$lang["sales_invoice_unsent"] = "Фактурата не можа да бъде изпратена до";
|
||||
$lang["sales_invoice_update"] = "Преизчисляване";
|
||||
@@ -97,6 +99,7 @@ $lang["sales_no_filter"] = "Всичко";
|
||||
$lang["sales_no_items_in_cart"] = "В количката няма продукти.";
|
||||
$lang["sales_no_sales_to_display"] = "Няма продажби за показване .";
|
||||
$lang["sales_none_selected"] = "Не сте избрали каквито и да е Продажби за изтриване.";
|
||||
$lang["sales_nontaxed_ind"] = "";
|
||||
$lang["sales_not_authorized"] = "Това действие не е разрешено.";
|
||||
$lang["sales_one_or_multiple"] = "Продажба (и)";
|
||||
$lang["sales_payment"] = "Вид плащане";
|
||||
@@ -120,6 +123,7 @@ $lang["sales_receipt_no_email"] = "Този клиент няма валиден
|
||||
$lang["sales_receipt_number"] = "Продажба #";
|
||||
$lang["sales_receipt_sent"] = "Разписката е изпратена до";
|
||||
$lang["sales_receipt_unsent"] = "Разписката не бе изпратена до";
|
||||
$lang["sales_refund"] = "";
|
||||
$lang["sales_register"] = "Регистър на продажбите";
|
||||
$lang["sales_remove_customer"] = "Премахване на клиент";
|
||||
$lang["sales_return"] = "Връщане";
|
||||
@@ -157,6 +161,7 @@ $lang["sales_tax"] = "Данък";
|
||||
$lang["sales_tax_id"] = "";
|
||||
$lang["sales_tax_invoice"] = "";
|
||||
$lang["sales_tax_percent"] = "Данък %";
|
||||
$lang["sales_taxed_ind"] = "";
|
||||
$lang["sales_total"] = "Обща сума";
|
||||
$lang["sales_total_tax_exclusive"] = "Без данък";
|
||||
$lang["sales_transaction_failed"] = "Продажната транзакция е неуспешна.";
|
||||
|
||||
@@ -54,6 +54,7 @@ $lang["taxes_tax_codes_saved_successfully"] = "";
|
||||
$lang["taxes_tax_codes_saved_unsuccessfully"] = "";
|
||||
$lang["taxes_tax_excluded"] = "";
|
||||
$lang["taxes_tax_group"] = "";
|
||||
$lang["taxes_tax_group_not_unique"] = "";
|
||||
$lang["taxes_tax_group_sequence"] = "";
|
||||
$lang["taxes_tax_included"] = "";
|
||||
$lang["taxes_tax_jurisdiction"] = "";
|
||||
|
||||
@@ -7,18 +7,19 @@ $lang["common_close"] = "Zavřít";
|
||||
$lang["common_comments"] = "Podrobnosti";
|
||||
$lang["common_common"] = "";
|
||||
$lang["common_confirm_search"] = "Máte vybráno jeden nebo více řádků a tyto po po vyhledání nebudou vybrány. Chcete opravdu pokračovat s vyhledáváním?";
|
||||
$lang["common_copyrights"] = "© 2010 - %1";
|
||||
$lang["common_correct_errors"] = "";
|
||||
$lang["common_country"] = "Země";
|
||||
$lang["common_date"] = "Datum";
|
||||
$lang["common_delete"] = "Smazat";
|
||||
$lang["common_det"] = "podrobnosti";
|
||||
$lang["common_download_import_template"] = "Stáhnout šablonu pro Excel (CSV)";
|
||||
$lang["common_download_import_template"] = "Stáhnout šablonu pro CSV (CSV)";
|
||||
$lang["common_edit"] = "upravit";
|
||||
$lang["common_email"] = "Email";
|
||||
$lang["common_email_invalid_format"] = "Emailová adresa má špatný formát.";
|
||||
$lang["common_export_excel"] = "Export do Excelu";
|
||||
$lang["common_export_excel_no"] = "Ne";
|
||||
$lang["common_export_excel_yes"] = "Ano";
|
||||
$lang["common_export_csv"] = "Export do CSVu";
|
||||
$lang["common_export_csv_no"] = "Ne";
|
||||
$lang["common_export_csv_yes"] = "Ano";
|
||||
$lang["common_fields_required_message"] = "Červená pole jsou vyžadována";
|
||||
$lang["common_first_name"] = "Jméno";
|
||||
$lang["common_first_name_required"] = "Jméno je vyžadováno.";
|
||||
@@ -29,8 +30,8 @@ $lang["common_gender_male"] = "M";
|
||||
$lang["common_id"] = "Id";
|
||||
$lang["common_import"] = "Import";
|
||||
$lang["common_import_change_file"] = "Změnit";
|
||||
$lang["common_import_excel"] = "Import z Excelu";
|
||||
$lang["common_import_full_path"] = "Úplná cesta k souboru Excel je vyžadována";
|
||||
$lang["common_import_csv"] = "Import z CSVu";
|
||||
$lang["common_import_full_path"] = "Úplná cesta k souboru CSV je vyžadována";
|
||||
$lang["common_import_remove_file"] = "Vyjmout";
|
||||
$lang["common_import_select_file"] = "Vybrat soubor";
|
||||
$lang["common_inv"] = "";
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
$lang["config_address"] = "Adresa společnosti";
|
||||
$lang["config_address_required"] = "";
|
||||
$lang["config_all_set"] = "All file permissions are set correctly!";
|
||||
$lang["config_allow_duplicate_barcodes"] = "";
|
||||
$lang["config_apostrophe"] = "";
|
||||
$lang["config_backup_button"] = "";
|
||||
@@ -33,6 +34,7 @@ $lang["config_bottom"] = "";
|
||||
$lang["config_cash_decimals"] = "";
|
||||
$lang["config_cash_decimals_tooltip"] = "";
|
||||
$lang["config_cash_rounding"] = "";
|
||||
$lang["config_category_dropdown"] = "";
|
||||
$lang["config_center"] = "";
|
||||
$lang["config_comma"] = "";
|
||||
$lang["config_company"] = "";
|
||||
@@ -111,6 +113,7 @@ $lang["config_email_smtp_user"] = "";
|
||||
$lang["config_enforce_privacy"] = "";
|
||||
$lang["config_enforce_privacy_tooltip"] = "";
|
||||
$lang["config_fax"] = "";
|
||||
$lang["config_file_perm"] = "There are problems with file permissions please fix and reload this page.";
|
||||
$lang["config_financial_year"] = "";
|
||||
$lang["config_financial_year_apr"] = "";
|
||||
$lang["config_financial_year_aug"] = "";
|
||||
@@ -135,6 +138,11 @@ $lang["config_general_configuration"] = "";
|
||||
$lang["config_giftcard_number"] = "";
|
||||
$lang["config_giftcard_random"] = "";
|
||||
$lang["config_giftcard_series"] = "";
|
||||
$lang["config_image_allowed_file_types"] = "";
|
||||
$lang["config_image_max_height_tooltip"] = "";
|
||||
$lang["config_image_max_size_tooltip"] = "";
|
||||
$lang["config_image_max_width_tooltip"] = "";
|
||||
$lang["config_image_restrictions"] = "";
|
||||
$lang["config_include_hsn"] = "";
|
||||
$lang["config_info"] = "";
|
||||
$lang["config_info_configuration"] = "";
|
||||
@@ -147,6 +155,8 @@ $lang["config_invoice_email_message"] = "";
|
||||
$lang["config_invoice_enable"] = "";
|
||||
$lang["config_invoice_printer"] = "";
|
||||
$lang["config_invoice_type"] = "";
|
||||
$lang["config_is_readable"] = "";
|
||||
$lang["config_is_writable"] = "is writable, but the permissions are higher than 750.";
|
||||
$lang["config_jsprintsetup_required"] = "";
|
||||
$lang["config_language"] = "";
|
||||
$lang["config_last_used_invoice_number"] = "";
|
||||
@@ -184,6 +194,7 @@ $lang["config_msg_src_required"] = "";
|
||||
$lang["config_msg_uid"] = "";
|
||||
$lang["config_msg_uid_required"] = "";
|
||||
$lang["config_multi_pack_enabled"] = "";
|
||||
$lang["config_no_risk"] = "No security/vulnerability risks.";
|
||||
$lang["config_none"] = "";
|
||||
$lang["config_notify_alignment"] = "";
|
||||
$lang["config_number_format"] = "";
|
||||
@@ -191,8 +202,10 @@ $lang["config_number_locale"] = "";
|
||||
$lang["config_number_locale_invalid"] = "";
|
||||
$lang["config_number_locale_required"] = "";
|
||||
$lang["config_number_locale_tooltip"] = "";
|
||||
$lang["config_os_timezone"] = "";
|
||||
$lang["config_ospos_info"] = "";
|
||||
$lang["config_payment_options_order"] = "";
|
||||
$lang["config_perm_risk"] = "Permissions higher than 750 leaves this software at risk.";
|
||||
$lang["config_phone"] = "";
|
||||
$lang["config_phone_required"] = "";
|
||||
$lang["config_print_bottom_margin"] = "";
|
||||
@@ -231,12 +244,14 @@ $lang["config_receipt_short"] = "";
|
||||
$lang["config_receipt_show_company_name"] = "";
|
||||
$lang["config_receipt_show_description"] = "";
|
||||
$lang["config_receipt_show_serialnumber"] = "";
|
||||
$lang["config_receipt_show_tax_ind"] = "";
|
||||
$lang["config_receipt_show_taxes"] = "";
|
||||
$lang["config_receipt_show_total_discount"] = "";
|
||||
$lang["config_receipt_template"] = "";
|
||||
$lang["config_receiving_calculate_average_price"] = "";
|
||||
$lang["config_recv_invoice_format"] = "";
|
||||
$lang["config_register_mode_default"] = "";
|
||||
$lang["config_report_an_issue"] = "";
|
||||
$lang["config_return_policy_required"] = "";
|
||||
$lang["config_reward"] = "";
|
||||
$lang["config_reward_configuration"] = "";
|
||||
@@ -245,6 +260,7 @@ $lang["config_sales_invoice_format"] = "";
|
||||
$lang["config_sales_quote_format"] = "";
|
||||
$lang["config_saved_successfully"] = "";
|
||||
$lang["config_saved_unsuccessfully"] = "";
|
||||
$lang["config_security_issue"] = "Security Vulnerability Warning";
|
||||
$lang["config_server_notice"] = "Please use the below info for issue reporting.";
|
||||
$lang["config_show_office_group"] = "";
|
||||
$lang["config_statistics"] = "";
|
||||
@@ -257,6 +273,7 @@ $lang["config_suggestions_first_column"] = "";
|
||||
$lang["config_suggestions_layout"] = "";
|
||||
$lang["config_suggestions_second_column"] = "";
|
||||
$lang["config_suggestions_third_column"] = "";
|
||||
$lang["config_system_conf"] = "Setup & Conf";
|
||||
$lang["config_system_info"] = "System Info";
|
||||
$lang["config_table"] = "";
|
||||
$lang["config_table_configuration"] = "";
|
||||
@@ -274,8 +291,10 @@ $lang["config_tax_included"] = "";
|
||||
$lang["config_theme"] = "";
|
||||
$lang["config_thousands_separator"] = "";
|
||||
$lang["config_timezone"] = "";
|
||||
$lang["config_timezone_error"] = "";
|
||||
$lang["config_top"] = "";
|
||||
$lang["config_use_destination_based_tax"] = "";
|
||||
$lang["config_user_timezone"] = "";
|
||||
$lang["config_website"] = "";
|
||||
$lang["config_work_order_enable"] = "";
|
||||
$lang["config_work_order_format"] = "";
|
||||
|
||||
@@ -12,6 +12,10 @@ $lang["customers_confirm_delete"] = "";
|
||||
$lang["customers_confirm_restore"] = "";
|
||||
$lang["customers_consent"] = "";
|
||||
$lang["customers_consent_required"] = "";
|
||||
$lang["customers_csv_import_failed"] = "";
|
||||
$lang["customers_csv_import_nodata_wrongformat"] = "";
|
||||
$lang["customers_csv_import_partially_failed"] = "";
|
||||
$lang["customers_csv_import_success"] = "";
|
||||
$lang["customers_customer"] = "";
|
||||
$lang["customers_date"] = "";
|
||||
$lang["customers_discount"] = "";
|
||||
@@ -21,11 +25,7 @@ $lang["customers_discount_type"] = "";
|
||||
$lang["customers_email_duplicate"] = "";
|
||||
$lang["customers_employee"] = "";
|
||||
$lang["customers_error_adding_updating"] = "";
|
||||
$lang["customers_excel_import_failed"] = "";
|
||||
$lang["customers_excel_import_nodata_wrongformat"] = "";
|
||||
$lang["customers_excel_import_partially_failed"] = "";
|
||||
$lang["customers_excel_import_success"] = "";
|
||||
$lang["customers_import_items_excel"] = "";
|
||||
$lang["customers_import_items_csv"] = "";
|
||||
$lang["customers_mailchimp_activity_click"] = "";
|
||||
$lang["customers_mailchimp_activity_lastopen"] = "";
|
||||
$lang["customers_mailchimp_activity_open"] = "";
|
||||
|
||||
@@ -17,6 +17,7 @@ $lang["giftcards_confirm_delete"] = "";
|
||||
$lang["giftcards_confirm_restore"] = "";
|
||||
$lang["giftcards_cost_price"] = "";
|
||||
$lang["giftcards_count"] = "";
|
||||
$lang["giftcards_csv_import_failed"] = "";
|
||||
$lang["giftcards_current_quantity"] = "";
|
||||
$lang["giftcards_description"] = "";
|
||||
$lang["giftcards_details_count"] = "";
|
||||
@@ -25,7 +26,6 @@ $lang["giftcards_edit_fields_you_want_to_update"] = "";
|
||||
$lang["giftcards_edit_multiple_giftcards"] = "";
|
||||
$lang["giftcards_error_adding_updating"] = "";
|
||||
$lang["giftcards_error_updating_multiple"] = "";
|
||||
$lang["giftcards_excel_import_failed"] = "";
|
||||
$lang["giftcards_generate_barcodes"] = "";
|
||||
$lang["giftcards_giftcard"] = "";
|
||||
$lang["giftcards_giftcard_number"] = "";
|
||||
|
||||
@@ -22,6 +22,10 @@ $lang["items_cost_price"] = "Nákupní cena";
|
||||
$lang["items_cost_price_number"] = "Nákupní cena musí být číslo.";
|
||||
$lang["items_cost_price_required"] = "Musíte zadat nákupní cenu.";
|
||||
$lang["items_count"] = "Upravit množství";
|
||||
$lang["items_csv_import_failed"] = "Import z CSVu se nepovedl";
|
||||
$lang["items_csv_import_nodata_wrongformat"] = "Nahraný soubor neobsahuje žádná data nebo má špatný formát.";
|
||||
$lang["items_csv_import_partially_failed"] = "Při importu položek došlo k několika chybám:";
|
||||
$lang["items_csv_import_success"] = "Import položek proběhl bez chyby.";
|
||||
$lang["items_current_quantity"] = "Množství skladem";
|
||||
$lang["items_default_pack_name"] = "";
|
||||
$lang["items_description"] = "Popis";
|
||||
@@ -32,16 +36,13 @@ $lang["items_edit_multiple_items"] = "Úpravy více položek";
|
||||
$lang["items_empty_upc_items"] = "Položky bez čárového kódu";
|
||||
$lang["items_error_adding_updating"] = "Chyba při přidávání či úpravě položek";
|
||||
$lang["items_error_updating_multiple"] = "Chyba při úpravě položek";
|
||||
$lang["items_excel_import_failed"] = "Import z Excelu se nepovedl";
|
||||
$lang["items_excel_import_nodata_wrongformat"] = "Nahraný soubor neobsahuje žádná data nebo má špatný formát.";
|
||||
$lang["items_excel_import_partially_failed"] = "Při importu položek došlo k několika chybám:";
|
||||
$lang["items_excel_import_success"] = "Import položek proběhl bez chyby.";
|
||||
$lang["items_generate_barcodes"] = "Vytvořit čárový kód";
|
||||
$lang["items_hsn_code"] = "";
|
||||
$lang["items_image"] = "Avatar";
|
||||
$lang["items_import_items_excel"] = "Import položek z Excelu";
|
||||
$lang["items_import_items_csv"] = "Import položek z CSVu";
|
||||
$lang["items_info_provided_by"] = "";
|
||||
$lang["items_inventory"] = "";
|
||||
$lang["items_inventory_CSV_import_quantity"] = "";
|
||||
$lang["items_inventory_comments"] = "Komentář";
|
||||
$lang["items_inventory_data_tracking"] = "Pohyby na skladu";
|
||||
$lang["items_inventory_date"] = "Datum";
|
||||
|
||||
@@ -13,6 +13,7 @@ $lang["sales_cash"] = "Hotovost";
|
||||
$lang["sales_cash_deposit"] = "";
|
||||
$lang["sales_cash_filter"] = "Hotově";
|
||||
$lang["sales_change_due"] = "Zbývá";
|
||||
$lang["sales_change_price"] = "";
|
||||
$lang["sales_check"] = "Bankovním převodem";
|
||||
$lang["sales_check_balance"] = "";
|
||||
$lang["sales_check_filter"] = "";
|
||||
@@ -24,6 +25,7 @@ $lang["sales_confirm_delete"] = "Opravdu chcete smazat vybranou účtenku?";
|
||||
$lang["sales_confirm_restore"] = "Opravdu chcete obnovit vybranou účtenku?";
|
||||
$lang["sales_credit"] = "Kreditní karta";
|
||||
$lang["sales_credit_deposit"] = "";
|
||||
$lang["sales_credit_filter"] = "";
|
||||
$lang["sales_customer"] = "Jméno";
|
||||
$lang["sales_customer_address"] = "Adresa";
|
||||
$lang["sales_customer_discount"] = "Sleva";
|
||||
@@ -97,6 +99,7 @@ $lang["sales_no_filter"] = "Vše";
|
||||
$lang["sales_no_items_in_cart"] = "Nejsou zde žádné položky.";
|
||||
$lang["sales_no_sales_to_display"] = "Žádné účtenky k zobrazení.";
|
||||
$lang["sales_none_selected"] = "Nebylo nic vybráno ke smazání.";
|
||||
$lang["sales_nontaxed_ind"] = "";
|
||||
$lang["sales_not_authorized"] = "Tato akce nebyla povolena.";
|
||||
$lang["sales_one_or_multiple"] = "";
|
||||
$lang["sales_payment"] = "Způsob platby";
|
||||
@@ -120,6 +123,7 @@ $lang["sales_receipt_no_email"] = "Zákazníl nemá platný e-mail.";
|
||||
$lang["sales_receipt_number"] = "Číslo dokladu";
|
||||
$lang["sales_receipt_sent"] = "Účtenku odeslat";
|
||||
$lang["sales_receipt_unsent"] = "Účtenku nelze odeslat";
|
||||
$lang["sales_refund"] = "";
|
||||
$lang["sales_register"] = "Pokladna";
|
||||
$lang["sales_remove_customer"] = "Odebrat zákazníka";
|
||||
$lang["sales_return"] = "Vratka";
|
||||
@@ -157,6 +161,7 @@ $lang["sales_tax"] = "DPH";
|
||||
$lang["sales_tax_id"] = "";
|
||||
$lang["sales_tax_invoice"] = "";
|
||||
$lang["sales_tax_percent"] = "DPH %";
|
||||
$lang["sales_taxed_ind"] = "";
|
||||
$lang["sales_total"] = "Celkem";
|
||||
$lang["sales_total_tax_exclusive"] = "Bez DPH";
|
||||
$lang["sales_transaction_failed"] = "";
|
||||
|
||||
@@ -54,6 +54,7 @@ $lang["taxes_tax_codes_saved_successfully"] = "";
|
||||
$lang["taxes_tax_codes_saved_unsuccessfully"] = "";
|
||||
$lang["taxes_tax_excluded"] = "";
|
||||
$lang["taxes_tax_group"] = "";
|
||||
$lang["taxes_tax_group_not_unique"] = "";
|
||||
$lang["taxes_tax_group_sequence"] = "";
|
||||
$lang["taxes_tax_included"] = "";
|
||||
$lang["taxes_tax_jurisdiction"] = "";
|
||||
|
||||
31
application/language/da/attributes_lang.php
Normal file
31
application/language/da/attributes_lang.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
$lang["attributes_attribute_value_invalid_chars"] = "Egenskabens værdi kan ikke indeholde ':' or '|'";
|
||||
$lang["attributes_confirm_delete"] = "Er du sikker på, at du vil slette de valgte egenskaber?";
|
||||
$lang["attributes_confirm_restore"] = "Er du sikker på, at du vil gendanne de valgte egenskaber?";
|
||||
$lang["attributes_definition_cannot_be_deleted"] = "De valgte egenskaber kunne ikke slettes";
|
||||
$lang["attributes_definition_error_adding_updating"] = "Egenskab %1 Kunne ikke tilføjes eller opdateres. Tjek venligst fejlprotokollen.";
|
||||
$lang["attributes_definition_flags"] = "Egenskabens Synlighed";
|
||||
$lang["attributes_definition_group"] = "Gruppe";
|
||||
$lang["attributes_definition_id"] = "Id";
|
||||
$lang["attributes_definition_name"] = "Tilføj egenskab";
|
||||
$lang["attributes_definition_name_required"] = "Egenskabens navn er et obligatorisk felt";
|
||||
$lang["attributes_definition_one_or_multiple"] = "Egenskab(er)";
|
||||
$lang["attributes_definition_successful_adding"] = "Du har tilføjet en genstand";
|
||||
$lang["attributes_definition_successful_deleted"] = "Du har slettet en genstand";
|
||||
$lang["attributes_definition_successful_updating"] = "Du har opdateret en egenskab";
|
||||
$lang["attributes_definition_type"] = "Egenskabs-type";
|
||||
$lang["attributes_definition_type_required"] = "Egenskabs-type er et obligatorisk felt";
|
||||
$lang["attributes_definition_unit"] = "Måleenhed";
|
||||
$lang["attributes_definition_values"] = "Egenskabens værdier";
|
||||
$lang["attributes_new"] = "Ny egenskab";
|
||||
$lang["attributes_no_attributes_to_display"] = "Ingen genstande at vise";
|
||||
$lang["attributes_receipt_visibility"] = "Kvittering";
|
||||
$lang["attributes_show_in_items"] = "Vis i genstande";
|
||||
$lang["attributes_show_in_items_visibility"] = "Genstande";
|
||||
$lang["attributes_show_in_receipt"] = "Vis i kvittering";
|
||||
$lang["attributes_show_in_receivings"] = "Vis i modtagelser";
|
||||
$lang["attributes_show_in_receivings_visibility"] = "Modtagelser";
|
||||
$lang["attributes_show_in_sales"] = "Vis i salg";
|
||||
$lang["attributes_show_in_sales_visibility"] = "Salg";
|
||||
$lang["attributes_update"] = "Opdater egenskab";
|
||||
10
application/language/da/bootstrap_tables_lang.php
Normal file
10
application/language/da/bootstrap_tables_lang.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
$lang["tables_all"] = "Alle";
|
||||
$lang["tables_columns"] = "Kolonner";
|
||||
$lang["tables_hide_show_pagination"] = "Gem/Vis sideinddeling";
|
||||
$lang["tables_loading"] = "Indlæser, vent venligst...";
|
||||
$lang["tables_page_from_to"] = "Viser {0} to {1} af {2} rækker";
|
||||
$lang["tables_refresh"] = "Opdater";
|
||||
$lang["tables_rows_per_page"] = "{0} rækker per side";
|
||||
$lang["tables_toggle"] = "Skift";
|
||||
38
application/language/da/cashups_lang.php
Normal file
38
application/language/da/cashups_lang.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
$lang["cashups_amount"] = "Beløb";
|
||||
$lang["cashups_amount_number"] = "Beløbet skal være et tal";
|
||||
$lang["cashups_amount_required"] = "Beløb er et obligatorisk felt.";
|
||||
$lang["cashups_cannot_be_deleted"] = "Kasseopgørelse kan ikke slettes";
|
||||
$lang["cashups_close_date"] = "Luk dato";
|
||||
$lang["cashups_close_employee"] = "Lukket af";
|
||||
$lang["cashups_closed_amount_card"] = "Kort";
|
||||
$lang["cashups_closed_amount_cash"] = "Lukkede kasse";
|
||||
$lang["cashups_closed_amount_check"] = "Regninger";
|
||||
$lang["cashups_closed_amount_due"] = "Afgifter";
|
||||
$lang["cashups_closed_amount_total"] = "Total";
|
||||
$lang["cashups_closed_date"] = "Lukket dato";
|
||||
$lang["cashups_confirm_delete"] = "Er du sikker på, at du vil slette den valgte kasseopgørelse?";
|
||||
$lang["cashups_confirm_restore"] = "Er du sikker på, at du vil gendanne de valgte kasseopgørelser?";
|
||||
$lang["cashups_date_number"] = "Datoen skal være et tal";
|
||||
$lang["cashups_date_required"] = "Dato er et obligatorisk felt";
|
||||
$lang["cashups_description"] = "Beskrivelse";
|
||||
$lang["cashups_error_adding_updating"] = "Fejl ved at tilføje/opdatere kasseopgørelsen";
|
||||
$lang["cashups_id"] = "Id";
|
||||
$lang["cashups_info"] = "Kasseopgørelsers information";
|
||||
$lang["cashups_is_deleted"] = "Slettet";
|
||||
$lang["cashups_new"] = "Ny kasseopgørelse";
|
||||
$lang["cashups_no_cashups_to_display"] = "Der er ingen kasseopgørelser at vise";
|
||||
$lang["cashups_none_selected"] = "Du har ikke valgt nogle kasseopgørelser";
|
||||
$lang["cashups_note"] = "Noter";
|
||||
$lang["cashups_one_or_multiple"] = "Kasseopgørelse(r)";
|
||||
$lang["cashups_open_amount_cash"] = "Åben kasse";
|
||||
$lang["cashups_open_date"] = "Åben dato";
|
||||
$lang["cashups_open_employee"] = "Åbnet af";
|
||||
$lang["cashups_opened_date"] = "Åbnet dato";
|
||||
$lang["cashups_successful_adding"] = "Kasseopgørelse tilføjet";
|
||||
$lang["cashups_successful_deleted"] = "Kasseopgørelse er slettet";
|
||||
$lang["cashups_successful_updating"] = "Kasseopgørelse er opdateret";
|
||||
$lang["cashups_total"] = "Total";
|
||||
$lang["cashups_transfer_amount_cash"] = "";
|
||||
$lang["cashups_update"] = "Opdater kasseopgørelse";
|
||||
71
application/language/da/common_lang.php
Normal file
71
application/language/da/common_lang.php
Normal file
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
|
||||
$lang["common_address_1"] = "Adresse 1";
|
||||
$lang["common_address_2"] = "Adresse 2";
|
||||
$lang["common_city"] = "By";
|
||||
$lang["common_close"] = "Luk";
|
||||
$lang["common_comments"] = "Kommentarer";
|
||||
$lang["common_common"] = "Almindelig(e)";
|
||||
$lang["common_confirm_search"] = "Du har valgt en eller flere rækker. Disse vil ikke længere være valgt efter din søgning. Er du sikker på, at du vil foretage søgningen?";
|
||||
$lang["common_copyrights"] = "© 2010 - %1";
|
||||
$lang["common_correct_errors"] = "Ret venligst identificeret fejl før du gemmer";
|
||||
$lang["common_country"] = "Land";
|
||||
$lang["common_date"] = "Dato";
|
||||
$lang["common_delete"] = "Slet";
|
||||
$lang["common_det"] = "Detaljer";
|
||||
$lang["common_download_import_template"] = "Download Import CSV Template (CSV)";
|
||||
$lang["common_edit"] = "Rediger";
|
||||
$lang["common_email"] = "Email";
|
||||
$lang["common_email_invalid_format"] = "Email adressen er ikke i det korrekte format.";
|
||||
$lang["common_export_csv"] = "CSV Eksport";
|
||||
$lang["common_export_csv_no"] = "Nej";
|
||||
$lang["common_export_csv_yes"] = "Ja";
|
||||
$lang["common_fields_required_message"] = "Røde felter er obligatoriske";
|
||||
$lang["common_first_name"] = "Fornavn";
|
||||
$lang["common_first_name_required"] = "Fornavn er et obligatorisk felt.";
|
||||
$lang["common_first_page"] = "Første";
|
||||
$lang["common_gender"] = "Køn";
|
||||
$lang["common_gender_female"] = "Kvinde";
|
||||
$lang["common_gender_male"] = "Mand";
|
||||
$lang["common_id"] = "Id";
|
||||
$lang["common_import"] = "Import";
|
||||
$lang["common_import_change_file"] = "Skift";
|
||||
$lang["common_import_csv"] = "CSV Import";
|
||||
$lang["common_import_full_path"] = "Fulde stig til csv fil behøves";
|
||||
$lang["common_import_remove_file"] = "Fjern";
|
||||
$lang["common_import_select_file"] = "Vælg fil";
|
||||
$lang["common_inv"] = "inv";
|
||||
$lang["common_last_name"] = "Efternavn";
|
||||
$lang["common_last_name_required"] = "Efternavn er et obligatorisk felt.";
|
||||
$lang["common_last_page"] = "Sidste";
|
||||
$lang["common_learn_about_project"] = "for at lære det seneste information om projektet.";
|
||||
$lang["common_list_of"] = "Liste af";
|
||||
$lang["common_logout"] = "Log ud";
|
||||
$lang["common_migration_needed"] = "En database migration til %1 vil starte efter du er logget ind.";
|
||||
$lang["common_new"] = "Ny";
|
||||
$lang["common_no_persons_to_display"] = "Der er ingen folk at vise.";
|
||||
$lang["common_none_selected_text"] = "[Vælg]";
|
||||
$lang["common_or"] = "ELLER";
|
||||
$lang["common_phone_number"] = "Telefonnummer";
|
||||
$lang["common_phone_number_required"] = "";
|
||||
$lang["common_please_visit_my"] = "Besøg venligst";
|
||||
$lang["common_powered_by"] = "Drevet af";
|
||||
$lang["common_price"] = "Pris";
|
||||
$lang["common_print"] = "Print ud";
|
||||
$lang["common_remove"] = "Fjern";
|
||||
$lang["common_required"] = "Obligatorisk";
|
||||
$lang["common_restore"] = "Gendan";
|
||||
$lang["common_return_policy"] = "Returpolitik";
|
||||
$lang["common_search"] = "Søg";
|
||||
$lang["common_search_options"] = "Søgeindstillinger";
|
||||
$lang["common_searched_for"] = "Søgt efter";
|
||||
$lang["common_state"] = "Stat";
|
||||
$lang["common_submit"] = "Indsend";
|
||||
$lang["common_total_spent"] = "Samlet brugt";
|
||||
$lang["common_unknown"] = "Ukendt";
|
||||
$lang["common_view_recent_sales"] = "Se seneste salg";
|
||||
$lang["common_website"] = "Hjemmeside";
|
||||
$lang["common_welcome"] = "Velkommen";
|
||||
$lang["common_welcome_message"] = "Velkommen til OSPOS. Klik på et modul forneden for at komme i gang.";
|
||||
$lang["common_you_are_using_ospos"] = "You are using Open Source Point Of Sale version";
|
||||
$lang["common_zip"] = "Postnummer";
|
||||
300
application/language/da/config_lang.php
Normal file
300
application/language/da/config_lang.php
Normal file
@@ -0,0 +1,300 @@
|
||||
<?php
|
||||
|
||||
$lang["config_address"] = "Firma adresse";
|
||||
$lang["config_address_required"] = "Firma adresse er et obligatorisk felt.";
|
||||
$lang["config_all_set"] = "All file permissions are set correctly!";
|
||||
$lang["config_allow_duplicate_barcodes"] = "Tillad duplikatstregkoder";
|
||||
$lang["config_apostrophe"] = "apostrof";
|
||||
$lang["config_backup_button"] = "Backup";
|
||||
$lang["config_backup_database"] = "Backup Database";
|
||||
$lang["config_barcode"] = "Stregkode";
|
||||
$lang["config_barcode_company"] = "Firmanavn";
|
||||
$lang["config_barcode_configuration"] = "Stregkode konfiguration";
|
||||
$lang["config_barcode_content"] = "Stregkode indhold";
|
||||
$lang["config_barcode_first_row"] = "Række 1";
|
||||
$lang["config_barcode_font"] = "Skrifttype";
|
||||
$lang["config_barcode_formats"] = "Inputformater";
|
||||
$lang["config_barcode_generate_if_empty"] = "Generer hvis tom.";
|
||||
$lang["config_barcode_height"] = "Højde (px)";
|
||||
$lang["config_barcode_id"] = "Genstands Id/navn";
|
||||
$lang["config_barcode_info"] = "Information om stregkode konfiguration";
|
||||
$lang["config_barcode_layout"] = "Stregkode layout";
|
||||
$lang["config_barcode_name"] = "Navn";
|
||||
$lang["config_barcode_number"] = "Stregkode";
|
||||
$lang["config_barcode_number_in_row"] = "Nummer i rækken";
|
||||
$lang["config_barcode_page_cellspacing"] = "Vis sidens celleafstand.";
|
||||
$lang["config_barcode_page_width"] = "Vis sidens bredde";
|
||||
$lang["config_barcode_price"] = "Pris";
|
||||
$lang["config_barcode_second_row"] = "Række 2";
|
||||
$lang["config_barcode_third_row"] = "Række 3";
|
||||
$lang["config_barcode_tooltip"] = "Advarsel: Denne funktion kan forårsage, at duplikerede genstande vil blive importeret eller oprettet. Anvend ikke hvis du ikke vil have duplikerede stregkoder.";
|
||||
$lang["config_barcode_type"] = "Stregkode type";
|
||||
$lang["config_barcode_width"] = "Bredde (px)";
|
||||
$lang["config_bottom"] = "Bund";
|
||||
$lang["config_cash_decimals"] = "Kontante decimaler";
|
||||
$lang["config_cash_decimals_tooltip"] = "Hvis kontante decimaler og valuta decimaler er de samme, kan kontanterne ikke rundes op.";
|
||||
$lang["config_cash_rounding"] = "Kontant afrunding";
|
||||
$lang["config_category_dropdown"] = "";
|
||||
$lang["config_center"] = "Centrum";
|
||||
$lang["config_comma"] = "Komma";
|
||||
$lang["config_company"] = "Firma navn";
|
||||
$lang["config_company_change_image"] = "Skift billede";
|
||||
$lang["config_company_logo"] = "Firma logo";
|
||||
$lang["config_company_remove_image"] = "Fjern billede";
|
||||
$lang["config_company_required"] = "Firma navn er et obligatorisk";
|
||||
$lang["config_company_select_image"] = "Vælg billede";
|
||||
$lang["config_company_website_url"] = "Firma hjemmeside er ikke en gyldig URL (http://...).";
|
||||
$lang["config_country_codes"] = "Landekoder";
|
||||
$lang["config_country_codes_tooltip"] = "Kommasepareret liste af landekoder til nominatim adresse søgning.";
|
||||
$lang["config_currency_code"] = "Valuta kode";
|
||||
$lang["config_currency_decimals"] = "Valuta decimaler";
|
||||
$lang["config_currency_symbol"] = "Valuta symbol";
|
||||
$lang["config_customer_reward"] = "Belønning";
|
||||
$lang["config_customer_reward_duplicate"] = "Belønning skal være unik.";
|
||||
$lang["config_customer_reward_enable"] = "Aktiver kunde belønninger";
|
||||
$lang["config_customer_reward_invalid_chars"] = "Belønning må ikke indholde '_'";
|
||||
$lang["config_customer_reward_required"] = "Belønning er et obligatorisk felt";
|
||||
$lang["config_customer_sales_tax_support"] = "";
|
||||
$lang["config_date_or_time_format"] = "Dato- og tidfilter";
|
||||
$lang["config_datetimeformat"] = "Dato og tid format";
|
||||
$lang["config_decimal_point"] = "Decimaltegn";
|
||||
$lang["config_default_barcode_font_size_number"] = "Standard stregkode skriftstørrelse skal være et tal";
|
||||
$lang["config_default_barcode_font_size_required"] = "Standard stregkode skriftstørrelse er et obligatorisk felt";
|
||||
$lang["config_default_barcode_height_number"] = "Standard stregkode højde skal være et tal";
|
||||
$lang["config_default_barcode_height_required"] = "Standard stegkode højde er et obligatorisk felt";
|
||||
$lang["config_default_barcode_num_in_row_number"] = "Standard stregkode tal i en række skal være et tal";
|
||||
$lang["config_default_barcode_num_in_row_required"] = "Standard stregkode tal i en række er et obligatorisk felt";
|
||||
$lang["config_default_barcode_page_cellspacing_number"] = "Standard stregkodeside-celleafstand skal være et tal";
|
||||
$lang["config_default_barcode_page_cellspacing_required"] = "Standard stegkodeside-celleafstand er et obligatorisk felt";
|
||||
$lang["config_default_barcode_page_width_number"] = "Standard stregkode side bredde skal være et tal";
|
||||
$lang["config_default_barcode_page_width_required"] = "Standard stregkode side bredde er et obligatorisk felt";
|
||||
$lang["config_default_barcode_width_number"] = "Standard stregkode bredde skal være et tal";
|
||||
$lang["config_default_barcode_width_required"] = "Standard stregkode bredde er et obligatorisk felt";
|
||||
$lang["config_default_item_columns"] = "Standard synlige genstands-kolonner";
|
||||
$lang["config_default_origin_tax_code"] = "Standard oprindelse af afgiftskode";
|
||||
$lang["config_default_receivings_discount"] = "Standard modtagelsesrabat";
|
||||
$lang["config_default_receivings_discount_number"] = "Standard modtagelsesrabat skal være et tal";
|
||||
$lang["config_default_receivings_discount_required"] = "Standard modtagelsesrabat er et obligatorisk felt";
|
||||
$lang["config_default_sales_discount"] = "Standard salgsrabat";
|
||||
$lang["config_default_sales_discount_number"] = "Standard salgsrabat skal være et tal";
|
||||
$lang["config_default_sales_discount_required"] = "Standard salgsrabat er et obligatorisk felt";
|
||||
$lang["config_default_tax_category"] = "Standard afgiftskategori";
|
||||
$lang["config_default_tax_code"] = "Standard afgiftskode";
|
||||
$lang["config_default_tax_jurisdiction"] = "Standard afgift jurisdiktion";
|
||||
$lang["config_default_tax_name_number"] = "Standard afgiftsnavn skal være en streng";
|
||||
$lang["config_default_tax_name_required"] = "Standard afgiftsnavn er et obligatorisk felt";
|
||||
$lang["config_default_tax_rate"] = "Standard afgiftsrate %";
|
||||
$lang["config_default_tax_rate_1"] = "Afgift 1 procent";
|
||||
$lang["config_default_tax_rate_2"] = "Afgift 2 procent";
|
||||
$lang["config_default_tax_rate_number"] = "Standard afgiftsrate skal være et tal";
|
||||
$lang["config_default_tax_rate_required"] = "Standard afgiftsrate er et obligatorisk felt";
|
||||
$lang["config_derive_sale_quantity"] = "Tillad afledt salgsmængde";
|
||||
$lang["config_derive_sale_quantity_tooltip"] = "Hvis markeret, vil en ny varetype blive stillet til rådighed for varer bestilt med et udvidet beløb";
|
||||
$lang["config_dinner_table"] = "Tabel";
|
||||
$lang["config_dinner_table_duplicate"] = "Tabel skal være unik";
|
||||
$lang["config_dinner_table_enable"] = "Enable Dinner Tables";
|
||||
$lang["config_dinner_table_invalid_chars"] = "Table Name can not contain '_'.";
|
||||
$lang["config_dinner_table_required"] = "Table is a required field.";
|
||||
$lang["config_dot"] = "punktum";
|
||||
$lang["config_email"] = "Email";
|
||||
$lang["config_email_configuration"] = "Email konfiguration";
|
||||
$lang["config_email_mailpath"] = "Stig til Sendmail";
|
||||
$lang["config_email_protocol"] = "Protokol";
|
||||
$lang["config_email_receipt_check_behaviour"] = "Email kvitteringsfelt";
|
||||
$lang["config_email_receipt_check_behaviour_always"] = "Altid markeret";
|
||||
$lang["config_email_receipt_check_behaviour_last"] = "Husk sidste valg";
|
||||
$lang["config_email_receipt_check_behaviour_never"] = "Aldrig markeret";
|
||||
$lang["config_email_smtp_crypto"] = "SMTP Kryptering";
|
||||
$lang["config_email_smtp_host"] = "SMTP Server";
|
||||
$lang["config_email_smtp_pass"] = "SMTP Kodeord";
|
||||
$lang["config_email_smtp_port"] = "SMTP Port";
|
||||
$lang["config_email_smtp_timeout"] = "SMTP Timeout (sekunder)";
|
||||
$lang["config_email_smtp_user"] = "SMTP Brugernavn";
|
||||
$lang["config_enforce_privacy"] = "Håndhæv privathed";
|
||||
$lang["config_enforce_privacy_tooltip"] = "Beskyt kunders privatliv, der håndhæver datascrambling i tilfælde af, at deres data bliver slettet";
|
||||
$lang["config_fax"] = "Fax";
|
||||
$lang["config_file_perm"] = "There are problems with file permissions please fix and reload this page.";
|
||||
$lang["config_financial_year"] = "Fiscal Year Start";
|
||||
$lang["config_financial_year_apr"] = "1st of April";
|
||||
$lang["config_financial_year_aug"] = "1st of August";
|
||||
$lang["config_financial_year_dec"] = "1st of December";
|
||||
$lang["config_financial_year_feb"] = "1st of February";
|
||||
$lang["config_financial_year_jan"] = "1st of January";
|
||||
$lang["config_financial_year_jul"] = "1st of July";
|
||||
$lang["config_financial_year_jun"] = "1st of June";
|
||||
$lang["config_financial_year_mar"] = "1st of March";
|
||||
$lang["config_financial_year_may"] = "1st of May";
|
||||
$lang["config_financial_year_nov"] = "1st of November";
|
||||
$lang["config_financial_year_oct"] = "1st of October";
|
||||
$lang["config_financial_year_sep"] = "1st of September";
|
||||
$lang["config_gcaptcha_enable"] = "Login Page reCAPTCHA";
|
||||
$lang["config_gcaptcha_secret_key"] = "reCAPTCHA Secret Key";
|
||||
$lang["config_gcaptcha_secret_key_required"] = "reCAPTCHA Secret Key is a required field";
|
||||
$lang["config_gcaptcha_site_key"] = "reCAPTCHA Site Key";
|
||||
$lang["config_gcaptcha_site_key_required"] = "reCAPTCHA Site Key is a required field";
|
||||
$lang["config_gcaptcha_tooltip"] = "Protect the Login page with Google reCAPTCHA, click the icon for an API key pair.";
|
||||
$lang["config_general"] = "General";
|
||||
$lang["config_general_configuration"] = "General Configuration";
|
||||
$lang["config_giftcard_number"] = "Gift Card Number";
|
||||
$lang["config_giftcard_random"] = "Generate Random";
|
||||
$lang["config_giftcard_series"] = "Generate in Series";
|
||||
$lang["config_image_allowed_file_types"] = "";
|
||||
$lang["config_image_max_height_tooltip"] = "";
|
||||
$lang["config_image_max_size_tooltip"] = "";
|
||||
$lang["config_image_max_width_tooltip"] = "";
|
||||
$lang["config_image_restrictions"] = "";
|
||||
$lang["config_include_hsn"] = "Include Support for HSN Codes";
|
||||
$lang["config_info"] = "Information";
|
||||
$lang["config_info_configuration"] = "Store Information";
|
||||
$lang["config_integrations"] = "Integrations";
|
||||
$lang["config_integrations_configuration"] = "Third Party Integrations";
|
||||
$lang["config_invoice"] = "Invoice";
|
||||
$lang["config_invoice_configuration"] = "Invoice Print Settings";
|
||||
$lang["config_invoice_default_comments"] = "Default Invoice Comments";
|
||||
$lang["config_invoice_email_message"] = "Invoice Email Template";
|
||||
$lang["config_invoice_enable"] = "Enable Invoicing";
|
||||
$lang["config_invoice_printer"] = "Invoice Printer";
|
||||
$lang["config_invoice_type"] = "Invoice Type";
|
||||
$lang["config_is_readable"] = "";
|
||||
$lang["config_is_writable"] = "is writable, but the permissions are higher than 750.";
|
||||
$lang["config_jsprintsetup_required"] = "Warning: This functionality will only work if you have the FireFox jsPrintSetup addon installed. Save anyway?";
|
||||
$lang["config_language"] = "Language";
|
||||
$lang["config_last_used_invoice_number"] = "Last used Invoice Number";
|
||||
$lang["config_last_used_quote_number"] = "Last used Quote Number";
|
||||
$lang["config_last_used_work_order_number"] = "Last used W/O Number";
|
||||
$lang["config_left"] = "Left";
|
||||
$lang["config_license"] = "License";
|
||||
$lang["config_license_configuration"] = "License Statement";
|
||||
$lang["config_line_sequence"] = "Line Sequence";
|
||||
$lang["config_lines_per_page"] = "Lines per Page";
|
||||
$lang["config_lines_per_page_number"] = "Lines per Page must be a number.";
|
||||
$lang["config_lines_per_page_required"] = "Lines per Page is a required field.";
|
||||
$lang["config_locale"] = "Localization";
|
||||
$lang["config_locale_configuration"] = "Localization Configuration";
|
||||
$lang["config_locale_info"] = "Localization Configuration Information";
|
||||
$lang["config_location"] = "Stock";
|
||||
$lang["config_location_configuration"] = "Stock Locations";
|
||||
$lang["config_location_info"] = "Location Configuration Information";
|
||||
$lang["config_logout"] = "Do you want to make a backup before logging out? Click [OK] to backup or [Cancel] to logout.";
|
||||
$lang["config_mailchimp"] = "Mailchimp";
|
||||
$lang["config_mailchimp_api_key"] = "Mailchimp API Key";
|
||||
$lang["config_mailchimp_configuration"] = "Mailchimp Configuration";
|
||||
$lang["config_mailchimp_key_successfully"] = "API Key is valid.";
|
||||
$lang["config_mailchimp_key_unsuccessfully"] = "API Key is invalid.";
|
||||
$lang["config_mailchimp_lists"] = "Mailchimp List(s)";
|
||||
$lang["config_mailchimp_tooltip"] = "Click the icon for an API Key.";
|
||||
$lang["config_message"] = "Message";
|
||||
$lang["config_message_configuration"] = "Message Configuration";
|
||||
$lang["config_msg_msg"] = "Saved Text Message";
|
||||
$lang["config_msg_msg_placeholder"] = "If you wish to use a SMS template save your message here, otherwise leave the box blank.";
|
||||
$lang["config_msg_pwd"] = "SMS-API Password";
|
||||
$lang["config_msg_pwd_required"] = "SMS-API Password is a required field";
|
||||
$lang["config_msg_src"] = "SMS-API Sender ID";
|
||||
$lang["config_msg_src_required"] = "SMS-API Sender ID is a required field";
|
||||
$lang["config_msg_uid"] = "SMS-API Username";
|
||||
$lang["config_msg_uid_required"] = "SMS-API Username is a required field";
|
||||
$lang["config_multi_pack_enabled"] = "Multiple Packages per Item";
|
||||
$lang["config_no_risk"] = "No security/vulnerability risks.";
|
||||
$lang["config_none"] = "none";
|
||||
$lang["config_notify_alignment"] = "Notification Popup Position";
|
||||
$lang["config_number_format"] = "Number Format";
|
||||
$lang["config_number_locale"] = "Localization";
|
||||
$lang["config_number_locale_invalid"] = "The entered locale is invalid. Check the link in the tooltip to find a valid locale.";
|
||||
$lang["config_number_locale_required"] = "Number Locale is a required field.";
|
||||
$lang["config_number_locale_tooltip"] = "Find a suitable locale through this link.";
|
||||
$lang["config_os_timezone"] = "";
|
||||
$lang["config_ospos_info"] = "OSPOS Installation Info";
|
||||
$lang["config_payment_options_order"] = "Payment Options Order";
|
||||
$lang["config_perm_risk"] = "Permissions higher than 750 leaves this software at risk.";
|
||||
$lang["config_phone"] = "Company Phone";
|
||||
$lang["config_phone_required"] = "Company Phone is a required field.";
|
||||
$lang["config_print_bottom_margin"] = "Margin Bottom";
|
||||
$lang["config_print_bottom_margin_number"] = "Margin Bottom must be a number.";
|
||||
$lang["config_print_bottom_margin_required"] = "Margin Bottom is a required field.";
|
||||
$lang["config_print_delay_autoreturn"] = "Autoreturn to Sale delay";
|
||||
$lang["config_print_delay_autoreturn_number"] = "Autoreturn to Sale delay is a required field.";
|
||||
$lang["config_print_delay_autoreturn_required"] = "Autoreturn to Sale delay must be a number.";
|
||||
$lang["config_print_footer"] = "Print Browser Footer";
|
||||
$lang["config_print_header"] = "Print Browser Header";
|
||||
$lang["config_print_left_margin"] = "Margin Left";
|
||||
$lang["config_print_left_margin_number"] = "Margin Left must be a number.";
|
||||
$lang["config_print_left_margin_required"] = "Margin Left is a required field.";
|
||||
$lang["config_print_receipt_check_behaviour"] = "Print Receipt checkbox";
|
||||
$lang["config_print_receipt_check_behaviour_always"] = "Always checked";
|
||||
$lang["config_print_receipt_check_behaviour_last"] = "Remember last selection";
|
||||
$lang["config_print_receipt_check_behaviour_never"] = "Always unchecked";
|
||||
$lang["config_print_right_margin"] = "Margin Right";
|
||||
$lang["config_print_right_margin_number"] = "Margin Right must be a number.";
|
||||
$lang["config_print_right_margin_required"] = "Margin Right is a required field.";
|
||||
$lang["config_print_silently"] = "Show Print Dialog";
|
||||
$lang["config_print_top_margin"] = "Margin Top";
|
||||
$lang["config_print_top_margin_number"] = "Margin Top must be a number.";
|
||||
$lang["config_print_top_margin_required"] = "Margin Top is a required field.";
|
||||
$lang["config_quantity_decimals"] = "Quantity Decimals";
|
||||
$lang["config_quote_default_comments"] = "Default Quote Comments";
|
||||
$lang["config_receipt"] = "Receipt";
|
||||
$lang["config_receipt_configuration"] = "Receipt Print Settings";
|
||||
$lang["config_receipt_default"] = "Default";
|
||||
$lang["config_receipt_font_size"] = "Font Size";
|
||||
$lang["config_receipt_font_size_number"] = "Font Size must be a number.";
|
||||
$lang["config_receipt_font_size_required"] = "Font Size is a required field.";
|
||||
$lang["config_receipt_info"] = "Receipt Configuration Information";
|
||||
$lang["config_receipt_printer"] = "Ticket Printer";
|
||||
$lang["config_receipt_short"] = "Short";
|
||||
$lang["config_receipt_show_company_name"] = "Show Company Name";
|
||||
$lang["config_receipt_show_description"] = "Show Description";
|
||||
$lang["config_receipt_show_serialnumber"] = "Show Serial Number";
|
||||
$lang["config_receipt_show_tax_ind"] = "Show Tax Indicator";
|
||||
$lang["config_receipt_show_taxes"] = "Show Taxes";
|
||||
$lang["config_receipt_show_total_discount"] = "Show Total Discount";
|
||||
$lang["config_receipt_template"] = "Receipt Template";
|
||||
$lang["config_receiving_calculate_average_price"] = "Calc avg. Price (Receiving)";
|
||||
$lang["config_recv_invoice_format"] = "Receivings Invoice Format";
|
||||
$lang["config_register_mode_default"] = "Default Register Mode";
|
||||
$lang["config_report_an_issue"] = "";
|
||||
$lang["config_return_policy_required"] = "Return policy is a required field.";
|
||||
$lang["config_reward"] = "Reward";
|
||||
$lang["config_reward_configuration"] = "Reward Configuration";
|
||||
$lang["config_right"] = "Right";
|
||||
$lang["config_sales_invoice_format"] = "Sales Invoice Format";
|
||||
$lang["config_sales_quote_format"] = "Sales Quote Format";
|
||||
$lang["config_saved_successfully"] = "Configuration save successful.";
|
||||
$lang["config_saved_unsuccessfully"] = "Configuration save failed.";
|
||||
$lang["config_security_issue"] = "Security Vulnerability Warning";
|
||||
$lang["config_server_notice"] = "Please use the below info for issue reporting.";
|
||||
$lang["config_show_office_group"] = "Show office icon";
|
||||
$lang["config_statistics"] = "Send Statistics";
|
||||
$lang["config_statistics_tooltip"] = "Send statistics for development and feature improvement purposes.";
|
||||
$lang["config_stock_location"] = "Stock location";
|
||||
$lang["config_stock_location_duplicate"] = "Stock Location must be unique.";
|
||||
$lang["config_stock_location_invalid_chars"] = "Stock Location can not contain '_'.";
|
||||
$lang["config_stock_location_required"] = "Stock location is a required field.";
|
||||
$lang["config_suggestions_first_column"] = "Column 1";
|
||||
$lang["config_suggestions_layout"] = "Search Suggestions Layout";
|
||||
$lang["config_suggestions_second_column"] = "Column 2";
|
||||
$lang["config_suggestions_third_column"] = "Column 3";
|
||||
$lang["config_system_conf"] = "Setup & Conf";
|
||||
$lang["config_system_info"] = "System Info";
|
||||
$lang["config_table"] = "Table";
|
||||
$lang["config_table_configuration"] = "Table Configuration";
|
||||
$lang["config_takings_printer"] = "Receipt Printer";
|
||||
$lang["config_tax"] = "Tax";
|
||||
$lang["config_tax_category"] = "Tax Category";
|
||||
$lang["config_tax_category_duplicate"] = "The entered tax category already exists.";
|
||||
$lang["config_tax_category_invalid_chars"] = "The entered tax category is invalid.";
|
||||
$lang["config_tax_category_required"] = "The tax category is required.";
|
||||
$lang["config_tax_category_used"] = "Tax category cannot be deleted because it is being used.";
|
||||
$lang["config_tax_configuration"] = "Tax Configuration";
|
||||
$lang["config_tax_decimals"] = "Tax Decimals";
|
||||
$lang["config_tax_id"] = "Tax Id";
|
||||
$lang["config_tax_included"] = "Tax Included";
|
||||
$lang["config_theme"] = "Theme";
|
||||
$lang["config_thousands_separator"] = "Thousands Separator";
|
||||
$lang["config_timezone"] = "Timezone";
|
||||
$lang["config_timezone_error"] = "";
|
||||
$lang["config_top"] = "Top";
|
||||
$lang["config_use_destination_based_tax"] = "Use Destination Based Tax";
|
||||
$lang["config_user_timezone"] = "";
|
||||
$lang["config_website"] = "Website";
|
||||
$lang["config_work_order_enable"] = "Work Order Support";
|
||||
$lang["config_work_order_format"] = "Work Order Format";
|
||||
54
application/language/da/customers_lang.php
Normal file
54
application/language/da/customers_lang.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
$lang["customers_account_number"] = "Account #";
|
||||
$lang["customers_account_number_duplicate"] = "Account Number is already present in the database.";
|
||||
$lang["customers_available_points"] = "Available Points";
|
||||
$lang["customers_average"] = "Average spent";
|
||||
$lang["customers_avg_discount"] = "Average discount";
|
||||
$lang["customers_basic_information"] = "Information";
|
||||
$lang["customers_cannot_be_deleted"] = "Could not delete selected customers, one or more of the selected customers has sales.";
|
||||
$lang["customers_company_name"] = "Company";
|
||||
$lang["customers_confirm_delete"] = "Are you sure you want to delete the selected customer(s)?";
|
||||
$lang["customers_confirm_restore"] = "Are you sure you want to restore selected customers(s)?";
|
||||
$lang["customers_consent"] = "Registration consent";
|
||||
$lang["customers_consent_required"] = "Registration consent is a required field.";
|
||||
$lang["customers_csv_import_failed"] = "CSV import failed";
|
||||
$lang["customers_csv_import_nodata_wrongformat"] = "The uploaded file has no data or is incorrectly formatted.";
|
||||
$lang["customers_csv_import_partially_failed"] = "Customer import successful with some failures:";
|
||||
$lang["customers_csv_import_success"] = "Customer import successful.";
|
||||
$lang["customers_customer"] = "Customer";
|
||||
$lang["customers_date"] = "Date";
|
||||
$lang["customers_discount"] = "Discount";
|
||||
$lang["customers_discount_fixed"] = "Fixed Discount";
|
||||
$lang["customers_discount_percent"] = "Percentage Discount";
|
||||
$lang["customers_discount_type"] = "Discount Type";
|
||||
$lang["customers_email_duplicate"] = "Email Address is already present in the database.";
|
||||
$lang["customers_employee"] = "Employee";
|
||||
$lang["customers_error_adding_updating"] = "Customer add or update failed.";
|
||||
$lang["customers_import_items_csv"] = "Customer Import from CSV";
|
||||
$lang["customers_mailchimp_activity_click"] = "Email click";
|
||||
$lang["customers_mailchimp_activity_lastopen"] = "Last open email";
|
||||
$lang["customers_mailchimp_activity_open"] = "Email open";
|
||||
$lang["customers_mailchimp_activity_total"] = "Email sent";
|
||||
$lang["customers_mailchimp_activity_unopen"] = "Email unopen";
|
||||
$lang["customers_mailchimp_email_client"] = "Email client";
|
||||
$lang["customers_mailchimp_info"] = "Mailchimp";
|
||||
$lang["customers_mailchimp_member_rating"] = "Rating";
|
||||
$lang["customers_mailchimp_status"] = "Status";
|
||||
$lang["customers_mailchimp_vip"] = "VIP";
|
||||
$lang["customers_max"] = "Max. spent";
|
||||
$lang["customers_min"] = "Min. spent";
|
||||
$lang["customers_new"] = "New Customer";
|
||||
$lang["customers_none_selected"] = "You have not selected any customer(s) to delete.";
|
||||
$lang["customers_one_or_multiple"] = "customer(s)";
|
||||
$lang["customers_quantity"] = "Quantity";
|
||||
$lang["customers_stats_info"] = "Stats";
|
||||
$lang["customers_successful_adding"] = "You have successfully added customer";
|
||||
$lang["customers_successful_deleted"] = "You have successfully deleted";
|
||||
$lang["customers_successful_updating"] = "You have successfully updated customer";
|
||||
$lang["customers_tax_code"] = "Tax Code";
|
||||
$lang["customers_tax_id"] = "Tax Id";
|
||||
$lang["customers_taxable"] = "Taxable";
|
||||
$lang["customers_total"] = "Total spent";
|
||||
$lang["customers_update"] = "Update Customer";
|
||||
$lang["rewards_package"] = "Rewards Package";
|
||||
22
application/language/da/datepicker_lang.php
Normal file
22
application/language/da/datepicker_lang.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
$lang["datepicker_all_time"] = "All Time";
|
||||
$lang["datepicker_apply"] = "Apply";
|
||||
$lang["datepicker_cancel"] = "Cancel";
|
||||
$lang["datepicker_custom"] = "Custom";
|
||||
$lang["datepicker_from"] = "From";
|
||||
$lang["datepicker_last_30"] = "Last 30 Days";
|
||||
$lang["datepicker_last_7"] = "Last 7 Days";
|
||||
$lang["datepicker_last_financial_year"] = "Last Fiscal Year";
|
||||
$lang["datepicker_last_month"] = "Last Month";
|
||||
$lang["datepicker_last_year"] = "Last Year";
|
||||
$lang["datepicker_same_month_last_year"] = "Same Month Last Year";
|
||||
$lang["datepicker_same_month_to_same_day_last_year"] = "Same Month To Same Day Last Year";
|
||||
$lang["datepicker_this_financial_year"] = "Current Fiscal Year";
|
||||
$lang["datepicker_this_month"] = "Current Month";
|
||||
$lang["datepicker_this_year"] = "Current Year";
|
||||
$lang["datepicker_to"] = "To";
|
||||
$lang["datepicker_today"] = "Today";
|
||||
$lang["datepicker_today_last_year"] = "Today Last Year";
|
||||
$lang["datepicker_weekstart"] = "0";
|
||||
$lang["datepicker_yesterday"] = "Yesterday";
|
||||
37
application/language/da/employees_lang.php
Normal file
37
application/language/da/employees_lang.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
$lang["employees_basic_information"] = "Information";
|
||||
$lang["employees_cannot_be_deleted"] = "Unable to delete selected employee(s), one or more of the has processed sales or you are trying to delete your account.";
|
||||
$lang["employees_change_password"] = "Change Password";
|
||||
$lang["employees_confirm_delete"] = "Are you sure you want to delete the selected employee(s)?";
|
||||
$lang["employees_confirm_restore"] = "Are you sure you want to restore selected employee(s)?";
|
||||
$lang["employees_current_password"] = "Current Password";
|
||||
$lang["employees_current_password_invalid"] = "Current Password is invalid.";
|
||||
$lang["employees_employee"] = "Employee";
|
||||
$lang["employees_error_adding_updating"] = "Employee add or update failed.";
|
||||
$lang["employees_error_deleting_demo_admin"] = "You can not delete the demo admin user.";
|
||||
$lang["employees_error_updating_demo_admin"] = "You can not change the demo admin user.";
|
||||
$lang["employees_language"] = "Language";
|
||||
$lang["employees_login_info"] = "Login";
|
||||
$lang["employees_new"] = "New Employee";
|
||||
$lang["employees_none_selected"] = "You have not selected any employee(s) to delete.";
|
||||
$lang["employees_one_or_multiple"] = "employee(s)";
|
||||
$lang["employees_password"] = "Password";
|
||||
$lang["employees_password_minlength"] = "Password must be at least 8 characters in length.";
|
||||
$lang["employees_password_must_match"] = "Passwords do not match.";
|
||||
$lang["employees_password_not_must_match"] = "Current password and new password must be unique.";
|
||||
$lang["employees_password_required"] = "Password is required.";
|
||||
$lang["employees_permission_desc"] = "Check the boxes below to grant access to modules.";
|
||||
$lang["employees_permission_info"] = "Permissions";
|
||||
$lang["employees_repeat_password"] = "Password Again";
|
||||
$lang["employees_subpermission_required"] = "Add at least one grant for each module.";
|
||||
$lang["employees_successful_adding"] = "Employee add successful.";
|
||||
$lang["employees_successful_change_password"] = "Password change successful.";
|
||||
$lang["employees_successful_deleted"] = "You have successfully deleted";
|
||||
$lang["employees_successful_updating"] = "You have successfully updated employee";
|
||||
$lang["employees_system_language"] = "System Language";
|
||||
$lang["employees_unsuccessful_change_password"] = "Password change failed.";
|
||||
$lang["employees_update"] = "Update Employee";
|
||||
$lang["employees_username"] = "Username";
|
||||
$lang["employees_username_minlength"] = "Username must be at least 5 characters in length.";
|
||||
$lang["employees_username_required"] = "Username is a required field.";
|
||||
9
application/language/da/enum_lang.php
Normal file
9
application/language/da/enum_lang.php
Normal file
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
$lang["enum_half_down"] = "Half Down";
|
||||
$lang["enum_half_even"] = "Half Even";
|
||||
$lang["enum_half_five"] = "Half Five";
|
||||
$lang["enum_half_odd"] = "Half Odd";
|
||||
$lang["enum_half_up"] = "Half Up";
|
||||
$lang["enum_round_down"] = "Round Down";
|
||||
$lang["enum_round_up"] = "Round Up";
|
||||
4
application/language/da/error_lang.php
Normal file
4
application/language/da/error_lang.php
Normal file
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
|
||||
$lang["error_no_permission_module"] = "You do not have permission to access the module named";
|
||||
$lang["error_unknown"] = "Unexpected error";
|
||||
21
application/language/da/expenses_categories_lang.php
Normal file
21
application/language/da/expenses_categories_lang.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
$lang["category_name_required"] = "Expense Category name required";
|
||||
$lang["expenses_categories_add_item"] = "Add Category";
|
||||
$lang["expenses_categories_cannot_be_deleted"] = "Could not delete Category Expense(s)";
|
||||
$lang["expenses_categories_category_id"] = "Id";
|
||||
$lang["expenses_categories_confirm_delete"] = "Are you sure you want to delete the selected Expense Category?";
|
||||
$lang["expenses_categories_confirm_restore"] = "Are you sure you want to restore the selected Expense Category?";
|
||||
$lang["expenses_categories_description"] = "Category Description";
|
||||
$lang["expenses_categories_error_adding_updating"] = "Error adding/updating Expense Category";
|
||||
$lang["expenses_categories_info"] = "Category Expense Info";
|
||||
$lang["expenses_categories_name"] = "Category Name";
|
||||
$lang["expenses_categories_new"] = "New Category";
|
||||
$lang["expenses_categories_no_expenses_categories_to_display"] = "No Category to display";
|
||||
$lang["expenses_categories_none_selected"] = "You have not selected any Category Expense";
|
||||
$lang["expenses_categories_one_or_multiple"] = "Category Expense";
|
||||
$lang["expenses_categories_quantity"] = "Quantity";
|
||||
$lang["expenses_categories_successful_adding"] = "Expense Category add successful";
|
||||
$lang["expenses_categories_successful_deleted"] = "Expense Category delete successful";
|
||||
$lang["expenses_categories_successful_updating"] = "Expense Category update successful";
|
||||
$lang["expenses_categories_update"] = "Update Category";
|
||||
46
application/language/da/expenses_lang.php
Normal file
46
application/language/da/expenses_lang.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
$lang["expenses_add_item"] = "Add Expense";
|
||||
$lang["expenses_amount"] = "Amount";
|
||||
$lang["expenses_amount_number"] = "Amount must be a number";
|
||||
$lang["expenses_amount_required"] = "Expense Amount required";
|
||||
$lang["expenses_by_category"] = "Category";
|
||||
$lang["expenses_cannot_be_deleted"] = "Could not delete Category Expense(s)";
|
||||
$lang["expenses_cash"] = "Cash";
|
||||
$lang["expenses_cash_filter"] = "Cash";
|
||||
$lang["expenses_categories_name"] = "Category";
|
||||
$lang["expenses_category_required"] = "category is a required field";
|
||||
$lang["expenses_check"] = "Check";
|
||||
$lang["expenses_check_filter"] = "Check";
|
||||
$lang["expenses_confirm_delete"] = "Are you sure you want to delete the selected Expense?";
|
||||
$lang["expenses_confirm_restore"] = "Are you sure you want to restore the selected Expenses(s)?";
|
||||
$lang["expenses_credit"] = "Credit Card";
|
||||
$lang["expenses_credit_filter"] = "Credit Card";
|
||||
$lang["expenses_date"] = "Date";
|
||||
$lang["expenses_date_number"] = "date must be a number";
|
||||
$lang["expenses_date_required"] = "date is a required field";
|
||||
$lang["expenses_debit"] = "Debit Card";
|
||||
$lang["expenses_debit_filter"] = "Debit Card";
|
||||
$lang["expenses_description"] = "Description";
|
||||
$lang["expenses_due"] = "Due";
|
||||
$lang["expenses_due_filter"] = "Due";
|
||||
$lang["expenses_employee"] = "Created By";
|
||||
$lang["expenses_error_adding_updating"] = "Error adding/updating Expense";
|
||||
$lang["expenses_expense_id"] = "Id";
|
||||
$lang["expenses_expenses_employee"] = "Employee";
|
||||
$lang["expenses_info"] = "Expense Info";
|
||||
$lang["expenses_is_deleted"] = "Deleted";
|
||||
$lang["expenses_name_required"] = "Expense Name required";
|
||||
$lang["expenses_new"] = "New Expense";
|
||||
$lang["expenses_no_expenses_to_display"] = "There are no Expenses to display";
|
||||
$lang["expenses_none_selected"] = "You have not selected any Expense";
|
||||
$lang["expenses_one_or_multiple"] = "Expense(s)";
|
||||
$lang["expenses_payment"] = "Payment Type";
|
||||
$lang["expenses_start_typing_supplier_name"] = "Start Typing Supplier's name...";
|
||||
$lang["expenses_successful_adding"] = "Expense add successful";
|
||||
$lang["expenses_successful_deleted"] = "Expense delete successful";
|
||||
$lang["expenses_successful_updating"] = "Expense update successful";
|
||||
$lang["expenses_supplier_name"] = "Supplier";
|
||||
$lang["expenses_supplier_tax_code"] = "Tax Code";
|
||||
$lang["expenses_tax_amount"] = "Tax";
|
||||
$lang["expenses_update"] = "Update Expense";
|
||||
70
application/language/da/giftcards_lang.php
Normal file
70
application/language/da/giftcards_lang.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
$lang["giftcards_add_minus"] = "Inventory to add or subtract.";
|
||||
$lang["giftcards_allow_alt_description"] = "Allow Alternate Description";
|
||||
$lang["giftcards_bulk_edit"] = "Bulk Edit";
|
||||
$lang["giftcards_cannot_be_deleted"] = "Could not delete selected Gift Card(s), one or more of the selected Gift Cards has sales.";
|
||||
$lang["giftcards_cannot_find_giftcard"] = "Gift Card not found.";
|
||||
$lang["giftcards_cannot_use"] = "Gift Card %1 cannot be used for this sale: invalid Customer.";
|
||||
$lang["giftcards_card_value"] = "Value";
|
||||
$lang["giftcards_category"] = "Category";
|
||||
$lang["giftcards_change_all_to_allow_alt_desc"] = "Allow alternate description for all.";
|
||||
$lang["giftcards_change_all_to_not_allow_allow_desc"] = "Do not allow alternate description for all.";
|
||||
$lang["giftcards_change_all_to_serialized"] = "Change All To Serialized";
|
||||
$lang["giftcards_change_all_to_unserialized"] = "Change All To Unserialized";
|
||||
$lang["giftcards_confirm_bulk_edit"] = "Are you sure you want to edit the selected Gift Card(s)?";
|
||||
$lang["giftcards_confirm_delete"] = "Are you sure you want to delete the selected Gift Card(s)?";
|
||||
$lang["giftcards_confirm_restore"] = "Are you sure you want to restore selected Gift Card(s)?";
|
||||
$lang["giftcards_cost_price"] = "Wholesale Price";
|
||||
$lang["giftcards_count"] = "Update Inventory";
|
||||
$lang["giftcards_csv_import_failed"] = "CSV import failed.";
|
||||
$lang["giftcards_current_quantity"] = "Current Quantity";
|
||||
$lang["giftcards_description"] = "Description";
|
||||
$lang["giftcards_details_count"] = "Inventory Count Details";
|
||||
$lang["giftcards_do_nothing"] = "Do Nothing";
|
||||
$lang["giftcards_edit_fields_you_want_to_update"] = "Edit desired fields for selected Gift Card(s).";
|
||||
$lang["giftcards_edit_multiple_giftcards"] = "Edit Multiple Gift Cards.";
|
||||
$lang["giftcards_error_adding_updating"] = "Gift Card add or update failed.";
|
||||
$lang["giftcards_error_updating_multiple"] = "Gift Card(s) update failed.";
|
||||
$lang["giftcards_generate_barcodes"] = "Generate Barcodes";
|
||||
$lang["giftcards_giftcard"] = "Gift Card";
|
||||
$lang["giftcards_giftcard_number"] = "Gift Card Number";
|
||||
$lang["giftcards_info_provided_by"] = "Info provided by";
|
||||
$lang["giftcards_inventory_comments"] = "Comments";
|
||||
$lang["giftcards_is_serialized"] = "Gift Card has Serial Number";
|
||||
$lang["giftcards_low_inventory_giftcards"] = "Low Inventory Gift Cards";
|
||||
$lang["giftcards_manually_editing_of_quantity"] = "Manual Edit of Quantity";
|
||||
$lang["giftcards_must_select_giftcard_for_barcode"] = "You must select at least one (1) Gift Card to generate barcodes.";
|
||||
$lang["giftcards_new"] = "New Gift Card";
|
||||
$lang["giftcards_no_description_giftcards"] = "No Description Gift Cards";
|
||||
$lang["giftcards_no_giftcards_to_display"] = "No Gift Cards to display.";
|
||||
$lang["giftcards_none"] = "None";
|
||||
$lang["giftcards_none_selected"] = "No Gift Card(s) selected to edit.";
|
||||
$lang["giftcards_number"] = "Gift Card Number must be a number.";
|
||||
$lang["giftcards_number_information"] = "Gift Card Number";
|
||||
$lang["giftcards_number_required"] = "Gift Card Number is a required field.";
|
||||
$lang["giftcards_one_or_multiple"] = "Gift Card(s)";
|
||||
$lang["giftcards_person_id"] = "Customer";
|
||||
$lang["giftcards_quantity"] = "Quantity";
|
||||
$lang["giftcards_quantity_required"] = "Quantity is a required field. Please close (X) to cancel.";
|
||||
$lang["giftcards_remaining_balance"] = "Gift Card %1 remaining value is %2!";
|
||||
$lang["giftcards_reorder_level"] = "Reorder Level";
|
||||
$lang["giftcards_retrive_giftcard_info"] = "Retrieve Gift Card Info";
|
||||
$lang["giftcards_sales_tax_1"] = "Sales Tax";
|
||||
$lang["giftcards_sales_tax_2"] = "Sales Tax 2";
|
||||
$lang["giftcards_serialized_giftcards"] = "Serialized Gift Cards";
|
||||
$lang["giftcards_successful_adding"] = "You have successfully added Gift Card";
|
||||
$lang["giftcards_successful_bulk_edit"] = "You have successfully updated the selected Gift Card(s)";
|
||||
$lang["giftcards_successful_deleted"] = "You have successfully deleted";
|
||||
$lang["giftcards_successful_updating"] = "You have successfully updated Gift Card";
|
||||
$lang["giftcards_supplier"] = "Supplier";
|
||||
$lang["giftcards_tax_1"] = "Tax 1";
|
||||
$lang["giftcards_tax_2"] = "Tax 2";
|
||||
$lang["giftcards_tax_percent"] = "Tax Percent";
|
||||
$lang["giftcards_tax_percents"] = "Tax Percent(s)";
|
||||
$lang["giftcards_unit_price"] = "Retail Value";
|
||||
$lang["giftcards_upc_database"] = "Barcode Database";
|
||||
$lang["giftcards_update"] = "Update Gift Card";
|
||||
$lang["giftcards_use_inventory_menu"] = "Use Inventory Menu";
|
||||
$lang["giftcards_value"] = "Gift Card Value must be a number.";
|
||||
$lang["giftcards_value_required"] = "Gift Card Value is a required field.";
|
||||
35
application/language/da/item_kits_lang.php
Normal file
35
application/language/da/item_kits_lang.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
$lang["item_kits_add_item"] = "";
|
||||
$lang["item_kits_all"] = "";
|
||||
$lang["item_kits_cannot_be_deleted"] = "";
|
||||
$lang["item_kits_confirm_delete"] = "";
|
||||
$lang["item_kits_confirm_restore"] = "";
|
||||
$lang["item_kits_description"] = "";
|
||||
$lang["item_kits_discount"] = "";
|
||||
$lang["item_kits_discount_fixed"] = "";
|
||||
$lang["item_kits_discount_percent"] = "";
|
||||
$lang["item_kits_discount_type"] = "";
|
||||
$lang["item_kits_error_adding_updating"] = "";
|
||||
$lang["item_kits_find_kit_item"] = "";
|
||||
$lang["item_kits_info"] = "";
|
||||
$lang["item_kits_item"] = "";
|
||||
$lang["item_kits_items"] = "";
|
||||
$lang["item_kits_kit"] = "";
|
||||
$lang["item_kits_kit_and_components"] = "";
|
||||
$lang["item_kits_kit_and_stock"] = "";
|
||||
$lang["item_kits_kit_only"] = "";
|
||||
$lang["item_kits_name"] = "";
|
||||
$lang["item_kits_new"] = "";
|
||||
$lang["item_kits_no_item_kits_to_display"] = "";
|
||||
$lang["item_kits_none_selected"] = "";
|
||||
$lang["item_kits_one_or_multiple"] = "";
|
||||
$lang["item_kits_price_option"] = "";
|
||||
$lang["item_kits_priced_only"] = "";
|
||||
$lang["item_kits_print_option"] = "";
|
||||
$lang["item_kits_quantity"] = "";
|
||||
$lang["item_kits_sequence"] = "";
|
||||
$lang["item_kits_successful_adding"] = "";
|
||||
$lang["item_kits_successful_deleted"] = "";
|
||||
$lang["item_kits_successful_updating"] = "";
|
||||
$lang["item_kits_update"] = "";
|
||||
112
application/language/da/items_lang.php
Normal file
112
application/language/da/items_lang.php
Normal file
@@ -0,0 +1,112 @@
|
||||
<?php
|
||||
|
||||
$lang["items_add_minus"] = "";
|
||||
$lang["items_allow_alt_description"] = "";
|
||||
$lang["items_amount_entry"] = "";
|
||||
$lang["items_bulk_edit"] = "";
|
||||
$lang["items_buy_price_required"] = "";
|
||||
$lang["items_cannot_be_deleted"] = "";
|
||||
$lang["items_cannot_find_item"] = "";
|
||||
$lang["items_category"] = "";
|
||||
$lang["items_category_required"] = "";
|
||||
$lang["items_change_all_to_allow_alt_desc"] = "";
|
||||
$lang["items_change_all_to_not_allow_allow_desc"] = "";
|
||||
$lang["items_change_all_to_serialized"] = "";
|
||||
$lang["items_change_all_to_unserialized"] = "";
|
||||
$lang["items_change_image"] = "";
|
||||
$lang["items_confirm_bulk_edit"] = "";
|
||||
$lang["items_confirm_bulk_edit_wipe_taxes"] = "";
|
||||
$lang["items_confirm_delete"] = "";
|
||||
$lang["items_confirm_restore"] = "";
|
||||
$lang["items_cost_price"] = "";
|
||||
$lang["items_cost_price_number"] = "";
|
||||
$lang["items_cost_price_required"] = "";
|
||||
$lang["items_count"] = "";
|
||||
$lang["items_csv_import_failed"] = "";
|
||||
$lang["items_csv_import_nodata_wrongformat"] = "";
|
||||
$lang["items_csv_import_partially_failed"] = "";
|
||||
$lang["items_csv_import_success"] = "";
|
||||
$lang["items_current_quantity"] = "";
|
||||
$lang["items_default_pack_name"] = "";
|
||||
$lang["items_description"] = "";
|
||||
$lang["items_details_count"] = "";
|
||||
$lang["items_do_nothing"] = "";
|
||||
$lang["items_edit_fields_you_want_to_update"] = "";
|
||||
$lang["items_edit_multiple_items"] = "";
|
||||
$lang["items_empty_upc_items"] = "";
|
||||
$lang["items_error_adding_updating"] = "";
|
||||
$lang["items_error_updating_multiple"] = "";
|
||||
$lang["items_generate_barcodes"] = "";
|
||||
$lang["items_hsn_code"] = "";
|
||||
$lang["items_image"] = "";
|
||||
$lang["items_import_items_csv"] = "";
|
||||
$lang["items_info_provided_by"] = "";
|
||||
$lang["items_inventory"] = "";
|
||||
$lang["items_inventory_CSV_import_quantity"] = "";
|
||||
$lang["items_inventory_comments"] = "";
|
||||
$lang["items_inventory_data_tracking"] = "";
|
||||
$lang["items_inventory_date"] = "";
|
||||
$lang["items_inventory_employee"] = "";
|
||||
$lang["items_inventory_in_out_quantity"] = "";
|
||||
$lang["items_inventory_remarks"] = "";
|
||||
$lang["items_is_deleted"] = "";
|
||||
$lang["items_is_serialized"] = "";
|
||||
$lang["items_item"] = "";
|
||||
$lang["items_item_number"] = "";
|
||||
$lang["items_item_number_duplicate"] = "";
|
||||
$lang["items_kit"] = "";
|
||||
$lang["items_location"] = "";
|
||||
$lang["items_low_inventory_items"] = "";
|
||||
$lang["items_low_sell_item"] = "";
|
||||
$lang["items_manually_editing_of_quantity"] = "";
|
||||
$lang["items_name"] = "";
|
||||
$lang["items_name_required"] = "";
|
||||
$lang["items_new"] = "";
|
||||
$lang["items_no_description_items"] = "";
|
||||
$lang["items_no_items_to_display"] = "";
|
||||
$lang["items_none"] = "";
|
||||
$lang["items_none_selected"] = "";
|
||||
$lang["items_nonstock"] = "";
|
||||
$lang["items_number_information"] = "";
|
||||
$lang["items_number_required"] = "";
|
||||
$lang["items_one_or_multiple"] = "";
|
||||
$lang["items_pack_name"] = "";
|
||||
$lang["items_qty_per_pack"] = "";
|
||||
$lang["items_quantity"] = "";
|
||||
$lang["items_quantity_number"] = "";
|
||||
$lang["items_quantity_required"] = "";
|
||||
$lang["items_receiving_quantity"] = "";
|
||||
$lang["items_remove_image"] = "";
|
||||
$lang["items_reorder_level"] = "";
|
||||
$lang["items_reorder_level_number"] = "";
|
||||
$lang["items_reorder_level_required"] = "";
|
||||
$lang["items_retrive_item_info"] = "";
|
||||
$lang["items_sales_tax_1"] = "";
|
||||
$lang["items_sales_tax_2"] = "";
|
||||
$lang["items_search_attributes"] = "";
|
||||
$lang["items_select_image"] = "";
|
||||
$lang["items_serialized_items"] = "";
|
||||
$lang["items_standard"] = "";
|
||||
$lang["items_stock"] = "";
|
||||
$lang["items_stock_location"] = "";
|
||||
$lang["items_stock_type"] = "";
|
||||
$lang["items_successful_adding"] = "";
|
||||
$lang["items_successful_bulk_edit"] = "";
|
||||
$lang["items_successful_deleted"] = "";
|
||||
$lang["items_successful_updating"] = "";
|
||||
$lang["items_supplier"] = "";
|
||||
$lang["items_tax_1"] = "";
|
||||
$lang["items_tax_2"] = "";
|
||||
$lang["items_tax_category"] = "";
|
||||
$lang["items_tax_percent"] = "";
|
||||
$lang["items_tax_percent_number"] = "";
|
||||
$lang["items_tax_percent_required"] = "";
|
||||
$lang["items_tax_percents"] = "";
|
||||
$lang["items_temp"] = "";
|
||||
$lang["items_type"] = "";
|
||||
$lang["items_unit_price"] = "";
|
||||
$lang["items_unit_price_number"] = "";
|
||||
$lang["items_unit_price_required"] = "";
|
||||
$lang["items_upc_database"] = "";
|
||||
$lang["items_update"] = "";
|
||||
$lang["items_use_inventory_menu"] = "";
|
||||
10
application/language/da/login_lang.php
Normal file
10
application/language/da/login_lang.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
$lang["login_gcaptcha"] = "";
|
||||
$lang["login_go"] = "";
|
||||
$lang["login_invalid_gcaptcha"] = "";
|
||||
$lang["login_invalid_installation"] = "";
|
||||
$lang["login_invalid_username_and_password"] = "";
|
||||
$lang["login_login"] = "";
|
||||
$lang["login_password"] = "";
|
||||
$lang["login_username"] = "";
|
||||
14
application/language/da/messages_lang.php
Normal file
14
application/language/da/messages_lang.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
$lang["messages_first_name"] = "";
|
||||
$lang["messages_last_name"] = "";
|
||||
$lang["messages_message"] = "";
|
||||
$lang["messages_message_placeholder"] = "";
|
||||
$lang["messages_message_required"] = "";
|
||||
$lang["messages_multiple_phones"] = "";
|
||||
$lang["messages_phone"] = "";
|
||||
$lang["messages_phone_number_required"] = "";
|
||||
$lang["messages_phone_placeholder"] = "";
|
||||
$lang["messages_sms_send"] = "";
|
||||
$lang["messages_successfully_sent"] = "";
|
||||
$lang["messages_unsuccessfully_sent"] = "";
|
||||
41
application/language/da/module_lang.php
Normal file
41
application/language/da/module_lang.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
$lang["module_attributes"] = "";
|
||||
$lang["module_attributes_desc"] = "";
|
||||
$lang["module_both"] = "";
|
||||
$lang["module_cashups"] = "";
|
||||
$lang["module_cashups_desc"] = "";
|
||||
$lang["module_config"] = "";
|
||||
$lang["module_config_desc"] = "";
|
||||
$lang["module_customers"] = "";
|
||||
$lang["module_customers_desc"] = "";
|
||||
$lang["module_employees"] = "";
|
||||
$lang["module_employees_desc"] = "";
|
||||
$lang["module_expenses"] = "";
|
||||
$lang["module_expenses_categories"] = "";
|
||||
$lang["module_expenses_categories_desc"] = "";
|
||||
$lang["module_expenses_desc"] = "";
|
||||
$lang["module_giftcards"] = "";
|
||||
$lang["module_giftcards_desc"] = "";
|
||||
$lang["module_home"] = "";
|
||||
$lang["module_home_desc"] = "";
|
||||
$lang["module_item_kits"] = "";
|
||||
$lang["module_item_kits_desc"] = "";
|
||||
$lang["module_items"] = "";
|
||||
$lang["module_items_desc"] = "";
|
||||
$lang["module_messages"] = "";
|
||||
$lang["module_messages_desc"] = "";
|
||||
$lang["module_migrate"] = "";
|
||||
$lang["module_migrate_desc"] = "";
|
||||
$lang["module_office"] = "";
|
||||
$lang["module_office_desc"] = "";
|
||||
$lang["module_receivings"] = "";
|
||||
$lang["module_receivings_desc"] = "";
|
||||
$lang["module_reports"] = "";
|
||||
$lang["module_reports_desc"] = "";
|
||||
$lang["module_sales"] = "";
|
||||
$lang["module_sales_desc"] = "";
|
||||
$lang["module_suppliers"] = "";
|
||||
$lang["module_suppliers_desc"] = "";
|
||||
$lang["module_taxes"] = "";
|
||||
$lang["module_taxes_desc"] = "";
|
||||
54
application/language/da/receivings_lang.php
Normal file
54
application/language/da/receivings_lang.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
$lang["receivings_cancel_receiving"] = "";
|
||||
$lang["receivings_cannot_be_deleted"] = "";
|
||||
$lang["receivings_comments"] = "";
|
||||
$lang["receivings_complete_receiving"] = "";
|
||||
$lang["receivings_confirm_cancel_receiving"] = "";
|
||||
$lang["receivings_confirm_delete"] = "";
|
||||
$lang["receivings_confirm_finish_receiving"] = "";
|
||||
$lang["receivings_cost"] = "";
|
||||
$lang["receivings_date"] = "";
|
||||
$lang["receivings_date_required"] = "";
|
||||
$lang["receivings_date_type"] = "";
|
||||
$lang["receivings_delete_entire_sale"] = "";
|
||||
$lang["receivings_discount"] = "";
|
||||
$lang["receivings_edit"] = "";
|
||||
$lang["receivings_edit_sale"] = "";
|
||||
$lang["receivings_employee"] = "";
|
||||
$lang["receivings_error_editing_item"] = "";
|
||||
$lang["receivings_error_requisition"] = "";
|
||||
$lang["receivings_find_or_scan_item"] = "";
|
||||
$lang["receivings_find_or_scan_item_or_receipt"] = "";
|
||||
$lang["receivings_id"] = "";
|
||||
$lang["receivings_item_name"] = "";
|
||||
$lang["receivings_mode"] = "";
|
||||
$lang["receivings_new_supplier"] = "";
|
||||
$lang["receivings_one_or_multiple"] = "";
|
||||
$lang["receivings_print_after_sale"] = "";
|
||||
$lang["receivings_quantity"] = "";
|
||||
$lang["receivings_receipt"] = "";
|
||||
$lang["receivings_receipt_number"] = "";
|
||||
$lang["receivings_receiving"] = "";
|
||||
$lang["receivings_reference"] = "";
|
||||
$lang["receivings_register"] = "";
|
||||
$lang["receivings_requisition"] = "";
|
||||
$lang["receivings_return"] = "";
|
||||
$lang["receivings_select_supplier"] = "";
|
||||
$lang["receivings_ship_pack"] = "";
|
||||
$lang["receivings_start_typing_supplier_name"] = "";
|
||||
$lang["receivings_stock"] = "";
|
||||
$lang["receivings_stock_destination"] = "";
|
||||
$lang["receivings_stock_locaiton"] = "";
|
||||
$lang["receivings_stock_source"] = "";
|
||||
$lang["receivings_successfully_deleted"] = "";
|
||||
$lang["receivings_successfully_updated"] = "";
|
||||
$lang["receivings_supplier"] = "";
|
||||
$lang["receivings_supplier_address"] = "";
|
||||
$lang["receivings_supplier_email"] = "";
|
||||
$lang["receivings_supplier_location"] = "";
|
||||
$lang["receivings_total"] = "";
|
||||
$lang["receivings_transaction_failed"] = "";
|
||||
$lang["receivings_unable_to_add_item"] = "";
|
||||
$lang["receivings_unsuccessfully_updated"] = "";
|
||||
$lang["receivings_update"] = "";
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user