Compare commits

..

5526 Commits
2.3 ... 3.3.8

Author SHA1 Message Date
jekkos
ffe49278fc Bump to 3.3.8 2022-08-03 08:50:41 +02:00
Nguyen Tuan Anh
2eb6d85818 Translated using Weblate (Vietnamese)
Currently translated at 99.0% (219 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/vi/
2022-08-02 03:21:05 +02:00
Johntini
d5e371d0ef Translated using Weblate (Spanish)
Currently translated at 100.0% (117 of 117 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/es/
2022-07-29 02:30:19 +02:00
Johntini
306cfbef7c Translated using Weblate (Spanish)
Currently translated at 100.0% (85 of 85 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/es/
2022-07-29 02:30:19 +02:00
Johntini
9ce55583f5 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (327 of 327 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/es_MX/
2022-07-29 02:30:18 +02:00
Johntini
f2dd1131a2 Translated using Weblate (Spanish)
Currently translated at 100.0% (145 of 145 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/es/
2022-07-29 02:30:16 +02:00
Johntini
4df6d708dc Translated using Weblate (Spanish)
Currently translated at 100.0% (327 of 327 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/es/
2022-07-29 02:30:16 +02:00
Johntini
dbf2ee711e Translated using Weblate (Spanish)
Currently translated at 100.0% (221 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/es/
2022-07-29 02:30:15 +02:00
Johntini
aff43196eb Translated using Weblate (Spanish)
Currently translated at 100.0% (55 of 55 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/es/
2022-07-29 02:30:14 +02:00
Johntini
8d8d9b7b54 Translated using Weblate (Spanish)
Currently translated at 100.0% (45 of 45 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/es/
2022-07-29 02:30:14 +02:00
Johntini
76a96503da Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (327 of 327 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/es_MX/
2022-07-28 13:05:40 +02:00
Johntini
6cfb6abbf9 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (38 of 38 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/es_MX/
2022-07-28 13:05:37 +02:00
khao_lek
b864e684b6 Translated using Weblate (Thai)
Currently translated at 97.7% (44 of 45 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/th/
2022-07-28 13:05:37 +02:00
Ricardo Vargas
1516006646 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (145 of 145 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/es_MX/
2022-07-28 13:05:37 +02:00
Johntini
86757cb11a Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (145 of 145 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/es_MX/
2022-07-28 13:05:36 +02:00
Johntini
96abcf6ba9 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (221 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/es_MX/
2022-07-28 05:09:28 +02:00
Johntini
4ae8505a19 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (327 of 327 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/es_MX/
2022-07-28 05:09:27 +02:00
Johntini
5b6ada58d4 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (45 of 45 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/es_MX/
2022-07-28 05:09:25 +02:00
Val Thi
d2301dbfde Translated using Weblate (French)
Currently translated at 100.0% (117 of 117 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/fr/
2022-07-14 21:48:12 +02:00
Val Thi
0ec9a85990 Translated using Weblate (French)
Currently translated at 100.0% (12 of 12 strings)

Translation: opensourcepos/messages
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/messages/fr/
2022-07-14 21:48:11 +02:00
Val Thi
6181953039 Translated using Weblate (French)
Currently translated at 100.0% (327 of 327 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/fr/
2022-07-14 21:48:11 +02:00
Val Thi
d81d0b2fc5 Translated using Weblate (French)
Currently translated at 100.0% (85 of 85 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/fr/
2022-07-14 21:48:10 +02:00
Val Thi
b37cc5ee8b Translated using Weblate (French)
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/fr/
2022-07-14 21:48:09 +02:00
Val Thi
5daed8cc84 Translated using Weblate (French)
Currently translated at 100.0% (38 of 38 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/fr/
2022-07-14 21:48:09 +02:00
Val Thi
8ea4869f4d Translated using Weblate (French)
Currently translated at 100.0% (21 of 21 strings)

Translation: opensourcepos/suppliers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/suppliers/fr/
2022-07-14 07:25:56 +02:00
Val Thi
2b3818c5da Translated using Weblate (French)
Currently translated at 100.0% (41 of 41 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/fr/
2022-07-14 07:25:56 +02:00
Val Thi
1bb96f6dda Translated using Weblate (French)
Currently translated at 100.0% (20 of 20 strings)

Translation: opensourcepos/datepicker
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/datepicker/fr/
2022-07-14 07:25:56 +02:00
Val Thi
f3f1d0e28c Translated using Weblate (French)
Currently translated at 100.0% (53 of 53 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/fr/
2022-07-14 07:25:56 +02:00
Val Thi
05229bc2f6 Translated using Weblate (French)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/fr/
2022-07-14 07:25:55 +02:00
Val Thi
fbb4739673 Translated using Weblate (French)
Currently translated at 92.9% (79 of 85 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/fr/
2022-07-14 07:25:55 +02:00
Val Thi
90186bc667 Translated using Weblate (French)
Currently translated at 100.0% (55 of 55 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/fr/
2022-07-14 07:25:55 +02:00
Val Thi
bd9d2c00a7 Translated using Weblate (French)
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/fr/
2022-07-14 07:25:55 +02:00
Val Thi
e91fcd8bb9 Translated using Weblate (French)
Currently translated at 88.0% (288 of 327 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/fr/
2022-07-14 07:25:55 +02:00
Val Thi
d44dbb8760 Translated using Weblate (French)
Currently translated at 100.0% (38 of 38 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/fr/
2022-07-14 07:25:54 +02:00
Val Thi
1649b81038 Translated using Weblate (French)
Currently translated at 93.1% (109 of 117 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/fr/
2022-07-14 07:25:54 +02:00
Val Thi
16ded77931 Translated using Weblate (French)
Currently translated at 100.0% (79 of 79 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/fr/
2022-07-14 07:25:54 +02:00
Val Thi
f8f186ca2e Translated using Weblate (French)
Currently translated at 100.0% (29 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/fr/
2022-07-14 07:25:53 +02:00
Val Thi
94bd295188 Translated using Weblate (French)
Currently translated at 100.0% (145 of 145 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/fr/
2022-07-14 07:25:53 +02:00
Val Thi
0aa2dd3f6c Translated using Weblate (French)
Currently translated at 100.0% (221 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/fr/
2022-07-14 07:25:53 +02:00
Val Thi
cbed9e4882 Translated using Weblate (French)
Currently translated at 100.0% (46 of 46 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/fr/
2022-07-14 07:25:52 +02:00
Val Thi
31fa79e27a Translated using Weblate (French)
Currently translated at 100.0% (47 of 47 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/fr/
2022-07-14 07:25:52 +02:00
Val Thi
7f1411edbc Translated using Weblate (French)
Currently translated at 100.0% (45 of 45 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/fr/
2022-07-14 02:37:27 +02:00
Val Thi
2e41975c4e Translated using Weblate (French)
Currently translated at 92.1% (35 of 38 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/fr/
2022-07-14 02:37:27 +02:00
Val Thi
1740a69e7c Translated using Weblate (French)
Currently translated at 100.0% (19 of 19 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses_categories/fr/
2022-07-14 02:37:27 +02:00
Val Thi
0544e13211 Translated using Weblate (French)
Currently translated at 84.8% (123 of 145 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/fr/
2022-07-14 02:37:27 +02:00
Val Thi
2da2895062 Translated using Weblate (French)
Currently translated at 90.9% (10 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/fr/
2022-07-14 02:37:27 +02:00
Val Thi
f11f4eeb2d Translated using Weblate (French)
Currently translated at 95.0% (19 of 20 strings)

Translation: opensourcepos/datepicker
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/datepicker/fr/
2022-07-14 02:37:27 +02:00
Val Thi
71efb0262f Translated using Weblate (French)
Currently translated at 96.5% (28 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/fr/
2022-07-14 02:37:27 +02:00
jekkos
f061a83317 Substract refund from total rewards (#3536) 2022-06-30 14:22:26 +02:00
jekkos
e09875e5f3 Use POST to prevent CSRF logo attack (#3533) 2022-06-30 00:25:35 +02:00
Josuw
6a244d1beb Translated using Weblate (Spanish (Mexico))
Currently translated at 21.3% (25 of 117 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/es_MX/
2022-06-24 01:04:04 +02:00
Josuw
5695b74f1b Translated using Weblate (Spanish (Mexico))
Currently translated at 98.8% (84 of 85 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/es_MX/
2022-06-24 01:04:04 +02:00
jekkos
77393d1d21 Add zipfile to releases (#3519) 2022-06-16 10:53:30 +02:00
Dzung Do
b366641fbc Translated using Weblate (Vietnamese)
Currently translated at 90.9% (10 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/vi/
2022-06-03 05:54:03 +02:00
Dzung Do
bde0dc0b7c Translated using Weblate (Vietnamese)
Currently translated at 34.7% (16 of 46 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/vi/
2022-06-03 05:54:03 +02:00
Dzung Do
f99d0dca8d Translated using Weblate (Vietnamese)
Currently translated at 49.3% (39 of 79 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/vi/
2022-06-03 05:54:03 +02:00
Dzung Do
24f8c94c49 Translated using Weblate (Vietnamese)
Currently translated at 91.7% (78 of 85 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/vi/
2022-06-03 05:54:03 +02:00
dependabot[bot]
7e3d048bfc Bump grunt from 1.5.2 to 1.5.3
Bumps [grunt](https://github.com/gruntjs/grunt) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/gruntjs/grunt/releases)
- [Changelog](https://github.com/gruntjs/grunt/blob/main/CHANGELOG)
- [Commits](https://github.com/gruntjs/grunt/compare/v1.5.2...v1.5.3)

---
updated-dependencies:
- dependency-name: grunt
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-26 09:47:02 +02:00
FastAct
122a827645 Translated using Weblate (Flemish)
Currently translated at 100.0% (53 of 53 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/nl_BE/
2022-05-25 14:01:36 +02:00
FastAct
427c4c7d3d Translated using Weblate (Flemish)
Currently translated at 100.0% (38 of 38 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/nl_BE/
2022-05-25 14:01:36 +02:00
FastAct
6ca1cb739f Translated using Weblate (Flemish)
Currently translated at 100.0% (145 of 145 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/nl_BE/
2022-05-25 14:01:36 +02:00
FastAct
070d989548 Translated using Weblate (Flemish)
Currently translated at 100.0% (21 of 21 strings)

Translation: opensourcepos/suppliers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/suppliers/nl_BE/
2022-05-25 14:01:36 +02:00
FastAct
cd0132c22c Translated using Weblate (Flemish)
Currently translated at 100.0% (85 of 85 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/nl_BE/
2022-05-25 14:01:35 +02:00
FastAct
9f8cf48467 Translated using Weblate (Flemish)
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/nl_BE/
2022-05-25 14:01:35 +02:00
FastAct
206b56333a Translated using Weblate (Flemish)
Currently translated at 100.0% (117 of 117 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/nl_BE/
2022-05-25 14:01:35 +02:00
FastAct
cf59d6779e Translated using Weblate (Flemish)
Currently translated at 100.0% (327 of 327 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/nl_BE/
2022-05-25 14:01:35 +02:00
FastAct
68ed73ab3b Translated using Weblate (Flemish)
Currently translated at 100.0% (41 of 41 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/nl_BE/
2022-05-25 14:01:34 +02:00
FastAct
e5236dd510 Translated using Weblate (Flemish)
Currently translated at 100.0% (221 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/nl_BE/
2022-05-25 14:01:34 +02:00
FastAct
d1f8c15f3e Translated using Weblate (Flemish)
Currently translated at 100.0% (79 of 79 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/nl_BE/
2022-05-25 14:01:33 +02:00
FastAct
6810f613a0 Translated using Weblate (Flemish)
Currently translated at 100.0% (45 of 45 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/nl_BE/
2022-05-25 14:01:32 +02:00
FastAct
3980f248ed Translated using Weblate (Flemish)
Currently translated at 100.0% (47 of 47 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/nl_BE/
2022-05-25 14:01:32 +02:00
Natig Asadov
bf2cf416db Translated using Weblate (Azerbaijani)
Currently translated at 99.5% (220 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/az/
2022-05-18 04:36:03 +02:00
knnhsn
772d42490b Translated using Weblate (Azerbaijani)
Currently translated at 97.8% (46 of 47 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/az/
2022-05-16 12:43:12 +02:00
Natig Asadov
c580e4cdee Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (85 of 85 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/az/
2022-05-13 05:44:30 +02:00
Natig Asadov
efe4becfab Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (117 of 117 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/az/
2022-05-13 05:44:30 +02:00
Natig Asadov
d1c25991fe Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/az/
2022-05-13 05:44:29 +02:00
khao_lek
528ebf8e20 Translated using Weblate (Thai)
Currently translated at 99.0% (219 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/th/
2022-05-10 21:47:53 +02:00
jekkos
4f3226b1ba Add item_pic to escape ignore list (#3379) 2022-05-03 11:26:34 +02:00
jekkos
82ae2e0931 Enable search in detailed reports (#3495) 2022-05-01 11:59:35 +02:00
chunter2
e4ca111977 Add cost price column to item summary report (#3495) 2022-04-30 01:16:32 +02:00
jekkos
31944f491c Enable search in reports (#3491) 2022-04-29 21:30:23 +02:00
dependabot[bot]
19342e4d6f Bump simple-get from 3.1.0 to 3.1.1
Bumps [simple-get](https://github.com/feross/simple-get) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/feross/simple-get/releases)
- [Commits](https://github.com/feross/simple-get/compare/v3.1.0...v3.1.1)

---
updated-dependencies:
- dependency-name: simple-get
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-29 18:36:35 +02:00
jekkos
c8a83fbb57 Update unstable build URL
NPM package uploads are working again. Update the URL in the documentation.
2022-04-29 15:26:29 +02:00
jekkos
c3d06fc6f5 Remove markup last row expenses (#3779) 2022-04-29 15:17:53 +02:00
jekkos
553eae19a3 Add version string echo 2022-04-29 15:16:32 +02:00
jekkos
63f282a8b5 3.3.7-master-564465 2022-04-29 15:16:32 +02:00
jekkos
cfd5973f0e Add npm version --from-git
Rotate npm token
2022-04-29 15:16:32 +02:00
dependabot[bot]
e44bc3e674 Bump grunt from 1.4.1 to 1.5.2
Bumps [grunt](https://github.com/gruntjs/grunt) from 1.4.1 to 1.5.2.
- [Release notes](https://github.com/gruntjs/grunt/releases)
- [Changelog](https://github.com/gruntjs/grunt/blob/main/CHANGELOG)
- [Commits](https://github.com/gruntjs/grunt/compare/v1.4.1...v1.5.2)

---
updated-dependencies:
- dependency-name: grunt
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-29 15:16:32 +02:00
Casper Hsiao
d6b66d9fe2 Translated using Weblate (Chinese (Traditional))
Currently translated at 95.4% (211 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/zh_Hant/
2022-04-27 20:32:20 +02:00
jekkos
a6b4f826c5 Update changelog 2022-04-26 23:49:58 +02:00
jekkos
d26498d1ad Do not escape email and phone_numbers (#3379) 2022-04-26 23:49:58 +02:00
jekkos
5897130e0a Fix sales last row style (#3379) 2022-04-25 23:32:50 +02:00
khao_lek
a0c3a532aa Translated using Weblate (Thai)
Currently translated at 98.6% (218 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/th/
2022-04-19 19:36:33 +02:00
jekkos
9331d82313 Add escape flag for XSS mitigation (#3379) 2022-04-14 09:28:12 +02:00
khao_lek
3e60b74c4c Translated using Weblate (Thai)
Currently translated at 98.6% (218 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/th/
2022-04-07 09:45:36 +02:00
jekkos
4a591e89b6 Mount database.sql from docker volume (#3352) 2022-04-05 21:52:52 +02:00
jekkos
8c1977b1ec Fix transaction summary for serialized items (#3445) 2022-04-01 08:56:15 +02:00
Aril Apria Susanto
4a8aaf8ef0 Translated using Weblate (Indonesian)
Currently translated at 100.0% (145 of 145 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/id/
2022-04-01 07:34:24 +02:00
Aril Apria Susanto
c4b8f8654d Translated using Weblate (Indonesian)
Currently translated at 100.0% (41 of 41 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/id/
2022-04-01 07:34:24 +02:00
Aril Apria Susanto
cb3d84f1bf Translated using Weblate (Indonesian)
Currently translated at 100.0% (53 of 53 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/id/
2022-04-01 07:34:24 +02:00
Aril Apria Susanto
166d2b586c Translated using Weblate (Indonesian)
Currently translated at 100.0% (327 of 327 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/id/
2022-04-01 07:34:24 +02:00
Aril Apria Susanto
ca792b44cd Translated using Weblate (Indonesian)
Currently translated at 100.0% (221 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/id/
2022-04-01 07:34:24 +02:00
Aril Apria Susanto
4825248a1a Translated using Weblate (Indonesian)
Currently translated at 100.0% (77 of 77 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/id/
2022-04-01 07:34:24 +02:00
Aril Apria Susanto
17973151e4 Translated using Weblate (Indonesian)
Currently translated at 100.0% (45 of 45 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/id/
2022-04-01 07:34:24 +02:00
Aril Apria Susanto
5b9301567c Translated using Weblate (Indonesian)
Currently translated at 100.0% (117 of 117 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/id/
2022-04-01 07:34:24 +02:00
jekkos
6028bc408d Run build if git tag is added 2022-03-29 22:30:59 +02:00
khao_lek
5974d01453 Translated using Weblate (Thai)
Currently translated at 98.6% (218 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/th/
2022-03-29 19:13:13 +02:00
khao_lek
c83db2f5c7 Translated using Weblate (Thai)
Currently translated at 100.0% (55 of 55 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/th/
2022-03-29 19:12:49 +02:00
khao_lek
8e24570cfb Translated using Weblate (Thai)
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/th/
2022-03-29 09:00:18 +02:00
khao_lek
fdf49e9038 Translated using Weblate (Thai)
Currently translated at 99.0% (219 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/th/
2022-03-29 09:00:18 +02:00
khao_lek
559b354925 Translated using Weblate (Thai)
Currently translated at 97.7% (44 of 45 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/th/
2022-03-29 09:00:17 +02:00
khao_lek
af864aefd5 Translated using Weblate (Thai)
Currently translated at 99.6% (326 of 327 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/th/
2022-03-29 09:00:15 +02:00
ALink3133
5e55952ce8 Translated using Weblate (Thai)
Currently translated at 97.2% (215 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/th/
2022-02-23 10:46:51 +01:00
ALink3133
8e1a8fe480 Translated using Weblate (Thai)
Currently translated at 90.9% (10 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/th/
2022-02-23 10:46:51 +01:00
ALink3133
99e51bcdf9 Translated using Weblate (Thai)
Currently translated at 93.3% (42 of 45 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/th/
2022-02-23 10:46:51 +01:00
Mats Pålsson
48217895bb Translated using Weblate (Swedish)
Currently translated at 95.2% (81 of 85 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/sv/
2022-02-18 11:26:14 +01:00
Steve Ireland
96c59245e3 Change register to show anticipated invoice number. (#3408) 2022-01-28 14:35:22 -05:00
Elio Enzo Papais
9cf4e6e07b Translated using Weblate (Italian)
Currently translated at 98.6% (218 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/it/
2022-01-27 18:28:34 +01:00
Elio Enzo Papais
bb73d48d37 Translated using Weblate (Italian)
Currently translated at 93.6% (44 of 47 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/it/
2022-01-27 18:28:34 +01:00
Elio Enzo Papais
2af5642fe7 Translated using Weblate (Italian)
Currently translated at 0.0% (0 of 2 strings)

Translation: opensourcepos/error
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/error/it/
2022-01-27 18:28:34 +01:00
Elio Enzo Papais
c1207b64df Translated using Weblate (Italian)
Currently translated at 97.6% (83 of 85 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/it/
2022-01-27 18:28:33 +01:00
Elio Enzo Papais
5e02f0531a Translated using Weblate (Italian)
Currently translated at 94.3% (50 of 53 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/it/
2022-01-27 18:28:33 +01:00
Elio Enzo Papais
bea49e6eeb Translated using Weblate (Italian)
Currently translated at 96.3% (53 of 55 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/it/
2022-01-27 18:28:33 +01:00
Elio Enzo Papais
a7772f3e1b Translated using Weblate (Italian)
Currently translated at 93.1% (109 of 117 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/it/
2022-01-27 18:28:33 +01:00
Elio Enzo Papais
e6072ee9fa Translated using Weblate (Italian)
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/it/
2022-01-27 05:34:23 +01:00
Elio Enzo Papais
dd24a3c8d0 Translated using Weblate (Italian)
Currently translated at 95.7% (112 of 117 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/it/
2022-01-27 05:34:23 +01:00
Elio Enzo Papais
7857206999 Translated using Weblate (Italian)
Currently translated at 100.0% (46 of 46 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/it/
2022-01-27 05:34:22 +01:00
Elio Enzo Papais
4c642bd8d3 Translated using Weblate (Italian)
Currently translated at 98.7% (323 of 327 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/it/
2022-01-27 05:34:22 +01:00
Elio Enzo Papais
0ec68c8b99 Translated using Weblate (Italian)
Currently translated at 98.6% (218 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/it/
2022-01-27 05:34:22 +01:00
Elio Enzo Papais
0e2e808635 Translated using Weblate (Italian)
Currently translated at 97.9% (142 of 145 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/it/
2022-01-26 03:10:19 +01:00
Elio Enzo Papais
4f81d602ea Translated using Weblate (Italian)
Currently translated at 100.0% (79 of 79 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/it/
2022-01-26 03:10:19 +01:00
Elio Enzo Papais
db14ea80e2 Translated using Weblate (Italian)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/it/
2022-01-26 03:10:19 +01:00
Elio Enzo Papais
09d0005724 Translated using Weblate (Italian)
Currently translated at 98.1% (217 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/it/
2022-01-26 03:10:18 +01:00
Elio Enzo Papais
9bb48cee59 Translated using Weblate (Italian)
Currently translated at 100.0% (7 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/enum/it/
2022-01-26 03:10:18 +01:00
Elio Enzo Papais
38e718774f Translated using Weblate (Italian)
Currently translated at 92.3% (302 of 327 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/it/
2022-01-26 03:10:18 +01:00
Elio Enzo Papais
1470cce981 Translated using Weblate (Italian)
Currently translated at 88.0% (288 of 327 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/it/
2022-01-25 00:16:21 +01:00
Elio Enzo Papais
ff55e966ce Translated using Weblate (Italian)
Currently translated at 91.4% (202 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/it/
2022-01-25 00:16:21 +01:00
Elio Enzo Papais
de4ea6299f Translated using Weblate (Italian)
Currently translated at 100.0% (45 of 45 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/it/
2022-01-25 00:16:21 +01:00
Elio Enzo Papais
d3906cbbc4 Translated using Weblate (Italian)
Currently translated at 100.0% (38 of 38 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/it/
2022-01-25 00:16:21 +01:00
Elio Enzo Papais
8df3735bbf Translated using Weblate (Italian)
Currently translated at 100.0% (29 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/it/
2022-01-25 00:16:21 +01:00
Elio Enzo Papais
85b9048041 Translated using Weblate (Italian)
Currently translated at 88.8% (104 of 117 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/it/
2022-01-25 00:16:21 +01:00
Elio Enzo Papais
7f7de97920 Translated using Weblate (Italian)
Currently translated at 90.9% (10 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/it/
2022-01-25 00:16:21 +01:00
Elio Enzo Papais
912c035e27 Translated using Weblate (Italian)
Currently translated at 84.8% (123 of 145 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/it/
2022-01-25 00:16:21 +01:00
Elio Enzo Papais
bd1baad7f1 Translated using Weblate (Italian)
Currently translated at 90.5% (77 of 85 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/it/
2022-01-25 00:16:21 +01:00
Elio Enzo Papais
d61d1ad878 Translated using Weblate (Italian)
Currently translated at 73.9% (34 of 46 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/it/
2022-01-25 00:16:21 +01:00
Elio Enzo Papais
d14e21cc68 Translated using Weblate (Italian)
Currently translated at 100.0% (19 of 19 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses_categories/it/
2022-01-25 00:16:21 +01:00
Elio Enzo Papais
780db269de Translated using Weblate (Italian)
Currently translated at 64.5% (51 of 79 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/it/
2022-01-25 00:16:21 +01:00
jekkos
669a5b33f3 Bump to 3.3.7 2022-01-23 23:01:32 +01:00
khao_lek
3d4dc0fc56 Translated using Weblate (Thai)
Currently translated at 100.0% (221 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/th/
2022-01-17 19:38:10 +01:00
khao_lek
7a4e16422e Translated using Weblate (Thai)
Currently translated at 100.0% (41 of 41 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/th/
2022-01-17 19:38:10 +01:00
khao_lek
0dc7da8a3b Translated using Weblate (Thai)
Currently translated at 100.0% (145 of 145 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/th/
2022-01-17 19:38:09 +01:00
khao_lek
ba66e8d8c7 Translated using Weblate (Thai)
Currently translated at 100.0% (117 of 117 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/th/
2022-01-17 19:38:08 +01:00
Nicolas Hurtubise
5eea70dca4 Translated using Weblate (French)
Currently translated at 94.1% (208 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/fr/
2022-01-16 09:14:51 +01:00
Nicolas Hurtubise
f7bbc7c634 Translated using Weblate (French)
Currently translated at 87.5% (7 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/fr/
2022-01-16 09:14:51 +01:00
Nicolas Hurtubise
0df712fbd7 Translated using Weblate (French)
Currently translated at 93.6% (207 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/fr/
2022-01-14 18:53:46 +01:00
Nicolas Hurtubise
511c6238a8 Translated using Weblate (English)
Currently translated at 100.0% (221 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/en/
2022-01-14 18:53:46 +01:00
jekkos
730ec1292d Use anchor in supplier regex (#3402)
Adding a unit test to check the url patterns allowed/disallowed would be a good idea. I should practice what I preach.
2022-01-12 00:34:16 +01:00
jekkos
6e1db1458b Rotate npm token (#2834) 2022-01-11 23:32:13 +01:00
jekkos
5c425febfb Use https for git-script-link-tags 2022-01-11 23:31:11 +01:00
jekkos
81087fc093 Update link to unstable builds (#2834) 2022-01-10 12:25:19 +01:00
jekkos
0231c0bc4f Use git tag in case of release (#2834) 2022-01-09 18:13:18 +01:00
jekkos
bece3b5fea Enable npm package uploads for unstable (#2834) 2022-01-08 12:27:21 +01:00
jekkos
b309b631f2 Update CHANGELOG.md 2022-01-08 01:11:16 +01:00
jacekz123
f3e41a4535 Translated using Weblate (Polish)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/pl/
2022-01-07 13:20:30 +01:00
jacekz123
5675aeed12 Translated using Weblate (Polish)
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/pl/
2022-01-06 23:54:53 +01:00
jacekz123
2c331b6244 Translated using Weblate (Polish)
Currently translated at 100.0% (12 of 12 strings)

Translation: opensourcepos/messages
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/messages/pl/
2022-01-06 23:54:53 +01:00
jacekz123
3841502704 Translated using Weblate (Polish)
Currently translated at 100.0% (2 of 2 strings)

Translation: opensourcepos/error
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/error/pl/
2022-01-06 23:54:53 +01:00
jacekz123
e94af0ddbc Translated using Weblate (Polish)
Currently translated at 100.0% (29 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/pl/
2022-01-06 23:54:53 +01:00
jacekz123
11a05501c5 Translated using Weblate (Polish)
Currently translated at 2.9% (2 of 68 strings)

Translation: opensourcepos/giftcards
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/giftcards/pl/
2022-01-06 23:54:53 +01:00
jacekz123
0262f644af Translated using Weblate (Polish)
Currently translated at 100.0% (85 of 85 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/pl/
2022-01-06 23:54:53 +01:00
jacekz123
67881c172f Translated using Weblate (Polish)
Currently translated at 100.0% (20 of 20 strings)

Translation: opensourcepos/datepicker
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/datepicker/pl/
2022-01-06 23:54:53 +01:00
jekkos
40565ea811 Add default user/password in testing (#3374) 2022-01-06 23:26:10 +01:00
jekkos
9332d16ec4 Fix logout csrf 2022-01-01 22:32:36 +01:00
FrancescoUK
bb0e771542 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (85 of 85 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/en_GB/
2021-12-13 03:24:26 +01:00
Cedo
24cb0247d5 Translated using Weblate (Bosnian)
Currently translated at 100.0% (78 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/bs/
2021-12-04 21:30:21 +01:00
Cedo
e22608ba61 Translated using Weblate (Bosnian)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/bs/
2021-12-04 18:37:53 +01:00
Cedo
ac76ab290b Translated using Weblate (Bosnian)
Currently translated at 100.0% (140 of 140 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/bs/
2021-12-04 18:37:53 +01:00
Cedo
07fd9b4c5c Translated using Weblate (Bosnian)
Currently translated at 100.0% (39 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/bs/
2021-12-04 18:37:53 +01:00
programmer111213
8c432c00b0 Translated using Weblate (Russian)
Currently translated at 100.0% (68 of 68 strings)

Translation: opensourcepos/giftcards
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/giftcards/ru/
2021-11-27 09:16:03 +01:00
programmer111213
c3cfed5cbf Translated using Weblate (Russian)
Currently translated at 97.3% (37 of 38 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/ru/
2021-11-22 16:41:03 +01:00
programmer111213
3dbd39058f Translated using Weblate (Russian)
Currently translated at 85.9% (190 of 221 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/ru/
2021-11-22 16:41:02 +01:00
programmer111213
df932b8870 Translated using Weblate (Russian)
Currently translated at 25.0% (3 of 12 strings)

Translation: opensourcepos/messages
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/messages/ru/
2021-11-22 16:41:02 +01:00
programmer111213
13920e18ad Translated using Weblate (Russian)
Currently translated at 96.3% (53 of 55 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/ru/
2021-11-22 16:41:02 +01:00
MushlihTechFoundation
7105013c5f Translated using Weblate (Indonesian)
Currently translated at 97.4% (75 of 77 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/id/
2021-11-20 00:36:48 +01:00
MushlihTechFoundation
01a9810a0c Translated using Weblate (Indonesian)
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/id/
2021-11-20 00:36:48 +01:00
jekkos
0618ff47fd Update ISSUE_TEMPLATE.md 2021-11-16 22:08:49 +01:00
Cedo
77eb5e4da3 Translated using Weblate (Bosnian)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/bs/
2021-11-16 05:31:35 +01:00
Cedo
c4dfef10f7 Translated using Weblate (Bosnian)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/bs/
2021-11-16 05:31:35 +01:00
Cedo
f3056c155a Translated using Weblate (Bosnian)
Currently translated at 100.0% (140 of 140 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/bs/
2021-11-16 05:31:34 +01:00
Cedo
4a3ac37f22 Translated using Weblate (Bosnian)
Currently translated at 100.0% (302 of 302 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/bs/
2021-11-16 03:08:25 +01:00
Cedo
4f07754071 Translated using Weblate (Bosnian)
Currently translated at 100.0% (68 of 68 strings)

Translation: opensourcepos/giftcards
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/giftcards/bs/
2021-11-16 03:08:24 +01:00
Cedo
80e5d94b66 Translated using Weblate (Bosnian)
Currently translated at 100.0% (39 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/bs/
2021-11-16 03:08:24 +01:00
Cedo
ef75301b65 Translated using Weblate (Bosnian)
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/bs/
2021-11-16 03:08:24 +01:00
Cedo
4a05748e67 Translated using Weblate (Bosnian)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/bs/
2021-11-15 02:14:46 +01:00
Cedo
59a1725501 Translated using Weblate (Bosnian)
Currently translated at 100.0% (7 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/enum/bs/
2021-11-15 02:14:46 +01:00
Cedo
dd21356b81 Translated using Weblate (Bosnian)
Currently translated at 100.0% (140 of 140 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/bs/
2021-11-15 02:14:45 +01:00
BudsieBuds
65726930bc Translated using Weblate (Dutch)
Currently translated at 94.8% (73 of 77 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/nl/
2021-11-03 18:16:36 +01:00
crls12opazo
cdeda755fc Translated using Weblate (Spanish)
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/es/
2021-11-01 16:08:28 +01:00
Cedo
b5d0399205 Translated using Weblate (Bosnian)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/bs/
2021-10-31 12:26:05 +01:00
Cedo
871310a83f Translated using Weblate (Bosnian)
Currently translated at 100.0% (7 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/enum/bs/
2021-10-31 12:26:05 +01:00
Cedo
ba4be2fca1 Translated using Weblate (Bosnian)
Currently translated at 100.0% (78 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/bs/
2021-10-31 12:26:05 +01:00
Cedo
4d506fec09 Translated using Weblate (Bosnian)
Currently translated at 100.0% (21 of 21 strings)

Translation: opensourcepos/suppliers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/suppliers/bs/
2021-10-31 12:26:05 +01:00
Cedo
a25f9a94ce Translated using Weblate (Bosnian)
Currently translated at 100.0% (140 of 140 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/bs/
2021-10-31 10:37:02 +01:00
Cedo
594b376720 Translated using Weblate (Bosnian)
Currently translated at 100.0% (78 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/bs/
2021-10-31 10:37:01 +01:00
Cedo
f8c8a5874a Translated using Weblate (Bosnian)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/bs/
2021-10-31 10:37:01 +01:00
Cedo
b8ff4d9886 Translated using Weblate (Bosnian)
Currently translated at 100.0% (68 of 68 strings)

Translation: opensourcepos/giftcards
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/giftcards/bs/
2021-10-31 10:37:01 +01:00
Cedo
0576cd5bc5 Translated using Weblate (Bosnian)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/bs/
2021-10-31 10:37:00 +01:00
Cedo
5fe631c188 Translated using Weblate (Bosnian)
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/bs/
2021-10-31 08:59:56 +01:00
Cedo
b9284a7abd Translated using Weblate (Bosnian)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/bs/
2021-10-31 08:59:56 +01:00
Cedo
256c83c20f Translated using Weblate (Bosnian)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/bs/
2021-10-31 08:59:55 +01:00
Cedo
da0263c3d7 Translated using Weblate (Bosnian)
Currently translated at 100.0% (77 of 77 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/bs/
2021-10-31 08:59:55 +01:00
Cedo
c9716a890a Translated using Weblate (Bosnian)
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/bs/
2021-10-31 08:59:55 +01:00
Cedo
b9a75c0be6 Translated using Weblate (Bosnian)
Currently translated at 100.0% (39 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/bs/
2021-10-31 08:59:55 +01:00
Cedo
0b5453926e Translated using Weblate (Bosnian)
Currently translated at 100.0% (302 of 302 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/bs/
2021-10-31 08:59:54 +01:00
Cedo
bfd8e2b727 Translated using Weblate (Bosnian)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/bs/
2021-10-31 08:59:53 +01:00
Cedo
11bf7ce3ed Translated using Weblate (Bosnian)
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/bs/
2021-10-31 08:59:53 +01:00
Cedo
566d1267fd Translated using Weblate (Bosnian)
Currently translated at 97.8% (137 of 140 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/bs/
2021-10-31 00:37:58 +02:00
programmer111213
1b035cdf8a Translated using Weblate (Russian)
Currently translated at 87.2% (157 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/ru/
2021-10-21 17:32:53 +02:00
programmer111213
17fd336ecd Translated using Weblate (Russian)
Currently translated at 80.7% (42 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/ru/
2021-10-21 17:32:53 +02:00
programmer111213
d225d9057c Translated using Weblate (Russian)
Currently translated at 100.0% (68 of 68 strings)

Translation: opensourcepos/giftcards
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/giftcards/ru/
2021-10-21 17:32:53 +02:00
programmer111213
cfac498232 Translated using Weblate (Russian)
Currently translated at 92.2% (71 of 77 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/ru/
2021-10-21 17:32:53 +02:00
BudsieBuds
b936306b50 Combine dependencies info, update npm packages
Combined the package.md and composer.md to DEVELOPMENT.md. Updated bootstrap, bootswatch, and grunt-bower packages to newest versions.
2021-10-20 22:32:02 +02:00
BudsieBuds
33cb3fa3f9 Text improvements
Improved some of the non-trivial files.
2021-10-20 22:32:02 +02:00
jekkos
caaa26f9ba Bump to 3.3.6 2021-10-19 23:28:01 +02:00
jekkos
bbac91f421 Sync language files (#2554) 2021-10-19 23:00:00 +02:00
WebShells
6f8b877bd9 Keyboard Shortcuts/Hotkeys (#2618)
Added Shortcuts/Hotkeys to Register

ESC 	Cancels Current Quote/Invoice/Sale
ALT + 1 	Item Search
ALT + 2 	Customer Search
ALT + 3 	Suspend Current Sale
ALT + 4 	Show Suspended Sales
ALT + 5 	Edit Amount Tendered
ALT + 6 	Add Payment
ALT + 7 	Add Payment and Complete Invoice/Sale
ALT + 8 	Finish Quote/Invoice witdout payment
ALT + 9 	Open Shortcuts Window

Layout / Responsiveness

F11 Full Screen mode
CTRL + Zoom in
CTRL - Zoom out
CTRL 0 Reset Zoom

CTRL P Print out current page
CTRL F Search reports tables
2021-10-19 23:00:00 +02:00
jekkos
c5bf78fcbd Fix payment summary refresh after edit (#3329) 2021-10-16 23:21:14 +02:00
jekkos
3ac43c2d26 Use POST for delete supplier & customer (#3336) 2021-10-15 21:46:32 +02:00
FrancescoUK
2e33f32630 Leave cURL default for SSL because more secure 2021-10-10 14:09:49 +01:00
jekkos
986ab7e86c Make footer revision clickable (#3306) 2021-10-08 23:18:46 +02:00
FrancescoUK
9b1def4324 Translated using Weblate (English (United Kingdom))
Currently translated at 86.6% (39 of 45 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/en_GB/
2021-10-08 00:34:22 +02:00
FrancescoUK
8d87f35fd8 Fix reCaptcha issue with wrong keys (#3207) 2021-10-07 21:35:30 +01:00
FrancescoUK
35b850a19b Translated using Weblate (English (United Kingdom))
Currently translated at 81.3% (70 of 86 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/en_GB/
2021-10-07 21:40:24 +02:00
FrancescoUK
9f13778cdb Translated using Weblate (English (United Kingdom))
Currently translated at 89.7% (105 of 117 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/en_GB/
2021-10-07 21:40:24 +02:00
FrancescoUK
1ecb834b4c Translated using Weblate (English (United Kingdom))
Currently translated at 93.1% (135 of 145 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/en_GB/
2021-10-07 21:40:23 +02:00
FrancescoUK
8e8008e285 Translated using Weblate (English (United Kingdom))
Currently translated at 92.7% (51 of 55 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/en_GB/
2021-10-07 21:40:23 +02:00
FrancescoUK
fa6e8e853b Translated using Weblate (English (United Kingdom))
Currently translated at 88.5% (177 of 200 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/en_GB/
2021-10-07 21:40:22 +02:00
FrancescoUK
9c24fd8b3d Translated using Weblate (English (United Kingdom))
Currently translated at 94.1% (308 of 327 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/en_GB/
2021-10-07 21:40:22 +02:00
FrancescoUK
cf59e06294 Translated using Weblate (English (United Kingdom))
Currently translated at 84.4% (38 of 45 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/en_GB/
2021-10-07 21:40:21 +02:00
FrancescoUK
2267bf6896 Translated using Weblate (English (United Kingdom))
Currently translated at 96.2% (51 of 53 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/en_GB/
2021-10-07 21:40:19 +02:00
FrancescoUK
b2d187a349 Add dev docker-compose with phpmyadmin 2021-10-06 20:24:08 +01:00
FrancescoUK
d821c69e6c Fix dev docker-compose 2021-10-06 20:22:13 +01:00
FrancescoUK
e36a74ded2 Fix CSP, it needs to be one line + ReCaptcha 2021-10-06 18:39:02 +01:00
FrancescoUK
ee5e06cd0c Fix CSP rules (and tested) 2021-10-06 14:37:11 +01:00
jekkos
d04f1e434c Try unsafe-inline for script-src, add font-src 2021-10-06 14:37:11 +01:00
jekkos
38ebf9e819 Add CSP directive for javascript (#3217) 2021-10-06 14:37:11 +01:00
FrancescoUK
05de93cb68 Update composer.lock 2021-10-05 19:10:33 +01:00
FrancescoUK
970744d8fc Update docker-compose.dev.yml 2021-10-05 19:08:37 +01:00
FrancescoUK
a5f063b382 Remove deprecated MAINTAINER from Dockerfile 2021-10-05 19:06:59 +01:00
jekkos
6b3aa876ed Amend the fix to include delete_supplier (#3332) 2021-10-04 23:23:27 +02:00
jekkos
f1672d9701 Prevent type juggling for password hash comparison (#3324) 2021-09-30 22:51:05 +02:00
Jevinson Lim
2f69841c95 Update Items.php
Fixes the problem where 'Supplier ID' is not saved during csv import.
2021-09-30 00:08:27 +02:00
jekkos
e8f27f547b Extend method hook validation for deletes 2021-09-29 00:20:13 +02:00
jekkos
2b031e6466 Fix reflected XSS vulnerability 2021-09-28 20:44:50 +02:00
WShells
6ef764d9b2 Typo 2021-09-23 08:57:29 +02:00
WebShells
d2d9c9c532 Tax name
Added tax name to tax summary report.
Closes #3009
2021-09-23 08:57:29 +02:00
WebShells
b15d0b046e Time in Reports
Replaced Date by Date/time in detailed and specific reports.
2021-09-23 08:57:29 +02:00
WebShells
e51a3e698a Revert "Time in Reports"
This reverts commit a33f29b713.
2021-09-18 23:31:16 +03:00
WebShells
a33f29b713 Time in Reports
Replaced Date by Date time in detailed reports section and specific ones.
2021-09-18 23:03:31 +03:00
objecttothis
ad7ae23f2c Correct bug preventing new item creation
The `===` (type comparison equality operator) was preventing new items from being created because $item_id was coming through as a string and not an integer.
2021-09-14 07:47:35 +01:00
jekkos
a2e7c0a74b Revert SQLi fixes (#3284) 2021-09-06 21:45:08 +02:00
jekkos
136448444d Enable mode_headers for docker 2021-08-31 08:26:23 +02:00
jekkos
2c9355e8b8 Add X-Frame-Options header (prevent clickjacking) 2021-08-30 22:10:07 +02:00
jekkos
77c30b7f90 Use bootstrap 5.0.2 (#3281) 2021-08-28 11:22:09 +02:00
jekkos
fe727674a5 Merge all unstable builds in one draft release (#3110) 2021-08-27 14:13:21 +02:00
jekkos
b4c48e5141 Blind sql injection fixes (#3284) 2021-08-27 00:20:50 +02:00
jekkos
b925155ba5 Update changelist (#3218) 2021-08-26 08:23:40 +02:00
jekkos
d07b9349e3 Try to upgrade docker version (#3281) 2021-08-26 00:29:50 +02:00
jekkos
51a8cffc9e Bump to 3.3.5 (#3281) 2021-08-25 23:13:40 +02:00
Dan Tiganuc
694b7fe52d Translated using Weblate (Romanian)
Currently translated at 10.2% (12 of 117 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/ro/
2021-08-24 11:29:46 +02:00
jekkos
5669dff7da Add sorting for quantity and sales (#3262) 2021-08-20 23:36:02 +02:00
Johntini
6d8890f61e Translated using Weblate (Spanish)
Currently translated at 100.0% (47 of 47 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/es/
2021-08-20 22:41:13 +02:00
Johntini
a4bae6536d Translated using Weblate (Spanish)
Currently translated at 100.0% (41 of 41 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/es/
2021-08-20 22:41:13 +02:00
Johntini
e1e61ba98d Translated using Weblate (Spanish)
Currently translated at 100.0% (47 of 47 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/es/
2021-08-20 22:41:13 +02:00
Johntini
225bfda867 Translated using Weblate (Spanish)
Currently translated at 100.0% (79 of 79 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/es/
2021-08-20 22:41:13 +02:00
Johntini
0a2dc49e3e Translated using Weblate (Spanish)
Currently translated at 100.0% (86 of 86 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/es/
2021-08-20 22:41:13 +02:00
Johntini
dcc9745991 Translated using Weblate (Spanish)
Currently translated at 100.0% (327 of 327 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/es/
2021-08-20 22:41:13 +02:00
Johntini
339eca6028 Translated using Weblate (Spanish)
Currently translated at 100.0% (45 of 45 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/es/
2021-08-20 22:41:13 +02:00
Johntini
d1e9b6d943 Translated using Weblate (Spanish)
Currently translated at 100.0% (53 of 53 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/es/
2021-08-20 22:41:13 +02:00
Johntini
2da34b0789 Translated using Weblate (Spanish)
Currently translated at 100.0% (145 of 145 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/es/
2021-08-20 22:41:13 +02:00
Johntini
44d89a5ed2 Translated using Weblate (Spanish)
Currently translated at 100.0% (37 of 37 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/es/
2021-08-20 22:41:13 +02:00
Johntini
0637266560 Translated using Weblate (Spanish)
Currently translated at 100.0% (117 of 117 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/es/
2021-08-20 22:41:13 +02:00
Johntini
32c99248af Translated using Weblate (Spanish)
Currently translated at 100.0% (55 of 55 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/es/
2021-08-20 22:41:13 +02:00
Johntini
fad53d52d4 Translated using Weblate (Spanish)
Currently translated at 100.0% (200 of 200 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/es/
2021-08-20 22:41:13 +02:00
Johntini
29bdb7b75e Translated using Weblate (Spanish)
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/es/
2021-08-20 22:41:13 +02:00
Johntini
3f1bbf99b4 Translated using Weblate (Spanish)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/es/
2021-08-20 22:41:13 +02:00
Jeroen Peelaerts
4c3f6e4c31 Fix username verification on insert/update (#3239) 2021-08-07 02:12:30 +02:00
Jeroen Peelaerts
85f577556e Fix employee update (#3239) 2021-08-07 02:12:30 +02:00
Jeroen Peelaerts
dc2b2862f9 Fix employee update (#3239) 2021-08-07 02:12:30 +02:00
objecttothis
9217f2d12f Fixed missing function call
This removes the function call to a function that doesn't exist anymore.
The replacement does the same job in one line of code.
Added comment to bring clarity to what the code is doing.
2021-08-06 19:19:09 +02:00
objecttothis
5ebe626543 Formatting Changes
- Removed unneeded tabs that mess up alignment.
2021-08-06 19:16:52 +02:00
Mehmet Keçeci
e277fc09ac minimal Turkish translation 2021-08-05 10:40:56 +02:00
sonnysk76
7e2a5eb297 Translated using Weblate (Spanish (Mexico))
Currently translated at 94.4% (34 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/es_MX/
2021-08-05 07:09:41 +02:00
sonnysk76
bcc9cac570 Translated using Weblate (Spanish (Mexico))
Currently translated at 35.8% (14 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/es_MX/
2021-08-05 07:09:41 +02:00
sonnysk76
6d4421e13b Translated using Weblate (Spanish (Mexico))
Currently translated at 13.6% (15 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/es_MX/
2021-08-05 07:09:41 +02:00
sonnysk76
9d320772f5 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (12 of 12 strings)

Translation: opensourcepos/messages
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/messages/es_MX/
2021-08-05 07:09:41 +02:00
sonnysk76
3d441689d0 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/es_MX/
2021-08-05 07:09:40 +02:00
sonnysk76
4eacc65785 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/es_MX/
2021-08-05 07:09:40 +02:00
sonnysk76
a31ae36e18 Translated using Weblate (Spanish (Mexico))
Currently translated at 19.4% (27 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/es_MX/
2021-08-05 07:09:40 +02:00
sonnysk76
74ed7488ee Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/es_MX/
2021-08-05 07:09:39 +02:00
khao_lek
be72a0169b Translated using Weblate (Thai)
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/th/
2021-08-04 07:03:00 +02:00
khao_lek
d786039765 Translated using Weblate (Thai)
Currently translated at 99.3% (300 of 302 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/th/
2021-08-04 07:03:00 +02:00
khao_lek
74724a890f Translated using Weblate (Thai)
Currently translated at 98.7% (76 of 77 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/th/
2021-08-04 07:03:00 +02:00
Jeroen Peelaerts
8c201816b9 Update spanish (#3255) 2021-08-03 11:04:03 +02:00
Jeroen Peelaerts
5767a3929f Fix duplicate username error message (#3239) 2021-07-30 21:16:35 +02:00
Jeroen Peelaerts
2311a644ab Fix employee username duplication check (#3239) 2021-07-30 21:09:17 +02:00
objecttothis
3d65c3fffa CSV import optimizations and code cleanup (#3150)
Optimizations and CSV Import Rework
- Replaced " with ' where possible to prevent the parser from being called when not needed.
- Replaced == and != with === and !== where possible for bug prevention and speed.
- Replaced -1 with NEW_ITEM global constant for code clarity.
- Added NEW_ITEM global constant to constants.php.
- Refactored CSV import function names for clarity.
- Added capability to import a CSV file containing updates.
- Replaced array() with [] for speed and consistency.
- Removed hungarian notation from two private functions.
- Refactored QueryBuilder functions to place table name in the get() function call.
- Replaced (int) cast with call to intval() for speed.
- Replaced == and != with === and !== where possible to prevent bugs and for speed.
- Replaced array() with [] for speed and consistency.
- Fixed search_custom call

Optimizations and bugfixes for attributes used in csv_import
- Reordered where statements in queries to match composite index on attribute_links table.
- fixed value_exists() to account for different attribute types.
- Removed hungarian notation on private function.
- Replaced array() with [] for speed and consistency.
- Replaced != with <> in SQL for consistency.
- Removed from() calls in querybuilder where possible to reduce function calls.
- Add get_items_by_value()
- Reworked check_data_validity()
- Remove unneeded comments
- Refactor functions for code clarity.
- Use $this->db->dbprefix() where possible instead of hand-writing ospos_...
- Removed unneeded column from query.
- Replaced (int) cast with intval() call for speed.
- Added get_attribute_values()
- Fixed issue with date format locale not being used
- Refactored save_value to respect different attribute_types
- Added delete_orphaned_links() to remove attribute_links that are no longer linked to any items
- Added get_attributes_by_definition()
- Added attribute_cleanup()

Optimizations used in csv_import
- replaced array() with [] for consistency and speed.
- Removed hungarian notation in private functions.
- Replaced " with ' where possible to prevent the parser from being called.
- Minor formatting
- Refactored if statement to tertiary notation for cleaner implementation.
- Replaced " for ' where possible to prevent the parser from being called.
- Added the Id column in the generate_import_items_csv() template so that users can submit an update to an existing item.
- Removed unused key=>value pairs in foreach loops for speed.
- Removed unneeded comments where the function name was self-explanatory.
- Rework get_csv_file() for speed.
- Rework bom_exists() for speed.
- Replaced array() with [] for speed and consistency.
- Replaced == with === where possible to prevent bugs and for speed.
- Reworked valid_date() and valid_decimal helper functions for speed and accuracy according to the locale_format instead of a fixed format.
- Minor Reformatting for clarity.
- Replaced " for ' to prevent the parser from being called.
- Refactored function call names to reflect new names.
- Added missing ; in &nbsp;
- Used String interpolation where useful.

- Spelling fix in comment

Requested Review Changes
- Fixed indentation in Items.php
- Fixed indentation in Attribute.php
- Refactored variable out of long line of code to make it more readable.
2021-07-29 22:22:59 +02:00
gurulenin
517635181c Translated using Weblate (Tamil)
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/ta/
2021-07-28 15:46:15 +02:00
Jeroen Peelaerts
1547272665 Check username before employee creation (#3239) 2021-07-23 00:59:40 +02:00
Jeroen Peelaerts
8675aa82df Attribute value encoding fix (#3241) 2021-07-22 19:01:59 +02:00
gurulenin
5acafd4ea8 Translated using Weblate (Tamil)
Currently translated at 100.0% (29 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/ta/
2021-07-22 18:45:40 +02:00
gurulenin
2db50d69d0 Translated using Weblate (Tamil)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/ta/
2021-07-22 18:45:40 +02:00
Jeroen Peelaerts
c6d0582fcb Add category column to item summary report (#3240) 2021-07-21 23:22:53 +02:00
Emin Tufan Çetin
3fbfd8c917 Translated using Weblate (Turkish)
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/tr/
2021-07-18 11:06:10 +02:00
Emin Tufan Çetin
c38fc60f6a Translated using Weblate (Turkish)
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/tr/
2021-07-18 11:06:10 +02:00
Emin Tufan Çetin
346a34121f Translated using Weblate (Turkish)
Currently translated at 100.0% (77 of 77 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/tr/
2021-07-18 11:06:10 +02:00
Emin Tufan Çetin
9c9c2e8b81 Translated using Weblate (Turkish)
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/tr/
2021-07-18 11:06:09 +02:00
Emin Tufan Çetin
510a01e2b5 Translated using Weblate (Turkish)
Currently translated at 100.0% (68 of 68 strings)

Translation: opensourcepos/giftcards
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/giftcards/tr/
2021-07-18 11:06:09 +02:00
Emin Tufan Çetin
93014dc4d8 Translated using Weblate (Turkish)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/tr/
2021-07-18 11:06:08 +02:00
Emin Tufan Çetin
294f63bd31 Translated using Weblate (Turkish)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/tr/
2021-07-18 11:06:08 +02:00
Emin Tufan Çetin
1b7531c7f4 Translated using Weblate (Turkish)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/tr/
2021-07-18 11:06:08 +02:00
Emin Tufan Çetin
6d1eeb3c62 Translated using Weblate (Turkish)
Currently translated at 100.0% (139 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/tr/
2021-07-18 11:06:07 +02:00
Emin Tufan Çetin
3ada6f8372 Translated using Weblate (Turkish)
Currently translated at 100.0% (302 of 302 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/tr/
2021-07-18 11:06:07 +02:00
Emin Tufan Çetin
d15d001b5b Translated using Weblate (Turkish)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/tr/
2021-07-18 11:06:06 +02:00
BudsieBuds
29d6138951 Translated using Weblate (Dutch)
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/nl/
2021-07-17 04:55:34 +02:00
BudsieBuds
d6a4161416 Translated using Weblate (Dutch)
Currently translated at 96.1% (74 of 77 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/nl/
2021-07-17 04:55:34 +02:00
BudsieBuds
0604ad121b Translated using Weblate (Dutch)
Currently translated at 99.3% (300 of 302 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/nl/
2021-07-17 04:55:34 +02:00
teddy tang
ffdc8f0bd5 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (139 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/zh_Hant/
2021-07-15 06:59:54 +02:00
teddy tang
83d1194d0c Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (77 of 77 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/zh_Hant/
2021-07-15 06:59:54 +02:00
gurulenin
e90b58f110 Translated using Weblate (Tamil)
Currently translated at 98.7% (76 of 77 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/ta/
2021-07-15 06:59:53 +02:00
gurulenin
bee3c7ede0 Translated using Weblate (Tamil)
Currently translated at 100.0% (139 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/ta/
2021-07-15 06:59:53 +02:00
gurulenin
bfc1c2e55e Translated using Weblate (Tamil)
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/ta/
2021-07-15 06:59:53 +02:00
teddy tang
8d0c5c6ee9 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/zh_Hant/
2021-07-15 06:59:53 +02:00
teddy tang
f87c90fdec Translated using Weblate (Chinese (Traditional))
Currently translated at 96.0% (290 of 302 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/zh_Hant/
2021-07-15 06:59:52 +02:00
FrancescoUK
cb560949ac Translated using Weblate (English (United Kingdom))
Currently translated at 92.2% (71 of 77 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/en_GB/
2021-07-14 23:56:52 +02:00
FrancescoUK
4d5a2f15c2 Translated using Weblate (English (United Kingdom))
Currently translated at 54.5% (6 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/en_GB/
2021-07-14 23:56:52 +02:00
FrancescoUK
defb484640 Translated using Weblate (English (United Kingdom))
Currently translated at 98.6% (298 of 302 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/en_GB/
2021-07-14 23:56:52 +02:00
Jeroen Peelaerts
57fb2c98fa Move expenses categories to office menu group 2021-07-14 23:43:36 +02:00
Jeroen Peelaerts
c3bdff6fb4 Fix escape sequence in Polish 2021-07-14 15:50:34 +02:00
teddy tang
4ecfbc2398 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (78 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/zh_Hant/
2021-07-14 14:06:17 +02:00
gurulenin
41152a5b12 Translated using Weblate (Tamil)
Currently translated at 99.4% (179 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/ta/
2021-07-14 14:06:17 +02:00
teddy tang
797ac4c9d4 Translated using Weblate (Chinese (Traditional))
Currently translated at 80.5% (240 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/zh_Hant/
2021-07-14 14:06:17 +02:00
gurulenin
13be0a1b0c Translated using Weblate (Tamil)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/ta/
2021-07-14 14:06:17 +02:00
gurulenin
b6ac9e5909 Translated using Weblate (Tamil)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/ta/
2021-07-14 14:06:17 +02:00
gurulenin
3debc57ca8 Translated using Weblate (Tamil)
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/ta/
2021-07-14 14:06:17 +02:00
teddy tang
fd1e942273 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/zh_Hant/
2021-07-14 14:06:17 +02:00
gurulenin
c641b1762c Translated using Weblate (Tamil)
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/ta/
2021-07-14 14:06:17 +02:00
gurulenin
6ee8757b12 Translated using Weblate (Tamil)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/ta/
2021-07-14 14:06:17 +02:00
teddy tang
ee575b5109 Translated using Weblate (Chinese (Traditional))
Currently translated at 90.6% (126 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/zh_Hant/
2021-07-14 14:06:17 +02:00
Jeroen Peelaerts
e11eba978f Sync language files 2021-07-14 08:35:04 +02:00
Jeroen Peelaerts
a4234a3129 Fix minification (#3213)
Upgrade grunt, grunt-cli and grunt-uglify

Only copy bootswatch 5 using npm.  Remove unused dependencies and tasks
(apigen, mocha, wd, phantomjs). This should decrease the container size.
2021-07-14 08:35:04 +02:00
BudsieBuds
ba8cb0ef86 Create codeql-analysis.yml 2021-07-14 08:35:04 +02:00
BudsieBuds
2eee6313e0 Converted login to BS5 and other changes
Converted the login view to Bootstrap and Bootswatch 5. Added an option to change the login form style. Shifted some translations around and added new ones. Partially moved from Bower to NPM, added new branding logo's. Some other small changes and optimizations.
2021-07-14 08:35:04 +02:00
Jeroen Peelaerts
95f19d6063 Force html2canvas version (#3236) 2021-07-14 00:18:00 +02:00
jacekz123
8a854d1912 Translated using Weblate (Polish)
Currently translated at 2.7% (1 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/pl/
2021-07-13 18:03:01 +02:00
jacekz123
80f8dd9b37 Translated using Weblate (Polish)
Currently translated at 2.5% (1 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/pl/
2021-07-13 18:03:00 +02:00
jacekz123
94e9d35314 Translated using Weblate (Polish)
Currently translated at 3.8% (2 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/pl/
2021-07-13 18:03:00 +02:00
jacekz123
8b5b4f9279 Translated using Weblate (Polish)
Currently translated at 5.5% (2 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/pl/
2021-07-13 18:03:00 +02:00
jacekz123
b3e4b72b30 Translated using Weblate (Polish)
Currently translated at 1.1% (2 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/pl/
2021-07-13 18:03:00 +02:00
jacekz123
ffd511bd06 Translated using Weblate (Polish)
Currently translated at 1.2% (1 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/pl/
2021-07-13 18:02:59 +02:00
jacekz123
393cee62aa Translated using Weblate (Polish)
Currently translated at 55.0% (11 of 20 strings)

Translation: opensourcepos/datepicker
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/datepicker/pl/
2021-07-13 18:02:58 +02:00
jacekz123
870aad2d67 Translated using Weblate (Polish)
Currently translated at 12.5% (1 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/pl/
2021-07-13 18:02:58 +02:00
jacekz123
789eb82940 Translated using Weblate (Polish)
Currently translated at 3.4% (1 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/pl/
2021-07-13 18:02:58 +02:00
jacekz123
89783bc190 Translated using Weblate (Polish)
Currently translated at 8.3% (1 of 12 strings)

Translation: opensourcepos/messages
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/messages/pl/
2021-07-13 18:02:57 +02:00
jacekz123
d11824ffd4 Translated using Weblate (Polish)
Currently translated at 1.9% (1 of 52 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/pl/
2021-07-13 18:02:57 +02:00
jacekz123
d0093253a1 Translated using Weblate (Polish)
Currently translated at 2.2% (1 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/pl/
2021-07-13 18:02:57 +02:00
jacekz123
1f7529baf9 Translated using Weblate (Polish)
Currently translated at 8.6% (12 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/pl/
2021-07-13 18:02:57 +02:00
jacekz123
feba68b08f Translated using Weblate (Polish)
Currently translated at 2.8% (1 of 35 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/pl/
2021-07-13 18:02:56 +02:00
jacekz123
37cf26b10a Translated using Weblate (Polish)
Currently translated at 12.5% (1 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/pl/
2021-07-13 18:02:56 +02:00
jacekz123
f80f3a9cab Translated using Weblate (Polish)
Currently translated at 4.7% (1 of 21 strings)

Translation: opensourcepos/suppliers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/suppliers/pl/
2021-07-13 18:02:55 +02:00
teddy tang
74a4bfac85 Translated using Weblate (Chinese (Traditional))
Currently translated at 74.1% (221 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/zh_Hant/
2021-07-12 12:00:34 +02:00
teddy tang
fa347aa281 Translated using Weblate (Chinese (Traditional))
Currently translated at 88.1% (97 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/zh_Hant/
2021-07-12 12:00:33 +02:00
teddy tang
c1f1e6306e Translated using Weblate (Chinese (Traditional))
Currently translated at 84.1% (117 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/zh_Hant/
2021-07-12 12:00:32 +02:00
teddy tang
dc9d66f3de Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/zh_Hant/
2021-07-12 08:06:57 +02:00
teddy tang
a4f52b765c Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (72 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/zh_Hant/
2021-07-12 08:06:57 +02:00
teddy tang
e023b081c5 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (20 of 20 strings)

Translation: opensourcepos/datepicker
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/datepicker/zh_Hant/
2021-07-12 08:06:56 +02:00
teddy tang
9c6f1e4429 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (2 of 2 strings)

Translation: opensourcepos/error
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/error/zh_Hant/
2021-07-12 08:06:56 +02:00
teddy tang
962a323694 Translated using Weblate (Chinese (Traditional))
Currently translated at 82.7% (91 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/zh_Hant/
2021-07-12 08:06:56 +02:00
teddy tang
49a99c68ff Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/zh_Hant/
2021-07-12 08:06:56 +02:00
teddy tang
44024b0929 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (68 of 68 strings)

Translation: opensourcepos/giftcards
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/giftcards/zh_Hant/
2021-07-12 08:06:55 +02:00
teddy tang
4e52c2f036 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/zh_Hant/
2021-07-12 08:06:55 +02:00
teddy tang
37e757128b Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (39 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/zh_Hant/
2021-07-12 08:06:55 +02:00
teddy tang
394bd671aa Translated using Weblate (Chinese (Traditional))
Currently translated at 73.4% (219 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/zh_Hant/
2021-07-12 08:06:55 +02:00
teddy tang
d0b29d39bf Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/zh_Hant/
2021-07-12 08:06:54 +02:00
teddy tang
eb970b2315 Translated using Weblate (Chinese (Traditional))
Currently translated at 77.6% (108 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/zh_Hant/
2021-07-12 08:06:54 +02:00
teddy tang
c0c2001754 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/zh_Hant/
2021-07-12 08:06:54 +02:00
teddy tang
ec51bb3991 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/zh_Hant/
2021-07-12 08:06:53 +02:00
teddy tang
4ce569d76e Translated using Weblate (Chinese (Traditional))
Currently translated at 58.3% (21 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/zh_Hant/
2021-07-09 17:20:46 +02:00
teddy tang
c08e32d016 Translated using Weblate (Chinese (Traditional))
Currently translated at 66.6% (24 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/zh_Hant/
2021-07-09 17:20:46 +02:00
Ali Alsalman
8a495ffce6 Translated using Weblate (Arabic)
Currently translated at 98.8% (178 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/ar_LB/
2021-07-09 17:20:45 +02:00
teddy tang
ea1528f5b9 Translated using Weblate (Chinese (Traditional))
Currently translated at 90.0% (18 of 20 strings)

Translation: opensourcepos/datepicker
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/datepicker/zh_Hant/
2021-07-09 17:20:45 +02:00
teddy tang
e59dbdf47e Translated using Weblate (Chinese (Traditional))
Currently translated at 79.0% (87 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/zh_Hant/
2021-07-09 17:20:44 +02:00
teddy tang
0e29a7950a Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (7 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/enum/zh_Hant/
2021-07-09 17:20:44 +02:00
teddy tang
3d32536292 Translated using Weblate (Chinese (Traditional))
Currently translated at 71.8% (214 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/zh_Hant/
2021-07-09 17:20:44 +02:00
teddy tang
be24044076 Translated using Weblate (Chinese (Traditional))
Currently translated at 98.5% (67 of 68 strings)

Translation: opensourcepos/giftcards
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/giftcards/zh_Hant/
2021-07-09 17:20:44 +02:00
teddy tang
3986aa8e0a Translated using Weblate (Chinese (Traditional))
Currently translated at 76.9% (107 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/zh_Hant/
2021-07-09 17:20:43 +02:00
teddy tang
d7e40cbe43 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (39 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/zh_Hant/
2021-07-09 17:20:42 +02:00
teddy tang
f61307d380 Translated using Weblate (Chinese (Traditional))
Currently translated at 82.0% (64 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/zh_Hant/
2021-07-09 17:20:42 +02:00
Ir. Anggun Nugroho, M.Kom
ebae2eab5d Translated using Weblate (Indonesian)
Currently translated at 99.0% (109 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/id/
2021-07-08 00:27:05 +02:00
Ir. Anggun Nugroho, M.Kom
795e030e07 Translated using Weblate (Indonesian)
Currently translated at 100.0% (72 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/id/
2021-07-08 00:27:05 +02:00
Ir. Anggun Nugroho, M.Kom
0a91c0009f Translated using Weblate (Indonesian)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/id/
2021-07-08 00:27:05 +02:00
Ir. Anggun Nugroho, M.Kom
5cea9a7555 Translated using Weblate (Indonesian)
Currently translated at 98.0% (51 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/id/
2021-07-08 00:27:05 +02:00
Ir. Anggun Nugroho, M.Kom
9838045683 Translated using Weblate (Indonesian)
Currently translated at 99.4% (179 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/id/
2021-07-08 00:27:04 +02:00
Ir. Anggun Nugroho, M.Kom
e33c10e8c4 Translated using Weblate (Indonesian)
Currently translated at 87.5% (7 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/id/
2021-07-07 22:23:41 +02:00
Ir. Anggun Nugroho, M.Kom
d680b78e49 Translated using Weblate (Indonesian)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/id/
2021-07-07 22:01:53 +02:00
jeffyeh
4d7561d311 Translated using Weblate (Chinese (Traditional))
Currently translated at 66.6% (24 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/zh_Hant/
2021-07-07 17:10:13 +02:00
jeffyeh
ad37b2cc24 Translated using Weblate (Chinese (Traditional))
Currently translated at 74.3% (29 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/zh_Hant/
2021-07-07 17:10:13 +02:00
jeffyeh
562d760174 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (19 of 19 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses_categories/zh_Hant/
2021-07-07 17:10:13 +02:00
jeffyeh
3ea32e7444 Translated using Weblate (Chinese (Traditional))
Currently translated at 71.8% (214 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/zh_Hant/
2021-07-07 17:10:12 +02:00
jeffyeh
2953cf47ed Translated using Weblate (Chinese (Traditional))
Currently translated at 28.5% (2 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/enum/zh_Hant/
2021-07-07 17:10:12 +02:00
jeffyeh
0066447fdb Translated using Weblate (Chinese (Traditional))
Currently translated at 63.7% (190 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/zh_Hant/
2021-07-07 12:22:53 +02:00
jeffyeh
8af2466b20 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/zh_Hant/
2021-07-07 12:22:52 +02:00
jeffyeh
fb7fd0fc38 Translated using Weblate (Chinese (Traditional))
Currently translated at 64.1% (50 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/zh_Hant/
2021-07-07 12:22:52 +02:00
William Levesque
52c08e9210 Translated using Weblate (French)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/fr/
2021-07-06 16:58:06 +02:00
William Levesque
f17388e755 Translated using Weblate (French)
Currently translated at 93.1% (27 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/fr/
2021-07-06 16:58:06 +02:00
Jeroen Peelaerts
a39b3ec1bc Fallback to english if translations are missing (#3205) 2021-07-04 22:18:46 +02:00
Jeroen Peelaerts
ddc7215424 Make Dockerfile windows compatible 2021-07-04 22:18:46 +02:00
khao_lek
2e09cd31c2 Translated using Weblate (Thai)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/th/
2021-07-02 13:44:39 +02:00
Jeroen Peelaerts
7726adbd6f Revert compose container to 3.3.4 2021-06-29 22:33:02 +02:00
Ricardo Vargas
7bce75f5b6 Translated using Weblate (Spanish (Mexico))
Currently translated at 16.5% (23 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/es_MX/
2021-06-21 13:23:12 +02:00
jekkos
ef612fb0c9 Update package.json 2021-06-12 11:35:14 +02:00
jekkos
107745d683 Update grunt to 1.4
A CVE was found in the old version of Grunt. Update to the latest.
2021-06-12 11:35:14 +02:00
Jeroen Peelaerts
1117c39c27 Upgrade node & grunt buildbox (#3208) 2021-06-12 10:34:52 +02:00
BudsieBuds
ae93341f75 Translated using Weblate (Dutch)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/nl/
2021-06-09 23:20:00 +02:00
BudsieBuds
d24624d1f6 Translated using Weblate (English)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/en/
2021-06-09 23:20:00 +02:00
jekkos
d87d27dec9 Extract version from config.php (#3110) 2021-06-09 17:51:19 +02:00
jekkos
92f25c3993 Remove bintray link (#3110) 2021-06-09 15:46:07 +02:00
jekkos
3116903129 Add newline to .travis.yml (#3110) 2021-06-09 15:30:52 +02:00
jekkos
cff79601e4 Keep only one zip build per branch (#3110) 2021-06-09 13:15:30 +02:00
BudsieBuds
9ca998d523 Translated using Weblate (Dutch)
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/nl/
2021-06-09 04:30:43 +02:00
jekkos
0efd58217f Publish to github releases (#3110) 2021-06-09 00:02:32 +02:00
khao_lek
72eab0cd28 Translated using Weblate (Thai)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/th/
2021-06-07 21:45:10 +02:00
khao_lek
a258567955 Translated using Weblate (Thai)
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/th/
2021-06-07 21:45:10 +02:00
khao_lek
ca4782f751 Translated using Weblate (Thai)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/th/
2021-06-07 21:45:10 +02:00
khao_lek
e638ff8595 Translated using Weblate (Thai)
Currently translated at 100.0% (72 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/th/
2021-06-07 21:45:10 +02:00
khao_lek
5f10fda2c1 Translated using Weblate (Thai)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/th/
2021-06-07 21:45:10 +02:00
khao_lek
1faeccc596 Translated using Weblate (Thai)
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/th/
2021-06-07 21:45:10 +02:00
khao_lek
fb328e4fb0 Translated using Weblate (Thai)
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/th/
2021-06-07 21:45:10 +02:00
jekkos
136f778028 Update build badge for travis-ci.com (#3063) 2021-06-06 14:37:13 +02:00
truchosky
8ed0091400 Translated using Weblate (Spanish)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/es/
2021-06-03 16:35:11 +02:00
truchosky
977d1869e6 Translated using Weblate (Spanish)
Currently translated at 98.6% (71 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/es/
2021-06-03 16:35:11 +02:00
truchosky
cc527d8426 Translated using Weblate (Spanish)
Currently translated at 87.5% (7 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/es/
2021-06-03 16:35:10 +02:00
truchosky
aa28c0dbf0 Translated using Weblate (Spanish)
Currently translated at 100.0% (29 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/es/
2021-06-03 16:35:10 +02:00
Mats Pålsson
15f41c129c Translated using Weblate (Swedish)
Currently translated at 100.0% (72 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/sv/
2021-06-02 07:54:24 +02:00
Mats Pålsson
ee30b4d544 Translated using Weblate (Swedish)
Currently translated at 98.7% (77 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/sv/
2021-06-02 07:54:24 +02:00
Mats Pålsson
2d0029e605 Translated using Weblate (Swedish)
Currently translated at 100.0% (21 of 21 strings)

Translation: opensourcepos/suppliers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/suppliers/sv/
2021-06-02 07:54:24 +02:00
Mats Pålsson
3fb4b398ea Translated using Weblate (Swedish)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/sv/
2021-06-02 07:54:24 +02:00
Mats Pålsson
ebe1860858 Translated using Weblate (Swedish)
Currently translated at 100.0% (29 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/sv/
2021-06-02 07:54:24 +02:00
Mats Pålsson
7f18d7c1fa Translated using Weblate (Swedish)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/sv/
2021-06-02 07:54:23 +02:00
Mats Pålsson
e77b357b38 Translated using Weblate (Swedish)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/sv/
2021-06-02 07:54:23 +02:00
Mats Pålsson
3e90244410 Translated using Weblate (Swedish)
Currently translated at 99.6% (297 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/sv/
2021-06-02 07:54:23 +02:00
Mats Pålsson
2689426e15 Translated using Weblate (Swedish)
Currently translated at 100.0% (19 of 19 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses_categories/sv/
2021-06-02 07:54:22 +02:00
Mats Pålsson
fc3cff5225 Translated using Weblate (Swedish)
Currently translated at 98.0% (51 of 52 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/sv/
2021-06-02 07:54:22 +02:00
Mats Pålsson
5cee7cd005 Translated using Weblate (Swedish)
Currently translated at 100.0% (39 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/sv/
2021-06-02 07:54:22 +02:00
Mats Pålsson
e29b8b1b87 Translated using Weblate (Swedish)
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/sv/
2021-06-02 07:54:22 +02:00
Mats Pålsson
b3e49f05d1 Translated using Weblate (Swedish)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/sv/
2021-06-02 07:54:21 +02:00
Mats Pålsson
274ad1afde Translated using Weblate (Swedish)
Currently translated at 100.0% (20 of 20 strings)

Translation: opensourcepos/datepicker
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/datepicker/sv/
2021-06-02 07:54:21 +02:00
Mats Pålsson
d4df4e96b6 Translated using Weblate (Swedish)
Currently translated at 100.0% (12 of 12 strings)

Translation: opensourcepos/messages
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/messages/sv/
2021-06-02 07:54:21 +02:00
Mats Pålsson
20f104abc8 Translated using Weblate (Swedish)
Currently translated at 100.0% (139 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/sv/
2021-06-02 07:54:21 +02:00
Mats Pålsson
25b22a2ebe Translated using Weblate (Swedish)
Currently translated at 98.8% (178 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/sv/
2021-06-02 07:54:20 +02:00
Mats Pålsson
6ecd9a91c4 Translated using Weblate (Swedish)
Currently translated at 100.0% (7 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/enum/sv/
2021-06-02 07:54:20 +02:00
Mats Pålsson
d2f48a9987 Translated using Weblate (Swedish)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/sv/
2021-06-02 07:54:20 +02:00
Mats Pålsson
c90631fe38 Translated using Weblate (Swedish)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/sv/
2021-06-02 07:54:19 +02:00
Mats Pålsson
dfb47060fa Translated using Weblate (Swedish)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/sv/
2021-05-31 13:08:38 +02:00
Mats Pålsson
f50cbbf29d Translated using Weblate (Swedish)
Currently translated at 28.5% (2 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/enum/sv/
2021-05-31 13:08:38 +02:00
Mats Pålsson
a186de7db2 Translated using Weblate (Swedish)
Currently translated at 98.6% (71 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/sv/
2021-05-31 13:08:38 +02:00
Mats Pålsson
4845230bd3 Translated using Weblate (Swedish)
Currently translated at 66.6% (8 of 12 strings)

Translation: opensourcepos/messages
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/messages/sv/
2021-05-31 13:08:38 +02:00
Mats Pålsson
ac0ec7d729 Translated using Weblate (Swedish)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/sv/
2021-05-31 13:08:38 +02:00
Mats Pålsson
25b3de4f2f Translated using Weblate (Swedish)
Currently translated at 100.0% (2 of 2 strings)

Translation: opensourcepos/error
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/error/sv/
2021-05-31 13:08:38 +02:00
Jeroen Peelaerts
aee186b2a6 Bump to 3.4.0-dev (#2942) 2021-05-26 00:48:42 +02:00
objecttothis
352036209f Requested Changes
- Removed unnecessary indices on deleted column where there would not be many rows.
- Removed unnecessary parenthesis in Item Model.
- Added Composite indices based on MySQL EXPLAIN results.
2021-05-25 14:04:01 +02:00
objecttothis
9ff8611672 Requested Changes
- Removed unnecessary indices on deleted column where there would not be many rows.
- Explicitly stated NULL in second parameter of WHERE to improve readability.
2021-05-25 14:04:01 +02:00
objecttothis
2f4c95ecd2 Corrected a duplicated line in the query 2021-05-25 14:04:01 +02:00
objecttothis
97159d42c7 Database Optimizations
- Add indexes to tables to improve query times.
- Delete orphaned attribute values.
- Resolve duplicate attribute values.
- Deleted whitespace after migration which was causing Severity: Warning --> Cannot modify header information - headers already sent by
2021-05-25 14:04:01 +02:00
Miguel Martins
2b9155d2f1 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/es_MX/
2021-05-24 20:51:50 +02:00
Miguel Martins
dab1640e70 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/es_MX/
2021-05-24 20:51:50 +02:00
Miguel Martins
2bc70f6426 Translated using Weblate (Spanish (Mexico))
Currently translated at 15.8% (22 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/es_MX/
2021-05-24 20:51:49 +02:00
Miguel Martins
15130140be Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (72 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/en_GB/
2021-05-24 06:01:58 +02:00
Miguel Martins
aab5ae685a Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/en_GB/
2021-05-24 06:01:58 +02:00
Miguel Martins
afedaa4510 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/en_GB/
2021-05-24 06:01:58 +02:00
Miguel Martins
0e79e145c3 Translated using Weblate (Spanish)
Currently translated at 95.9% (286 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/es/
2021-05-24 06:01:58 +02:00
Miguel Martins
fabc4d7153 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/pt_BR/
2021-05-24 06:01:58 +02:00
Miguel Martins
0e2b7a87d9 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/en_GB/
2021-05-24 06:01:58 +02:00
Miguel Martins
115b014a8c Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/pt_BR/
2021-05-24 06:01:58 +02:00
Miguel Martins
70bb633581 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/pt_BR/
2021-05-24 06:01:58 +02:00
Miguel Martins
1c86b0b697 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/pt_BR/
2021-05-24 06:01:58 +02:00
Miguel Martins
75684ab009 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/pt_BR/
2021-05-24 06:01:58 +02:00
Miguel Martins
b7e164a4a6 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/en_GB/
2021-05-24 06:01:58 +02:00
Miguel Martins
ddc12be596 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/en_GB/
2021-05-24 06:01:58 +02:00
Steve Ireland
0147c3a80e Fix Discounted Item Kit bug #3129 (#3186) 2021-05-23 18:30:31 -04:00
robbytriadi
6dc3816c46 Translated using Weblate (Indonesian)
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/id/
2021-05-23 00:47:39 +02:00
robbytriadi
88ca4aca87 Translated using Weblate (Indonesian)
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/id/
2021-05-23 00:47:39 +02:00
robbytriadi
ae37dd9bea Translated using Weblate (Indonesian)
Currently translated at 100.0% (29 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/id/
2021-05-23 00:47:39 +02:00
robbytriadi
e24cd75f0d Translated using Weblate (Indonesian)
Currently translated at 100.0% (72 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/id/
2021-05-23 00:47:38 +02:00
Natig Asadov
b79e93ccb6 Translated using Weblate (Azerbaijani)
Currently translated at 97.2% (35 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/az/
2021-05-21 22:11:14 +02:00
Anton
ad3399b1f6 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (139 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/uk-UA/
2021-05-21 04:52:42 +02:00
Anton
a3b45f0f4b Translated using Weblate (Ukrainian)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/uk-UA/
2021-05-21 04:52:42 +02:00
Anton
200cab389a Translated using Weblate (Ukrainian)
Currently translated at 100.0% (78 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/uk-UA/
2021-05-21 04:52:42 +02:00
Anton
b53d0ad821 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/uk-UA/
2021-05-21 04:52:42 +02:00
Anton
8fa6992b00 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (12 of 12 strings)

Translation: opensourcepos/messages
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/messages/uk-UA/
2021-05-21 04:52:41 +02:00
Anton
fe6d599005 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/uk-UA/
2021-05-21 04:52:41 +02:00
Anton
374cacd860 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/uk-UA/
2021-05-21 04:52:41 +02:00
Anton
fcd65a6e9c Translated using Weblate (Ukrainian)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/uk-UA/
2021-05-21 04:52:41 +02:00
Anton
309417c405 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (72 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/uk-UA/
2021-05-21 04:52:41 +02:00
Anton
50bca01126 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/uk-UA/
2021-05-21 04:52:41 +02:00
Anton
fa9bb50b73 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/uk-UA/
2021-05-21 04:52:40 +02:00
Anton
2ec186d3a3 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/uk-UA/
2021-05-21 04:52:40 +02:00
Anton
1574e99338 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/uk-UA/
2021-05-21 04:52:40 +02:00
Anton
1c36e649d6 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/uk-UA/
2021-05-21 04:52:39 +02:00
Anton
01b8828871 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (68 of 68 strings)

Translation: opensourcepos/giftcards
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/giftcards/uk-UA/
2021-05-21 04:52:39 +02:00
BudsieBuds
0e2fbb9832 Translated using Weblate (English)
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/en/
2021-05-19 23:49:49 +02:00
BudsieBuds
87c788af62 Translated using Weblate (English)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/en/
2021-05-19 23:49:49 +02:00
BudsieBuds
ac9830ec2b Translated using Weblate (Dutch)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/nl/
2021-05-19 23:49:48 +02:00
BudsieBuds
3d3c928d98 Translated using Weblate (Dutch)
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/nl/
2021-05-19 23:49:48 +02:00
BudsieBuds
a3d8b11be0 Translated using Weblate (Dutch)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/nl/
2021-05-19 23:49:48 +02:00
BudsieBuds
4929d7c8ce Translated using Weblate (Dutch)
Currently translated at 100.0% (78 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/nl/
2021-05-19 23:49:47 +02:00
BudsieBuds
5493c75320 Translated using Weblate (English)
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/en/
2021-05-19 23:49:47 +02:00
BudsieBuds
1e1e992f94 Translated using Weblate (Dutch)
Currently translated at 100.0% (72 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/nl/
2021-05-19 23:49:47 +02:00
BudsieBuds
e26f9e9fa7 Translated using Weblate (English)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/en/
2021-05-19 23:49:47 +02:00
BudsieBuds
a90af8dd9e Translated using Weblate (Dutch)
Currently translated at 100.0% (139 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/nl/
2021-05-19 23:49:46 +02:00
BudsieBuds
13a6ce3e45 Translated using Weblate (Dutch)
Currently translated at 100.0% (21 of 21 strings)

Translation: opensourcepos/suppliers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/suppliers/nl/
2021-05-19 23:49:46 +02:00
BudsieBuds
7af15c253c Translated using Weblate (Dutch)
Currently translated at 100.0% (19 of 19 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses_categories/nl/
2021-05-19 23:49:46 +02:00
BudsieBuds
3f18619497 Translated using Weblate (Dutch)
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/nl/
2021-05-19 23:49:46 +02:00
BudsieBuds
8a904ba749 Translated using Weblate (Dutch)
Currently translated at 100.0% (7 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/enum/nl/
2021-05-19 23:49:45 +02:00
BudsieBuds
aaa1055adc Translated using Weblate (Dutch)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/nl/
2021-05-19 23:49:45 +02:00
BudsieBuds
cddc67bb2d Translated using Weblate (English)
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/en/
2021-05-19 23:49:45 +02:00
BudsieBuds
246a121203 Translated using Weblate (Dutch)
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/nl/
2021-05-19 23:49:44 +02:00
BudsieBuds
4402d35ed7 Translated using Weblate (Dutch)
Currently translated at 100.0% (39 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/nl/
2021-05-19 23:49:43 +02:00
BudsieBuds
3696e7237b Translated using Weblate (Dutch)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/nl/
2021-05-19 23:49:43 +02:00
BudsieBuds
f2e20266d3 Translated using Weblate (Dutch)
Currently translated at 14.0% (42 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/nl/
2021-05-18 23:31:03 +02:00
BudsieBuds
12952aaa26 Translated using Weblate (Dutch)
Currently translated at 100.0% (68 of 68 strings)

Translation: opensourcepos/giftcards
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/giftcards/nl/
2021-05-18 23:31:02 +02:00
BudsieBuds
faebbce51a Translated using Weblate (Dutch)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/nl/
2021-05-18 23:31:02 +02:00
BudsieBuds
5f9ed5c576 Translated using Weblate (Dutch)
Currently translated at 98.6% (71 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/nl/
2021-05-18 23:31:02 +02:00
BudsieBuds
24644eaf19 Translated using Weblate (Dutch)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/nl/
2021-05-18 23:31:01 +02:00
BudsieBuds
3314705d7a Translated using Weblate (Dutch)
Currently translated at 94.8% (37 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/nl/
2021-05-18 23:31:01 +02:00
BudsieBuds
c9552585bf Translated using Weblate (Dutch)
Currently translated at 90.4% (19 of 21 strings)

Translation: opensourcepos/suppliers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/suppliers/nl/
2021-05-18 23:31:01 +02:00
BudsieBuds
e9f4e81f37 Translated using Weblate (Dutch)
Currently translated at 100.0% (29 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/nl/
2021-05-18 23:31:01 +02:00
BudsieBuds
763cb0c06b Translated using Weblate (English)
Currently translated at 100.0% (72 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/en/
2021-05-18 23:31:01 +02:00
BudsieBuds
493e295701 Translated using Weblate (Dutch)
Currently translated at 100.0% (12 of 12 strings)

Translation: opensourcepos/messages
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/messages/nl/
2021-05-18 20:46:32 +02:00
BudsieBuds
a4a31ade22 Translated using Weblate (Dutch)
Currently translated at 100.0% (29 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/nl/
2021-05-18 20:46:32 +02:00
BudsieBuds
03187da0d9 Translated using Weblate (Dutch)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/nl/
2021-05-18 20:46:32 +02:00
BudsieBuds
ac6e421906 Translated using Weblate (Dutch)
Currently translated at 100.0% (2 of 2 strings)

Translation: opensourcepos/error
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/error/nl/
2021-05-18 20:46:32 +02:00
BudsieBuds
feb7d1847c Translated using Weblate (Dutch)
Currently translated at 59.7% (43 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/nl/
2021-05-18 20:46:32 +02:00
BudsieBuds
b0190e416f Translated using Weblate (Dutch)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/nl/
2021-05-18 20:46:32 +02:00
jekkos
19bd43280d Update badges in README.md 2021-05-18 14:56:30 +02:00
BudsieBuds
3ebda3cc98 Translated using Weblate (Dutch)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/nl/
2021-05-18 12:55:56 +02:00
BudsieBuds
6503621f1d Translated using Weblate (Dutch)
Currently translated at 100.0% (7 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/enum/nl/
2021-05-18 12:55:56 +02:00
BudsieBuds
c8ad6b911a Translated using Weblate (Dutch)
Currently translated at 100.0% (29 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/nl/
2021-05-18 12:55:56 +02:00
BudsieBuds
20eb15beaf Translated using Weblate (Dutch)
Currently translated at 100.0% (2 of 2 strings)

Translation: opensourcepos/error
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/error/nl/
2021-05-18 12:55:56 +02:00
BudsieBuds
7dca1decd5 Translated using Weblate (Dutch)
Currently translated at 100.0% (68 of 68 strings)

Translation: opensourcepos/giftcards
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/giftcards/nl/
2021-05-18 12:55:56 +02:00
BudsieBuds
6e11b1d242 Translated using Weblate (Dutch)
Currently translated at 100.0% (12 of 12 strings)

Translation: opensourcepos/messages
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/messages/nl/
2021-05-18 12:55:55 +02:00
BudsieBuds
a60a4904cb Translated using Weblate (Dutch)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/nl/
2021-05-18 12:55:55 +02:00
BudsieBuds
dce47200bf Translated using Weblate (Dutch)
Currently translated at 100.0% (20 of 20 strings)

Translation: opensourcepos/datepicker
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/datepicker/nl/
2021-05-18 12:55:55 +02:00
sathisharumugams
b255ce8609 Translated using Weblate (Tamil)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/ta/
2021-05-15 16:55:40 +02:00
sathisharumugams
5fd211d3a8 Translated using Weblate (Tamil)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/ta/
2021-05-13 17:23:04 +02:00
sathisharumugams
c977f16859 Translated using Weblate (Tamil)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/ta/
2021-05-13 09:07:57 +02:00
sathisharumugams
2bebfba3ef Translated using Weblate (Tamil)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/ta/
2021-05-12 21:04:05 +02:00
sathisharumugams
1c9a1a3550 Translated using Weblate (Tamil)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/ta/
2021-05-12 14:58:47 +02:00
robbytriadi
fa6d0004de Translated using Weblate (Indonesian)
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/id/
2021-05-08 00:55:30 +02:00
NGUYỄN HỮU DŨNG
dce9e889e4 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (139 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/vi/
2021-05-03 22:53:30 +02:00
NGUYỄN HỮU DŨNG
ef488fe0cd Translated using Weblate (Vietnamese)
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/vi/
2021-05-03 22:53:30 +02:00
NGUYỄN HỮU DŨNG
e2a3647227 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (72 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/vi/
2021-05-03 22:53:29 +02:00
karikalan-cherian
c19612814e Translated using Weblate (Tamil)
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/ta/
2021-04-23 07:20:41 +02:00
karikalan-cherian
bb64e1db00 Translated using Weblate (Tamil)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/ta/
2021-04-23 07:20:41 +02:00
karikalan-cherian
49137f5a76 Translated using Weblate (Tamil)
Currently translated at 100.0% (78 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/ta/
2021-04-23 07:20:41 +02:00
karikalan-cherian
e9dd350222 Translated using Weblate (Tamil)
Currently translated at 100.0% (20 of 20 strings)

Translation: opensourcepos/datepicker
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/datepicker/ta/
2021-04-23 07:20:41 +02:00
jekkos
663da89293 Fix decimal render (#2975) 2021-04-22 22:28:12 +02:00
Jeroen Peelaerts
8513a2b85b Disable https in docker-compose (#3164) 2021-04-22 22:01:27 +02:00
karikalan-cherian
d70a90e12c Translated using Weblate (Tamil)
Currently translated at 100.0% (72 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/ta/
2021-04-22 19:01:18 +02:00
karikalan-cherian
aa9d2519f4 Translated using Weblate (Tamil)
Currently translated at 100.0% (72 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/ta/
2021-04-22 16:14:42 +02:00
jekkos
fc4e320ee3 Remove cPanel instructions as it's not maintained 2021-04-22 15:36:17 +02:00
oviya22
b42b26b469 Translated using Weblate (Tamil)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/ta/
2021-04-22 15:12:34 +02:00
NGUYỄN HỮU DŨNG
392d92b3b9 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/vi/
2021-04-22 09:26:20 +02:00
NGUYỄN HỮU DŨNG
3405c9f974 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/vi/
2021-04-22 09:26:20 +02:00
NGUYỄN HỮU DŨNG
72465d36e3 Translated using Weblate (Vietnamese)
Currently translated at 98.8% (178 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/vi/
2021-04-22 09:26:19 +02:00
karikalan-cherian
e596cd43c2 Translated using Weblate (Tamil)
Currently translated at 100.0% (7 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/enum/ta/
2021-04-22 09:26:19 +02:00
zv20
48daa94926 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/bg/
2021-04-22 00:17:46 +02:00
Kumaran
810a2f7e7a Translated using Weblate (Tamil)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/ta/
2021-04-22 00:17:46 +02:00
Kumaran
96c69f927f Translated using Weblate (Tamil)
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/ta/
2021-04-22 00:17:46 +02:00
Kumaran
8229092cad Translated using Weblate (Tamil)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/ta/
2021-04-22 00:17:46 +02:00
Kumaran
34e0c28886 Translated using Weblate (Tamil)
Currently translated at 100.0% (2 of 2 strings)

Translation: opensourcepos/error
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/error/ta/
2021-04-22 00:17:46 +02:00
Kumaran
73fe8a0e0b Translated using Weblate (English)
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/en/
2021-04-22 00:17:46 +02:00
zv20
0ff1782cd3 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (72 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/bg/
2021-04-22 00:17:46 +02:00
zv20
e89aed188b Translated using Weblate (Bulgarian)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/bg/
2021-04-22 00:17:46 +02:00
zv20
2b4cdfb2a1 Translated using Weblate (Bulgarian)
Currently translated at 98.8% (178 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/bg/
2021-04-22 00:17:46 +02:00
zv20
4f8dc9003a Translated using Weblate (Bulgarian)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/bg/
2021-04-22 00:17:46 +02:00
Jeroen Peelaerts
5cac9bb5ed Bump to 3.3.4 2021-04-21 21:47:33 +02:00
zv20
59fe090b5e Translated using Weblate (English)
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/en/
2021-04-21 21:13:17 +02:00
Jeroen Peelaerts
080e8ac20c Add Tamil language (#3162) 2021-04-18 22:48:00 +02:00
Jeroen Peelaerts
46346a5b46 Fix discount rendering in receiving receipt (#3114) 2021-04-18 21:31:02 +02:00
Jeroen Peelaerts
dfd19c38f2 Render percentage discounts in configured locale (#3114) 2021-04-18 21:31:02 +02:00
Jeroen Peelaerts
b400223c57 Fix discount parsing (#3114) 2021-04-18 21:31:02 +02:00
Aril Apria Susanto
adb17c9865 Translated using Weblate (Indonesian)
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/id/
2021-04-18 04:31:59 +02:00
Aril Apria Susanto
793bd7b093 Translated using Weblate (Indonesian)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/id/
2021-04-17 19:01:35 +02:00
Aril Apria Susanto
a84c734c75 Translated using Weblate (Indonesian)
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/id/
2021-04-17 19:01:35 +02:00
Aril Apria Susanto
c2cee3c603 Translated using Weblate (Indonesian)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/id/
2021-04-17 19:01:35 +02:00
Aril Apria Susanto
954d2bdb37 Translated using Weblate (Indonesian)
Currently translated at 100.0% (12 of 12 strings)

Translation: opensourcepos/messages
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/messages/id/
2021-04-17 19:01:35 +02:00
Aril Apria Susanto
8b03b98b57 Translated using Weblate (Indonesian)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/id/
2021-04-17 19:01:35 +02:00
Jeroen Peelaerts
0fb93d6d14 Add sales total to daily overview (#3138) 2021-04-07 08:51:29 +02:00
Jeroen Peelaerts
a3a06fdb07 Fix cash totals in payment summary (#3138) 2021-04-07 08:51:29 +02:00
Jeroen Peelaerts
85b9e3bf65 Show sale count in tax summary (#3134) 2021-04-02 09:12:02 +02:00
Trần Ngọc Quân
990daef2c2 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (72 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/vi/
2021-03-31 05:05:08 +02:00
Trần Ngọc Quân
1a26f096fe Translated using Weblate (Vietnamese)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/vi/
2021-03-30 02:37:26 +02:00
Trần Ngọc Quân
8c15742f56 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (139 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/vi/
2021-03-30 02:37:15 +02:00
Trần Ngọc Quân
51ec09d527 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (21 of 21 strings)

Translation: opensourcepos/suppliers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/suppliers/vi/
2021-03-30 02:37:04 +02:00
Trần Ngọc Quân
d29bab6974 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (7 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/enum/vi/
2021-03-30 02:36:53 +02:00
Trần Ngọc Quân
f06f020df2 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/vi/
2021-03-30 02:36:42 +02:00
Trần Ngọc Quân
d0dd8667b5 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/vi/
2021-03-30 02:36:31 +02:00
Trần Ngọc Quân
0fde542bec Translated using Weblate (Vietnamese)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/vi/
2021-03-30 02:36:19 +02:00
Trần Ngọc Quân
4d447167c2 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/vi/
2021-03-30 02:06:05 +02:00
Trần Ngọc Quân
e52c17efd4 Translated using Weblate (Vietnamese)
Currently translated at 99.4% (179 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/vi/
2021-03-30 02:05:48 +02:00
Trần Ngọc Quân
3f372c2f9d Translated using Weblate (Vietnamese)
Currently translated at 100.0% (39 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/vi/
2021-03-30 02:05:35 +02:00
Trần Ngọc Quân
5b715a7e65 Translated using Weblate (Vietnamese)
Currently translated at 98.0% (51 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/vi/
2021-03-30 02:05:15 +02:00
Trần Ngọc Quân
7ab6ef758e Translated using Weblate (Vietnamese)
Currently translated at 5.5% (2 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/vi/
2021-03-28 12:20:13 +02:00
Jeroen Peelaerts
d701f770cb Revert back to jsPDF 1.3.4 (#3132) 2021-03-25 23:21:35 +01:00
jekkos
3f5e0b91da Bump jsPdf to 1.4.2 (#3132) 2021-03-25 11:48:43 +01:00
Jeroen Peelaerts
26083171be Remove unneeded directives (#3133) 2021-03-24 23:12:24 +01:00
jekkos
6df9ac6a99 Correct mapping for Bosnian (#3105) 2021-03-17 14:34:22 +01:00
Steve Ireland
3b1f4590ca This is a quick fix to a failure in the Sale.get_info method. (#3130) 2021-03-14 18:06:08 -04:00
Steve Ireland
da17356e89 Fix discount round plus some other minor tweaks. (#3125) 2021-03-13 19:05:29 -05:00
maktu
34f72d8b6a Translated using Weblate (Spanish (Mexico))
Currently translated at 96.9% (32 of 33 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/es_MX/
2021-03-12 13:16:39 +01:00
Jeroen Peelaerts
05942fe2f3 Add hook to validate save HTTP method (#3100) 2021-03-12 13:12:44 +01:00
Jeroen Peelaerts
162ca73ec2 Fix greyed out submit button after validation (#3122) 2021-03-10 22:18:12 +01:00
objecttothis
23f720ba40 Correct bug
- Corrected problem where clicking New caused future submit clicks to not submit.
2021-02-25 00:02:35 +01:00
objecttothis
ec587cc8a8 Correct formatting errors 2021-02-25 00:02:35 +01:00
objecttothis
d4f273e306 Grey out/disable Submit button after validation to prevent double submissions.
Change to a centralized method of greying out the submit button.
Rollback previous decentralized changes.
2021-02-25 00:02:35 +01:00
objecttothis
b0ed2bd34f Grey out/disable Submit button after validation to prevent double submissions. 2021-02-25 00:02:35 +01:00
Jeroen Peelaerts
3babfd2473 Refer to nginx docker in init_selfcert.sh (#3106) 2021-02-22 22:16:07 +01:00
Jeroen Peelaerts
e92a929ae3 Add bosnian translations (#3105) 2021-02-22 22:15:16 +01:00
Jeroen Peelaerts
21722f0749 Add Ukrainian translations
Signed-off-by: admin@buchach.org.ua
2021-02-21 22:20:51 +01:00
Jeroen Peelaerts
ca730c8f9c Login to docker hub before pulling images (#2995) 2021-02-20 21:35:22 +01:00
FrancescoUK
ea70956229 Merge pull request #3113 from opensourcepos/fix_disc_sales_rounding_2
Fix the discount calculation on reports.
2021-02-20 07:13:31 +00:00
Steve Ireland
4b65aa628a Fix the discount calculation on reports. The rounding was in the wrong place. 2021-02-19 22:00:31 -05:00
jekkos
4d03915612 Build docker container using travis.ci
Docker container was not built anymore the default compose file now downloads the image from docker hub.
This means we need to call docker daemon directly and build the Dockerfile ourselves.
2021-02-18 00:52:56 +01:00
Jeroen Peelaerts
6e546a098e Add mysql volumes + resolve CI_ENV (#3106) 2021-02-15 22:50:23 +01:00
FrancescoUK
a87faf8b1d Merge pull request #3106 from opensourcepos/fix-compose-file
Cleanup docker compose files
2021-02-14 21:02:13 +00:00
Jeroen Peelaerts
030ddea814 Make MySQL volume persistent in docker compose 2021-02-14 10:52:23 +01:00
Jeroen Peelaerts
a6cc04f49f Move ssl setup to separate compose file 2021-02-14 10:44:22 +01:00
FrancescoUK
da17d536ee Merge pull request #3107 from opensourcepos/fix_discounted_sales_rounding
Fix discounted price rounding issues in reports reported in  #2995
2021-02-14 06:41:19 +00:00
Steve Ireland
7a4cf1e2bd Fix discounted price rounding issues in reports 2021-02-13 20:44:56 -05:00
Jeroen Peelaerts
ddcfc0c3f0 Use stable docker hub image in compose.yml 2021-02-13 12:03:40 +01:00
FrancescoUK
4edc44a816 Merge pull request #3102 from albjeremias/revert-3098-fix-vendor-docker
Revert "add vendor folder to docker container"
2021-02-12 19:59:22 +00:00
FrancescoUK
03863f3737 Merge pull request #3099 from albjeremias/persistent-db
make db persistent..
2021-02-12 19:58:55 +00:00
FrancescoUK
7981d5ae77 Merge pull request #3101 from albjeremias/fix-docker-compose-build
Fix docker compose build
2021-02-12 19:58:06 +00:00
Albatroz Jeremias
8e3d90b62e Revert "add vendor folder to docker container" 2021-02-12 19:05:01 +00:00
Albatroz Jeremias
98363eec4c add assets building to server install 2021-02-12 18:57:39 +00:00
Albatroz Jeremias
ca98ca89b9 add assets building to local install 2021-02-12 18:57:18 +00:00
Albatroz Jeremias
9e339385a3 adding file for building assets 2021-02-12 18:55:22 +00:00
FrancescoUK
858246b335 Merge pull request #3098 from albjeremias/fix-vendor-docker
add vendor folder to docker container
2021-02-12 17:39:44 +00:00
Albatroz Jeremias
51bf757ffc make db persistent..
so it wont be destroyed with every start of docker-compose
2021-02-12 14:38:30 +00:00
Albatroz Jeremias
71f339028a add vendor folder to docker container 2021-02-12 14:35:29 +00:00
Aril Apria Susanto
b4fc061629 Translated using Weblate (Indonesian)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/id/
2021-02-10 10:44:52 +01:00
Aril Apria Susanto
e2a8c4a615 Translated using Weblate (Indonesian)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/id/
2021-02-10 10:44:52 +01:00
Jeroen Peelaerts
df45d8baf6 Item kit barcode review fixes (#3090) 2021-02-10 10:27:17 +01:00
Jeroen Peelaerts
6705e5f259 Add item_number to item kits module 2021-02-10 10:27:17 +01:00
Steve Ireland
68a2292d49 Merge pull request #3026 from opensourcepos/cash-rounding-register
Correct issues with cash rounding.
2021-02-08 08:26:47 -05:00
Steve Ireland
c5b22a0300 Improved support for cash rounding transactions. 2021-02-07 13:39:51 -05:00
Jeroen Peelaerts
be7d14c295 Change email address 2021-01-20 20:35:01 +01:00
Jeroen Peelaerts
485c24a123 Fix cookie secure flag (#3082) 2021-01-20 20:35:01 +01:00
Jeroen Peelaerts
6f2ac77a6e Remove unused migration (#3006) 2021-01-19 21:47:06 +01:00
jekkos
6e790aeea1 Update README.md 2021-01-19 21:43:39 +01:00
printgeek
2cb65bc2cb Update Specific_supplier.php 2021-01-19 21:39:20 +01:00
Jeroen Peelaerts
83ab188c8d Remove duplicate migration (#3006) 2021-01-17 11:52:45 +01:00
Jeroen Peelaerts
e20bf34a74 Use longblob for session data storage (#3006) 2021-01-17 11:36:06 +01:00
FrancescoUK
0daf08bf94 Merge pull request #3068 from opensourcepos/session-storage-fix
Use mediumblob for session data storage (#3006)
2021-01-04 21:58:31 +00:00
FrancescoUK
9297db9272 Merge pull request #3069 from opensourcepos/License-update
Contribution dates rearranged
2021-01-04 17:22:24 +00:00
WShells
d9dbb3d642 Dates fixing 2021-01-03 21:40:23 +02:00
Jeroen Peelaerts
5583a97772 Use mediumblob for session data storage (#3006) 2021-01-03 12:05:48 +01:00
WShells
630e38054a Contribution dates rearranged
Updated & Contribution dates rearranged.
2021-01-03 02:25:03 +02:00
hunsly
685033807a Translated using Weblate (Hungarian)
Currently translated at 83.3% (30 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/hu/
2021-01-01 23:04:58 +01:00
hunsly
c38801d8c0 Translated using Weblate (Hungarian)
Currently translated at 100.0% (29 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/hu/
2021-01-01 23:04:58 +01:00
FrancescoUK
41f218806b Update README.md badge 2021-01-01 12:03:10 +00:00
FrancescoUK
8e52bd4c1a Prepare release 3.3.3 2020-12-31 12:13:50 +00:00
FrancescoUK
2a66107cbc Fix copyright typo and update licenses 2020-12-31 10:00:50 +00:00
FrancescoUK
2dec15c760 Merge pull request #3060 from opensourcepos/fix-table-mobile-glitch
Disable resize trigger (#3057)
2020-12-31 09:34:40 +00:00
FrancescoUK
dcda176614 Remove extra init_resize call 2020-12-31 09:25:22 +00:00
Jeroen Peelaerts
98306e20be Disable resize trigger (#3057) 2020-12-30 22:46:44 +01:00
Jeroen Peelaerts
a8e505d668 Use correct mimetype for invoice logo (#3019) 2020-12-29 22:09:27 +01:00
Jeroen Peelaerts
3acf9056ec Enable PHP rendering in DOMPdf (#3019) 2020-12-29 22:09:27 +01:00
FrancescoUK
9e800fa2c3 Register dropdown issue fix and refactoring (#3055) 2020-12-29 18:04:50 +00:00
FrancescoUK
5578b40185 Fix sale register issue with due amount and no customer (#3055) 2020-12-28 22:59:53 +00:00
FrancescoUK
03e2bed008 Merge pull request #2980 from opensourcepos/bower-update
Update bower.json
2020-12-28 16:09:40 +00:00
jekkos
c57a3d8973 Add dev server URL to README.md 2020-12-28 13:58:24 +01:00
jekkos
6178b7b678 Update README.md 2020-12-28 13:55:48 +01:00
Jeroen Peelaerts
4e85b8a677 Remove basic/selected toggle (#2980) 2020-12-27 22:00:22 +01:00
Jeroen Peelaerts
23e4deb7c4 se basic as export mode if nothing is selected (#2980) 2020-12-26 23:58:35 +01:00
Jeroen Peelaerts
f7d06c1da4 Enable secure flag to make SameSite effective 2020-12-25 22:19:59 +01:00
Jeroen Peelaerts
a25653e3cf Add cookie workaround for php 7.2 (#1980) 2020-12-25 22:19:59 +01:00
Jeroen Peelaerts
49ef2a2105 Enable httpOnly for session cookie only (#1903) 2020-12-25 22:19:59 +01:00
Jeroen Peelaerts
57f5d419dd Add samesite=Strict attribute (#1980) 2020-12-25 22:19:59 +01:00
Jeroen Peelaerts
58192f74c0 Export only selection if it's present (#2980) 2020-12-25 20:25:15 +01:00
FrancescoUK
d34ff02686 Update supported PHP versions 2020-12-23 12:46:47 +00:00
Jeroen Peelaerts
37cacdbc39 Fix sticky table header alignment (#2980) 2020-12-22 23:36:46 +01:00
Jeroen Peelaerts
f312a45469 Update header.php (#2980) 2020-12-22 14:16:44 +01:00
Jeroen Peelaerts
18d61188ff Fix sticky table headers (#2980) 2020-12-22 11:41:36 +01:00
FrancescoUK
718729b4c7 Merge pull request #3049 from opensourcepos/fix-form-submission
Use jquery.validate to check form submission state (#3044)
2020-12-21 16:38:56 +00:00
Jeroen Peelaerts
9a881c5232 Add stripes to table again (#2980) 2020-12-21 15:40:05 +01:00
Jeroen Peelaerts
82a9348bf9 Use jquery.validate to check form submission state (#3044) 2020-12-21 14:17:00 +01:00
Jeroen Peelaerts
76d6ad215e Fix modal submit after close (#3044) 2020-12-20 22:09:20 +01:00
Jeroen Peelaerts
2e2ef29f72 Add chartist bower main override 2020-12-20 12:09:50 +01:00
jekkos
2d21980313 Update bower.json 2020-12-18 13:55:30 +01:00
FrancescoUK
7eb310aac6 Further JS plugins updates 2020-12-17 12:43:52 +00:00
FrancescoUK
c72ef2aae9 Update npm packages 2020-12-17 12:12:07 +00:00
FrancescoUK
c8e7fab9d3 Update js plugins 2020-12-17 12:10:31 +00:00
FrancescoUK
4ca39bfedb Update grunt and composer 2020-12-17 10:43:00 +00:00
FrancescoUK
6ec7fa822b Merge pull request #3045 from opensourcepos/fix-double-submit
Prevent double submit (#3044)
2020-12-17 10:37:42 +00:00
Jeroen Peelaerts
fb21359663 Prevent double submit (#3044) 2020-12-16 22:50:01 +01:00
FrancescoUK
030b67224e Reset payments on item remove and sales register mode change (#3043) 2020-12-16 15:36:15 +00:00
FrancescoUK
2ce73993c6 Empty payments when Sales register item is edited (#3042) 2020-12-16 11:14:29 +00:00
FrancescoUK
0d08e8e15b Update en-GB sales_lang.php 2020-12-15 11:32:51 +00:00
WebShells
c3150efad5 Minor changes
divs and tds fixing
2020-12-15 10:21:00 +01:00
WebShells
303a1442d7 PDF Minor fixes
Textarea replacements for better Pdf rendering.
2020-12-15 10:21:00 +01:00
WShells
8a2923854a Update work_order.php
Textarea replacement
2020-12-15 10:21:00 +01:00
WShells
9318adaeb9 Update tax_invoice.php
Textarea replacement
2020-12-15 10:21:00 +01:00
WShells
ea64e5bb40 Minor changes
Replacing main textareas with fixed divs
2020-12-15 10:21:00 +01:00
WShells
5dd340d84c Update quote.php
Additional spaces removal/alignment
2020-12-15 10:21:00 +01:00
Jeroen Peelaerts
36bab70bfd Fix default register mode (#3016) 2020-12-15 09:54:08 +01:00
Jeroen Peelaerts
e4aa4017ba Fix invoice_email.css reference (#3019) 2020-12-06 23:21:55 +01:00
Jeroen Peelaerts
87ea0c45f7 Update inventory date if sale/receiving is edited (#2844) 2020-12-04 23:48:57 +01:00
Jeroen Peelaerts
9ee3557672 Use float precision 1e14 as upper limit for decimal parsing (#3004) 2020-12-04 23:48:05 +01:00
Carl Hunter
0fd531c4a2 Increase font size to 150% for total sales and 120% for amount due in sales module for better visibility 2020-12-03 15:49:16 +01:00
Carl Hunter
a54f596ea9 Rename Count column in Payments Summary Report to Transactions 2020-12-03 15:49:16 +01:00
Carl Hunter
d571734f98 Fixed sorting of Quantity column in Customer Summary Report 2020-12-03 15:49:16 +01:00
Carl Hunter
516f8f71da Added Transactions column to Customer Summary Report 2020-12-03 15:49:16 +01:00
Carl Hunter
5c31fb094b Fixed typo in Column 3 of Search Suggestions Layout 2020-12-03 15:49:16 +01:00
Carl Hunter
7b20e2c29c Added wholesale price as an option in search suggestions 2020-12-03 15:49:16 +01:00
Sean Sopheak Rida
d8431b8c00 Translated using Weblate (Central Khmer)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/km/
2020-11-30 18:50:36 +01:00
Sean Sopheak Rida
4484a47d4c Translated using Weblate (Central Khmer)
Currently translated at 1.1% (2 of 179 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/km/
2020-11-27 20:03:38 +01:00
Sean Sopheak Rida
ea523dd765 Translated using Weblate (Central Khmer)
Currently translated at 100.0% (69 of 69 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/km/
2020-11-27 20:03:38 +01:00
Sean Sopheak Rida
b0e833f8c4 Translated using Weblate (Central Khmer)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/km/
2020-11-27 20:03:38 +01:00
Jeroen Peelaerts
4e83d967c1 Fix receiving return total (#3033) 2020-11-25 20:19:48 +01:00
Jeroen Peelaerts
f01f882bb8 Use float precision 1e14 as upper limit for decimal parsing (#3004) 2020-11-24 22:24:50 +01:00
Jeroen Peelaerts
e72dc752bb Make receivings date readonly (#2843) 2020-11-24 22:08:38 +01:00
FrancescoUK
8e054de506 Merge pull request #3024 from ket-c/master
Fixed inventory after deleting receiving
2020-11-22 09:02:27 +00:00
Kwaku Amoh-Aboagye
084770643d Fixed inventory after deleting receiving
When you add new/ update an item with a *receiving quantity* more than 1, (Let's say 63), so you then do a new receiving of that particular item, you will get the option to select pack as x63 or x1.

So if you select more that 1 Ship pack (receiving quantity), (in this eg. that is, x63) and finish the receiving successfully, your inventory of that item update with increment of 63 and inventory count details also, good.

But when you realize the receiving you just did had a mistake and  you go and delete it, the inventory reduction is wrongly calculated.
Instead of decreasing the inventory by 63, it reduces it by 1.

So i fixed it.
2020-11-20 21:49:52 +01:00
Jeroen Peelaerts
4b2b098a85 Add credit filter for payment types (#2983) 2020-11-20 17:24:24 +01:00
Kwaku Amoh-Aboagye
d4d25d240e Fixed inventory after deleting receiving
When you add new/ update an item with a *receiving quantity* more than 1, (Let's say 63), so you then do a new receiving of that particular item, you will get the option to select pack as x63 or x1.

So if you select more that 1 Ship pack (receiving quantity), (in this eg. that is, x63) and finish the receiving successfully, your inventory of that item update with increment of 63 and inventory count details also, good.

But when you realize the receiving you just did had a mistake and  you go and delete it, the inventory reduction is wrongly calculated.
Instead of decreasing the inventory by 63, it reduces it by 1.

So i fixed it.
2020-11-20 12:51:35 +00:00
Jeroen Peelaerts
2393c21647 Add FUNDING.yml 2020-11-15 23:43:21 +01:00
Jeroen Peelaerts
e47f3ee571 Fix detailed sales report (#2967) 2020-11-15 17:02:00 +01:00
Carl Hunter
5ddda4dc1e Fix quantity sorting in Categories, Employees and Transactions reports 2020-11-15 15:44:40 +01:00
Carl Hunter
20d78224a4 Added Transactions column to Employees Summary Report and Transactions Summary Report 2020-11-15 15:44:40 +01:00
khao_lek
8571cd1a44 Translated using Weblate (Thai)
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/th/
2020-11-12 18:23:47 +01:00
khao_lek
772e809ee6 Translated using Weblate (Thai)
Currently translated at 100.0% (33 of 33 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/th/
2020-11-12 18:23:47 +01:00
khao_lek
35b09b2dfb Translated using Weblate (Thai)
Currently translated at 100.0% (179 of 179 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/th/
2020-11-12 18:23:47 +01:00
khao_lek
705fc1dd0b Translated using Weblate (Thai)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/th/
2020-11-12 18:23:47 +01:00
khao_lek
814cd4503c Translated using Weblate (Thai)
Currently translated at 100.0% (68 of 68 strings)

Translation: opensourcepos/giftcards
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/giftcards/th/
2020-11-12 18:23:47 +01:00
khao_lek
9020e85a17 Translated using Weblate (Thai)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/th/
2020-11-12 18:23:47 +01:00
khao_lek
f0b2f64490 Translated using Weblate (Thai)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/th/
2020-11-12 18:23:47 +01:00
Carl Hunter
36b0b28109 Add Retail Price to Items Summary Report 2020-11-07 22:40:07 +01:00
Jeroen Peelaerts
5a124ede99 Fix supplier category after update (#2972) 2020-11-07 22:25:56 +01:00
Steve Ireland
a8aafb6f47 Merge pull request #3001 from opensourcepos/theme-tweaker
Adjust a theme to handle feature development using non-theme supported classes.
2020-11-05 21:29:50 -05:00
SiuDuck
eae0f8e0cb Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/zh_Hant/
2020-11-03 06:56:02 +01:00
SiuDuck
9542f2dd9c Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/zh_Hant/
2020-11-03 06:55:51 +01:00
Steve Ireland
b8eb67a14a Provides a way to adjust a theme to handle feature development using non-theme supported classes. 2020-11-02 21:02:43 -05:00
SiuDuck
d763dd3665 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (29 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/zh_Hant/
2020-11-03 02:40:10 +01:00
SiuDuck
5e3a6f0b07 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (69 of 69 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/zh_Hant/
2020-11-03 02:40:10 +01:00
SiuDuck
d45d57ac4a Translated using Weblate (Chinese (Traditional))
Currently translated at 8.3% (3 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/zh_Hant/
2020-11-03 02:40:10 +01:00
SiuDuck
58476dd3bc Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/zh_Hant/
2020-11-03 02:40:10 +01:00
Jeroen Peelaerts
67e1e4ef19 Add takings filtering on credit card (#2983) 2020-11-02 12:42:45 +01:00
Jeroen Peelaerts
8a26195a60 Remove magic quotes check in dompdf helper (#2996) 2020-10-29 23:14:44 +01:00
Jeroen Peelaerts
84a3a7e9b7 Fix notifications bis 2020-10-29 23:00:44 +01:00
Jeroen Peelaerts
958469e207 Fix detailed sale report (#2967) 2020-10-29 22:14:34 +01:00
Jeroen Peelaerts
47f61e1a30 Detailed sales + receiving fix (#2967) 2020-10-29 21:35:04 +01:00
jekkos-t520
f04ff91f44 Fix notifications 2020-10-29 21:07:46 +01:00
FrancescoUK
e6ac4de69d Merge pull request #2994 from opensourcepos/config-permissions
Increase timeout on migration (#2992)
2020-10-29 19:06:48 +00:00
Jeroen Peelaerts
e1ff739621 Increase timeout on migration (#2992) 2020-10-29 00:31:48 +01:00
Jeroen Peelaerts
625fb584ed Fix migration errors on clean install 2020-10-28 21:31:31 +01:00
Jeroen Peelaerts
fdb8cf8bda Do not show takings if no grant for sales_reports (#2981) 2020-10-28 21:00:16 +01:00
Jeroen Peelaerts
65c84a8857 Fix receivings report in MySQL (#2967) 2020-10-28 20:55:57 +01:00
jekkos
c0ac4b3400 Fix invoice email notification 2020-10-22 18:59:34 +02:00
jekkos
3471c0f947 Translated using Weblate (Flemish)
Currently translated at 98.3% (175 of 178 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/nl_BE/
2020-10-21 15:23:43 +02:00
jekkos
3aafa1649c Translated using Weblate (Flemish)
Currently translated at 97.2% (35 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/nl_BE/
2020-10-21 15:23:43 +02:00
jekkos
a8b37d36ff Translated using Weblate (Flemish)
Currently translated at 10.2% (8 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/nl_BE/
2020-10-21 15:23:43 +02:00
jekkos
5ec7e11c37 Translated using Weblate (Flemish)
Currently translated at 100.0% (2 of 2 strings)

Translation: opensourcepos/error
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/error/nl_BE/
2020-10-21 15:23:43 +02:00
jekkos
96c3738a7e Translated using Weblate (Flemish)
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/nl_BE/
2020-10-21 15:23:43 +02:00
jekkos
1bb72d9fa9 Translated using Weblate (Flemish)
Currently translated at 100.0% (69 of 69 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/nl_BE/
2020-10-21 15:23:43 +02:00
jekkos
5737d220eb Translated using Weblate (Flemish)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/nl_BE/
2020-10-21 15:23:43 +02:00
jekkos
f40c4aedef Translated using Weblate (Flemish)
Currently translated at 92.7% (102 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/nl_BE/
2020-10-21 15:23:43 +02:00
jekkos-t520
52fc45ae23 Get rid of warnings in Php 7.4 2020-10-18 22:28:08 +02:00
jekkos
44f0036ac0 Bump MariaDB in test container 2020-10-18 00:40:26 +02:00
jekkos
1e47521f55 Bump MariaDB in dev container 2020-10-18 00:39:49 +02:00
FrancescoUK
d840a67150 Merge pull request #2970 from opensourcepos/fix-location-crud
Fix stock location crud (#2965)
2020-10-17 21:39:09 +01:00
FrancescoUK
8a16d5c93c Merge pull request #2971 from opensourcepos/email-config
Email config (#2968)
2020-10-17 21:37:51 +01:00
FrancescoUK
b3d4ad1a13 Update dockerfile images 2020-10-17 20:18:31 +01:00
FrancescoUK
2b8a2d8bb6 Housekeeping 2020-10-17 20:14:33 +01:00
jekkos
49be337200 Bump php to 7.4 in docker 2020-10-17 01:51:58 +02:00
jekkos-t520
632e25abe3 Email config (#2968) 2020-10-17 01:19:12 +02:00
jekkos-t520
760d7490a2 Fix stock location crud (#2965) 2020-10-17 01:05:03 +02:00
Jeroen Peelaerts
c0ff849c0f Do not cast quantity change to int in sale delete (#2964) 2020-10-13 21:27:09 +02:00
jekkos-t520
730b9ff366 Fix EAN13 generation for 90 (#2521) 2020-10-12 23:06:19 +02:00
Dźmitry Lizunkoŭ
71f12bf205 Translated using Weblate (Russian)
Currently translated at 41.0% (32 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/ru/
2020-10-09 12:38:56 +02:00
jekkos
8960f57bea Translated using Weblate (Flemish)
Currently translated at 99.2% (138 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/nl_BE/
2020-10-08 20:31:52 +02:00
jekkos
437b4115e6 Translated using Weblate (Flemish)
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/nl_BE/
2020-10-08 20:31:51 +02:00
jekkos
461db7883f Translated using Weblate (Flemish)
Currently translated at 100.0% (68 of 68 strings)

Translation: opensourcepos/giftcards
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/giftcards/nl_BE/
2020-10-08 20:31:51 +02:00
jekkos
f254ecc44a Translated using Weblate (Flemish)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/nl_BE/
2020-10-08 20:31:51 +02:00
jekkos
6432843fda Translated using Weblate (Flemish)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/nl_BE/
2020-10-08 20:31:51 +02:00
jekkos
ef198ce07a Translated using Weblate (Flemish)
Currently translated at 100.0% (69 of 69 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/nl_BE/
2020-10-08 20:31:51 +02:00
Emin Tufan Çetin
847724c5b3 Translated using Weblate (Turkish)
Currently translated at 100.0% (33 of 33 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/tr/
2020-10-08 17:32:50 +02:00
Emin Tufan Çetin
7c173cbfe2 Translated using Weblate (Turkish)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/tr/
2020-10-08 17:32:49 +02:00
Emin Tufan Çetin
93b3e85b8d Translated using Weblate (Turkish)
Currently translated at 100.0% (78 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/tr/
2020-10-08 17:32:49 +02:00
Emin Tufan Çetin
4e83a2d45f Translated using Weblate (Turkish)
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/tr/
2020-10-08 17:32:49 +02:00
jekkos-t520
eb9e9ddd38 Prepare 3.3.3 release 2020-10-05 22:45:20 +02:00
jekkos-t520
4fa69cbe13 Sync language files 2020-10-05 22:44:10 +02:00
WebShells
12d79b7309 En_GB Fix
En_GB Fix
2020-10-02 22:40:52 +02:00
WebShells
2743a6cf15 System Info Permissions
System Info Permissions Fix
2020-10-02 22:40:52 +02:00
WShells
9528624c0e Vulnerability Check
Import customers Vulnerability Check
2020-10-02 22:40:52 +02:00
WebShells
382aebcf16 Updates to System Info
Updates to System Info Fixing misplaced error messages (language variables).
2020-10-02 22:40:52 +02:00
Anaconda313
1be9fd04c4 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (19 of 19 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses_categories/az/
2020-09-27 08:35:48 +02:00
Anaconda313
407a7c0132 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/az/
2020-09-27 08:35:48 +02:00
Anaconda313
8732648fc0 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (69 of 69 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/az/
2020-09-27 08:03:25 +02:00
Anaconda313
a3380a616b Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (39 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/az/
2020-09-27 08:03:25 +02:00
Anaconda313
56487226ef Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/az/
2020-09-27 08:03:25 +02:00
Anaconda313
cba6efec73 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (39 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/az/
2020-09-27 07:27:15 +02:00
Anaconda313
7872a4c212 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (139 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/az/
2020-09-27 07:27:14 +02:00
Anaconda313
64ab220c4d Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/az/
2020-09-27 07:14:19 +02:00
Anaconda313
f8e9090eb7 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (69 of 69 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/az/
2020-09-27 06:57:57 +02:00
Natig Asadov
edef11ce7f Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (178 of 178 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/az/
2020-09-24 10:44:09 +02:00
jekkos
9ad13bf3e2 Add empty error.log so nginx can log to it (#2953) 2020-09-21 11:16:02 +02:00
Natig Asadov
3f70e24780 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/az/
2020-09-20 05:32:34 +02:00
Natig Asadov
5522f8580c Translated using Weblate (English)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/en/
2020-09-20 05:32:34 +02:00
Natig Asadov
956b54ad27 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (33 of 33 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/az/
2020-09-20 05:25:16 +02:00
jekkos
1860fa0eaa Translated using Weblate (Flemish)
Currently translated at 89.2% (124 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/nl_BE/
2020-09-20 05:25:16 +02:00
Natig Asadov
9e2cc52275 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (178 of 178 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/az/
2020-09-20 05:25:16 +02:00
jekkos
3ee277ef70 Translated using Weblate (Flemish)
Currently translated at 100.0% (29 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/nl_BE/
2020-09-20 05:25:16 +02:00
Natig Asadov
1b5fe21f00 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (69 of 69 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/az/
2020-09-20 05:25:16 +02:00
Natig Asadov
dd0b1d4628 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/az/
2020-09-20 05:25:16 +02:00
Natig Asadov
65da551aad Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (78 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/az/
2020-09-20 05:25:16 +02:00
Natig Asadov
9aa6406dae Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (21 of 21 strings)

Translation: opensourcepos/suppliers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/suppliers/az/
2020-09-20 05:25:16 +02:00
jekkos
d429712c98 Translated using Weblate (Flemish)
Currently translated at 6.4% (5 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/nl_BE/
2020-09-20 05:25:16 +02:00
jekkos
8c92cbb277 Remove broken devDependencies badge 2020-09-19 22:58:05 +02:00
jekkos
40f02988d8 Update weblate svg url (#2914) 2020-09-19 22:57:23 +02:00
jekkos
9d7519bdc1 Translated using Weblate (Flemish)
Currently translated at 97.2% (35 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/nl_BE/
2020-09-19 22:44:24 +02:00
Natig Asadov
4fcfdfd4aa Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/az/
2020-09-19 21:51:21 +02:00
Steve Ireland
8e99889174 On document reprint retrieve the taxes originally applied to the reprinted document. 2020-09-19 14:14:01 +02:00
jekkos-t520
30134520f4 Also add files inside of docker folder (#2953) 2020-09-17 23:42:47 +02:00
jekkos
0ade104dff Add docker folder to bintray zip (#2953) 2020-09-17 23:33:20 +02:00
jekkos-t520
1709be588f Bump to 3.4.0 (#2942) 2020-09-14 18:17:36 +02:00
SteveIreland
bf88f8fdae Fixes #2922 feature request by adding the cash rounding type of half-five as a trigger for cash rounding and including the decimals as a factor in the round function. 2020-09-14 18:03:12 +02:00
jekkos
bb309c2579 Revert force flag for docker push/tag (#2907)
Fix is done in the deploy script now, we explicitly remove the image tag before pull.
2020-09-02 09:34:01 +02:00
jekkos
b8bfe2239e Revert force flag for docker push/tag (#2907)
Fix is done in the deploy script now, we explicitly remove the image tag before pull.
2020-09-02 09:33:53 +02:00
jekkos
22324471e7 Use force flag with docker tag and push (#2907) 2020-09-01 17:40:57 +02:00
jekkos
5a638aa11c Remove dist and group tag from .travis.yml 2020-09-01 17:25:51 +02:00
FrancescoUK
f59bffd063 Merge pull request #2939 from jerry2714/fix_lets_encrypt_fail
fix Let's Encrypt fail on host install using docker
2020-09-01 15:56:03 +01:00
Jerry Hsu
24687756c1 fix Let's Encrypt fail on host install using docker
nginx container keep crashing while installing due to
wrong configuration file and ssl_certificate path mismatch.

- replace ssl_certificate path to match custom domain
- use correct URL to download files from certbot repo
2020-09-01 21:43:55 +08:00
jekkos-t520
b4fadbf84f Add quote year count to token list (#2886) 2020-08-24 13:21:40 +02:00
jekkos-t520
7873110fc5 Code style remarks (#2886) 2020-08-24 13:21:40 +02:00
Jeroen Peelaerts
46d957f5b4 Quote improvements 2020-08-24 13:21:40 +02:00
jekkos-t520
458856668d Fix farsi language bug (#2926) 2020-08-22 00:36:31 +02:00
odiea
98bd5ed09c Merge pull request #2931 from opensourcepos/fix_tax_basis
Fixes #2920 issue
2020-08-21 10:15:50 -06:00
SteveIreland
8b22b1d733 Fixes #2920 issue with computing item tax basis with base non-include taxes not factoring including discounts. 2020-08-20 22:03:59 -04:00
objecttothis
b9727d72d7 Allow ON DELETE CASCADE for receiving_id foreign key in links table 2020-08-19 23:01:30 +02:00
FrancescoUK
3e4e6af726 Merge pull request #2926 from Ali-Rnik/i18n-farsi-add
Add Farsi language
2020-08-19 21:43:29 +01:00
Ali R. Nik
4aabbaadaf solved syntax error 2020-08-18 22:01:24 +04:30
Ali R. Nik
a009f1719a add farsi language 2020-08-18 16:53:34 +04:30
jekkos-t520
cb67b53913 Update risky permission language (#2885) 2020-07-30 00:13:42 +02:00
objecttothis
d31307f8f7 Merge pull request #2910 from opensourcepos/remove_colon_limitation
Modify input validator
2020-07-29 22:31:47 +04:00
objecttothis
18bdb5d854 Modify input validator
- Matched the allowed inputs to what is found in the validator for the
Attribute form (/views/attributes/form.php) for consistency.
- Removed the restriction on colon and added the restriction on
underscore.
- Modified the language line to indicate correct error.
2020-07-28 16:58:43 +04:00
objecttothis
27e297540e Merge pull request #2909 from opensourcepos/objecttothis-patch-1
Update INSTALL.md
2020-07-28 16:35:54 +04:00
objecttothis
88033799a0 Update INSTALL.md
Added support for PHP 7.4
2020-07-28 15:31:04 +04:00
jekkos-t520
d9ec9ce772 Add danish, hebrew, armenian as languages 2020-07-28 00:29:25 +02:00
Weblate
b680bea331 Merge branch 'origin/master' into Weblate 2020-07-27 09:28:05 +02:00
Emin Tufan Çetin
9116dc1920 Translated using Weblate (Turkish)
Currently translated at 100.0% (297 of 297 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/tr/
2020-07-27 09:28:00 +02:00
jekkos-t520
088f175fd6 Fix escape issue in german 2020-07-26 23:55:55 +02:00
jekkos-t520
8f3d960817 Only check read permissions on import_customers (#2885) 2020-07-26 23:45:29 +02:00
jekkos-t520
33734a27ce Sync translations files 2020-07-26 23:42:42 +02:00
jekkos-t520
dbcf980a2a Relax required permissions for import_customers (#2885) 2020-07-25 11:14:39 +02:00
jekkos-t520
e0709fcebb Update system_info.php (#2885) 2020-07-25 11:14:39 +02:00
Emin Tufan Çetin
b54adc09ad Translated using Weblate (Turkish)
Currently translated at 100.0% (177 of 177 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/tr/
2020-07-24 23:46:00 +02:00
khao_lek
33f87aeff1 Translated using Weblate (Thai)
Currently translated at 100.0% (177 of 177 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/th/
2020-07-24 23:46:00 +02:00
khao_lek
ceb6ba49b2 Translated using Weblate (Thai)
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/th/
2020-07-24 23:46:00 +02:00
jekkos-t520
4d0b23cd23 Update permissions on application/logs (#2885) 2020-07-22 22:04:35 +02:00
jekkos
9cc38765c3 Update system_info.php (#2885)
@WebShells for you to review, but I think that removing that code will fix #2860
2020-07-21 23:20:52 +03:00
jekkos
b65f68b677 Update README.md 2020-07-15 11:43:15 +02:00
jekkos
702c1dc4df Update README.md 2020-07-15 10:54:34 +02:00
khao_lek
7040f80b7f Translated using Weblate (Thai)
Currently translated at 100.0% (78 of 78 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/th/
2020-07-14 19:28:58 +02:00
nicmorais
d925388424 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (78 of 78 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/pt_BR/
2020-07-14 19:28:58 +02:00
khao_lek
6c35f4bce0 Translated using Weblate (Thai)
Currently translated at 100.0% (177 of 177 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/th/
2020-07-14 19:28:58 +02:00
khao_lek
dd7f8bb508 Translated using Weblate (Thai)
Currently translated at 100.0% (128 of 128 strings)

Translation: ospos/reports
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/reports/th/
2020-07-14 19:28:58 +02:00
khao_lek
0ac0d1d06c Translated using Weblate (Thai)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/receivings
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/receivings/th/
2020-07-14 19:28:58 +02:00
khao_lek
5ffd536d4c Translated using Weblate (Thai)
Currently translated at 100.0% (39 of 39 strings)

Translation: ospos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/th/
2020-07-14 19:28:58 +02:00
khao_lek
2f71a6c6bb Translated using Weblate (Thai)
Currently translated at 100.0% (12 of 12 strings)

Translation: ospos/messages
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/messages/th/
2020-07-14 19:28:58 +02:00
khao_lek
e8a15ebd37 Translated using Weblate (Thai)
Currently translated at 100.0% (109 of 109 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/th/
2020-07-14 19:28:58 +02:00
khao_lek
8d88e23ab9 Translated using Weblate (Thai)
Currently translated at 100.0% (68 of 68 strings)

Translation: ospos/giftcards
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/giftcards/th/
2020-07-14 19:28:58 +02:00
khao_lek
b07b17f1c7 Translated using Weblate (Thai)
Currently translated at 100.0% (19 of 19 strings)

Translation: ospos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/th/
2020-07-14 19:28:58 +02:00
khao_lek
ea8b9b4d10 Translated using Weblate (Thai)
Currently translated at 100.0% (44 of 44 strings)

Translation: ospos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/th/
2020-07-14 19:28:58 +02:00
khao_lek
b3d7b8d2f7 Translated using Weblate (Thai)
Currently translated at 100.0% (7 of 7 strings)

Translation: ospos/enum
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/enum/th/
2020-07-14 19:28:58 +02:00
Emin Tufan Çetin
cf2f29d91b Translated using Weblate (Turkish)
Currently translated at 100.0% (295 of 295 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/tr/
2020-07-14 19:28:58 +02:00
khao_lek
5514cbea79 Translated using Weblate (Thai)
Currently translated at 100.0% (295 of 295 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/th/
2020-07-14 19:28:58 +02:00
nicmorais
5e9e09a227 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (295 of 295 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/pt_BR/
2020-07-14 19:28:58 +02:00
khao_lek
27659f8098 Translated using Weblate (Thai)
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/th/
2020-07-14 19:28:58 +02:00
Emin Tufan Çetin
aed4163c51 Translated using Weblate (Turkish)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/tr/
2020-07-14 19:28:58 +02:00
khao_lek
09e3e56245 Translated using Weblate (Thai)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/th/
2020-07-14 19:28:58 +02:00
nicmorais
edf2258463 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/pt_BR/
2020-07-14 19:28:58 +02:00
jekkos-t520
0cb20b6384 Clear work order number during clear_all (#2820) 2020-07-05 23:13:36 +02:00
jekkos-t520
10bc0b5720 Fix custom invoice number (#2820) 2020-07-05 23:13:36 +02:00
Weblate
7704d5ec6f Merge branch 'origin/master' into Weblate 2020-07-01 11:18:43 +02:00
Jose Cruz Moreira Galvan
b08f087306 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (78 of 78 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/es_MX/
2020-07-01 11:18:40 +02:00
Jose Cruz Moreira Galvan
0484cdd7d6 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (177 of 177 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/es_MX/
2020-07-01 11:18:27 +02:00
Antonio Morales
e7deac8a00 Translated using Weblate (Spanish (Mexico))
Currently translated at 52.9% (36 of 68 strings)

Translation: ospos/giftcards
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/giftcards/es_MX/
2020-07-01 11:18:14 +02:00
Jose Cruz Moreira Galvan
d0e44a2fc5 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (292 of 292 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/es_MX/
2020-07-01 11:17:58 +02:00
SteveIreland
b7fcc94eb0 Fixes #2872 SQL Error in Sale.php 2020-07-01 08:58:04 +02:00
objecttothis
a11f25e983 Update Item.php
Set group_concat_max_len session variable to prevent count totals at the bottom of the tables becoming `1 to null of null items` when database includes significant number of item rows.
2020-06-29 11:23:10 +02:00
objecttothis
85fea45def Merge pull request #2780 from opensourcepos/fix-included-destination-tax
Fix included destination tax
2020-06-29 09:25:06 +04:00
SteveIreland
6d91ae3845 Fix included destination tax 2020-06-28 18:12:46 -04:00
FrancescoUK
be44fb2aa7 Merge pull request #2870 from opensourcepos/fix-invoice-field
Fix invoice field visibility (#2820)
2020-06-27 19:02:26 +01:00
Jeroen Peelaerts
fa15b1e94b Fix invoice field visibility (#2820) 2020-06-27 17:36:17 +02:00
objecttothis
535df2b706 Merge pull request #2840 from opensourcepos/System-Info
Minor Changes & Footer Update
2020-06-27 15:27:23 +04:00
objecttothis
5fa4e18eb7 Update common_lang.php
Changes to British English at @daN4cat request.
2020-06-27 15:08:43 +04:00
objecttothis
581ca8745a Update common_lang.php
Inserting inline variable and resorted variables for ease of finding.
2020-06-27 14:57:25 +04:00
objecttothis
687ae74a62 Update footer.php
replaced " with ' to prevent the string from being parsed for variables unnecessarily.
2020-06-27 14:54:39 +04:00
objecttothis
f3ee3d7dbd Update footer.php
Corrected code to send the ending year to the language line for RTL languages to juggle.
2020-06-27 14:53:28 +04:00
Emin Tufan Çetin
fb0cee0e74 Translated using Weblate (Turkish)
Currently translated at 100.0% (292 of 292 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/tr/
2020-06-17 20:41:36 +02:00
jekkos
1bd9501e76 Translated using Weblate (Flemish)
Currently translated at 93.1% (27 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/nl_BE/
2020-06-09 14:33:53 +02:00
Weblate
3fa55b2ff4 Merge branch 'origin/master' into Weblate 2020-06-09 14:19:16 +02:00
Corvin
633a888ae4 Translated using Weblate (Hungarian)
Currently translated at 29.5% (13 of 44 strings)

Translation: ospos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/hu/
2020-06-09 14:19:15 +02:00
Emin Tufan Çetin
12125dfbd7 Translated using Weblate (Turkish)
Currently translated at 100.0% (291 of 291 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/tr/
2020-06-09 14:18:59 +02:00
Andrés Sánchez
06aa032d45 Translated using Weblate (Spanish)
Currently translated at 100.0% (291 of 291 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/es/
2020-06-09 14:18:52 +02:00
mazbrili
46f0af4d48 Translated using Weblate (Indonesian)
Currently translated at 100.0% (291 of 291 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/id/
2020-06-09 14:18:44 +02:00
Corvin
70857ba358 Translated using Weblate (Hungarian)
Currently translated at 27.7% (10 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/hu/
2020-06-09 14:18:29 +02:00
jekkos
5cf0d5faeb Added translation using Weblate (Armenian) 2020-06-09 14:18:13 +02:00
FrancescoUK
d6df082d32 Merge pull request #2852 from opensourcepos/constant_location_patch
Update constants.php
2020-06-04 09:16:10 +01:00
objecttothis
2cd90ccb17 Update constants.php
Correcting missing '
2020-06-04 11:11:50 +04:00
objecttothis
63ea90f537 Merge pull request #2849 from opensourcepos/constant_location_patch
Change the locations of global constants to make them global across files
2020-06-03 22:01:41 +04:00
objecttothis
a3fb05b566 Change the locations of global constants to make them global across
files

- Items Constants
- Attributes Constants
- Sale Constants
2020-06-03 14:15:05 +04:00
WebShells
8fc27d88e0 Colors for User Setup section
Colors for User Setup section
2020-05-27 10:16:46 +03:00
WebShells
b2bb4d8b62 PHP Declaration 2020-05-27 10:10:52 +03:00
WebShells
2fd50471de Footer in License Section 2020-05-27 09:24:49 +03:00
WebShells
ecff38d5bb Language Updates 2020-05-27 09:06:42 +03:00
WebShells
026114457b Minor Changes & Footer Update
Added timezone checkup to system info

1st Case:
Timezones are the same ( no warning )
2nd Case:
Difference in timezones: Warning will be displayed.

Simplifying OSPOS footer and replacing git project link by OSPOS website.
2020-05-27 08:56:51 +03:00
objecttothis
d5659b5131 Merge pull request #2816 from opensourcepos/category_as_dropdown
Category as dropdown
2020-05-20 14:08:32 +04:00
objecttothis
979ec9fe02 Merge branch 'master' into category_as_dropdown 2020-05-20 13:55:41 +04:00
objecttothis
89a56820d2 Formatting Corrections 2020-05-20 13:52:54 +04:00
objecttothis
145f49d247 Code Review Changes
- Refactored code to include constants
- Fixed comment formatting issues
2020-05-20 13:48:24 +04:00
objecttothis
a155399ec0 Merge branch 'master' into category_as_dropdown 2020-05-19 18:14:31 +04:00
objecttothis
f5424a3ed2 Create Global Constants to clarify code 2020-05-19 18:06:20 +04:00
objecttothis
35023e648f Force Travis-CI to rebuild to demo 2020-05-14 19:35:55 +04:00
jekkos
00020ba7dc Fix token_lib regresssion 2020-05-13 13:53:14 +02:00
jekkos-t520
3854587907 Fix default quantity #2829 2020-05-13 13:53:14 +02:00
objecttothis
ba6826a31e Merge pull request #2824 from opensourcepos/custom_image_upload_restrictions
Custom image upload restrictions
2020-05-08 23:59:22 +04:00
objecttothis
a154a8705c Fixed indentation issue
Fixed indentation issue
2020-05-08 23:58:40 +04:00
WShells
e6dad3eb81 Updating System Info Section (#2805)
* Updating Permissions Checkup & Fixed Clipboard issue on Mozilla and Other Browsers

* Re-ordering Tabs & Minor Changes

- Re-ordering Configuration Tabs, Merging Configuration/Settings tabs under Setup & Conf
- Minor Changes to Setup & Conf
- Translations Added

* Indent

* Minor Changes

* Dir Fix 

* Fixing Listing Sign

* Fixing Listing Sign in Warning messages
2020-05-08 20:14:48 +03:00
objecttothis
b3b7b227a9 Fixed problem with Images not deleting 2020-05-08 16:52:35 +04:00
objecttothis
f4a941e209 Removed duplicate variable 2020-05-08 16:08:49 +04:00
objecttothis
75f45bdb47 Corrected variable names 2020-05-08 16:04:37 +04:00
objecttothis
8a9edb8963 Removing variable not yet merged into the master from another PR 2020-05-08 16:02:02 +04:00
WShells
6f78672f82 Avatar Permissions
Editing Avatar file permissions to display 750 in place of 755 as our security check is set.
2020-05-08 14:59:42 +03:00
objecttothis
68a2489e13 Add Save logic
- Corrected minimum image size value in migration script
- Added save logic to save_general() in Config controller
- Added logic in the index() of the Config controller to properly prep
allowed_image_types data
2020-05-08 15:58:37 +04:00
objecttothis
9b18072f1e migration corrections 2020-05-08 14:23:12 +04:00
objecttothis
59142d9f69 Database logic additions
- Migration script to create default values
- Corrected naming of variables in general_config.php
- Replaced hardcoded values with db variables
2020-05-08 14:22:49 +04:00
objecttothis
a79e9dd4cb Changes to allow custom image restrictions in view.
- Added the fields to the general config view.
- Added Language lines to en_US and en_GB
- Corrected formatting of Columns in search suggestion layout
2020-05-08 13:15:13 +04:00
WShells
6eb5ed9381 Fixing TR Issues
Fixing TR Issues
2020-05-07 17:57:09 +03:00
Pete Ongsuwan
bfa42dba4a Translated using Weblate (Thai)
Currently translated at 92.8% (259 of 279 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/th/
2020-05-07 08:36:24 +02:00
Pete Ongsuwan
54d07e9063 Translated using Weblate (Thai)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/th/
2020-05-07 08:36:09 +02:00
Robby Triadi Susanto
e830595f43 Translated using Weblate (Indonesian)
Currently translated at 100.0% (78 of 78 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/id/
2020-05-05 17:47:31 +02:00
Pete Ongsuwan
79632731f8 Translated using Weblate (Thai)
Currently translated at 100.0% (21 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/th/
2020-05-05 17:47:31 +02:00
Robby Triadi Susanto
5ed8384d45 Translated using Weblate (Indonesian)
Currently translated at 100.0% (177 of 177 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/id/
2020-05-05 17:47:31 +02:00
Pete Ongsuwan
307407d732 Translated using Weblate (Thai)
Currently translated at 100.0% (109 of 109 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/th/
2020-05-05 17:47:31 +02:00
khao_lek
a0b885d5ca Translated using Weblate (Thai)
Currently translated at 98.5% (67 of 68 strings)

Translation: ospos/giftcards
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/giftcards/th/
2020-05-05 17:47:31 +02:00
Pete Ongsuwan
5bf2f2ec43 Translated using Weblate (Thai)
Currently translated at 86.7% (242 of 279 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/th/
2020-05-05 17:47:31 +02:00
Pete Ongsuwan
a5f9185308 Translated using Weblate (Thai)
Currently translated at 100.0% (36 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/th/
2020-05-05 17:47:31 +02:00
Pete Ongsuwan
c9535653c9 Translated using Weblate (Thai)
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/bootstrap_tables
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/bootstrap_tables/th/
2020-05-05 17:47:31 +02:00
Pete Ongsuwan
249aa091fd Translated using Weblate (Thai)
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/th/
2020-05-05 17:47:31 +02:00
Pete Ongsuwan
569e09e741 Translated using Weblate (Thai)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/th/
2020-05-05 17:47:31 +02:00
objecttothis
5a58af7a01 Removing LEFT JOIN of supplier table
per #2788 the Supplier table results from Item->get_all() and Item->get_info() are not used anywhere and causing a bug where the duplicate fields between the items table and the suppliers table (deleted and category) are returning just one value to the results.  This creates the undesired effect of expecting items.deleted and items.category but getting values from suppliers.deleted and suppliers.category.
2020-05-05 15:01:32 +02:00
objecttothis
9557f1c310 Forgotten commit
- This was correct in my code base.  I just forgot to commit it.
2020-05-05 14:47:42 +04:00
objecttothis
ee860e3b71 Disable fields on category_dropdown attribute view
- These changes prevent the type of attribute to be changed from
dropdown for categories as dropdown.
2020-05-05 14:06:11 +04:00
objecttothis
1dc3e15a55 Implement dropdown into item form view
- Created business logic in view to show dropdown if enabled
- Created business logic in controller to calculate key/value pairs of
dropdown
- Adjusted attribute model get_definition values to send values also if
definition_id is -1 or > 0 but not 0 which is what we are now using as
no definition instead of -1
2020-05-05 11:59:03 +04:00
objecttothis
d5d6d6668c Corrected errors 2020-05-04 17:19:03 +04:00
objecttothis
0051fa87ec Corrected errors 2020-05-04 17:18:48 +04:00
objecttothis
15a987cfd9 Adjust functions related to attributes 2020-05-04 17:00:02 +04:00
objecttothis
96bfa330ba Added the creation and removal of ospos_category attribute
- Added undelete function in Attribute model which could be useful for
adding the ability to restore attributes once deleted.
- Added business logic to Config controller save_general to
create/remove the attribute when the box is checked or unchecked.
2020-05-04 16:45:58 +04:00
objecttothis
231fe483d9 Add Config to enable show Category as dropdown
- Added the config item and label to view.
- Added the language line in en_US and en_GB.
- Added save business to Config controller.
- Fixed formatting issues in Config controller (removed tabs on blank
lines)
2020-05-04 15:23:50 +04:00
jekkos-t520
431074af58 Fix token lib test 2020-05-02 18:06:28 +02:00
objecttothis
06d73959af Merge pull request #2814 from opensourcepos/attr-dropdown-sort-patch
Added ORDER BY to sort various dropdowns
2020-05-01 17:54:01 +04:00
objecttothis
06eebc2ad3 Make DROPDOWN values sorted by alphabet. 2020-05-01 17:51:13 +04:00
objecttothis
42f8d71404 Added ORDER BY to sort various dropdowns
This sorts alphabetically:
- Attributes on the Attribute->Item view
- Dropdowns for adding attributes in the Attribute->Item view
- Dropdowns for the attribute values themselves.
2020-04-30 17:12:59 +04:00
Pete Ongsuwan
9b4621d3b8 Translated using Weblate (Thai)
Currently translated at 74.9% (209 of 279 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/th/
2020-04-29 12:39:02 +02:00
khao_lek
6b830d7acd Translated using Weblate (Thai)
Currently translated at 74.9% (209 of 279 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/th/
2020-04-29 12:38:56 +02:00
jekkos-t520
99fb55051a Divide quantity and price according to configured precision 2020-04-23 22:50:41 +02:00
jekkos-t520
6bd0d6277b Move parsing to token_lib 2020-04-23 22:50:41 +02:00
FrancescoUK
494b112424 Merge pull request #2806 from opensourcepos/values-keyword-patch-checkbox
Values is a mysql keyword
2020-04-22 18:55:59 +01:00
objecttothis
b0ba354b31 Values is a mysql keyword
Corrected the name of the alias from values to vals to prevent DB errors on conversion from DROPDOWN to CHECKBOX.
2020-04-22 13:37:31 +04:00
Weblate
e27c703026 Merge branch 'origin/master' into Weblate 2020-04-20 15:41:42 +02:00
khao_lek
822cd9f4ce Translated using Weblate (Thai)
Currently translated at 80.7% (42 of 52 strings)

Translation: ospos/receivings
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/receivings/th/
2020-04-20 15:41:41 +02:00
Emil Ebsen
a964c9b7d0 Added translation using Weblate (Danish) 2020-04-20 15:41:24 +02:00
WShells
7e49a7b82a Indent... 2020-04-18 05:56:44 +03:00
WShells
5fe3b2ff00 Updating Dir/File Location 2020-04-18 05:48:50 +03:00
WShells
c1b2e0cec6 Clipboard.js 2020-04-18 05:47:51 +03:00
WShells
11f2f1eafa Updating Copy to Clipboard
Updating Copy to Clipboard Function Supporting Mozilla Firefox Again
2020-04-18 05:46:18 +03:00
FrancescoUK
60d2dfcf1e Merge pull request #2791 from blutme/patch-1
loginButton Update login.php
2020-04-13 06:20:15 +01:00
blutme
64b2843cf6 loginButton Update login.php
the "loginButton" valule had no translation when changing languages.
2020-04-12 18:27:08 -05:00
Weblate
d716cf9a48 Merge branch 'origin/master' into Weblate 2020-04-10 19:00:22 +02:00
Emil Ebsen
01bb4e1b7a Added translation using Weblate (Danish) 2020-04-10 19:00:18 +02:00
WShells
3572ed1f86 Adding Andriux
...
2020-04-10 05:27:02 +03:00
objecttothis
66d426a1b6 Merge pull request #2739 from opensourcepos/pos_bool
Implement CHECKBOX attribute type
2020-04-08 15:37:12 +04:00
Weblate
62946906d8 Merge branch 'origin/master' into Weblate 2020-04-07 10:28:36 +02:00
Emil Ebsen
20e0eae9bd Translated using Weblate (Danish)
Currently translated at 99.6% (278 of 279 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/da/
2020-04-07 10:28:35 +02:00
Emil Ebsen
cf4a794c51 Translated using Weblate (Danish)
Currently translated at 97.2% (35 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/da/
2020-04-07 10:28:16 +02:00
JOHN PAPOULAKOS
748c48b43f Translated using Weblate (Greek)
Currently translated at 65.5% (19 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/el/
2020-04-07 10:28:01 +02:00
Emil Ebsen
03f2a0a921 Translated using Weblate (Danish)
Currently translated at 95.5% (64 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/da/
2020-04-07 10:27:46 +02:00
Emil Ebsen
d2409bf952 Added translation using Weblate (Danish) 2020-04-07 10:27:31 +02:00
jekkos-t520
783de92707 Revert migration version 2020-04-06 21:19:37 +02:00
jekkos-t520
5db1c7a813 Make migration logging more verbose 2020-04-04 17:03:21 +02:00
Emil Ebsen
5720f2b893 Added translation using Weblate (Danish) 2020-04-01 22:59:18 +02:00
Emil Ebsen
5286f80748 Added translation using Weblate (Danish) 2020-04-01 17:51:04 +02:00
Emil Ebsen
8a19bf3f4a Added translation using Weblate (Danish) 2020-03-31 19:41:34 +02:00
Emil Ebsen
c2a13fce9c Added translation using Weblate (Danish) 2020-03-28 17:11:15 +01:00
Emil Ebsen
b1973f26c9 Added translation using Weblate (Danish) 2020-03-27 14:46:13 +01:00
objecttothis
b5265870be More descriptive alias 2020-03-24 14:21:57 +04:00
objecttothis
4584b7eace Final indentation and formatting fixes 2020-03-24 14:17:36 +04:00
objecttothis
8a0c88b11c More indentation corrections 2020-03-24 14:13:08 +04:00
objecttothis
3281fc9bb0 Correct indentation problems 2020-03-24 14:04:04 +04:00
objecttothis
971ae5ec19 Correcting indentation problems 2020-03-24 13:18:35 +04:00
objecttothis
fb9fec1a10 Merge branch 'master' into pos_bool 2020-03-18 16:19:45 +04:00
objecttothis
c4c475b51f Updated CSV import to handle checkboxes
0, FALSE values create attributes marked as "unchecked"
NULL, "" and spaces do not create an attribute
1, TRUE and ANY other value creates an attribute and marks as checked.

Blank lines in CSV files are skipped with no error.
2020-03-18 15:49:49 +04:00
Emil Ebsen
e7ec8aa49f Added translation using Weblate (Danish) 2020-03-16 13:56:49 +01:00
Weblate
1be27549df Merge branch 'origin/master' into Weblate 2020-03-16 13:35:34 +01:00
khao_lek
8e979deb99 Translated using Weblate (Thai)
Currently translated at 68.4% (191 of 279 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/th/
2020-03-16 13:35:33 +01:00
Emil Ebsen
5ba9746264 Translated using Weblate (Danish)
Currently translated at 50.0% (18 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/da/
2020-03-16 13:35:20 +01:00
Emil Ebsen
20e4040d02 Added translation using Weblate (Danish) 2020-03-16 13:35:03 +01:00
FrancescoUK
425bee0ba1 Merge pull request #2764 from opensourcepos/fix-attribute-search
Fix attribute search (#2723)
2020-03-14 07:22:04 +00:00
FrancescoUK
5fe7186571 Merge pull request #2763 from opensourcepos/currency-format-test
Add unit test for locale_helper (#2748)
2020-03-14 07:20:59 +00:00
FrancescoUK
3382610871 Merge pull request #2760 from opensourcepos/attribute-colon-patch
Removing the restriction for colons in the name
2020-03-14 07:18:44 +00:00
jekkos-t520
0f2bafc7dd Fix attribute search (#2723) 2020-03-14 01:44:08 +01:00
jekkos-t520
ea85a85518 Add unit test for locale_helper (#2748) 2020-03-13 23:12:56 +01:00
jekkos
531035fef2 Update invalid chars 2020-03-13 22:41:42 +01:00
FrancescoUK
1d39ec3aa5 Merge pull request #2762 from opensourcepos/amp-attribute-bug-patch
Correct a bug causing & to break in POST
2020-03-13 18:11:24 +00:00
objecttothis
ecb21d2d5e Same correction for removing attribute value 2020-03-13 16:38:18 +04:00
objecttothis
a2a5db8901 Correct a bug causing & to break in POST
See #2758 for details
2020-03-13 16:32:39 +04:00
objecttothis
04ade7ab0b Removing the restriction for colons in the name
Please see #2665
2020-03-13 13:22:23 +04:00
Weblate
e579029ded Merge branch 'origin/master' into Weblate 2020-03-11 17:26:52 +01:00
Emil Ebsen
be06cec80d Translated using Weblate (Danish)
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/bootstrap_tables
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/bootstrap_tables/da/
2020-03-11 17:26:50 +01:00
Emil Ebsen
ba1ef472e6 Added translation using Weblate (Danish) 2020-03-11 17:26:34 +01:00
jekkos-t520
45894857a6 Fix tests 2020-03-11 00:46:46 +01:00
jekkos-t520
4f60465fa0 Revert barcode rework 2020-03-11 00:15:37 +01:00
objecttothis
cefd287668 Resolve bug not updating attributes correctly
Prior to this fix, if the attribute was of DECIMAL or DATE type and the action was an UPDATE, then it would try to update the attribute_value, not the corresponding attribute_decimal or attribute_date.
2020-03-10 09:21:09 +01:00
Weblate
009905e405 Merge branch 'origin/master' into Weblate 2020-03-09 22:48:34 +01:00
Emin Tufan Çetin
bc38e94f42 Translated using Weblate (Turkish)
Currently translated at 100.0% (78 of 78 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/tr/
2020-03-09 22:48:34 +01:00
Johntini
ff8625fbe7 Translated using Weblate (Spanish)
Currently translated at 100.0% (78 of 78 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/es/
2020-03-09 22:48:20 +01:00
Qbin
a5440f0443 Translated using Weblate (Chinese (Simplified))
Currently translated at 42.3% (33 of 78 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/zh_Hans/
2020-03-09 22:48:06 +01:00
khao_lek
5692ae4902 Translated using Weblate (Thai)
Currently translated at 84.1% (149 of 177 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/th/
2020-03-09 22:47:43 +01:00
Johntini
1cf5cbadd0 Translated using Weblate (Spanish)
Currently translated at 100.0% (177 of 177 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/es/
2020-03-09 22:47:35 +01:00
Qbin
82351243f9 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.0% (51 of 52 strings)

Translation: ospos/receivings
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/receivings/zh_Hans/
2020-03-09 22:47:20 +01:00
Qbin
d47e687337 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/zh_Hans/
2020-03-09 22:47:04 +01:00
khao_lek
3700674045 Translated using Weblate (Thai)
Currently translated at 100.0% (35 of 35 strings)

Translation: ospos/employees
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/employees/th/
2020-03-09 22:46:50 +01:00
Johntini
b646e78ba6 Translated using Weblate (Spanish)
Currently translated at 100.0% (278 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/es/
2020-03-09 22:46:35 +01:00
Emil Ebsen
b1cb951a9e Translated using Weblate (Danish)
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/da/
2020-03-09 22:46:21 +01:00
Jintao-Yao
f30e085d78 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/zh_Hans/
2020-03-09 22:46:13 +01:00
khao_lek
91c6508317 Translated using Weblate (Thai)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/th/
2020-03-09 22:46:00 +01:00
Qbin
d341f1987a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/zh_Hans/
2020-03-09 22:45:52 +01:00
Emil Ebsen
34b7e68f04 Added translation using Weblate (Danish) 2020-03-09 22:45:33 +01:00
jekkos-t520
858320fe20 Disable attribute sort (#2722) 2020-03-09 19:54:14 +01:00
jekkos-t520
4300f0a3c6 Rework barcode format parser 2020-03-08 20:15:22 +01:00
jekkos-t520
7c33159a38 Fix config.php in testing mode 2020-03-07 15:21:45 +01:00
jekkos-t520
9583483543 Update after_success line 2020-03-07 12:59:07 +01:00
jekkos
ba19bc5ad6 Update INSTALL.md 2020-03-07 12:51:28 +01:00
jekkos
a9b63fa360 Update INSTALL.md 2020-03-07 12:50:07 +01:00
jekkos-t520
dbe525a724 Run regular container build before push 2020-03-07 00:13:41 +01:00
jekkos-t520
7a1891e5e8 Try to fix docker push (#2751) 2020-03-06 23:52:48 +01:00
jekkos-t520
c6048c8461 Set global variables in .travis.env 2020-03-06 23:36:01 +01:00
jekkos-t520
1c76edfc01 Fix config.php (#2751) 2020-03-06 23:22:34 +01:00
jekkos-t520
eae2dd483b Remove hebrew (no more official CI support) 2020-03-06 23:00:46 +01:00
jekkos-t520
a8d0a376f3 Remove failing test + fetch script from github 2020-03-06 21:32:51 +01:00
jekkos-t520
be2ff4bee4 Don't expose port + set mysql hostname 2020-03-06 21:32:51 +01:00
jekkos-t520
609cb14cda Upgrade compose version 2020-03-06 21:32:51 +01:00
jekkos-t520
2d57326779 Run tests using travis-CI 2020-03-06 21:32:51 +01:00
jekkos-t520
2eec0ae6f0 Fix unit test 2020-03-06 21:32:51 +01:00
jekkos-t520
99bd6570b9 Load testing dotenv if environment is set 2020-03-06 21:32:51 +01:00
jekkos-t520
2110692664 Overwrite backupGlobals + base_url generation in testing mode 2020-03-06 21:32:51 +01:00
jekkos-t520
bc4a5570a5 Disable globals + fixup base_url 2020-03-06 21:32:51 +01:00
jekkos-t520
d8f784c3f0 Align mariadb versions for compose files 2020-03-06 21:32:51 +01:00
jekkos-t520
7d94ba7817 Make multistage docker build 2020-03-06 21:32:51 +01:00
FrancescoUK
f3e87d3c3c Revert change causing issues with Detailed Transactions 2020-03-06 19:56:48 +00:00
Weblate
f4487947c5 Merge branch 'origin/master' into Weblate 2020-03-02 22:10:46 +01:00
Qbin
72915d84ef Translated using Weblate (Chinese (Simplified))
Currently translated at 66.1% (117 of 177 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/zh_Hans/
2020-03-02 22:10:45 +01:00
Qbin
62eae20cfa Translated using Weblate (Chinese (Simplified))
Currently translated at 55.7% (29 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/zh_Hans/
2020-03-02 22:10:19 +01:00
Thomas Arleth Pedersen
3e698f96dc Added translation using Weblate (Danish) 2020-03-02 22:09:56 +01:00
objecttothis
ea7cb48f1c CHECKBOX Attribute type
Conversion from DROPDOWN or TEXT logic
2020-03-02 14:17:48 +04:00
FrancescoUK
cdaf88ef28 Fix Employee autocomplete bug (#2736) 2020-03-01 17:34:39 +00:00
jekkos
822b7211ec Install dev dependencies again 2020-02-28 15:36:23 +01:00
objecttothis
d7a59221fc Fix problem with unchecked attributes
Previously, if the attribute was unchecked, the form wouldn't submit the
attribute and the model/controller would delete the attribute_link from
the item.  A hidden input type with value 0 occuring before the checkbox
fixes this problem.
2020-02-27 12:24:04 +04:00
jekkos-t520
b8174a85ee Move dotenv to depdencies (#2737) 2020-02-26 23:41:33 +01:00
jekkos-t520
519242aead Set copy permissions to 775 2020-02-25 22:39:17 +01:00
objecttothis
ff79b73e34 Implement CHECKBOX attribute type
Attribute Configuration view
Attributes section of item management view
Attributes section of CSV item import
2020-02-25 15:44:49 +04:00
Weblate
c8b49de7d1 Merge branch 'origin/master' into Weblate 2020-02-24 22:26:53 +01:00
Emin Tufan Çetin
cd9e05dac1 Translated using Weblate (Turkish)
Currently translated at 100.0% (177 of 177 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/tr/
2020-02-24 22:26:52 +01:00
Fredrik Angell Moe
1488453ffa Added translation using Weblate (Norwegian Bokmål) 2020-02-24 22:26:34 +01:00
FrancescoUK
c5838ba098 Merge pull request #2727 from opensourcepos/add_tax_group_constraint
Add tax group constraint
2020-02-23 17:51:39 +00:00
jekkos-t520
b88b60597b Disable tests in build 2020-02-22 01:14:32 +01:00
jekkos-t520
3ceb2569cf Use private docker buildbox 2020-02-22 01:08:30 +01:00
jekkos
556335918b Do not install dev dependencies 2020-02-21 22:41:02 +01:00
FrancescoUK
7145ad9eec Fix Travis composer docker error (#2729) 2020-02-18 21:03:06 +00:00
SteveIreland
57dc2d2b11 Add unique contraint to tax group 2020-02-16 21:08:58 -05:00
FrancescoUK
bf88927e66 Fix README sentence 2020-02-16 14:00:40 +00:00
FrancescoUK
efd53cbccf Add Employee name to suspended form (#2678) 2020-02-16 13:46:25 +00:00
FrancescoUK
e0620e1a3e Add more onClick select the text content 2020-02-15 22:44:03 +00:00
FrancescoUK
622fdc27aa Fix detailed reports error with attributes (#2721) 2020-02-15 22:01:51 +00:00
Emin Tufan Çetin
7a7d1ed44e Translated using Weblate (Turkish)
Currently translated at 100.0% (176 of 176 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/tr/
2020-02-15 01:18:50 +01:00
Josué Arreola
161bbb4e07 Translated using Weblate (Spanish (Mexico))
Currently translated at 98.8% (174 of 176 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/es_MX/
2020-02-15 01:18:50 +01:00
Josué Arreola
035f2b7982 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (19 of 19 strings)

Translation: ospos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/es_MX/
2020-02-15 01:18:50 +01:00
Nguyen Tuan Anh
4234c4bc3a Translated using Weblate (Vietnamese)
Currently translated at 99.2% (277 of 279 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/vi/
2020-02-15 01:18:50 +01:00
jekkos
fa9f0ade55 Don't close bug tickets direclty 2020-02-15 01:04:00 +01:00
jekkos
0bbb6adaba Add stale bot configuration 2020-02-15 01:00:37 +01:00
FrancescoUK
8452959388 Merge pull request #2720 from opensourcepos/favicon.ico-correction-patch
uploaded the png when I should have uploaded the ico
2020-02-12 15:21:13 +00:00
objecttothis
d1ba4bc875 corrected favicon.ico 2020-02-12 18:03:17 +04:00
objecttothis
fbd895d67c uploaded the png when I should have uploaded the ico 2020-02-12 18:01:24 +04:00
FrancescoUK
ca2907d6a6 Merge pull request #2708 from opensourcepos/fix-inv-summary-regression
Fix inventory summary regression (#2702)
2020-02-05 20:54:41 +00:00
FrancescoUK
6b07d8ee21 Fix wrong tax amount with tax included 2020-02-04 21:25:37 +00:00
jekkos
8d97efd52d Fix inventory summary regression (#2702) 2020-02-04 18:07:52 +01:00
FrancescoUK
864b024f31 Merge pull request #2709 from opensourcepos/fix-location-permissions
Check if grant for module exists (#2702)
2020-01-31 06:12:20 +00:00
jekkos
8d6a23d0e7 Check if grant for module exists (#2702) 2020-01-30 08:56:39 +01:00
jekkos
4722a5600f Do not show deleted items in low inventory report (#2702) 2020-01-29 23:26:08 +01:00
FrancescoUK
aba9c2bc30 Fix Customer delete issue 2020-01-26 09:12:02 +00:00
FrancescoUK
dea21f6d38 Revert "set customer date to be the first sale one if time 0"
This reverts commit 3cb1bf6b87.
2020-01-25 23:27:22 +00:00
FrancescoUK
3cb1bf6b87 set customer date to be the first sale one if time 0 2020-01-25 23:22:06 +00:00
FrancescoUK
dfe66e8083 Fix Customer delete error 2020-01-25 21:11:30 +00:00
FrancescoUK
285b66406b Fix Sale_lib error with PHP 7.2 (#2648) 2020-01-25 20:57:43 +00:00
FrancescoUK
99d861535e Add allow sales change price permission (#2653) 2020-01-25 17:22:26 +00:00
FrancescoUK
ba40783017 Fix graphical payment report bug 2020-01-22 22:10:56 +00:00
FrancescoUK
c871c68aeb Fix payment dates not being set correctly 2020-01-19 23:02:26 +00:00
FrancescoUK
6e523a30ab Database migration minor fixes 2020-01-19 22:45:17 +00:00
FrancescoUK
7739994eda Minor indentation adjustment 2020-01-19 20:51:41 +00:00
FrancescoUK
5007410c1a Change Employee input type in Sales edit form 2020-01-19 20:32:57 +00:00
FrancescoUK
b4eabd2265 Fix missing cash refund in sale edit form 2020-01-19 18:24:11 +00:00
FrancescoUK
40d8ea0268 Replace serial number with item_number (barcode) in detailed reports 2020-01-18 15:32:12 +00:00
jekkos
0de4e51c41 Fix item bulk creation 2020-01-17 20:52:21 +01:00
Trần Ngọc Quân
6c6c18418e Translated using Weblate (Vietnamese)
Currently translated at 40.2% (31 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/vi/
2020-01-17 13:49:56 +01:00
Emin Tufan Çetin
2f245b0c73 Translated using Weblate (Turkish)
Currently translated at 100.0% (77 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/tr/
2020-01-17 13:49:48 +01:00
Trần Ngọc Quân
1337e88191 Translated using Weblate (Vietnamese)
Currently translated at 90.4% (19 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/vi/
2020-01-17 13:49:33 +01:00
Trần Ngọc Quân
6ad6483e3a Translated using Weblate (Vietnamese)
Currently translated at 98.2% (172 of 175 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/vi/
2020-01-17 13:49:20 +01:00
Emin Tufan Çetin
afa13473ed Translated using Weblate (Turkish)
Currently translated at 100.0% (175 of 175 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/tr/
2020-01-17 13:49:12 +01:00
Trần Ngọc Quân
4e26567bee Translated using Weblate (Vietnamese)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/receivings
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/receivings/vi/
2020-01-17 13:48:58 +01:00
Emin Tufan Çetin
d0ac084cac Translated using Weblate (Turkish)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/receivings
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/receivings/tr/
2020-01-17 13:48:51 +01:00
Trần Ngọc Quân
bee6e4d2a9 Translated using Weblate (Vietnamese)
Currently translated at 94.8% (37 of 39 strings)

Translation: ospos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/vi/
2020-01-17 13:48:36 +01:00
Emin Tufan Çetin
a6c76ae0e4 Translated using Weblate (Turkish)
Currently translated at 100.0% (39 of 39 strings)

Translation: ospos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/tr/
2020-01-17 13:48:30 +01:00
Trần Ngọc Quân
bf0875be45 Translated using Weblate (Vietnamese)
Currently translated at 99.0% (108 of 109 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/vi/
2020-01-17 13:48:15 +01:00
Emin Tufan Çetin
74585ff97d Translated using Weblate (Turkish)
Currently translated at 100.0% (33 of 33 strings)

Translation: ospos/item_kits
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/item_kits/tr/
2020-01-17 13:48:01 +01:00
Trần Ngọc Quân
81ea7ab872 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (19 of 19 strings)

Translation: ospos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/vi/
2020-01-17 13:47:46 +01:00
Trần Ngọc Quân
4b6fd69e3c Translated using Weblate (Vietnamese)
Currently translated at 100.0% (44 of 44 strings)

Translation: ospos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/vi/
2020-01-17 13:47:31 +01:00
Trần Ngọc Quân
bc4266e9ab Translated using Weblate (Vietnamese)
Currently translated at 85.7% (6 of 7 strings)

Translation: ospos/enum
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/enum/vi/
2020-01-17 13:47:17 +01:00
Emin Tufan Çetin
d6147b4292 Translated using Weblate (Turkish)
Currently translated at 100.0% (7 of 7 strings)

Translation: ospos/enum
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/enum/tr/
2020-01-17 13:47:11 +01:00
Emin Tufan Çetin
84ef3e6c3d Translated using Weblate (Turkish)
Currently translated at 100.0% (279 of 279 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/tr/
2020-01-17 13:46:56 +01:00
jekkos
b4cde57036 Translated using Weblate (Flemish)
Currently translated at 100.0% (279 of 279 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/nl_BE/
2020-01-17 13:46:47 +01:00
Emin Tufan Çetin
4c3551909f Translated using Weblate (Turkish)
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/tr/
2020-01-17 13:46:34 +01:00
Trần Ngọc Quân
2075f3c717 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/vi/
2020-01-17 13:46:18 +01:00
FrancescoUK
d08381850d Merge pull request #2668 from opensourcepos/fix-attr-default-date
Use today as default date in DATETIME attribute (#2666)
2020-01-12 22:13:59 +00:00
FrancescoUK
af2fd78348 Fix Graphical Summary Payment report 2020-01-12 20:28:55 +00:00
FrancescoUK
60b9069a60 Fix Inventory Summary wrong filters input 2020-01-12 20:28:55 +00:00
FrancescoUK
472e15ab0a Add detailed supplier report 2020-01-12 20:28:55 +00:00
FrancescoUK
bdddb945f0 Reports minor fixes 2020-01-12 20:28:55 +00:00
jekkos
615038ef38 Change mktime() with time() (#2666) 2020-01-11 20:08:45 +01:00
Emin Tufan Çetin
ef661e52e7 Translated using Weblate (Turkish)
Currently translated at 100.0% (175 of 175 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/tr/
2020-01-11 18:57:53 +01:00
Robby Triadi Susanto
bd52f0b004 Translated using Weblate (Indonesian)
Currently translated at 100.0% (175 of 175 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/id/
2020-01-11 18:57:53 +01:00
Mohammed Bensoltana
8ec90d3b40 Translated using Weblate (French)
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/fr/
2020-01-11 18:57:53 +01:00
Mohammed Bensoltana
2aee09d441 Translated using Weblate (French)
Currently translated at 98.0% (51 of 52 strings)

Translation: ospos/receivings
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/receivings/fr/
2020-01-11 18:57:53 +01:00
Emin Tufan Çetin
35a6095d30 Translated using Weblate (Turkish)
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/tr/
2020-01-11 18:57:53 +01:00
Mohammed Bensoltana
23a251aa77 Translated using Weblate (French)
Currently translated at 87.5% (7 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/fr/
2020-01-11 18:57:53 +01:00
justln1113
48852f0c3f Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (2 of 2 strings)

Translation: ospos/error
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/error/zh_Hant/
2020-01-11 18:57:53 +01:00
Emin Tufan Çetin
42ffe87bf5 Translated using Weblate (Turkish)
Currently translated at 100.0% (20 of 20 strings)

Translation: ospos/datepicker
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/datepicker/tr/
2020-01-11 18:57:53 +01:00
Emin Tufan Çetin
2ba61fab9d Translated using Weblate (Turkish)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/tr/
2020-01-11 18:57:53 +01:00
Emin Tufan Çetin
1fc634214f Translated using Weblate (Turkish)
Currently translated at 100.0% (279 of 279 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/tr/
2020-01-11 18:57:53 +01:00
luisgarciadiaz
cec35683f4 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (278 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/es_MX/
2020-01-11 18:57:53 +01:00
Robby Triadi Susanto
d4b2b768d3 Translated using Weblate (Indonesian)
Currently translated at 100.0% (279 of 279 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/id/
2020-01-11 18:57:53 +01:00
Mohammed Bensoltana
a71226e995 Translated using Weblate (French)
Currently translated at 93.5% (261 of 279 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/fr/
2020-01-11 18:57:53 +01:00
Emin Tufan Çetin
3cec08c734 Translated using Weblate (Turkish)
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/tr/
2020-01-11 18:57:53 +01:00
justln1113
cccc72d0d8 Translated using Weblate (Chinese (Traditional))
Currently translated at 6.8% (2 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/zh_Hant/
2020-01-11 18:57:53 +01:00
Emin Tufan Çetin
bf19f13d4c Translated using Weblate (Turkish)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/tr/
2020-01-11 18:57:53 +01:00
luisgarciadiaz
0d7d8ddee2 Translated using Weblate (Spanish)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/es/
2020-01-11 18:57:53 +01:00
jekkos
de6a547272 Use today as default date in DATETIME attribute (#2666) 2020-01-09 20:24:32 +01:00
FrancescoUK
2e1c798c6e Merge pull request #2662 from andriux1990/master
More select onClick
2020-01-04 15:03:54 +00:00
FrancescoUK
26afd63e39 Revert permission change, retain rest of updates. 2020-01-04 15:01:23 +00:00
andriux1990
f8ef88362d disable edit price to sales employees 2020-01-04 06:32:37 -06:00
FrancescoUK
ae445c8ece Merge pull request #2660 from opensourcepos/payments-for-invoice-email
Add payments to emailed invoice and fix issue with unsupported fonts
2020-01-04 10:41:50 +00:00
FrancescoUK
351bc544ee Fixed indentation 2020-01-04 10:38:31 +00:00
SteveIreland
5dfe0c237f Add payments to emailed invoice and fix issue with unsupported fonts 2020-01-03 21:01:07 -05:00
FrancescoUK
3b628bed45 Prepare Release 3.3.2 2020-01-03 22:38:57 +00:00
FrancescoUK
a081b72916 Fix issue with POS transaction return when Items are deleted (#2659) 2020-01-03 21:56:43 +00:00
FrancescoUK
44c1e8ce69 Merge pull request #2658 from opensourcepos/fix_full_group_by
Fix item + item kits using only_full_group_by
2020-01-03 18:16:51 +00:00
jekkos
d52c16fbba Fix item form refresh (#2538) 2020-01-03 14:26:11 +01:00
jekkos
2351ced921 Add aggregate to fix only_full_group_by (#2538) 2020-01-03 09:13:51 +01:00
Awadhoot Jog
afef8ff4a3 use github raw urls
curl fetches html content for non-raw urls
2020-01-03 09:10:01 +01:00
jekkos
f9da801f06 Add aggregate to fix only_full_group_by (#2538) 2020-01-03 00:16:34 +01:00
FrancescoUK
0c3e7be420 Merge pull request #2633 from opensourcepos/decimal_parsing_fix
Expand flexibility of parse_decimal function
2020-01-02 17:03:32 +00:00
jekkos
43420f02f2 Codestyle remarks 2020-01-02 12:40:31 +01:00
FrancescoUK
47b1b7f519 Update composer libraries 2019-12-30 12:01:01 +00:00
FrancescoUK
91d72c0265 Merge pull request #2641 from opensourcepos/csrf-cookie-prefix
Add cookie_prefix to csrf cookie name (#2638)
2019-12-30 11:47:37 +00:00
jekkos
5a98b9c3fd Fix portugese language (#2632) 2019-12-30 12:46:07 +01:00
jekkos
fd3b48ba43 Add cookie_prefix to csrf cookie name (#2638) 2019-12-30 11:29:17 +01:00
FrancescoUK
e03ee00e61 Merge pull request #2639 from opensourcepos/refresh-after-import
Refresh tables after import + close after invoice email (#478)
2019-12-29 20:31:23 +00:00
jekkos
685f38e6a0 Bump to CI 3.1.11 (fixes bug with captcha generation) 2019-12-29 19:02:44 +01:00
andriux1990
2641a34a1e onclick 2019-12-29 17:55:35 +01:00
andriux1990
59bf8d0a45 item selection 2019-12-29 17:55:35 +01:00
jekkos
b8f255cc50 Refresh tables after import + close after invoice email (#478) 2019-12-29 17:50:17 +01:00
andriux1990
fae67be8c8 onclick 2019-12-24 07:18:10 -06:00
SteveIreland
230d822fce Add support to parse_decimal function for tax_decimals and quantity_decimals parsing. 2019-12-22 11:04:01 -05:00
andriux1990
5088362430 item selection 2019-12-15 22:02:09 -06:00
FrancescoUK
970d2d1f42 Bump version to 3.4.0 2019-12-14 18:42:40 +00:00
FrancescoUK
c786d4e0ab Fix certbot github path (#2598) 2019-12-14 17:17:40 +00:00
FrancescoUK
dcb130c1c6 Fix certbot github path (#2598) 2019-12-14 17:01:04 +00:00
Ivailo Kamenov
39d70f17b3 Translated using Weblate (Bulgarian)
Currently translated at 94.8% (166 of 175 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/bg/
2019-12-01 01:48:30 +01:00
Jintao-Yao
b7443be756 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/zh_Hans/
2019-12-01 01:48:30 +01:00
Jintao-Yao
f75d0af6df Translated using Weblate (Chinese (Simplified))
Currently translated at 61.6% (172 of 279 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/zh_Hans/
2019-12-01 01:48:30 +01:00
Jintao-Yao
420957ecb7 Translated using Weblate (Chinese (Simplified))
Currently translated at 96.5% (28 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/zh_Hans/
2019-12-01 01:48:30 +01:00
Jintao-Yao
fde61ae0d6 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/zh_Hans/
2019-12-01 01:48:30 +01:00
FrancescoUK
644694a9f2 Merge pull request #2611 from opensourcepos/3.3.1_patch_csv_import_BOM_check
3.3.1 patch csv import bom check
2019-11-26 19:03:11 +00:00
objecttothis
05c022c3f0 Refactoring variables and replacing Excel with CSV 2019-11-26 14:40:41 +04:00
objecttothis
619742de4e Refactoring files and variable names in Customer/People 2019-11-25 17:27:59 +04:00
objecttothis
6294079ce3 File rename and variable refactor to correct error in import. 2019-11-25 15:51:31 +04:00
objecttothis
35a59fc400 refactor variable names to reflect Excel --> CSV wording 2019-11-18 14:39:21 +04:00
objecttothis
0180de5490 Correctly check for BOM and skip if exists
No characters are skipped if BOM doesn't exist
2019-11-18 14:30:18 +04:00
objecttothis
a26ae1a9b3 Refactor to reflect Excel --> CSV wording change 2019-11-18 14:30:18 +04:00
Jens
dd7495a04c Translated using Weblate (Dutch)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/receivings
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/receivings/nl/
2019-11-16 16:36:15 +01:00
Jens
a59236f4ae Translated using Weblate (Dutch)
Currently translated at 100.0% (20 of 20 strings)

Translation: ospos/datepicker
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/datepicker/nl/
2019-11-16 16:36:00 +01:00
Jens
ab23e01ef8 Translated using Weblate (Dutch)
Currently translated at 11.8% (33 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/nl/
2019-11-16 16:35:47 +01:00
Jens
a52d923f79 Translated using Weblate (Dutch)
Currently translated at 47.7% (32 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/nl/
2019-11-16 16:35:32 +01:00
Weblate
5c541fcc03 Merge branch 'origin/master' into Weblate 2019-11-14 22:08:14 +01:00
Israel Chavez
afba8b58a3 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (77 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/es_MX/
2019-11-14 22:08:13 +01:00
xarhang
2f755de206 Translated using Weblate (Lao)
Currently translated at 45.4% (35 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/lo/
2019-11-14 22:08:06 +01:00
numa-drrey
06506d2793 Translated using Weblate (German)
Currently translated at 100.0% (77 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/de/
2019-11-14 22:07:59 +01:00
wd-code
11a66b79b1 Translated using Weblate (French)
Currently translated at 100.0% (77 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/fr/
2019-11-14 22:07:52 +01:00
Lord Cold
782bfd23ad Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (21 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/es_MX/
2019-11-14 22:07:17 +01:00
EcuadorAmaLaVida
d3625c1b72 Translated using Weblate (Spanish)
Currently translated at 100.0% (21 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/es/
2019-11-14 22:07:06 +01:00
Daniel Millan
87ec999053 Translated using Weblate (Spanish)
Currently translated at 100.0% (21 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/es/
2019-11-14 22:07:06 +01:00
Andrea Mangini
5e074d2bef Translated using Weblate (Italian)
Currently translated at 100.0% (21 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/it/
2019-11-14 22:06:58 +01:00
wd-code
bbc12bb026 Translated using Weblate (French)
Currently translated at 90.4% (19 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/fr/
2019-11-14 22:06:48 +01:00
amir alcocer
9b15d1dcd1 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/es_MX/
2019-11-14 22:06:24 +01:00
Lord Cold
fa38bf747a Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/es_MX/
2019-11-14 22:06:21 +01:00
EcuadorAmaLaVida
a03c22cbac Translated using Weblate (Spanish)
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/es/
2019-11-14 22:06:13 +01:00
Andrea Mangini
e51f77d30e Translated using Weblate (Italian)
Currently translated at 98.8% (171 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/it/
2019-11-14 22:06:06 +01:00
numa-drrey
577394f167 Translated using Weblate (German)
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/de/
2019-11-14 22:05:59 +01:00
wd-code
c67af83de4 Translated using Weblate (French)
Currently translated at 93.0% (161 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/fr/
2019-11-14 22:05:52 +01:00
Remco Gerbrands
7e8014dd2e Translated using Weblate (Dutch)
Currently translated at 69.9% (121 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/nl/
2019-11-14 22:05:45 +01:00
numa-drrey
4600f4d9f2 Translated using Weblate (German)
Currently translated at 100.0% (128 of 128 strings)

Translation: ospos/reports
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/reports/de/
2019-11-14 22:04:57 +01:00
EcuadorAmaLaVida
bbd2c120f8 Translated using Weblate (Spanish)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/receivings
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/receivings/es/
2019-11-14 22:04:38 +01:00
EcuadorAmaLaVida
1036fcedd7 Translated using Weblate (Spanish)
Currently translated at 100.0% (109 of 109 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/es/
2019-11-14 22:04:23 +01:00
numa-drrey
47121d31d1 Translated using Weblate (German)
Currently translated at 100.0% (109 of 109 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/de/
2019-11-14 22:04:14 +01:00
Natig Asad
5c9414656b Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (109 of 109 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/az/
2019-11-14 22:04:06 +01:00
WebShells
7a7f0e34ea Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (109 of 109 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/ar_EG/
2019-11-14 22:03:58 +01:00
amir alcocer
ec2f825ceb Translated using Weblate (Spanish (Mexico))
Currently translated at 10.5% (2 of 19 strings)

Translation: ospos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/es_MX/
2019-11-14 22:03:42 +01:00
EcuadorAmaLaVida
5bdd249557 Translated using Weblate (Spanish)
Currently translated at 100.0% (19 of 19 strings)

Translation: ospos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/es/
2019-11-14 22:03:34 +01:00
Israel Chavez
8261a50365 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (44 of 44 strings)

Translation: ospos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/es_MX/
2019-11-14 22:03:13 +01:00
numa-drrey
a5e8665870 Translated using Weblate (German)
Currently translated at 100.0% (44 of 44 strings)

Translation: ospos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/de/
2019-11-14 22:03:04 +01:00
amir alcocer
01b3db39c4 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (2 of 2 strings)

Translation: ospos/error
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/error/es_MX/
2019-11-14 22:02:48 +01:00
amir alcocer
c989362875 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (7 of 7 strings)

Translation: ospos/enum
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/enum/es_MX/
2019-11-14 22:02:32 +01:00
numa-drrey
430cd13e09 Translated using Weblate (German)
Currently translated at 85.7% (6 of 7 strings)

Translation: ospos/enum
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/enum/de/
2019-11-14 22:02:23 +01:00
Israel Chavez
78a3724efe Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (35 of 35 strings)

Translation: ospos/employees
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/employees/es_MX/
2019-11-14 22:02:05 +01:00
Israel Chavez
6d23c1baf5 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (20 of 20 strings)

Translation: ospos/datepicker
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/datepicker/es_MX/
2019-11-14 22:01:49 +01:00
Israel Chavez
1d4d1e207e Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/es_MX/
2019-11-14 22:01:30 +01:00
EcuadorAmaLaVida
3cc5199e80 Translated using Weblate (Spanish)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/es/
2019-11-14 22:01:23 +01:00
wd-code
f350dac237 Translated using Weblate (French)
Currently translated at 92.3% (48 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/fr/
2019-11-14 22:01:15 +01:00
amir alcocer
ee4349fe8a Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (278 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/es_MX/
2019-11-14 22:01:01 +01:00
Lord Cold
96b755d2c6 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (278 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/es_MX/
2019-11-14 22:01:01 +01:00
EcuadorAmaLaVida
6b459ee78f Translated using Weblate (Spanish)
Currently translated at 100.0% (278 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/es/
2019-11-14 22:00:54 +01:00
numa-drrey
82f4694cd2 Translated using Weblate (German)
Currently translated at 100.0% (278 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/de/
2019-11-14 22:00:47 +01:00
Jens
156aa721fe Translated using Weblate (Dutch)
Currently translated at 3.5% (10 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/nl/
2019-11-14 22:00:40 +01:00
Haseeb
81f3e02c7b Translated using Weblate (Urdu (Pakistan))
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/ur_PK/
2019-11-14 22:00:26 +01:00
xarhang
4b42fd270b Translated using Weblate (Lao)
Currently translated at 51.7% (15 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/lo/
2019-11-14 22:00:12 +01:00
numa-drrey
6212595ab7 Translated using Weblate (German)
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/de/
2019-11-14 22:00:03 +01:00
Jens
bd353a3f99 Translated using Weblate (Dutch)
Currently translated at 79.3% (23 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/nl/
2019-11-14 21:59:50 +01:00
amir alcocer
03a2f5c06e Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/es_MX/
2019-11-14 21:59:37 +01:00
xarhang
e4972852c6 Translated using Weblate (Lao)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/lo/
2019-11-14 21:59:30 +01:00
numa-drrey
ad4cb84a0d Translated using Weblate (German)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/de/
2019-11-14 21:59:23 +01:00
wd-code
efc66bd1b9 Translated using Weblate (French)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/fr/
2019-11-14 21:59:14 +01:00
Remco Gerbrands
7e7622ceca Translated using Weblate (Dutch)
Currently translated at 46.2% (31 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/nl/
2019-11-14 21:59:07 +01:00
Remco Gerbrands
76607c99fd Translated using Weblate (Dutch)
Currently translated at 3.5% (10 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/nl/
2019-11-14 21:58:52 +01:00
FrancescoUK
75113388f5 Merge pull request #2609 from opensourcepos/3.3.1_patch_icon_logo_button_colors
3.3.1 patch icon logo button colors
2019-11-14 19:40:55 +00:00
objecttothis
68f573caba Correcting Blue background
Matching button and text background to new logo color
2019-11-14 18:10:43 +04:00
objecttothis
7a4193c4d5 Corrected Transparency
Corrected transparency on favicon.ico and logo.png
removed "OSPOS" lettering from favicon.ico since it was too small to see.
2019-11-14 17:58:15 +04:00
FrancescoUK
a923f279ff Merge pull request #2606 from bricas/master
type="username" is not valid html and breaks firefox autofill; changed to "text"
2019-11-13 07:58:51 +00:00
Brian Cassidy
a84b33d013 css fix 2019-11-12 18:49:35 -04:00
Brian Cassidy
80a512b9be type="username" is not valid html and breaks firefox autofill; changed to "text" 2019-11-12 15:30:20 -04:00
FrancescoUK
ed10104f98 Merge pull request #2603 from opensourcepos/fix_item_type_maintenance
Fix item type maintenance issue regardless.
2019-11-11 19:07:01 +00:00
SteveIreland
fffb70933d Fix item type maintenance issue regardless. 2019-11-10 19:40:57 -05:00
Weblate
bb4c79d975 Merge translations 2019-11-06 03:55:54 +01:00
FrancescoUK
281d2df621 Prepare release 3.3.1 2019-10-26 17:43:16 +01:00
FrancescoUK
ac1c6b2286 Minor fixes, add CI_ENV to docker-compose 2019-10-26 17:42:30 +01:00
Steve Ireland
a45ac78274 Merge pull request #2583 from opensourcepos/fix_locale_config_3
Fix numeric locale configuration.
2019-10-19 17:53:59 -04:00
SteveIreland
4c4725795c Fix numeric locale configuration. 2019-10-19 17:10:51 -04:00
FrancescoUK
907e42e46b Merge pull request #2581 from opensourcepos/fix_numeric_locale_config
Fix numeric locale configuration.
2019-10-17 06:43:24 +01:00
SteveIreland
d4c2693511 Fix numeric locale configuration. 2019-10-16 21:37:46 -04:00
FrancescoUK
eef7d65b5c Update Bootswatch themes to latest version 2019-10-13 21:29:40 +01:00
FrancescoUK
bdb3dbe0eb Merge pull request #2579 from opensourcepos/receipt_tax_indicator
Add a code to indicate a taxable item on a sales receipt
2019-10-11 06:31:36 +01:00
SteveIreland
61e28302ce Add a code to indicate a taxable item on a sales receipt 2019-10-11 00:10:13 -04:00
FrancescoUK
a56a4070a6 Revert "Fix "only_full_group_by" issue (#2538)"
This reverts commit 424eb4cf14.
2019-10-06 20:15:24 +01:00
FrancescoUK
69d57b3744 Merge pull request #2567 from opensourcepos/fix-initial-tax-config
Clear initial default for Cascade and Seq for Tax Config Tables
2019-10-06 18:54:31 +01:00
FrancescoUK
424eb4cf14 Fix "only_full_group_by" issue (#2538) 2019-10-06 18:43:58 +01:00
WShells
3a06f55db9 Update INSTALL.md 2019-10-06 00:31:24 +03:00
WShells
5fc20600e7 Removed breaks
Removed Line Breaks
2019-10-06 00:28:53 +03:00
SteveIreland
4a6f4e1f74 Clear initial default for Cascade and Seq for Tax Jurisdiction and Tax Category. 2019-10-03 22:28:30 -04:00
tuthanika
216396c94c Update attributes_lang.php (#2561)
VI Translations Added
2019-10-02 04:00:49 +03:00
FrancescoUK
19eb1cab59 Bump version to 3.3.1 to contain bug fixing 2019-10-01 20:09:55 +01:00
tuthanika
51ca6e92c7 Fix Colspan in receipt_short.php (#2557)
On Discounts: Columns deviation after adding a discounted amount to sales.
2019-10-01 13:22:02 +03:00
WShells
fd9d143269 Fix Graphical Summary 500 Internal Server Error
500 Internal Server Error Fix On Summary Graphical Reports Fix
2019-10-01 05:09:30 +03:00
WShells
0b9a767d9a Sectioning Fix
Sectioning Fix
2019-09-29 20:06:09 +03:00
WShells
a90f34d938 Added cPanel Auto Installer
For  VPS, Dedicated Servers, or Shared Hosting Installation running on cPanel with **SSH** access:

Stand-alone [WS-OSPOS-Installer](https://github.com/WebShells/WS-OSPOS-Installer.git), it will handle:

. 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.
2019-09-29 18:24:03 +03:00
WShells
53a1adca04 Added cPanel Auto Installer
For  VPS, Dedicated Servers, or Shared Hosting Installation running on cPanel with **SSH** access:

Stand-alone [OSPOS-Auto-Installer](https://github.com/WebShells/WS-OSPOS-Installer.git), it will handle:

. 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.
2019-09-29 18:19:03 +03:00
FrancescoUK
17b8cfd70c Add new docker installation guideline, update LICENSE 2019-09-29 13:35:35 +01:00
jekkos
8a8f708ff9 Travis: Try to find correct container name 2019-09-29 12:54:45 +02:00
jekkos
14dab2515f Travis: Tag container with correct name 2019-09-29 12:35:36 +02:00
jekkos
2d8bdae77a Remove docker tag after build 2019-09-29 11:09:02 +02:00
jekkos
79ca1ce58c Minor update Install + Readme 2019-09-29 01:35:37 +02:00
WShells
40036e6050 Added Fixed Sales Discount 2019-09-29 02:25:04 +03:00
WShells
6c1ccc6bac System Info
System Info For Issue Reporting
2019-09-28 23:33:10 +03:00
WShells
e8960c7398 System Info
Added system info for issue reporting for version 3.3.0 or higher.
2019-09-28 23:30:43 +03:00
FrancescoUK
27dd669579 Fix PHP version in INSTALL.md 2019-09-28 21:22:37 +01:00
FrancescoUK
8b8472b836 New logo and updated files to prepare for Release 3.3.0 2019-09-28 20:47:37 +01:00
FrancescoUK
b4ed7c925f Upgrade CodeIgniter to 3.1.11, LICENSE files and npm 2019-09-28 19:08:36 +01:00
FrancescoUK
8d699cc9ad Upgrade CodeIgniter to 3.1.11, LICENSE file and npm 2019-09-28 19:06:52 +01:00
FrancescoUK
d63eb47e63 Merge pull request #2550 from opensourcepos/3_3_0_validate_after_bulk
Trigger validation when creating items in bulk (#2521)
2019-09-25 21:08:17 +01:00
jekkos
0ca766e9c9 Trigger validation when creating items in bulk (#2521) 2019-09-25 00:17:55 +02:00
FrancescoUK
ad14936cf3 Merge pull request #2546 from opensourcepos/3.3.0_fix_barcode_import
Fix barcode import (#2515)
2019-09-23 08:43:56 +01:00
jekkos
55c86afcde Fix warning in development mode (#2476) 2019-09-23 07:55:44 +02:00
jekkos
e0cd10c8ec Fix barcode import (#2515) 2019-09-22 19:43:58 +02:00
FrancescoUK
4274321a3f Fix empty report issue (#2522) 2019-09-11 21:46:06 +01:00
Weblate
9bdebc6bdd Fix escape sequence in spanish 2019-09-11 09:36:36 +02:00
FrancescoUK
b4d860282b Merge pull request #2534 from WebShells/LB
EG to LB
2019-09-10 21:28:01 +01:00
WebShells
4f089aa68d Re-added EG
Re-added EG, need to be double checked to make sure it fits Egyptian Language. ( most probably 70% no differences in language ).
2019-09-10 20:08:03 +03:00
WebShells
59884e7f81 EG to LB
Although it fits for all arabic language countries, yet it's the most accurate locale to be used.
Most of AR Translation were made for LB language.
2019-09-10 16:51:46 +03:00
dimon daemon
d29d2e8bc4 Translated using Weblate (Russian)
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/ru/
2019-09-10 12:57:29 +02:00
FrancescoUK
64eb7abf2f Fix empty reports issue (#2522) 2019-09-09 22:11:38 +01:00
WShells
05dd216ad9 Update LICENSE 2019-09-09 01:06:25 +03:00
FrancescoUK
2c4c29e31d Merge pull request #2531 from opensourcepos/fix-cart-reseq
Remove the redundancy of cart resequencing for POS receipts.
2019-09-08 20:17:07 +01:00
SteveIreland
6ad3db7ef9 Remove the redundancy of cart resequencing for POS receipts. 2019-09-07 20:57:28 -04:00
FrancescoUK
4c80a97202 Merge pull request #2528 from mckaygerhard/feat-sumrep-inventorycatcolum1
added category column to the inventory summary report due huge produc… (#2526)
2019-09-07 19:00:47 +01:00
PICCORO Lenz McKAY
37189ba1f3 added category column to the inventory summary report due huge product data
closes https://github.com/opensourcepos/opensourcepos/issues/2526
2019-09-02 22:34:30 -04:30
jekkos
7ebae8ad8a Fix warning when opening attribute edit form 2019-08-11 17:22:47 +02:00
jekkos
8bca8fab53 Fix warning in dev mode (#2485) 2019-08-07 00:19:12 +02:00
jekkos
0d3a33f1ba Fix attribute visibility view if none selected (#2485) 2019-08-07 00:14:22 +02:00
jekkos
0a2894c582 Left join on attribute_values to show items with no value (#2485) 2019-08-04 22:29:44 +02:00
FrancescoUK
ac6d5eef46 Merge pull request #2496 from opensourcepos/dinner_table_fix
Improves the behavior of dinner table selection.
2019-07-22 18:17:23 +01:00
SteveIreland
f95d777dc2 Improves the behavior of dinner table selection. 2019-07-21 11:53:01 -04:00
FrancescoUK
fa71bc6ed6 Merge pull request #2490 from opensourcepos/3.3.0_patch_empty_reports
fix empty reports
2019-07-14 13:40:50 +01:00
objecttothis
f235cede08 Update date_input.php
Corrected this from 1 to 2.  'All' is counted in the array which means that if there is only one stock location, this dropdown will still appear.  Setting this to 2 means that the dropdown only shows when there is more than 1 stock location.
2019-07-12 15:16:21 +04:00
objecttothis
991830817e Create 20190712150200_fix_empty_reports.php
This corrects an error in a previous migration (2.3_to_2.3.1.sql) that assigned a null value to receivings_stock and sales_stock for the location_id when it should have been the location_id of that particular stock_location.
2019-07-12 15:05:14 +04:00
Weblate
929dc7fbb8 Merge branch 'origin/master' into Weblate 2019-07-10 12:20:26 +02:00
Francisco xyko
764b3d2a84 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/pt_BR/
2019-07-10 12:20:25 +02:00
Francisco xyko
a89cc74ba5 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (109 of 109 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/pt_BR/
2019-07-10 12:20:12 +02:00
FrancescoUK
7daa69db43 Merge pull request #2488 from opensourcepos/3.3.0_patch_datetime_to_date
3.3.0 patch datetime to date
2019-07-10 07:54:22 +01:00
objecttothis
8c173540e6 Update Attribute.php
changed DATETIME to DATE since constant name was changed but it wasn't changed here.
2019-07-09 18:05:23 +04:00
objecttothis
9297e73b69 Update locale_helper.php
Adding back in deleted method.
2019-07-09 18:03:28 +04:00
FrancescoUK
79e1ccc9a0 Add new languages to config selection list 2019-07-07 11:19:26 +01:00
Weblate
e275486efe Add th config 2019-07-06 14:10:09 +02:00
jekkos
7da7c0e16f Send back to bintray (#2464) 2019-07-04 19:30:50 +02:00
jekkos
abcf12c3d7 Change newlines into html breaks (invoice template) 2019-07-03 19:44:55 +02:00
jekkos
a45b8e2689 Keep history for downloads branch 2019-07-01 09:19:55 +02:00
Weblate
4269884008 Merge branch 'master' of https://github.com/opensourcepos/opensourcepos 2019-06-30 23:16:03 +02:00
jekkos
efd92fb94f Push to downloads branch instead 2019-06-30 23:00:41 +02:00
jekkos
4cecfb5079 Merge branch 'master' of https://github.com/opensourcepos/opensourcepos 2019-06-30 22:44:49 +02:00
jekkos
84a4f53aa0 Add repo name (#2464) 2019-06-30 22:43:17 +02:00
jekkos
8daab70725 Fix text attribute parsing (#2476) 2019-06-30 22:03:02 +02:00
jekkos
89654f8b00 Use underscors in .travis.yml (#2464) 2019-06-30 19:03:31 +02:00
jekkos
d8173e79e5 Fix dpl argument format 2019-06-30 18:44:21 +02:00
Weblate
7591b7418f Merge branch 'origin/master' into Weblate 2019-06-30 18:43:31 +02:00
Ho
f62c668c09 Translated using Weblate (Chinese (Traditional))
Currently translated at 6.4% (5 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/zh_Hant/
2019-06-30 18:43:26 +02:00
Ho
27b81de285 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (21 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/zh_Hant/
2019-06-30 18:43:13 +02:00
Ho
cd79cd16ac Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/zh_Hant/
2019-06-30 18:43:01 +02:00
Ho
d22dc1fa93 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/receivings
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/receivings/zh_Hant/
2019-06-30 18:42:47 +02:00
Ho
d865d64e4d Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (12 of 12 strings)

Translation: ospos/messages
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/messages/zh_Hant/
2019-06-30 18:42:35 +02:00
Ho
28885ed1e0 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/zh_Hant/
2019-06-30 18:42:07 +02:00
khao_lek
6c1853bdb5 Translated using Weblate (Thai)
Currently translated at 61.8% (172 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/th/
2019-06-30 18:41:52 +02:00
Ho
7d21e08e7d Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/bootstrap_tables
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/bootstrap_tables/zh_Hans/
2019-06-30 18:41:39 +02:00
Ho
09805d1fd0 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/zh_Hant/
2019-06-30 18:41:26 +02:00
jekkos
6817620808 Use sudo to move artifact 2019-06-30 17:52:42 +02:00
jekkos
cfe5a3c84e Enable attribute search for datetime (#2441) 2019-06-30 17:52:32 +02:00
jekkos
6167a164ad Keep artifact in the same folder 2019-06-30 17:38:25 +02:00
jekkos
6d6a983b9d Add before_deploy hook 2019-06-30 17:31:54 +02:00
jekkos
d0bf865e6b Use gh-pages brnach for deployment 2019-06-30 17:25:46 +02:00
Alex Garcia
7bb05a09d9 Translated using Weblate (Spanish (Mexico))
Currently translated at 96.1% (74 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/es_MX/
2019-06-27 21:14:07 +02:00
Trần Ngọc Quân
9d17cd1322 Translated using Weblate (Vietnamese)
Currently translated at 93.5% (102 of 109 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/vi/
2019-06-27 21:14:07 +02:00
Alex Garcia
c47b3aceaa Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (278 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/es_MX/
2019-06-27 21:14:07 +02:00
Trần Ngọc Quân
29e5a5959d Translated using Weblate (Vietnamese)
Currently translated at 44.8% (13 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/vi/
2019-06-27 21:14:07 +02:00
objecttothis
fe2b609446 Update LICENSE
Added copyright claim regarding my pull requests.
2019-06-26 12:14:41 +04:00
FrancescoUK
cfd1bd13e1 Merge pull request #2468 from opensourcepos/add-decimal-attrs-to-items
Add decimals to items search result + fix reports
2019-06-23 14:29:18 +01:00
FrancescoUK
1f2aa2708d Fix missing ) and minor change 2019-06-22 16:39:18 +01:00
jekkos
8ca5449b79 Add decimals to items search result + fix reports 2019-06-20 18:39:17 +02:00
FrancescoUK
54925b27a8 Merge pull request #2467 from opensourcepos/fix-payment-update
Fix a couple of issues with payment processing.
2019-06-20 04:27:23 +01:00
Steve Ireland
a34f017dbd Fix a couple of issues with payment processing. 2019-06-19 21:50:20 -04:00
Robby Triadi Susanto
5355b671fe Translated using Weblate (Indonesian)
Currently translated at 100.0% (109 of 109 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/id/
2019-06-18 23:14:48 +02:00
Robby Triadi Susanto
eea25b1e17 Translated using Weblate (Indonesian)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/id/
2019-06-18 23:14:48 +02:00
FrancescoUK
196573f49b Merge pull request #2410 from opensourcepos/letsencryptdocker
docker-compose with nginx reverse proxy and letsencrypt certbot
2019-06-16 14:46:59 +01:00
FrancescoUK
37e369ce46 Fix .env issue and add logs as volume 2019-06-16 14:14:37 +01:00
FrancescoUK
30d29f797e Upgrade PHP to 7.3 2019-06-16 14:14:37 +01:00
FrancescoUK
a3b117fcb3 Update docker-compose.dev and docker-compose.test 2019-06-16 14:14:37 +01:00
FrancescoUK
a7950e02fc docker-compose for nginx reverse proxy and letsencrypt certbot 2019-06-16 14:14:37 +01:00
FrancescoUK
0491c1888e Fix wrong Sale and Receivings receipt times 2019-06-16 14:12:12 +01:00
FrancescoUK
e173186109 Temporary fix sale form cash_refund crash, other minor code changes 2019-06-16 10:27:27 +01:00
FrancescoUK
3f9b8c59e1 Remove spurious system_info.php file (security) 2019-06-15 21:39:30 +01:00
FrancescoUK
4f78b1efab Fix datetime issues (#2319) and refactor code 2019-06-15 21:37:27 +01:00
FrancescoUK
6ef038d0ca Update composer libraries and License file 2019-06-15 11:53:00 +01:00
FrancescoUK
4aec3d04d6 Bump script date to follow the correct database migration order 2019-06-15 10:48:50 +01:00
FrancescoUK
01dfd023eb Merge pull request #2319 from opensourcepos/fix-attribute-datetime
Fix attribute datetime formatting
2019-06-15 10:32:22 +01:00
FrancescoUK
e60d2ab900 Merge pull request #2461 from opensourcepos/database-fixes-si
Database Fix
2019-06-15 10:10:01 +01:00
FrancescoUK
b4790334a6 Add ospos_expenses date index 2019-06-15 09:42:54 +01:00
FrancescoUK
4644dd2e46 MySQL queries consistency check 2019-06-15 09:39:08 +01:00
Steve Ireland
442af20815 Add missing database constraints. 2019-06-14 21:28:16 -04:00
FrancescoUK
cb3fd1f0eb Merge pull request #2462 from opensourcepos/patch-install-statistics-page
Update system_info.php
2019-06-13 21:23:54 +01:00
objecttothis
32a88098b0 Update system_info.php
Remove check for write permissions on import_items.csv file since the file no longer exists and is generated on-the-fly.
2019-06-13 23:52:03 +04:00
FrancescoUK
28b3bc87d4 Comment out unused code still with custom fields 2019-06-09 21:47:36 +01:00
Steve Ireland
7b07ac9e21 Merge pull request #2448 from opensourcepos/track-initial-cash-refund
Track initial cash refunds
2019-06-09 12:13:29 -04:00
FrancescoUK
a61ddc19d2 Optimise DB query, tidy up 2019-06-09 10:53:48 +01:00
Steve Ireland
595ef0b617 Track initial cash refunds 2019-06-07 21:48:05 -04:00
jekkos
0ae6470b35 Migrate attribute datetime to date (#2441) 2019-06-05 00:47:17 +02:00
jekkos
d3d051ee72 Fix loading attribute values in item search (#2232) 2019-06-05 00:31:45 +02:00
jekkos
f2d2b1d3e2 Fix datetime attribute formatting (#2232) 2019-06-05 00:29:48 +02:00
FrancescoUK
d47099fa23 Merge pull request #2431 from opensourcepos/attributes_csv_import_integration
Attributes csv import integration
2019-06-04 21:13:54 +01:00
objecttothis
1f18ccd6d6 Delete import_items.csv
Apparently this deletion was undone when we squashed commits.  This file is no longer needed due to generating the CSV on the fly.
2019-06-04 12:04:29 +04:00
objecttothis
e900607725 Delete 20190415111200_stock_location.php
Apparently this deletion was undone when we squashed commits.  This file is no longer needed due to generating the CSV on the fly.
2019-06-04 12:03:46 +04:00
FrancescoUK
3894af4db2 Optimise database temp tables indexes (#2409) 2019-06-03 22:45:00 +01:00
FrancescoUK
dbf3114267 Attributes csv import integration 2019-06-03 21:13:21 +01:00
FrancescoUK
bab07fc857 Merge pull request #2426 from opensourcepos/fix-pdfcreate
Fix Send Invoice PDF
2019-06-02 21:23:22 +01:00
jekkos
2f3e915a3e Bump php base container 2019-05-25 15:15:32 +02:00
Robby Triadi Susanto
6e3271b6eb Translated using Weblate (Indonesian)
Currently translated at 100.0% (21 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/id/
2019-05-23 22:33:22 +02:00
Robby Triadi Susanto
cdf3db2f5a Translated using Weblate (Indonesian)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/id/
2019-05-23 22:33:09 +02:00
Weblate
4c507540c8 Merge branch 'origin/master' into Weblate 2019-05-21 14:16:01 +02:00
objecttothis
72a6ee1d55 Translated using Weblate (Tagalog)
Currently translated at 100.0% (77 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/tl/
2019-05-21 14:16:01 +02:00
Amine Amine
4b305a708f Translated using Weblate (French)
Currently translated at 33.7% (26 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/fr/
2019-05-21 14:15:54 +02:00
objecttothis
05c34912df Translated using Weblate (Tagalog)
Currently translated at 100.0% (21 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/tl/
2019-05-21 14:15:41 +02:00
Johntini
ab8e8373c0 Translated using Weblate (Spanish)
Currently translated at 97.6% (169 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/es/
2019-05-21 14:15:27 +02:00
Johntini
5a46dfc0c0 Translated using Weblate (Spanish)
Currently translated at 100.0% (128 of 128 strings)

Translation: ospos/reports
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/reports/es/
2019-05-21 14:15:12 +02:00
objecttothis
b32344dbc5 Translated using Weblate (Tagalog)
Currently translated at 100.0% (39 of 39 strings)

Translation: ospos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/tl/
2019-05-21 14:14:55 +02:00
objecttothis
342a561d98 Translated using Weblate (Tagalog)
Currently translated at 100.0% (12 of 12 strings)

Translation: ospos/messages
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/messages/tl/
2019-05-21 14:14:38 +02:00
objecttothis
3d8d3dca09 Translated using Weblate (Tagalog)
Currently translated at 100.0% (108 of 108 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/tl/
2019-05-21 14:14:20 +02:00
objecttothis
97276b9227 Translated using Weblate (Tagalog)
Currently translated at 100.0% (33 of 33 strings)

Translation: ospos/item_kits
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/item_kits/tl/
2019-05-21 14:14:04 +02:00
objecttothis
a8153a0beb Translated using Weblate (Tagalog)
Currently translated at 100.0% (68 of 68 strings)

Translation: ospos/giftcards
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/giftcards/tl/
2019-05-21 14:13:47 +02:00
objecttothis
6b090e1bc3 Translated using Weblate (Tagalog)
Currently translated at 100.0% (19 of 19 strings)

Translation: ospos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/tl/
2019-05-21 14:13:32 +02:00
objecttothis
c5ccf4aa68 Translated using Weblate (Tagalog)
Currently translated at 100.0% (44 of 44 strings)

Translation: ospos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/tl/
2019-05-21 14:13:17 +02:00
objecttothis
94a9f0282d Translated using Weblate (Tagalog)
Currently translated at 100.0% (35 of 35 strings)

Translation: ospos/employees
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/employees/tl/
2019-05-21 14:13:02 +02:00
objecttothis
987399b337 Translated using Weblate (Tagalog)
Currently translated at 100.0% (20 of 20 strings)

Translation: ospos/datepicker
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/datepicker/tl/
2019-05-21 14:12:47 +02:00
objecttothis
eaf0af7fd2 Translated using Weblate (Tagalog)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/tl/
2019-05-21 14:12:32 +02:00
objecttothis
2ee699441c Translated using Weblate (Tagalog)
Currently translated at 100.0% (278 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/tl/
2019-05-21 14:12:15 +02:00
objecttothis
62da526d1a Translated using Weblate (Tagalog)
Currently translated at 100.0% (36 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/tl/
2019-05-21 14:11:59 +02:00
objecttothis
edaead7584 Translated using Weblate (Tagalog)
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/tl/
2019-05-21 14:11:44 +02:00
objecttothis
ea02ae5d01 Translated using Weblate (Tagalog)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/tl/
2019-05-21 14:11:28 +02:00
objecttothis
92c975d84a Merge pull request #2450 from opensourcepos/rename-tagalog-folder
Rename tagalog folder
2019-05-21 16:08:53 +04:00
objecttothis
5d68926e7f Rename application/language/tl/taxes_lang.php to application/language/tl-PH/taxes_lang.php 2019-05-21 15:55:43 +04:00
objecttothis
d9195a90a6 Rename application/language/tl/suppliers_lang.php to application/language/tl-PH/suppliers_lang.php 2019-05-21 15:55:33 +04:00
objecttothis
ec51249eab Rename application/language/tl/sales_lang.php to application/language/tl-PH/sales_lang.php 2019-05-21 15:55:26 +04:00
objecttothis
3e6d0e4977 Rename application/language/tl/reports_lang.php to application/language/tl-PH/reports_lang.php 2019-05-21 15:55:18 +04:00
objecttothis
c9bbfa0862 Rename application/language/tl/receivings_lang.php to application/language/tl-PH/receivings_lang.php 2019-05-21 15:55:11 +04:00
objecttothis
3fd0bccc7b Rename application/language/tl/module_lang.php to application/language/tl-PH/module_lang.php 2019-05-21 15:55:00 +04:00
objecttothis
00d3f59471 Rename application/language/tl/messages_lang.php to application/language/tl-PH/messages_lang.php 2019-05-21 15:54:19 +04:00
objecttothis
996b4030a6 Rename application/language/tl/login_lang.php to application/language/tl-PH/login_lang.php 2019-05-21 15:54:11 +04:00
objecttothis
826966441a Rename application/language/tl/items_lang.php to application/language/tl-PH/items_lang.php 2019-05-21 15:54:02 +04:00
objecttothis
e21249dd32 Rename application/language/tl/item_kits_lang.php to application/language/tl-PH/item_kits_lang.php 2019-05-21 15:53:52 +04:00
objecttothis
2089463f86 Rename application/language/tl/giftcards_lang.php to application/language/tl-PH/giftcards_lang.php 2019-05-21 15:53:42 +04:00
objecttothis
4c7829876c Rename application/language/tl/expenses_lang.php to application/language/tl-PH/expenses_lang.php 2019-05-21 15:53:33 +04:00
objecttothis
980b6013f2 Rename application/language/tl/expenses_categories_lang.php to application/language/tl-PH/expenses_categories_lang.php 2019-05-21 15:53:20 +04:00
objecttothis
a57edc829f Rename application/language/tl/error_lang.php to application/language/tl-PH/error_lang.php 2019-05-21 15:53:13 +04:00
objecttothis
074c68d940 Rename application/language/tl/enum_lang.php to application/language/tl-PH/enum_lang.php 2019-05-21 15:53:05 +04:00
objecttothis
bd9cb1a141 Rename application/language/tl/employees_lang.php to application/language/tl-PH/employees_lang.php 2019-05-21 15:52:54 +04:00
objecttothis
70fc42aa39 Rename application/language/tl/datepicker_lang.php to application/language/tl-PH/datepicker_lang.php 2019-05-21 15:52:44 +04:00
objecttothis
9ec2db667b Rename application/language/tl/customers_lang.php to application/language/tl-PH/customers_lang.php 2019-05-21 15:52:30 +04:00
objecttothis
0a21a0a87d Rename application/language/tl/config_lang.php to application/language/tl-PH/config_lang.php 2019-05-21 15:52:10 +04:00
objecttothis
2238e8fcff Rename application/language/tl/cashups_lang.php to application/language/tl-PH/cashups_lang.php 2019-05-21 15:52:00 +04:00
objecttothis
978b395b70 Rename application/language/common_lang.php to application/language/tl-PH/common_lang.php 2019-05-21 15:51:51 +04:00
objecttothis
4520f0bb09 Rename application/language/tl/common_lang.php to application/language/common_lang.php 2019-05-21 15:51:35 +04:00
objecttothis
48d3c1873c Rename application/language/tl/bootstrap_tables_lang.php to application/language/tl-PH/bootstrap_tables_lang.php 2019-05-21 15:47:43 +04:00
objecttothis
97a567ef50 Rename application/language/tl/attributes_lang.php to application/language/tl-PH/attributes_lang.php 2019-05-21 15:46:20 +04:00
objecttothis
8305623791 Added translation using Weblate (Tagalog) 2019-05-20 19:58:49 +02:00
objecttothis
37073ec146 Added translation using Weblate (Tagalog) 2019-05-20 19:55:47 +02:00
objecttothis
439875064e Added translation using Weblate (Tagalog) 2019-05-20 14:46:56 +02:00
objecttothis
ce2983e457 Added translation using Weblate (Tagalog) 2019-05-20 14:46:29 +02:00
objecttothis
180c31ab36 Added translation using Weblate (Tagalog) 2019-05-20 14:45:57 +02:00
objecttothis
509698b17a Added translation using Weblate (Tagalog) 2019-05-20 14:44:20 +02:00
objecttothis
e6509daf8f Added translation using Weblate (Tagalog) 2019-05-20 14:38:08 +02:00
objecttothis
901c1ef36b Deleted translation using Weblate (Filipino) 2019-05-20 14:37:32 +02:00
objecttothis
30408fc142 Added translation using Weblate (Tagalog) 2019-05-20 14:36:47 +02:00
objecttothis
3ebfe29d9a Deleted translation using Weblate (Filipino) 2019-05-20 14:36:09 +02:00
objecttothis
ed4856b483 Added translation using Weblate (Tagalog) 2019-05-20 14:35:31 +02:00
objecttothis
f3eaf428c2 Deleted translation using Weblate (Filipino) 2019-05-20 14:34:42 +02:00
objecttothis
e676f5f4d2 Added translation using Weblate (Tagalog) 2019-05-20 14:33:43 +02:00
objecttothis
444189c670 Deleted translation using Weblate (Filipino) 2019-05-20 14:31:45 +02:00
objecttothis
c902d4e51e Added translation using Weblate (Tagalog) 2019-05-20 14:24:53 +02:00
objecttothis
5876e1ae32 Deleted translation using Weblate (Filipino) 2019-05-20 14:22:39 +02:00
objecttothis
9d31b75c15 Added translation using Weblate (Tagalog) 2019-05-20 14:15:20 +02:00
objecttothis
9ab1dac38c Deleted translation using Weblate (Filipino) 2019-05-20 14:14:43 +02:00
objecttothis
0a2f6c19c2 Added translation using Weblate (Tagalog) 2019-05-20 14:03:09 +02:00
objecttothis
3e908c89ff Deleted translation using Weblate (Filipino) 2019-05-20 13:58:22 +02:00
objecttothis
41e7cb3c81 Added translation using Weblate (Tagalog) 2019-05-20 13:56:30 +02:00
objecttothis
c76fa73010 Deleted translation using Weblate (Filipino) 2019-05-20 13:55:55 +02:00
objecttothis
1f1abb1bd6 Added translation using Weblate (Tagalog) 2019-05-20 13:55:22 +02:00
objecttothis
50b681215c Deleted translation using Weblate (Filipino) 2019-05-20 13:54:37 +02:00
objecttothis
7dd99d5e17 Added translation using Weblate (Tagalog) 2019-05-20 13:46:05 +02:00
objecttothis
7edbd8b3b9 Deleted translation using Weblate (Filipino) 2019-05-20 13:45:19 +02:00
objecttothis
e7298aa521 Added translation using Weblate (Tagalog) 2019-05-20 13:43:24 +02:00
objecttothis
7350e2f62e Deleted translation using Weblate (Filipino) 2019-05-20 13:42:44 +02:00
objecttothis
255fec2ba7 Added translation using Weblate (Tagalog) 2019-05-20 13:40:03 +02:00
objecttothis
c20169ae18 Deleted translation using Weblate (Filipino) 2019-05-20 13:39:18 +02:00
objecttothis
f90c99a276 Added translation using Weblate (Tagalog) 2019-05-20 13:08:19 +02:00
objecttothis
939a9157c2 Deleted translation using Weblate (Filipino) 2019-05-20 13:07:19 +02:00
objecttothis
7936998c53 Added translation using Weblate (Tagalog) 2019-05-20 13:06:34 +02:00
objecttothis
f55ab2fd80 Deleted translation using Weblate (Filipino) 2019-05-20 13:05:50 +02:00
objecttothis
383dc0057c Added translation using Weblate (Tagalog) 2019-05-20 13:04:04 +02:00
objecttothis
5dbf473ddd Deleted translation using Weblate (Filipino) 2019-05-20 13:03:26 +02:00
objecttothis
47534b5ead Added translation using Weblate (Tagalog) 2019-05-20 13:02:53 +02:00
objecttothis
2154b6d5c3 Deleted translation using Weblate (Filipino) 2019-05-20 13:02:15 +02:00
objecttothis
9ca685698c Deleted translation using Weblate (Filipino) 2019-05-20 13:01:45 +02:00
objecttothis
1d2198563f Added translation using Weblate (Filipino) 2019-05-20 12:58:31 +02:00
objecttothis
a648e7415d Added translation using Weblate (Filipino) 2019-05-20 12:56:36 +02:00
objecttothis
9b533396b8 Added translation using Weblate (Filipino) 2019-05-20 12:52:38 +02:00
objecttothis
0dc4c60aaf Added translation using Weblate (Filipino) 2019-05-20 12:50:31 +02:00
objecttothis
7a6b600f2c Added translation using Weblate (Filipino) 2019-05-20 12:48:25 +02:00
objecttothis
993343a2a2 Added translation using Weblate (Filipino) 2019-05-20 12:39:00 +02:00
objecttothis
b173de6c6d Added translation using Weblate (Filipino) 2019-05-20 12:34:10 +02:00
objecttothis
8d1f52ac5a Added translation using Weblate (Filipino) 2019-05-20 12:33:05 +02:00
objecttothis
a579e57ea4 Added translation using Weblate (Filipino) 2019-05-20 12:26:36 +02:00
objecttothis
0a07cec9c4 Added translation using Weblate (Filipino) 2019-05-20 12:24:26 +02:00
objecttothis
303d39f367 Added translation using Weblate (Filipino) 2019-05-20 12:22:29 +02:00
objecttothis
5fb3c59489 Added translation using Weblate (Filipino) 2019-05-20 12:17:45 +02:00
objecttothis
7c34eeb982 Added translation using Weblate (Filipino) 2019-05-20 12:15:08 +02:00
objecttothis
603ff87b50 Added translation using Weblate (Filipino) 2019-05-20 12:04:22 +02:00
objecttothis
b531fc1cbc Added translation using Weblate (Filipino) 2019-05-20 11:56:48 +02:00
objecttothis
2d13cb7dc8 Added translation using Weblate (Filipino) 2019-05-20 11:54:25 +02:00
objecttothis
f94af21484 Added translation using Weblate (Filipino) 2019-05-20 11:49:30 +02:00
jekkos
cac35f147f Added translation using Weblate (Tagalog) 2019-05-20 10:00:36 +02:00
Weblate
a7a7f4753c Merge branch 'origin/master' into Weblate 2019-05-14 22:08:33 +02:00
Gonzalo Fleming
bed6fc9a70 Translated using Weblate (Spanish)
Currently translated at 100.0% (77 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/es/
2019-05-14 22:08:30 +02:00
Robby Triadi Susanto
ac673555c9 Translated using Weblate (Indonesian)
Currently translated at 100.0% (77 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/id/
2019-05-14 22:08:24 +02:00
Robby Triadi Susanto
0096eb9e38 Translated using Weblate (Indonesian)
Currently translated at 100.0% (21 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/id/
2019-05-14 22:08:14 +02:00
Gonzalo Fleming
367c63a9aa Translated using Weblate (Spanish)
Currently translated at 94.7% (164 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/es/
2019-05-14 22:07:58 +02:00
Robby Triadi Susanto
2bda9d5f42 Translated using Weblate (Indonesian)
Currently translated at 100.0% (128 of 128 strings)

Translation: ospos/reports
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/reports/id/
2019-05-14 22:07:33 +02:00
Robby Triadi Susanto
dcd89faa28 Translated using Weblate (Indonesian)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/receivings
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/receivings/id/
2019-05-14 22:07:21 +02:00
Robby Triadi Susanto
b0c3ff84c9 Translated using Weblate (Indonesian)
Currently translated at 100.0% (39 of 39 strings)

Translation: ospos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/id/
2019-05-14 22:07:10 +02:00
Robby Triadi Susanto
da9d584dd3 Translated using Weblate (Indonesian)
Currently translated at 100.0% (108 of 108 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/id/
2019-05-14 22:06:59 +02:00
Robby Triadi Susanto
f3dff053d3 Translated using Weblate (Indonesian)
Currently translated at 100.0% (19 of 19 strings)

Translation: ospos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/id/
2019-05-14 22:06:49 +02:00
Robby Triadi Susanto
9903912bd7 Translated using Weblate (Indonesian)
Currently translated at 100.0% (44 of 44 strings)

Translation: ospos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/id/
2019-05-14 22:06:38 +02:00
Robby Triadi Susanto
a26fc359ac Translated using Weblate (Indonesian)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/id/
2019-05-14 22:06:28 +02:00
Robby Triadi Susanto
857e0bb7a0 Translated using Weblate (Indonesian)
Currently translated at 100.0% (278 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/id/
2019-05-14 22:06:18 +02:00
Robby Triadi Susanto
eed58af6ee Translated using Weblate (Indonesian)
Currently translated at 100.0% (36 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/id/
2019-05-14 22:06:07 +02:00
Robby Triadi Susanto
d37783ef0f Translated using Weblate (Indonesian)
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/id/
2019-05-14 22:05:56 +02:00
Gonzalo Fleming
79a563cf66 Translated using Weblate (Spanish)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/es/
2019-05-14 22:05:46 +02:00
WShells
56f43fb67f DB Version Fix
DB Version now reflecting server's version
2019-05-09 03:03:05 +03:00
FrancescoUK
9786d63804 Merge pull request #2440 from josh-tf/master
fix typo in url in bintray config
2019-05-05 14:40:07 +01:00
Josh Bowden
c69a1d9f40 fix typo in url in bintray config 2019-05-05 19:28:16 +10:00
Steve Ireland
b6c6cc88bc Merge pull request #2439 from opensourcepos/fix-quote-print
Fix quote print
2019-05-02 22:29:25 -04:00
Steve Ireland
dc8b69ab50 Fix quote print 2019-05-02 22:10:35 -04:00
Steve Ireland
cb0660e4a6 Merge pull request #2434 from opensourcepos/payment_update
Support updates to payments
2019-05-01 21:34:46 -04:00
Steve Ireland
a89674ccfe Support updates to payments 2019-05-01 21:17:22 -04:00
Nick Avramidis
3b49f7829e Translated using Weblate (Greek)
Currently translated at 100.0% (21 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/el/
2019-04-28 13:54:27 +02:00
Nick Avramidis
bd7d615ef6 Translated using Weblate (Greek)
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/el/
2019-04-28 13:54:13 +02:00
Nick Avramidis
18c342e2be Translated using Weblate (Greek)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/receivings
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/receivings/el/
2019-04-28 13:53:57 +02:00
Nick Avramidis
e5cdcc1e81 Translated using Weblate (Greek)
Currently translated at 1.9% (1 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/el/
2019-04-28 13:53:44 +02:00
Nick Avramidis
f7d2800f77 Translated using Weblate (Greek)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/el/
2019-04-28 13:53:31 +02:00
Weblate
d35317273d Merge branch 'origin/master' into Weblate 2019-04-23 01:05:11 +02:00
cristianjav
b6776c47ad Translated using Weblate (Spanish)
Currently translated at 77.9% (60 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/es/
2019-04-23 01:05:11 +02:00
cristianjav
abaa2b2dea Translated using Weblate (Spanish)
Currently translated at 100.0% (39 of 39 strings)

Translation: ospos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/es/
2019-04-23 01:04:59 +02:00
cristianjav
6120f8d613 Translated using Weblate (Spanish)
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/es/
2019-04-23 01:04:48 +02:00
cristianjav
4b12c49b6e Translated using Weblate (Spanish)
Currently translated at 100.0% (36 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/es/
2019-04-23 01:04:36 +02:00
cristianjav
cea173a53a Translated using Weblate (Spanish)
Currently translated at 86.2% (25 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/es/
2019-04-23 01:04:22 +02:00
FrancescoUK
ee3e8f8424 Merge pull request #2429 from josh-tf/master
fix typo with lang string
2019-04-22 08:41:29 +01:00
Josh Bowden
a70545abd2 fix missing underscore from lang string 2019-04-22 17:29:10 +10:00
Josh Bowden
bd55624470 fix typo with lang string 2019-04-22 13:47:14 +10:00
Steve Ireland
41c282bf85 Merge pull request #2427 from opensourcepos/fix-taxgroup
Fix Tax Group
2019-04-21 13:42:42 -04:00
Steve Ireland
e740d8665f Fix Tax Group 2019-04-21 13:33:25 -04:00
Steve Ireland
ddcd5a7ae4 Fix Send Invoice PDF 2019-04-21 11:25:14 -04:00
Weblate
9ccb9779bf Merge branch 'origin/master' into Weblate 2019-04-20 18:33:39 +02:00
Karin
9672d70853 Translated using Weblate (Spanish)
Currently translated at 72.7% (56 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/es/
2019-04-20 18:33:36 +02:00
Robby Triadi Susanto
889300c699 Translated using Weblate (Indonesian)
Currently translated at 75.0% (27 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/id/
2019-04-20 18:33:24 +02:00
Robby Triadi Susanto
7495ba7fb4 Translated using Weblate (Indonesian)
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/id/
2019-04-20 18:33:14 +02:00
Steve Ireland
12edac37eb Merge pull request #2425 from josh-tf/master
fix typo with lang string w/ variable
2019-04-20 10:43:30 -04:00
Josh Bowden
0e2e4d722b fix typo with lang string w/ variable 2019-04-18 17:15:50 +10:00
Steve Ireland
ca3b56c760 Merge pull request #2420 from opensourcepos/fix-sales-tax-migration
Fix Sales Tax Migration
2019-04-14 10:13:33 -04:00
alexandr0g
a1cba7fc6a Translated using Weblate (Spanish)
Currently translated at 70.1% (54 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/es/
2019-04-08 20:50:23 +02:00
Leandro Sbrissa
4084f75838 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/pt_BR/
2019-04-08 20:50:13 +02:00
Leandro Sbrissa
5c4108dc08 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (128 of 128 strings)

Translation: ospos/reports
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/reports/pt_BR/
2019-04-08 20:50:03 +02:00
alexandr0g
842c365532 Translated using Weblate (Spanish)
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/es/
2019-04-08 20:49:53 +02:00
Leandro Sbrissa
007e03d248 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (278 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/pt_BR/
2019-04-08 20:49:43 +02:00
alexandr0g
3f81d1872c Translated using Weblate (Spanish)
Currently translated at 8.3% (3 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/es/
2019-04-08 20:49:33 +02:00
Leandro Sbrissa
607cffb902 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/pt_BR/
2019-04-08 20:49:23 +02:00
Steve Ireland
ae1fb3cac1 Fix Sales Tax Migration 2019-04-07 14:54:21 -04:00
Eugen Sclavone
2c4114765a Translated using Weblate (Romanian)
Currently translated at 28.5% (6 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/ro/
2019-03-27 00:34:23 +01:00
khao_lek
16e508777a Translated using Weblate (Thai)
Currently translated at 68.7% (119 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/th/
2019-03-27 00:34:23 +01:00
Aril Apria Susanto
a035cab88b Translated using Weblate (Indonesian)
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/id/
2019-03-27 00:34:23 +01:00
Natig Asad
9c62164512 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/az/
2019-03-27 00:34:23 +01:00
Natig Asad
d69a8b79ab Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (128 of 128 strings)

Translation: ospos/reports
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/reports/az/
2019-03-27 00:34:23 +01:00
khao_lek
26fbbd8113 Translated using Weblate (Thai)
Currently translated at 100.0% (108 of 108 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/th/
2019-03-27 00:34:23 +01:00
Aril Apria Susanto
86604f4c50 Translated using Weblate (Indonesian)
Currently translated at 99.0% (107 of 108 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/id/
2019-03-27 00:34:23 +01:00
khao_lek
7f6621ae74 Translated using Weblate (Thai)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/th/
2019-03-27 00:34:23 +01:00
Aril Apria Susanto
98bb149127 Translated using Weblate (Indonesian)
Currently translated at 98.9% (275 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/id/
2019-03-27 00:34:23 +01:00
Natig Asad
d55e5c1769 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (278 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/az/
2019-03-27 00:34:23 +01:00
khao_lek
0bbd62a53b Translated using Weblate (Thai)
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/th/
2019-03-27 00:34:23 +01:00
Natig Asad
921b4966e4 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/az/
2019-03-27 00:34:23 +01:00
khao_lek
5c667b7deb Translated using Weblate (Thai)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/th/
2019-03-27 00:34:23 +01:00
Aril Apria Susanto
ef9ab3bc4b Translated using Weblate (Indonesian)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/id/
2019-03-27 00:34:23 +01:00
FrancescoUK
84c1a8eb39 Merge pull request #2412 from opensourcepos/sales-summary-cashups
Adapt Cashups to new Summary Payments Report
2019-03-23 17:43:50 +00:00
Steve Ireland
4ae1c575fc Adapt Cashups to new Sales Summary Report 2019-03-23 10:36:30 -04:00
Weblate
aafa614520 Remove duplicated lines 2019-03-23 14:12:43 +01:00
Weblate
bde34dc342 Remove duplicate strings 2019-03-21 08:12:40 +01:00
Weblate
b425f8b22a Sync + fix language files 2019-03-20 19:07:28 +01:00
Weblate
969336248c Merge remote-tracking branch 'origin/master' 2019-03-18 22:58:26 +01:00
WebShells
003a6b0bb1 Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (77 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/ar_EG/
2019-03-18 22:53:18 +01:00
WebShells
916782edba Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (21 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/ar_EG/
2019-03-18 22:53:08 +01:00
tomer
ad6d325cc8 Translated using Weblate (Hebrew)
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/he/
2019-03-18 22:52:58 +01:00
WebShells
03b1a84f98 Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/ar_EG/
2019-03-18 22:52:53 +01:00
WebShells
647e7ec49f Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (128 of 128 strings)

Translation: ospos/reports
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/reports/ar_EG/
2019-03-18 22:52:42 +01:00
WebShells
39e7d102bd Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (108 of 108 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/ar_EG/
2019-03-18 22:52:32 +01:00
WebShells
fae7fc986e Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/ar_EG/
2019-03-18 22:52:22 +01:00
tomer
a6e6f8278d Translated using Weblate (Hebrew)
Currently translated at 100.0% (278 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/he/
2019-03-18 22:52:12 +01:00
WebShells
3c3c10d843 Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (278 of 278 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/ar_EG/
2019-03-18 22:52:07 +01:00
tomer
749aa1831a Translated using Weblate (Hebrew)
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/he/
2019-03-18 22:51:57 +01:00
WebShells
8f8d671ea1 Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (29 of 29 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/ar_EG/
2019-03-18 22:51:51 +01:00
WebShells
5238ce2ade Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/ar_EG/
2019-03-18 22:51:40 +01:00
FrancescoUK
bbcefa1753 Fix language files (remove unused strings) 2019-03-17 16:30:16 +00:00
FrancescoUK
a146bbaa86 Reinstate removed en-GB and en-US translations 2019-03-16 18:45:59 +00:00
FrancescoUK
1bf99fd477 Add Docker container depends_on and restart rules 2019-03-16 18:43:06 +00:00
jekkos
5d047303a0 Sync language files + add script to .gitignore 2019-03-16 14:38:01 +01:00
Weblate
92b5bd2514 Merge branch 'origin/master' into Weblate 2019-03-16 14:20:39 +01:00
tomer
606be6f970 Translated using Weblate (Hebrew)
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/he/
2019-03-16 14:20:39 +01:00
khao_lek
519f1a9aa5 Translated using Weblate (Thai)
Currently translated at 89.0% (114 of 128 strings)

Translation: ospos/reports
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/reports/th/
2019-03-16 14:20:28 +01:00
tomer
9e585072cd Translated using Weblate (Hebrew)
Currently translated at 100.0% (128 of 128 strings)

Translation: ospos/reports
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/reports/he/
2019-03-16 14:20:22 +01:00
tomer
09ab671285 Translated using Weblate (Hebrew)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/receivings
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/receivings/he/
2019-03-16 14:20:12 +01:00
Dinuka Dilruwan Perera
1e3886e37e Translated using Weblate (Italian)
Currently translated at 98.0% (51 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/it/
2019-03-16 14:20:01 +01:00
khao_lek
35f5aa1ea3 Translated using Weblate (Thai)
Currently translated at 62.3% (172 of 276 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/th/
2019-03-16 14:19:51 +01:00
tomer
7ff878bfe1 Translated using Weblate (Hebrew)
Currently translated at 100.0% (276 of 276 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/he/
2019-03-16 14:19:46 +01:00
khao_lek
a3b0cc9f14 Translated using Weblate (Thai)
Currently translated at 100.0% (28 of 28 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/th/
2019-03-16 14:19:35 +01:00
tomer
e201f9adf0 Translated using Weblate (Hebrew)
Currently translated at 100.0% (28 of 28 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/he/
2019-03-16 14:19:30 +01:00
Hezbullah Shah
3e69c3f683 Added translation using Weblate (Urdu (Pakistan)) 2019-03-16 14:19:18 +01:00
WShells
6910efe526 Attributes missing language
Attributes missing language string fixed.
2019-03-15 23:46:16 +02:00
FrancescoUK
3e4964ada3 Merge pull request #2404 from WebShells/master
Customer Name for Due Sales & System info changes
2019-03-15 21:36:01 +00:00
WShells
e5927f94c6 Update system_info.php 2019-03-15 19:49:57 +02:00
WebShells
a2b10612c5 Line breaks
Added line breaks to help easily read issue template sections
2019-03-15 19:46:59 +02:00
WebShells
a386a0b485 Added Copy to Clipboard
Few changes including copy to clipboard  section in order to copy the text in same format.
2019-03-15 18:37:01 +02:00
WShells
5f9ef6cf4d Update register.php 2019-03-15 00:57:02 +02:00
WebShells
37d95fe75e Merge branch 'master' of https://github.com/WebShells/WS 2019-03-14 22:33:32 +02:00
WebShells
531805be14 Minor System Info changes
Few editions as requested
2019-03-14 22:31:06 +02:00
WShells
d419ffbdab Update register.php 2019-03-14 22:22:22 +02:00
WebShells
ce6aed67d6 Added en-GB Lang
Added en-GB Lang
2019-03-14 22:19:23 +02:00
WebShells
0ecba4c170 Customer Name Required
Customer Name required in order to continue the sales once due payment is selected.
2019-03-14 19:43:56 +02:00
FrancescoUK
6de77f0ebb Merge pull request #2400 from opensourcepos/language_patch
Update config_lang.php
2019-03-14 07:39:43 +00:00
objecttothis
49419ac204 Update config_lang.php 2019-03-14 10:54:25 +04:00
FrancescoUK
5efe04930e Merge pull request #2402 from opensourcepos/attribute_bug_patch
Update Attribute.php
2019-03-14 06:25:32 +00:00
objecttothis
185cf88534 Update Attribute.php
Remove blank line
2019-03-14 10:05:39 +04:00
objecttothis
2dca4785e1 Update Attribute.php
Without this else if the change from text to dropdown fails but no actual query is made since the query to update the attribute type gets made by the save_definition function.
2019-03-14 10:04:46 +04:00
objecttothis
0db8f2928f Update config_lang.php
This is to correct a missing language line from integrations.  @jekkos can you run your script to propagate en-US language lines to the rest of the languages and in weblate?
2019-03-14 09:46:25 +04:00
objecttothis
ce7b13a633 Merge pull request #2394 from opensourcepos/add_iso_currency_code
Add iso currency code
2019-03-13 13:54:46 +04:00
objecttothis
2cd9c23ac0 Update 20190317102600_add_iso_4217.php 2019-03-13 13:53:14 +04:00
objecttothis
2e755c6806 Rename 3.4.0_add_iso_4217.sql to 3.3.0_add_iso_4217.sql
3.3.0 release
2019-03-13 13:52:21 +04:00
objecttothis
59260241cb Update Language code definition
Removed two-character locales as those are deprecated.
2019-03-13 12:11:58 +04:00
objecttothis
75b548b81e Update locale_config.php
Fix jquery to update currency code
2019-03-13 12:02:00 +04:00
objecttothis
8d8ab9add6 Currency code auto update 2019-03-12 13:23:40 +04:00
Steve Ireland
16c28f1062 Merge pull request #2396 from opensourcepos/fix-discount-amount-formatting
Fix discount amount formatting.
2019-03-10 18:00:30 -04:00
Weblate
e9af0abd95 Merge branch 'origin/master' into Weblate 2019-03-10 15:00:16 +01:00
Aril Apria Susanto
fb6fe3c2fa Translated using Weblate (Indonesian)
Currently translated at 72.7% (56 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/id/
2019-03-10 15:00:11 +01:00
Aril Apria Susanto
7bca61fe2b Translated using Weblate (Indonesian)
Currently translated at 58.3% (21 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/id/
2019-03-10 15:00:00 +01:00
jekkos
a46a874874 Sync language files 2019-03-10 14:58:34 +01:00
Steve Ireland
acf913f025 Fix discount amount formatting. 2019-03-09 19:01:53 -05:00
Steve Ireland
805dfbe4d3 Merge pull request #2395 from opensourcepos/summary-payments-2
Two more Payment Summary report fixes.
2019-03-09 16:59:13 -05:00
Steve Ireland
d242c65e99 Two more Payment Summary report fixes. 2019-03-09 16:34:49 -05:00
FrancescoUK
fb112e502b Use networks: in docker-compose since links: is legacy 2019-03-09 13:26:16 +00:00
FrancescoUK
0199b29063 Summary report code refactoring 2019-03-09 09:44:56 +00:00
FrancescoUK
3f1ca2480c Rename migration script 2019-03-09 09:15:15 +00:00
objecttothis
dd77bb5632 Language additions and code corrections 2019-03-08 12:15:16 +04:00
objecttothis
12104c21c6 Correct error in the code 2019-03-08 11:59:02 +04:00
objecttothis
f284823707 Add ISO currency code 2019-03-08 11:48:38 +04:00
objecttothis
34d3352d73 Create 20190317102600_add_iso_4217.php 2019-03-08 11:09:21 +04:00
objecttothis
1776de12ff Update Attributes.php
Correcting variable naming.
2019-03-08 10:14:05 +04:00
Weblate
ccca81e2c8 Merge branch 'origin/master' into Weblate 2019-03-07 22:11:59 +01:00
khao_lek
a6de175f3c Translated using Weblate (Thai)
Currently translated at 100.0% (108 of 108 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/th/
2019-03-07 22:11:58 +01:00
khao_lek
eb377781c8 Translated using Weblate (Thai)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/th/
2019-03-07 22:11:49 +01:00
Weerasakol Chawanotai
e536c859a7 Translated using Weblate (Thai)
Currently translated at 100.0% (27 of 27 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/th/
2019-03-07 22:11:39 +01:00
khao_lek
2e7c20142c Translated using Weblate (Thai)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/th/
2019-03-07 22:11:30 +01:00
objecttothis
a55893930a Create 3.4.0_add_iso_4217.sql 2019-03-07 16:01:03 +04:00
objecttothis
ea75574b82 Merge pull request #2393 from opensourcepos/add_DECIMAL_attribute_type
Add decimal attribute type
2019-03-07 15:20:02 +04:00
FrancescoUK
8f7e5297cd Merge pull request #2391 from opensourcepos/payments-report
Improve the summary payments report.
2019-03-07 07:41:19 +00:00
Steve Ireland
09432c6450 Improve the summary payments report. 2019-03-06 19:27:58 -05:00
objecttothis
1afbe029b5 Correct indentation 2019-03-06 15:44:11 +04:00
objecttothis
74995a5ac1 Adding of decimal unit field 2019-03-06 15:42:04 +04:00
objecttothis
d79783f605 Create 3.4.0_decimal_attribute_type.sql
Adding migration script for database add of DECIMAL attribute type
2019-03-01 17:52:30 +04:00
objecttothis
5fe9e3f8d2 Create 20190301124900_decimal_attribute_type.php
Adding migration php file
2019-03-01 17:51:09 +04:00
objecttothis
f875c8e518 Changes to allow attribute type of DECIMAL 2019-03-01 17:48:20 +04:00
WebShells
80179339e8 Live Data Search
Live Data Search for Specific Customer Input Report/Detailed Reports section in order to search for a specific client rather than typing it's name in a fast way.
2019-03-01 01:58:50 +02:00
WShells
f3163198a0 Sync
Sync latest commits
2019-03-01 01:54:26 +02:00
WShells
6a654e4f49 Re-added config-wrapper
Re-align content of div/center align notice message.
2019-03-01 01:18:55 +02:00
Weblate
0f91feee2a Merge branch 'origin/master' into Weblate 2019-02-27 22:52:03 +01:00
tomer
f1a0034f19 Translated using Weblate (Hebrew)
Currently translated at 100.0% (77 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/he/
2019-02-27 22:52:00 +01:00
tomer
78ec9d8e22 Translated using Weblate (Hebrew)
Currently translated at 100.0% (21 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/he/
2019-02-27 22:51:50 +01:00
tomer
b6e5a0f732 Translated using Weblate (Hebrew)
Currently translated at 100.0% (120 of 120 strings)

Translation: ospos/reports
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/reports/he/
2019-02-27 22:51:40 +01:00
tomer
a697df7de9 Translated using Weblate (Hebrew)
Currently translated at 100.0% (39 of 39 strings)

Translation: ospos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/he/
2019-02-27 22:51:30 +01:00
tomer
a728dc5d7f Translated using Weblate (Hebrew)
Currently translated at 100.0% (12 of 12 strings)

Translation: ospos/messages
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/messages/he/
2019-02-27 22:51:20 +01:00
tomer
7994803d65 Translated using Weblate (Hebrew)
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/he/
2019-02-27 22:51:11 +01:00
tomer
9b666bdc40 Translated using Weblate (Hebrew)
Currently translated at 100.0% (108 of 108 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/he/
2019-02-27 22:51:01 +01:00
tomer
27c372e891 Translated using Weblate (Hebrew)
Currently translated at 100.0% (33 of 33 strings)

Translation: ospos/item_kits
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/item_kits/he/
2019-02-27 22:50:51 +01:00
tomer
313727ca5c Translated using Weblate (Hebrew)
Currently translated at 100.0% (68 of 68 strings)

Translation: ospos/giftcards
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/giftcards/he/
2019-02-27 22:50:41 +01:00
tomer
ea21970e5e Translated using Weblate (Hebrew)
Currently translated at 100.0% (19 of 19 strings)

Translation: ospos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/he/
2019-02-27 22:50:31 +01:00
tomer
794020921a Translated using Weblate (Hebrew)
Currently translated at 100.0% (44 of 44 strings)

Translation: ospos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/he/
2019-02-27 22:50:21 +01:00
Natig Asad
8a389a8ab9 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/az/
2019-02-27 22:50:01 +01:00
FrancescoUK
defb8d0d6f Merge pull request #2364 from WebShells/Stats
System & Installation Info
2019-02-27 20:26:10 +00:00
FrancescoUK
3f89612830 Merge pull request #2379 from opensourcepos/attribute_conversion_fixes
Attribute conversion fixes
2019-02-27 20:25:09 +00:00
objecttothis
0e6eac9375 Update Attributes.php
Correcting variable name.  adding parameterization instead of php concatenate.
2019-02-27 19:43:24 +04:00
objecttothis
54048802f2 Update attributes_lang.php
Parameterize Lang->Line and correct spelling of variable
2019-02-27 19:36:17 +04:00
objecttothis
fe4b6dc640 Update config.php
Security Restriction per #2377
2019-02-27 11:27:05 +04:00
jekkos
c08bfa643c Fix attributes_lang.php 2019-02-26 23:55:06 +01:00
tomer
321f31c0c0 Added translation using Weblate (Hebrew) 2019-02-26 12:16:36 +01:00
tomer
17451c5b93 Added translation using Weblate (Hebrew) 2019-02-26 12:10:52 +01:00
tomer
67f134a14b Added translation using Weblate (Hebrew) 2019-02-26 11:24:03 +01:00
objecttothis
aea080d6bd Update Attribute.php
Without this else, TEXT->DROPDOWN fails.  It just returns a simple success because no database changes are needed other than changing the definition_type which is not done here.  This would also cause all other conversions not listed to automatically succeed, but we don't need to worry because those are restricted in the view to only ones that are actually supported.
2019-02-26 14:08:33 +04:00
tomer
14c1be25c9 Added translation using Weblate (Hebrew) 2019-02-26 11:02:41 +01:00
objecttothis
bcf82a0830 Update Attributes.php
Unified format changes.  All lang lines should be _definition_ or _definitions_ but not a mix of both.
2019-02-26 13:49:48 +04:00
objecttothis
79b00e8040 Update attributes_lang.php
Unified format changes.  All lang lines should be _definition_ or _definitions_ but not a mix of both.
2019-02-26 13:49:06 +04:00
objecttothis
8a935625ec Update attributes_lang.php
The language line did not formerly exist and needed to be added.  This line needs to get propagated to all other languages.
2019-02-26 13:43:01 +04:00
tomer
efd4e9aeb1 Added translation using Weblate (Hebrew) 2019-02-26 08:57:21 +01:00
tomer
3df719baee Added translation using Weblate (Hebrew) 2019-02-26 08:51:48 +01:00
tomer
30dac982cc Added translation using Weblate (Hebrew) 2019-02-26 08:11:18 +01:00
tomer
bd6b0d3543 Added translation using Weblate (Hebrew) 2019-02-25 22:28:59 +01:00
tomer
0d1925abae Added translation using Weblate (Hebrew) 2019-02-25 22:04:23 +01:00
tomer
e39176e69a Added translation using Weblate (Hebrew) 2019-02-25 21:45:46 +01:00
khao_lek
9fe3ce6679 Translated using Weblate (Thai)
Currently translated at 3.8% (3 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/th/
2019-02-25 21:39:40 +01:00
khao_lek
da4b6ba9d3 Translated using Weblate (Thai)
Currently translated at 67.6% (117 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/th/
2019-02-25 21:39:30 +01:00
tomer
0e3d8b54de Translated using Weblate (Hebrew)
Currently translated at 97.7% (43 of 44 strings)

Translation: ospos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/he/
2019-02-25 21:39:20 +01:00
tomer
79ae61d173 Translated using Weblate (Hebrew)
Currently translated at 100.0% (2 of 2 strings)

Translation: ospos/error
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/error/he/
2019-02-25 21:39:10 +01:00
tomer
d194c2af27 Translated using Weblate (Hebrew)
Currently translated at 100.0% (7 of 7 strings)

Translation: ospos/enum
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/enum/he/
2019-02-25 21:39:00 +01:00
tomer
f8fa528ad9 Translated using Weblate (Hebrew)
Currently translated at 100.0% (35 of 35 strings)

Translation: ospos/employees
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/employees/he/
2019-02-25 21:38:46 +01:00
tomer
9470e9efd1 Translated using Weblate (Hebrew)
Currently translated at 100.0% (20 of 20 strings)

Translation: ospos/datepicker
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/datepicker/he/
2019-02-25 21:38:25 +01:00
khao_lek
483530507c Translated using Weblate (Thai)
Currently translated at 98.0% (51 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/th/
2019-02-25 21:38:05 +01:00
tomer
70239374d3 Translated using Weblate (Hebrew)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/he/
2019-02-25 21:37:55 +01:00
tomer
e9dc3d53e1 Translated using Weblate (Hebrew)
Currently translated at 100.0% (273 of 273 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/he/
2019-02-25 21:37:38 +01:00
khao_lek
8883a16f42 Translated using Weblate (Thai)
Currently translated at 100.0% (36 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/th/
2019-02-25 21:37:26 +01:00
tomer
a47d1ff12e Translated using Weblate (Hebrew)
Currently translated at 100.0% (36 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/he/
2019-02-25 21:37:21 +01:00
tomer
a4e644fe14 Translated using Weblate (Hebrew)
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/bootstrap_tables
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/bootstrap_tables/he/
2019-02-25 21:37:10 +01:00
tomer
60195d4757 Translated using Weblate (Hebrew)
Currently translated at 100.0% (26 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/he/
2019-02-25 21:37:00 +01:00
tomer
b32ce7958e Translated using Weblate (Hebrew)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/he/
2019-02-25 21:36:51 +01:00
tomer
9d7e0e0664 Added translation using Weblate (Hebrew) 2019-02-25 21:35:24 +01:00
tomer
1d705158ef Added translation using Weblate (Hebrew) 2019-02-25 21:32:33 +01:00
tomer
b8d20abc76 Added translation using Weblate (Hebrew) 2019-02-25 21:25:28 +01:00
tomer
8a5e8656ee Added translation using Weblate (Hebrew) 2019-02-25 20:54:49 +01:00
tomer
9f26e7b30f Added translation using Weblate (Hebrew) 2019-02-25 20:49:12 +01:00
tomer
5d32252f2e Added translation using Weblate (Hebrew) 2019-02-25 20:26:59 +01:00
tomer
30bbddc96d Added translation using Weblate (Hebrew) 2019-02-25 17:59:24 +01:00
tomer
ebf6ee16d2 Added translation using Weblate (Hebrew) 2019-02-25 17:26:45 +01:00
tomer
75839b69ce Added translation using Weblate (Hebrew) 2019-02-25 16:57:59 +01:00
tomer
7be9db2cc7 Added translation using Weblate (Hebrew) 2019-02-25 14:14:04 +01:00
tomer
49fcb988ad Added translation using Weblate (Hebrew) 2019-02-25 12:55:07 +01:00
Weblate
1c4847f35e Merge branch 'origin/master' into Weblate 2019-02-24 23:56:45 +01:00
Francisco xyko
f341d8bca3 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (77 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/pt_BR/
2019-02-24 23:56:42 +01:00
Natig Asad
723c3f4756 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (39 of 39 strings)

Translation: ospos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/az/
2019-02-24 23:56:32 +01:00
Francisco xyko
befde25d85 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (273 of 273 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/pt_BR/
2019-02-24 23:56:21 +01:00
Natig Asad
4987afbf6e Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (273 of 273 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/az/
2019-02-24 23:56:16 +01:00
Francisco xyko
4bddfb6a31 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/pt_BR/
2019-02-24 23:56:06 +01:00
Natig Asad
ada9438731 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/az/
2019-02-24 23:56:01 +01:00
FrancescoUK
c0b947f72e Merge pull request #2362 from opensourcepos/convert_attribute_type
Add attribute type conversion, error checking.
2019-02-24 21:25:46 +00:00
Steve Ireland
66d80f9a78 Merge pull request #2343 from opensourcepos/indiagst-migration-fix
Haven't heard anything from anybody and since this has been reviewed a few times it should be relatively safe to merge.  I wanted to have time to rebase my other change and retest this weekend.
2019-02-24 09:54:52 -05:00
Steve Ireland
2f710e80e7 Fixes a couple of problems with sales tax migration plus a couple of other problems. 2019-02-23 18:58:28 -05:00
WShells
1681afe65a CSV check 2019-02-24 00:41:58 +02:00
WShells
85f7139dfe Update system_info.php 2019-02-24 00:19:28 +02:00
WShells
8f59740a5b Update config_lang.php 2019-02-24 00:19:12 +02:00
objecttothis
3b3b58bda4 Refactor regex to locale_helper to be used in other parts of the code. 2019-02-21 15:04:48 +04:00
objecttothis
fd99df8c2e combined nested if statement into single if 2019-02-21 12:23:44 +04:00
objecttothis
994428eb7f Fix bug preventing new Attribute from being anything but GROUP 2019-02-20 12:06:33 +04:00
objecttothis
20af6120b1 Corrections to $success 2019-02-20 10:32:40 +04:00
objecttothis
7875ecaa5b Corrected $success references 2019-02-19 10:46:27 +04:00
objecttothis
c631cdbaf4 Added code to error out on incorrectly formatted data. 2019-02-18 17:02:12 +04:00
objecttothis
81033f55e5 Corrected code 2019-02-18 12:37:11 +04:00
WebShells
4db2d24ed4 Added system info to public
Added System Info to public, so people who are unable to login can make use of it in error reporting...
Added Git Link for Submitting an Issue
Forced Read only permissions on CSV files
Switched cases for csv files, in case writable show x and in case not writable show a check mark.
2019-02-17 22:48:14 +02:00
WebShells
958d9db0d0 Info Lang Add.
Server Info Lang Add.
2019-02-17 21:47:00 +02:00
WShells
59e3d0d84c Removed commented lines 2019-02-17 15:28:12 +02:00
WShells
dbb25b7e17 Rename server_info.php to system_info.php 2019-02-17 02:07:33 +02:00
WShells
6afae3b855 Rename server_stats.php to server_info.php 2019-02-17 02:06:48 +02:00
WShells
2b2e8b1da0 Update server_stats.php 2019-02-17 00:40:02 +02:00
WShells
57e6863769 Indent... 2019-02-17 00:37:52 +02:00
WebShells
b0374d52aa System Info
Helpful info about ospos installation, user settings, system settings, and files permissions...
2019-02-17 00:06:43 +02:00
WShells
7b318e411c Merge pull request #2 from opensourcepos/master
..
2019-02-16 23:37:59 +02:00
WShells
069715fe4a Merge branch 'master' into master 2019-02-16 23:32:37 +02:00
FrancescoUK
b72f1919e9 Merge pull request #2322 from erastus/timezone
fixed timezone (#2321)
2019-02-16 17:49:01 +00:00
FrancescoUK
8431e4c1e6 Update locale_helper.php 2019-02-16 17:48:34 +00:00
jekkos
888c01282b Translated using Weblate (Flemish)
Currently translated at 85.7% (18 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/nl_BE/
2019-02-16 14:55:45 +01:00
jekkos
67415e33a5 Translated using Weblate (Flemish)
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/nl_BE/
2019-02-16 14:55:34 +01:00
Natig Asad
0dcb032b1d Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (20 of 20 strings)

Translation: ospos/datepicker
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/datepicker/az/
2019-02-16 14:55:24 +01:00
kevinyl18
d55cd787ad Translated using Weblate (Indonesian)
Currently translated at 42.3% (11 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/id/
2019-02-16 14:55:13 +01:00
jekkos
be20d8cc1e Translated using Weblate (Flemish)
Currently translated at 100.0% (26 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/nl_BE/
2019-02-16 14:55:08 +01:00
objecttothis
e66c7bad24 Add attribute type conversion, error checking. 2019-02-15 17:03:31 +04:00
jekkos
98b39b2f0c Sync language files 2019-02-14 23:50:18 +01:00
Weblate
255939c2a9 Merge branch 'origin/master' into Weblate 2019-02-14 23:33:24 +01:00
Natig Asad
7e6e038a9b Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (77 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/az/
2019-02-14 23:33:24 +01:00
Natig Asad
d20f0e045b Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (21 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/az/
2019-02-14 23:33:13 +01:00
eugen-sclavone
31b07d8843 Translated using Weblate (Romanian)
Currently translated at 96.5% (167 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/ro/
2019-02-14 23:33:03 +01:00
Natig Asad
1ce9691911 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/az/
2019-02-14 23:32:57 +01:00
Natig Asad
86982f6d47 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (120 of 120 strings)

Translation: ospos/reports
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/reports/az/
2019-02-14 23:32:46 +01:00
eugen-sclavone
4988122ee3 Translated using Weblate (Romanian)
Currently translated at 9.6% (5 of 52 strings)

Translation: ospos/receivings
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/receivings/ro/
2019-02-14 23:32:35 +01:00
Natig Asad
a32947e149 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/receivings
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/receivings/az/
2019-02-14 23:32:30 +01:00
Natig Asad
9387b078c6 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (39 of 39 strings)

Translation: ospos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/az/
2019-02-14 23:32:20 +01:00
khao_lek
300ba1bc63 Translated using Weblate (Thai)
Currently translated at 100.0% (12 of 12 strings)

Translation: ospos/messages
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/messages/th/
2019-02-14 23:32:09 +01:00
Natig Asad
c276318790 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (12 of 12 strings)

Translation: ospos/messages
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/messages/az/
2019-02-14 23:32:04 +01:00
khao_lek
b283011436 Translated using Weblate (Thai)
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/th/
2019-02-14 23:31:54 +01:00
nikopoler
786e32944e Translated using Weblate (Russian)
Currently translated at 87.5% (7 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/ru/
2019-02-14 23:31:48 +01:00
wd-code
7e2a82ee19 Translated using Weblate (French)
Currently translated at 62.5% (5 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/fr/
2019-02-14 23:31:43 +01:00
Natig Asad
7c77d6841a Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/az/
2019-02-14 23:31:38 +01:00
khao_lek
2e107b888a Translated using Weblate (Thai)
Currently translated at 99.0% (107 of 108 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/th/
2019-02-14 23:31:27 +01:00
nikopoler
a1b9a84ca7 Translated using Weblate (Russian)
Currently translated at 93.5% (101 of 108 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/ru/
2019-02-14 23:31:22 +01:00
Natig Asad
a83105ecb8 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (108 of 108 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/az/
2019-02-14 23:31:16 +01:00
khao_lek
51baef438a Translated using Weblate (Thai)
Currently translated at 100.0% (33 of 33 strings)

Translation: ospos/item_kits
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/item_kits/th/
2019-02-14 23:31:05 +01:00
Natig Asad
9d336a1804 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (33 of 33 strings)

Translation: ospos/item_kits
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/item_kits/az/
2019-02-14 23:31:00 +01:00
Natig Asad
430586a68b Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (68 of 68 strings)

Translation: ospos/giftcards
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/giftcards/az/
2019-02-14 23:30:50 +01:00
Natig Asad
a0b397a74a Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (19 of 19 strings)

Translation: ospos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/az/
2019-02-14 23:30:39 +01:00
Natig Asad
c4144405a8 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (44 of 44 strings)

Translation: ospos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/az/
2019-02-14 23:30:29 +01:00
eugen-sclavone
2a1d8d0751 Translated using Weblate (Romanian)
Currently translated at 100.0% (2 of 2 strings)

Translation: ospos/error
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/error/ro/
2019-02-14 23:30:19 +01:00
Natig Asad
6e7259dd83 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (7 of 7 strings)

Translation: ospos/enum
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/enum/az/
2019-02-14 23:30:08 +01:00
Natig Asad
bcb8c4b0fb Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (35 of 35 strings)

Translation: ospos/employees
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/employees/az/
2019-02-14 23:29:57 +01:00
khao_lek
92212a30ae Translated using Weblate (Thai)
Currently translated at 100.0% (20 of 20 strings)

Translation: ospos/datepicker
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/datepicker/th/
2019-02-14 23:29:47 +01:00
Natig Asad
fccbdf844a Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (20 of 20 strings)

Translation: ospos/datepicker
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/datepicker/az/
2019-02-14 23:29:41 +01:00
eugen-sclavone
013dc576b6 Translated using Weblate (Romanian)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/ro/
2019-02-14 23:29:30 +01:00
Natig Asad
6f63a4a369 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/az/
2019-02-14 23:29:24 +01:00
Natig Asad
c740781df2 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (272 of 272 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/az/
2019-02-14 23:29:13 +01:00
eugen-sclavone
0abaa4bc04 Translated using Weblate (Romanian)
Currently translated at 100.0% (36 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/ro/
2019-02-14 23:29:02 +01:00
wd-code
5d5e316b39 Translated using Weblate (French)
Currently translated at 47.2% (17 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/fr/
2019-02-14 23:28:55 +01:00
Natig Asad
53714acd27 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (36 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/az/
2019-02-14 23:28:50 +01:00
khao_lek
4317e82a7b Translated using Weblate (Thai)
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/bootstrap_tables
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/bootstrap_tables/th/
2019-02-14 23:28:39 +01:00
Natig Asad
8d19f1e41b Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/bootstrap_tables
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/bootstrap_tables/az/
2019-02-14 23:28:33 +01:00
khao_lek
b13b12ec6a Translated using Weblate (Thai)
Currently translated at 96.1% (25 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/th/
2019-02-14 23:28:23 +01:00
eugen-sclavone
83cd4c6d50 Translated using Weblate (Romanian)
Currently translated at 100.0% (26 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/ro/
2019-02-14 23:28:18 +01:00
Natig Asad
2ec26f4357 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (26 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/az/
2019-02-14 23:28:12 +01:00
nikopoler
bd18fd5577 Translated using Weblate (Russian)
Currently translated at 95.5% (64 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/ru/
2019-02-14 23:28:01 +01:00
eugen-sclavone
3a51371834 Translated using Weblate (Romanian)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/ro/
2019-02-14 23:27:55 +01:00
Natig Asad
9c060e8c9e Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/az/
2019-02-14 23:27:50 +01:00
FrancescoUK
9e2f9f1322 Add en_GB translation for Integrations 2019-02-10 12:28:35 +00:00
FrancescoUK
be4460d1b6 Merge pull request #2344 from opensourcepos/fix-tax-group-rendering
This fixes the improper display of the tax group
2019-02-10 12:11:57 +00:00
FrancescoUK
4d474f5952 Merge pull request #2357 from opensourcepos/cash-rounding-for-chile
Cash rounding for Chile requires rounding to the nearest 10 pesos.
2019-02-10 12:03:33 +00:00
Steve Ireland
b3f53fa627 Fix tax group rendering issue triggered by "% CE" 2019-02-09 16:33:45 -05:00
Steve Ireland
8bf819abb9 Cash rounding for Chili requires rounding to the nearest 10 pesoes. 2019-02-09 15:51:46 -05:00
Steve Ireland
a33db6f055 Merge pull request #2356 from opensourcepos/stock-type-visibility
Allow user excluded from item kit maintenance to maintain stock type.
2019-02-09 13:02:08 -05:00
Steve Ireland
03fe400e9e Allow user excluded from item kit maintenance to maintain stock type. 2019-02-09 11:56:49 -05:00
jekkos
929f3e63fc Show 6 character git hash instead of 5 (#2352) 2019-02-08 08:26:16 +01:00
objecttothis
3b9bf5eaa4 Correcting positioning of the ospos.css file
I wasn't aware of the need to build the project before css changes would take effect nor that I could just add `?debug=true` to the URL to see changes.  I've put the line back in its original position and it works without other changes.
2019-02-05 09:40:27 +01:00
objecttothis
81b056b8f0 Merge pull request #2330 from opensourcepos/third_party_integrations
Third party integrations
2019-02-04 17:07:03 +04:00
objecttothis
2d7ea8d4e7 modified CSS id to be unique
Rather than override an existing CSS id with potential consequences I just created a unique ID in ospos.css
2019-02-04 13:47:43 +04:00
objecttothis
381b741f42 Add css for integrations header 2019-02-04 13:46:08 +04:00
objecttothis
9b6edaea4d Move ospos.css below opensourcepos.min.css
This prevents changes in ospos.css from being ignored
2019-02-04 13:44:40 +04:00
jekkos
9527ad4f33 Use dev as default commit hash (#2324) 2019-02-02 18:44:12 +01:00
jekkos
bf28072f0d Try to reuse $rev variable in pre_install secion (#2324) 2019-02-02 15:16:10 +01:00
jekkos
231f7485fe Temporarily fix supplier update (#2309) 2019-02-02 14:36:05 +01:00
jekkos
6f75ec3ae2 Skip india GST migration if it ran before + force cleanup (#2302) 2019-02-02 14:08:20 +01:00
jekkos
2674fbd03f Disable .gitattributes ident (#2324) 2019-02-02 14:08:20 +01:00
jekkos
a36bfdd32d Translated using Weblate (Flemish)
Currently translated at 100.0% (20 of 20 strings)

Translation: ospos/datepicker
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/datepicker/nl_BE/
2019-02-02 12:47:12 +01:00
Weblate
b75f486e6e Merge branch 'origin/master' into Weblate 2019-02-01 22:05:48 +01:00
Héctor Martín
618465bf80 Translated using Weblate (Spanish)
Currently translated at 67.5% (52 of 77 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/es/
2019-02-01 22:05:45 +01:00
jekkos
33f4471364 Translated using Weblate (Flemish)
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/nl_BE/
2019-02-01 22:05:31 +01:00
Héctor Martín
7cb5bb98ff Translated using Weblate (Spanish)
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/es/
2019-02-01 22:05:17 +01:00
haygcao
71a1c2ac08 Translated using Weblate (Chinese (Simplified))
Currently translated at 69.2% (18 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/zh_Hans/
2019-02-01 22:05:01 +01:00
jekkos
80a1c73652 Ignore apache rewrite rule for let's encrypt challenge renewal 2019-02-01 21:14:08 +01:00
objecttothis
00a16ac50b Update manage.php
Fixed another forgotten change
2019-01-31 16:42:58 +04:00
objecttothis
d3155ed8be Merge pull request #2325 from opensourcepos/attribute_value_duplicate_check
Check to see if attribute_value already exists
2019-01-30 13:29:09 +04:00
objecttothis
749c41c43c Merge pull request #2333 from opensourcepos/attribute_migrations_values_fix
Add IGNORE to insert and UNIQUE constraint to attribute_value
2019-01-30 13:27:02 +04:00
objecttothis
ab2a46ff22 Add IGNORE to insert and UNIQUE constraint to attribute_value 2019-01-30 13:08:12 +04:00
objecttothis
2c06edba02 Remove function and combine call to reduce redundant code. 2019-01-30 11:30:28 +04:00
objecttothis
6b12cd6cc7 Correct missing change
Not sure how this didn't get changed before.  I had the change in my test database.  I must have just missed it.
2019-01-30 10:35:41 +04:00
Steve Ireland
cb79bbe5ef Merge pull request #2332 from opensourcepos/fix-upgrade-sequence
India GST script is dependent on the 3.3.0 script.
2019-01-29 21:43:00 -05:00
Steve Ireland
57fa8c1a4b India GST script is dependent on the 3.3.0 script. 2019-01-29 21:30:52 -05:00
objecttothis
f238bc7d40 Rename mailchimp_config.php to integrations_config.php
Rename file to match generic integrations rather than specific mailchimp
2019-01-29 18:27:41 +04:00
objecttothis
4d13cf2f67 Converting mailchimp config to integrations config 2019-01-29 18:25:44 +04:00
objecttothis
e080873ec3 Check to see if attribute_value already exists 2019-01-28 18:16:17 +04:00
Erastus
db6ee6839a fixed timezone (#2321) 2019-01-26 14:47:36 -06:00
Weblate
74417024b4 Merge branch 'origin/master' into Weblate 2019-01-20 01:05:47 +01:00
Marek Borowik
322dc85e2c Added translation using Weblate (Polish) 2019-01-20 01:05:44 +01:00
Steve Ireland
740305c2ca Merge pull request #2314 from opensourcepos/fix-sales-tax-amount
It's a small change and I couldn't have introduced too many problems.  I tested the change locally to confirm that it works (at least with gift cards).  So I went ahead and merged this change.
2019-01-16 22:04:12 -05:00
Steve Ireland
0dc5a8e3a2 Rename sales_tax_amount to sale_tax_amount 2019-01-16 21:45:55 -05:00
FrancescoUK
cbfb8e5a89 Merge pull request #2289 from opensourcepos/refactor-tax-config
Refactor Tax Configuration
2019-01-14 10:59:09 +00:00
bashar alghnnam
2c76f90f67 Translated using Weblate (Arabic (Egypt))
Currently translated at 43.2% (29 of 67 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/ar_EG/
2019-01-13 13:21:17 +01:00
bashar alghnnam
32813fc65e Translated using Weblate (Arabic (Egypt))
Currently translated at 94.7% (164 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/ar_EG/
2019-01-13 13:21:17 +01:00
Albert García
2ed5ff3c02 Translated using Weblate (Spanish)
Currently translated at 100.0% (12 of 12 strings)

Translation: ospos/messages
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/messages/es/
2019-01-13 13:21:17 +01:00
Albert García
86144b7816 Translated using Weblate (Spanish)
Currently translated at 96.6% (260 of 269 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/es/
2019-01-13 13:21:17 +01:00
Albert García
687229dbec Translated using Weblate (Spanish)
Currently translated at 100.0% (66 of 66 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/es/
2019-01-13 13:21:17 +01:00
jekkos
f911cebae2 Revert translation update + bump migration script version 2019-01-13 13:18:51 +01:00
jekkos
02d7588e59 Add config item for default order discount 2019-01-13 13:18:51 +01:00
Steve Ireland
20cb007f3c Refactor Tax Configuration 2019-01-10 21:42:15 -05:00
FrancescoUK
74f5bb17bb Update to Bootswatch and Bootstrap 3.4.0 2019-01-07 21:51:36 +00:00
jekkos
acba94baf2 Fix broken dialogs after column visiblity toggle (#2132) 2019-01-07 18:44:24 +01:00
jekkos
6792c829b2 Cleanup duplicated field 2019-01-07 18:44:24 +01:00
FrancescoUK
0ada6ba25d Fix login missing version issue 2019-01-06 17:21:21 +00:00
Weblate
85564d9201 Merge branch 'origin/master' into Weblate 2019-01-05 11:53:48 +01:00
jekkos
489ed6c23f Translated using Weblate (Flemish)
Currently translated at 99.6% (268 of 269 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/nl_BE/
2019-01-05 11:53:47 +01:00
jekkos
f2f2e52abe Fix flemish discount translation 2019-01-03 23:53:54 +01:00
FrancescoUK
205cd2fce7 Fix en-GB translations 2019-01-02 20:20:21 +00:00
jekkos
6c685f89b8 Fix amount formatting in expenses (#2085) 2018-12-30 18:27:58 +01:00
jekkos
4261613316 Fix migration message, add UK translation (#2247) 2018-12-30 18:27:58 +01:00
jekkos
8b72f9b46a Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (269 of 269 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/en_GB/
2018-12-30 15:24:42 +01:00
Ahmet BAYKAL
847e7e2598 Translated using Weblate (Turkish)
Currently translated at 44.7% (30 of 67 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/tr/
2018-12-30 13:41:07 +01:00
Francisco xyko
448971c8ec Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (67 of 67 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/pt_BR/
2018-12-30 13:41:07 +01:00
Francisco xyko
f8519b8d3f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (21 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/pt_BR/
2018-12-30 13:41:06 +01:00
Francisco xyko
47892c9866 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/pt_BR/
2018-12-30 13:41:06 +01:00
Francisco xyko
4a4ef2da4b Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (120 of 120 strings)

Translation: ospos/reports
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/reports/pt_BR/
2018-12-30 13:41:05 +01:00
Johannes Roesch
d506099869 Translated using Weblate (German)
Currently translated at 100.0% (12 of 12 strings)

Translation: ospos/messages
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/messages/de/
2018-12-30 13:41:05 +01:00
Francisco xyko
7203737bd5 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (108 of 108 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/pt_BR/
2018-12-30 13:41:05 +01:00
Francisco xyko
d8a65a6921 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/pt_BR/
2018-12-30 13:41:04 +01:00
Jenaro Centeno
7f90cfcdac Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (269 of 269 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/es_MX/
2018-12-30 13:41:04 +01:00
Francisco xyko
7e497ca4c2 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (269 of 269 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/pt_BR/
2018-12-30 13:41:03 +01:00
Jenaro Centeno
0448a02c84 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (36 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/es_MX/
2018-12-30 13:41:03 +01:00
Jenaro Centeno
7bdaafce08 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/bootstrap_tables
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/bootstrap_tables/es_MX/
2018-12-30 13:41:02 +01:00
Jenaro Centeno
1511791dbd Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (26 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/es_MX/
2018-12-30 13:41:02 +01:00
Francisco xyko
2f1c212f4a Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (26 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/pt_BR/
2018-12-30 13:41:01 +01:00
Jenaro Centeno
8877e86af4 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (66 of 66 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/es_MX/
2018-12-30 13:41:01 +01:00
Francisco xyko
d0fb8c789a Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (66 of 66 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/pt_BR/
2018-12-30 13:41:00 +01:00
Johannes Roesch
2fa03cdb22 Translated using Weblate (German)
Currently translated at 100.0% (120 of 120 strings)

Translation: ospos/reports
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/reports/de/
2018-12-26 21:35:16 +01:00
Johannes Roesch
78573e02e7 Translated using Weblate (German)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/receivings
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/receivings/de/
2018-12-26 21:27:06 +01:00
Johannes Roesch
f7196f7a15 Translated using Weblate (German)
Currently translated at 100.0% (68 of 68 strings)

Translation: ospos/giftcards
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/giftcards/de/
2018-12-26 21:21:25 +01:00
Johannes Roesch
28bb50f205 Translated using Weblate (German)
Currently translated at 100.0% (20 of 20 strings)

Translation: ospos/datepicker
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/datepicker/de/
2018-12-26 21:18:31 +01:00
Johannes Roesch
bc006ce1c9 Translated using Weblate (German)
Currently translated at 100.0% (21 of 21 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/de/
2018-12-26 21:16:33 +01:00
Johannes Roesch
41c58b04fc Translated using Weblate (German)
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/de/
2018-12-26 21:12:21 +01:00
Johannes Roesch
e29c8b64f2 Translated using Weblate (German)
Currently translated at 100.0% (26 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/de/
2018-12-26 21:07:17 +01:00
Johannes Roesch
8bc375f2e7 Translated using Weblate (German)
Currently translated at 94.1% (113 of 120 strings)

Translation: ospos/reports
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/reports/de/
2018-12-26 15:52:55 +01:00
Johannes Roesch
754df74512 Translated using Weblate (German)
Currently translated at 100.0% (173 of 173 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/de/
2018-12-26 15:34:26 +01:00
Johannes Roesch
5b6cc424ff Translated using Weblate (German)
Currently translated at 100.0% (33 of 33 strings)

Translation: ospos/item_kits
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/item_kits/de/
2018-12-26 15:06:36 +01:00
Johannes Roesch
f82e69defc Translated using Weblate (German)
Currently translated at 100.0% (19 of 19 strings)

Translation: ospos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/de/
2018-12-26 14:56:26 +01:00
Johannes Roesch
d00fd6a90a Translated using Weblate (German)
Currently translated at 97.7% (43 of 44 strings)

Translation: ospos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/de/
2018-12-26 14:49:00 +01:00
Johannes Roesch
4f69b961dc Translated using Weblate (German)
Currently translated at 98.5% (265 of 269 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/de/
2018-12-26 14:31:50 +01:00
Johannes Roesch
0919042321 Translated using Weblate (German)
Currently translated at 100.0% (108 of 108 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/de/
2018-12-26 14:18:25 +01:00
Johannes Roesch
9bfd6e13f3 Translated using Weblate (German)
Currently translated at 86.5% (58 of 67 strings)

Translation: ospos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/de/
2018-12-26 14:12:07 +01:00
Johannes Roesch
be4715b6d6 Translated using Weblate (German)
Currently translated at 100.0% (39 of 39 strings)

Translation: ospos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/de/
2018-12-26 14:10:30 +01:00
Johannes Roesch
cbcbc70b91 Translated using Weblate (German)
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/de/
2018-12-26 14:09:27 +01:00
Johannes Roesch
2601acc53a Translated using Weblate (German)
Currently translated at 98.1% (106 of 108 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/de/
2018-12-26 14:08:31 +01:00
Johannes Roesch
8c0dd4398c Translated using Weblate (German)
Currently translated at 91.8% (247 of 269 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/de/
2018-12-26 14:06:04 +01:00
Johannes Roesch
c49cc42997 Translated using Weblate (German)
Currently translated at 100.0% (66 of 66 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/de/
2018-12-26 13:50:13 +01:00
Johannes Roesch
0370c4c9d1 Translated using Weblate (German)
Currently translated at 100.0% (36 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/de/
2018-12-26 13:48:10 +01:00
Johannes Roesch
150eff28eb Translated using Weblate (German)
Currently translated at 80.7% (21 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/de/
2018-12-26 13:46:13 +01:00
Jenaro Centeno
7d12a2fec9 Added translation using Weblate (Spanish (Mexico)) 2018-12-26 01:55:37 +01:00
Jenaro Centeno
2d54317c2c Added translation using Weblate (Spanish (Mexico)) 2018-12-26 01:11:06 +01:00
Jenaro Centeno
369f011d8a Added translation using Weblate (Spanish (Mexico)) 2018-12-26 00:57:05 +01:00
Jenaro Centeno
385013da68 Added translation using Weblate (Spanish (Mexico)) 2018-12-26 00:52:16 +01:00
Jenaro Centeno
2a5ee75dac Added translation using Weblate (Spanish (Mexico)) 2018-12-26 00:34:26 +01:00
jekkos
a5a0aa0e1b Refresh langauge files 2018-12-24 20:50:13 +01:00
jekkos
804942cff5 Add warning if migration is needed (#2247) 2018-12-24 20:43:22 +01:00
Steve Ireland
6d43e8882d Merge pull request #2202 from opensourcepos/india-gst
Add support for India GST
2018-12-23 11:27:36 -05:00
Steve Ireland
3220469837 Add support for India GST 2018-12-23 09:16:10 -05:00
FrancescoUK
e4d946fdc9 Fix en-GB translations (#2222) 2018-12-22 18:26:16 +00:00
Ethan Horseshoe
aa309028ea Translated using Weblate (German)
Currently translated at 42.3% (11 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/de/
2018-12-22 15:21:29 +01:00
M.Sva
f4cdc527c3 Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (26 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/ar_EG/
2018-12-22 15:21:29 +01:00
jekkos
6a47d60d35 Update turkish (#2281) 2018-12-22 15:17:42 +01:00
jekkos
e87c1d9210 Merge pull request #2269 from opensourcepos/attribute_lang_changes
As per #2222, these are linguistic clarity changes in master.
2018-12-15 15:28:19 +01:00
WebShells
cabd232b3c Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (20 of 20 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/ar_EG/
2018-12-14 01:02:58 +01:00
Benjamin Kahlau
7c6fe8c272 Translated using Weblate (German)
Currently translated at 88.8% (144 of 162 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/de/
2018-12-14 01:02:58 +01:00
WebShells
c311d9a315 Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (114 of 114 strings)

Translation: ospos/reports
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/reports/ar_EG/
2018-12-14 01:02:58 +01:00
WebShells
244cecd0a7 Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (52 of 52 strings)

Translation: ospos/receivings
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/receivings/ar_EG/
2018-12-14 01:02:58 +01:00
WebShells
3d1176a9dd Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (39 of 39 strings)

Translation: ospos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/ar_EG/
2018-12-14 01:02:58 +01:00
WebShells
de62b9441c Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (12 of 12 strings)

Translation: ospos/messages
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/messages/ar_EG/
2018-12-14 01:02:58 +01:00
WebShells
17d80dd8ec Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/ar_EG/
2018-12-14 01:02:58 +01:00
WebShells
ec167cedd3 Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (107 of 107 strings)

Translation: ospos/items
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/items/ar_EG/
2018-12-14 01:02:58 +01:00
WebShells
38bc7cacae Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (19 of 19 strings)

Translation: ospos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/ar_EG/
2018-12-14 01:02:58 +01:00
WebShells
cc5a9b5d09 Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (44 of 44 strings)

Translation: ospos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/ar_EG/
2018-12-14 01:02:58 +01:00
WebShells
e9d00db912 Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (20 of 20 strings)

Translation: ospos/datepicker
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/datepicker/ar_EG/
2018-12-14 01:02:58 +01:00
WebShells
ee702d9475 Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (51 of 51 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/ar_EG/
2018-12-14 01:02:58 +01:00
Francisco xyko
1602404d32 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (263 of 263 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/pt_BR/
2018-12-14 01:02:58 +01:00
WebShells
b416b947ee Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (263 of 263 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/ar_EG/
2018-12-14 01:02:58 +01:00
mazbrili
dca79f6b0b Translated using Weblate (Indonesian)
Currently translated at 47.2% (17 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/id/
2018-12-14 01:02:58 +01:00
WebShells
54f3fa37e6 Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (36 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/ar_EG/
2018-12-14 01:02:58 +01:00
WebShells
4a14620c16 Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/bootstrap_tables
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/bootstrap_tables/ar_EG/
2018-12-14 01:02:58 +01:00
Benjamin Kahlau
dd8585a1fb Translated using Weblate (German)
Currently translated at 11.5% (3 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/de/
2018-12-14 01:02:58 +01:00
objecttothis
42c444e3d9 Translated using Weblate (English (United States))
Currently translated at 100.0% (26 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/en_US/
2018-12-14 01:02:58 +01:00
WebShells
cd8078fa4f Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (26 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/ar_EG/
2018-12-14 01:02:58 +01:00
Benjamin Kahlau
b6deb18e66 Translated using Weblate (German)
Currently translated at 98.4% (64 of 65 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/de/
2018-12-14 01:02:58 +01:00
objecttothis
5a907259ee Translated using Weblate (English (United States))
Currently translated at 100.0% (65 of 65 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/en_US/
2018-12-14 01:02:58 +01:00
WebShells
d0bf52444c Translated using Weblate (Arabic (Egypt))
Currently translated at 100.0% (65 of 65 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/ar_EG/
2018-12-14 01:02:58 +01:00
objecttothis
41599bb11b Merge branch 'master' into attribute_lang_changes 2018-12-13 14:40:52 +04:00
objecttothis
4cd0ed7ecb As per #2222, these are linguistic clarity changes in master. 2018-12-13 14:35:57 +04:00
jekkos
06a6f82015 Fix attribute search (#2268) 2018-12-12 23:20:25 +01:00
jekkos
26fdac75e3 Upgrade docker php version 2018-12-12 21:49:12 +01:00
Weblate
4ca07c8b2c Merge branch 'origin/master' into Weblate 2018-12-09 14:17:31 +01:00
Gary Sze
21ae793784 Translated using Weblate (Chinese (Traditional))
Currently translated at 83.3% (135 of 162 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/zh_Hant/
2018-12-09 14:17:28 +01:00
jekkos
4ee8207ec1 Update gitter URL link (point to new ospos room) 2018-12-07 00:26:04 +01:00
Gary Sze
6f0bfdc6bf Translated using Weblate (Chinese (Traditional))
Currently translated at 79.6% (129 of 162 strings)

Translation: ospos/sales
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/sales/zh_Hant/
2018-12-05 18:01:07 +01:00
Gary Sze
bdf834e40e Translated using Weblate (Chinese (Traditional))
Currently translated at 45.0% (23 of 51 strings)

Translation: ospos/customers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/customers/zh_Hant/
2018-12-05 18:01:06 +01:00
Gary Sze
aaac19ad20 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (65 of 65 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/zh_Hant/
2018-12-05 18:01:05 +01:00
jekkos
69522b751a Added translation using Weblate (Malayalam) 2018-12-05 12:01:11 +01:00
Weblate
bea75566d6 Merge branch 'origin/master' into Weblate 2018-12-05 00:07:11 +01:00
Francisco xyko
20488c6a01 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (20 of 20 strings)

Translation: ospos/suppliers
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/suppliers/pt_BR/
2018-12-05 00:07:08 +01:00
Francisco xyko
809eceb8cb Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (39 of 39 strings)

Translation: ospos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/pt_BR/
2018-12-05 00:07:08 +01:00
Francisco xyko
df6fd28d24 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (12 of 12 strings)

Translation: ospos/messages
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/messages/pt_BR/
2018-12-05 00:07:08 +01:00
Francisco xyko
28c01e86e7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/pt_BR/
2018-12-05 00:07:07 +01:00
mazbrili
381750c84d Translated using Weblate (Indonesian)
Currently translated at 100.0% (8 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/id/
2018-12-05 00:07:07 +01:00
M.Sva
15b5e25a1a Translated using Weblate (Arabic (Egypt))
Currently translated at 87.5% (7 of 8 strings)

Translation: ospos/login
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/login/ar_EG/
2018-12-05 00:07:07 +01:00
mazbrili
2418f3b44b Translated using Weblate (Indonesian)
Currently translated at 100.0% (33 of 33 strings)

Translation: ospos/item_kits
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/item_kits/id/
2018-12-05 00:07:06 +01:00
Francisco xyko
5ffc474fa4 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (44 of 44 strings)

Translation: ospos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/pt_BR/
2018-12-05 00:07:06 +01:00
Francisco xyko
1e0b2f6285 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (20 of 20 strings)

Translation: ospos/datepicker
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/datepicker/pt_BR/
2018-12-05 00:07:05 +01:00
mazbrili
8953c0af4c Translated using Weblate (Indonesian)
Currently translated at 100.0% (20 of 20 strings)

Translation: ospos/datepicker
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/datepicker/id/
2018-12-05 00:07:05 +01:00
Francisco xyko
6bfe6a0035 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (262 of 262 strings)

Translation: ospos/config
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/config/pt_BR/
2018-12-05 00:07:05 +01:00
Francisco xyko
8f8fec39ab Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (36 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/pt_BR/
2018-12-05 00:07:04 +01:00
mazbrili
d29d004f3d Translated using Weblate (Indonesian)
Currently translated at 11.1% (4 of 36 strings)

Translation: ospos/cashups
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/cashups/id/
2018-12-05 00:07:04 +01:00
Francisco xyko
5a15a29cea Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (26 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/pt_BR/
2018-12-05 00:07:03 +01:00
Francisco xyko
e57ae3e3ba Translated using Weblate (English (United States))
Currently translated at 100.0% (26 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/en_US/
2018-12-05 00:07:03 +01:00
Francisco xyko
384e9b93f1 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (26 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/en_GB/
2018-12-05 00:07:03 +01:00
M.Sva
cc0895bb9d Translated using Weblate (Arabic (Egypt))
Currently translated at 11.5% (3 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/ar_EG/
2018-12-05 00:07:02 +01:00
Francisco xyko
dbbf8c0d40 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (65 of 65 strings)

Translation: ospos/common
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/common/pt_BR/
2018-12-05 00:07:02 +01:00
jekkos
70ea30efbd Remove deprecated translations for custom fields (#2253) 2018-12-04 23:19:24 +01:00
objecttothis
41db04eb0e Removed rows associated with custom fields in ospos_app_config 2018-12-04 23:00:30 +01:00
objecttothis
e432cd9b4e Removed deprecated language lines pertaining to custom fields which no
longer exist as of 3.3.0
2018-12-04 23:00:30 +01:00
jekkos
2f3c75db25 Show attribute values in search results (#2248) 2018-12-03 23:09:11 +01:00
jekkos
38ad73cc70 Translated using Weblate (Flemish)
Currently translated at 100.0% (39 of 39 strings)

Translation: ospos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/nl_BE/
2018-12-03 22:43:12 +01:00
jekkos
497befdf78 Sync language files (#2253) 2018-12-03 21:18:03 +01:00
jekkos
44ce09be0f Translated using Weblate (Flemish)
Currently translated at 100.0% (26 of 26 strings)

Translation: ospos/attributes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/attributes/nl_BE/
2018-12-02 02:03:57 +01:00
objecttothis
b1e123aaa1 Merge pull request #2246 from opensourcepos/attributes_migration_tweaks
Attributes migration tweaks
2018-11-29 10:20:12 +04:00
objecttothis
cc669eb347 Increase maximum varchar size to 255 for attribute_value 2018-11-27 17:37:27 +04:00
objecttothis
0509c24f31 Check for and exclude empty custom values not just NULL custom values 2018-11-27 17:35:25 +04:00
jekkos
3f3e1581ce Extend request timeout if migration needs to be done (#2241) 2018-11-26 23:52:58 +01:00
jekkos
9f386b003b Keep attributes selected when creating new items (#2221) 2018-11-26 13:06:25 +01:00
FrancescoUK
383a2d0520 Update composer.lock 2018-11-17 20:32:26 +00:00
jekkos
3a66646e09 Update minimum supported PHP version 2018-11-16 09:04:28 +01:00
jekkos
ceeebfcc62 Bump minimum PHP version in composer 2018-11-16 09:02:08 +01:00
jekkos
bbac4c5847 Set migrated attribute visiblity to items only (#2224) 2018-11-15 23:31:36 +01:00
jekkos
e8aa12a296 Add default attribute visiblity (#2224) 2018-11-15 23:23:20 +01:00
jekkos
c93b057ba1 Fix items column sorting order (#2224) 2018-11-15 22:08:54 +01:00
jekkos
2e67007c69 Fix attributes submit error (#2201) 2018-11-15 21:54:35 +01:00
jekkos
465a2c29d5 Fix temporal dependency in migration 2018-11-05 19:30:12 +01:00
jekkos
db6963a8a6 Fix blank screen after update (#2201) 2018-11-03 23:24:19 +01:00
jekkos
afbb06eaad Fix issue with PHP7.2 (#2190) 2018-11-03 20:19:19 +01:00
Steve Ireland
145e0b7783 Merge pull request #2215 from opensourcepos/chinese-lang
Split Chinese language options into Simplified and Traditional
2018-10-31 11:25:54 -04:00
Steve Ireland
42a69e7e9d Split Chinese language options into Simplified and Traditional 2018-10-30 20:50:01 -04:00
Khaled Saad
aa58bfdb76 Translated using Weblate (Arabic)
Currently translated at 100.0% (33 of 33 strings)
2018-10-24 08:31:39 +02:00
Khaled Saad
2810d930b0 Translated using Weblate (Arabic)
Currently translated at 100.0% (162 of 162 strings)
2018-10-24 08:29:07 +02:00
Khaled Saad
8dbed47a87 Translated using Weblate (Arabic)
Currently translated at 100.0% (272 of 272 strings)
2018-10-24 08:22:24 +02:00
WIbi
9b6276411f Translated using Weblate (Indonesian)
Currently translated at 100.0% (19 of 19 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/id/
2018-10-23 08:39:51 +02:00
WIbi
7aa50530c0 Translated using Weblate (Indonesian)
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/id/
2018-10-23 08:39:51 +02:00
WIbi
d99aba0bcc Translated using Weblate (Indonesian)
Currently translated at 100.0% (20 of 20 strings)
2018-10-23 08:39:51 +02:00
WIbi
dfd32d1b0e Translated using Weblate (Indonesian)
Currently translated at 100.0% (162 of 162 strings)
2018-10-23 08:39:51 +02:00
WIbi
1138bbf40e Translated using Weblate (Indonesian)
Currently translated at 100.0% (110 of 110 strings)
2018-10-23 08:39:51 +02:00
WIbi
bf658af8d0 Translated using Weblate (Indonesian)
Currently translated at 100.0% (52 of 52 strings)
2018-10-23 08:39:11 +02:00
WIbi
d4f449697f Translated using Weblate (Indonesian)
Currently translated at 100.0% (37 of 37 strings)

Translation: opensourcepos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/id/
2018-10-23 08:39:11 +02:00
WIbi
04346da7ef Translated using Weblate (Indonesian)
Currently translated at 100.0% (30 of 30 strings)
2018-10-23 08:39:11 +02:00
WIbi
64c2596979 Translated using Weblate (Indonesian)
Currently translated at 100.0% (68 of 68 strings)
2018-10-23 08:38:42 +02:00
WIbi
33502e4613 Translated using Weblate (Indonesian)
Currently translated at 99.6% (270 of 271 strings)
2018-10-23 08:38:42 +02:00
WIbi
d02cd24ebf Translated using Weblate (Indonesian)
Currently translated at 100.0% (65 of 65 strings)
2018-10-23 08:38:42 +02:00
WIbi
440cacade1 Translated using Weblate (Indonesian)
Currently translated at 100.0% (7 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/enum/id/
2018-10-23 08:38:42 +02:00
WIbi
6e84469aa2 Translated using Weblate (Indonesian)
Currently translated at 100.0% (110 of 110 strings)
2018-10-23 08:38:42 +02:00
WIbi
2eca946504 Translated using Weblate (Indonesian)
Currently translated at 100.0% (30 of 30 strings)
2018-10-23 08:38:42 +02:00
WIbi
a8d6ee6b43 Translated using Weblate (Indonesian)
Currently translated at 100.0% (162 of 162 strings)
2018-10-23 08:38:42 +02:00
WIbi
e0dafb7ab8 Translated using Weblate (Indonesian)
Currently translated at 100.0% (52 of 52 strings)
2018-10-23 08:38:42 +02:00
Zhivko Vanev
5d2f49e950 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (35 of 35 strings)
2018-10-23 08:38:42 +02:00
Eugen Sclavone
76684f69f5 Translated using Weblate (Romanian)
Currently translated at 23.6% (64 of 271 strings)
2018-10-23 08:38:42 +02:00
WIbi
9d1d57d42b Translated using Weblate (Indonesian)
Currently translated at 100.0% (37 of 37 strings)

Translation: opensourcepos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/id/
2018-10-23 08:37:15 +02:00
FrancescoUK
e9c192f70b Merge branch 'emi-silva-linked-expenses-supplier'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2018-10-21 17:22:27 +01:00
FrancescoUK
12ca6125fb Minor fixes 2018-10-21 17:21:05 +01:00
Emilio Silva Schlenker
f96f5efe48 Ternary operator instead of if clause to keep consistency 2018-10-21 16:51:34 +01:00
Emilio Silva Schlenker
5650a26381 Corrected indentation, chained some frontend calls 2018-10-21 16:51:34 +01:00
Emilio Silva Schlenker
2122866b50 Supplier field optional, SQL script, removed extra tab 2018-10-21 16:51:34 +01:00
Emilio Silva Schlenker
18db2e5c82 linked expenses with suppliers 2018-10-21 16:51:34 +01:00
Steve Ireland
1627a26bf6 Remove license folder and .license file 2018-10-17 21:44:16 -04:00
FrancescoUK
21ed53aa6d Minor fixes (#68) 2018-10-15 21:11:28 +01:00
jekkos
612d23fa63 Fix attribute selection for update (#68) 2018-10-15 19:32:29 +02:00
jekkos
3c6f7dd9c1 Fix item update query (#68) 2018-10-15 19:32:29 +02:00
jekkos
504f9cf853 Align items + sales and receivings reports (#68) 2018-10-15 19:32:29 +02:00
jekkos
fd00a74225 Refactor + fix detailed reports (#68) 2018-10-15 19:32:29 +02:00
jekkos
9c5ec71c19 Show line in detailed reports if no attribute value (#68) 2018-10-15 19:32:29 +02:00
jekkos
a7bc09312d Update migration script (#68) 2018-10-15 19:32:29 +02:00
jekkos
9c863e7795 Fix undefined offset error in devmode (#68) 2018-10-15 19:32:29 +02:00
jekkos
abc067a10b Fix development mode warning (#68) 2018-10-15 19:32:29 +02:00
jekkos
6fc2072967 Fix attribute search (#68) 2018-10-15 19:32:29 +02:00
jekkos
9570cb8b28 Fix offset warning (#68) 2018-10-15 19:32:29 +02:00
jekkos
8e58d57ab3 Fix line count in detailed sales/receivings reports (#68) 2018-10-15 19:32:29 +02:00
jekkos
7683cfe5c9 Fix dropdown preselection on edit (#68) 2018-10-15 19:32:29 +02:00
jekkos
43e3400468 Fix item row refresh (#68) 2018-10-15 19:32:29 +02:00
jekkos
74f31dbaf9 Keep unsaved attributes when adding multiple (#68) 2018-10-15 19:32:29 +02:00
jekkos
b9cba20d84 Fix items row refresh (#68) 2018-10-15 19:32:29 +02:00
jekkos
9cdfc0ce8a Fix css overflow + form refresh 2018-10-15 19:32:29 +02:00
jekkos
667c4e2afe Fix values when using multiple attribute columns (#68) 2018-10-15 19:32:29 +02:00
jekkos
e2147d8b00 Update language files (#68) 2018-10-15 19:32:29 +02:00
FrancescoUK
a7bad34fce Fix language files 2018-10-15 19:32:29 +02:00
jekkos
093b2d96af Correct language files (#68) 2018-10-15 19:32:29 +02:00
jekkos
fc01e35a43 Add collation to tables 2018-10-15 19:32:29 +02:00
jekkos
9e7543a41a Fix attribute values in items (#68) 2018-10-15 19:32:29 +02:00
jekkos
3c21b8ff5a Minor db script review remarks 2018-10-15 19:32:29 +02:00
jekkos
2fc353cd14 Don't show GROUP attribute as column (#68) 2018-10-15 19:32:29 +02:00
jekkos
9d0da3e6b8 Fix detailed receivings/sales report issues (#68) 2018-10-15 19:32:29 +02:00
jekkos
83dc1de6d6 Don't create attributes if custom fields were empty (#68) 2018-10-15 19:32:29 +02:00
jekkos
1ed56e388b Rename migration script (#68) 2018-10-15 19:32:29 +02:00
jekkos
5d088f0283 Revert tables.sql to original 3.0 (#68) 2018-10-15 19:32:29 +02:00
jekkos
77682973a0 Enable attributes in items table (#68) 2018-10-15 19:32:29 +02:00
jekkos
288b4029d7 Add attributes to detailed sales/receiving reports (#68) 2018-10-15 19:32:29 +02:00
jekkos
0fc702627e Fix detailed reports (#68) 2018-10-15 19:32:29 +02:00
jekkos
b2da8f5e9d Fix attribute delete (#68) 2018-10-15 19:32:29 +02:00
FrancescoUK
f86eaa78a2 Update form.php 2018-10-15 19:32:29 +02:00
FrancescoUK
6bbf927d81 Update Attribute.php 2018-10-15 19:32:29 +02:00
FrancescoUK
be3d0fe8e1 Update item.php 2018-10-15 19:32:29 +02:00
FrancescoUK
042c81a6b4 Update form.php 2018-10-15 19:32:29 +02:00
FrancescoUK
75097e9485 Update Item.php 2018-10-15 19:32:29 +02:00
FrancescoUK
27122a8578 Update form.php 2018-10-15 19:32:29 +02:00
FrancescoUK
3c876d7f6f Update Items.php 2018-10-15 19:32:29 +02:00
FrancescoUK
c61d32bc58 Update Item_kit.php 2018-10-15 19:32:29 +02:00
FrancescoUK
03aaec04b9 Update module_lang.php 2018-10-15 19:32:29 +02:00
FrancescoUK
744854726c Update module_lang.php 2018-10-15 19:32:29 +02:00
jekkos
a0727a8ea5 Fix bug in sales receipt (#68) 2018-10-15 19:32:29 +02:00
jekkos
3be57ffb66 Fix config screen (#68) 2018-10-15 19:32:29 +02:00
jekkos
085d24447c Disablel SHOW_IN_ITEMS (#68) 2018-10-15 19:32:29 +02:00
jekkos
8b212a8dd0 Fix some final bugs (#68) 2018-10-15 19:32:29 +02:00
jekkos
1a490cedf5 Add support for DATETIME in attributes (#68) 2018-10-15 19:32:29 +02:00
jekkos
98022f3b96 Cleanup + enable item attribute delete (#68) 2018-10-15 19:32:29 +02:00
jekkos
1e0063e574 Fix attribute table refresh (#68) 2018-10-15 19:32:29 +02:00
jekkos
a8d73d5f99 Add attributes to items (#68) 2018-10-15 19:32:29 +02:00
jekkos
500a8d7a8f Work in progress, still testing items form (#68) 2018-10-15 19:32:29 +02:00
jekkos
df61ee09bb Add item attributes functionality (#68) 2018-10-15 19:32:29 +02:00
FrancescoUK
f521257570 Fix Items search category issue (#2179) 2018-10-13 17:23:28 +01:00
jekkos
ddcece66d6 Fix bstables sorting (#2159) 2018-10-13 14:12:01 +02:00
Zhivko Vanev
a268c0a48d Translated using Weblate (Bulgarian)
Currently translated at 100.0% (2 of 2 strings)
2018-10-11 09:00:49 +02:00
Zhivko Vanev
77f9251447 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (162 of 162 strings)
2018-10-11 09:00:49 +02:00
Zhivko Vanev
e8f85ef27f Translated using Weblate (Bulgarian)
Currently translated at 100.0% (51 of 51 strings)
2018-10-11 09:00:49 +02:00
FrancescoUK
6342f5e4b8 Fix chartist broken dependency, upgrade composer dependencies 2018-10-07 16:43:41 +01:00
FrancescoUK
44712e7efe Add recent code contributors to LICENSE files 2018-10-07 16:01:06 +01:00
FrancescoUK
c855bc00d7 Merge Supplier Category (#2088) 2018-10-07 15:46:36 +01:00
FrancescoUK
006ee22435 Add Supplier Category (#2088) 2018-10-07 15:45:20 +01:00
FrancescoUK
deed04cd46 Alter cashup db table (#440 #2131) 2018-10-03 21:10:20 +01:00
FrancescoUK
bc34293cac Add due payment to cashup (#440 #2131) 2018-09-30 15:17:31 +01:00
Zhivko Vanev
cc47df6ee6 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/bg/
2018-09-30 09:43:01 +02:00
Zhivko Vanev
1b8d7a6de5 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (17 of 17 strings)
2018-09-30 08:24:16 +02:00
Xyko Arteiro
cfa7844a42 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (272 of 272 strings)
2018-09-30 08:24:16 +02:00
Zhivko Vanev
c2f8fcb0c4 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/bg/
2018-09-30 08:24:16 +02:00
Zhivko Vanev
ef8dc97de9 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (17 of 17 strings)
2018-09-30 08:24:16 +02:00
Xyko Arteiro
710ab32b2f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (272 of 272 strings)
2018-09-30 08:24:16 +02:00
Xyko Arteiro
87f63c4655 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (162 of 162 strings)
2018-09-30 08:24:16 +02:00
Xyko Arteiro
adc72571ba Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (114 of 114 strings)
2018-09-30 08:24:16 +02:00
jekkos
c57f063dc1 Fix discount calculation 2018-09-29 16:47:28 +02:00
jekkos
511f21931c Fix discount totals 2018-09-28 20:52:42 +02:00
jekkos
46b845ab01 Add totals to discount repor 2018-09-28 20:43:12 +02:00
jekkos
68051bdcdb Add totals to discount report 2018-09-28 20:42:52 +02:00
Steve Ireland
6d5f518855 Fix issue with deleted items not being included in reprinted receipts. 2018-09-28 20:37:51 +02:00
Steve Ireland
3a7d8415f6 Merge pull request #2162 from RuleDomain/fix_receipt_missing_del_item
Fix issue with deleted items not being included in reprinted receipts.
2018-09-25 21:06:08 -04:00
Steve Ireland
68fe267fad Fix issue with deleted items not being included in reprinted receipts. 2018-09-25 20:24:20 -04:00
Xyko Arteiro
dd83139760 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (37 of 37 strings)

Translation: opensourcepos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/pt_BR/
2018-09-23 20:45:40 +02:00
Xyko Arteiro
b561de77ab Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (108 of 108 strings)
2018-09-23 20:43:07 +02:00
Xyko Arteiro
1ffbbefca4 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (19 of 19 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/pt_BR/
2018-09-23 20:41:37 +02:00
Xyko Arteiro
d692553d02 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (51 of 51 strings)
2018-09-23 20:41:05 +02:00
Xyko Arteiro
b38e090fe8 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (52 of 52 strings)
2018-09-23 20:40:08 +02:00
Xyko Arteiro
6db892467c Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (33 of 33 strings)
2018-09-23 20:37:42 +02:00
Xyko Arteiro
330ec999b5 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (7 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/enum/pt_BR/
2018-09-23 20:26:53 +02:00
FrancescoUK
a30d2d2506 Merge pull request #2144 from opensourcepos/public_redirect
Correct errors in redirect with advanced install
2018-09-23 16:47:56 +01:00
jekkos
a6b5726cdc Start migration after installation check (#2148) 2018-09-23 14:28:23 +02:00
jekkos
9f71427fee Check for employee language property first (#2148) 2018-09-23 14:17:30 +02:00
jekkos
2cc58ad546 Fix language fallback (#2148) 2018-09-23 02:04:16 +02:00
Josh
c3ba10f2e5 update invoice_email.css typo (#2146)
Correcting css html color code.
2018-09-19 11:58:00 +03:00
objecttothis
0ffece7cb8 Correct errors in redirect with advanced install
This should cover the following scenarios
1- Install is in the root folder (www.example.com)
2- Install is in a subfolder (www.example.com/pos/)
3- Install is in an subdomain or subdomain and subfolder (pos.example.com or pos.example.com/abc)
4- User attempts to navigate to other subfolders (www.example.com/vendor).

In each case the expected behavior is to redirect to URI/public as an external redirect with no errors.

When testing PLEASE clear your browser cache/history and restart your browser.  Most browsers have a bad habit of caching errors and then you don't know if you are getting a cached error or the current results.
2018-09-18 18:15:34 +04:00
jekkos
dbfe9b7e55 Migration script fixes 2018-09-16 23:50:07 +02:00
jekkos
9307ebbaa9 Revert wrong change 2018-09-16 23:50:07 +02:00
jekkos
2181b0ebce Update second method 2018-09-16 23:50:07 +02:00
jekkos
ec5e016401 Fix tax migration script 2018-09-16 23:50:07 +02:00
Weblate
513f847f4d Upade Czech translation 2018-09-16 15:39:30 +02:00
Weblate
d5c270b4dc Translated using Weblate (Flemish)
Currently translated at 99.3% (161 of 162 strings)
2018-09-16 15:39:30 +02:00
FrancescoUK
522011b92c Fix migration scripts (#440) 2018-09-09 20:14:59 +01:00
Rostislav Hučka
26ac789e57 Translated using Weblate (Czech)
Currently translated at 90.1% (46 of 51 strings)
2018-09-09 20:08:05 +02:00
Rostislav Hučka
3e07d2cd01 Translated using Weblate (Czech)
Currently translated at 86.4% (140 of 162 strings)
2018-09-09 20:08:05 +02:00
Rostislav Hučka
922143aacf Translated using Weblate (Czech)
Currently translated at 91.8% (101 of 110 strings)
2018-09-09 20:08:05 +02:00
FrancescoUK
d8cb0dfc9b Add cashup feature (#440)
Add cashup feature
2018-09-09 12:48:11 +01:00
FrancescoUK
b3bfc51ee8 Add cashup feature 2018-09-09 11:09:43 +01:00
FrancescoUK
4420dccc60 Add (commented out) phpmyadmin to docker-compose 2018-09-09 10:18:44 +01:00
FrancescoUK
c7b32a5a0e Minor fixes 2018-09-08 15:48:21 +01:00
FrancescoUK
493eb5051c Merge pull request #2127 from erastus/master
fixed in specific_customer change discount_fixed for discount_type
2018-09-08 06:43:45 +01:00
Erastus
82a228fa99 fixed in specific_customer change discount_fixed for discount_type 2018-09-07 16:35:52 -05:00
Weblate
f80d42e211 Translated using Weblate (Flemish)
Currently translated at 99.3% (161 of 162 strings)
2018-09-07 20:22:53 +02:00
Weblate
e52634bd06 Update German + Flemish 2018-09-07 19:51:16 +02:00
Aril Apria Susanto
0bcee8eff2 Translated using Weblate (Indonesian)
Currently translated at 100.0% (17 of 17 strings)
2018-09-07 19:51:16 +02:00
Weblate
801c8e284d Translated using Weblate (Flemish)
Currently translated at 100.0% (17 of 17 strings)
2018-09-07 19:51:16 +02:00
Aril Apria Susanto
96bd405e4f Translated using Weblate (Indonesian)
Currently translated at 94.5% (104 of 110 strings)
2018-09-07 19:51:16 +02:00
Weblate
745a20d2f3 Translated using Weblate (Flemish)
Currently translated at 99.0% (109 of 110 strings)
2018-09-07 19:51:16 +02:00
Weblate
be33a6e14b Translated using Weblate (Flemish)
Currently translated at 100.0% (51 of 51 strings)
2018-09-07 19:51:16 +02:00
Aril Apria Susanto
c25279db8c Translated using Weblate (Indonesian)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/id/
2018-09-07 19:51:16 +02:00
Aril Apria Susanto
bbbf706941 Translated using Weblate (Indonesian)
Currently translated at 100.0% (104 of 104 strings)
2018-09-07 19:51:16 +02:00
Aril Apria Susanto
c29da31752 Translated using Weblate (Indonesian)
Currently translated at 96.6% (29 of 30 strings)
2018-09-07 19:51:16 +02:00
Aril Apria Susanto
70aef10e14 Translated using Weblate (Indonesian)
Currently translated at 100.0% (68 of 68 strings)
2018-09-07 19:51:16 +02:00
Weblate
c9411a1430 Translated using Weblate (Flemish)
Currently translated at 94.4% (17 of 18 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/nl_BE/
2018-09-07 19:51:16 +02:00
Songwut Kanchanakosai
51cfae280f Translated using Weblate (Thai)
Currently translated at 51.1% (22 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/th/
2018-09-07 19:51:16 +02:00
Aril Apria Susanto
8bf1cc1775 Translated using Weblate (Indonesian)
Currently translated at 95.3% (41 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/id/
2018-09-07 19:51:16 +02:00
Songwut Kanchanakosai
02890a528f Translated using Weblate (Thai)
Currently translated at 71.4% (5 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/enum/th/
2018-09-07 19:51:16 +02:00
Xyko Arteiro
c3063b32fe Translated using Weblate (Portuguese (Brazil))
Currently translated at 85.7% (6 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/enum/pt_BR/
2018-09-07 19:51:16 +02:00
Aril Apria Susanto
dfb33b09ee Translated using Weblate (Indonesian)
Currently translated at 57.1% (4 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/enum/id/
2018-09-07 19:51:16 +02:00
Aril Apria Susanto
849bba59bd Translated using Weblate (Indonesian)
Currently translated at 100.0% (35 of 35 strings)
2018-09-07 19:51:16 +02:00
Weblate
f18be62946 Translated using Weblate (Flemish)
Currently translated at 100.0% (35 of 35 strings)
2018-09-07 19:51:16 +02:00
Aril Apria Susanto
dfd5913583 Translated using Weblate (Indonesian)
Currently translated at 100.0% (48 of 48 strings)
2018-09-07 19:51:16 +02:00
Emanuel Ioan Cretu
85b6185fda Translated using Weblate (Romanian)
Currently translated at 13.2% (36 of 271 strings)
2018-09-07 19:51:16 +02:00
Aril Apria Susanto
11564228bf Translated using Weblate (Indonesian)
Currently translated at 97.7% (265 of 271 strings)
2018-09-07 19:51:16 +02:00
Weblate
a0eb54ef14 Translated using Weblate (Flemish)
Currently translated at 100.0% (271 of 271 strings)
2018-09-07 19:51:16 +02:00
Weblate
d4368333e3 Translated using Weblate (Flemish)
Currently translated at 100.0% (51 of 51 strings)
2018-09-07 19:51:16 +02:00
Weblate
1d4c69394c Translated using Weblate (Flemish)
Currently translated at 100.0% (271 of 271 strings)
2018-09-07 19:51:16 +02:00
Weblate
2c55c22d4a Translated using Weblate (Flemish)
Currently translated at 100.0% (17 of 17 strings)
2018-09-07 19:51:16 +02:00
jekkos
2605dff9b7 Fix colspan in receivings 2018-09-07 00:38:11 +02:00
FrancescoUK
6d03c1a1fb Merge pull request #2126 from opensourcepos/fix-employee-name
Fix employee name on receipt/invoice (#2108)
2018-09-06 14:04:33 +01:00
jekkos
f19147b201 Fix employee name on receipt/invoice (#2108) 2018-09-06 14:23:16 +02:00
jekkos
d81ff11483 Remove docker-cloud + stop pushing sqlscript (#2120, #1939) 2018-09-06 09:37:09 +02:00
jekkos
9ca63e1b55 Add credits 2018-09-05 21:10:12 +02:00
Weblate
2c1035cba4 Update thai translations 2018-09-05 08:49:17 +02:00
Emanuel Ioan Cretu
68c9173353 Added translation using Weblate (Romanian) 2018-09-05 08:49:17 +02:00
Emanuel Ioan Cretu
055c0df2a0 Translated using Weblate (Romanian)
Currently translated at 100.0% (65 of 65 strings)
2018-09-05 08:49:17 +02:00
Emanuel Ioan Cretu
6aff17a212 Added translation using Weblate (Romanian) 2018-09-05 08:49:17 +02:00
Emanuel Ioan Cretu
d40bc6cc4d Translated using Weblate (Romanian)
Currently translated at 100.0% (8 of 8 strings)

Romanian people know what means Refresh,
2018-09-05 08:49:17 +02:00
Emanuel Ioan Cretu
e7b89e1d9a Translated using Weblate (Romanian)
Currently translated at 75.0% (6 of 8 strings)
2018-09-05 08:49:17 +02:00
Weblate
091cf1d9d8 Added translation using Weblate (Romanian) 2018-09-05 08:49:17 +02:00
Aril Apria Susanto
a46cc5d8ae Translated using Weblate (Indonesian)
Currently translated at 100.0% (17 of 17 strings)
2018-09-05 08:49:17 +02:00
Aril Apria Susanto
33371a071e Translated using Weblate (Indonesian)
Currently translated at 100.0% (104 of 104 strings)
2018-09-05 08:49:17 +02:00
Aril Apria Susanto
df43f14093 Translated using Weblate (Indonesian)
Currently translated at 100.0% (35 of 35 strings)
2018-09-05 08:49:17 +02:00
Aril Apria Susanto
ae801455f2 Translated using Weblate (Indonesian)
Currently translated at 100.0% (18 of 18 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/id/
2018-09-05 08:49:17 +02:00
Aril Apria Susanto
a267fb20b0 Translated using Weblate (Indonesian)
Currently translated at 100.0% (68 of 68 strings)
2018-09-05 08:49:17 +02:00
Aril Apria Susanto
b46e69efe9 Translated using Weblate (Indonesian)
Currently translated at 100.0% (48 of 48 strings)
2018-09-05 08:49:17 +02:00
Xyko Arteiro
f9928acd42 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (104 of 104 strings)
2018-09-05 08:49:17 +02:00
Xyko Arteiro
b2cc7ae0d7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (271 of 271 strings)
2018-09-05 08:49:17 +02:00
Xyko Arteiro
745ae8eaaa Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (110 of 110 strings)
2018-09-05 08:49:17 +02:00
Xyko Arteiro
6b40ae25f8 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (48 of 48 strings)
2018-09-05 08:49:17 +02:00
Khalid
b893d23915 Translated using Weblate (Arabic)
Currently translated at 100.0% (104 of 104 strings)
2018-09-05 08:49:17 +02:00
SOTOS
346dcac65b Added translation using Weblate (Greek) 2018-09-05 08:49:17 +02:00
SOTOS
64079fbd90 Added translation using Weblate (Greek) 2018-09-05 08:49:17 +02:00
Trần Ngọc Quân
61954733d7 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (104 of 104 strings)
2018-09-05 08:49:17 +02:00
Songwut Kanchanakosai
1bb46fa905 Translated using Weblate (Thai)
Currently translated at 100.0% (65 of 65 strings)
2018-09-05 08:49:17 +02:00
FrancescoUK
4d11a55091 Amend database upgrade script (#2061) 2018-09-04 22:17:43 +01:00
FrancescoUK
35c57e6cf2 Add en-GB translations 2018-09-03 21:57:36 +01:00
FrancescoUK
f9f8f0cb50 Merge pull request #2091 from erastus/master
Discount on Sales
2018-09-03 21:48:14 +01:00
FrancescoUK
561f6eb784 Update README.md 2018-09-03 19:28:06 +01:00
Erastus
858f7614f9 merge branch 2018-09-03 01:10:28 -05:00
Erastus
c57d8ef536 discount in item_kits 2018-09-03 00:51:34 -05:00
Erastus
3b659526f3 cleaning spaces 2018-09-02 17:58:41 -05:00
FrancescoUK
7e85586313 Fix Receivings colspan when cart is empty 2018-09-01 16:24:28 +01:00
jekkos
a1ae343139 Add download badge to README.md 2018-09-01 11:16:16 +02:00
jekkos
da114ae988 Add item_number to receivings view 2018-09-01 09:42:46 +02:00
Erastus
53efbdb3b7 reports discount fixed 2018-08-31 23:05:32 -05:00
jekkos
024565d67c Enable array filtering (#2030) 2018-09-01 01:23:07 +02:00
jekkos
0248a50ae3 Filter out duplicate results (#2038) 2018-09-01 01:23:07 +02:00
Erastus
eb6a7b08fa default_sales_discount_fixed deleted 2018-08-31 16:01:34 -05:00
Erastus
a6b11e6f48 new discount on sales 2018-08-31 15:27:44 -05:00
FrancescoUK
26e33dddec Check FORCE_HTTPS env to be true, upgrade MariaDB vs in docker-compose 2018-08-25 16:03:07 +01:00
Erastus
a5f0c83e87 update Tax_lib 2018-08-21 10:57:50 -05:00
Erastus
3b9f52de18 update LICENSE 2018-08-21 01:09:57 -05:00
Erastus
8b29fc7fea reports graphical discount 2018-08-20 23:42:47 -05:00
erastus
325ce79bed Change to 3.3.0 2018-08-20 15:03:09 -05:00
Erastus
85bbbe835c Discount on Sales 2018-08-20 13:41:56 -05:00
FrancescoUK
04b9a181dc No password change in testing mode (#2073) 2018-08-18 13:17:42 +01:00
FrancescoUK
9c3c7a9c77 Update Employee.php 2018-08-18 12:35:29 +01:00
jekkos
f20ba23640 No password change in testing mode (#2073) 2018-08-17 23:54:47 +02:00
Emilio Silva Schlenker
909cd52d56 added 'due' as a payment option for receivings 2018-08-17 11:09:14 +02:00
jekkos
76c63f6a60 Remove broken gemnasium dependencies badge 2018-07-21 18:50:41 +02:00
Steve Ireland
cabb0b7964 Merge pull request #2049 from RuleDomain/fix-count-function-error
Fix Count Function Error
2018-07-14 12:32:47 -04:00
Steve Ireland
497c9e4617 Add support for India GST 2018-07-14 11:20:54 -04:00
WShells
674f142eac Items Display in Inv Summary Report
Item names weren't showing in the inventory summary report due to variable issue...
2018-07-14 12:42:00 +03:00
FrancescoUK
8e6b33b228 Add support for multi-pack items (#1919) 2018-07-14 09:33:08 +01:00
FrancescoUK
baebd237e5 Fix review feedback 2018-07-14 09:29:10 +01:00
FrancescoUK
1486a41363 Fix review issues 2018-07-14 09:26:47 +01:00
FrancescoUK
463a56b1c4 Fix item_kits form issue 2018-07-08 18:02:19 +01:00
jekkos
a4e135eb92 Add support for multi-pack items. 2018-07-05 19:05:54 -04:00
FrancescoUK
1026ebb0eb Fix indentation issue 2018-07-05 18:09:42 +02:00
jekkos
d8f086a840 Fix double submit issue (#2020) 2018-07-05 18:09:42 +02:00
FrancescoUK
732e1a028b Fix indentation issue 2018-07-05 18:09:42 +02:00
jekkos
8f172e172b Fix double submit issue 2018-07-05 18:09:42 +02:00
FrancescoUK
683ef75162 Code refactoring 2018-07-05 18:09:42 +02:00
FrancescoUK
957dc5de16 Fix exception with PHP 7 2018-07-05 18:09:42 +02:00
FrancescoUK
086c2de441 Remove csrf_form_base() from register 2018-07-05 18:09:42 +02:00
FrancescoUK
e6e7fb2e2a Remove translation duplication 2018-07-05 18:09:42 +02:00
jekkos
bc0077012d Use backend for amount validation (#2020, #2018) 2018-07-05 18:09:42 +02:00
FrancescoUK
43bea53b56 Merge pull request #2039 from RuleDomain/item-kit-fix
Fix issue with item kits not being listed.
2018-07-01 11:09:33 +01:00
Steve Ireland
72245c8631 Fix issue with item kits not being listed. 2018-06-30 09:46:36 -04:00
WShells
500f14d002 Update INSTALL.md
Resetting Demo...
2018-06-24 04:18:18 +03:00
jekkos
b2aaae9f38 Update cloud install instructions 2018-06-17 14:27:35 +02:00
jekkos
b52174216e Update LICENSE 2018-06-14 00:27:26 +02:00
FrancescoUK
a34f152153 Revert "Fix Item form issue (#2021)" 2018-06-13 22:30:37 +01:00
jekkos
abd23e5cb4 Refresh language files 2018-06-13 22:11:53 +01:00
Steve Ireland
3f12d57f82 Fix item select issue introduced with temp item feature 2018-06-13 22:11:53 +01:00
Steve Ireland
f49c896e4f Restore ctype_digit 2018-06-13 22:11:53 +01:00
FrancescoUK
019fc7a3d5 Remove generated database sql files 2018-06-13 22:11:00 +01:00
Steve Ireland
5ef8a88000 Add support for temporary items. 2018-06-13 22:11:00 +01:00
FrancescoUK
c6b5ff1934 Restore CSRF change with & issue fix (#1990, #2009) 2018-06-13 22:11:00 +01:00
FrancescoUK
ebdc1880d9 Bump version to 3.3.0 for next phase 2018-06-13 22:11:00 +01:00
FrancescoUK
f1cf3d3c87 Release 3.2.3 2018-06-13 21:37:15 +01:00
FrancescoUK
8138db1a80 Fix Item form issue (#2021) 2018-06-13 21:19:55 +01:00
FrancescoUK
c5632a2f5a Release 3.2.2 2018-06-06 21:35:52 +01:00
FrancescoUK
2e7e9cecd8 Revert CSRF change (#2009) 2018-06-06 21:28:52 +01:00
FrancescoUK
5ce7fcf5ed Bump version to 3.3.0 for next phase 2018-06-04 22:01:10 +01:00
FrancescoUK
d3c215f744 Release 3.2.1 2018-06-04 21:41:10 +01:00
Aril Apria Susanto
73e2d01c91 Translated using Weblate (Indonesian)
Currently translated at 93.8% (152 of 162 strings)
2018-06-04 19:13:46 +02:00
Aril Apria Susanto
0a299d8858 Translated using Weblate (Indonesian)
Currently translated at 74.1% (201 of 271 strings)
2018-06-04 19:13:46 +02:00
Aril Apria Susanto
5adc3b18c2 Translated using Weblate (Indonesian)
Currently translated at 100.0% (65 of 65 strings)
2018-06-04 19:13:46 +02:00
FrancescoUK
0c2c999746 Minor improvement 2018-06-03 16:39:40 +01:00
Rostislav Hučka
9d072da872 Translated using Weblate (Czech)
Currently translated at 85.1% (138 of 162 strings)
2018-05-31 17:59:36 +02:00
WebShells
a610346576 Translated using Weblate (French)
Currently translated at 100.0% (110 of 110 strings)
2018-05-31 17:59:34 +02:00
WebShells
e3e4c8b3a4 Translated using Weblate (French)
Currently translated at 100.0% (18 of 18 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/fr/
2018-05-31 17:59:22 +02:00
WebShells
af8cb4243b Translated using Weblate (French)
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/fr/
2018-05-31 14:35:14 +02:00
WebShells
3c87bdec57 Translated using Weblate (French)
Currently translated at 100.0% (7 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/enum/fr/
2018-05-31 14:25:52 +02:00
WebShells
4062b9890b Translated using Weblate (French)
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/fr/
2018-05-31 14:24:38 +02:00
WebShells
0ccfe72a26 Translated using Weblate (French)
Currently translated at 80.0% (88 of 110 strings)
2018-05-31 13:58:39 +02:00
WebShells
79ca657a6e Translated using Weblate (French)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/fr/
2018-05-31 13:58:21 +02:00
Rostislav Hučka
36bf371f38 Translated using Weblate (Czech)
Currently translated at 58.8% (30 of 51 strings)
2018-05-31 13:29:14 +02:00
Rostislav Hučka
efc689530e Translated using Weblate (Czech)
Currently translated at 92.2% (95 of 103 strings)
2018-05-31 13:29:14 +02:00
WebShells
6bc5842402 Translated using Weblate (French)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/fr/
2018-05-31 13:29:14 +02:00
Rostislav Hučka
d4761ad095 Translated using Weblate (Czech)
Currently translated at 92.2% (95 of 103 strings)
2018-05-31 13:29:14 +02:00
Rostislav Hučka
cdf0c819ac Added translation using Weblate (Czech) 2018-05-31 13:29:14 +02:00
FrancescoUK
fe2ae55e94 Minor tidy up 2018-05-30 11:49:26 +02:00
FrancescoUK
fea0462407 Remove additional csrf_form_base calls, general tidy up 2018-05-30 11:49:26 +02:00
jekkos
c9a50cdeaf Check first if type parameter exists (#1990) 2018-05-30 11:49:26 +02:00
jekkos
04cbd95c13 Add as query string in case we use url encoded form (#1990) 2018-05-30 11:49:26 +02:00
jekkos
07d4b852e0 Hook $.ajax instead of $.post 2018-05-30 11:49:26 +02:00
jekkos
5d00a4354c Update .gitignore, add generated database scripts 2018-05-30 11:49:26 +02:00
Rostislav Hučka
6e33838fb7 Translated using Weblate (Czech)
Currently translated at 94.2% (33 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/cs/
2018-05-30 10:15:36 +02:00
Rostislav Hučka
e96b54509a Translated using Weblate (Czech)
Currently translated at 89.3% (92 of 103 strings)
2018-05-30 10:02:44 +02:00
Rostislav Hučka
530c75df4d Added translation using Weblate (Czech) 2018-05-30 10:02:44 +02:00
Rostislav Hučka
a8bb790ebe Translated using Weblate (Czech)
Currently translated at 89.3% (92 of 103 strings)
2018-05-30 10:02:44 +02:00
Rostislav Hučka
f82701adae Translated using Weblate (Czech)
Currently translated at 100.0% (20 of 20 strings)
2018-05-30 10:02:44 +02:00
Rostislav Hučka
36ea11f96f Added translation using Weblate (Czech) 2018-05-30 10:02:44 +02:00
FrancescoUK
4fe4c8eb57 Merge pull request #2006 from RuleDomain/fix-receivings-receiving-quantity
Insure that the receiving_quantity is not zero
2018-05-30 05:38:00 +01:00
Steve Ireland
4d41ad5735 Insure that the receiving_quantity is not zero 2018-05-29 19:45:14 -04:00
WebShells
fae7702719 Translated using Weblate (French)
Currently translated at 97.1% (34 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/fr/
2018-05-28 13:22:28 +02:00
FrancescoUK
ed888be463 Update README.md 2018-05-27 21:24:06 +01:00
FrancescoUK
c423bc4222 Fix Mailchimp config issue due to missing json payload format 2018-05-27 19:20:12 +01:00
WebShells
aa624f3680 Translated using Weblate (French)
Currently translated at 100.0% (17 of 17 strings)
2018-05-25 10:36:21 +02:00
WebShells
121cc000b3 Translated using Weblate (French)
Currently translated at 100.0% (30 of 30 strings)
2018-05-25 10:36:08 +02:00
WebShells
458118469a Translated using Weblate (French)
Currently translated at 100.0% (17 of 17 strings)
2018-05-23 18:44:13 +02:00
Weblate
07d1a5fb9b Translated using Weblate (French)
Currently translated at 100.0% (17 of 17 strings)
2018-05-23 18:44:13 +02:00
WebShells
78436ee39d Translated using Weblate (French)
Currently translated at 100.0% (17 of 17 strings)
2018-05-22 23:56:25 +02:00
WebShells
3f1f4c8e05 Translated using Weblate (French)
Currently translated at 100.0% (103 of 103 strings)
2018-05-22 23:56:21 +02:00
WebShells
2704bd7e83 Translated using Weblate (French)
Currently translated at 100.0% (30 of 30 strings)
2018-05-22 23:56:16 +02:00
Aril Apria Susanto
5d3643a8d0 Translated using Weblate (Indonesian)
Currently translated at 89.5% (145 of 162 strings)
2018-05-21 16:28:21 +02:00
Aril Apria Susanto
454155f8de Translated using Weblate (Indonesian)
Currently translated at 97.1% (34 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/id/
2018-05-21 16:27:53 +02:00
WebShells
e03f7a7af6 Translated using Weblate (French)
Currently translated at 100.0% (103 of 103 strings)
2018-05-21 14:16:50 +02:00
WebShells
7cce40af25 Translated using Weblate (French)
Currently translated at 100.0% (48 of 48 strings)
2018-05-20 13:10:07 +02:00
WebShells
8d7fb2cd25 Translated using Weblate (French)
Currently translated at 100.0% (271 of 271 strings)
2018-05-20 13:09:53 +02:00
WebShells
dcd78d8266 Translated using Weblate (French)
Currently translated at 100.0% (48 of 48 strings)
2018-05-19 22:18:58 +02:00
WebShells
3dc950d930 Translated using Weblate (French)
Currently translated at 100.0% (162 of 162 strings)
2018-05-19 22:02:56 +02:00
WebShells
7ba8ddb0c0 Translated using Weblate (French)
Currently translated at 100.0% (271 of 271 strings)
2018-05-19 21:47:37 +02:00
WebShells
c3d232016e Translated using Weblate (Arabic)
Currently translated at 100.0% (110 of 110 strings)
2018-05-19 20:57:13 +02:00
WebShells
9b6bfd6e2c Translated using Weblate (Arabic)
Currently translated at 100.0% (162 of 162 strings)
2018-05-19 20:56:31 +02:00
WebShells
0e2dc1d6da Translated using Weblate (Arabic)
Currently translated at 100.0% (48 of 48 strings)
2018-05-19 20:55:23 +02:00
WebShells
5f072aecfa Translated using Weblate (Arabic)
Currently translated at 100.0% (271 of 271 strings)
2018-05-19 20:44:49 +02:00
FrancescoUK
c803f01774 Translated using Weblate (Italian)
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/it/
2018-05-13 18:44:39 +02:00
Rostislav Hučka
8b006f5386 Translated using Weblate (Czech)
Currently translated at 87.5% (7 of 8 strings)
2018-05-13 18:42:59 +02:00
Rostislav Hučka
f05136f203 Translated using Weblate (Czech)
Currently translated at 85.1% (138 of 162 strings)
2018-05-13 18:42:59 +02:00
Rostislav Hučka
ced7a7c641 Translated using Weblate (Czech)
Currently translated at 96.9% (63 of 65 strings)
2018-05-13 18:42:59 +02:00
Rostislav Hučka
6ab0e52a7c Translated using Weblate (Czech)
Currently translated at 84.5% (137 of 162 strings)
2018-05-13 18:42:59 +02:00
Rostislav Hučka
b65ad2ae74 Translated using Weblate (Czech)
Currently translated at 83.3% (135 of 162 strings)
2018-05-13 18:42:59 +02:00
Rostislav Hučka
fe20fb24ca Translated using Weblate (Czech)
Currently translated at 100.0% (8 of 8 strings)
2018-05-13 18:42:59 +02:00
Rostislav Hučka
d1f74b60c7 Added translation using Weblate (Czech) 2018-05-13 18:42:59 +02:00
Rostislav Hučka
69c222f686 Translated using Weblate (Czech)
Currently translated at 96.9% (63 of 65 strings)
2018-05-13 18:42:59 +02:00
Rostislav Hučka
d861b12abe Added translation using Weblate (Czech) 2018-05-13 18:42:59 +02:00
Rostislav Hučka
bf8d4d5f2b Translated using Weblate (Czech)
Currently translated at 100.0% (12 of 12 strings)
2018-05-13 18:42:59 +02:00
Rostislav Hučka
7b30bd6048 Added translation using Weblate (Czech) 2018-05-13 18:42:59 +02:00
Rostislav Hučka
ac92e7cf7f Translated using Weblate (Czech)
Currently translated at 82.7% (134 of 162 strings)
2018-05-13 18:42:59 +02:00
Rostislav Hučka
15c161b6d1 Translated using Weblate (Czech)
Currently translated at 15.5% (16 of 103 strings)
2018-05-13 18:42:59 +02:00
Rostislav Hučka
7c3a6344b7 Translated using Weblate (Czech)
Currently translated at 0.3% (1 of 271 strings)
2018-05-13 18:42:59 +02:00
Rostislav Hučka
c0115d51df Added translation using Weblate (Czech) 2018-05-13 18:42:59 +02:00
Rostislav Hučka
2cfcd4d8a7 Added translation using Weblate (Czech) 2018-05-13 18:42:59 +02:00
Rostislav Hučka
08c48bc9a7 Translated using Weblate (Czech)
Currently translated at 100.0% (8 of 8 strings)
2018-05-13 18:42:59 +02:00
Rostislav Hučka
1d8a79b2a9 Added translation using Weblate (Czech) 2018-05-13 18:42:59 +02:00
Rostislav Hučka
4bb3e2774b Added translation using Weblate (Czech) 2018-05-13 18:42:59 +02:00
truchosky
fe7ba26ab8 Translated using Weblate (Spanish)
Currently translated at 100.0% (103 of 103 strings)
2018-05-13 18:42:59 +02:00
Rostislav Hučka
ea1a51c9f8 Added translation using Weblate (Czech) 2018-05-13 18:42:59 +02:00
FrancescoUK
b13ac8d4f0 Fix Summary report table header (#1972) 2018-05-12 20:34:27 +01:00
FrancescoUK
37390ae9dd Fix issue with barcode scanner and customer field (#871) 2018-05-12 18:56:25 +01:00
FrancescoUK
5f0d8b2312 Add extra payment combinations (#1982) 2018-05-12 17:21:18 +01:00
FrancescoUK
b35ea35654 Fix Italian translation errors (#1978) 2018-05-12 14:02:44 +01:00
FrancescoUK
6071f9ab97 "fix" to wrong summary_payment report (#1972) 2018-05-12 13:47:16 +01:00
FrancescoUK
4558cf0e50 Add spaces to SQL statement 2018-05-12 13:42:47 +01:00
truchosky
507294a4a6 temporary "fix" to wrong summary_payment report
I still cant find a solution to this,  summary payment in cash is wrong, like you know it considers payment ammount and it doesnt discount change, so the cash payment will be always a higher value, and if you try to discount change directly on query then it only discounts sales with 1 item, and not discounts sales with multiple items, the condition sales_items.line = 1 cause that.

This change considers item price * item qty, so at lest summary payment in cash will be acurated no matter tendered ammount  but leaves out "due sales"
2018-05-11 21:48:52 -03:00
Weblate
f8f4644987 Translated using Weblate (Flemish)
Currently translated at 100.0% (65 of 65 strings)
2018-05-07 00:11:14 +02:00
Weblate
510fe8b14e Translated using Weblate (Flemish)
Currently translated at 95.5% (259 of 271 strings)
2018-05-07 00:11:14 +02:00
FrancescoUK
a3408c31ce Missing Payment Count (#1972) 2018-05-06 08:50:09 +01:00
truchosky
1acac824a1 Missing Payment Count 2018-05-06 00:26:19 -03:00
PICCORO Lenz McKAY
fa4e7cefac Translated using Weblate (Spanish)
Currently translated at 100.0% (162 of 162 strings)
2018-05-05 15:53:03 +02:00
PICCORO Lenz McKAY
a77a2be2ce Translated using Weblate (Russian)
Currently translated at 96.6% (262 of 271 strings)
2018-05-05 15:53:03 +02:00
PICCORO Lenz McKAY
b93c3b2177 Translated using Weblate (Spanish)
Currently translated at 100.0% (110 of 110 strings)
2018-05-05 15:53:03 +02:00
PICCORO Lenz McKAY
ec673dc596 Translated using Weblate (Spanish)
Currently translated at 100.0% (271 of 271 strings)
2018-05-05 15:53:03 +02:00
PICCORO Lenz McKAY
dff043534d Translated using Weblate (Spanish)
Currently translated at 100.0% (162 of 162 strings)
2018-05-05 15:53:03 +02:00
PICCORO Lenz McKAY
7a3ac75e53 Translated using Weblate (Spanish)
Currently translated at 100.0% (48 of 48 strings)
2018-05-05 15:53:03 +02:00
FrancescoUK
7234f2af53 Fix Docker run command 2018-05-05 09:02:39 +01:00
h00pl4
7ee6221952 Fix Docker run command
I believe that the quotation mark is in the wrong place currently.
2018-05-05 14:00:57 +10:00
FrancescoUK
0ba225cafd Fix CSRF error at login time (#1535) 2018-05-02 22:04:50 +01:00
FrancescoUK
e4690eb670 Translated using Weblate (Italian)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/it/
2018-05-02 23:00:11 +02:00
FrancescoUK
be6e3480c2 Translated using Weblate (Italian)
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/it/
2018-05-02 23:00:05 +02:00
FrancescoUK
18f65dbb89 Translated using Weblate (Italian)
Currently translated at 100.0% (110 of 110 strings)
2018-05-02 22:57:22 +02:00
FrancescoUK
2b7688d962 Translated using Weblate (Italian)
Currently translated at 100.0% (162 of 162 strings)
2018-05-02 22:57:06 +02:00
FrancescoUK
c7cebfa3a3 Translated using Weblate (Italian)
Currently translated at 100.0% (48 of 48 strings)
2018-05-02 22:56:11 +02:00
FrancescoUK
be3b50e36d Translated using Weblate (Italian)
Currently translated at 100.0% (271 of 271 strings)
2018-05-02 22:55:02 +02:00
Weblate
ee82f3e804 Translated using Weblate (Flemish)
Currently translated at 100.0% (65 of 65 strings)
2018-05-02 08:50:30 +02:00
Trần Ngọc Quân
180d40f00d Translated using Weblate (Vietnamese)
Currently translated at 100.0% (271 of 271 strings)
2018-05-02 03:27:59 +02:00
Trần Ngọc Quân
f43df16d10 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (110 of 110 strings)
2018-05-02 03:19:20 +02:00
Trần Ngọc Quân
c54b8dccd3 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (48 of 48 strings)
2018-05-02 03:18:54 +02:00
Trần Ngọc Quân
d65ee713ca Translated using Weblate (Vietnamese)
Currently translated at 100.0% (162 of 162 strings)
2018-05-02 03:16:44 +02:00
Weblate
59a4f55cb5 Translated using Weblate (Flemish)
Currently translated at 100.0% (48 of 48 strings)
2018-05-01 23:18:12 +02:00
jekkos
34da40ce0b Sync language strings 2018-05-01 23:12:39 +02:00
FrancescoUK
9d149ad4f3 Autoreturn to Sale page after receipt printing (#1966) 2018-05-01 20:46:18 +01:00
FrancescoUK
455e39260d Translated using Weblate (Italian)
Currently translated at 100.0% (268 of 268 strings)
2018-05-01 19:13:00 +02:00
FrancescoUK
0015bdffcf Remove example entries from expenses tables 2018-04-30 21:33:54 +01:00
FrancescoUK
bcd1b05961 Fix customer import issue and complete anonymisation (#1949) 2018-04-30 21:28:32 +01:00
jekkos
c62dc5fe2a Add demo url to README.md (#1956) 2018-04-30 11:47:11 +02:00
jekkos
2426fad52e Add FORCE_HTTPS environment variable (#1956) 2018-04-30 11:09:20 +02:00
WebShells
9dee282b83 Fixed site_url 2018-04-30 00:41:28 +03:00
WebShells
1a6a8841f4 Skip receipt windows
Skip receipt windows and redirect to sales if print after sale is selected.
2018-04-29 18:06:11 +03:00
FrancescoUK
fdbdf55e71 Better Customer data privacy protection (#1949) 2018-04-29 14:13:00 +01:00
FrancescoUK
3e9e144075 Fix subtle error with Stock location SQL query 2018-04-29 10:38:38 +01:00
FrancescoUK
1fe94c3626 Fix rendering of discounted unit price on invoice (#1924 #1958) 2018-04-28 12:38:33 +01:00
Steve Ireland
b4f8667047 Fix rendering of discounted unit price on invoice and quotes. 2018-04-27 08:55:22 -04:00
jekkos
fe2c639f8a Remove duplicated .travis.yml (#1954) 2018-04-24 23:26:35 +02:00
FrancescoUK
c8d1bfee35 Fix Expense amount and tax amount update issue (#1955) 2018-04-24 20:39:41 +01:00
FrancescoUK
72825acfaf Fix Item Kit Items receipt issues (#1950) 2018-04-22 09:13:01 +01:00
FrancescoUK
0e14d5390f Minor fixes 2018-04-22 09:12:01 +01:00
Steve Ireland
cdd966878d Various fixes for the item kit feature. 2018-04-21 17:46:39 -04:00
FrancescoUK
9384b53a22 Bump version to 3.2.1 for next phase 2018-04-14 15:24:47 +01:00
FrancescoUK
4bab3fc4e3 Code style adjustments 2018-04-14 14:40:02 +01:00
FrancescoUK
5c1baf20b0 Improve get_found_rows query performance (#1940) 2018-04-13 19:54:22 +01:00
FrancescoUK
075d4e1aeb Improve get_found_rows query performance (#1940) 2018-04-12 22:42:56 +01:00
Aril Apria Susanto
8dc7855e56 Translated using Weblate (Indonesian)
Currently translated at 65.9% (29 of 44 strings)
2018-04-12 17:34:40 -04:00
WebShells
d992c434d8 Translated using Weblate (French)
Currently translated at 100.0% (162 of 162 strings)
2018-04-11 16:38:10 -04:00
anonymous
1c07ba1945 Translated using Weblate (Arabic)
Currently translated at 100.0% (162 of 162 strings)
2018-04-11 16:38:06 -04:00
WebShells
6357491874 Translated using Weblate (Arabic)
Currently translated at 100.0% (110 of 110 strings)
2018-04-11 16:38:05 -04:00
WebShells
8880061e0e Translated using Weblate (French)
Currently translated at 100.0% (51 of 51 strings)
2018-04-11 16:38:05 -04:00
WebShells
c397a81b48 Translated using Weblate (French)
Currently translated at 100.0% (68 of 68 strings)
2018-04-11 16:38:00 -04:00
WebShells
76e1516147 Translated using Weblate (French)
Currently translated at 100.0% (35 of 35 strings)
2018-04-11 16:37:53 -04:00
Leonardo Salazar
c495cf29a0 Translated using Weblate (Spanish)
Currently translated at 100.0% (44 of 44 strings)
2018-04-11 16:37:50 -04:00
WebShells
c64ac468a3 Translated using Weblate (Arabic)
Currently translated at 100.0% (44 of 44 strings)
2018-04-11 16:37:50 -04:00
Leonardo Salazar
0892944aaa Translated using Weblate (Spanish)
Currently translated at 100.0% (65 of 65 strings)
2018-04-11 16:37:47 -04:00
WebShells
abafd59683 Translated using Weblate (French)
Currently translated at 100.0% (65 of 65 strings)
2018-04-11 16:37:46 -04:00
WebShells
dab4a8f90d Translated using Weblate (French)
Currently translated at 100.0% (51 of 51 strings)
2018-04-11 16:31:31 -04:00
WebShells
ca7c3e9d76 Translated using Weblate (French)
Currently translated at 100.0% (68 of 68 strings)
2018-04-11 16:25:50 -04:00
WebShells
61eeed0b75 Translated using Weblate (French)
Currently translated at 100.0% (162 of 162 strings)
2018-04-11 16:20:21 -04:00
WebShells
3852bd5c3e Translated using Weblate (Arabic)
Currently translated at 100.0% (7 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/enum/ar_EG/
2018-04-11 16:02:44 -04:00
WebShells
cf8890efdc Translated using Weblate (Arabic)
Currently translated at 100.0% (110 of 110 strings)
2018-04-11 15:51:07 -04:00
Leonardo Salazar
e4fe32b85c Translated using Weblate (Russian)
Currently translated at 100.0% (266 of 266 strings)
2018-04-11 15:10:04 -04:00
Leonardo Salazar
6bed03a2e7 Translated using Weblate (Russian)
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/ru/
2018-04-11 14:22:46 -04:00
Leonardo Salazar
390fefa803 Translated using Weblate (Russian)
Currently translated at 100.0% (17 of 17 strings)
2018-04-11 14:22:45 -04:00
Aril Apria Susanto
3c069ad226 Translated using Weblate (Indonesian)
Currently translated at 72.8% (118 of 162 strings)
2018-04-11 14:22:43 -04:00
Leonardo Salazar
2e07818a2c Translated using Weblate (Russian)
Currently translated at 100.0% (110 of 110 strings)
2018-04-11 14:22:24 -04:00
Leonardo Salazar
5ce8c9694d Translated using Weblate (Russian)
Currently translated at 100.0% (103 of 103 strings)
2018-04-11 14:22:20 -04:00
Leonardo Salazar
0415cb53e9 Translated using Weblate (Russian)
Currently translated at 100.0% (30 of 30 strings)
2018-04-11 14:22:15 -04:00
Leonardo Salazar
a254f78750 Translated using Weblate (Russian)
Currently translated at 100.0% (68 of 68 strings)
2018-04-11 14:22:13 -04:00
Leonardo Salazar
adde140660 Translated using Weblate (Russian)
Currently translated at 100.0% (35 of 35 strings)
2018-04-11 14:22:07 -04:00
Leonardo Salazar
0a3414f4f3 Translated using Weblate (Russian)
Currently translated at 100.0% (44 of 44 strings)
2018-04-11 14:22:03 -04:00
Aril Apria Susanto
4c3ab04e3d Translated using Weblate (Indonesian)
Currently translated at 65.9% (29 of 44 strings)
2018-04-11 14:22:02 -04:00
Leonardo Salazar
9e442e6c61 Translated using Weblate (Russian)
Currently translated at 73.6% (196 of 266 strings)
2018-04-11 14:21:57 -04:00
Chiraq Bookstore
64dd3afa54 Translated using Weblate (Russian)
Currently translated at 52.2% (139 of 266 strings)
2018-04-11 13:50:18 -04:00
Leonardo Salazar
bd17e73b36 Translated using Weblate (Russian)
Currently translated at 51.8% (138 of 266 strings)
2018-04-11 13:50:08 -04:00
Chiraq Bookstore
3e7faf1ea1 Translated using Weblate (Russian)
Currently translated at 50.3% (134 of 266 strings)
2018-04-11 13:46:27 -04:00
Leonardo Salazar
34048c2ba5 Translated using Weblate (Russian)
Currently translated at 50.3% (134 of 266 strings)
2018-04-11 13:46:02 -04:00
Leonardo Salazar
3848b72bbe Translated using Weblate (Russian)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/ru/
2018-04-11 13:40:45 -04:00
Leonardo Salazar
154db58f34 Translated using Weblate (Russian)
Currently translated at 100.0% (51 of 51 strings)
2018-04-11 13:36:06 -04:00
Leonardo Salazar
2e5cfbc1e7 Translated using Weblate (Russian)
Currently translated at 100.0% (162 of 162 strings)
2018-04-11 13:01:24 -04:00
Chiraq Bookstore
174338f9bf Translated using Weblate (Russian)
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/ru/
2018-04-11 12:50:22 -04:00
Leonardo Salazar
4d9840f9ad Translated using Weblate (Russian)
Currently translated at 100.0% (44 of 44 strings)
2018-04-11 12:41:59 -04:00
Leonardo Salazar
821aaa4e63 Translated using Weblate (Russian)
Currently translated at 100.0% (30 of 30 strings)
2018-04-11 12:34:43 -04:00
Leonardo Salazar
425f0fd21b Translated using Weblate (Russian)
Currently translated at 100.0% (35 of 35 strings)
2018-04-11 12:31:07 -04:00
Leonardo Salazar
41117b7007 Translated using Weblate (Russian)
Currently translated at 100.0% (110 of 110 strings)
2018-04-11 12:23:07 -04:00
Leonardo Salazar
6cc4196af8 Translated using Weblate (Russian)
Currently translated at 100.0% (17 of 17 strings)
2018-04-11 12:00:19 -04:00
Leonardo Salazar
4329f519f8 Translated using Weblate (Russian)
Currently translated at 100.0% (68 of 68 strings)
2018-04-11 11:36:55 -04:00
Leonardo Salazar
c29937ac68 Translated using Weblate (Russian)
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/ru/
2018-04-11 11:32:10 -04:00
Chiraq Bookstore
9d7c07c1dd Translated using Weblate (Russian)
Currently translated at 90.0% (27 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/ru/
2018-04-11 11:29:49 -04:00
Leonardo Salazar
f24f62c0c6 Translated using Weblate (Russian)
Currently translated at 86.6% (26 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/ru/
2018-04-11 11:29:28 -04:00
Leonardo Salazar
9370d3434a Translated using Weblate (Russian)
Currently translated at 100.0% (18 of 18 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/ru/
2018-04-11 11:12:38 -04:00
Weblate
a60a58337e Translated using Weblate (Flemish)
Currently translated at 80.2% (130 of 162 strings)
2018-04-11 08:00:53 -04:00
Weblate
6e8d9bb85c Translated using Weblate (Flemish)
Currently translated at 99.0% (102 of 103 strings)
2018-04-11 08:00:47 -04:00
Weblate
7642e45850 Translated using Weblate (Flemish)
Currently translated at 100.0% (30 of 30 strings)
2018-04-11 08:00:46 -04:00
Weblate
4d37b29304 Translated using Weblate (Flemish)
Currently translated at 97.0% (100 of 103 strings)
2018-04-11 05:08:48 -04:00
Weblate
ac5dbe0b0f Translated using Weblate (Flemish)
Currently translated at 100.0% (30 of 30 strings)
2018-04-11 05:08:48 -04:00
jekkos
cd19babd6e Update Cloud install procedure (#1939) 2018-04-11 01:31:13 +02:00
Leonardo Salazar
bbb77a00ad Translated using Weblate (Russian)
Currently translated at 5.5% (1 of 18 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/ru/
2018-04-10 14:54:17 -04:00
Leonardo Salazar
c48563b703 Translated using Weblate (Russian)
Currently translated at 20.9% (9 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/ru/
2018-04-10 14:54:16 -04:00
Leonardo Salazar
740d12e137 Translated using Weblate (Russian)
Currently translated at 96.2% (156 of 162 strings)
2018-04-09 16:34:23 -04:00
Leonardo Salazar
e4369db19c Translated using Weblate (Russian)
Currently translated at 2.3% (1 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/ru/
2018-04-09 16:34:14 -04:00
Leonardo Salazar
d5086ba42f Translated using Weblate (Russian)
Currently translated at 100.0% (7 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/enum/ru/
2018-04-09 16:27:52 -04:00
Leonardo Salazar
1c95ed432f Translated using Weblate (Russian)
Currently translated at 100.0% (103 of 103 strings)
2018-04-09 16:09:50 -04:00
Chiraq Bookstore
9f50a6ab92 Translated using Weblate (Russian)
Currently translated at 49.6% (132 of 266 strings)
2018-04-07 12:26:09 -04:00
Weblate
ee319189ed Translated using Weblate (Flemish)
Currently translated at 100.0% (68 of 68 strings)
2018-04-06 11:22:08 -04:00
Weblate
0053398037 Translated using Weblate (Flemish)
Currently translated at 100.0% (68 of 68 strings)
2018-04-06 11:22:08 -04:00
Weblate
f106097e2d Translated using Weblate (Flemish)
Currently translated at 97.6% (42 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/nl_BE/
2018-04-06 11:22:08 -04:00
FrancescoUK
cc1497baad Update README.md 2018-04-06 14:02:55 +01:00
FrancescoUK
87317b00bd Update ISSUE_TEMPLATE.md 2018-04-06 14:01:14 +01:00
jekkos
e949f776ac Correct link to install file 2018-04-06 14:17:27 +02:00
jekkos
27ca6cf6f8 Add more guidance towards posting issues about misconfigured installations 2018-04-06 14:03:15 +02:00
jekkos
6d35fae28e Add more guidance towards posting issues about misconfigured installations 2018-04-06 13:58:46 +02:00
jekkos
27c8f2614d Add system folder missing to first point in FAQ (#1930) 2018-04-06 13:49:58 +02:00
jekkos
fbce16acd1 Update INSTALL with commonly reported 'system folder missing' 'bug' 2018-04-06 13:48:33 +02:00
Weblate
a700d4ffff Translated using Weblate (Flemish)
Currently translated at 58.1% (25 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/nl_BE/
2018-04-06 07:44:53 -04:00
Weblate
738e1de6b4 Translated using Weblate (Flemish)
Currently translated at 100.0% (35 of 35 strings)
2018-04-06 07:39:26 -04:00
Weblate
5da3dc3928 Translated using Weblate (Flemish)
Currently translated at 91.4% (32 of 35 strings)
2018-04-06 07:38:49 -04:00
Weblate
129eb78552 Translated using Weblate (Flemish)
Currently translated at 88.5% (31 of 35 strings)
2018-04-06 07:38:49 -04:00
Weblate
97ab38436f Translated using Weblate (Flemish)
Currently translated at 85.7% (30 of 35 strings)
2018-04-06 07:38:49 -04:00
jekkos
0820a0d7ff Don't show company_name if it's empty (non null) (#1929) 2018-04-06 13:36:45 +02:00
FrancescoUK
a597fa86eb Fix composer.lock after CI 3.1.8 update 2018-04-06 10:23:22 +01:00
FrancescoUK
c05b814009 Minor helpers fixes 2018-04-06 09:58:11 +01:00
FrancescoUK
82c6954d1c Remove unused and add missing language files 2018-04-06 09:51:25 +01:00
Trần Ngọc Quân
b43ec350ae Translated using Weblate (Vietnamese)
Currently translated at 100.0% (2 of 2 strings)
2018-04-06 04:41:35 -04:00
FrancescoUK
c6bc1680fa Amend 3.2.0 release documentation 2018-04-06 08:56:06 +01:00
Trần Ngọc Quân
7d64b483ca Translated using Weblate (Vietnamese)
Currently translated at 100.0% (7 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/enum/vi/
2018-04-05 20:59:25 -04:00
jekkos
cfa7891b06 Catch warnings if config file rewrite fails 2018-04-06 01:00:12 +02:00
jekkos
3663c7e344 Update Dockerfile + CI 3.1.8 2018-04-06 00:54:08 +02:00
jekkos
3ca871aea9 Update LICENSE and INSTALL file links (#1921) 2018-04-05 23:35:13 +02:00
Weblate
6b935ca169 Translated using Weblate (Flemish)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/nl_BE/
2018-04-05 17:32:38 -04:00
Weblate
41a9b03761 Translated using Weblate (Flemish)
Currently translated at 100.0% (44 of 44 strings)
2018-04-05 17:32:27 -04:00
Weblate
6a3da0f5dc Translated using Weblate (Flemish)
Currently translated at 99.6% (265 of 266 strings)
2018-04-05 17:32:25 -04:00
Weblate
a00c38bee8 Translated using Weblate (Flemish)
Currently translated at 100.0% (44 of 44 strings)
2018-04-05 17:31:09 -04:00
PICCORO Lenz McKAY
593b5cebaa Translated using Weblate (Spanish)
Currently translated at 100.0% (110 of 110 strings)
2018-04-05 17:13:09 -04:00
Weblate
4b57b6144b Translated using Weblate (Flemish)
Currently translated at 89.0% (237 of 266 strings)
2018-04-05 16:45:19 -04:00
Weblate
d2fbceeb22 Translated using Weblate (Flemish)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/nl_BE/
2018-04-05 16:37:00 -04:00
Weblate
3113945f0f Translated using Weblate (Flemish)
Currently translated at 100.0% (7 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/enum/nl_BE/
2018-04-05 16:24:40 -04:00
FrancescoUK
8a9e0f352a Translated using Weblate (Italian)
Currently translated at 100.0% (2 of 2 strings)
2018-04-05 14:46:44 -04:00
FrancescoUK
c844f2c1e7 Remove unused language files (#1918) 2018-04-05 19:42:55 +01:00
Chiraq Bookstore
9b0dc5a9c3 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (266 of 266 strings)
2018-04-05 14:19:35 -04:00
Chiraq Bookstore
11ba752010 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (266 of 266 strings)
2018-04-05 14:19:35 -04:00
FrancescoUK
b26dbc7022 Minor fixes to README.md 2018-04-05 18:30:38 +01:00
FrancescoUK
22f1ed10be Fix migration helper $this issue (#1927) 2018-04-05 18:23:32 +01:00
jekkos
0a289f9ed4 Upade README.md, add INSTALL.md 2018-04-05 18:35:24 +02:00
jekkos
1b0eb0d936 Add migration_helper to config.php (#1927) 2018-04-05 18:10:19 +02:00
jekkos
d146a05991 Prettify docker build instructions (#1921) 2018-04-05 09:24:06 +02:00
jekkos
8c43345a20 Add instructions to run using docker from source (#1921) 2018-04-05 09:21:26 +02:00
jekkos
50c4b30df2 Hide discount / item if no discount for that item (#1924) 2018-04-05 08:57:36 +02:00
jekkos
9f2e39711f Migration refactor: move out common code (#1440) 2018-04-05 08:57:02 +02:00
jekkos
43b4cee636 Remove sockets from Dockerfile 2018-04-05 00:07:51 +02:00
Trần Ngọc Quân
ba8c0b7b15 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (162 of 162 strings)
2018-04-04 18:07:04 -04:00
Trần Ngọc Quân
86622615fd Translated using Weblate (Vietnamese)
Currently translated at 100.0% (110 of 110 strings)
2018-04-04 18:07:04 -04:00
Trần Ngọc Quân
3dfa877365 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (51 of 51 strings)
2018-04-04 18:07:04 -04:00
Ethan Horseshoe
b22252be4e Translated using Weblate (German)
Currently translated at 100.0% (51 of 51 strings)
2018-04-04 18:07:04 -04:00
Ethan Horseshoe
83697eaf8b Translated using Weblate (German)
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/de/
2018-04-04 18:07:04 -04:00
Ethan Horseshoe
fe627eb943 Translated using Weblate (German)
Currently translated at 89.4% (238 of 266 strings)
2018-04-04 18:07:04 -04:00
Trần Ngọc Quân
4dea268e51 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (110 of 110 strings)
2018-04-04 18:07:04 -04:00
Trần Ngọc Quân
2f7d738a20 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (266 of 266 strings)
2018-04-04 18:07:04 -04:00
Ethan Horseshoe
b99ec9117b Translated using Weblate (German)
Currently translated at 100.0% (103 of 103 strings)
2018-04-04 18:07:04 -04:00
Ethan Horseshoe
3c56ae6cb6 Translated using Weblate (German)
Currently translated at 100.0% (44 of 44 strings)
2018-04-04 18:07:04 -04:00
FrancescoUK
b1fdd45372 Translated using Weblate (Italian)
Currently translated at 100.0% (110 of 110 strings)
2018-04-04 18:07:04 -04:00
FrancescoUK
4d46da7974 Preparing release 3.2.0 2018-03-28 19:09:29 +01:00
FrancescoUK
84a5f654b1 Remove php sockets from the dependency list 2018-03-28 19:01:34 +01:00
ratana chhun
01afdc5979 Translated using Weblate (Central Khmer)
Currently translated at 66.6% (34 of 51 strings)
2018-03-28 13:50:49 -04:00
Ethan Horseshoe
3c379a6458 Translated using Weblate (German)
Currently translated at 98.5% (67 of 68 strings)
2018-03-28 13:50:44 -04:00
Ethan Horseshoe
bb203efe21 Translated using Weblate (German)
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/de/
2018-03-27 01:32:35 -04:00
FrancescoUK
9e2a757b16 Fix over counting of totals (#1896) 2018-03-25 21:44:11 +01:00
FrancescoUK
4079e44572 Allow password change with no restrictions + code reorg (#1894) 2018-03-25 19:18:03 +01:00
FrancescoUK
4595ab5c35 Allow editing of Customer from sales register (#1884) 2018-03-25 18:02:08 +01:00
FrancescoUK
35150f14ed Fix Submit button translation (#1894) 2018-03-25 15:53:57 +01:00
FrancescoUK
a7ecec4bd3 Small code refactoring (#1896) 2018-03-25 14:39:52 +01:00
FrancescoUK
ae472d0176 Print reports date in different formats, remove sorting (#1896) 2018-03-25 13:57:20 +01:00
PICCORO Lenz McKAY
b18ae57cf6 Translated using Weblate (Spanish)
Currently translated at 100.0% (162 of 162 strings)
2018-03-25 06:58:58 -04:00
Riccardo Pieri
2f064d9a94 Translated using Weblate (Italian)
Currently translated at 99.0% (109 of 110 strings)
2018-03-25 06:58:57 -04:00
FrancescoUK
4f2b6badd9 Allow password change with no restriction (#1894) 2018-03-24 21:47:10 +00:00
FrancescoUK
bf76450ca5 Fix Summary_payments report location (#1896) 2018-03-24 18:32:02 +00:00
Xyko Arteiro
7c88bdb21f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/taxes/pt_BR/
2018-03-22 16:29:11 -04:00
Xyko Arteiro
544d8a496e Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (17 of 17 strings)
2018-03-22 16:29:11 -04:00
Xyko Arteiro
88625ad83c Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (162 of 162 strings)
2018-03-22 16:29:11 -04:00
Weblate
e89f698dff Translated using Weblate (Flemish)
Currently translated at 72.8% (118 of 162 strings)
2018-03-22 16:29:11 -04:00
Xyko Arteiro
a1e0e7946c Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (110 of 110 strings)
2018-03-22 16:29:11 -04:00
Xyko Arteiro
68ce90ad8e Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (51 of 51 strings)
2018-03-22 16:29:11 -04:00
Hangman
06e36ac4f4 Translated using Weblate (German)
Currently translated at 100.0% (51 of 51 strings)
2018-03-22 16:29:11 -04:00
ratana chhun
ccd52e1ded Translated using Weblate (Central Khmer)
Currently translated at 62.7% (32 of 51 strings)
2018-03-22 16:29:11 -04:00
Xyko Arteiro
ed0fd469e6 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/module/pt_BR/
2018-03-22 16:29:11 -04:00
Xyko Arteiro
7884bab2ed Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (5 of 5 strings)

Translation: opensourcepos/migrate
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/migrate/pt_BR/
2018-03-22 16:29:11 -04:00
Xyko Arteiro
213bba8312 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (103 of 103 strings)
2018-03-22 16:29:11 -04:00
Xyko Arteiro
17982988f7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (30 of 30 strings)
2018-03-22 16:29:11 -04:00
Xyko Arteiro
a7d4e4c163 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (68 of 68 strings)
2018-03-22 16:29:11 -04:00
Xyko Arteiro
2411fe1e3f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (18 of 18 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/pt_BR/
2018-03-22 16:29:11 -04:00
Weblate
b2a2ee9613 Translated using Weblate (Flemish)
Currently translated at 27.7% (5 of 18 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses_categories/nl_BE/
2018-03-22 16:29:11 -04:00
Xyko Arteiro
dc78162486 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://weblate.jpeelaer.net/projects/ospos/expenses/pt_BR/
2018-03-22 16:29:11 -04:00
Xyko Arteiro
ffbb96fdee Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (35 of 35 strings)
2018-03-22 16:29:11 -04:00
Ethan Horseshoe
fd1cad99ed Translated using Weblate (German)
Currently translated at 100.0% (35 of 35 strings)
2018-03-22 16:29:11 -04:00
Xyko Arteiro
e7808b35cd Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (44 of 44 strings)
2018-03-22 16:29:11 -04:00
Weblate
16b9bd1305 Translated using Weblate (Flemish)
Currently translated at 54.5% (24 of 44 strings)
2018-03-22 16:29:11 -04:00
Xyko Arteiro
3a3ddb99d2 Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.8% (263 of 266 strings)
2018-03-22 16:29:11 -04:00
Xyko Arteiro
49c6ec282f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (65 of 65 strings)
2018-03-22 16:29:11 -04:00
FrancescoUK
2557945713 Merge pull request #1899 from odiea/master
Update Specific_customer.php
2018-03-20 20:28:17 +00:00
odiea
3368c62690 Update Specific_customer.php 2018-03-20 12:07:45 -06:00
jekkos
3b411bbefc Skip cleanup after deploy 2018-03-17 17:55:34 +01:00
jekkos
4d8006da2e Use bleeding edge (dpl) for deploys 2018-03-17 17:42:51 +01:00
jekkos
a5c797b617 Add API key as travis environment variable 2018-03-17 13:59:54 +01:00
jekkos
b9bc7583b2 Change bintray API ke 2018-03-17 13:37:34 +01:00
FrancescoUK
b84d9d894f Fix Summary Takings including not completed transactions (#1886) 2018-03-16 19:56:56 +00:00
FrancescoUK
63d9fd219c Revert Giftcard broken fix (#1694) 2018-03-16 19:18:37 +00:00
jekkos
ddb0e7560c Update encrypted travis API key 2018-03-16 19:09:59 +01:00
jekkos
a24a55f812 Update bstables to 1.12.1 (#1884) 2018-03-15 13:12:10 +01:00
FrancescoUK
a353068ca5 Fix locale support to Giftcard with decimals (#1694) 2018-03-12 21:37:07 +00:00
FrancescoUK
442b64d1d1 Add locale support to Giftcard with decimals (#1694) 2018-03-10 11:29:04 +00:00
jekkos
8547c3b071 Fix employee form grants regression (#1870) 2018-03-09 18:26:42 +01:00
FrancescoUK
bf30652a3d Fix config view tabs errors 2018-03-04 20:54:38 +00:00
FrancescoUK
7525c650ab Total Inv. Retail Price & Quantity 2018-03-04 17:02:21 +00:00
FrancescoUK
f2ccebc84d Enable https for proxy offloading 2018-03-04 16:49:40 +00:00
FrancescoUK
5edfed5bfc Enable https for proxy offloading 2018-03-04 16:48:36 +00:00
FrancescoUK
8c60d6cdc6 Select full input line on click (#1863) 2018-03-04 16:35:14 +00:00
FrancescoUK
33cc7e3f9c Remove the "crap" (#1875) 2018-03-04 14:47:29 +00:00
WebShells
395ac217b8 Translated using Weblate (Arabic)
Currently translated at 100.0% (17 of 17 strings)
2018-03-04 12:46:26 +00:00
WebShells
1189c3dadf Translated using Weblate (Arabic)
Currently translated at 100.0% (162 of 162 strings)
2018-03-04 12:46:24 +00:00
ratana chhun
4c92e26e37 Translated using Weblate (Central Khmer)
Currently translated at 9.8% (5 of 51 strings)
2018-03-04 12:46:14 +00:00
WebShells
ee1f23289a Translated using Weblate (Arabic)
Currently translated at 100.0% (51 of 51 strings)
2018-03-04 12:46:13 +00:00
WebShells
84f6adb532 Translated using Weblate (Arabic)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://*/projects/ospos/module/ar_EG/
2018-03-04 12:46:11 +00:00
WebShells
da5b6e2592 Translated using Weblate (Arabic)
Currently translated at 100.0% (103 of 103 strings)
2018-03-04 12:46:06 +00:00
WebShells
38b26a3e68 Translated using Weblate (Arabic)
Currently translated at 100.0% (30 of 30 strings)
2018-03-04 12:46:02 +00:00
WebShells
9d70b23b31 Translated using Weblate (Arabic)
Currently translated at 100.0% (68 of 68 strings)
2018-03-04 12:46:02 +00:00
WebShells
2466469a9c Translated using Weblate (Arabic)
Currently translated at 100.0% (44 of 44 strings)
2018-03-04 12:45:57 +00:00
WebShells
ad47e64dfd Translated using Weblate (Arabic)
Currently translated at 100.0% (65 of 65 strings)
2018-03-04 12:45:55 +00:00
WebShells
520ae0d2a9 Translated using Weblate (Arabic)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://*/projects/ospos/module/ar_EG/
2018-03-02 20:31:56 +00:00
WebShells
8fccee51a7 Translated using Weblate (Arabic)
Currently translated at 100.0% (35 of 35 strings)
2018-03-02 20:27:51 +00:00
WebShells
32074771ac Translated using Weblate (Arabic)
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://*/projects/ospos/expenses/ar_EG/
2018-03-01 19:22:43 +00:00
WebShells
44a1c89292 Translated using Weblate (Arabic)
Currently translated at 100.0% (30 of 30 strings)
2018-03-01 19:21:55 +00:00
WebShells
55d4c004eb Translated using Weblate (Arabic)
Currently translated at 100.0% (108 of 108 strings)
2018-03-01 18:11:48 +00:00
WebShells
1fbc42c079 Translated using Weblate (Arabic)
Currently translated at 100.0% (266 of 266 strings)
2018-03-01 15:32:33 +00:00
WebShells
2b7a25d8a3 Translated using Weblate (Arabic)
Currently translated at 100.0% (44 of 44 strings)
2018-03-01 12:25:45 +00:00
WebShells
1f3074232c Translated using Weblate (Arabic)
Currently translated at 100.0% (103 of 103 strings)
2018-03-01 11:54:22 +00:00
ratana chhun
d3a77118ba Translated using Weblate (Central Khmer)
Currently translated at 100.0% (12 of 12 strings)
2018-03-01 04:53:11 +00:00
ratana chhun
83732383a7 Translated using Weblate (Central Khmer)
Currently translated at 100.0% (30 of 30 strings)
2018-03-01 04:27:08 +00:00
WebShells
b495a97483 Translated using Weblate (Arabic)
Currently translated at 100.0% (17 of 17 strings)
2018-02-28 21:51:14 +00:00
Mats Pålsson
a0672d04ce Translated using Weblate (Swedish)
Currently translated at 99.3% (161 of 162 strings)
2018-02-28 21:51:14 +00:00
WebShells
e9ac0adb81 Translated using Weblate (Arabic)
Currently translated at 74.6% (121 of 162 strings)
2018-02-28 21:51:14 +00:00
WebShells
6febdc4e9d Translated using Weblate (Arabic)
Currently translated at 100.0% (51 of 51 strings)
2018-02-28 21:51:14 +00:00
WebShells
8ca18edfbd Translated using Weblate (Arabic)
Currently translated at 100.0% (5 of 5 strings)

Translation: opensourcepos/migrate
Translate-URL: http://*/projects/ospos/migrate/ar_EG/
2018-02-28 21:51:14 +00:00
ratana chhun
6f4cd9d5eb Translated using Weblate (Central Khmer)
Currently translated at 26.6% (8 of 30 strings)
2018-02-28 21:51:14 +00:00
WebShells
63866bf0d3 Translated using Weblate (Arabic)
Currently translated at 100.0% (68 of 68 strings)
2018-02-28 21:51:14 +00:00
WebShells
4e8b63c002 Translated using Weblate (Arabic)
Currently translated at 97.6% (42 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://*/projects/ospos/expenses/ar_EG/
2018-02-28 21:51:14 +00:00
Zhivko Vanev
1500aa8b51 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (35 of 35 strings)
2018-02-28 21:51:14 +00:00
WebShells
9af064f003 Translated using Weblate (Arabic)
Currently translated at 77.2% (34 of 44 strings)
2018-02-28 21:51:14 +00:00
WebShells
0e4f894b2a Translated using Weblate (Arabic)
Currently translated at 88.7% (236 of 266 strings)
2018-02-28 21:51:14 +00:00
Mats Pålsson
91a677f018 Translated using Weblate (Swedish)
Currently translated at 100.0% (65 of 65 strings)
2018-02-28 21:51:14 +00:00
Zhivko Vanev
556ab3c229 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (65 of 65 strings)
2018-02-28 21:51:14 +00:00
Weblate
d7da611a76 Translated using Weblate (Dutch (Belgium))
Currently translated at 74.4% (198 of 266 strings)
2018-02-28 21:51:14 +00:00
WebShells
fa8f42629b Translated using Weblate (Arabic)
Currently translated at 100.0% (65 of 65 strings)
2018-02-28 21:51:14 +00:00
Zhivko Vanev
f8e1d57f71 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (35 of 35 strings)
2018-02-28 21:51:14 +00:00
Henk Valk
380953d8b7 Added translation using Weblate (Dutch) 2018-02-28 21:51:14 +00:00
Henk Valk
aea080052a Added translation using Weblate (Dutch) 2018-02-28 21:51:14 +00:00
Henk Valk
3568debbe6 Added translation using Weblate (Dutch) 2018-02-28 21:51:14 +00:00
Mats Pålsson
d2e8a156ab Translated using Weblate (Swedish)
Currently translated at 100.0% (68 of 68 strings)
2018-02-28 21:51:14 +00:00
Mats Pålsson
d6f6e2f234 Translated using Weblate (Swedish)
Currently translated at 100.0% (30 of 30 strings)
2018-02-28 21:51:14 +00:00
FrancescoUK
22c6d5401c Fix wrong language translations (#1842) 2018-02-25 19:02:10 +00:00
FrancescoUK
e44733599e Fix Quote, Invoice and Work Order comments (#1819) 2018-02-25 15:05:00 +00:00
FrancescoUK
acb12dd517 Bump migrate file name with newer date 2018-02-25 15:03:05 +00:00
Steve Ireland
3dbc124f62 Various fixes for comments for quotes, work orders, and invoices 2018-02-25 14:56:38 +00:00
FrancescoUK
563fcf2385 Rollback JQuery validator to vs 1.14.0 (#1858) 2018-02-25 14:23:56 +00:00
Ahmed Mahmoud Saad
accd11b74f Translated using Weblate (Arabic)
Currently translated at 100.0% (18 of 18 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://*/projects/ospos/expenses_categories/ar_EG/
2018-02-25 11:04:27 +00:00
Ahmed Mahmoud Saad
c7b21362cb Translated using Weblate (Arabic)
Currently translated at 22.2% (4 of 18 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://*/projects/ospos/expenses_categories/ar_EG/
2018-02-25 10:59:31 +00:00
Chiraq Bookstore
78b9daac39 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (17 of 17 strings)
2018-02-25 10:24:27 +00:00
Chiraq Bookstore
00f90857a0 Translated using Weblate (az_AZ (generated))
Currently translated at 99.3% (161 of 162 strings)
2018-02-25 10:24:25 +00:00
Chiraq Bookstore
3bb8d7ad32 Translated using Weblate (az_AZ (generated))
Currently translated at 98.1% (106 of 108 strings)
2018-02-25 10:24:20 +00:00
Chiraq Bookstore
83ed48c7db Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://*/projects/ospos/module/az_AZ/
2018-02-25 10:24:14 +00:00
Chiraq Bookstore
7e0f099479 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (68 of 68 strings)
2018-02-25 10:24:13 +00:00
Chiraq Bookstore
96af1b64ff Translated using Weblate (Russian)
Currently translated at 49.0% (130 of 265 strings)
2018-02-25 10:24:11 +00:00
Ahmed Mahmoud Saad
a005ed6862 Translated using Weblate (Arabic)
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/ar_EG/
2018-02-24 15:29:10 +00:00
Chiraq Bookstore
cf6df1e99c Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (17 of 17 strings)
2018-02-24 13:24:36 +00:00
Chiraq Bookstore
c1509a9dd1 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (44 of 44 strings)
2018-02-24 13:17:53 +00:00
Chiraq Bookstore
d78b547b98 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (65 of 65 strings)
2018-02-24 12:47:48 +00:00
Chiraq Bookstore
17136a011a Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/az_AZ/
2018-02-22 15:15:29 +00:00
Chiraq Bookstore
171870f512 Translated using Weblate (az_AZ (generated))
Currently translated at 66.6% (72 of 108 strings)
2018-02-22 15:15:28 +00:00
Mats Pålsson
04a3a0631f Translated using Weblate (Swedish)
Currently translated at 100.0% (108 of 108 strings)
2018-02-22 15:15:18 +00:00
Chiraq Bookstore
2dd81f4e77 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (103 of 103 strings)
2018-02-22 15:15:00 +00:00
Mats Pålsson
39a7665930 Translated using Weblate (Swedish)
Currently translated at 100.0% (103 of 103 strings)
2018-02-22 15:14:59 +00:00
Mats Pålsson
1223dccd8c Translated using Weblate (Swedish)
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://*/projects/ospos/expenses/sv/
2018-02-22 15:14:45 +00:00
Mats Pålsson
d078523528 Translated using Weblate (Swedish)
Currently translated at 100.0% (265 of 265 strings)
2018-02-22 15:14:38 +00:00
Chiraq Bookstore
574bcbac09 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (103 of 103 strings)
2018-02-22 11:12:36 +00:00
Chiraq Bookstore
8dad6d5249 Translated using Weblate (az_AZ (generated))
Currently translated at 72.8% (75 of 103 strings)
2018-02-21 14:15:08 +00:00
Chiraq Bookstore
75b9fdb698 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (30 of 30 strings)
2018-02-21 14:14:57 +00:00
Henk Valk
6131e3db34 Translated using Weblate (Dutch (Belgium))
Currently translated at 11.6% (5 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://*/projects/ospos/expenses/nl_BE/
2018-02-21 14:14:56 +00:00
Chiraq Bookstore
30f6e315e3 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (30 of 30 strings)
2018-02-21 12:03:28 +00:00
Chiraq Bookstore
01dfed1793 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (68 of 68 strings)
2018-02-21 11:18:37 +00:00
Alexis Michaux
f82990a304 Translated using Weblate (French)
Currently translated at 96.9% (157 of 162 strings)
2018-02-21 11:15:45 +00:00
Chiraq Bookstore
6131c5eb53 Translated using Weblate (az_AZ (generated))
Currently translated at 97.0% (66 of 68 strings)
2018-02-21 11:15:41 +00:00
Chiraq Bookstore
a1b25d193c Translated using Weblate (Russian)
Currently translated at 41.5% (110 of 265 strings)
2018-02-21 11:15:28 +00:00
FrancescoUK
67eab51e4f Translated using Weblate (Italian)
Currently translated at 100.0% (17 of 17 strings)
2018-02-20 19:10:08 +00:00
FrancescoUK
97591e77fc Translated using Weblate (Italian)
Currently translated at 100.0% (162 of 162 strings)
2018-02-20 19:10:07 +00:00
Alexis Michaux
146d0ce6c8 Translated using Weblate (French)
Currently translated at 88.2% (143 of 162 strings)
2018-02-20 19:10:06 +00:00
FrancescoUK
9733ca9171 Translated using Weblate (Italian)
Currently translated at 100.0% (51 of 51 strings)
2018-02-20 19:09:45 +00:00
FrancescoUK
b2fcd59841 Translated using Weblate (Italian)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://*/projects/ospos/module/it/
2018-02-20 19:09:44 +00:00
FrancescoUK
f769561a3c Translated using Weblate (Italian)
Currently translated at 100.0% (103 of 103 strings)
2018-02-20 19:09:37 +00:00
FrancescoUK
2a617f7c5c Translated using Weblate (Italian)
Currently translated at 100.0% (68 of 68 strings)
2018-02-20 19:09:37 +00:00
FrancescoUK
544c142ef0 Translated using Weblate (Italian)
Currently translated at 100.0% (18 of 18 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://*/projects/ospos/expenses_categories/it/
2018-02-20 19:09:36 +00:00
Alexis Michaux
8991407b16 Translated using Weblate (French)
Currently translated at 100.0% (35 of 35 strings)
2018-02-20 19:09:35 +00:00
FrancescoUK
caedd4cfc0 Translated using Weblate (Italian)
Currently translated at 100.0% (44 of 44 strings)
2018-02-20 19:09:29 +00:00
Alexis Michaux
9323f3803b Translated using Weblate (French)
Currently translated at 52.2% (23 of 44 strings)
2018-02-20 19:09:29 +00:00
FrancescoUK
a031fd924b Translated using Weblate (Italian)
Currently translated at 100.0% (265 of 265 strings)
2018-02-20 19:09:25 +00:00
FrancescoUK
afadb1e171 Translated using Weblate (Italian)
Currently translated at 100.0% (65 of 65 strings)
2018-02-20 19:09:20 +00:00
lucailvec
8f7f22726a Translated using Weblate (Italian)
Currently translated at 100.0% (68 of 68 strings)
2018-02-20 18:45:59 +00:00
lucailvec
5cbebec92f Translated using Weblate (Italian)
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://*/projects/ospos/expenses/it/
2018-02-20 18:45:26 +00:00
lucailvec
2b8e8bb13e Translated using Weblate (Italian)
Currently translated at 100.0% (35 of 35 strings)
2018-02-20 18:44:58 +00:00
lucailvec
cae200e06a Translated using Weblate (Italian)
Currently translated at 100.0% (17 of 17 strings)
2018-02-20 18:42:44 +00:00
FrancescoUK
49cbdb53ee Translated using Weblate (Italian)
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/it/
2018-02-20 18:41:09 +00:00
lucailvec
e96e00d902 Translated using Weblate (Italian)
Currently translated at 100.0% (30 of 30 strings)
2018-02-20 18:40:38 +00:00
lucailvec
6ae6fa7c32 Translated using Weblate (Italian)
Currently translated at 100.0% (44 of 44 strings)
2018-02-20 18:39:49 +00:00
FrancescoUK
4653cde725 Translated using Weblate (Italian)
Currently translated at 100.0% (108 of 108 strings)
2018-02-20 18:38:24 +00:00
Alexis Michaux
97f2ee521f Translated using Weblate (French)
Currently translated at 100.0% (65 of 65 strings)
2018-02-20 18:37:58 +00:00
FrancescoUK
ee55be347d Update JQuery plugins (#1694) 2018-02-20 18:24:36 +00:00
Chiraq Bookstore
cee7956788 Translated using Weblate (az_AZ (generated))
Currently translated at 77.1% (125 of 162 strings)
2018-02-20 17:49:15 +00:00
Chiraq Bookstore
ffa77cfb71 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (5 of 5 strings)

Translation: opensourcepos/migrate
Translate-URL: http://*/projects/ospos/migrate/az_AZ/
2018-02-20 17:49:07 +00:00
Chiraq Bookstore
a956a009f9 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (265 of 265 strings)
2018-02-20 12:32:59 +00:00
Chiraq Bookstore
9f7ca1a747 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (35 of 35 strings)
2018-02-20 12:21:00 +00:00
Chiraq Bookstore
66d319f082 Translated using Weblate (az_AZ (generated))
Currently translated at 93.2% (247 of 265 strings)
2018-02-20 12:20:55 +00:00
PICCORO Lenz McKAY
010a3c7126 Translated using Weblate (Spanish)
Currently translated at 100.0% (265 of 265 strings)
2018-02-20 12:20:27 +00:00
Chiraq Bookstore
c1b3382795 Translated using Weblate (Russian)
Currently translated at 41.1% (109 of 265 strings)
2018-02-20 12:20:24 +00:00
Chiraq Bookstore
2a8078aac9 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (51 of 51 strings)
2018-02-20 11:22:38 +00:00
ratana chhun
409f0f0084 Translated using Weblate (Central Khmer)
Currently translated at 100.0% (68 of 68 strings)
2018-02-20 09:00:27 +00:00
ratana chhun
df2a76b4cf Translated using Weblate (Central Khmer)
Currently translated at 100.0% (18 of 18 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://*/projects/ospos/expenses_categories/km/
2018-02-20 07:03:48 +00:00
ratana chhun
ec97cd5cdf Translated using Weblate (Central Khmer)
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://*/projects/ospos/expenses/km/
2018-02-20 06:33:53 +00:00
Trần Ngọc Quân
46da8bab1d Translated using Weblate (Vietnamese)
Currently translated at 100.0% (162 of 162 strings)
2018-02-19 07:19:07 +00:00
ratana chhun
ae6e082983 Translated using Weblate (Central Khmer)
Currently translated at 100.0% (8 of 8 strings)
2018-02-19 03:17:31 +00:00
PICCORO Lenz McKAY
028f38784e Translated using Weblate (Spanish)
Currently translated at 100.0% (162 of 162 strings)
2018-02-19 00:36:07 +00:00
FrancescoUK
136093b8ab Translated using Weblate (Italian)
Currently translated at 100.0% (162 of 162 strings)
2018-02-18 22:51:17 +00:00
FrancescoUK
17f3635574 Revert work_order_email changes (#1824) 2018-02-18 17:43:16 +00:00
Trần Ngọc Quân
c33a3b3720 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/vi/
2018-02-18 17:16:54 +00:00
Mats Pålsson
63b728b118 Translated using Weblate (Swedish)
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/sv/
2018-02-18 17:16:54 +00:00
Trần Ngọc Quân
1cfdee4114 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (159 of 159 strings)
2018-02-18 17:16:54 +00:00
Mats Pålsson
98ccea3419 Translated using Weblate (Swedish)
Currently translated at 100.0% (159 of 159 strings)
2018-02-18 17:16:54 +00:00
Trần Ngọc Quân
5306b6d26f Translated using Weblate (Vietnamese)
Currently translated at 100.0% (108 of 108 strings)
2018-02-18 17:16:54 +00:00
Trần Ngọc Quân
63bc9d70a7 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (51 of 51 strings)
2018-02-18 17:16:54 +00:00
Mats Pålsson
2590feee6c Translated using Weblate (Swedish)
Currently translated at 100.0% (51 of 51 strings)
2018-02-18 17:16:54 +00:00
Mats Pålsson
1dd375311c Translated using Weblate (Swedish)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://*/projects/ospos/module/sv/
2018-02-18 17:16:54 +00:00
Trần Ngọc Quân
f121a31bb9 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (103 of 103 strings)
2018-02-18 17:16:54 +00:00
Mats Pålsson
75d54f4f62 Translated using Weblate (Swedish)
Currently translated at 4.8% (5 of 103 strings)
2018-02-18 17:16:54 +00:00
Trần Ngọc Quân
8d16b28160 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (68 of 68 strings)
2018-02-18 17:16:54 +00:00
Mats Pålsson
97d07d96c8 Translated using Weblate (Swedish)
Currently translated at 100.0% (18 of 18 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://*/projects/ospos/expenses_categories/sv/
2018-02-18 17:16:54 +00:00
Trần Ngọc Quân
78f9560e6d Translated using Weblate (Vietnamese)
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://*/projects/ospos/expenses/vi/
2018-02-18 17:16:54 +00:00
Mats Pålsson
fd625afeb6 Translated using Weblate (Swedish)
Currently translated at 100.0% (44 of 44 strings)
2018-02-18 17:16:54 +00:00
Trần Ngọc Quân
91374a54b4 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (265 of 265 strings)
2018-02-18 17:16:54 +00:00
Mats Pålsson
9c4591ea31 Translated using Weblate (Swedish)
Currently translated at 30.1% (80 of 265 strings)
2018-02-18 17:16:54 +00:00
Mats Pålsson
5ade46bc35 Translated using Weblate (Swedish)
Currently translated at 100.0% (65 of 65 strings)
2018-02-18 17:16:54 +00:00
Mats Pålsson
b1bee3196a Translated using Weblate (Swedish)
Currently translated at 100.0% (17 of 17 strings)
2018-02-18 17:16:54 +00:00
FrancescoUK
16dd8fb0a1 Fix work_order_email similar to quote_email (#1824) 2018-02-18 17:12:43 +00:00
FrancescoUK
b69d57a4b9 Fix missing sales_receipt_no_email translation (#1824) 2018-02-18 16:27:20 +00:00
FrancescoUK
1ba0f3c839 Fix quote email issue (#1824) 2018-02-18 09:23:44 +00:00
FrancescoUK
a258a27d9b Merge pull request #1842 from RuleDomain/quote-comments
Expand comments for quotes and invoices add notice when customer is required
2018-02-18 09:15:17 +00:00
Mats Pålsson
082bfeca88 Translated using Weblate (Swedish)
Currently translated at 100.0% (5 of 5 strings)

Translation: opensourcepos/migrate
Translate-URL: http://*/projects/ospos/migrate/sv/
2018-02-17 23:46:18 +00:00
Mats Pålsson
32075b96dd Translated using Weblate (Swedish)
Currently translated at 100.0% (35 of 35 strings)
2018-02-17 22:10:02 +00:00
Mats Pålsson
3844d6b5f5 Translated using Weblate (Swedish)
Currently translated at 72.5% (37 of 51 strings)
2018-02-17 21:43:01 +00:00
Mats Pålsson
aa6eed2947 Translated using Weblate (Swedish)
Currently translated at 29.0% (77 of 265 strings)
2018-02-17 21:42:54 +00:00
Mats Pålsson
4a74c645ad Translated using Weblate (Swedish)
Currently translated at 8.3% (22 of 265 strings)
2018-02-17 21:18:33 +00:00
Mats Pålsson
dc2c77752b Translated using Weblate (Swedish)
Currently translated at 8.3% (22 of 265 strings)
2018-02-17 21:18:09 +00:00
Mats Pålsson
85fdc661d1 Translated using Weblate (Swedish)
Currently translated at 7.9% (21 of 265 strings)
2018-02-17 21:17:46 +00:00
Chiraq Bookstore
64163e8e6e Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/az_AZ/
2018-02-17 21:07:50 +00:00
Chiraq Bookstore
810ba78776 Translated using Weblate (Russian)
Currently translated at 76.6% (23 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/ru/
2018-02-17 21:07:50 +00:00
Chiraq Bookstore
82a17eb6ce Translated using Weblate (Russian)
Currently translated at 88.2% (15 of 17 strings)
2018-02-17 21:07:50 +00:00
Chiraq Bookstore
b726596ec1 Translated using Weblate (az_AZ (generated))
Currently translated at 45.0% (23 of 51 strings)
2018-02-17 21:07:50 +00:00
FrancescoUK
5aac69ad6d Add discount per item to quote and invoice (#1824) 2018-02-17 21:03:29 +00:00
FrancescoUK
c24c7ed721 Merge pull request #1836 from crmeye/master
Italian Translation (Fix)
2018-02-17 20:23:12 +00:00
FrancescoUK
f4519251af Print and Email checkbox default behaviour (#1784) 2018-02-17 17:36:15 +00:00
FrancescoUK
ba6e38f755 Fix Discount Report pop up notification (#1823) 2018-02-17 12:15:35 +00:00
Chiraq Bookstore
f838dae4b5 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/az_AZ/
2018-02-17 09:19:39 +00:00
Chiraq Bookstore
380d3a1355 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (18 of 18 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://*/projects/ospos/expenses_categories/az_AZ/
2018-02-17 09:13:34 +00:00
PICCORO Lenz McKAY
ceb5b85640 Translated using Weblate (Spanish)
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/es/
2018-02-17 08:51:31 +00:00
Chiraq Bookstore
fc6f8e4d92 Translated using Weblate (Russian)
Currently translated at 70.0% (21 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/ru/
2018-02-17 08:51:31 +00:00
PICCORO Lenz McKAY
37dcba63bb Translated using Weblate (Spanish)
Currently translated at 100.0% (17 of 17 strings)
2018-02-17 08:51:31 +00:00
PICCORO Lenz McKAY
edf5c1ec90 Translated using Weblate (Spanish)
Currently translated at 100.0% (108 of 108 strings)
2018-02-17 08:51:31 +00:00
PICCORO Lenz McKAY
426bdfbadd Translated using Weblate (Spanish)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://*/projects/ospos/module/es/
2018-02-17 08:51:31 +00:00
PICCORO Lenz McKAY
40114601df Translated using Weblate (Spanish)
Currently translated at 100.0% (68 of 68 strings)
2018-02-17 08:51:31 +00:00
PICCORO Lenz McKAY
e2d9b2e141 Translated using Weblate (Spanish)
Currently translated at 100.0% (44 of 44 strings)
2018-02-17 08:51:31 +00:00
Chiraq Bookstore
427a2c3777 Translated using Weblate (az_AZ (generated))
Currently translated at 25.6% (66 of 257 strings)
2018-02-17 08:51:31 +00:00
Chiraq Bookstore
98864c0446 Translated using Weblate (Russian)
Currently translated at 100.0% (65 of 65 strings)
2018-02-17 08:51:31 +00:00
Chiraq Bookstore
0995c71630 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://*/projects/ospos/expenses/az_AZ/
2018-02-17 08:51:31 +00:00
Chiraq Bookstore
407e8723d8 Translated using Weblate (Russian)
Currently translated at 100.0% (65 of 65 strings)
2018-02-17 08:51:31 +00:00
PICCORO Lenz McKAY
022435d0db Translated using Weblate (Spanish)
Currently translated at 100.0% (30 of 30 strings)
2018-02-17 08:51:31 +00:00
PICCORO Lenz McKAY
7f7943d538 Translated using Weblate (Spanish)
Currently translated at 100.0% (17 of 17 strings)
2018-02-17 08:51:31 +00:00
PICCORO Lenz McKAY
780a4c37a7 Translated using Weblate (Spanish)
Currently translated at 100.0% (35 of 35 strings)
2018-02-17 08:51:31 +00:00
crmeye
b24879c9ef Merge branch 'master' into master 2018-02-17 00:18:20 +01:00
FrancescoUK
d6000c79f7 Revert "Removed edit from Discount Report" (#1823)
This reverts commit 60d77e1f61.
2018-02-16 22:46:19 +00:00
FrancescoUK
9ed0984c21 Fix indentation issue 2018-02-16 22:13:56 +00:00
FrancescoUK
21415ccb3c Fix indentation issue 2018-02-16 22:10:02 +00:00
PICCORO Lenz McKAY
cadae3eabc Translated using Weblate (Spanish)
Currently translated at 100.0% (18 of 18 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://*/projects/ospos/expenses_categories/es/
2018-02-16 04:24:29 +00:00
PICCORO Lenz McKAY
54150940ee Translated using Weblate (Spanish)
Currently translated at 100.0% (44 of 44 strings)
2018-02-16 04:18:41 +00:00
Steve Ireland
81d76b0c03 Expand comments for quotes and invoices add notice when customer is required. 2018-02-15 22:45:45 -05:00
PICCORO Lenz McKAY
469d3d500e Translated using Weblate (Spanish)
Currently translated at 100.0% (257 of 257 strings)
2018-02-16 02:23:07 +00:00
PICCORO Lenz McKAY
36fe5ded7e Translated using Weblate (Spanish)
Currently translated at 100.0% (103 of 103 strings)
2018-02-16 02:22:24 +00:00
PICCORO Lenz McKAY
fec096915a Translated using Weblate (Spanish)
Currently translated at 100.0% (51 of 51 strings)
2018-02-16 02:20:13 +00:00
PICCORO Lenz McKAY
abdcd31b9e Translated using Weblate (Spanish)
Currently translated at 100.0% (108 of 108 strings)
2018-02-16 02:12:51 +00:00
PICCORO Lenz McKAY
efd58f2281 Translated using Weblate (Spanish)
Currently translated at 100.0% (159 of 159 strings)
2018-02-16 01:21:10 +00:00
PICCORO Lenz McKAY
211c18a99e Translated using Weblate (Spanish)
Currently translated at 91.8% (146 of 159 strings)
2018-02-16 01:17:54 +00:00
PICCORO Lenz McKAY
166c2558e6 Translated using Weblate (Spanish)
Currently translated at 98.0% (50 of 51 strings)
2018-02-16 01:17:54 +00:00
PICCORO Lenz McKAY
54237a1fed Translated using Weblate (Spanish)
Currently translated at 91.4% (32 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://*/projects/ospos/module/es/
2018-02-16 01:17:54 +00:00
PICCORO Lenz McKAY
1d9548870b Translated using Weblate (Spanish)
Currently translated at 98.8% (254 of 257 strings)
2018-02-16 01:17:54 +00:00
PICCORO Lenz McKAY
032276de87 Translated using Weblate (Spanish)
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://*/projects/ospos/expenses/es/
2018-02-16 01:17:54 +00:00
PICCORO Lenz McKAY
61e16d2d33 Translated using Weblate (Spanish)
Currently translated at 100.0% (65 of 65 strings)
2018-02-16 01:17:54 +00:00
PICCORO Lenz McKAY
463dfcd1a4 Translated using Weblate (Spanish)
Currently translated at 100.0% (65 of 65 strings)
2018-02-16 01:17:54 +00:00
odiea
022dfea51a Update Specific_customer.php 2018-02-15 23:46:12 +01:00
odiea
ef23596b6e Update Reports.php 2018-02-15 23:46:12 +01:00
odiea
58e8469dde Added filters to customer 2018-02-15 23:46:12 +01:00
odiea
60d77e1f61 Removed edit from Discount Report 2018-02-15 23:46:12 +01:00
odiea
49d60313f6 Update Detailed Reports. Add payment type to Specific Customer. 2018-02-15 23:46:12 +01:00
jekkos
ed54adb70c Merge branch 'master' of weblate.jpeelaer.net:/root/docker/ospos/common 2018-02-15 23:19:12 +01:00
Chiraq Bookstore
a353e73549 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/az_AZ/
2018-02-15 21:29:53 +00:00
Chiraq Bookstore
e1508e610b Translated using Weblate (az_AZ (generated))
Currently translated at 58.8% (30 of 51 strings)
2018-02-15 21:29:48 +00:00
Chiraq Bookstore
463cf9266d Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://*/projects/ospos/module/az_AZ/
2018-02-15 21:29:44 +00:00
Alexis Michaux
23a6ae791b Translated using Weblate (French)
Currently translated at 74.7% (192 of 257 strings)
2018-02-15 21:29:41 +00:00
jekkos
48d58b822a Sync translations (#1841) 2018-02-15 22:27:44 +01:00
Alexis Michaux
08de3e1167 Translated using Weblate (French)
Currently translated at 100.0% (65 of 65 strings)
2018-02-15 15:52:05 +00:00
Chiraq Bookstore
20c30a2c15 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (35 of 35 strings)
2018-02-15 07:51:12 +00:00
Diego Campiglia
b51ea94eb5 Italian Translation (Fix) 2018-02-14 16:45:15 +01:00
Chiraq Bookstore
2c613bdc86 Translated using Weblate (Russian)
Currently translated at 66.6% (20 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/ru/
2018-02-13 23:12:28 +00:00
Chiraq Bookstore
f784aa3956 Translated using Weblate (az_AZ (generated))
Currently translated at 74.2% (118 of 159 strings)
2018-02-13 23:12:28 +00:00
Chiraq Bookstore
73b97de3e5 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://*/projects/ospos/module/az_AZ/
2018-02-13 23:12:28 +00:00
Chiraq Bookstore
5cc2898a4b Translated using Weblate (az_AZ (generated))
Currently translated at 93.1% (41 of 44 strings)
2018-02-13 23:12:28 +00:00
HanseGucker
820cae2d3d Translated using Weblate (German)
Currently translated at 98.0% (252 of 257 strings)
2018-02-13 23:12:28 +00:00
Zhivko Vanev
3569165097 Translated using Weblate (Bulgarian)
Currently translated at 99.2% (255 of 257 strings)
2018-02-13 23:12:28 +00:00
ratana chhun
2c1f2823f2 Added translation using Weblate (Central Khmer) 2018-02-13 23:12:28 +00:00
ratana chhun
ce45769163 Added translation using Weblate (Central Khmer) 2018-02-13 23:12:28 +00:00
ratana chhun
12b62119bf Added translation using Weblate (Central Khmer) 2018-02-13 23:12:28 +00:00
FrancescoUK
9caf22aea4 Merge pull request #1827 from RuleDomain/fix-missing-comment
This adds the comment back to quote and corrects a couple of bad DEFINE references
2018-02-12 07:40:08 +00:00
Steve Ireland
2258938604 More missing language elements and one bad reference to a config value. 2018-02-11 20:09:24 -05:00
FrancescoUK
3f2a9e8c52 Merge pull request #1820 from opensourcepos/Readme-patch
Minor URL change
2018-02-09 11:14:51 +00:00
objecttothis
385de892fe Minor URL change
Changed translation website URL from http://weblate.jpeelaer.net to http://translate.opensourcepos.org to reflect the updated alias.
2018-02-09 11:31:56 +04:00
Chiraq Bookstore
a5787ecb4e Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/az_AZ/
2018-02-08 22:35:09 +00:00
PICCORO Lenz McKAY
bfecf15ee2 Translated using Weblate (Russian)
Currently translated at 100.0% (159 of 159 strings)
2018-02-08 22:35:08 +00:00
Trần Ngọc Quân
5ffb6b4c18 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (107 of 107 strings)
2018-02-08 22:34:53 +00:00
abderrahim nabih
a6d70b6fcd Translated using Weblate (French)
Currently translated at 100.0% (51 of 51 strings)
2018-02-08 22:34:52 +00:00
PICCORO Lenz McKAY
bee9c7af5d Translated using Weblate (Spanish)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://*/projects/ospos/module/es/
2018-02-08 22:34:46 +00:00
Chiraq Bookstore
f0bdb84422 Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (5 of 5 strings)

Translation: opensourcepos/migrate
Translate-URL: http://*/projects/ospos/migrate/az_AZ/
2018-02-08 22:34:46 +00:00
Chiraq Bookstore
12e7c5d440 Translated using Weblate (az_AZ (generated))
Currently translated at 26.0% (67 of 257 strings)
2018-02-08 22:34:41 +00:00
Chiraq Bookstore
623ff4fee9 Translated using Weblate (Russian)
Currently translated at 39.2% (101 of 257 strings)
2018-02-08 22:34:41 +00:00
Chiraq Bookstore
579a85a9fc Translated using Weblate (az_AZ (generated))
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/az_AZ/
2018-02-08 11:16:40 +00:00
Trần Ngọc Quân
22e3bba649 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (68 of 68 strings)
2018-02-08 08:11:44 +00:00
ratana chhun
9075bfcf37 Added translation using Weblate (Central Khmer) 2018-02-08 03:54:07 +00:00
Trần Ngọc Quân
478b2c0ea5 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (257 of 257 strings)
2018-02-08 01:18:47 +00:00
Trần Ngọc Quân
91918fc937 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://*/projects/ospos/module/vi/
2018-02-08 00:28:24 +00:00
PICCORO Lenz McKAY
017df21f17 Translated using Weblate (Russian)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/module
Translate-URL: http://*/projects/ospos/module/ru/
2018-02-07 13:07:36 +00:00
PICCORO Lenz McKAY
e7d420f44f Translated using Weblate (Spanish)
Currently translated at 100.0% (68 of 68 strings)
2018-02-07 12:45:54 +00:00
Trần Ngọc Quân
04f2e916bb Translated using Weblate (Vietnamese)
Currently translated at 100.0% (30 of 30 strings)
2018-02-07 07:22:30 +00:00
Trần Ngọc Quân
7770c6817f Translated using Weblate (Vietnamese)
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/vi/
2018-02-07 01:26:12 +00:00
Trần Ngọc Quân
6caf2ea672 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (159 of 159 strings)
2018-02-06 10:39:52 +00:00
Zhivko Vanev
317d0adb78 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (159 of 159 strings)

try again
2018-02-06 10:39:52 +00:00
Trần Ngọc Quân
a7659d7b76 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (103 of 103 strings)
2018-02-06 10:39:52 +00:00
Zhivko Vanev
4353f5a12b Translated using Weblate (Bulgarian)
Currently translated at 100.0% (2 of 2 strings)
2018-02-06 10:39:52 +00:00
Zhivko Vanev
160b7ca189 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (44 of 44 strings)
2018-02-06 10:39:52 +00:00
Chiraq Bookstore
c9b15c7eeb Translated using Weblate (az_AZ (generated))
Currently translated at 26.0% (67 of 257 strings)
2018-02-06 10:39:52 +00:00
Zhivko Vanev
a1f6dbccc5 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (8 of 8 strings)
2018-02-06 10:39:52 +00:00
Trần Ngọc Quân
d399637c18 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (65 of 65 strings)
2018-02-06 10:39:52 +00:00
Zhivko Vanev
54740f734f Translated using Weblate (Bulgarian)
Currently translated at 100.0% (65 of 65 strings)
2018-02-06 10:39:52 +00:00
Trần Ngọc Quân
7e8ac7c100 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (159 of 159 strings)
2018-02-06 10:39:52 +00:00
FrancescoUK
4cff8d7dd2 Fix wrong label for tag in sale register (#1814) 2018-02-04 21:15:45 +00:00
FrancescoUK
a7ada7e85a Fix broken chartist plugin dependency 2018-02-04 20:58:58 +00:00
Trần Ngọc Quân
a3bf1d7eeb Translated using Weblate (Vietnamese)
Currently translated at 100.0% (18 of 18 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://*/projects/ospos/expenses_categories/vi/
2018-02-03 00:45:37 +00:00
Trần Ngọc Quân
ecce5d39bb Translated using Weblate (Vietnamese)
Currently translated at 100.0% (12 of 12 strings)
2018-02-03 00:38:16 +00:00
Zhivko Vanev
9d113c3327 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (44 of 44 strings)
2018-02-02 16:42:54 +00:00
Zhivko Vanev
1f3b05a37b Translated using Weblate (Bulgarian)
Currently translated at 100.0% (159 of 159 strings)
2018-02-02 16:14:27 +00:00
Trần Ngọc Quân
8e60437db0 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (107 of 107 strings)
2018-02-02 09:42:09 +00:00
Chiraq Bookstore
6cb6e2fb24 Translated using Weblate (Russian)
Currently translated at 60.0% (3 of 5 strings)

Translation: opensourcepos/migrate
Translate-URL: http://*/projects/ospos/migrate/ru/
2018-02-02 09:42:09 +00:00
Trần Ngọc Quân
71a95d7b31 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (103 of 103 strings)
2018-02-02 09:42:08 +00:00
Trần Ngọc Quân
8be987f564 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (8 of 8 strings)
2018-02-02 07:47:01 +00:00
Trần Ngọc Quân
8bf147f025 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (51 of 51 strings)
2018-02-02 07:38:27 +00:00
Weblate
b3c42d4d06 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (51 of 51 strings)
2018-02-02 07:38:14 +00:00
Trần Ngọc Quân
043493ba0a Translated using Weblate (Vietnamese)
Currently translated at 100.0% (20 of 20 strings)
2018-02-02 07:20:01 +00:00
Trần Ngọc Quân
88d5b3336a Translated using Weblate (Vietnamese)
Currently translated at 100.0% (107 of 107 strings)
2018-02-02 07:12:00 +00:00
Weblate
3a1b16c070 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (107 of 107 strings)
2018-02-02 07:11:36 +00:00
Trần Ngọc Quân
44e57c59e4 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (103 of 103 strings)
2018-02-02 06:49:11 +00:00
Trần Ngọc Quân
204499e5d0 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (35 of 35 strings)
2018-02-02 01:13:09 +00:00
Trần Ngọc Quân
31f736e2e0 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (44 of 44 strings)
2018-02-02 01:00:15 +00:00
Trần Ngọc Quân
5a4d7a40ec Translated using Weblate (Vietnamese)
Currently translated at 100.0% (17 of 17 strings)
2018-02-01 14:05:43 +00:00
Weblate
8c5706bc1f Translated using Weblate (Vietnamese)
Currently translated at 100.0% (107 of 107 strings)
2018-02-01 14:05:43 +00:00
Trần Ngọc Quân
04af352fad Translated using Weblate (Vietnamese)
Currently translated at 100.0% (5 of 5 strings)

Translation: opensourcepos/migrate
Translate-URL: http://*/projects/ospos/migrate/vi/
2018-02-01 14:05:41 +00:00
Chiraq Bookstore
677b296721 Translated using Weblate (az_AZ (generated))
Currently translated at 98.4% (64 of 65 strings)
2018-02-01 14:05:38 +00:00
Trần Ngọc Quân
a4c8db7592 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (65 of 65 strings)
2018-02-01 07:34:28 +00:00
Trần Ngọc Quân
241f05a000 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (8 of 8 strings)
2018-02-01 07:18:23 +00:00
Trần Ngọc Quân
1f5ffb04a1 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (2 of 2 strings)
2018-02-01 07:13:27 +00:00
Trần Ngọc Quân
5f12d8ade3 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (5 of 5 strings)

Translation: opensourcepos/migrate
Translate-URL: http://*/projects/ospos/migrate/vi/
2018-02-01 07:08:49 +00:00
Trần Ngọc Quân
da64b67e26 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (17 of 17 strings)
2018-02-01 07:03:16 +00:00
Trần Ngọc Quân
beedb7e2f6 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://*/projects/ospos/expenses/vi/
2018-02-01 06:53:46 +00:00
Trần Ngọc Quân
fa63933f69 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://*/projects/ospos/expenses/vi/
2018-02-01 06:46:00 +00:00
Weblate
b32b767260 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (51 of 51 strings)
2018-01-31 08:01:47 +00:00
Weblate
4457cf7055 Add Vietnamese language 2018-01-31 07:57:49 +00:00
Weblate
458e9a2db5 Added translation using Weblate (Vietnamese) 2018-01-31 07:56:08 +00:00
Trần Ngọc Quân
3245ddb22d Added translation using Weblate (Vietnamese) 2018-01-31 07:56:08 +00:00
Weblate
5c833e48fb Added translation using Weblate (Vietnamese) 2018-01-31 07:56:08 +00:00
Trần Ngọc Quân
49c3ad57fc Added translation using Weblate (Vietnamese) 2018-01-31 07:56:08 +00:00
Trần Ngọc Quân
67402b6cd5 Added translation using Weblate (Vietnamese) 2018-01-31 07:56:08 +00:00
Trần Ngọc Quân
cd2f2c35a4 Added translation using Weblate (Vietnamese) 2018-01-31 07:56:08 +00:00
Weblate
4efbfe2581 Added translation using Weblate (Vietnamese) 2018-01-31 07:56:08 +00:00
Weblate
2fd350d924 Added translation using Weblate (Vietnamese) 2018-01-31 07:56:08 +00:00
Weblate
e1c6a7c98a Added translation using Weblate (Vietnamese) 2018-01-31 07:56:08 +00:00
Weblate
873bbfd2b8 Added translation using Weblate (Vietnamese) 2018-01-31 07:56:08 +00:00
Weblate
523cbd40e3 Added translation using Weblate (Vietnamese) 2018-01-31 07:56:08 +00:00
Weblate
c97393f53b Added translation using Weblate (Vietnamese) 2018-01-31 07:56:08 +00:00
PICCORO Lenz McKAY
d175b97596 Translated using Weblate (Russian)
Currently translated at 100.0% (65 of 65 strings)
2018-01-31 07:56:08 +00:00
PICCORO Lenz McKAY
aff5dd146e Translated using Weblate (Russian)
Currently translated at 100.0% (65 of 65 strings)
2018-01-31 07:56:08 +00:00
FrancescoUK
768f73770f Merge pull request #1810 from vnwildman/master
Add Vietnamese language (#1809)
2018-01-31 06:19:04 +00:00
Trần Ngọc Quân
b8f4da9314 Add Vietnamese language
Signed-off-by: Trần Ngọc Quân <vnwildman@gmail.com>
2018-01-31 08:13:51 +07:00
FrancescoUK
9c29e066ff Upgrade to CodeIgniter 3.1.7 2018-01-30 21:43:14 +00:00
PICCORO Lenz McKAY
7b0abf5982 Translated using Weblate (Spanish)
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/es/
2018-01-28 13:35:08 +00:00
PICCORO Lenz McKAY
9fe8cffa16 Translated using Weblate (Spanish)
Currently translated at 100.0% (159 of 159 strings)
2018-01-28 13:35:04 +00:00
PICCORO Lenz McKAY
024990dac8 Translated using Weblate (Spanish)
Currently translated at 100.0% (103 of 103 strings)
2018-01-28 13:35:00 +00:00
PICCORO Lenz McKAY
d479ed2512 Translated using Weblate (Spanish)
Currently translated at 100.0% (30 of 30 strings)
2018-01-28 13:34:57 +00:00
PICCORO Lenz McKAY
f799d4f296 Translated using Weblate (Spanish)
Currently translated at 100.0% (35 of 35 strings)
2018-01-28 13:34:56 +00:00
PICCORO Lenz McKAY
c389a2c8a5 Translated using Weblate (Spanish)
Currently translated at 100.0% (44 of 44 strings)
2018-01-28 13:34:54 +00:00
PICCORO Lenz McKAY
0c8b4de6ac Translated using Weblate (Spanish)
Currently translated at 100.0% (257 of 257 strings)
2018-01-28 13:34:54 +00:00
lucailvec
0d5cad8f27 Translated using Weblate (Italian)
Currently translated at 100.0% (257 of 257 strings)
2018-01-28 13:34:48 +00:00
lucailvec
abf163c6fa Translated using Weblate (Italian)
Currently translated at 100.0% (65 of 65 strings)
2018-01-27 09:45:22 +00:00
lucailvec
e1011b2662 Translated using Weblate (Italian)
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/it/
2018-01-23 20:39:40 +00:00
PICCORO Lenz McKAY
cea2a2e051 Translated using Weblate (Russian)
Currently translated at 88.6% (141 of 159 strings)
2018-01-23 20:39:39 +00:00
lucailvec
376c8cd3b2 Translated using Weblate (Italian)
Currently translated at 100.0% (107 of 107 strings)
2018-01-23 20:39:23 +00:00
lucailvec
bea420032a Translated using Weblate (Italian)
Currently translated at 100.0% (51 of 51 strings)
2018-01-23 20:39:12 +00:00
lucailvec
0e8594b92b Translated using Weblate (Italian)
Currently translated at 100.0% (103 of 103 strings)
2018-01-23 20:39:11 +00:00
PICCORO Lenz McKAY
fff072d302 Translated using Weblate (Russian)
Currently translated at 47.7% (21 of 44 strings)
2018-01-23 20:39:10 +00:00
PICCORO Lenz McKAY
803e2391ff Translated using Weblate (Spanish)
Currently translated at 98.8% (254 of 257 strings)
2018-01-23 20:39:10 +00:00
lucailvec
a6cc775d17 Translated using Weblate (Italian)
Currently translated at 100.0% (257 of 257 strings)
2018-01-23 20:39:06 +00:00
lucailvec
c02f93bdf9 Translated using Weblate (Italian)
Currently translated at 100.0% (51 of 51 strings)
2018-01-21 10:29:59 +00:00
lucailvec
c3bbf75d0e Translated using Weblate (Italian)
Currently translated at 100.0% (159 of 159 strings)
2018-01-20 17:43:15 +00:00
PICCORO Lenz McKAY
f533e7629b Translated using Weblate (Spanish)
Currently translated at 98.1% (105 of 107 strings)
2018-01-20 17:42:59 +00:00
Hangman
54099bf43a Translated using Weblate (German)
Currently translated at 79.4% (85 of 107 strings)
2018-01-20 17:42:47 +00:00
Hangman
60ce1970e7 Translated using Weblate (German)
Currently translated at 20.0% (1 of 5 strings)

Translation: opensourcepos/migrate
Translate-URL: http://*/projects/ospos/migrate/de/
2018-01-20 17:42:39 +00:00
lucailvec
9abb83f98b Translated using Weblate (Italian)
Currently translated at 100.0% (12 of 12 strings)
2018-01-20 17:42:38 +00:00
lucailvec
7302b0c5d8 Translated using Weblate (Italian)
Currently translated at 100.0% (8 of 8 strings)
2018-01-20 17:42:36 +00:00
PICCORO Lenz McKAY
b7a03e1a85 Translated using Weblate (Spanish)
Currently translated at 99.0% (102 of 103 strings)
2018-01-20 17:42:35 +00:00
lucailvec
91e08639b0 Translated using Weblate (Italian)
Currently translated at 100.0% (103 of 103 strings)
2018-01-20 17:42:34 +00:00
Hangman
c5874e71bb Translated using Weblate (German)
Currently translated at 100.0% (103 of 103 strings)
2018-01-20 17:42:24 +00:00
lucailvec
1315c52d41 Translated using Weblate (Italian)
Currently translated at 100.0% (30 of 30 strings)
2018-01-20 17:42:22 +00:00
Hangman
e9c56184e0 Translated using Weblate (German)
Currently translated at 76.6% (23 of 30 strings)
2018-01-20 17:42:19 +00:00
lucailvec
99fbbb94a8 Translated using Weblate (Italian)
Currently translated at 100.0% (68 of 68 strings)
2018-01-20 17:42:18 +00:00
lucailvec
3b3d019a5d Translated using Weblate (Italian)
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://*/projects/ospos/expenses/it/
2018-01-20 17:42:11 +00:00
Hangman
ee20237021 Translated using Weblate (German)
Currently translated at 100.0% (44 of 44 strings)
2018-01-20 17:42:08 +00:00
lucailvec
4341501307 Translated using Weblate (Italian)
Currently translated at 100.0% (257 of 257 strings)
2018-01-20 17:42:05 +00:00
Hangman
fc657f1776 Translated using Weblate (German)
Currently translated at 94.5% (243 of 257 strings)
2018-01-20 17:41:45 +00:00
lucailvec
6f55bb8626 Translated using Weblate (Italian)
Currently translated at 100.0% (30 of 30 strings)
2018-01-20 15:20:25 +00:00
lucailvec
62d34178b0 Translated using Weblate (Italian)
Currently translated at 100.0% (68 of 68 strings)
2018-01-20 14:49:03 +00:00
Hangman
9d1152c392 Translated using Weblate (German)
Currently translated at 100.0% (35 of 35 strings)
2018-01-19 18:49:00 +00:00
Hangman
84cbef62f8 Translated using Weblate (German)
Currently translated at 100.0% (17 of 17 strings)
2018-01-19 18:19:38 +00:00
Hangman
8e2f5b6a5e Translated using Weblate (German)
Currently translated at 100.0% (65 of 65 strings)
2018-01-19 17:51:58 +00:00
PICCORO Lenz McKAY
58764ac632 Translated using Weblate (Spanish)
Currently translated at 100.0% (159 of 159 strings)
2018-01-19 12:24:33 +00:00
PICCORO Lenz McKAY
49ed5ac10a Translated using Weblate (Spanish)
Currently translated at 100.0% (65 of 65 strings)
2018-01-19 12:10:04 +00:00
lucailvec
02f873aa64 Translated using Weblate (Italian)
Currently translated at 100.0% (43 of 43 strings)

Translation: opensourcepos/expenses
Translate-URL: http://*/projects/ospos/expenses/it/
2018-01-19 11:49:46 +00:00
lucailvec
1e431582b5 Translated using Weblate (Italian)
Currently translated at 100.0% (30 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/it/
2018-01-19 07:49:53 +00:00
Hangman
0d49fa72e1 Translated using Weblate (German)
Currently translated at 3.3% (1 of 30 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/de/
2018-01-19 07:49:53 +00:00
lucailvec
364886e395 Translated using Weblate (Italian)
Currently translated at 100.0% (17 of 17 strings)
2018-01-19 07:49:53 +00:00
lucailvec
9d3b215fc2 Translated using Weblate (Italian)
Currently translated at 100.0% (159 of 159 strings)
2018-01-19 07:49:53 +00:00
Hangman
4cd0f13485 Translated using Weblate (German)
Currently translated at 100.0% (159 of 159 strings)
2018-01-19 07:49:53 +00:00
lucailvec
937896d436 Translated using Weblate (Italian)
Currently translated at 100.0% (51 of 51 strings)
2018-01-19 07:49:53 +00:00
lucailvec
d5c3d8056a Translated using Weblate (Italian)
Currently translated at 100.0% (5 of 5 strings)

Translation: opensourcepos/migrate
Translate-URL: http://*/projects/ospos/migrate/it/
2018-01-19 07:49:53 +00:00
lucailvec
69fc834118 Translated using Weblate (Italian)
Currently translated at 100.0% (18 of 18 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://*/projects/ospos/expenses_categories/it/
2018-01-19 07:49:53 +00:00
lucailvec
bac9897bed Translated using Weblate (Italian)
Currently translated at 100.0% (2 of 2 strings)
2018-01-19 07:49:53 +00:00
Zhivko Vanev
424e4f0f87 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (2 of 2 strings)
2018-01-19 07:49:53 +00:00
lucailvec
8e069c4e10 Translated using Weblate (Italian)
Currently translated at 100.0% (35 of 35 strings)
2018-01-19 07:49:53 +00:00
lucailvec
3fff00c1f5 Translated using Weblate (Italian)
Currently translated at 100.0% (20 of 20 strings)
2018-01-19 07:49:53 +00:00
lucailvec
57a6a8b1a5 Translated using Weblate (Italian)
Currently translated at 100.0% (44 of 44 strings)
2018-01-19 07:49:53 +00:00
Hangman
e0f7e48d5a Translated using Weblate (German)
Currently translated at 52.2% (23 of 44 strings)
2018-01-19 07:49:53 +00:00
lucailvec
a7733bd244 Translated using Weblate (Italian)
Currently translated at 100.0% (257 of 257 strings)
2018-01-19 07:49:53 +00:00
lucailvec
eb39c0ba56 Translated using Weblate (Italian)
Currently translated at 100.0% (8 of 8 strings)
2018-01-19 07:49:53 +00:00
lucailvec
69a2f6b7f3 Translated using Weblate (Italian)
Currently translated at 96.9% (63 of 65 strings)
2018-01-19 07:49:53 +00:00
lucailvec
e241b1eb89 Translated using Weblate (Italian)
Currently translated at 100.0% (35 of 35 strings)
2018-01-19 07:49:53 +00:00
FrancescoUK
f1edb38be8 Remove duplicated language entry (#1773) 2018-01-12 21:51:55 +00:00
FrancescoUK
6d74f80306 Add Italian to the language list, resort languages (#1779) 2018-01-12 21:51:50 +00:00
FrancescoUK
0456465383 Add missing en_GB translations (#1773) 2018-01-12 21:50:09 +00:00
jekkos
f4fedef0fb Another attempt at stabilizing the build (#1759) 2018-01-11 19:15:07 +01:00
Weblate
713f6106c1 Translated using Weblate (Italian)
Currently translated at 3.0% (2 of 65 strings)
2018-01-11 17:34:54 +00:00
Weblate
e44683e6b6 Added translation using Weblate (Italian) 2018-01-11 17:34:54 +00:00
jekkos
9d594854b3 Move to travis edge environment (#1759) 2018-01-11 00:17:38 +01:00
Steve Ireland
7a55c2311e More missing language elements and one bad reference to a config value. 2018-01-11 00:07:22 +01:00
FrancescoUK
ba5fa39151 Fix missing language lines (#1773) 2018-01-06 16:40:43 +00:00
FrancescoUK
75b401b068 Add a couple of missing reports language elements 2018-01-06 16:39:02 +00:00
Steve Ireland
7029858f58 Add a couple of missing reports language elements 2018-01-05 19:46:13 -05:00
FrancescoUK
fad12b9de2 Fix PHP7.2 and MCrypt issue, use OpenSSL instead (#1770) 2018-01-03 22:01:12 +00:00
FrancescoUK
8b96af3d19 Use define instead of hard number (#1647) 2018-01-02 22:24:56 +00:00
FrancescoUK
447571090f Provide a way to enter a line total and have the quantity sold automatically calculated (#1647) 2018-01-02 22:07:20 +00:00
Steve Ireland
a6e08b5d7d Provide a way to enter a line total and have the quantity sold automatically calculated. 2018-01-02 13:42:25 -05:00
FrancescoUK
b3835ec6a3 Fix register regression (#1647) 2018-01-01 14:03:39 +00:00
FrancescoUK
080d3c0e3b Fix GB translation typo (#1647) 2018-01-01 12:20:06 +00:00
FrancescoUK
86019e002d Provide a way to enter a line total and have the quantity sold automatically calculated (#1647) 2018-01-01 12:01:43 +00:00
FrancescoUK
e0329472ef Various fixes 2018-01-01 11:59:25 +00:00
Steve Ireland
62f34663ae Provide a way to enter a line total and have the quantity sold automatically calculated. 2017-12-31 16:22:04 -05:00
FrancescoUK
9bf1d66b74 Set a larger receipt Barcode size 2017-12-31 21:18:42 +00:00
FrancescoUK
74449f6570 Remove unused Barcode quality (#1753) 2017-12-31 15:05:19 +00:00
FrancescoUK
2a306b888f Fix discount detail report (#1736) 2017-12-31 14:29:51 +00:00
FrancescoUK
161fa4f5d3 Fix to Languages and LICENSE 2017-12-31 13:35:26 +00:00
Thin Siphachanh
20791d7c12 Translated using Weblate (Lao)
Currently translated at 100.0% (42 of 42 strings)

Translation: opensourcepos/expenses
Translate-URL: http://*/projects/ospos/expenses/lo/
2017-12-31 00:55:44 +00:00
Weblate
1a8a19d568 Add lao language 2017-12-29 16:01:33 +00:00
FrancescoUK
61062e1278 Add Lao language, small locale refactoring 2017-12-25 21:14:14 +00:00
Thin Siphachanh
1e87fe0a24 Translated using Weblate (Lao)
Currently translated at 100.0% (16 of 16 strings)
2017-12-25 10:04:47 +00:00
Thin Siphachanh
5f3a42592e Translated using Weblate (Lao)
Currently translated at 100.0% (12 of 12 strings)
2017-12-25 10:04:47 +00:00
Thin Siphachanh
8e27a88d3a Translated using Weblate (Lao)
Currently translated at 100.0% (8 of 8 strings)
2017-12-25 10:04:47 +00:00
Chonh Ssp
b98b842ebe Translated using Weblate (Lao)
Currently translated at 100.0% (101 of 101 strings)
2017-12-25 10:04:47 +00:00
Thin Siphachanh
8f634d7cff Translated using Weblate (Lao)
Currently translated at 100.0% (29 of 29 strings)
2017-12-25 10:04:47 +00:00
Thin Siphachanh
7ab2272abc Translated using Weblate (Lao)
Currently translated at 100.0% (18 of 18 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: http://*/projects/ospos/expenses_categories/lo/
2017-12-25 10:04:47 +00:00
Thin Siphachanh
c0e63cbdfd Translated using Weblate (Lao)
Currently translated at 100.0% (42 of 42 strings)

Translation: opensourcepos/expenses
Translate-URL: http://*/projects/ospos/expenses/lo/
2017-12-25 10:04:47 +00:00
Thin Siphachanh
173574ffaf Translated using Weblate (Lao)
Currently translated at 100.0% (2 of 2 strings)
2017-12-25 10:04:47 +00:00
Thin Siphachanh
8f0af3b450 Translated using Weblate (Lao)
Currently translated at 100.0% (34 of 34 strings)
2017-12-25 10:04:47 +00:00
Thin Siphachanh
2d71d3bd02 Translated using Weblate (Lao)
Currently translated at 100.0% (20 of 20 strings)
2017-12-25 10:04:47 +00:00
Thin Siphachanh
7be5816fa1 Translated using Weblate (Lao)
Currently translated at 100.0% (254 of 254 strings)
2017-12-25 10:04:47 +00:00
Thin Siphachanh
56864e6919 Translated using Weblate (Lao)
Currently translated at 100.0% (8 of 8 strings)
2017-12-25 10:04:47 +00:00
Weblate
846d99d037 Translated using Weblate (Lao)
Currently translated at 100.0% (65 of 65 strings)
2017-12-25 10:04:47 +00:00
Weblate
6c563a210e Added translation using Weblate (Lao) 2017-12-25 10:04:47 +00:00
jekkos
b49dbd39ed Run in travis trusty environment 2017-12-25 02:19:26 +01:00
jekkos
25282381f4 Update project badges 2017-12-24 22:44:48 +01:00
FrancescoUK
13b3a3b98f Add Swedish, Khmer and Bulgarian languages support 2017-12-24 19:08:14 +00:00
FrancescoUK
455b462d25 Preparing 3.2.0 release 2017-12-24 19:08:14 +00:00
Weblate
058cf639db Added translation using Weblate (Arabic) 2017-12-24 19:00:38 +00:00
Weblate
2c97c79737 Translated using Weblate (Dutch (Belgium))
Currently translated at 13.7% (4 of 29 strings)

Translation: opensourcepos/taxes
Translate-URL: http://*/projects/ospos/taxes/nl_BE/
2017-12-24 18:33:00 +00:00
Weblate
11135e9e4f Translated using Weblate (Dutch (Belgium))
Currently translated at 20.0% (1 of 5 strings)

Translation: opensourcepos/migrate
Translate-URL: http://*/projects/ospos/migrate/nl_BE/
2017-12-24 18:29:28 +00:00
Weblate
ce321877ff Translated using Weblate (Bulgarian)
Currently translated at 100.0% (20 of 20 strings)
2017-12-24 18:29:27 +00:00
Weblate
630017aea1 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (65 of 65 strings)
2017-12-24 18:15:04 +00:00
Weblate
e7c7af36ac Added translation using Weblate (Bulgarian) 2017-12-24 18:01:55 +00:00
Weblate
9632e8b508 Added translation using Weblate (Bulgarian) 2017-12-24 18:01:18 +00:00
Weblate
546167ac01 Added translation using Weblate (Bulgarian) 2017-12-24 18:00:35 +00:00
Weblate
7bcc3d0f56 Added translation using Weblate (Bulgarian) 2017-12-24 18:00:10 +00:00
Weblate
751e70fc15 Added translation using Weblate (Bulgarian) 2017-12-24 17:59:24 +00:00
Weblate
8b1b5fc1d7 Added translation using Weblate (Bulgarian) 2017-12-24 17:56:10 +00:00
FrancescoUK
f49bf8d4d4 Translated using Weblate (Swedish)
Currently translated at 24.6% (16 of 65 strings)
2017-12-24 17:55:20 +00:00
FrancescoUK
af4e93f483 Translated using Weblate (Swedish)
Currently translated at 16.9% (11 of 65 strings)
2017-12-24 17:52:01 +00:00
FrancescoUK
4e9236b2e3 Translated using Weblate (Swedish)
Currently translated at 13.8% (9 of 65 strings)
2017-12-24 17:51:27 +00:00
FrancescoUK
195a24feb0 Translated using Weblate (Swedish)
Currently translated at 12.3% (8 of 65 strings)
2017-12-24 17:50:46 +00:00
FrancescoUK
6c5ab60f59 Translated using Weblate (Swedish)
Currently translated at 10.7% (7 of 65 strings)
2017-12-24 17:50:22 +00:00
FrancescoUK
0458fcc99c Translated using Weblate (Swedish)
Currently translated at 9.2% (6 of 65 strings)
2017-12-24 17:49:39 +00:00
Weblate
a11e1dc585 Translated using Weblate (Swedish)
Currently translated at 1.2% (2 of 159 strings)
2017-12-23 22:57:48 +00:00
Weblate
072396f951 Translated using Weblate (Swedish)
Currently translated at 0.6% (1 of 159 strings)
2017-12-23 22:56:37 +00:00
Weblate
b3a2ca4db4 Translated using Weblate (Swedish)
Currently translated at 1.5% (1 of 65 strings)
2017-12-23 22:47:58 +00:00
Salvador Hurtado
66278805c6 Translated using Weblate (Spanish)
Currently translated at 86.7% (138 of 159 strings)
2017-12-23 22:22:12 +00:00
Weblate
b91d383acf Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (65 of 65 strings)
2017-12-23 22:22:12 +00:00
FrancescoUK
a7d7cbe43c Fix clash of item_id and item_number (Barcode) (#1747) 2017-12-23 21:20:48 +00:00
FrancescoUK
ab2685ef62 Fix circular lib dependency (#1668) upgrade to CI 3.1.6 2017-12-22 20:58:18 +00:00
FrancescoUK
c96c2a69a6 Fix Reports and few other minor things 2017-12-12 20:58:36 +00:00
FrancescoUK
323738210b Merge pull request #1748 from i92guboj/master
Incorrect header in spanish invoice template
2017-12-11 21:48:29 +00:00
i92guboj
d61d3b46f3 fix spanish invoice header 2017-12-11 22:41:11 +01:00
FrancescoUK
a08826e909 Add extra Expense fields (#1235) 2017-12-11 17:28:42 +00:00
FrancescoUK
ad1e63fa3a Fix rounding issue with GST and discounts (#1437) 2017-12-09 17:08:05 +00:00
FrancescoUK
a25a87ec60 Update README.md 2017-12-03 12:15:08 +00:00
FrancescoUK
8c6ff0ceb1 ISSUE_TEMPLATE.md minor amendment 2017-12-03 12:06:22 +00:00
FrancescoUK
0f352abcaa Simplified ISSUE_TEMPLATE.md 2017-12-03 12:03:25 +00:00
FrancescoUK
4910441099 Add table sticky header (#1610) 2017-12-02 18:57:39 +00:00
FrancescoUK
c248086566 Add table export to pdf (#1681) 2017-12-02 18:19:10 +00:00
FrancescoUK
c784a537dd Fix export all records #868 2017-12-02 17:42:57 +00:00
FrancescoUK
00958608e0 Merge pull request #1739 from odiea/master
Add Company search to Customer and Sales
2017-12-02 16:10:08 +00:00
odiea
d3cb3b7f87 Added Company search to Customer and Sales 2017-11-30 16:07:01 -07:00
FrancescoUK
983830ef70 Allow receipt item name to be wrapped. 2017-11-30 19:29:18 +00:00
FrancescoUK
35b6609327 Hide Deleted in Expense form when new expense (#1235) 2017-11-27 21:14:01 +00:00
FrancescoUK
b058e91a99 Fix code indentation issues 2017-11-27 20:52:46 +00:00
FrancescoUK
2cde603949 Add Expenses support (#1235) 2017-11-26 20:45:57 +00:00
FrancescoUK
b5b2d4f62f Restore cancelled sales (#682) 2017-11-25 21:45:59 +00:00
FrancescoUK
473676fb08 Add British English translations 2017-11-25 21:43:13 +00:00
Steve Ireland
64c2996c74 Improve the ability to restore canceled sales. 2017-11-25 21:38:00 +00:00
FrancescoUK
15ad253c3a Merge pull request #1723 from RuleDomain/fix-gift-card-vat-amount
Fix gift card amount due in a VAT tax environment.
2017-11-22 20:09:10 +00:00
Steve Ireland
fcab8e1fc9 Fix gift card amount due in a VAT tax environment. 2017-11-21 23:29:28 -05:00
FrancescoUK
8b92d19732 Merge pull request #1701 from RuleDomain/rename-location-fix
Fix issue with renaming stock locations (#1691)
2017-10-29 07:58:08 +00:00
Steve Ireland
2f221004fb Correct issues with renaming stock locations 2017-10-28 19:57:36 -04:00
FrancescoUK
2b2396521c Update bootstrap-table js version to latest master 2017-10-21 14:07:10 +01:00
FrancescoUK
f26c703626 Merge pull request #1686 from ertanyildiz/master
Updated Giftcards 81 line
2017-10-21 12:15:08 +01:00
FrancescoUK
eef9dc82ca Ensure php-mbstring extension is installed (#1673) 2017-10-21 11:57:20 +01:00
Ertan YILDIZ
5a21ac7c89 Updated Giftcards 81 line
it throws error if there is no gift cart in database. 

*check if row is set. if not, set $max_giftnumber to zero
2017-10-20 15:33:59 +03:00
FrancescoUK
269bb900b5 Export all reports records (#868) 2017-10-14 11:01:58 +01:00
FrancescoUK
37ed01ed3e Move Office Icons to the right (#1624) 2017-10-13 20:17:38 +01:00
FrancescoUK
fe4961be8e Insert Try->Catch clause (#1616) 2017-10-13 19:16:09 +01:00
FrancescoUK
058414e78c Fix invoice pdf name bug (#1163) 2017-10-07 17:01:47 +01:00
FrancescoUK
49dba3035c Various fixes to language files 2017-10-07 13:58:33 +01:00
Chiraq Bookstore
e73c33279a Translated using Weblate (az_AZ (generated))
Currently translated at 42.0% (21 of 50 strings)
2017-10-06 07:05:54 +00:00
Chiraq Bookstore
cc2916b65b Translated using Weblate (az_AZ (generated))
Currently translated at 0.0% (0 of 12 strings)
2017-10-06 07:05:54 +00:00
Chiraq Bookstore
a64c4db252 Translated using Weblate (az_AZ (generated))
Currently translated at 79.1% (53 of 67 strings)
2017-10-06 07:05:54 +00:00
Chiraq Bookstore
57172e17fc Translated using Weblate (az_AZ (generated))
Currently translated at 5.0% (1 of 20 strings)
2017-10-06 07:05:53 +00:00
Chiraq Bookstore
cc61365f4d Translated using Weblate (az_AZ (generated))
Currently translated at 30.2% (13 of 43 strings)
2017-10-06 07:05:53 +00:00
Chiraq Bookstore
59c27f275c Translated using Weblate (Russian)
Currently translated at 98.4% (62 of 63 strings)
2017-10-06 07:05:52 +00:00
Chiraq Bookstore
95453620b7 Translated using Weblate (az_AZ (generated))
Currently translated at 13.2% (33 of 249 strings)
2017-10-04 08:04:10 +00:00
Chiraq Bookstore
daa99997d8 Translated using Weblate (az_AZ (generated))
Currently translated at 65.5% (19 of 29 strings)
2017-10-04 07:29:16 +00:00
Chiraq Bookstore
c3e5291e06 Translated using Weblate (az_AZ (generated))
Currently translated at 50.5% (48 of 95 strings)
2017-10-04 07:29:16 +00:00
Chiraq Bookstore
e2e84eccaa Translated using Weblate (az_AZ (generated))
Currently translated at 62.1% (59 of 95 strings)
2017-09-29 15:18:43 +00:00
Weblate
9d67268693 Translated using Weblate (az_AZ (generated))
Currently translated at 12.0% (30 of 249 strings)
2017-09-29 15:18:42 +00:00
Chiraq Bookstore
f9490ba571 Translated using Weblate (az_AZ (generated))
Currently translated at 0.0% (0 of 8 strings)
2017-09-29 15:18:41 +00:00
Weblate
767c818e8e Translated using Weblate (az_AZ (generated))
Currently translated at 55.5% (35 of 63 strings)
2017-09-29 06:45:52 +00:00
Chiraq Bookstore
6c3fcc29f3 Translated using Weblate (Russian)
Currently translated at 50.3% (77 of 153 strings)
2017-09-29 06:45:52 +00:00
Chiraq Bookstore
b2c2749c99 Translated using Weblate (Russian)
Currently translated at 73.6% (70 of 95 strings)
2017-09-29 06:45:52 +00:00
Chiraq Bookstore
c28061f006 Translated using Weblate (Russian)
Currently translated at 52.0% (26 of 50 strings)
2017-09-29 06:45:52 +00:00
Chiraq Bookstore
bfd7e95db4 Translated using Weblate (Russian)
Currently translated at 0.0% (0 of 12 strings)
2017-09-29 06:45:52 +00:00
Chiraq Bookstore
358104d6db Translated using Weblate (Russian)
Currently translated at 69.3% (70 of 101 strings)
2017-09-29 06:45:52 +00:00
Chiraq Bookstore
0f3b0a0095 Translated using Weblate (Russian)
Currently translated at 50.0% (10 of 20 strings)
2017-09-29 06:45:52 +00:00
Chiraq Bookstore
54efec81d3 Translated using Weblate (Russian)
Currently translated at 30.2% (13 of 43 strings)
2017-09-29 06:45:52 +00:00
Chiraq Bookstore
0910e86724 Translated using Weblate (Russian)
Currently translated at 13.2% (33 of 249 strings)
2017-09-29 06:45:52 +00:00
Chiraq Bookstore
504d69f9cc Translated using Weblate (Russian)
Currently translated at 63.4% (40 of 63 strings)
2017-09-29 06:45:52 +00:00
FrancescoUK
b1b6301b93 Allow return to Giftcard with 0 balance (#1620) 2017-09-24 20:23:53 +01:00
FrancescoUK
7aca0a57c5 Fix typo in migration classes 2017-09-24 18:52:56 +01:00
FrancescoUK
9ff7f9f212 Rename Sales to be Transactions (#1599) 2017-09-24 18:14:14 +01:00
FrancescoUK
c5a78613ba Newer migration support (#1576) 2017-09-24 16:49:36 +01:00
FrancescoUK
826837e902 Merge pull request #1641 from RuleDomain/fix-invoice-override (#1638)
Add support for providing a manual invoice number
2017-09-24 16:23:58 +01:00
Steve Ireland
1b9fc76757 Add support for providing a manual invoice number 2017-09-24 10:50:08 -04:00
FrancescoUK
e7ea24bcda Merge pull request #1639 from RuleDomain/item-maint-fix
Fix item maintenance issue related to item kit permissions #1629
2017-09-24 07:56:55 +01:00
Steve Ireland
3d38b2322e Fix item maintenance issue where item cannot be saved if employee is not authorized to work with Item Kits. 2017-09-23 20:46:16 -04:00
jekkos
66b1e538ad Install language files using docker (#1458) 2017-09-22 19:37:48 +02:00
FrancescoUK
77714b97c4 Fix duplicate barcode warning icon being on the wrong row 2017-09-20 21:03:35 +01:00
FrancescoUK
f5e2f1ac0a Add duplicate barcode warning en_GB translation 2017-09-20 19:52:53 +01:00
FrancescoUK
fe79af8efd Revert "Added translation using Weblate (Azerbaijani)"
This reverts commit dc5ebd2e85.
2017-09-20 19:50:05 +01:00
objecttothis
1802a16c02 Removing link 2017-09-20 19:38:42 +02:00
objecttothis
86470a68f5 Add warning tooltip for duplicate barcodes 2017-09-20 19:38:42 +02:00
objecttothis
dd538e07cb Add warning about duplicate barcodes 2017-09-20 19:38:42 +02:00
FrancescoUK
0f09ae6657 Merge pull request #1618 from objecttothis/patch-4
Remove unneeded app_config entry (#1614)
2017-09-19 18:35:47 +01:00
objecttothis
b2d21dd8a5 Remove unneeded app_config entry
this entry is automatically created on first save, so is not needed to manually be entered.
2017-09-19 16:53:15 +04:00
FrancescoUK
89a1224ec3 Merge pull request #1617 from objecttothis/patch-3
Correcting Round-up and Round-down bug (#1590)
2017-09-19 13:44:14 +01:00
objecttothis
79d5bc9156 Correcting Round-up and Round-down bug
Former code ignored precision and just rounded up or down to the nearest integer.  This code rounds up or down to the precision in cash decimals.
2017-09-19 16:28:40 +04:00
Chiraq Bookstore
a98bf2d69c Translated using Weblate (Russian)
Currently translated at 93.7% (15 of 16 strings)
2017-09-18 18:53:19 +00:00
Chiraq Bookstore
852aa48463 Translated using Weblate (Russian)
Currently translated at 81.1% (82 of 101 strings)
2017-09-18 18:53:18 +00:00
Chiraq Bookstore
398edf40a1 Translated using Weblate (Russian)
Currently translated at 60.2% (144 of 239 strings)
2017-09-18 18:53:16 +00:00
FrancescoUK
dc5ebd2e85 Added translation using Weblate (Azerbaijani) 2017-09-17 16:41:46 +00:00
FrancescoUK
5c375636a2 Fix 3.1.1 to 3.2.0 SQL upgrade script error 2017-09-17 16:10:40 +01:00
FrancescoUK
39dbd9af52 Small code refactoring 2017-09-17 15:17:48 +01:00
FrancescoUK
5514676dee Merge pull request #1606 from RuleDomain/suspend-anytype
Suspending Work Order lost work order number
2017-09-17 15:17:08 +01:00
Steve Ireland
d63446cdb8 Suspending Work Order lost work order number 2017-09-17 09:24:52 -04:00
FrancescoUK
7789675a55 Merge branch 'RuleDomain-fix-item-kit-cost' (#1580 #1595)
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-09-16 20:46:12 +01:00
Steve Ireland
729283af37 Add support for item kit costing 2017-09-16 11:39:03 -04:00
FrancescoUK
01f4ea3890 Merge pull request #1597 from objecttothis/patch-2
Azerbaijani and Russian Translation
2017-09-15 12:08:42 +01:00
objecttothis
92575844e3 Submit Translation 2017-09-15 13:15:52 +04:00
objecttothis
883d42d529 Submit Translation 2017-09-15 13:15:15 +04:00
objecttothis
efc9b36fdd Submit Translation 2017-09-15 13:10:22 +04:00
objecttothis
775721a059 Submit Translation 2017-09-15 13:09:50 +04:00
objecttothis
15d0e0b1f9 Submit Translation 2017-09-15 13:09:10 +04:00
objecttothis
8b6e83e05c Submit Translation 2017-09-15 13:08:33 +04:00
objecttothis
25e5751d8d Submit Translation 2017-09-15 13:07:58 +04:00
objecttothis
09179be68b Submit Translation 2017-09-15 13:07:27 +04:00
objecttothis
2a3c4bf655 Submit Translation 2017-09-15 13:06:43 +04:00
objecttothis
76e37dedfe Submit Translation 2017-09-15 13:06:12 +04:00
objecttothis
616f65306a Submit Translation 2017-09-15 13:05:31 +04:00
objecttothis
e8f5102f99 Submit Translation 2017-09-15 13:04:53 +04:00
objecttothis
1b93713028 Submit Translation 2017-09-15 13:04:20 +04:00
objecttothis
e772f8d150 Submit Translation 2017-09-15 13:03:50 +04:00
objecttothis
9020a67338 Corrected misspelling 2017-09-15 13:01:58 +04:00
FrancescoUK
6144902cc1 Fix PHP 5.6 incompatibility (#1580) 2017-09-15 09:36:25 +01:00
FrancescoUK
ad913c79fc Merge pull request #1591 from RuleDomain/fix-sale-return
Change invalid SALE_SALE reference to SALE_RETURN.
2017-09-14 07:05:26 +01:00
Steve Ireland
62c5f2ad16 Change invalid SALE_SALE reference to SALE_RETURN. 2017-09-13 20:53:39 -04:00
FrancescoUK
ac32a06689 Merge pull request #1588 from objecttothis/patch-1
Forgot to commit this one
2017-09-13 21:05:11 +01:00
objecttothis
be15e98182 Forgot to commit this one
oops
2017-09-13 18:55:36 +04:00
FrancescoUK
bd18549613 Merge Allow Duplicate Barcodes 2017-09-13 09:16:57 +01:00
objecttothis
18e6a3f78b Support for custom search suggestion format 2017-09-13 09:12:41 +01:00
objecttothis
35b17b120b Modify database creation to allow duplicate barcodes 2017-09-13 09:12:41 +01:00
objecttothis
dbaf7e8481 Modify items to allow duplicate barcodes 2017-09-13 09:12:41 +01:00
objecttothis
372c3ab6bf Disables unique check and fixes return
- If allow duplicate barcodes is enabled then this function automatically returns FALSE allowing item imports and new items to no longer balk.
- Modified the code to return TRUE not only when there is 1 row but when there are one or more rows.  This will fix problems with users that allow duplicate barcodes and who upgraded from older versions before unique barcode was required.
2017-09-13 09:11:32 +01:00
objecttothis
27e9f3ff1a move save to save_barcode 2017-09-13 09:11:32 +01:00
objecttothis
783b7f0205 checkbox to allow duplicate barcodes 2017-09-13 09:11:32 +01:00
objecttothis
02159d5045 move to barcode_config 2017-09-13 09:11:32 +01:00
objecttothis
6b00091332 correct default value 2017-09-13 09:11:32 +01:00
objecttothis
59297f6954 correct default value 2017-09-13 09:10:52 +01:00
objecttothis
8d7e8d6b9b Save value of allow_duplicate_barcodes 2017-09-13 09:10:22 +01:00
objecttothis
c11973f78b misspelling 2017-09-13 09:10:22 +01:00
objecttothis
6f1da83723 misspelling 2017-09-13 09:09:31 +01:00
objecttothis
d1af54ff21 Checkbox to enable/disable allow duplicate barcode 2017-09-13 09:08:43 +01:00
objecttothis
2c8fe60035 Add language line for duplicate barcodes 2017-09-13 09:08:43 +01:00
objecttothis
8e6b8f4da0 Add allow_duplicate_barcode to master table 2017-09-13 09:08:43 +01:00
objecttothis
e687e505f8 Database entry to allow duplicate barcodes 2017-09-13 09:07:59 +01:00
FrancescoUK
ce6e9d6ba4 Merge Search suggestions formatting 2017-09-13 09:02:14 +01:00
objecttothis
67cace93c7 allow custom format in receivings as well 2017-09-13 08:55:54 +01:00
objecttothis
6e82602a47 Allow custom suggestions format
This changes the display of the search suggestions to match the format set by the user in app_config.  It does not change the logic of how the search suggestions are gathered.
2017-09-13 08:55:54 +01:00
objecttothis
178ba9f702 Add option to select custom columns for search suggestions 2017-09-13 08:55:54 +01:00
objecttothis
cac02eaf96 Add language strings 2017-09-13 08:55:54 +01:00
objecttothis
aa346cbb3f Add support for custom search suggestion format 2017-09-13 08:55:54 +01:00
objecttothis
07dd8158e5 Support for custom search suggestion format 2017-09-13 08:55:54 +01:00
FrancescoUK
f01537247b Merge pull request #1582 from RuleDomain/sales-update-fix
Restore code that was mistakenly "cleaned up"
2017-09-12 07:04:20 +01:00
Steve Ireland
8408901e5a Restore code that was mistakenly "cleaned up" 2017-09-11 19:50:13 -04:00
FrancescoUK
4c7abd7728 Update links to replace jekkos with opensourcepos 2017-09-11 22:30:15 +01:00
FrancescoUK
1fd6f5fb70 Individual languages 2017-09-11 21:02:41 +01:00
FrancescoUK
3a8b28fcb6 Fix en-GB translation Canceled -> Cancelled (#1539) 2017-09-10 18:05:44 +01:00
FrancescoUK
3de96b03a0 Fix missing cancel option (#1549) 2017-09-10 18:01:20 +01:00
Steve Ireland
3e91eb33de Final touch on Work Orders 2017-09-10 12:43:00 -04:00
FrancescoUK
4dc05063b8 Merge pull request #1574 from RuleDomain/backoffice-2
Backoffice Permissions Fix (#1543)
2017-09-10 16:56:13 +01:00
Steve Ireland
4f93bc7430 Final touch on Work Orders 2017-09-10 11:12:34 -04:00
FrancescoUK
8816c37236 Merge branch 'RuleDomain-work-order-6'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-09-10 09:08:17 +01:00
FrancescoUK
b93d6a851d Add en_GB translations 2017-09-10 08:45:09 +01:00
Steve Ireland
e85e2e5e55 Final touch on Work Orders 2017-09-09 17:39:23 -04:00
FrancescoUK
c01663f901 Fix stylesheet for Office view (#1543) 2017-09-09 16:21:31 +01:00
FrancescoUK
700e695b4b Consistency in database upgrade script 2017-09-09 15:59:38 +01:00
FrancescoUK
07541bf933 Do not show migration module if no migration is required (#1440) 2017-09-09 15:26:17 +01:00
FrancescoUK
ec76d85350 Merge pull request #1567 from objecttothis/patch-2
Adding Azerbaijani language
2017-09-09 10:34:31 +01:00
FrancescoUK
717bda9f31 Merge branch 'feature/backoffice' (#1543 #1539) 2017-09-09 10:30:12 +01:00
FrancescoUK
76a0026bdb Prepare Release 3.1.1 notes (#1546) 2017-09-09 09:49:54 +01:00
FrancescoUK
f2c4024734 Added link to Weblate into README (#1569) 2017-09-09 09:24:10 +01:00
FrancescoUK
4de3cbeab6 More support for Work Orders (#1539) 2017-09-08 22:18:12 +01:00
FrancescoUK
da1d435114 Add CSRF issue with suhosin to FAQ with link to #1492 2017-09-08 22:05:34 +01:00
FrancescoUK
4036caf829 Add en_GB translations to backoffice feature (#1543 #1539) 2017-09-08 22:04:45 +01:00
Steve Ireland
36d549cb9b Add support for Work Orders 2017-09-08 22:04:45 +01:00
Steve Ireland
af84a617de Fix database and table script. 2017-09-08 22:04:45 +01:00
FrancescoUK
e42e01a07f Bump version to 3.2.0 2017-09-08 22:04:45 +01:00
Steve Ireland
de91510beb Add Office Menu 2017-09-08 22:04:45 +01:00
objecttothis
7a3aab92b9 Adding Azerbaijani language for 3.2.0 2017-09-08 22:26:07 +04:00
Steve Ireland
771c1b9d1e Enance reporting to accomodate work orders and canceled transactions. 2017-09-08 08:54:25 -04:00
FrancescoUK
5a9aa96b7e Add CSRF issue with suhosin to FAQ with link to #1492 2017-09-07 22:06:15 +01:00
FrancescoUK
cfa051cee8 Add en_GB translations to backoffice feature (#1543 #1539) 2017-09-07 21:40:18 +01:00
Steve Ireland
981aceda53 Add support for Work Orders 2017-09-07 21:37:50 +01:00
Steve Ireland
23b4dacb9a Fix database and table script. 2017-09-07 21:35:42 +01:00
FrancescoUK
d5c390706b Bump version to 3.2.0 2017-09-07 21:35:42 +01:00
Steve Ireland
893aad3502 Add Office Menu 2017-09-07 21:35:42 +01:00
FrancescoUK
d98e788775 Removed en_US wrong folder 2017-09-07 20:43:58 +01:00
FrancescoUK
8a59470872 More updates to en-GB translations 2017-09-07 20:42:30 +01:00
FrancescoUK
de38e26856 Merge pull request #1560 from objecttothis/patch-1
en-US Translation Corrections (#1546)
2017-09-07 20:41:30 +01:00
objecttothis
b98d56f126 #1546 Updates 2017-09-07 17:51:20 +04:00
objecttothis
2adbc403ad #1546 Updates 2017-09-07 17:38:16 +04:00
objecttothis
e1ffda5d27 #1546 Updates 2017-09-07 17:36:04 +04:00
objecttothis
5a6e17f9b0 #1546 Updates 2017-09-07 17:15:05 +04:00
objecttothis
18e6b12541 #1546 Updates 2017-09-07 17:12:42 +04:00
objecttothis
2754d8413c #1546 Updates 2017-09-07 17:02:44 +04:00
objecttothis
df442b734c #1546 Updates 2017-09-07 17:00:18 +04:00
objecttothis
283279955f #1546 Updates 2017-09-07 16:58:44 +04:00
objecttothis
2e208a7a2c #1546 Updates 2017-09-07 16:57:34 +04:00
objecttothis
685dde7ceb #1546 Updates 2017-09-07 16:53:13 +04:00
objecttothis
75eec14689 #1546 Updates 2017-09-07 16:43:22 +04:00
objecttothis
941e968fda #1546 Updates 2017-09-07 16:41:01 +04:00
objecttothis
cf24aebebc #1546 Updates 2017-09-07 15:57:46 +04:00
objecttothis
75e0b2898e #1546 Updates 2017-09-07 15:56:10 +04:00
objecttothis
4936f1b302 #1546 Updates 2017-09-07 15:55:13 +04:00
objecttothis
e4215df835 #1546 Updates 2017-09-07 15:53:23 +04:00
objecttothis
c6a519e4ad #1546 Updates 2017-09-07 15:48:56 +04:00
objecttothis
2b7e9cf631 #1546 Updates 2017-09-07 15:45:46 +04:00
FrancescoUK
a496b971db Fix more en-GB translations 2017-09-06 18:51:11 +01:00
FrancescoUK
4d7397647f Fix db backup failure (#1557) 2017-09-06 18:26:42 +01:00
Weblate
0b28e0c668 Add again last weblate version of en_US 2017-09-06 11:46:30 +00:00
objecttothis
ba2e274cb0 #1546 Updates 2017-09-06 10:07:02 +04:00
objecttothis
9aee57da2f #1546 Updates 2017-09-06 09:48:34 +04:00
objecttothis
2499bc5015 #1546 Updates 2017-09-06 09:46:49 +04:00
objecttothis
6f9a15f464 #1546 Updates 2017-09-06 09:37:39 +04:00
objecttothis
51db8d5b91 #1546 Updates 2017-09-06 09:35:31 +04:00
objecttothis
040f4711d1 #1546 Updates 2017-09-06 09:11:22 +04:00
objecttothis
60fc671a9d #1546 Updates 2017-09-06 09:10:09 +04:00
objecttothis
48aa05f858 #1546 Updates 2017-09-06 09:02:04 +04:00
objecttothis
71de1d1247 #1546 Updates 2017-09-06 08:37:58 +04:00
FrancescoUK
12fcfcb24a Merge pull request #1552 from objecttothis/patch-1
Update to #1491
2017-09-05 19:51:14 +01:00
objecttothis
a77fd438c5 Update to #1491
Two changes for #1491
Check for mod rewrite to be enabled
Correct the code which before was not redirecting on Apache 2.4 and nginx.

Please test.
2017-09-05 22:37:44 +04:00
jekkos
887c8374b6 Fix jquery brokenness after upgrade to 2.0 (#1546) 2017-09-05 19:02:27 +02:00
FrancescoUK
2bc702acc8 Fix old database upgrade scripts (#1546) 2017-09-04 19:37:38 +01:00
FrancescoUK
e1743f4d9f Fix database upgrade script issue and rename it to 3.0.2 to 3.1.1 (#1546) 2017-09-04 18:32:58 +01:00
FrancescoUK
ec96bd8c89 Fix VAT (tax included) migration issue (#1546) 2017-09-04 18:12:48 +01:00
Steve Ireland
bd38c1dc67 This resolves the migration issue that was reported plus a couple of other issues that were spotted but not yet reported. 2017-09-04 11:35:42 -04:00
FrancescoUK
9e7b0db950 Bump vs to 3.1.1, fix Giftcard bug, fix en_GB translations (#1546) 2017-09-03 18:22:46 +01:00
FrancescoUK
52ab4ce035 Fix db upgrade script and prepare 3.1.0 release (#1242) 2017-09-02 12:43:21 +01:00
FrancescoUK
8dbd5e55dd Switch from en to en_US & en_GB (#1485) 2017-09-01 22:19:32 +01:00
FrancescoUK
1eb7ab2406 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (16 of 16 strings)
2017-09-01 06:32:21 +00:00
FrancescoUK
97fbfb32b9 Translated using Weblate (French)
Currently translated at 100.0% (117 of 117 strings)
2017-09-01 06:32:20 +00:00
FrancescoUK
c5f73e0f38 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (137 of 137 strings)
2017-09-01 06:32:20 +00:00
FrancescoUK
62030d50d8 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (87 of 87 strings)
2017-09-01 06:32:20 +00:00
FrancescoUK
d20dcce5b4 Translated using Weblate (French)
Currently translated at 100.0% (50 of 50 strings)
2017-09-01 06:32:20 +00:00
FrancescoUK
00d15765f3 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (50 of 50 strings)
2017-09-01 06:32:20 +00:00
FrancescoUK
11ff84e71d Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (101 of 101 strings)
2017-09-01 06:32:19 +00:00
FrancescoUK
3806b9350b Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (29 of 29 strings)
2017-09-01 06:32:18 +00:00
FrancescoUK
7429637dbf Translated using Weblate (French)
Currently translated at 100.0% (67 of 67 strings)
2017-09-01 06:32:18 +00:00
FrancescoUK
26fa619127 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (67 of 67 strings)
2017-09-01 06:32:18 +00:00
FrancescoUK
a6a3f83378 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (2 of 2 strings)
2017-09-01 06:32:17 +00:00
FrancescoUK
5ad39fe230 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (32 of 32 strings)
2017-09-01 06:32:17 +00:00
FrancescoUK
91ef1af0c5 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (43 of 43 strings)
2017-09-01 06:32:16 +00:00
FrancescoUK
54f1ca2d1f Translated using Weblate (French)
Currently translated at 100.0% (227 of 227 strings)
2017-09-01 06:32:16 +00:00
FrancescoUK
28953a0def Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (239 of 239 strings)
2017-09-01 06:32:16 +00:00
FrancescoUK
688ce015fe Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (63 of 63 strings)
2017-09-01 06:32:15 +00:00
FrancescoUK
b3189a01bf Translated using Weblate (Portuguese (Brazil))
Currently translated at 95.3% (82 of 86 strings)
2017-08-30 20:46:18 +00:00
Rogério Almeida Rodrigues
eee3132cce Translated using Weblate (Portuguese (Brazil))
Currently translated at 91.0% (92 of 101 strings)
2017-08-30 20:41:43 +00:00
FrancescoUK
3730cb0803 Translated using Weblate (Portuguese (Brazil))
Currently translated at 91.0% (92 of 101 strings)
2017-08-30 20:41:33 +00:00
Rogério Almeida Rodrigues
a39c15c71d Translated using Weblate (Portuguese (Brazil))
Currently translated at 65.5% (19 of 29 strings)
2017-08-30 20:38:45 +00:00
Emin Tufan Çetin
fea5b064a9 Translated using Weblate (Turkish)
Currently translated at 98.3% (60 of 61 strings)
2017-08-29 10:15:47 +00:00
FrancescoUK
8169a08ff1 Minor fix 2017-08-27 18:21:29 +01:00
FrancescoUK
e26290469f Regen database script files 2017-08-27 18:12:59 +01:00
jekkos
5dfed09167 Only push zip files to bintray (#1485) 2017-08-27 14:04:01 +02:00
jekkos
a3a48d3ea6 Use sudo to copy files? (#1485) 2017-08-27 13:50:20 +02:00
jekkos
07441d2144 Copy language files to vendor/ (#1485) 2017-08-27 13:45:51 +02:00
objecttothis
3612ecf577 Addition and changes
This app_config key/value exists in the 3.0.2_to_3.1.0 upgrade script but not in tables.sql
Custom values changed to varchar 255 and allowing null to match change in update scripts.
2017-08-27 13:15:25 +02:00
FrancescoUK
f9edc63385 Merge branch 'objecttothis-patch-14'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-08-26 20:54:35 +01:00
FrancescoUK
31367d8943 Regen db script files 2017-08-26 20:54:16 +01:00
FrancescoUK
4c763ea9c0 Drop location column after migration 2017-08-26 20:47:31 +01:00
objecttothis
7b8a7033a1 Update receivings and sales tables
changing comment to default to null which allows comment fields to not be filled
2017-08-25 22:06:20 +04:00
FrancescoUK
8478a7797c Merge pull request #1523 from objecttothis/patch-4
Removed duplicate lines that exist elsewhere
2017-08-25 15:13:57 +01:00
FrancescoUK
44a571ad4f Remove duplicates from database.sql script 2017-08-25 15:12:37 +01:00
FrancescoUK
0dcfc650a4 Merge pull request #1524 from objecttothis/patch-12
This line needs to go into 2.3_migrate_locations.sql
2017-08-25 14:40:49 +01:00
objecttothis
e4e106d6bc This line needs to go into 2.3_migrate_locations.sql
-- ALTER TABLE ospos_items DROP COLUMN location;
2017-08-25 16:59:21 +04:00
objecttothis
00bc200643 Removed duplicate lines that exist elsewhere
('currency_decimals', '2'), exists in 2.4_to_3.0.sql
('cash_decimals', '2'), already exists above
('cash_rounding_code', '0'), already exists above
2017-08-25 16:40:05 +04:00
FrancescoUK
a40ccfd232 Merge pull request #1508 from objecttothis/patch-2
Increase acceptable length of custom fields and allow null values
2017-08-25 13:15:25 +01:00
Weblate
19cc328c65 Added files since 3.1 (en_US) (#1485) 2017-08-25 11:59:15 +00:00
Emin Tufan Çetin
f26963ed3b Translated using Weblate (Turkish)
Currently translated at 100.0% (16 of 16 strings)
2017-08-25 11:59:15 +00:00
Chiraq Bookstore
a175879fe2 Translated using Weblate (English (United States))
Currently translated at 100.0% (16 of 16 strings)
2017-08-25 11:59:15 +00:00
Emin Tufan Çetin
46e515db1e Translated using Weblate (Turkish)
Currently translated at 89.0% (122 of 137 strings)
2017-08-25 11:59:15 +00:00
Chiraq Bookstore
3368003a53 Translated using Weblate (English (United States))
Currently translated at 100.0% (137 of 137 strings)
2017-08-25 11:59:14 +00:00
Chiraq Bookstore
0112fea0a6 Translated using Weblate (English (United States))
Currently translated at 100.0% (87 of 87 strings)
2017-08-25 11:59:14 +00:00
Chiraq Bookstore
2a5e8fe98c Translated using Weblate (English (United States))
Currently translated at 100.0% (50 of 50 strings)
2017-08-25 11:59:14 +00:00
Chiraq Bookstore
b07d99ea38 Translated using Weblate (English (United States))
Currently translated at 100.0% (12 of 12 strings)
2017-08-25 11:59:14 +00:00
Chiraq Bookstore
ea328d6543 Translated using Weblate (English (United States))
Currently translated at 100.0% (8 of 8 strings)
2017-08-25 11:59:14 +00:00
Chiraq Bookstore
b2b0cb34b5 Translated using Weblate (English (United States))
Currently translated at 100.0% (101 of 101 strings)
2017-08-25 11:59:14 +00:00
Emin Tufan Çetin
a91aa3792b Translated using Weblate (Turkish)
Currently translated at 96.5% (28 of 29 strings)
2017-08-25 11:59:14 +00:00
Chiraq Bookstore
de49a50187 Translated using Weblate (English (United States))
Currently translated at 100.0% (29 of 29 strings)
2017-08-25 11:59:14 +00:00
Emin Tufan Çetin
675404ce89 Translated using Weblate (Turkish)
Currently translated at 96.9% (64 of 66 strings)
2017-08-25 11:59:14 +00:00
Chiraq Bookstore
1ea015c734 Translated using Weblate (English (United States))
Currently translated at 100.0% (67 of 67 strings)
2017-08-25 11:59:14 +00:00
Chiraq Bookstore
56f4dee411 Translated using Weblate (English (United States))
Currently translated at 100.0% (2 of 2 strings)
2017-08-25 11:59:14 +00:00
Chiraq Bookstore
f393cb4c04 Translated using Weblate (English (United States))
Currently translated at 100.0% (32 of 32 strings)
2017-08-25 11:59:14 +00:00
Chiraq Bookstore
4a4172bd0f Translated using Weblate (English (United States))
Currently translated at 100.0% (20 of 20 strings)
2017-08-25 11:59:14 +00:00
Chiraq Bookstore
0aee736fd1 Translated using Weblate (English (United States))
Currently translated at 100.0% (43 of 43 strings)
2017-08-25 11:59:14 +00:00
Chiraq Bookstore
86fc8209a2 Translated using Weblate (English (United States))
Currently translated at 100.0% (239 of 239 strings)
2017-08-25 11:59:14 +00:00
Chiraq Bookstore
db49939d6e Translated using Weblate (English (United States))
Currently translated at 100.0% (8 of 8 strings)
2017-08-25 11:59:14 +00:00
Emin Tufan Çetin
8f2052b43e Translated using Weblate (Turkish)
Currently translated at 100.0% (61 of 61 strings)
2017-08-25 11:59:14 +00:00
Chiraq Bookstore
b7aeb7f36d Translated using Weblate (English (United States))
Currently translated at 100.0% (63 of 63 strings)
2017-08-25 11:59:14 +00:00
Weblate
2fe9c1f58b Added translation using Weblate (Central Khmer) 2017-08-25 11:59:14 +00:00
FrancescoUK
63f859d392 Merge pull request #1520 from objecttothis/patch-10
add missing keys delete dropped key
2017-08-25 08:56:53 +01:00
FrancescoUK
26a5f4688b Merge pull request #1521 from objecttothis/patch-11
add distinct designation to prevent sql error
2017-08-25 08:56:29 +01:00
objecttothis
93d00f06b3 removed the addition of client_id to app_config
this field is added automatically and not needed to be added by the update script.
2017-08-25 11:52:27 +04:00
objecttothis
b5f6cd56d6 add distinct designation to prevent sql error
without distinct it migrates multiple copies of the same stock location name which later cause issues in 2.3_to_2.3.1.sql when trying to insert into ospos_permissions.
2017-08-25 00:12:48 +04:00
FrancescoUK
e451618114 Merge pull request #1519 from objecttothis/patch-9
Corrections to dB modifications
2017-08-24 21:01:06 +01:00
objecttothis
8e8713d1b0 add missing keys delete dropped key
added several missing keys to app_config
deleted one key that was removed from the app at some point
2017-08-24 23:33:25 +04:00
objecttothis
90523b79e2 Corrections to dB modifications
removed comment lines as those appear in 2.3.2_to_2.3.3.sql
2017-08-24 23:25:08 +04:00
FrancescoUK
c715bca5cd Merge pull request #1516 from objecttothis/patch-4
Ignore inserted to prevent SQL errors on duplicate values and comment to default null
2017-08-24 19:23:13 +01:00
FrancescoUK
c88bbe3852 Merge pull request #1515 from objecttothis/patch-8
Ignore pre-existing rows
2017-08-24 19:22:29 +01:00
FrancescoUK
1ee11ea61c Merge pull request #1514 from objecttothis/patch-3
Duplicate inserts into ospos_grants cause error
2017-08-24 19:21:59 +01:00
FrancescoUK
5a19031271 Merge pull request #1512 from objecttothis/patch-7
This insert actually needed to be done in 2.3_to_2.3.1
2017-08-24 19:21:06 +01:00
FrancescoUK
8817005401 Merge pull request #1511 from objecttothis/patch-6
#1509 add missing key,value pairs to permissions
2017-08-24 19:20:30 +01:00
FrancescoUK
6df1c7818e Merge pull request #1513 from objecttothis/patch-5
migrations table won't exist for everyone
2017-08-24 19:19:56 +01:00
objecttothis
3af4bf0187 Ignore pre-existing rows
sales_stock and receivings_stock already exist at the point this insert gets run causing the sql to fail.  Adding the IGNORE directive causes duplicate entries to be skipped in the insert.
2017-08-24 17:55:35 +04:00
objecttothis
1d4692a44a This insert actually needed to be done in 2.3_to_2.3.1
I've already submitted the change in 2.3_to_2.3.1.sql
2017-08-24 17:44:19 +04:00
objecttothis
258debc94a #1509 add missing key,value pairs to permissions
sales_stock and receivings_stock are missing from permissions and it's causing a constraint failure.
2017-08-24 16:51:28 +04:00
objecttothis
34c01ed179 migrations table wont exist for everyone
and the people it does exist for should already have the correct collation
2017-08-24 14:37:30 +04:00
objecttothis
477dcb78db comment should be default null 2017-08-24 14:28:23 +04:00
objecttothis
d4ddb4c8ee IGNORE statement prevents mysql error if already exists 2017-08-24 14:08:23 +04:00
objecttothis
9864b126a8 SQL Fails if key already exists
Using the IGNORE keyword bypasses the insert of that key if it already exists and moves onto the next one.
2017-08-24 14:02:20 +04:00
objecttothis
d29ed9441e Duplicate inserts into ospos_grants cause error
INSERT INTO `ospos_grants` (`permission_id`, `person_id`) VALUES
('sales_stock', 1),
('receivings_stock', 1);

sales_stock and receivings_stock are inserted into the database in 2.3_to_2.3.1.sql, so when this is run it returns an SQL error.
2017-08-24 13:52:57 +04:00
objecttothis
e940c1e99d Increase acceptable length of custom fields and allow null values
Currently the maximum length of these custom fields is 25 characters.  It's not too difficult to imagine a case in which this is far too little.  Also, currently none of the fields are allowed to remain null, which for most uses doesn't make sense as every item wont necessarily have all the fields populated.
2017-08-24 12:31:21 +04:00
FrancescoUK
bdc63c5c02 Missing additions to database update scripts (#1488) 2017-08-23 22:28:11 +01:00
FrancescoUK
120b932219 Include mod_rewrite to redirect to ./public/ (#1491) 2017-08-23 21:40:52 +01:00
FrancescoUK
745b9efed1 Small payment summary report query optimisation 2017-08-22 22:31:00 +01:00
jekkos
582311a461 Try to fix php file copy (#1458) 2017-08-22 20:40:18 +02:00
jekkos
69b687989d Fix travis build (#1458) 2017-08-22 09:00:26 +02:00
jekkos
1055ebc5ff Explicitly set folder permissions (#1458) 2017-08-22 08:44:24 +02:00
jekkos
d49cb4fc0f Copy default english to en_US, en_GB and az_AZ (#1485) 2017-08-22 08:38:14 +02:00
Travis Garrison
31bcad32a6 Translated using Weblate (Russian)
Currently translated at 85.0% (114 of 134 strings)
2017-08-21 21:51:54 +00:00
Emin Tufan Çetin
6956c6362e Translated using Weblate (Turkish)
Currently translated at 100.0% (12 of 12 strings)
2017-08-21 21:51:53 +00:00
Emin Tufan Çetin
4821a8851e Translated using Weblate (Turkish)
Currently translated at 100.0% (26 of 26 strings)
2017-08-21 21:51:53 +00:00
Emin Tufan Çetin
8f133b804f Translated using Weblate (Turkish)
Currently translated at 100.0% (20 of 20 strings)
2017-08-21 21:51:53 +00:00
Emin Tufan Çetin
7894c0c0fc Translated using Weblate (Turkish)
Currently translated at 78.5% (168 of 214 strings)
2017-08-21 21:51:53 +00:00
Travis Garrison
2254ce1fbb Translated using Weblate (Russian)
Currently translated at 100.0% (8 of 8 strings)
2017-08-21 21:51:53 +00:00
Emin Tufan Çetin
7eb8284f2e Translated using Weblate (Turkish)
Currently translated at 100.0% (61 of 61 strings)
2017-08-21 21:51:53 +00:00
Emin Tufan Çetin
75f5e0f1fc Translated using Weblate (Turkish)
Currently translated at 100.0% (20 of 20 strings)
Added translation using Weblate (English (United Kingdom))

Added translation using Weblate (English (United States))
2017-08-21 21:51:32 +00:00
Weblate
0cf8543991 Added translation using Weblate (English (United States)) 2017-08-21 21:50:04 +00:00
Weblate
ec11d3f3e4 Added translation using Weblate (English (United Kingdom)) 2017-08-21 21:50:04 +00:00
Weblate
33ff6c9a44 Added translation using Weblate (Azerbaijani) 2017-08-21 21:50:04 +00:00
FrancescoUK
5dd7a5fde1 Fix sql upgrade scripts and UPGRADE.txt description (#1488) 2017-08-20 17:11:26 +01:00
Guenther Lomas
6f261132a3 Translated using Weblate (Chinese)
Currently translated at 86.8% (119 of 137 strings)
2017-08-18 19:55:09 +00:00
Guenther Lomas
665edee213 Translated using Weblate (Chinese)
Currently translated at 82.0% (41 of 50 strings)
2017-08-18 19:55:09 +00:00
Guenther Lomas
a2af047899 Translated using Weblate (Chinese)
Currently translated at 90.0% (18 of 20 strings)
2017-08-18 19:55:09 +00:00
Guenther Lomas
bbec55e77b Translated using Weblate (Chinese)
Currently translated at 92.0% (23 of 25 strings)
2017-08-18 19:55:09 +00:00
Guenther Lomas
896cc96119 Translated using Weblate (Chinese)
Currently translated at 83.1% (178 of 214 strings)
2017-08-18 19:55:09 +00:00
Guenther Lomas
ec1ff216ad Translated using Weblate (Chinese)
Currently translated at 100.0% (61 of 61 strings)
2017-08-18 19:55:09 +00:00
FrancescoUK
c57679cac1 Fix Enhancement typo in ISSUE_TEMPLATE.md 2017-08-18 19:52:39 +01:00
FrancescoUK
ddaa1e88e9 Fix comment cannot be null issue (#1483) 2017-08-18 19:49:01 +01:00
jekkos
6a65618e82 Set branch name to travis_branch + create folders on the fly (#1480) 2017-08-18 18:10:04 +02:00
jekkos
833490c9a3 Copy translations files with superuser powers (#1480) 2017-08-18 17:58:31 +02:00
jekkos
92f62621d5 Fix Baku timezone offset (#1487) 2017-08-18 16:07:59 +02:00
jekkos
97334b2e42 Add languages before packaging (#1480) 2017-08-18 10:20:34 +02:00
jekkos
767b0d293b Fix error in upgrade script (#1477) 2017-08-16 22:55:09 +02:00
jekkos
ffc7b10b3c Fix nominatim autocomplete (jQuery 2.0) (#1471) 2017-08-16 00:00:00 +02:00
jekkos
5a41626ffd Fix .travis.yml (#1448) 2017-08-15 23:28:06 +02:00
jekkos
e12de53fd8 Publish zip's for all branches + extend filename (#1448) 2017-08-15 23:22:04 +02:00
jekkos
768bbf8b18 Add check for testfile presence (#1455) 2017-08-13 18:45:07 +02:00
jekkos
0e4fcadd9f Resync language files (#1242) 2017-08-13 18:40:12 +02:00
jekkos
dd6c8fdd25 Add CSV files to dist zip (#1469) 2017-08-13 18:31:41 +02:00
FrancescoUK
c579fcf2fa Merge pull request #1468 from RuleDomain/fix-receipt-short
Drop price from short receipt per #1466
2017-08-13 08:33:04 +01:00
FrancescoUK
1ac7994758 Replace spaces with tabs 2017-08-13 08:31:42 +01:00
FrancescoUK
c9fd560b00 Merge pull request #1467 from RuleDomain/fix-cash-rounding-error
Fix cash rounding issue (#1430)
2017-08-13 07:03:45 +01:00
Steve Ireland
a9afce8e14 Drop price from short receipt. 2017-08-12 22:04:43 -04:00
Steve Ireland
2177e71f47 Fix cash rounding issue 2017-08-12 21:17:52 -04:00
FrancescoUK
2a4668a80f Merge pull request #1465 from Altoubi/patch-1
Update config_lang.php
2017-08-12 22:55:50 +01:00
Mohammed Altoubi
86d152a668 Update config_lang.php 2017-08-13 01:50:55 +04:00
FrancescoUK
f23f583ced Add Customer get_row function in order to refresh the table row correctly (#1369) 2017-08-12 22:41:10 +01:00
FrancescoUK
712414c56e Added "due payment" to manage credit (#1427) 2017-08-12 20:46:07 +01:00
FrancescoUK
6fefe3e016 Merge branch 'RuleDomain-fix-receiving-issue'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-08-12 19:23:14 +01:00
FrancescoUK
abd3e8ac34 Fix receiving issue (#1457) 2017-08-12 19:22:27 +01:00
FrancescoUK
c364d296cd Fix PRICE_KIT_ITEMS mistake (#1450) 2017-08-07 20:21:30 +01:00
FrancescoUK
8e86fbdc2a Fix comparisons in constant substitution of magic numbers (#1450) 2017-08-07 20:11:21 +01:00
FrancescoUK
0f8c7f52cd Fix 3.0.2_to_3.1.0.sql script mistake 2017-08-07 16:37:42 +01:00
FrancescoUK
bbe766165a Fix sql script error due to foreign key constraints 2017-08-06 19:55:22 +01:00
FrancescoUK
48fe421bf0 Merge pull request #1441 from jekkos/feature/cleanup
Cleanup Sales controller
2017-08-06 19:40:30 +01:00
jekkos
6c714b2dc4 Add constants for magic numbers 2017-08-06 14:33:26 +01:00
FrancescoUK
9d08e9e5be Restore barcode formats 2017-08-06 14:33:26 +01:00
jekkos
4a05f00307 Some indentation 2017-08-06 14:33:26 +01:00
jekkos
6b0a2576a3 Remove unused methods 2017-08-06 14:33:26 +01:00
jekkos
86d3c6bf04 Cleanup Sales controller 2017-08-06 14:33:26 +01:00
FrancescoUK
3ef1abdcc5 Check at login time all the PHP extensions are available if not error_log 2017-08-06 14:32:17 +01:00
FrancescoUK
627bbb9b07 Update README.md 2017-08-06 10:07:29 +01:00
jekkos
283ec86c3f Only deploy from master 2017-08-06 10:28:00 +02:00
FrancescoUK
b15b302624 Merge pull request #1445 from RuleDomain/fix-long-alt-description
Fix to print 255 character alt item description
2017-08-06 06:43:42 +01:00
jekkos
1f508d0b89 Update README instructions 2017-08-06 02:10:18 +02:00
FrancescoUK
e218453ab3 Add robots.txt directive file to avoid scanning of web bots 2017-08-06 02:10:18 +02:00
jekkos
0476265e7a Add translations to output zip 2017-08-06 02:10:18 +02:00
jekkos
1589b8ecee Try to fix filename generation 2017-08-06 02:10:18 +02:00
jekkos
32e1babefd Fix filename 2017-08-06 02:10:18 +02:00
jekkos
ec2fe4a5de Fix find replace 2017-08-06 02:10:18 +02:00
jekkos
91b03ab78b Add deployment files 2017-08-06 02:10:18 +02:00
FrancescoUK
1f6e689151 Development installation script 2017-08-06 02:10:18 +02:00
jekkos
560d25a281 Fix .travis.yml 2017-08-06 02:10:18 +02:00
jekkos
0ab72d8719 Add git revision to bintray zip 2017-08-06 02:10:18 +02:00
FrancescoUK
991042a0f6 Clean bower license file 2017-08-06 02:10:18 +02:00
FrancescoUK
6c043e8c5f Clean public/dist folder 2017-08-06 02:10:18 +02:00
FrancescoUK
0530abc5f8 Install better random support for 5.x as suggested by CodeIgniter 2017-08-06 02:10:18 +02:00
FrancescoUK
32004f28d4 Clean completely vendor folder 2017-08-06 02:10:18 +02:00
FrancescoUK
2a05d91d44 Update composer.LICENSES 2017-08-06 02:10:18 +02:00
FrancescoUK
a99d3536ce FIx Gruntfile.js double entry 2017-08-06 02:10:18 +02:00
FrancescoUK
c6378ba4d2 Minor fix 2017-08-06 02:10:18 +02:00
FrancescoUK
aa0e250250 Fixed styling issues and inventory missing translation 2017-08-06 02:10:18 +02:00
FrancescoUK
6dc1f81cbf Update js plugins and regen dist files 2017-08-06 02:10:18 +02:00
jekkos
c3d9173442 Add back name capitalization library 2017-08-06 02:10:18 +02:00
jekkos
3d238ee78c Add .htaccess to zipfile (#1305) 2017-08-06 02:10:18 +02:00
jekkos
f0fd8a305b Cleanup source repository, create dist zip (#1305) 2017-08-06 02:10:18 +02:00
Steve Ireland
a6045d9e7b Restore the ability to print the entire 255 character alt item
description on quote and invoice.
2017-08-05 19:09:06 -04:00
FrancescoUK
02813c8374 Merge pull request #1431 from RuleDomain/sales-tax-correction
Display tax decimals or currency decimals for tax amounts.
2017-08-05 16:27:47 +01:00
FrancescoUK
4835507e1e Merge pull request #1438 from jekkos/feature/barcode_format
Add function to parse barcode fields (#1243)
2017-08-05 16:25:31 +01:00
FrancescoUK
3b0df85f69 Various fixes 2017-08-05 16:17:06 +01:00
jekkos
36177d1431 Fix jQuery get and make it future proof 2017-08-05 15:18:49 +01:00
jekkos
bc04884190 Add function to parse barcode fields 2017-08-05 15:18:49 +01:00
FrancescoUK
8a3ba5692a Minor fixes (#1443) 2017-08-05 15:10:04 +01:00
FrancescoUK
e89bd73bb5 Add reCaptcha to login page (#1443) 2017-08-05 11:46:48 +01:00
FrancescoUK
f1936dbb4d Fixed rewards foreign key constraint issue (#1436) 2017-08-03 21:39:40 +01:00
Steve Ireland
629f180b8d Dispay tax decimals or currency decimals for tax amounts depending on if sales tax is enabled. 2017-07-29 22:54:49 -04:00
FrancescoUK
6485cf050d Add database foreign keys related to rewards 2017-07-29 22:21:20 +01:00
FrancescoUK
cd792eb56a Add receipt font size configuration (#1401 #1416) 2017-07-28 21:48:34 +01:00
FrancescoUK
256c926e3d Fix French translation mistakes causing errors (#1418) 2017-07-28 20:50:32 +01:00
FrancescoUK
c18c703237 Fix double counting of payments in summary report (#1415) 2017-07-28 20:39:19 +01:00
FrancescoUK
6e64f8ef00 Add customer phone number if available in the register suggestions (#744) 2017-07-28 20:22:00 +01:00
FrancescoUK
591d432d4f Lookup customer in sales register by phone number and email (#1087) 2017-07-28 20:08:00 +01:00
FrancescoUK
4a61119c3d Regen ApiGen code documentation 2017-07-28 18:15:35 +01:00
FrancescoUK
d7237261f7 Update js plugins 2017-07-28 18:11:28 +01:00
FrancescoUK
81512aa76e Update bower.json 2017-07-28 16:57:26 +01:00
FrancescoUK
0dec6819ad Fix git exclusion (#1408) 2017-07-27 20:03:09 +01:00
FrancescoUK
afca2882f8 Regen dist and database files 2017-07-27 19:47:14 +01:00
jekkos
eb610fccb5 Add missing bootswatch themes (#1408) 2017-07-25 22:20:02 +02:00
Steve Ireland
641e2f414c Add missing language element for rounding code "Unknown" and eliminate duplicate statements in upgrade statement, and fix issue with 0 tax_category_id 2017-07-25 00:56:59 +02:00
jekkos
5d49728c74 Don't add csrf token if cookie expired (#1392) 2017-07-18 08:51:36 +02:00
FrancescoUK
858845f4f5 Merge pull request #1397 from RuleDomain/tax-category-cleanup
Improve tax category maintenance.
2017-07-15 22:08:09 +01:00
Steve Ireland
eccf08cf8f Improve tax category maintenance. 2017-07-15 16:42:27 -04:00
FrancescoUK
623572b0f5 Update js plugin and regen dist files 2017-07-14 16:29:47 +01:00
FrancescoUK
dc0d580d05 Fix exceptions in invoice and receipt emails (#1325) 2017-07-14 11:28:08 +01:00
FrancescoUK
fe05845bd4 Fix invoice code indentation 2017-07-14 09:57:55 +01:00
Weblate
1798b4553b Update weblate translations 2017-07-14 07:02:39 +00:00
AELHOFY
e59a3372a9 Translated using Weblate (Arabic)
Currently translated at 100.0% (214 of 214 strings)
2017-07-14 07:00:06 +00:00
jekkos
8a7b93f1b9 Sync language files (#1242) 2017-07-14 08:34:30 +02:00
jekkos
61a3fee4a6 Fix sales / token substitution 2017-07-14 08:30:35 +02:00
jekkos
a92d60d99f Minor refactoring tax story 2017-07-14 00:07:13 +02:00
FrancescoUK
47486b980f Fix Store Config Tax category, Reward, Locations and Tables add and remove of entries 2017-07-13 22:43:49 +01:00
FrancescoUK
dc14cbd7ab Merge pull request #1395 from RuleDomain/fix-quotes-in-takings-2
Remove redundant where clause in Sale.php
2017-07-13 18:54:57 +01:00
Steve Ireland
d7b7f5510c Remove redundant where clause in Sales.php 2017-07-13 13:15:54 -04:00
FrancescoUK
323b7900e9 Merge pull request #1393 from RuleDomain/fix-quotes-in-takings
Remove quotes from the list of takings.
2017-07-13 15:02:17 +01:00
Steve Ireland
eb4d0c8c88 Remove quotes from the list of takings. 2017-07-12 23:15:34 -04:00
FrancescoUK
b0e3600ea6 Fix stock location update (#1389) 2017-07-12 22:22:05 +01:00
FrancescoUK
41ae935223 Merge branch 'RuleDomain-long-alt-description'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-07-11 22:53:37 +01:00
FrancescoUK
60db2cc4b0 Fixes 2017-07-11 22:43:08 +01:00
Steve Ireland
b7951ea5b2 Consolidate tax configuration. 2017-07-11 22:36:32 +01:00
Steve Ireland
cb31ebb06e Extend alternate item description to 255 characters. 2017-07-11 22:32:51 +01:00
FrancescoUK
3f0a53933c Merge branch 'RuleDomain-tax-configuration'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-07-11 22:23:42 +01:00
FrancescoUK
f92b06cff2 Fixes 2017-07-11 22:23:14 +01:00
Steve Ireland
bab4791b5e Consolidate tax configuration. 2017-07-09 18:48:47 -04:00
FrancescoUK
421468f6d8 Update README.md 2017-07-07 21:25:55 +01:00
FrancescoUK
f3a08eab3b Update ISSUE_TEMPLATE.md 2017-07-07 21:23:10 +01:00
FrancescoUK
863988d2ab Regen ApiGen documentation 2017-07-06 22:13:18 +01:00
FrancescoUK
e524593a15 Minor fixes 2017-07-06 20:38:41 +01:00
FrancescoUK
181d904360 Visualise the taxes according to the selected number of decimals (#1133) 2017-07-06 20:31:35 +01:00
Steve Ireland
4448348f7c Improve sale status reporting 2017-07-04 22:02:27 -04:00
FrancescoUK
bb762efac7 Merge pull request #1376 from odiea/master
Update Items.php . Changed receiving_quantity to 1
2017-07-04 08:55:48 +01:00
FrancescoUK
c5697edf76 Fix payment summary report missing return and location (#1133) 2017-07-03 22:07:58 +01:00
FrancescoUK
3f73e449f0 Fix summary report and detailed sale report different tax issue (#1133) 2017-07-03 20:13:37 +01:00
odiea
a18745b3af Update Items.php 2017-07-03 06:23:05 -06:00
FrancescoUK
0057c77721 Replace UPC/EAN/ISBN with Barcode label (#1370) 2017-07-02 21:52:07 +01:00
FrancescoUK
fd3fecbd76 Update README 2017-07-02 21:31:56 +01:00
FrancescoUK
ad690c9ca6 Add odiea to the hall of fame :-) 2017-07-02 21:27:09 +01:00
FrancescoUK
ab29527619 Fix (yet again) registry "complete" issue with rounding 2017-07-02 21:07:55 +01:00
FrancescoUK
12b5ed43c6 Regen ApiGen documentation 2017-07-02 20:26:45 +01:00
FrancescoUK
a78f053c80 Fix config Table and Reward errors 2017-07-02 19:48:58 +01:00
FrancescoUK
5ea0324bc0 Fix rounding issues in reports (#1336) 2017-07-02 15:32:06 +01:00
FrancescoUK
005193e3e0 Update CodeIgniter to vs 3.1.5 2017-07-02 13:05:12 +01:00
FrancescoUK
95733ea476 Regen Apigen documentation 2017-07-02 11:23:09 +01:00
FrancescoUK
c8499599ab General code tidy up, added documentation 2017-07-02 11:15:57 +01:00
FrancescoUK
2f44a9d5c2 Update ISSUE_TEMPLATE.md 2017-07-02 09:00:34 +01:00
FrancescoUK
d28e95208b Update TEMPLATE_ISSUES.md to reflect the latest 2017-07-01 10:06:05 +01:00
FrancescoUK
c4bda0e1fe Merge branch 'RuleDomain-vat-discount-amount-issues'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-06-30 19:11:41 +01:00
FrancescoUK
15e0da4515 Minor fixes 2017-06-30 19:10:43 +01:00
Steve Ireland
c71ce1e8ae Fix discount issue on checkout in VAT tax scenario 2017-06-30 19:05:03 +01:00
FrancescoUK
d5e2b6cb0d Regen files 2017-06-30 19:03:15 +01:00
FrancescoUK
d25b1408c9 Merge pull request #1362 from RuleDomain/discard-quote-fix
Fix #1340 - failure to discard quotes
2017-06-27 06:22:09 +01:00
Steve Ireland
c3f83202a8 Fix failure to discard quotes 2017-06-26 23:32:35 -04:00
FrancescoUK
643c5d91a6 Merge pull request #1360 from RuleDomain/suspended-sale-inventory-fix
Fix for #1354, inventory update issue for suspended sales
2017-06-26 05:55:38 +01:00
Steve Ireland
69e56d06ae Correction to update inventory only if item type is standard and sale type is standard. 2017-06-25 22:11:06 -04:00
FrancescoUK
ee2f66aa61 Merge pull request #1359 from odiea/master
Fix Detailed Reports to show table content.
2017-06-25 20:35:31 +01:00
odiea
16502065fa Fix Detailed Reports to show table content. 2017-06-25 09:53:57 -06:00
FrancescoUK
1a7ed8a69b Fix line duplication mistake (#1358) 2017-06-24 17:44:58 +01:00
FrancescoUK
d2eaaab92c Merge pull request #1358 from odiea/master
Update Receiving.php
2017-06-24 16:37:17 +01:00
odiea
55666caac5 Update Receiving.php 2017-06-24 09:29:01 -06:00
FrancescoUK
841c8166a2 Fixed missing English translation (#1355) 2017-06-24 13:39:35 +01:00
FrancescoUK
4e5ac5c521 Merge branch 'odiea-receivingquantity'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-06-24 13:03:54 +01:00
FrancescoUK
d59e713f1f move receiving database update to common database update script 2017-06-24 13:03:00 +01:00
odiea
78877094fb Update receipt.php 2017-06-24 13:03:00 +01:00
odiea
e2e0ade259 Update for Items receiving_quantity 2017-06-24 13:03:00 +01:00
FrancescoUK
e61e409bfe Fix name Title Case issue (#1301) using a composer lib 2017-06-24 12:25:46 +01:00
jekkos
5d22e41fe2 Fix refresh on focusout (#1351, #1328) 2017-06-20 22:39:32 +02:00
jekkos
0d82db42da Show string placeholders if translations are missing (#1349) 2017-06-19 22:14:01 +02:00
jekkos
ff7848dcff Fix escape error in french (#1344) 2017-06-19 22:06:57 +02:00
FrancescoUK
4866457164 Merge pull request #1342 from RuleDomain/fix-undefined-table-status
Fix undefined table_status error in Sale.php
2017-06-18 09:51:35 +01:00
Steve Ireland
acd003a44c Fix undeifined table_status error in Sale.php 2017-06-13 20:43:47 -04:00
jekkos
f407702dbe Add database.php to docker image (#1297) 2017-06-13 19:17:34 +02:00
FrancescoUK
d129610b24 Merge pull request #1335 from Frontuari/master
Fixed Dinner Tables feature
2017-06-07 19:44:18 +01:00
Jorge Colmenarez
55bf5eddda Fixed Dinner Tables feature 2017-06-07 11:15:46 -04:00
FrancescoUK
94ea15bc18 Fixed notification pop up issues in Config with tables & rewards 2017-06-04 14:31:50 +01:00
FrancescoUK
91fd435cca Fixes to reports tax summary and rewards regressions 2017-06-04 10:46:24 +01:00
FrancescoUK
8f019b4631 Merge branch 'RuleDomain-sales-tax-reporting'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-06-03 23:09:15 +01:00
FrancescoUK
51e160982e Upgrades sales tax reporting 2017-06-03 23:08:09 +01:00
Steve Ireland
1f2218bbc9 Upgrades sales tax reporting 2017-06-03 21:51:02 +01:00
jekkos
77145d29a8 Regnerate language files (#1330) 2017-06-02 19:47:13 +02:00
jekkos
3a447561eb Merge pull request #1330 from rotrico/master
Improve spanish translation
2017-06-02 19:43:21 +02:00
rotrico
6ee545d6eb Improve spanish translation to master version 2017-06-01 13:56:48 +02:00
FrancescoUK
afbf714bd2 Revert "Translated using Weblate (English)" mistakes 2017-05-30 21:04:22 +01:00
FrancescoUK
1a2bc1cc42 Merge pull request #1327 from joshua1234511/hotfix/giftcard-stuck-at-10-issue
fix for Giftcard  issue both display and count (#1315)
2017-05-30 07:07:05 +01:00
Joshua Fernandes
4268a70388 fix for that issue both display and count 2017-05-30 07:36:57 +05:30
Almubaraq Ratomi
189b189e08 Translated using Weblate (Indonesian)
Currently translated at 100.0% (16 of 16 strings)
2017-05-29 22:22:30 +00:00
Almubaraq Ratomi
403c875edf Translated using Weblate (Indonesian)
Currently translated at 100.0% (133 of 133 strings)
2017-05-29 22:22:29 +00:00
Almubaraq Ratomi
4f6cf8b917 Translated using Weblate (Indonesian)
Currently translated at 100.0% (86 of 86 strings)
2017-05-29 22:22:29 +00:00
Almubaraq Ratomi
fd6335081d Translated using Weblate (English)
Currently translated at 100.0% (29 of 29 strings)
2017-05-29 22:22:29 +00:00
Almubaraq Ratomi
234cedff15 Translated using Weblate (Indonesian)
Currently translated at 100.0% (67 of 67 strings)
2017-05-29 22:22:29 +00:00
Almubaraq Ratomi
8348628dc6 Translated using Weblate (English)
Currently translated at 100.0% (66 of 66 strings)
2017-05-29 22:22:29 +00:00
Almubaraq Ratomi
ade9a57fe0 Translated using Weblate (Indonesian)
Currently translated at 100.0% (214 of 214 strings)
2017-05-29 22:22:29 +00:00
Almubaraq Ratomi
6559f9c561 Translated using Weblate (Indonesian)
Currently translated at 100.0% (62 of 62 strings)
2017-05-29 22:22:29 +00:00
Almubaraq Ratomi
a7a559fc72 Translated using Weblate (Indonesian)
Currently translated at 92.7% (89 of 96 strings)
2017-05-29 22:22:29 +00:00
Marcos
e25d1483ae Translated using Weblate (Portuguese (Brazil))
Currently translated at 83.6% (179 of 214 strings)
2017-05-29 22:22:29 +00:00
Almubaraq Ratomi
41a5218583 Translated using Weblate (Indonesian)
Currently translated at 100.0% (96 of 96 strings)
2017-05-29 22:22:29 +00:00
Almubaraq Ratomi
cc7fcaf264 Translated using Weblate (Indonesian)
Currently translated at 100.0% (96 of 96 strings)
2017-05-29 22:22:29 +00:00
Almubaraq Ratomi
e776f31ec5 Translated using Weblate (Indonesian)
Currently translated at 100.0% (62 of 62 strings)
2017-05-29 22:22:29 +00:00
jekkos
d60e1283bd Fix double submit issue (#1309) 2017-05-30 00:14:33 +02:00
FrancescoUK
b2d80acafc Regenerate db files 2017-05-28 09:06:04 +01:00
jekkos
37097babcf Fix double submit after focusing OK button (#1309) 2017-05-24 09:21:58 +02:00
jekkos
15bb3ad6a3 Reset stock inventory when deleting items (#1288) 2017-05-22 19:33:13 +02:00
Adrian Wahyudi
5c0c74b037 Translated using Weblate (Indonesian)
Currently translated at 98.9% (94 of 95 strings)
2017-05-16 14:13:37 +00:00
Adrian Wahyudi
7093874366 Translated using Weblate (Indonesian)
Currently translated at 100.0% (214 of 214 strings)
2017-05-16 14:13:37 +00:00
Adrian Wahyudi
34ae6486dc Translated using Weblate (Indonesian)
Currently translated at 100.0% (214 of 214 strings)
2017-05-16 14:13:36 +00:00
FrancescoUK
2d3d385cbc Add migration support and upgrade db to new tax tables (#1133) 2017-05-14 18:40:46 +01:00
Steve Ireland
c0a9349b60 Add support for database migration 2017-05-09 20:45:25 -04:00
FrancescoUK
c4a76ad01c Fixed Takings filters bug (#1286) 2017-05-01 13:12:25 +01:00
FrancescoUK
8d1bc4cf17 Removed npm package dependencies section 2017-05-01 12:28:09 +01:00
FrancescoUK
daa1614615 Revert "Merge pull request #1281 from RuleDomain/migrate-sales-tax-history"
This reverts commit 11e1cc51aa, reversing
changes made to b32c23ce10.

# Conflicts:
#	application/models/Sale.php
2017-05-01 11:50:13 +01:00
FrancescoUK
34afb9d496 Merge pull request #1283 from RuleDomain/remove-debug-code
Remove debug code
2017-05-01 08:08:00 +01:00
Steve Ireland
27d5fd882b Remove debug code 2017-04-30 23:31:31 -04:00
FrancescoUK
d25c6dc8c1 Added ApiGen documentation to model/person class as an example 2017-04-30 23:27:15 +01:00
FrancescoUK
11e1cc51aa Merge pull request #1281 from RuleDomain/migrate-sales-tax-history
Sales tax history migration (#1163)
2017-04-30 23:14:41 +01:00
FrancescoUK
b32c23ce10 Merge pull request #1282 from Frontuari/fix-change-password-issue
Fix issue for change password support (#227)
2017-04-30 19:25:03 +01:00
Jorge Colmenarez
00a792213c Fix issue for change password support 2017-04-30 13:16:12 -04:00
Steve Ireland
c710ec938f Sales tax history migration 2017-04-30 11:30:39 -04:00
FrancescoUK
d0ada1e42f Created bin/gendocs.sh script to invoke ApiGen removing all vendor/ dependencies (#1278) 2017-04-30 13:53:49 +01:00
FrancescoUK
e89fc6afb2 Move Gruntfile.js composer task and apigen task to separate tasks (#1278) 2017-04-30 13:40:22 +01:00
FrancescoUK
f9fb9e44b3 Added apigen to generate OSPOS code documentation (see docs)
Added grunt-composer and grunt-apigen and scripted all the steps in Grunt
2017-04-29 23:43:15 +01:00
FrancescoUK
4c2d63bbd3 Added Total Spent to Customer tabular view 2017-04-29 19:55:03 +01:00
FrancescoUK
ac92c16c0a Always reformat first and last name, and lower case emails 2017-04-29 15:55:03 +01:00
FrancescoUK
edd1f047bd Merge branch 'joshua1234511-feature/auto-complete-giftcard'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-04-27 19:49:49 +01:00
FrancescoUK
c8ac6a65dc Fixed css and indentation 2017-04-27 19:49:11 +01:00
Joshua Fernandes
6acfc60988 auto suggest gift card 2017-04-27 12:41:27 +05:30
FrancescoUK
6682b77164 Merge branch 'joshua1234511-hotfix/giftcard-customer-restrict-fix'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-04-26 20:06:39 +01:00
FrancescoUK
eb4f3b425b fixes for giftcard 2017-04-26 20:06:08 +01:00
Joshua Fernandes
93b0844121 fixes for giftcard 2017-04-26 20:03:59 +01:00
FrancescoUK
40d32e1b8a Use consistent name for forms (#227) 2017-04-24 20:30:56 +01:00
FrancescoUK
af1aee0015 Fix change password bugs (#227) 2017-04-24 20:26:48 +01:00
FrancescoUK
1e64b3e610 Merge pull request #1257 from Frontuari/changepassword
Support for change user password (#227)
2017-04-24 19:21:54 +01:00
Jorge Colmenarez
8f728500d4 Verify current password before change password 2017-04-24 13:51:25 -04:00
FrancescoUK
c68fa19584 Made print company name in receipts optional (#925) 2017-04-22 17:09:22 +01:00
FrancescoUK
5bdf6d396b Add Mailchimp connector (#113) avoid email duplicates (#112) 2017-04-22 16:07:33 +01:00
FrancescoUK
0114223e99 Giftcard random number/alpha numeric 2017-04-22 13:38:56 +01:00
FrancescoUK
b819442e98 Fix indentation and regen db scripts 2017-04-22 13:33:45 +01:00
Joshua Fernandes
15681edf43 fixed query 2017-04-22 13:33:45 +01:00
Joshua Fernandes
0cd19ca43f uncommenr var dumb 2017-04-22 13:33:45 +01:00
Joshua Fernandes
621a74653d requested changes 2017-04-22 13:33:45 +01:00
Joshua Fernandes
6dc49ca00e sales fixes 2017-04-22 13:33:45 +01:00
Joshua Fernandes
7a91388d8d giftcard random number 2017-04-22 13:33:45 +01:00
FrancescoUK
1680f2b602 Fix wrong code issue (#1247) 2017-04-22 10:28:05 +01:00
FrancescoUK
80c58cf27d Add search custom items string (#1256) 2017-04-22 10:01:27 +01:00
FrancescoUK
dd21f205b7 Fix wrong code issue (#1247) 2017-04-22 09:30:53 +01:00
Jorge Colmenarez
8261cc1f72 Support for change password 2017-04-21 16:13:25 -04:00
FrancescoUK
08a7bd9606 Fix review comment (#1253) 2017-04-21 19:02:11 +01:00
FrancescoUK
56ae0f265a Merge pull request #1253 from RuleDomain/fix-customer-change-issue
Fix the customer change issue (#1250)
2017-04-21 06:43:44 +01:00
Steve Ireland
c95c56ade7 Fix the customer change issue. 2017-04-20 23:34:56 -04:00
jekkos
b057d1c3c0 Overload existing env vars with .env contents (#974)
Add error handling if .env is not present
2017-04-20 08:27:04 +02:00
Deep Shah
248cd29e01 change database variable names in example file 2017-04-20 08:27:04 +02:00
Deep Shah
bacc07ce35 revert change on db_log_enabled 2017-04-20 08:27:04 +02:00
Deep Shah
aef542d096 dotenv used for configurations 2017-04-20 08:27:04 +02:00
Deep Shah
28141185a4 change database settings as per Dockerfile, remove the correspoding scripts from Dockerfile 2017-04-20 08:27:04 +02:00
Deep Shah
deb235a971 change ['<key>'] to getenv('<key>') 2017-04-20 08:27:04 +02:00
Deep Shah
878d93aee9 revert change on db_log_enabled 2017-04-20 08:27:04 +02:00
Deep Shah
9db7eddc68 dotenv used for configurations 2017-04-20 08:27:04 +02:00
Jorge Colmenarez
e2232ba9cc Translated using Weblate (Spanish)
Currently translated at 100.0% (201 of 201 strings)
2017-04-18 17:14:30 +00:00
jekkos
4db76371fd Regenerate langauge files (#1242) 2017-04-18 19:12:41 +02:00
FrancescoUK
9d01398a4b Minor code style adjustments 2017-04-17 21:47:22 +01:00
FrancescoUK
66a4507525 Added more financial year start dates (#1141) 2017-04-17 20:31:10 +01:00
FrancescoUK
938907fe20 Added financial year start date (#1141), various fixes on date & time 2017-04-17 20:20:53 +01:00
FrancescoUK
1738f76402 Regen dist files (#1234) 2017-04-17 12:31:14 +01:00
jekkos
b7251dd693 Fix button enabled state after search and page change (#1234) 2017-04-17 13:17:00 +02:00
jekkos
8f7a425333 Set folder owner for application to www-data in docker (#1189) 2017-04-17 13:17:00 +02:00
FrancescoUK
7e7c068c90 Add only_check filter to takings (#1244) 2017-04-17 12:00:56 +01:00
FrancescoUK
73ae7b8fd2 Minor fixes to database scripts 2017-04-17 12:00:56 +01:00
Aril Apria Susanto
56b228c698 Translated using Weblate (Indonesian)
Currently translated at 99.2% (132 of 133 strings)
2017-04-16 21:31:22 +00:00
Aril Apria Susanto
b5a44a8308 Translated using Weblate (Indonesian)
Currently translated at 97.6% (84 of 86 strings)
2017-04-16 21:31:22 +00:00
Aril Apria Susanto
1788941b5f Translated using Weblate (Indonesian)
Currently translated at 100.0% (50 of 50 strings)
2017-04-16 21:31:22 +00:00
Aril Apria Susanto
27f093cf73 Translated using Weblate (Indonesian)
Currently translated at 100.0% (12 of 12 strings)
2017-04-16 21:31:22 +00:00
Aril Apria Susanto
efe9ed22b3 Translated using Weblate (Indonesian)
Currently translated at 98.9% (94 of 95 strings)
2017-04-16 21:31:22 +00:00
Aril Apria Susanto
e6a51d8c28 Translated using Weblate (Indonesian)
Currently translated at 89.6% (26 of 29 strings)
2017-04-16 21:31:22 +00:00
Aril Apria Susanto
27f5dd7efc Translated using Weblate (Indonesian)
Currently translated at 100.0% (66 of 66 strings)
2017-04-16 21:31:22 +00:00
Aril Apria Susanto
07642bd953 Translated using Weblate (Indonesian)
Currently translated at 100.0% (24 of 24 strings)
2017-04-16 21:31:22 +00:00
Aril Apria Susanto
99afc02c9d Translated using Weblate (Indonesian)
Currently translated at 100.0% (196 of 196 strings)
2017-04-16 21:31:22 +00:00
FrancescoUK
74972712a6 Fix drop down box size 2017-04-16 22:27:25 +01:00
FrancescoUK
826ffd79c9 Merge pull request #1241 from RuleDomain/fix-same-item-receivings-line-total
Fix the line total extension error when receiving received item (#1233)
2017-04-16 18:41:51 +01:00
Steve Ireland
7f8ac815ef Fix the line total extension error when receiving the same item multiple times. 2017-04-16 10:06:24 -04:00
FrancescoUK
04f27c328d Merge pull request #1240 from RuleDomain/fix-tax-category-item-update
Fix item update of tax category (#1133)
2017-04-16 08:53:23 +01:00
FrancescoUK
793dd73248 Merge pull request #1239 from RuleDomain/make-sales-tax-code-uppercase
Make Sales Tax Code uppercase
2017-04-16 08:52:05 +01:00
FrancescoUK
28d89c685b Merge branch 'RuleDomain-fix-database-creation-dup-config-val' (#1192)
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-04-16 08:48:55 +01:00
FrancescoUK
d59b79e4b6 Fix database creation duplicate config value error 2017-04-16 08:37:03 +01:00
Steve Ireland
422ca99ab3 Fix item update of tax category. 2017-04-15 19:38:32 -04:00
Steve Ireland
0ff095e889 Make Sales Tax Code uppercase 2017-04-15 17:45:54 -04:00
Steve Ireland
e0bc9bb8f7 Fix database creation duplicate config value error 2017-04-15 16:22:20 -04:00
FrancescoUK
86afbf0d30 Merge branch 'RuleDomain-customer-sales-tax-feature' (#1133 #1192)
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-04-15 10:29:48 +01:00
FrancescoUK
26d5605de5 Regen db, js, css files 2017-04-15 10:21:52 +01:00
FrancescoUK
6c0124cd17 Minor fixes 2017-04-15 10:04:48 +01:00
Steve Ireland
effba9d102 Add support for customer sales tax and cash rounding 2017-04-14 21:21:44 -04:00
FrancescoUK
15b13e1a3d Merge pull request #1225 from RuleDomain/fix-item-import
Fix for item excel import
2017-04-10 06:24:32 +01:00
Steve Ireland
1a0a3fbeba Fix for item excel import 2017-04-09 21:40:56 -04:00
Aril Apria Susanto
b7e0c0eba6 Translated using Weblate (Indonesian)
Currently translated at 87.2% (116 of 133 strings)
2017-04-05 20:58:17 +00:00
Aril Apria Susanto
354076f8c3 Translated using Weblate (Indonesian)
Currently translated at 95.7% (91 of 95 strings)
2017-04-05 20:58:15 +00:00
Aril Apria Susanto
6e9e7abcff Translated using Weblate (Indonesian)
Currently translated at 100.0% (66 of 66 strings)
2017-04-05 20:58:15 +00:00
Aril Apria Susanto
cf314f98a6 Translated using Weblate (Indonesian)
Currently translated at 100.0% (26 of 26 strings)
2017-04-05 20:58:14 +00:00
Aril Apria Susanto
a316e250de Translated using Weblate (Indonesian)
Currently translated at 100.0% (196 of 196 strings)
2017-04-05 20:58:13 +00:00
Aril Apria Susanto
33b9f97bce Translated using Weblate (Indonesian)
Currently translated at 100.0% (61 of 61 strings)
2017-04-05 20:58:13 +00:00
Weblate
3677b61dd9 Merge with master 2017-04-02 21:25:26 +00:00
Aril Apria Susanto
e592040962 Translated using Weblate (Indonesian)
Currently translated at 87.2% (116 of 133 strings)
2017-04-02 19:51:27 +00:00
Aril Apria Susanto
e51c79c423 Translated using Weblate (Indonesian)
Currently translated at 100.0% (8 of 8 strings)
2017-04-02 19:51:24 +00:00
Aril Apria Susanto
f556361ade Update Indonesian Translation 2017-04-02 21:49:03 +02:00
FrancescoUK
a317c32d1e Removed php-enum composer package (#1198) 2017-04-01 13:04:45 +01:00
FrancescoUK
0e60d5e6e1 Updated js plugins 2017-03-25 19:17:43 +00:00
FrancescoUK
6fda5d63fe Updated CodeIgniter to 3.1.4 2017-03-25 19:15:18 +00:00
FrancescoUK
7c9a2dee37 Added php-enum composer package (#1198) 2017-03-25 19:14:11 +00:00
FrancescoUK
06f404ddc4 Fixed wrong id reference in js script (#1194) 2017-03-25 11:42:47 +00:00
langlais
562a43a942 Translated using Weblate (French)
Currently translated at 96.0% (48 of 50 strings)
2017-03-22 20:55:31 +00:00
langlais
cbda2dae13 Translated using Weblate (French)
Currently translated at 100.0% (29 of 29 strings)
2017-03-22 20:55:31 +00:00
langlais
1abdd765de Translated using Weblate (French)
Currently translated at 100.0% (66 of 66 strings)
2017-03-22 20:55:31 +00:00
Xyko Arteiro
2f4d0986d9 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (196 of 196 strings)
2017-03-22 20:55:31 +00:00
langlais
bbac0f16bf Translated using Weblate (French)
Currently translated at 98.4% (193 of 196 strings)
2017-03-22 20:55:31 +00:00
FrancescoUK
b986ad437a Fix composer.lock 2017-03-19 11:04:40 +00:00
jekkos
68883230e8 Make encryption key configurable in docker (#1189) 2017-03-19 11:04:07 +01:00
jekkos
5cb8141641 Regenerate langauge files 2017-03-18 16:12:57 +01:00
Emin Tufan Çetin
e6d6bf0392 Translated using Weblate (Turkish)
Currently translated at 87.9% (117 of 133 strings)
2017-03-16 07:04:38 +00:00
Jorge Colmenarez
85d2cf9e68 Translated using Weblate (English)
Currently translated at 100.0% (95 of 95 strings)
2017-03-16 07:04:38 +00:00
FrancescoUK
91f33d14b7 Merge pull request #1188 from Langlais115/Langlais115-Item-by-Article
French translations
2017-03-15 20:41:00 +00:00
Langlais115
5e004309f0 Minor change 2017-03-15 17:11:25 +01:00
Langlais115
aa8351c147 Improve translation 2017-03-15 15:51:02 +01:00
Langlais115
adacc2ab5f Improve translation 2017-03-15 15:42:26 +01:00
Langlais115
8bb4171265 Improve translation 2017-03-15 15:33:58 +01:00
Langlais115
87bd59a6bf Improve translation 2017-03-15 15:15:53 +01:00
Langlais115
488fc58a03 Translate the file 2017-03-15 15:12:00 +01:00
Langlais115
8cd521c6d1 Improve translation 2017-03-15 15:05:55 +01:00
Langlais115
faaac45653 Change Item by Article 2017-03-15 14:47:20 +01:00
Langlais115
d8e19ceeca Change Item by Article 2017-03-15 14:42:39 +01:00
FrancescoUK
00f99c524a Updated LICENSE, upgraded js plugin and regen dist files 2017-03-13 14:38:27 +00:00
FrancescoUK
91d5157765 Fixed Dinner Table support in suspended (#886) 2017-03-13 14:17:03 +00:00
FrancescoUK
b8414cc969 Merge branch 'joshua1234511-hotfix/enable-reward-points-issue'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-03-13 12:29:45 +00:00
FrancescoUK
387b0004a8 Fix typo in !empty 2017-03-13 12:26:53 +00:00
Joshua Fernandes
cdc401dd7e review change empty check 2017-03-13 15:40:00 +05:30
Joshua Fernandes
74681e78e3 fixed issues with enable reward points 2017-03-13 10:58:34 +05:30
FrancescoUK
3f489d6f53 Fix payment issue (#1182) regen sql script files 2017-03-12 22:12:42 +00:00
FrancescoUK
55350b8bf8 Merge pull request #1178 from joshua1234511/feature/reward-points-customer
Feature/reward points customer (#1179)
2017-03-12 18:58:21 +00:00
Joshua Fernandes
f52b61ae36 removed the sepearte sql after adding to migrate and table 2017-03-12 19:20:30 +05:30
Joshua Fernandes
e131cda843 sql queires added 2017-03-12 19:18:02 +05:30
Joshua Fernandes
991854f0f2 Removed my key 2017-03-04 22:58:39 +05:30
Joshua Fernandes
af7d2f27aa fix for display reports 2017-03-04 17:38:03 +05:30
Joshua Fernandes
3650b47d8b reports display added for detailed sale and customer 2017-03-04 17:17:03 +05:30
Joshua Fernandes
deea43ce67 customer reward points first phase work 2017-03-04 16:13:56 +05:30
FrancescoUK
3d9665c0a9 Merge pull request #1169 from jlctmaster/dinner-tables
Support for Configurable Dinner Tables Feature
2017-03-01 22:17:16 +00:00
FrancescoUK
ae90dfa333 Fixed receipt total mistake with double taxation (#1163) 2017-02-27 23:25:49 +00:00
Valentin Seipt
02dcb4dc90 Translated using Weblate (German)
Currently translated at 100.0% (178 of 178 strings)
2017-02-27 19:54:18 +00:00
jekkos
4dc3c49d9d Merge pull request #1171 from RuleDomain/fix-undefined-property
Fix for undefined property in Sale_lib.php #1166
2017-02-27 12:15:19 +01:00
Steve Ireland
a77d63fad8 Fix for undefined property in Sale_lib.php #1166 2017-02-26 21:42:12 -05:00
FrancescoUK
b487573b05 Fix line removal mistake (#1166) 2017-02-26 23:59:09 +00:00
FrancescoUK
4528436fd5 Fixed tax calculation issues (#1094, #1163) 2017-02-26 23:56:12 +00:00
jekkos
5876efbbee Merge pull request #1170 from RuleDomain/fix-undefined-property
Fix for undefined property in Sale_lib.php #1166
2017-02-26 22:24:11 +01:00
Steve Ireland
1e1b0cd06b Fix for undefined property in Sale_lib.php #1166 2017-02-26 15:35:13 -05:00
Jorge Colmenarez
6826115b2d Support for Configurable Dinner Tables Feature 2017-02-26 15:35:21 -04:00
jekkos
032bb34131 Merge pull request #1149 from RuleDomain/tokens-quotes
Tokens quotes
2017-02-26 12:05:47 +01:00
jekkos
e9aa0068fe Enable auto refresh for serialnumber and description (#1154) 2017-02-23 08:03:37 +01:00
jekkos
e55b5a743a Add realtime cart update in sale and receiving (#1154) 2017-02-21 23:28:22 +01:00
Steve Ireland
e4955027d1 Hide stock_type and item_type if the employee isn't authorized to item kits. On register if item type is non-stock don't display the zero stock balance message, and correct the default quote format when initializing the field. 2017-02-19 13:41:04 -05:00
Steve Ireland
9bf8989960 This will add support for preparing quotes and generating invoices prior
to payments
2017-02-19 13:37:32 -05:00
FrancescoUK
53dcdc02cf Fixed payment issue in return mode (#1081) 2017-02-18 21:48:21 +00:00
FrancescoUK
69391eb434 Added to composer.json PHP7.0 support 2017-02-18 17:27:18 +00:00
FrancescoUK
aff7e6df3b Fixed composer.json name format (required by Packagist) 2017-02-18 16:50:18 +00:00
Luc Gagnier
9bf24fee5f Translated using Weblate (French)
Currently translated at 100.0% (178 of 178 strings)

Translated using Weblate (French)

Currently translated at 100.0% (22 of 22 strings)

Translated using Weblate (French)

Currently translated at 98.8% (88 of 89 strings)

Translated using Weblate (French)

Currently translated at 86.0% (43 of 50 strings)

Translated using Weblate (French)

Currently translated at 99.1% (116 of 117 strings)
2017-02-15 23:54:00 +01:00
FrancescoUK
2c53f0e585 Fixed typo in README and added more info 2017-02-14 09:09:12 +00:00
FrancescoUK
5aeb1234a2 Fixed POS or pos issue in sale register (#1081) 2017-02-13 22:14:00 +00:00
FrancescoUK
6e62a3fe15 Update README with latest System Requirement 2017-02-13 18:55:36 +00:00
jekkos
67594190fc Merge pull request #1140 from RuleDomain/item-kit-git-info-fix
This fixes an error with Item_kit.get_info
2017-02-13 08:16:24 +01:00
Steve Ireland
c6597ba6ce This fixes an error with Item_kit.get_info that occurs in developer test mode. 2017-02-12 21:16:53 -05:00
FrancescoUK
2187898b04 Add CI language support 2017-02-12 13:39:37 +00:00
FrancescoUK
a6b5220047 Updated to CI version 3.1.3 2017-02-11 22:08:00 +00:00
FrancescoUK
78cb4822c2 Updated js plugins and composer 2017-02-11 20:51:32 +00:00
FrancescoUK
ae4ff80974 Fix encryption key generation issue (#1110) 2017-02-07 20:49:19 +00:00
jekkos
df2d616566 Merge pull request #1128 from RuleDomain/fixes-item-kit-discount-not-working
Fix for discount assignment not working
2017-02-07 20:27:08 +01:00
Steve Ireland
353fa8e95c Fix for discount assignment bug 2017-02-06 18:37:34 -05:00
FrancescoUK
699236bca0 Merge pull request #1122 from i92guboj/pic_filename
Preliminary fix for dot corruption in pic_filename (#1026)
2017-02-05 21:34:48 +00:00
FrancescoUK
4ca862ba9f Refactor code (#1110) 2017-02-05 21:24:29 +00:00
i92guboj
7222df3551 Remove unnecessary/redundant check 2017-02-05 21:30:17 +01:00
i92guboj
72e1158847 Cleanup and tabs 2017-02-05 21:25:00 +01:00
i92guboj
145d97737f Preliminary fix for dot corruption in pic_filename 2017-02-05 17:10:34 +01:00
FrancescoUK
8140d1aee4 Update language files (#932) 2017-02-04 12:15:40 +00:00
FrancescoUK
5f5394b18f Fix correct database upgrade script (#632) 2017-02-03 22:24:38 +00:00
FrancescoUK
ceb9687e5e Merge pull request #1115 from jlctmaster/date_or_time_format
Fixed bug sales data preview of day (#932)
2017-02-03 22:04:30 +00:00
Jorge Colmenarez
7a4525319a Fixed bug sales data preview of day when date or time field is checked into config location tab 2017-02-03 15:39:11 -04:00
jekkos
a175111b59 Merge pull request #1114 from RuleDomain/this-fixes-add-item-kit
This will fix the issue with the PHP error when adding a new item kit…
2017-02-03 10:54:22 +01:00
Steve Ireland
4cda5343aa This will fix the issue with the PHP error when adding a new item kit. It also initializes the line_sequence config option. 2017-02-02 23:25:04 -05:00
FrancescoUK
e7cbacaae6 Merge pull request #1111 from RuleDomain/fix-kit-item-selection
Change kit item selection from the Item Kit maintenance to only selec…
2017-02-01 20:07:48 +00:00
Steve Ireland
faadbe554a Change kit item selection from the Item Kit maintenance to only select kit items. 2017-02-01 14:43:16 -05:00
jekkos
999e12279a Extract pic_filename update into method (clean code #1026) 2017-02-01 08:08:51 +01:00
jekkos
37bb9b50f9 Bump Mysql version in docker dev container (#630, #591) 2017-02-01 08:06:56 +01:00
FrancescoUK
5e02f31866 Fix bugs (#1026) 2017-01-31 23:16:38 +00:00
FrancescoUK
bf0d24a96f Fix bugs (#1026) 2017-01-31 23:08:56 +00:00
FrancescoUK
be66258bfc Fix bugs (#1026) 2017-01-31 23:03:53 +00:00
FrancescoUK
87247333cc Fix bugs (#1026) 2017-01-31 22:52:37 +00:00
FrancescoUK
5e75613fec Update LICENSE file 2017-01-31 21:14:20 +00:00
FrancescoUK
5b4d12cac8 Improve Items picture storing (#1026) 2017-01-31 20:23:59 +00:00
jekkos
0e013220ad Use PHP7 + newest MariaDB in docker compose + cloud (#630, #591) 2017-01-31 20:09:12 +00:00
Steve Ireland
ae92231903 Generate low inventory message if at least one of the item kit items added to a sale are below the reorder level. 2017-01-31 20:09:12 +00:00
Steve Ireland
9a1cf6752c Change the inventory reports to exclude non-stock items. 2017-01-31 20:09:12 +00:00
FrancescoUK
9db439a8fe Merge pull request #1107 from RuleDomain/low-inventory-check-for-kits
Low inventory check for kits
2017-01-31 20:02:34 +00:00
FrancescoUK
e458b23b7e Merge pull request #1106 from RuleDomain/fix-inventory-low-missing-reorder_level-check
Restore reorder level check for low inventory report
2017-01-31 20:00:21 +00:00
jekkos
4ca0e74d42 Use PHP7 + newest MariaDB in docker compose + cloud (#630, #591) 2017-01-31 19:24:40 +01:00
i92guboj
47357aaafc Merge branch 'master' into pic_filename 2017-01-31 16:04:33 +01:00
Steve Ireland
a99f326bb8 Generate low inventory message if at least one of the item kit items added to a sale are below the reorder level. 2017-01-31 09:03:36 -05:00
Steve Ireland
cc584ca063 Change the inventory reports to exclude non-stock items. 2017-01-31 08:29:14 -05:00
FrancescoUK
d85aeaeaf8 Merge pull request #1103 from RuleDomain/restrict-inventory-reports-to-stock-items
Restrict inventory reports to stock items
2017-01-31 08:05:54 +00:00
FrancescoUK
cc2fd1876d Merge pull request #1102 from RuleDomain/fix-out-of-stock-warning
Fix out of stock warning
2017-01-31 08:04:52 +00:00
FrancescoUK
f4a52dab8b Merge pull request #1101 from RuleDomain/fix-for-line_sequence
Fix merge issues related to line_sequence for receipts and invoices
2017-01-31 08:03:52 +00:00
Steve Ireland
d75a936472 Change the inventory reports to exclude non-stock items. 2017-01-30 21:34:32 -05:00
Steve Ireland
2719c43e3d Fix for issue where the warning messages for out of stock or below reorder level were not being sent to the user. 2017-01-30 20:38:24 -05:00
Steve Ireland
85983cd17a Fix merge issues related to line_sequence for receipts and invoices 2017-01-30 19:03:57 -05:00
FrancescoUK
df9b776d56 Add support for MySQL 5.7 (#630) and PHP7 (#591), better Item Kits (#625) 2017-01-30 20:10:17 +00:00
i92guboj
b373b1e07e Merge branch 'master' into pic_filename 2017-01-30 17:45:47 +01:00
Steve Ireland
68cf3bf68b Merge remote-tracking branch 'jekkos/item-kit' into item-kit 2017-01-29 23:10:37 -05:00
Steve Ireland
f9c1dde054 Changes to support Item Kits, support for MySQL 5.7, and a tweak for PHP 7 2017-01-29 22:23:46 -05:00
FrancescoUK
1393af1676 Fix Summary payments and taxes issue (#932) 2017-01-29 19:44:45 +00:00
FrancescoUK
f359c475d3 Fix Takings issue (#932) 2017-01-29 19:31:02 +00:00
FrancescoUK
9bc9b5c984 Add date/time summary payment report (#932) 2017-01-29 18:10:14 +00:00
FrancescoUK
4922f5bb66 Add date/time config translation (#932) 2017-01-29 17:57:21 +00:00
FrancescoUK
e36b2a1a03 Add Support for filter reports with format date/time (#932) 2017-01-29 17:43:38 +00:00
FrancescoUK
bb5d39cd0d Fix partial/header.php change 2017-01-29 17:35:11 +00:00
FrancescoUK
afe564e152 Fix LICENSE file 2017-01-29 17:35:11 +00:00
RamkrishnaMondal
17ff097406 Third commit 2017-01-29 17:35:11 +00:00
FrancescoUK
3b37f6c61a Fix Detailed Receiving Report not showing Supplier (#1093) 2017-01-29 17:35:11 +00:00
RamkrishnaMondal
96cefd97b4 Second commit 2017-01-29 17:35:11 +00:00
RamkrishnaMondal
03af00e26e First commit 2017-01-29 17:35:11 +00:00
jekkos
92bd7c2d43 Amend license file with copyright dates 2017-01-29 17:35:11 +00:00
FrancescoUK
4d6cc381ae Bump version to 3.1.0 2017-01-29 17:35:11 +00:00
FrancescoUK
3f36a8b15e Bump version to 3.1.0 2017-01-29 17:35:11 +00:00
jekkos
5a9b6bd98b Add ERD for sales diagram (for wiki page) 2017-01-29 17:35:11 +00:00
jekkos
b9e160eaa3 Improve PHP7 compatibility (#591) 2017-01-29 17:35:11 +00:00
jekkos
ba95853884 Remove quirk in master (#1076) 2017-01-29 17:35:11 +00:00
Emin Tufan Çetin
f157d4d43d Translated using Weblate (Turkish)
Currently translated at 100.0% (84 of 84 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (61 of 61 strings)
2017-01-29 17:35:11 +00:00
mitchel
a2c3130720 Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (61 of 61 strings)
2017-01-29 17:35:11 +00:00
jekkos
258622ec87 Enable jsPrint for custom receipt templates (#1070) 2017-01-29 17:35:11 +00:00
FrancescoUK
b4023a051c Update WHATS_NEW.txt with 3.0.2 improvements 2017-01-29 17:35:11 +00:00
FrancescoUK
1cdbee1a42 Fix Summary Reports Payments (#1045) 2017-01-29 17:35:11 +00:00
jekkos
feff5ff3f3 Set folder upload folder permissions to 755 (#1014)
Don't load item avatar if item_pic is empty
2017-01-29 17:19:00 +00:00
jekkos
0507db6a6f Set apache as owner of uploads folder (#1014) 2017-01-29 17:19:00 +00:00
jekkos
9b473e415d Hook standard jquery submit function and update csrf (#1019) 2017-01-29 17:19:00 +00:00
jekkos
47974074ee Stop running compose as travis seems to fail after startup? 2017-01-29 17:19:00 +00:00
jekkos
bc56ee54a3 Fix date, location and sale type filtering for summary payments (#1045) 2017-01-29 17:19:00 +00:00
jekkos
046a02d83c Refresh csrf tokens before submit (#1019) 2017-01-29 17:19:00 +00:00
mitchel
57e559e67b Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (22 of 22 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 100.0% (26 of 26 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 100.0% (89 of 89 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 100.0% (12 of 12 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 100.0% (84 of 84 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 100.0% (117 of 117 strings)
2017-01-29 17:19:00 +00:00
jekkos
10e3ce9a9f Fix csrf refresh issue in register (#1019) 2017-01-29 17:19:00 +00:00
FrancescoUK
953fa534f4 Print just first letter of Employee family name to protect privacy (#1027) 2017-01-29 17:19:00 +00:00
FrancescoUK
c7982b9552 Bump OSPOS version to 3.0.2 2017-01-29 17:19:00 +00:00
FrancescoUK
6e0011b165 Fix Invoice Template editing issues (#1088), centre company name on top navbar 2017-01-29 17:15:46 +00:00
FrancescoUK
a3c172624a Fix partial/header.php change 2017-01-29 17:09:00 +00:00
FrancescoUK
3a81a712ff Fix LICENSE file 2017-01-29 16:57:47 +00:00
RamkrishnaMondal
775f40cb75 Merge pull request #8 from jekkos/master
Fix Detailed Receiving Report not showing Supplier (#1093)
2017-01-29 21:51:12 +05:30
RamkrishnaMondal
5814bfc7e8 Third commit 2017-01-29 21:32:16 +05:30
FrancescoUK
3f309298d8 Fix Detailed Receiving Report not showing Supplier (#1093) 2017-01-29 15:51:26 +00:00
RamkrishnaMondal
4ef8fc8df3 Second commit 2017-01-29 17:44:35 +05:30
RamkrishnaMondal
a627276265 First commit 2017-01-29 17:34:55 +05:30
RamkrishnaMondal
6e4155ccbb Merge pull request #7 from jekkos/master
update from upstream
2017-01-29 16:23:07 +05:30
jekkos
84ef147835 Bump PHP version to 7.0 2017-01-28 21:40:00 +01:00
jekkos
925bee2b0a Amend license file with copyright dates 2017-01-28 11:41:09 +01:00
FrancescoUK
680f2bb555 Bump version to 3.1.0 2017-01-27 18:37:09 +00:00
FrancescoUK
29920c5456 Bump version to 3.1.0 2017-01-27 18:36:34 +00:00
Steve Ireland
ace3bedbbc Correct typo 2017-01-22 20:53:43 -05:00
Steve Ireland
476db84e86 Change SUM to MAX and a couple of indent issues. 2017-01-22 16:40:20 -05:00
Steve Ireland
dc638c74b5 Resolves Item view and Takings view issues that odiea spotted. 2017-01-22 10:57:59 -05:00
jekkos
f04a2db4a5 Add ERD for sales diagram (for wiki page) 2017-01-22 11:18:19 +01:00
Steve Ireland
dd6bd1cf11 Changes to support Item Kits, support for MySQL 5.7, and a tweak for PHP 7 2017-01-21 23:26:01 -05:00
jekkos
4b1d5456cc Improve PHP7 compatibility (#591) 2017-01-21 00:01:59 +01:00
jekkos
4b85c14f00 Remove quirk in master (#1076) 2017-01-20 23:24:31 +01:00
Emin Tufan Çetin
9b33f39086 Translated using Weblate (Turkish)
Currently translated at 100.0% (84 of 84 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (61 of 61 strings)
2017-01-20 00:16:36 +01:00
mitchel
bebb9ca34b Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (61 of 61 strings)
2017-01-20 00:10:41 +01:00
jekkos
1dba07049c Enable jsPrint for custom receipt templates (#1070) 2017-01-19 23:54:30 +01:00
FrancescoUK
aae2d8ffc8 Update WHATS_NEW.txt with 3.0.2 improvements 2016-12-31 20:59:38 +00:00
FrancescoUK
a387a52578 Fix Summary Reports Payments (#1045) 2016-12-30 18:26:43 +00:00
jekkos
399b997fd0 Set folder upload folder permissions to 755 (#1014)
Don't load item avatar if item_pic is empty
2016-12-28 20:19:09 +01:00
jekkos
cb907ea303 Set apache as owner of uploads folder (#1014) 2016-12-28 18:36:16 +01:00
jekkos
744d166f58 Hook standard jquery submit function and update csrf (#1019) 2016-12-28 18:12:54 +01:00
jekkos
f3dd11e2c5 Stop running compose as travis seems to fail after startup? 2016-12-28 01:38:06 +01:00
jekkos
7f1c374e3d Fix date, location and sale type filtering for summary payments (#1045) 2016-12-28 01:30:21 +01:00
jekkos
80aba48240 Refresh csrf tokens before submit (#1019) 2016-12-28 01:24:47 +01:00
mitchel
a8bca7681d Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (22 of 22 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 100.0% (26 of 26 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 100.0% (89 of 89 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 100.0% (12 of 12 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 100.0% (84 of 84 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 100.0% (117 of 117 strings)
2016-12-28 00:09:58 +01:00
jekkos
01e918e776 Fix csrf refresh issue in register (#1019) 2016-12-27 23:59:22 +01:00
i92guboj
6095577f47 ran grunt 2016-12-20 22:03:16 +01:00
i92guboj
06db967ee6 simplify code cause pic_thumb() always receives filename.ext 2016-12-20 20:46:00 +01:00
i92guboj
467ed586b1 indentation and revert func parameter experiment 2016-12-19 20:46:30 +01:00
i92guboj
74660bcaa1 migration script for already existing DBs 2016-12-19 20:19:05 +01:00
i92guboj
d9a4f93cfa pic_filename behavior and silent migration from pic_id 2016-12-19 20:18:05 +01:00
i92guboj
c6e4584f71 Convert pic_id to pic_filename - db and csv files 2016-12-19 18:37:52 +01:00
FrancescoUK
3a2dd7134f Print just first letter of Employee family name to protect privacy (#1027) 2016-12-05 19:22:38 +00:00
FrancescoUK
d9649edc3e Bump OSPOS version to 3.0.2 2016-12-04 21:10:28 +00:00
root
31335deeea Add Line into LICENSE 2016-11-30 14:43:34 -04:00
root
ae26d9a007 Fixed Subtitle reports 2016-11-30 14:40:17 -04:00
root
305d9dd55e Support for Date or Time Format 2016-11-30 14:32:25 -04:00
Jorge Colmenarez
9a9dc9bf1e Merge branch 'master' of https://github.com/jlctmaster/opensourcepos 2016-11-30 10:52:09 -04:00
Joe Salty
311225a126 Translated using Weblate (Hungarian)
Currently translated at 100.0% (12 of 12 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (178 of 178 strings)
2016-11-29 17:13:06 +01:00
jekkos-t520
cabccf0858 Add mcrypt to Dockerfile 2016-11-29 17:13:04 +01:00
jekkos
9e8cc93082 Fix upload path in docker cloud setup 2016-11-27 17:17:18 +01:00
FrancescoUK
57de863f79 Update WHATS_NEW 2016-11-26 16:03:16 +00:00
FrancescoUK
00565ddc8f Fix (again) Summary_taxes percent column sorting (#1003) 2016-11-26 15:50:35 +00:00
jekkos
7d4dff0a37 Remove percentage sign from number_sorter regex (#1003) 2016-11-26 15:54:04 +01:00
jekkos
1ed76fa091 Properly parse negative numbers + rename currency_sorter (#1003) 2016-11-26 15:46:27 +01:00
FrancescoUK
114c215407 Fix Summary_discounts percent column sorting (#1003) 2016-11-26 14:39:12 +00:00
FrancescoUK
9bef65b9cb Fix Summary_taxes percent column (#1003) 2016-11-26 14:34:11 +00:00
FrancescoUK
dc4d582898 Fix LICENSE files 2016-11-26 14:12:35 +00:00
jekkos
8b32a26e80 Fix cost label in item summary report (#1003) 2016-11-26 14:52:31 +01:00
jekkos
422e2ddbab Add currency sorting for summary reports (#1003) 2016-11-26 14:49:41 +01:00
FrancescoUK
c5988adbbb Fix read_only flag issue (#1003) 2016-11-26 12:03:22 +00:00
jekkos
2727e91c96 Fix currency sorting in tabular_details (#1003) 2016-11-26 12:17:13 +01:00
jekkos
4304f5ceea Revert tabular_details changes (#1003) 2016-11-26 00:12:33 +01:00
jekkos
1666a3e689 Fix detailed sale + receiving report row update + currency sorting (#1003) 2016-11-25 22:24:46 +01:00
FrancescoUK
2f8d66664b Merge pull request #1006 from rnld26/patch-1
Update LICENSE
2016-11-24 08:57:04 +00:00
Rinaldy@dbarber
7c5276b014 Update LICENSE 2016-11-24 12:13:18 +07:00
FrancescoUK
5231c027af Revert "Support MySQL5.7 in backward compatible mode (#630)"
This reverts commit 7ef68fbc76.
2016-11-21 22:02:44 +00:00
FrancescoUK
3974279607 Fix timezone drop down option typo 2016-11-21 08:27:48 +00:00
FrancescoUK
7ef68fbc76 Support MySQL5.7 in backward compatible mode (#630) 2016-11-20 21:20:52 +00:00
FrancescoUK
1440e6bce9 Upgrade WHATS_NEW to latest 3.0.1 improvements 2016-11-20 13:53:26 +00:00
FrancescoUK
b66827b0ff Fix Detailed sale tax rounding, reorder reports to subtotal, tax, total, cost, profit (#976) 2016-11-20 12:15:50 +00:00
FrancescoUK
540c4f3ec0 Make Sale get_info consistent with the other queries (#976) 2016-11-19 19:30:38 +00:00
FrancescoUK
9e1064979a Solve detailed sale rounding issue (#976) 2016-11-19 16:27:55 +00:00
FrancescoUK
5047ca0f41 Fix Sales Takings multiple taxes issue and swap table columns (#976) 2016-11-19 15:15:43 +00:00
FrancescoUK
5267eadc56 Make Summary reports more OOD (#976) 2016-11-18 16:34:41 +00:00
Jorge Colmenarez
04246d35ad Merge pull request #4 from jekkos/master
Merge with source proyect
2016-11-18 12:22:13 -04:00
Jorge Colmenarez
20c0ffb9b0 Merge pull request #3 from jlctmaster/revert-2-feature/datetime_reports
Revert "Feature/datetime reports"
2016-11-18 12:20:23 -04:00
Jorge Colmenarez
88db2af11b Revert "Feature/datetime reports" 2016-11-18 12:19:42 -04:00
FrancescoUK
577e5b2db4 Fix wrong tax and subtotal calculation in Summary reports (#976) 2016-11-17 23:13:56 +00:00
FrancescoUK
35e76bdd4d Add value label on bars in bar/hbar charts 2016-11-15 18:41:17 +00:00
FrancescoUK
9766dcfad3 Update LICENSE files to contain latest contributor (#967) 2016-11-15 17:44:26 +00:00
FrancescoUK
0e2f84c91d Update js plugins and regen dist files 2016-11-13 18:52:57 +00:00
FrancescoUK
77806412fa Fix line chart axis labels overlap issue 2016-11-13 17:43:59 +00:00
FrancescoUK
737980c041 Fix wrong items import model dialog title (#969) 2016-11-13 16:57:22 +00:00
FrancescoUK
e86ea272ca Updated WHATS_NEW to the latest for 3.0.1 release 2016-11-13 11:54:25 +00:00
FrancescoUK
284a73f41d Add missing Receivings default item_location value in phppos_migrate.sql script 2016-11-13 11:25:31 +00:00
FrancescoUK
5a4c27cf87 Set correct Employee in Sales receipt and invoice (#967) 2016-11-13 11:21:09 +00:00
FrancescoUK
e22e081865 Refactoring and performance improvement of Summary reports (#964) 2016-11-11 19:24:23 +00:00
FrancescoUK
123cb25bf5 Set the code to production not development (suppresses PHP errors) (#965) 2016-11-11 13:11:44 +00:00
Jorge Colmenarez
00eb59f083 Merge pull request #2 from jlctmaster/feature/datetime_reports
Feature/datetime reports
2016-11-10 18:30:26 -04:00
FrancescoUK
19165133ae Revert receipt being open in a new window (#966) 2016-11-10 17:43:24 +00:00
FrancescoUK
e1035ff54b Optimise Reports usage of temp database tables (#964) 2016-11-10 17:42:17 +00:00
FrancescoUK
ed80627ddd Takings, sale edit, receipt database performance improvement - no temp table - (#964) 2016-11-09 18:06:23 +00:00
FrancescoUK
d380524f9d Sales and Receivings code refactoring 2016-11-09 10:06:09 +00:00
FrancescoUK
ca39fb38ad Prepare 3.0.1 release, updated README 2016-11-08 21:55:22 +00:00
FrancescoUK
be1be80a0e Restore fixed .gitignore 2016-11-08 20:14:29 +00:00
FrancescoUK
868868163c Replace Appconfig->get with config->item to reduce database calls 2016-11-08 20:09:40 +00:00
William Chanrico
a831f09fca Translated using Weblate (Indonesian)
Currently translated at 100.0% (61 of 61 strings)
2016-11-08 11:04:21 +01:00
Songwut Kanchanakosai
b0b8c0e936 Translated using Weblate (Thai)
Currently translated at 100.0% (178 of 178 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (178 of 178 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (117 of 117 strings)
2016-11-08 11:04:21 +01:00
AELHOFY
047fd7b7ad Translated using Weblate (Arabic)
Currently translated at 100.0% (176 of 176 strings)
2016-11-08 11:04:21 +01:00
Weblate
e6a61941df Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (178 of 178 strings)
2016-11-08 11:04:21 +01:00
jekkos
f4237e3f68 Add translations for project 2016-11-08 11:04:21 +01:00
FrancescoUK
1f2e87ec09 Encrypt email and sms passwords before saving to MySQL (#963)
It also automatically generates an encryption key if not existing storing it in config/config.php in order to enable encryption.
2016-11-07 19:20:44 +00:00
FrancescoUK
519b19ae64 Remove phpinfo.php because it's a security risk 2016-11-07 09:22:21 +00:00
FrancescoUK
001cd411f2 Update .htaccess to support Apache 2.2. and 2.4 (#957) 2016-11-07 09:16:10 +00:00
Jorge Colmenarez
eefd9a88bd Merge pull request #1 from jekkos/master
Update with base proyect
2016-11-06 21:39:30 -04:00
Jorge Colmenarez
88219b6aa0 Add Support for filter datetime records into Models Items and modify width of input daterangepicker 2016-11-06 21:18:26 -04:00
FrancescoUK
4b5b985315 Fix .gitignore 2016-11-06 17:11:32 +00:00
FrancescoUK
ef45c96ce8 Add hook for database query logging - enable in config.php - (#924) 2016-11-06 15:44:18 +00:00
jekkos
6dfb24e6f1 Fix query performance for Item->exists (receivings) (#924) 2016-11-05 21:03:32 +01:00
jekkos
49c89d1cec Improve item search performance by casting to correct datatype (#924) 2016-11-05 20:49:08 +01:00
FrancescoUK
872aa7b829 Improve sales register scan item performance (#924) + Fix statistics 2016-11-05 15:07:25 +00:00
FrancescoUK
4dbb8655ee Update README.md 2016-11-04 15:39:10 +00:00
Jorge Colmenarez
e326c1dfd4 Remove copyright comments and apply suggestions 2016-11-04 09:32:41 -04:00
FrancescoUK
ab3acf1605 Tidyup .htaccess file 2016-11-04 11:20:56 +00:00
jekkos
7668991d6c Update design for #68 2016-11-03 23:14:02 +01:00
Jorge Colmenarez
0f95c6c9b5 Add Support for filter reports with format date/time 2016-11-01 22:08:47 -04:00
FrancescoUK
768ffdfb4b Amend path addition (#952) 2016-11-01 17:24:41 +00:00
William Chanrico
9a9637bfb7 fixed import_customers.csv template download path 2016-11-01 05:40:31 +07:00
William Chanrico
2cbff93ab5 fixed import_items.csv template download path 2016-11-01 05:39:23 +07:00
FrancescoUK
e42aaed0b1 Fix typo in README and update UPGRADE file with extra step 2016-10-31 17:22:36 +00:00
FrancescoUK
4678764a03 Improved FAQ and issue reporting template. Bumped OSPOS version in few more files 2016-10-31 17:16:30 +00:00
jekkos
4120015d78 Update to CI 3.1.2 2016-10-31 11:39:37 +01:00
FrancescoUK
5ecc6ead7d Temporary tables optimisation: add indexes (#951) 2016-10-30 17:05:41 +00:00
FrancescoUK
816fcd9203 Temporary tables optimisation: improve sales_items_temp (#951) 2016-10-30 17:04:59 +00:00
FrancescoUK
6f444b1a33 Temporary tables optimisation: use only the one required (#951) 2016-10-30 17:03:16 +00:00
FrancescoUK
94141e21db Upgraded phppos to ospos migration script to support vs 3.0.0 2016-10-29 21:02:07 +01:00
FrancescoUK
17c23ad417 Added change from item_pic to pic_id in Items table in 2.3.2_to_2.3.3.sql script (#945) 2016-10-29 20:31:23 +01:00
FrancescoUK
ef5c513f1b Bump up OSPOS version to 3.0.1 2016-10-27 16:52:32 +01:00
jekkos
60f78c8eeb Add database layout schema from mysql
Add diagram for adding generic categories
2016-10-22 22:34:09 +02:00
FrancescoUK
dd66496ccc Remove deleted stock locations from low inventory report (#916) 2016-10-21 16:28:09 +01:00
FrancescoUK
d2e21e18a1 Update README 2016-10-20 17:59:15 +01:00
FrancescoUK
d21bedd8c1 Update README 2016-10-20 17:53:19 +01:00
FrancescoUK
0a71cb3d4d Update WHATS_NEW.txt 2016-10-20 10:48:13 +01:00
jekkos
7758d96e34 Use master docker image for dev environment
Update whats_new.txt
2016-10-19 23:02:48 +02:00
FrancescoUK
71ab84e30f Update README.md 2016-10-19 20:36:56 +01:00
FrancescoUK
b1c36b790f Fix to item pic ID 0 issue (#921)
Some code clean up too.
2016-10-19 18:47:57 +01:00
AELHOFY
0723bd2922 Translated using Weblate (Arabic)
Currently translated at 100.0% (176 of 176 strings)
2016-10-18 16:47:49 +02:00
jekkos-t520
f5716ab5a3 Fix path to upload folder (#917) 2016-10-18 11:54:47 +02:00
FrancescoUK
3208b83169 Update README.md with installation FAQ 2016-10-18 10:28:04 +01:00
jekkos-t520
a2515cf922 Make uploads folder writable (#917) 2016-10-18 11:21:27 +02:00
FrancescoUK
1df3ed8b46 Update README.md
Added few steps on installation procedure and more issues in the FAQ.
2016-10-18 09:22:22 +01:00
FrancescoUK
d6985853d4 Remove old translations files and rely on Weblate (#848 #888) 2016-10-17 16:45:06 +01:00
jekkos-t520
dac61c498e Don't build weblate orphan branch in travis 2016-10-17 17:16:03 +02:00
jekkos
badc108b2e Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (178 of 178 strings)
2016-10-17 17:10:59 +02:00
jekkos-t520
b3efd5301d Add sendmail to docker container (#772) 2016-10-17 13:25:57 +02:00
FrancescoUK
e21f25c15b Fix typo causing an error in Sales register (#904) 2016-10-17 08:39:35 +01:00
FrancescoUK
2d8bd2d307 Show deleted items in Receiving receipt (#904) 2016-10-17 08:32:03 +01:00
FrancescoUK
20a6c6ec0a Show deleted items in receipts and invoices (#904) 2016-10-16 23:14:01 +01:00
FrancescoUK
0cb68d47cb Apply Customer discount to item kit items too (#910) 2016-10-16 09:24:42 +01:00
FrancescoUK
04a77dff7d Apply customer default discount even if customer added later (#910) 2016-10-14 21:19:52 +01:00
Koncept Technologies
8732b0e69a Translated using Weblate (French)
Currently translated at 100.0% (22 of 22 strings)

Translated using Weblate (French)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (French)

Currently translated at 100.0% (61 of 61 strings)

Can't figure out the context

Translated using Weblate (French)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (French)

Currently translated at 100.0% (19 of 19 strings)

Translated using Weblate (French)

Currently translated at 100.0% (89 of 89 strings)

Translated using Weblate (French)

Currently translated at 86.0% (43 of 50 strings)

Translated using Weblate (French)

Currently translated at 98.2% (115 of 117 strings)
2016-10-13 23:18:51 +02:00
Valentin Seipt
fe193053f1 Translated using Weblate (German)
Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (German)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (German)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (German)

Currently translated at 100.0% (50 of 50 strings)
2016-10-13 23:18:40 +02:00
jekkos
20279c3bc0 Add correct time to new receivings (#853) 2016-10-13 23:14:10 +02:00
jekkos-t520
20e4a3b057 Remove docker volume for custom mysql config 2016-10-13 09:44:06 +02:00
FrancescoUK
1723347359 Fix Receivings report date issue (#853) 2016-10-12 19:41:42 +01:00
jekkos
3b578d41bc Fix price locale parsing if user has no grant for items module (#834) 2016-10-11 16:45:03 +02:00
FrancescoUK
573367eddc Fix Arab language issue missing Open Source Point Of Sale (#900) 2016-10-10 11:19:40 +01:00
FrancescoUK
c5986ea943 Revert "Remove old translations files and rely on Weblate (#848)" 2016-10-09 09:55:36 +01:00
FrancescoUK
90efaf03ee Remove old translations files and rely on Weblate (#848) 2016-10-06 22:11:14 +01:00
jekkos
8217b70984 Fix debug mode + simplify Gruntfile 2016-10-06 22:12:33 +02:00
FrancescoUK
fd50f6079e Update README.md 2016-10-06 19:51:40 +01:00
FrancescoUK
a9086cac49 Update README.md 2016-10-06 18:57:28 +01:00
FrancescoUK
3fbc53e9b8 Merge branch 'jekkos/master' into composer
# Conflicts:
#	database/docker_mysql.cnf
2016-10-06 18:21:53 +01:00
FrancescoUK
2dddd1b7ee Change dummy emails to be @example.com as it's a reserved domain (#624) 2016-10-03 18:40:40 +01:00
FrancescoUK
978cdee7be Remove pappastech default email once forever (#624) 2016-10-02 21:07:08 +01:00
FrancescoUK
e9e2c877d4 Add explicit path to header.php and login.php in Gruntfile.js cachebreaker rule (#624) 2016-10-02 16:47:46 +01:00
FrancescoUK
3543321309 Rename LICENSES to be bower.LICENSES (#624) 2016-10-02 16:25:51 +01:00
FrancescoUK
b1409f432b Refactor COPYING/LICENSE file in composer setup (#624) 2016-10-02 16:14:33 +01:00
FrancescoUK
676948729b Amend bower and composer json dscription files (#624) 2016-10-02 13:25:53 +01:00
jekkos
10ab3911dc Update to latest 3.1.0 translations 2016-10-02 13:13:47 +02:00
jekkos
24dcc3f680 Add timezone variabler in dev container 2016-10-02 13:05:51 +02:00
FrancescoUK
64ba842730 Fix license clean in Gruntfile.js to reflect new composer path (#624) 2016-10-02 11:47:33 +01:00
FrancescoUK
83992cbf0d Add grunt-composer package - not used yet - (#624) 2016-10-02 09:43:53 +01:00
FrancescoUK
5a2bd9a569 Fix css and js broken URL issue (#624) 2016-10-02 09:41:23 +01:00
FrancescoUK
2fcc473830 Restore CI system language translations (#624) 2016-10-02 09:21:29 +01:00
jekkos
86de36d731 Fix include paths for debug js + css 2016-10-02 00:19:46 +02:00
jekkos
592f378d2a Include fixes for GA Client, CI Email bug and bstables fix 2016-10-01 23:52:03 +02:00
FrancescoUK
a87629000e Fix invoice email pdf attachment being 0 size (#624) 2016-10-01 17:10:32 +01:00
FrancescoUK
15e84f9b37 Fix config.php file scrambling 2016-10-01 15:59:07 +01:00
FrancescoUK
a9963dcfd0 Small refactoring of pdf invoice 2016-10-01 15:17:12 +01:00
FrancescoUK
974744858f Upgrade js plugins and regen dist files 2016-10-01 11:14:08 +01:00
FrancescoUK
a1a6ede046 Extend Return Policy length to 500, reduce app_config key length to 50 (#879) 2016-10-01 10:26:51 +01:00
jekkos
7bba5f9dd0 Add php-mbstring dependency for DOMPDF 0.7 (#624) 2016-09-30 21:26:53 +02:00
jekkos
39dd29b3c8 Add mysql configuration for 1G ram setup + MySQL 5.7 workaround (#860) 2016-09-30 21:19:38 +02:00
FrancescoUK
10cac5496b Merge branch 'jekkos/master' into composer 2016-09-28 17:41:28 +01:00
FrancescoUK
d88aee1676 Adjusted statistics typos 2016-09-28 17:33:15 +01:00
Piyaporn T
f2e2b5c91b Translated using Weblate (Thai)
Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (89 of 89 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (117 of 117 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (2 of 2 strings)
2016-09-27 21:39:01 +02:00
jekkos
b07631798e Add link to wiki for docker cloud install 2016-09-27 21:19:37 +02:00
Piyaporn T
e7815a1251 Translated using Weblate (Thai)
Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (89 of 89 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (117 of 117 strings)
2016-09-27 12:42:29 +02:00
Xyko Arteiro
9dfc186fe4 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (5 of 5 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (84 of 84 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (117 of 117 strings)
2016-09-27 12:42:27 +02:00
FrancescoUK
9c025c6feb Made send statistics configurable 2016-09-24 21:13:13 +01:00
FrancescoUK
fdbb158c1d Security fix 2016-09-24 20:49:30 +01:00
jekkos-t520
c695505605 Make timezone configurable through env variable (#853) 2016-09-23 10:38:34 +02:00
Piyaporn T
dea8683fd4 Translated using Weblate (Thai)
Currently translated at 78.7% (52 of 66 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (19 of 19 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (84 of 84 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (117 of 117 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (117 of 117 strings)
2016-09-21 09:34:59 +02:00
Salvador Hurtado
efc5996282 Translated using Weblate (Spanish)
Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (84 of 84 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (117 of 117 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (19 of 19 strings)
2016-09-21 09:34:59 +02:00
Weblate
ec2aa52d85 Translated using Weblate (Chinese)
Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Chinese)

Currently translated at 100.0% (89 of 89 strings)

Translated using Weblate (Chinese)

Currently translated at 78.0% (39 of 50 strings)
2016-09-21 09:34:59 +02:00
Suat Donangil
7d7afd4904 Translated using Weblate (Turkish)
Currently translated at 98.2% (115 of 117 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (8 of 8 strings)
2016-09-21 09:34:59 +02:00
FrancescoUK
8a3fa821d9 Fixed Turkish language issue (#863) 2016-09-17 14:00:36 +01:00
Suat Donangil
16958d3b99 Translated using Weblate (Turkish)
Currently translated at 100.0% (12 of 12 strings)
2016-09-16 13:10:32 +00:00
Suat Donangil
5829dd8ba5 Translated using Weblate (Turkish)
Currently translated at 100.0% (22 of 22 strings)
2016-09-16 13:09:38 +00:00
Valentin Seipt
d0c86b8dc4 Translated using Weblate (German)
Currently translated at 100.0% (22 of 22 strings)
2016-09-16 13:09:38 +00:00
Suat Donangil
0d0ec68e60 Translated using Weblate (Turkish)
Currently translated at 100.0% (89 of 89 strings)
2016-09-16 13:08:31 +00:00
Suat Donangil
cc4edaa468 Translated using Weblate (Turkish)
Currently translated at 100.0% (89 of 89 strings)
2016-09-16 13:08:31 +00:00
Suat Donangil
ffbba16a08 Translated using Weblate (Turkish)
Currently translated at 100.0% (61 of 61 strings)
2016-09-16 13:07:06 +00:00
Suat Donangil
f235b33959 Translated using Weblate (Turkish)
Currently translated at 100.0% (61 of 61 strings)
2016-09-16 13:07:06 +00:00
Valentin Seipt
fd9118887c Translated using Weblate (German)
Currently translated at 100.0% (61 of 61 strings)
2016-09-16 13:07:06 +00:00
Suat Donangil
5fddfe20d6 Translated using Weblate (Turkish)
Currently translated at 100.0% (8 of 8 strings)
2016-09-16 12:42:51 +00:00
FrancescoUK
e42a4e843b Merge branch 'master' into composer 2016-09-15 22:35:52 +01:00
FrancescoUK
3b00c5bf9e Updated js plugins and regen dist files 2016-09-15 22:28:49 +01:00
FrancescoUK
7f1b8a146b Fixed login issue (#859 #862) 2016-09-15 22:11:01 +01:00
Joe Salty
e05b2697d4 Translated using Weblate (Hungarian)
Currently translated at 100.0% (12 of 12 strings)
2016-09-15 22:09:32 +01:00
Joe Salty
da0678f079 Translated using Weblate (Hungarian)
Currently translated at 100.0% (22 of 22 strings)
2016-09-15 22:07:56 +01:00
Weblate
2ba7b000c2 Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (176 of 176 strings)
2016-09-15 22:06:15 +01:00
Weblate
548df573bb Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (89 of 89 strings)
2016-09-15 22:04:58 +01:00
Joe Salty
f1d8378bcb Translated using Weblate (Hungarian)
Currently translated at 100.0% (89 of 89 strings)
2016-09-15 22:03:32 +01:00
Joe Salty
42121017b5 Translated using Weblate (Hungarian)
Currently translated at 100.0% (8 of 8 strings)
2016-09-15 22:02:09 +01:00
Joe Salty
6fade459ad Translated using Weblate (Hungarian)
Currently translated at 100.0% (61 of 61 strings)
2016-09-15 22:00:52 +01:00
Marcus Gustafsson
b2e85aa0d8 Translated using Weblate (Swedish)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-09-15 21:59:31 +01:00
FrancescoUK
9f3ecb0866 Log error if email sending fails (#772) 2016-09-15 21:57:12 +01:00
Marcus Gustafsson
6a29ebeff8 Translated using Weblate (Swedish)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-09-15 21:55:04 +01:00
Marcus Gustafsson
221a575e5c Translated using Weblate (Swedish)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-09-15 21:53:40 +01:00
Valentin Seipt
2afac17848 Translated using Weblate (German)
Currently translated at 100.0% (61 of 61 strings)
2016-09-15 21:52:16 +01:00
Valentin Seipt
e381b3fea5 Translated using Weblate (German)
Currently translated at 100.0% (8 of 8 strings)
2016-09-15 21:50:55 +01:00
FrancescoUK
49ed750045 Updated js plugin and regen dist files 2016-09-15 21:32:39 +01:00
FrancescoUK
1e1cfec94e Fixed misspelling of portuguese-brazilian in language selection causing an error (#624) 2016-09-15 18:06:21 +01:00
Weblate
713b88bbc4 Merge remote-tracking branch 'origin/master' 2016-09-15 14:13:13 +00:00
Weblate
811fdf9bc0 Merge remote-tracking branch 'origin/master' 2016-09-15 14:12:54 +00:00
Weblate
d40a43e1ca Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (89 of 89 strings)
2016-09-15 14:12:26 +00:00
Weblate
386057d544 Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (176 of 176 strings)
2016-09-15 14:05:02 +00:00
FrancescoUK
c60fcb171c Fixed login issue (#859 #862) 2016-09-14 03:35:30 +01:00
Weblate
11b1072151 Merge remote-tracking branch 'origin/master' 2016-09-13 22:08:09 +00:00
Weblate
036a711c53 Merge remote-tracking branch 'origin/master' 2016-09-13 22:07:21 +00:00
Joe Salty
ceaa378978 Translated using Weblate (Hungarian)
Currently translated at 100.0% (12 of 12 strings)
2016-09-13 22:06:24 +00:00
Joe Salty
83b4f9f8a8 Translated using Weblate (Hungarian)
Currently translated at 100.0% (89 of 89 strings)
2016-09-13 22:06:21 +00:00
Joe Salty
838df08eae Translated using Weblate (Hungarian)
Currently translated at 100.0% (22 of 22 strings)
2016-09-13 22:06:10 +00:00
Weblate
7dd1c9791d Merge remote-tracking branch 'origin/master' 2016-09-13 18:18:44 +00:00
Joe Salty
fc2094a9c3 Translated using Weblate (Hungarian)
Currently translated at 100.0% (8 of 8 strings)
2016-09-13 18:17:58 +00:00
Joe Salty
505ab59903 Translated using Weblate (Hungarian)
Currently translated at 100.0% (61 of 61 strings)
2016-09-13 18:17:46 +00:00
Weblate
1f169d8fab Merge remote-tracking branch 'origin/master' 2016-09-12 22:28:11 +00:00
Weblate
ebc1237ddc Merge remote-tracking branch 'origin/master' 2016-09-12 22:23:50 +00:00
Marcus Gustafsson
b1aa16f7a9 Translated using Weblate (Swedish)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-09-12 22:21:49 +00:00
Marcus Gustafsson
3206bbb41d Translated using Weblate (Swedish)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-09-12 19:48:10 +00:00
Marcus Gustafsson
3b559b056d Translated using Weblate (Swedish)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-09-12 18:29:11 +00:00
FrancescoUK
cd0ef34f75 Log error if email sending fails (#772) 2016-09-12 19:18:05 +01:00
FrancescoUK
f89315a298 Log error if email sending fails (#772) 2016-09-12 19:16:48 +01:00
Valentin Seipt
4a4a7921d7 Translated using Weblate (German)
Currently translated at 100.0% (61 of 61 strings)
2016-09-12 14:04:41 +00:00
Weblate
691fa674c4 Merge remote-tracking branch 'origin/master' 2016-09-12 14:02:59 +00:00
Valentin Seipt
fe55841187 Translated using Weblate (German)
Currently translated at 100.0% (8 of 8 strings)
2016-09-12 14:01:07 +00:00
FrancescoUK
18d3f7db52 Merge branch 'jekkos/master' into composer 2016-09-11 23:12:06 +01:00
FrancescoUK
e3c538dbaf Statistics adjustment 2016-09-11 23:05:15 +01:00
FrancescoUK
d08b0b7ef4 Statistics adjustment 2016-09-11 23:02:36 +01:00
FrancescoUK
003d4de6be Statistics adjustment 2016-09-11 23:01:12 +01:00
FrancescoUK
b6bda3c3ed Print Composer Libraries License in Store Config (#624) 2016-09-11 20:53:51 +01:00
jekkos
71e1cb8fd0 Add badge with translation status 2016-09-09 14:48:34 +02:00
Jeroen Peelaerts
4139d53938 Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (61 of 61 strings)
2016-09-09 07:53:30 +00:00
FrancescoUK
ffa5b4ddb7 Update .htaccess to cover subdomain cases and protect dir content (#624) 2016-09-08 18:14:43 +01:00
FrancescoUK
068f426c9e Merge branch 'jekkos/master' into composer 2016-09-08 12:56:01 +01:00
FrancescoUK
6f62085ba6 Update README.md 2016-09-08 12:19:19 +01:00
FrancescoUK
08e8209446 Add language key change to database upgrade script (#624) 2016-09-08 08:05:19 +01:00
FrancescoUK
ea7cc16cc9 Regen dist files 2016-09-07 20:28:26 +01:00
FrancescoUK
e3c9cddacb Merge branch 'master' into composer 2016-09-07 19:31:52 +01:00
FrancescoUK
aae1ce5329 Fixed deleted spaces when searching items (#838) 2016-09-07 17:12:50 +01:00
FrancescoUK
7350f4dc76 Fixed currency symbol encoding issue in invoice PDF (#839) 2016-09-07 17:06:47 +01:00
jekkos
da307fdfbd Fix currency symbol encoding in invoice PDF (#839) 2016-09-07 17:10:16 +02:00
FrancescoUK
9012006e84 Updated invoice pdf support Dompdf to 0.7.0 (#839) 2016-09-07 08:58:05 +01:00
jekkos
91b18d032f Replace DOMPDF, GaTracking with composer managed dependencies (#624)
Fix trim on search bug (#838)
2016-09-07 09:11:11 +02:00
FrancescoUK
b5f6fb124c Add DOMPDF version and license in the license dir 2016-09-06 08:48:39 +01:00
FrancescoUK
a5f16abbd5 Updated ISSUE_TEMPLATE.md and README.md 2016-09-06 08:31:54 +01:00
FrancescoUK
d319c5a73d Alternative fix to #833 2016-09-04 17:27:53 +01:00
FrancescoUK
f3270a545e Fixed no internet connection causing blank page (#833) 2016-09-03 10:23:58 +01:00
jekkos
9e01ca2e43 Merge branch 'master' into feature/composer 2016-09-02 17:58:03 +02:00
jekkos
c3316040bb Increase delay for autocomplete on item add form (#739) 2016-09-02 09:20:03 +02:00
jekkos
17084d8a8f Fix employee creation + use new hashing in dbscript init (#855) 2016-09-01 20:26:25 +02:00
jekkos
71e54d90bf Fix database init script + employee creation (#822) 2016-09-01 20:00:49 +02:00
jekkos
eb59079fe5 Regenerate sql scripts for hashing upgrade (#822) 2016-09-01 19:20:50 +02:00
jekkos
35f9904dbe Upgrade old MD5 password hashing (#822) 2016-09-01 19:12:08 +02:00
jekkos
ce2c83b3f9 Set minimum precision for low number of tax / price decimals (#766) 2016-09-01 18:15:55 +02:00
jekkos
c88de60a9f Make new config hook for loading stats 2016-09-01 08:53:06 +02:00
jekkos
2bf82e6472 Some additional statistics tweaks 2016-08-31 19:52:48 +02:00
FrancescoUK
3ce939ad20 Minor fixes 2016-08-30 18:01:05 +01:00
jekkos
96004f5699 Remove nominatim duplicates (#805)
Set default notification popup position to center bottom
2016-08-30 08:42:49 +02:00
jekkos
a2d2965785 Fix nominatim search suggestions + type in login (#805) 2016-08-29 23:30:41 +02:00
jekkos
3d15148b80 Fix broken js + css (regen with correct tags plugin version) (#809) 2016-08-29 23:00:15 +02:00
jekkos
31166c814e Stop submitting cancel form when hitting enter in invoice number field (#809) 2016-08-29 18:10:55 +02:00
jekkos
0ec94f1044 Regenerate dist files 2016-08-29 17:54:49 +02:00
jekkos
6e7b32cb1b Remove duplicate suggestions
Remove duplicate result suggestions in nominatim (#805)
2016-08-29 17:50:43 +02:00
jekkos
775c0cebf2 Some login (statistics) tweaks 2016-08-29 08:57:28 +02:00
jekkos
d67b33d996 Reorder inlined javascript
Regenerate licenses
2016-08-28 23:07:31 +02:00
FrancescoUK
375408a7a7 Amend COPYING license file 2016-08-28 12:39:00 +01:00
jekkos
7677c33ce1 Fix path to login.css (#624) 2016-08-25 17:38:56 +02:00
jekkos
a5b2c82395 Set grunt script link tags to master version for composer branch 2016-08-24 19:57:09 +02:00
jekkos
13587908f5 Merge branch 'feature/composer' of https://github.com/jekkos/opensourcepos into feature/composer 2016-08-24 19:48:37 +02:00
jekkos
9c3c283912 Adapt path Gruntfile 2016-08-24 19:48:28 +02:00
FrancescoUK
d290134a48 Merge branch 'master' into composer 2016-08-24 16:38:47 +01:00
FrancescoUK
057fdaea5d Remove unused old table icons 2016-08-24 16:06:35 +01:00
FrancescoUK
f440ff5e89 Fix Gruntfile.js and paths (#624) 2016-08-24 15:45:14 +01:00
jekkos
7f65b9cf2b Add COPYING to public/license directory 2016-08-24 16:28:29 +02:00
jekkos
e8a96054ee Merge branch 'master' into feature/composer
Conflicts:
	dist/opensourcepos.min.js
	public/license/LICENSES
2016-08-24 16:25:55 +02:00
jekkos
ad19dbc5ed Move COPYING to public/license in Gruntfile.js (#624) 2016-08-24 16:20:45 +02:00
jekkos
dc0245c4fb Merge branch 'feature/composer' of https://github.com/jekkos/opensourcepos into feature/composer 2016-08-23 18:28:50 +02:00
jekkos
e25c330dff Move COPYING to license/ folder
Add bower_components to .gitignore
Regenerate licenses
2016-08-22 13:37:09 +02:00
FrancescoUK
9a6bd6e000 Revert back bootstrap-select to version 1.10.0 (#813) 2016-08-19 18:54:41 +01:00
jekkos
e302086b13 Merge branch 'master' into feature/composer
Conflicts:
	.travis.yml
	application/controllers/Login.php
	application/views/partial/header.php
	public/dist/opensourcepos.min.js
2016-08-19 12:09:38 +02:00
FrancescoUK
45675b8f29 Copy COPYING file to license dir, update js plugin, regen dist files 2016-08-18 20:17:54 +01:00
jekkos
64d0483300 Fix environment variable in .travis.yml 2016-08-18 16:06:03 +02:00
jekkos
798246e589 Strip feature name branch from docker image tag 2016-08-18 14:01:47 +02:00
jekkos
2c1231ca61 Install CI langauges in system/language as before (#624)
Map CI language folder with ospos language code
2016-08-18 13:33:02 +02:00
jekkos
d6b009fba8 Fix build after rebase with master
Enable php socket extension in Dockerfile
2016-08-18 13:33:01 +02:00
jekkos
ad8d0821ad Correct license output directory in Gruntfile (#624) 2016-08-18 13:33:01 +02:00
jekkos
a6ba67e2fc Change project layout for composer (#624) 2016-08-18 13:33:01 +02:00
jekkos
9e1afd3f2b Push branch to new docker image tag 2016-08-18 13:32:59 +02:00
jekkos
43e7e353e7 Push branch to new docker image tag 2016-08-18 13:19:44 +02:00
jekkos
e4fc2ac06b Fix script-tag plugin version to use absolutePath option (#612) 2016-08-18 10:28:47 +02:00
jekkos
59bbe55215 Install CI langauges in system/language as before (#624)
Map CI language folder with ospos language code
2016-08-18 08:27:54 +02:00
FrancescoUK
6b63e381f9 Security fix: set OSPOS to be production code by default if CI_ENV is not set (#808) 2016-08-15 18:31:22 +01:00
jekkos
af6b323013 Fix build after rebase with master
Enable php socket extension in Dockerfile
2016-08-14 11:58:15 +02:00
jekkos
919e478184 Correct license output directory in Gruntfile (#624) 2016-08-14 11:58:15 +02:00
jekkos
3f34775000 Change project layout for composer (#624) 2016-08-14 11:58:15 +02:00
FrancescoUK
6e7da88f94 Further tweaking of README.md 2016-08-14 10:00:25 +01:00
FrancescoUK
cf1eec761b Further adjustments to README.md 2016-08-14 09:44:49 +01:00
FrancescoUK
b51022e93f Updated to README.md 2016-08-14 09:38:28 +01:00
FrancescoUK
2bda02dd74 Further bug fixes 2016-08-13 18:17:17 +01:00
FrancescoUK
01aeca579a Code refactoring and bug fixes 2016-08-13 14:07:27 +01:00
FrancescoUK
2555203a54 Arab translation amendments (#794) 2016-08-12 21:51:35 +01:00
FrancescoUK
4f5f875f1e Amend license files 2016-08-12 21:30:41 +01:00
FrancescoUK
b77d368885 Refactoring and statistics support 2016-08-12 21:23:26 +01:00
FrancescoUK
4b569d093b Made the password input glyphicons consistent across OSPOS (#731) 2016-08-12 10:13:43 +01:00
FrancescoUK
51bdfc050e Update Spanish translation (#750) 2016-08-11 22:26:18 +01:00
FrancescoUK
1b19fed206 Updated login page (#731) 2016-08-11 18:36:59 +01:00
FrancescoUK
3336d42245 Solved .bowerrc command line issue causing bower update to fail (#359) 2016-08-11 15:56:33 +01:00
FrancescoUK
6fdecbe619 Refactor Gruntfile.js bowercopy section (#409) 2016-08-11 14:38:08 +01:00
FrancescoUK
55764d7625 Updated Theme translation (#794) 2016-08-11 13:26:39 +01:00
FrancescoUK
dd8d848544 Updated Arabic (EG) and Portuguese (BR) translations (#794 #795) 2016-08-11 09:41:45 +01:00
jekkos
6203504976 Remove bootstrap 3.3.6 js from minified file (#489)
Cleanup dist/ folder (remove duplicated bootswatch themes)
2016-08-11 08:28:37 +02:00
jekkos
059ec54c72 Make theme configurable from config module (#409)
Add symlink to bower_components in Docker dev environment (#616)
Move header_debug content back into header view
2016-08-10 18:58:17 +02:00
jekkos
75567b9620 Fix bootstrap.min.css load in login and header (#409) 2016-08-10 17:16:00 +02:00
jekkos
1b859a8726 Manually install docker-compose in build environment (#616) 2016-08-10 16:00:44 +02:00
jekkos
1c02508759 Use docker environment from travis-ci (#616) 2016-08-10 15:49:20 +02:00
jekkos
4c337aa5c6 Try to fix travis docker setup + remove jquery validator override (#788, #616) 2016-08-10 15:26:18 +02:00
jekkos
523714c26a Run license generation only after bower install or uninstall (#359) 2016-08-10 14:47:01 +02:00
FrancescoUK
28e776248b Store all used stylesheets in dist dir, don't rely on css dir (#409) 2016-08-10 10:53:27 +01:00
FrancescoUK
333067955c Improved theme config option comment (#409) 2016-08-10 10:53:27 +01:00
FrancescoUK
a0886caf2f Added all bootswatch themes and made theming configurable from config.php (#409) 2016-08-10 10:53:27 +01:00
jekkos
31cc67ea52 Regenerate LICENSES with .bower.json first (#359) 2016-08-10 09:04:59 +02:00
jekkos
8b08bf5daa Add frontside support for locale dependent number validation (#788) 2016-08-09 18:20:52 +02:00
FrancescoUK
597a5caee5 XSS clean the license text (#359) 2016-08-08 16:09:40 +01:00
FrancescoUK
19403adde2 Read plugin LICENSES json and display in Store Config (#359) 2016-08-08 15:54:29 +01:00
FrancescoUK
119476ca74 Reorder license steps in Gruntfile.js (#359) 2016-08-08 10:04:43 +01:00
FrancescoUK
dd07b9fcb8 Add grunt license checker (#359) 2016-08-08 09:32:45 +01:00
jekkos
4a54dc7dc7 Add license plugin for grunt (#359) 2016-08-08 10:19:02 +02:00
FrancescoUK
e1f796cf99 Further refinement of ISSUE_TEMPLATE.md (#779) 2016-08-07 19:10:31 +01:00
FrancescoUK
266610399d Fixed Arabic (Egypt) translations (#756) 2016-08-07 17:07:17 +01:00
FrancescoUK
7602e77071 Refined ISSUE_TEMPLATE.md (#779) 2016-08-06 12:31:54 +01:00
FrancescoUK
bd7dd4741d Added a issue report template (#779) 2016-08-06 12:25:30 +01:00
FrancescoUK
3ed454d1b3 Fixed missing location_id error in Graphical Summary Tax report (#785) 2016-08-06 11:59:17 +01:00
FrancescoUK
2402da6e30 Added Arabic (Egypt) translations (#756) 2016-08-06 10:39:46 +01:00
FrancescoUK
c76109ab0a Update to Code Igniter 3.1.0 (#782) 2016-08-04 22:25:17 +01:00
FrancescoUK
fe5e99978c Upgrade always to the latest bootswatch flatly theme (provided is available on bootswatch-dist) 2016-08-04 21:45:25 +01:00
FrancescoUK
63a6706770 Fixed comment sentence that was unclear 2016-08-03 07:36:02 +01:00
FrancescoUK
4ea056e3f7 Fixed Item exists where issue (#666) 2016-08-02 17:25:49 +01:00
FrancescoUK
5f1d9e7f45 Fixed cart enter issue in receiving (#775) 2016-08-02 17:22:08 +01:00
jekkos
9fa2676352 Fix exists by doing string comparison using like clause (#666) 2016-08-01 13:58:07 +02:00
jekkos
76630365e7 Fix submit on enter for secondary sale lines (#771) 2016-08-01 13:27:45 +02:00
FrancescoUK
cbc42f7868 Upgraded to Bootstrap 3.3.7, dist file regen 2016-08-01 08:31:06 +01:00
FrancescoUK
fba0915c42 Fixed DB backup error due to & (#629) 2016-08-01 08:24:16 +01:00
jekkos
ab075fd94f Amount due can be negative as well (#733)) 2016-07-30 15:52:06 +02:00
jekkos
956f18e55c Round amount due before comparing with zero (#759)
Bump version chartist tooltip
2016-07-30 10:23:30 +02:00
jekkos
05628ddaff Add common error message to README FAQ (#764) 2016-07-26 11:23:08 +02:00
jekkos
2519d0fb20 Don't send totals row to server for delete (#686)
Replace mysql with mariadb in docker images (#616)
2016-07-26 08:40:54 +02:00
jekkos
28129ef075 Set calculation precision to currency + tax decimals (#759) 2016-07-25 21:28:56 +02:00
jekkos
0727ae06af Regenerate language files (#750) 2016-07-25 18:05:06 +02:00
sonnysk76
0efc49f713 es lang update 2016-07-25 18:05:06 +02:00
jekkos
352586531f Fix graphical items summary report (#742) 2016-07-25 17:37:54 +02:00
jekkos
745874f0b3 Fix graphical items summary report (#742) 2016-07-21 01:41:22 +02:00
jekkos
d8e4bf48d8 Check if payments cover sale with exact precision (#733)
Set bc-operation style scale globally
Add location filtering in graphical and summary reports (#742)
2016-07-20 20:43:31 +02:00
jekkos
4be3c8f433 Revert "Check if payments cover total using currency decimals configuration"
This reverts commit 9a7061e9c5.
2016-07-17 14:51:55 +02:00
jekkos
9a7061e9c5 Check if payments cover total using currency decimals configuration
(#733)
2016-07-17 14:11:06 +02:00
jekkos
2743e1353a Escape dollar sign when using varargs version of lang::line (#732)
Properly handle decimals when saving giftcards (#458)
2016-07-17 13:16:57 +02:00
jekkos
75db191baf Fix notification popup for fresh installs
Fix docker setup by compiling php5-intl (#616)
2016-07-17 12:52:38 +02:00
FrancescoUK
a66868651b Update js plugins and regen dist files 2016-07-15 20:47:09 +01:00
FrancescoUK
68deca1537 German (Germany) translation added (#743) 2016-07-15 14:56:14 +01:00
jekkos
1af612d18e Add thousands separator option (#458)
Fix adding payment with comma as decimal separator (#740)
2016-07-15 11:22:31 +02:00
jekkos
cfdbd01dac Update FAQ in README.md (#741) 2016-07-14 09:51:43 +02:00
jekkos
d88b51794e Fix employee module in french (#735) 2016-07-14 09:43:39 +02:00
FrancescoUK
c9d806bd26 Fixed mistake with Giftcard (#732) 2016-07-12 16:59:23 +01:00
FrancescoUK
39d678b977 Fixed Register issue with Giftcard (#732) 2016-07-11 19:05:06 +01:00
FrancescoUK
a0e894895e Fix typos (#359) 2016-07-10 17:38:53 +01:00
FrancescoUK
09a3499069 Added license statement displaying, updated COPYING and other license files (#359) 2016-07-10 15:50:25 +01:00
FrancescoUK
86b32240d3 Adjusted login and header title line, updated spacelab footer.php 2016-07-10 10:30:44 +01:00
FrancescoUK
0924a0f433 Revert "Move create_temp_table to Reports Controller constructor out of Model one" (#729)
This reverts commit dc06119586.
2016-07-09 12:50:17 +01:00
FrancescoUK
55f7bef253 Added go to Sales Register button in Takings 2016-07-09 10:15:13 +01:00
FrancescoUK
38d234fa5f Fixed receipt, change due and total cash issues with no payment cases (#707) 2016-07-09 10:04:04 +01:00
FrancescoUK
120b2bbc6e Remove unnecessary tabs from config.php 2016-07-08 17:12:41 +01:00
FrancescoUK
a3704f9b12 Make inventory to support decimal quantity on transactions logging (#726) 2016-07-08 17:12:41 +01:00
jekkos
c82e9e4929 Correct container names in travis.yml 2016-07-08 15:45:14 +02:00
FrancescoUK
7f169222d0 Little locale_helper improvement and regen database scripts (#458) 2016-07-08 09:49:22 +01:00
jekkos
21f5e46488 Fix tax percentage parsing (#458, #727)
Add tabindexes to price, discount field in register
2016-07-08 08:47:03 +02:00
jekkos
ef2cd9d001 Update Readme and travis config (#616) 2016-07-07 21:39:41 +02:00
jekkos
72efafdc50 Add back quantity_decimals() function for inventory / stock forms (#458) 2016-07-07 21:34:23 +02:00
jekkos
0f88d6462d Add fixes for register + receiving validation (#458) 2016-07-07 21:11:33 +02:00
jekkos
3af19daa0e Fix decimal parsing, add php5-intl locale support (#458) 2016-07-07 20:56:51 +02:00
jekkos
f11c2d7a4d Move init sql to data only container (#616)
Update travis config to build new setup
Add git sha-1 to ospos version string
2016-07-07 14:05:56 +02:00
jekkos
be2bac84f1 Fix export in inventory reports (#503) 2016-07-07 09:27:05 +02:00
FrancescoUK
dc06119586 Move create_temp_table to Reports Controller constructor out of Model one 2016-07-06 19:37:23 +01:00
FrancescoUK
0cbd19353c Rename temp table creation functions to simply be create_temp_table 2016-07-06 19:22:32 +01:00
FrancescoUK
3c969858cf Performance improvement for Inventory reports after XSS clean addition (#39) 2016-07-06 19:11:54 +01:00
FrancescoUK
fbba5ea2c5 Reduced font size to 13px from 14px, regen dist files (#722) 2016-07-06 13:53:45 +01:00
FrancescoUK
6d8c3b94e0 Protect .txt files access in .htaccess 2016-07-06 10:12:49 +01:00
FrancescoUK
b3a1259861 Protect .csv file access in .htaccess, made spacelab header.php consistent with default one 2016-07-06 09:30:26 +01:00
FrancescoUK
a74e7565bf Change " to ' in sale model queries 2016-07-05 22:21:12 +01:00
FrancescoUK
df6f118a79 Fixed search customer bug in sales Takings (#654) 2016-07-05 21:51:39 +01:00
jekkos
f04cbc9674 Fix delete for most controllers (#721) 2016-07-05 22:19:32 +02:00
FrancescoUK
3cff918f81 Inverted Sales register New Items New and Submit buttons 2016-07-05 20:28:32 +01:00
FrancescoUK
5be0feafe9 Inverted Sale edit form Delete and Submit buttons 2016-07-05 20:24:52 +01:00
FrancescoUK
4618af352c Fixed New button in items form: visible in New Item not Edit/Update Item 2016-07-05 20:20:33 +01:00
FrancescoUK
81d1aa7873 Added partial/header_debug, upgraded grunt script, regen dist with updated js plugins 2016-07-05 19:13:27 +01:00
jekkos
8002694c96 Make csrf token generation more generic using dataFilter in ajaxSetup (#597, #599) 2016-07-05 17:53:11 +02:00
jekkos
5de3f17af8 Show error message if avatar dimensions exceed allowed maximum (#696) 2016-07-05 08:22:09 +02:00
jekkos
1b5105f3af Remove unnecessary hook with csrf setup (#599, #597) 2016-07-04 23:36:08 +02:00
jekkos
7b674b2e3f Fix submit in items, customers and sales (#716)
Add again new button functionality in items (#712)
Bugfixes for csrf tokens (#599)
2016-07-04 23:20:14 +02:00
FrancescoUK
01486fd41e Fixed translation strings typos in datepicker_locale 2016-07-04 18:59:56 +01:00
FrancescoUK
a69194745e Fixed template header issues (#714), and email_config tab js issue 2016-07-04 18:12:20 +01:00
jekkos
90660fd9e9 Fix close button in stock details (#14) 2016-07-04 18:03:25 +02:00
jekkos
bb1a1ccd62 Fix table_helper after bad merge 2016-07-04 17:45:08 +02:00
jekkos
806c1b9986 Add csrf token in forms (#599, #597) 2016-07-04 17:38:58 +02:00
FrancescoUK
0ba5cadbb7 More models/Sale refactoring, fix button order in sales/form, make inventory count button a close one 2016-07-03 20:23:06 +01:00
FrancescoUK
5b81ee1b1d Added config_email_configuration translation (#713) 2016-07-03 18:29:25 +01:00
FrancescoUK
c136832db1 Fixed issue with negative tendered amount in sales (#707), improved sales_items_temp table and usage in various parts 2016-07-03 14:07:46 +01:00
FrancescoUK
d8beedf1f7 Small code optimisation: review for loops (#709) 2016-07-01 19:12:48 +01:00
FrancescoUK
4d6a665e04 Small code optimisation: use strtr instead of str_replace (#709) 2016-07-01 18:58:40 +01:00
FrancescoUK
201e26e521 Small code optimisation: pre increment is faster than post increment (#709) 2016-07-01 18:58:04 +01:00
FrancescoUK
b7cb5c5873 make consistent use of elseif in place of else if 2016-07-01 17:08:01 +01:00
FrancescoUK
5cb755b0e3 Added common_close translation (#705) fixed datepicker_lang translation 2016-07-01 09:11:36 +01:00
FrancescoUK
43da232557 Tidy up time conversion utility functions 2016-06-30 15:32:43 +01:00
FrancescoUK
06c74045be Make full use of moment.js for wall clock functionality. Update templates/spacelab header.php 2016-06-30 11:11:19 +01:00
jekkos
ad54e759f0 Add badge for bower dependency status 2016-06-28 22:42:12 +02:00
jekkos
163726abae Fix docker cloud deploy button (#616) 2016-06-28 20:08:05 +02:00
jekkos
6a108866f5 Remove volume from docker-compose test file (#616)
Update docker-cloud to mount init script directly
2016-06-28 19:25:50 +02:00
jekkos
608b2ec075 Add version + dependency badges 2016-06-28 13:47:36 +02:00
FrancescoUK
7682f02222 Removed language="javascript" as deprecated 2016-06-27 21:04:27 +01:00
FrancescoUK
7c65484ada Fixed daterangepicker translation 2016-06-27 16:33:52 +01:00
FrancescoUK
163732b87f Drop and recreate completely session table with new structure 2016-06-27 16:15:14 +01:00
FrancescoUK
dd2dc7312c Drop session table's primary key, change introduced with CI3.0.6 to prevents conflicts if sess_match_ip is set to TRUE 2016-06-27 15:57:20 +01:00
FrancescoUK
586c8f8db9 Added support for receipt templates, added default and short version (#678) 2016-06-26 20:06:37 +01:00
FrancescoUK
0293b6dbd8 Brazilian Portuguese translations updated (#650) 2016-06-26 18:33:18 +01:00
FrancescoUK
d62af2a007 Limit string length of barcode strings (#692) 2016-06-26 18:21:05 +01:00
FrancescoUK
6466a71c0a Removed all the character_limiter affecting tabular views (#692) 2016-06-26 12:20:35 +01:00
FrancescoUK
d2d9aae9ce Regen dist files 2016-06-26 12:06:09 +01:00
FrancescoUK
362b32357f Complete translation support with dropdowns and Store Config pages (#439) 2016-06-25 19:43:53 +01:00
FrancescoUK
4b64269905 Fixed regression introduced with button translation support change (#699) 2016-06-25 16:06:59 +01:00
jekkos
e25ce12e55 Only mount uploads folder as docker volume (#616)
Remove base64 jQuery plugin (#684)
2016-06-25 12:36:36 +02:00
FrancescoUK
b76d4526de Renamed prefix recvs_ to be the extended version receivings_ matching the Controller name (#439) 2016-06-25 09:39:04 +01:00
FrancescoUK
1affe3c093 Strip html tags from image upload error message (#696) 2016-06-25 09:32:01 +01:00
jekkos
57759d2775 Make bootstrap dialog buttons translatable (#439)
Update deploy instructions in Readme (#616)
Add partial views to load CI translations in javascript (#439)
2016-06-25 01:54:54 +02:00
FrancescoUK
6744ad1891 Brazilian Portuguese translation updates (#650) 2016-06-24 18:42:28 +01:00
FrancescoUK
d378cfdb5f New look for the Reports listing page, code tidy up, dist regen (#695) 2016-06-24 17:55:10 +01:00
FrancescoUK
6d012144db Removed unreferenced code in Sales Controller (#475) 2016-06-23 23:34:25 +01:00
FrancescoUK
d911447b43 Fixed wrong recvs_invoice_number usage in sales receipt (#694) 2016-06-23 23:08:43 +01:00
jekkos
0bd74b9df5 Update README.md for deployment (#616) 2016-06-23 23:41:47 +02:00
jekkos
725d447ab3 Add instructions to deploy to docker cloud (#616)
Use environment variables in database.php to read settings for contianer
2016-06-23 23:37:30 +02:00
FrancescoUK
413fef4c6f Don't lose disabled setting on email config submit (#441) 2016-06-23 20:45:07 +01:00
FrancescoUK
6c9c28bd28 Brazilian translation of Receiving Reference addition (#635) 2016-06-23 19:41:46 +01:00
FrancescoUK
331d97b48f Added email config to Store Config, added Email_lib, refactored email code (#441, #519) 2016-06-23 19:26:51 +01:00
FrancescoUK
cf860be1fc Small refactoring of library classes 2016-06-23 18:12:18 +01:00
FrancescoUK
2ca3911d56 No autoload and refactoring of SMS lib and Message Controller to be consistent with the rest of libraries (#693) 2016-06-23 09:05:30 +01:00
FrancescoUK
67a2912537 Allow Giftcard to do not have customer assigned (#689) 2016-06-22 22:47:25 +01:00
jekkos
9119c16c49 Correctly link container files in docroot (#616) 2016-06-22 08:49:34 +02:00
jekkos
7e56617044 Add volumes directly in Dockerfile and symlink to docbase (#616) 2016-06-22 08:38:50 +02:00
jekkos
d72bddbd9d Export data with controller filename (#684)
Upgrade table export plugin to newer fork
Fix variable substitution in .travis.yml (#616)
2016-06-21 23:19:05 +02:00
FrancescoUK
de9a4dac08 Fixed failures in updated rows in Suppliers and Report Detailed Receivings (#683) 2016-06-21 20:33:54 +01:00
jekkos
9bada9e18e Push to docker hub if username is defined (#616) 2016-06-21 21:33:25 +02:00
jekkos
b87f50aedf Fix malformed .travis.yml (#616) 2016-06-21 21:22:08 +02:00
FrancescoUK
04fdbfb187 Made ospos XSS clean optional and configurable from application/config/config.php (#39)
Performance improves if set to FALSE but should be only for pure stand alone and isolated from Internet cases.
2016-06-21 18:34:24 +01:00
FrancescoUK
9a1def21cc Code tidy up (#635) 2016-06-21 18:34:24 +01:00
jekkos
0b423f5828 Add utf-8 compatible base64 dependency (#649)
Don't push to docker hub if no login information set (#616)
2016-06-21 16:29:56 +02:00
FrancescoUK
e4988d806f Made sale invoice email send consistent with receipt (#475) 2016-06-21 09:10:05 +01:00
FrancescoUK
e9fe27a59e Further fix of email receipt regression (#475) 2016-06-21 09:07:12 +01:00
FrancescoUK
e56f418696 Fixed email receipt regressions (#475) 2016-06-21 08:56:29 +01:00
FrancescoUK
bb85a172a2 Change invoice_number in Receiving to be Reference, tidy up code (#635) 2016-06-21 08:50:11 +01:00
jekkos
4cf1c31d4f Remove padding for comments field in register (#680)
Properly align checkboxes in right lower corner (#680)
Add fix for bootstrap-tables delete and regen dist (#627)
Tidy up receipt email send code (use empty instead of isset)
2016-06-21 08:40:56 +02:00
FrancescoUK
15fd832705 XSS clean Receiving (#39) code refactoring and various issues fixing 2016-06-20 22:22:46 +01:00
jekkos
17dcd3fdb2 Tag docker image with branch name after build (#616)
Add docker cloud stack config file
2016-06-20 22:54:01 +02:00
jekkos
8aa46126c5 Use bootstrap grid for payment options in sale register (#116)
Short review of receipt/invoice email send (#475)
2016-06-20 21:30:58 +02:00
FrancescoUK
6c791afffc Fixed Item Kits comment typos and small refactoring (#665) 2016-06-19 21:07:10 +01:00
jekkos
6c6e41495c Fix item kit barcode generation (#665) 2016-06-19 19:15:09 +02:00
FrancescoUK
a4488ec090 Further regression fix with item edit and deleted flag (#672) 2016-06-19 12:58:47 +01:00
FrancescoUK
c75675129b Fixed typo in Barcode 39 exception message 2016-06-19 12:47:20 +01:00
FrancescoUK
ac968e21e6 Additional tidy up (#667) 2016-06-19 12:35:52 +01:00
FrancescoUK
ad1b3aeaac Allowed search box and filters to be contextual to selected date range (#667) 2016-06-19 11:57:53 +01:00
FrancescoUK
8c5decee34 Fix regression introduced with #664 around deleted items (#672) 2016-06-19 11:11:16 +01:00
FrancescoUK
bbbf24c2a5 Don't allow adding deleted Items by item_id in Sales register and Receiving (#664) 2016-06-18 12:52:58 +01:00
FrancescoUK
936c74211f Small refactoring of Sales form (#639) 2016-06-18 11:46:45 +01:00
jekkos
fdb5e3406e Fix syntax erorr in is_valid_receipt (#655) 2016-06-17 18:09:03 +02:00
jekkos
359184934e Fix refresh after deleting all items on last page (#627) 2016-06-16 23:11:40 +02:00
jekkos
776c819509 Tag docker image and push to docker hub (#616) 2016-06-16 23:11:40 +02:00
FrancescoUK
1c4f6f4fb3 Update daterangepicker in bower no dist regen 2016-06-16 19:13:35 +01:00
FrancescoUK
28d3a3dce3 Fixed error with barcode auto generate (#640) 2016-06-16 19:13:35 +01:00
jekkos
fb4dc5af84 Remove curl call to wait for container (#616) 2016-06-16 20:04:29 +02:00
FrancescoUK
26358620eb Fixed bug with barcode auto generation (#640) 2016-06-16 17:54:12 +01:00
jekkos
105eca20b2 Update portugese (brazilian) translations (#650) 2016-06-16 17:49:45 +02:00
jekkos
9e675e81ec Perform regex check in is_valid_receipt (#655) 2016-06-16 17:40:26 +02:00
jekkos
86b22e7987 Make travis build regular dockerFile directly (#616) 2016-06-15 20:42:29 +02:00
jekkos
c39e0a2ed4 Copy curl into test container (#616) 2016-06-15 18:42:49 +02:00
jekkos
1cadd2b06b Run docker-compose up in background (#616) 2016-06-15 17:57:04 +02:00
jekkos
6b5d61414c Enable item kit return (#655)
Don't install curl in test container (#616)
2016-06-15 17:34:39 +02:00
jekkos
3890eaf162 Show general config error messages in the correct place (#655) 2016-06-15 17:18:32 +02:00
jekkos
4b0badfb30 Fix customer search in takings (#654)
Replace payment type label with amount tendered (#513)
2016-06-15 17:18:31 +02:00
jekkos
1861f4f71f Don't take totals row in takings into account for pagination (#620)
Reset payment summary css position underneath table
2016-06-15 17:18:31 +02:00
jekkos
3129319efe Try to start test container as travis-ci test (#616) 2016-06-15 14:24:01 +02:00
jekkos
1392055d44 Adapt default test container command (#616) 2016-06-15 14:22:24 +02:00
jekkos
4119d8d5a8 Build image using docker-compose (#616) 2016-06-14 12:50:34 +02:00
jekkos
5d494fa08e Fix bstables pagination when deleting all items in last page (#627) 2016-06-14 08:35:14 +02:00
FrancescoUK
3a5b88d51c Added configuration order of payment options available in Sales Register (#456 #646) 2016-06-13 19:39:02 +01:00
FrancescoUK
11ad1c2476 Regen dist files 2016-06-13 18:58:17 +01:00
FrancescoUK
17443a3d4f Fixed ugly invoice issue (#442) and added company name in invoices always 2016-06-13 18:33:40 +01:00
FrancescoUK
9dc7405eaa How to remove index.php from URL (#645) + set a config rule to be strict with sessions matching IP 2016-06-13 17:54:31 +01:00
FrancescoUK
cd6277c1a8 Removed use_invoice_template as it's not used anymore (#639) 2016-06-13 09:15:43 +01:00
FrancescoUK
73dc5a9f70 Merge branch 'sonnysk76-master' 2016-06-12 18:55:31 +01:00
FrancescoUK
4da7285f38 Update Spanish Translations #569 2016-06-12 18:54:42 +01:00
FrancescoUK
b96ebeed22 XSS clean Sales (#39), refactored Sales Controller (#639), added Send Email in Receipt & Invoice (#475) 2016-06-12 18:15:43 +01:00
jekkos
edfd0319a8 Update docker on travis using sudo (#616) 2016-06-11 20:39:58 +02:00
jekkos
facc25eb74 Set travis docker version to 1.10.3 (#616)
Fix typo in README.md
2016-06-11 20:29:24 +02:00
jekkos
b7f54c0366 Fix .travis.yml file structure 2016-06-11 18:51:58 +02:00
sonnysk76
9f7ea6f1cb merging 2016-06-10 16:58:26 -05:00
jekkos
aae02dc060 Disable invoice creation after sale / receiving completion (#619) 2016-06-09 22:29:41 +02:00
jekkos
e6c173dcdc Merge branch 'master' of https://github.com/jekkos/opensourcepos 2016-06-09 20:40:30 +02:00
jekkos
0923ed0f80 Enable receiving invoice number override (#626) 2016-06-09 20:39:38 +02:00
FrancescoUK
1ad844fe74 Fixed Customer Account # issue (#633) 2016-06-09 19:31:41 +01:00
jekkos
9fb4d5ccd4 Fix email button enabled state (#628) 2016-06-09 17:55:35 +02:00
jekkos
463938bc88 Upgrade travis docker-compose to 1.7.1 (#616) 2016-06-09 17:21:20 +02:00
jekkos
9d25520dbf Add docker service to travis.yml (#616) 2016-06-09 16:52:57 +02:00
jekkos
03bfa43378 Push docker build to travis-ci if container start is ok (#616) 2016-06-09 10:51:06 +02:00
FrancescoUK
b72d1059c0 Do not restrict Message Store Config access by user grants (#472) 2016-06-09 08:53:07 +01:00
FrancescoUK
fc81e842c2 Made Items and Customers excel import strings translatable (#439) 2016-06-09 08:49:14 +01:00
FrancescoUK
53b220b10b Fixed excel import notifications (#478) 2016-06-08 22:31:25 +01:00
FrancescoUK
5129ebec0c XSS clean Items (#39) 2016-06-08 21:58:18 +01:00
jekkos
a41a39aa0b Try to bump docker version in travis config (#616) 2016-06-08 22:56:23 +02:00
jekkos
0aa17d6374 Update docker installation instructions (#616) 2016-06-08 22:46:18 +02:00
jekkos
bced04ca88 Split up exsiting docker image in mulitple containers (mysql, php-apache, npm) (#616)
Add company_name to searchable fields in Takings overview (#594)
Change tests to use elementBy instead of wait functions
2016-06-08 22:36:33 +02:00
FrancescoUK
6d0ed7cc99 Removed redundant code in Controllers (#39) 2016-06-08 19:57:50 +01:00
FrancescoUK
336e10d445 Controller class hierarchy refactoring, made xss_clean part of base Secure_Controller class (#39) 2016-06-08 18:13:34 +01:00
FrancescoUK
5cf23f2bd3 Disabled bootstrap_tables XSS escaping support since we leverage CI one (#39) 2016-06-08 11:25:53 +01:00
FrancescoUK
fe845692bf Added SQL upgrade script since 2.0 based on forum history (#621) 2016-06-07 17:07:24 +01:00
FrancescoUK
7980b12239 Disable bootstrap tables escaping, tidy up of Reports unused code (#39) 2016-06-07 17:00:46 +01:00
FrancescoUK
9248ffd044 XSS clean Reports (#39) 2016-06-06 22:36:07 +01:00
FrancescoUK
da96edf304 XSS clean Messages, tidied up Home, Login, No_access and Secure_area, removed unused Controllers (#39) 2016-06-04 16:42:54 +01:00
FrancescoUK
b11377041d XSS clean Customers, Employees, Suppliers, Person, Item_kits. Minor fix Giftcards and Config (#39) 2016-06-04 15:05:02 +01:00
sonnysk76
fa01e18e41 Spanish lang review 2016-06-03 13:43:46 -05:00
FrancescoUK
1453b5e21d Fixed return of only invoice receipt if the searched number matches an invoice, disable the invoice search if not set in config (#606) 2016-06-03 19:23:43 +01:00
FrancescoUK
7e6908b7bf Fixed SMS message view notifications (#478) 2016-06-02 19:07:07 +01:00
FrancescoUK
eb9c04c774 Item image hover width size set to 200 and image displaying on the left of the mouse (#596) 2016-06-02 18:37:33 +01:00
FrancescoUK
fdb7cd9ac4 Updated bootstrap-daterangepicker js plugin and regen dist files 2016-06-02 12:33:33 +01:00
FrancescoUK
5e42684f27 Added default values to tables.sql and regen dist files (#478) 2016-06-02 12:22:37 +01:00
FrancescoUK
f8ef4bb570 Tidied up spacelab template footer.php after notification change (#478) 2016-06-02 12:04:46 +01:00
jekkos
b6822b040c Add configuration options for notification alignment (#478)
Fix country code edit bug (#497)
Review xss filtering in load_config hook (#39)
2016-06-02 08:50:45 +02:00
jekkos
7c05b62cf0 Immprove Dockerfile (use proper layer caching) 2016-06-01 23:28:49 +02:00
jekkos
d2f3497d1e Fix item avatar rollover when hovering (#596)
Fix invoice right border (add colspan) (#529)
Fix form erorr handling (inherit in right order)
2016-06-01 08:39:03 +02:00
jekkos
998e9bbb8e Fix notify alert type for config screens + fix message notification (#478) 2016-05-31 08:33:34 +02:00
jekkos
8c6bba62c9 Fix row table update in takings, customers, .. (#575, #604)
Update spacelab header (#226)
2016-05-31 08:22:59 +02:00
FrancescoUK
0a6b3d5785 XSS clean Giftcard (#39) 2016-05-30 20:46:59 +01:00
FrancescoUK
9f7457e1de XSS clean Config and configuration data loading (#39) 2016-05-30 20:46:59 +01:00
FrancescoUK
6e9830705f Removed any XSS filtering from input->post and input->get (#39) 2016-05-30 20:46:59 +01:00
jekkos
b904540aed Replace notifications with bootstrap-notify (#478)
Add bstables responsive addon (#558)
Improve bulk update refresh (#432, #604)
Fix bulk tax update if default tax is configured in general_config
Reuse commons js parts in form validation code
2016-05-30 21:43:11 +02:00
jekkos
fc5aa33d16 Do full refresh if item update count is > 15 & fix bulk update modal when clicking on glyphicon (#432) 2016-05-30 21:41:07 +02:00
FrancescoUK
1968b598a4 Fixed pie slices colour range limited to 15, now random (#603) 2016-05-29 21:52:01 +01:00
FrancescoUK
6ad547049e Further model checks, improved success result, made code style consistent (#598) 2016-05-29 15:04:21 +01:00
FrancescoUK
5d66b9fbfd Do not show 'Send SMS' glyphicon, if phone number is not available (#602) 2016-05-28 23:05:03 +01:00
FrancescoUK
404fc5b548 Sanity checked SQL escaping in all the models, improved code under different aspects (#598) 2016-05-28 22:41:27 +01:00
FrancescoUK
6fe1e2a55a Added escaping of inputs in all Report models (#598) 2016-05-27 19:38:28 +01:00
FrancescoUK
6e14dfb6d5 Sanity checked SQL insert and update, minor fixes (#598) 2016-05-27 18:40:16 +01:00
FrancescoUK
ce3e96ef5b Updated bootstrap-daterangepicker to vs 2.1.20, regen dist files 2016-05-26 19:24:31 +01:00
FrancescoUK
1e7e73f482 Fixed issue with summary section introduced by sharing common id with chart one (#342) 2016-05-26 19:16:19 +01:00
FrancescoUK
a5f63d1cc0 Do proper XSS sanity check with excel files (#39) 2016-05-26 18:41:59 +01:00
FrancescoUK
e4cb04fd3e XSS sanity check of uploaded images or excel files (#39) 2016-05-26 18:29:33 +01:00
jekkos
472ce16528 Fix item kit save 2016-05-26 18:10:58 +02:00
jekkos
1b7bf0ed4f Fix bulk update refresh (#432) 2016-05-26 18:10:58 +02:00
jekkos
9f380bc083 Push to docker registry if build successful 2016-05-26 17:30:00 +02:00
jekkos
8671a59b4b Add git working tree directly to container root 2016-05-26 17:02:55 +02:00
FrancescoUK
e9e5a3e475 Fixed charts responsiveness and Summary placement (#342) 2016-05-26 10:36:25 +01:00
FrancescoUK
9ae5957473 Made currency showing configurable from the controller (#342) 2016-05-25 23:10:43 +01:00
FrancescoUK
3c25a9ba8d Fixed currency support in pie chart (#342) 2016-05-25 22:59:39 +01:00
FrancescoUK
ec5fbc16b5 Added currency to hbar (#342) 2016-05-25 22:46:40 +01:00
FrancescoUK
5531f7fa9e Added tooltip support to charts, regen dist files (#342) 2016-05-25 22:31:58 +01:00
FrancescoUK
9137c89fb7 Made message string URL encoded (#472) 2016-05-25 18:07:43 +01:00
jekkos
5c42604fa7 Set correct casing for pt-BR in customers_lang.csv + delete duplicate folder (#576) 2016-05-24 22:29:01 +02:00
jekkos
fecb2163ea Update config_lang.csv with correct number of translations (#497)
Update country_code tooltip css
Remove tables.css
2016-05-24 17:46:40 +02:00
FrancescoUK
3e44c7caf5 Fixed line chart (was broken), fixed dimensions of charts, regen dist files (#342) 2016-05-24 12:14:01 +01:00
FrancescoUK
719a0e6107 Fixed nominatim.autocomplete.js typo (#497) 2016-05-24 12:02:20 +01:00
FrancescoUK
cd1ec7a5d6 Fix typo in comment (#342) 2016-05-24 08:38:09 +01:00
jekkos
0aadbc0467 Add link to nominatim wiki for countrycodes tooltip (#497)
Increase waitForCssElement timeout
2016-05-24 08:25:17 +02:00
jekkos
63d6ac59df Fix suppliers + employees graphical summary report (#587) 2016-05-23 22:43:45 +02:00
jekkos
2475bfa609 Fix taxes graphical summary report (#587) 2016-05-23 22:41:20 +02:00
jekkos
609aef0a87 Make nominatim countrycodes configurable (#497) 2016-05-23 22:40:46 +02:00
jekkos
0a16ffcd39 Set height for charts to 80% (#342)
Fix encoding issues for chartist data
2016-05-23 18:33:53 +02:00
jekkos
457a1df478 Correct test url context root 2016-05-23 11:50:16 +02:00
jekkos
3c0dcb20ac Use standard php functionality for json encoding (#342) 2016-05-23 08:46:17 +02:00
jekkos
07fbffab08 Fix receiving quantity testcase 2016-05-23 08:45:10 +02:00
FrancescoUK
bd208c6d0d Moved chart styles to reports.css (#342) 2016-05-22 21:07:11 +01:00
FrancescoUK
41e4285d65 Removed flash library and dependencies, regen dist file (updagraded js plugins) (#342) 2016-05-22 19:59:26 +01:00
FrancescoUK
cfacf52a42 Changed graphical reports to use Chartist (#342) 2016-05-22 19:01:16 +01:00
FrancescoUK
17bc62d94b Added Chartist js extra plugins and regen dist (#342) 2016-05-21 15:01:15 +01:00
FrancescoUK
fa84adc536 Added Chartist js plugin and regen dist (#342) 2016-05-21 12:07:50 +01:00
jekkos
35b12df144 Remove empty column from columns dropdown in detailed sales/receivings reports (#571) 2016-05-20 17:35:07 +02:00
jekkos
ec20eb96df Add refresh after enter in sales and receivings register (#572) 2016-05-20 17:28:56 +02:00
jekkos
41b3d00fb2 Add modal init in postBody bstables callback (#563) 2016-05-20 17:17:12 +02:00
FrancescoUK
671f6d9e16 Delete wrong pt-Br files (#576) 2016-05-20 14:03:44 +01:00
jekkos
f2293297ce Enable modals after sort detailed table (#571) 2016-05-20 07:41:50 +02:00
FrancescoUK
0d0ecd90d3 Updated Portuguese (Brazil) translations (#567) 2016-05-19 18:56:52 +01:00
FrancescoUK
9b55205f0f fixed detailed customer report error (#571) 2016-05-19 17:27:41 +01:00
jekkos
5122dad996 Fix table sorting in detailed (specific) reports (#571) 2016-05-19 17:41:04 +02:00
jekkos
7178f8b02b Fix table details association after sort in detailed sales + receivings reports (#571) 2016-05-19 12:46:18 +02:00
jekkos
9762193ce0 Fixup register css (block and alert widths) 2016-05-19 08:57:54 +02:00
jekkos
2746a0ef03 Uppdate testcase and make them ospos 3.0 compliant 2016-05-18 23:02:02 +02:00
jekkos
ea77980bff Persist column visbility per user and per module (#563) 2016-05-18 08:49:28 +02:00
sonnysk76
bde97b3ec8 Update languaje ES on csv 2016-05-17 13:48:01 -05:00
sonnysk76
becab02bce lang1 esp 2016-05-17 12:19:13 -05:00
jekkos
fc2d5e89f0 Remove empty column switches in dropdown (switchable on column header) (#563) 2016-05-17 08:59:51 +02:00
FrancescoUK
31dd09e09b Removed unused excel header & footer, removed obsolete style classes (#528) 2016-05-16 19:03:20 +01:00
jekkos
c83a46c726 Add change due to sale totals row + remove checkbox after load (#559) 2016-05-16 11:23:06 +02:00
jekkos
20baece7c5 Fix detailed reports for employee, customer and discount (#564) 2016-05-16 11:23:06 +02:00
FrancescoUK
92b88bed20 Merge branch 'master' into bootstrap-tables 2016-05-14 12:22:00 +01:00
FrancescoUK
45b498924c fix gitter chat badge in README 2016-05-14 12:18:41 +01:00
FrancescoUK
fc7735ab03 Merge pull request #549 from gitter-badger/gitter-badge-1
Add a Gitter chat badge to README.md
2016-05-14 12:00:33 +01:00
jekkos
e07ee6a505 Refresh after delete only if animations are finished (#554) 2016-05-13 17:07:14 +02:00
jekkos
e0fdb7ed80 Uncheck all checked inputs after table refresh (#554) 2016-05-13 08:52:45 +02:00
jekkos
cbb562add2 Fix table row update in employees and other (#556) 2016-05-13 08:26:09 +02:00
jekkos
7e8f0e1dc1 Enable sorting for employees, giftcards and suppliers (#555) 2016-05-12 21:29:27 +02:00
jekkos
139100db35 Merge branch 'master' into feature/bootstrap-tables
Conflicts:
	application/models/Item.php
	application/views/reports/date_input_excel_export.php
	application/views/reports/excel_export.php
	application/views/reports/inventory_summary_input.php
	application/views/reports/specific_input.php
2016-05-12 20:34:24 +02:00
jekkos
19629cb05c Full delete refresh issue fix (table will fully refresh in the end)
(#554)
2016-05-12 20:23:21 +02:00
FrancescoUK
87c55582b6 Removed table_sorter, regen dist 2016-05-12 19:12:50 +01:00
jekkos
4c60b0f624 Fix customer delete (use same uniqueId for these tables) (#552) 2016-05-12 19:40:12 +02:00
FrancescoUK
a56984a1a0 Restore the dropdown border size to original and regen dist files 2016-05-12 18:34:48 +01:00
jekkos
2a858b3f23 Collapse rows in detailed report after delete (#507, #293)
Hide columns without title in takings print view (#507)
Execute grunt after running bower uninstall
Try to fix integration tests
2016-05-12 18:02:26 +02:00
jekkos
5312dba499 Do not show checkbox and empty columns on takings print (#293, #507) 2016-05-12 08:47:35 +02:00
jekkos
f7664616ec Search for item number if enter is hit in register and receiving (#507) 2016-05-12 08:36:23 +02:00
jekkos
fdb826a8c4 Only show item suggestions with associated id in register and receiving (#540)
Use correct tabindex numbering in sale register
2016-05-12 08:19:15 +02:00
jekkos
53060397e5 Fix inventory summary report (#540) 2016-05-11 21:51:54 +02:00
jekkos
349000bd8a Fix sale and receiving edit and delete in detailed report (#507, #293) 2016-05-11 17:57:37 +02:00
The Gitter Badger
358a9fc867 Add Gitter badge 2016-05-11 06:19:18 +00:00
jekkos
4b5d883c69 Remove specific input view for excel export (#535) 2016-05-10 19:04:24 +02:00
jekkos
498f8a06b8 Rework url generation for excel export (#539, #540) 2016-05-10 18:42:18 +02:00
jekkos
2171efcb7a Enable dialogs after pagination + export in summary reports (#539) 2016-05-10 18:31:08 +02:00
jekkos
ffd212da14 Enable bstables export for tabular reports (#293, #539) 2016-05-10 09:09:58 +02:00
jekkos
b210888dac Add table export option for bootstrap tables (#293)
Fix pagination css (remove custom style)
2016-05-10 09:08:07 +02:00
jekkos
3b4fbce6f6 Get selected state for export using jQuery (#539) 2016-05-10 08:06:15 +02:00
jekkos
c80b3e1c61 Fix excel export in reports section (#539)
Conflicts:

	application/views/reports/date_input_excel_export.php
2016-05-09 20:20:39 +02:00
jekkos
8fcc24db71 Fix excel export in reports section (#539) 2016-05-09 20:15:23 +02:00
jekkos
d78c871855 Show empty column if no tax_percent found for item (#507) 2016-05-09 20:15:00 +02:00
jekkos
3cf018ac47 Regenerate js files (#537, #538)
Remove static row tablesorter hack
Remove tablesorter plugin
2016-05-09 20:07:04 +02:00
jekkos
c3f2f41888 Fix barcode generation in items and item_kits (#537, #538)
Enable sorting in takings (with static row below the table) (#293, #507)
2016-05-09 18:40:13 +02:00
jekkos
d94b1d921e Enable sorting for items, customers, suppliers, employees and item_kits module (#293, #507) 2016-05-09 08:59:03 +02:00
FrancescoUK
4e17bb7a8c Fixed broken customer suggest in sales/register (#507) 2016-05-07 20:35:32 +01:00
FrancescoUK
601fd10f4e Upgraded js plugins and regen dist files (#507) 2016-05-07 14:04:32 +01:00
FrancescoUK
ac765e4667 sale_id not receiving_id in detailed sale report (#507) 2016-05-07 11:55:52 +01:00
J Sivakumaran
3451a70fe4 Update UPGRADE.txt 2016-05-07 11:14:39 +01:00
FrancescoUK
57fcd87ad4 Updated COPYING (#472) 2016-05-07 11:14:39 +01:00
FrancescoUK
f7ea83091c Fixed mistype var causing a delete confirm box to be empty in item kits (#507) 2016-05-06 19:49:09 +01:00
FrancescoUK
d9498964a0 Fixed missing bulk edit dialog box title (#507) 2016-05-06 19:04:25 +01:00
FrancescoUK
16e6042c9c Fixed missing currency symbol in Item Kits view (#507) 2016-05-06 18:58:10 +01:00
FrancescoUK
c11a9e000d Merge pull request #534 from jsivakumaran/patch-1
Update UPGRADE.txt
2016-05-06 18:10:46 +01:00
J Sivakumaran
a02a0c2a0b Update UPGRADE.txt 2016-05-06 09:35:34 -07:00
jekkos
eca4b4ffb8 Use bootstrap tables for detailed and summary reports (#293, #507) 2016-05-06 00:37:46 +02:00
FrancescoUK
18764d5caf Hide delete button from Takings print, fix null value for margins, add a missing / (#507) 2016-05-05 22:31:24 +01:00
FrancescoUK
76560ca458 Set Takings default to show today's transactions (#507) 2016-05-05 19:50:55 +01:00
FrancescoUK
f207213474 Updated COPYING (#472) 2016-05-05 19:41:06 +01:00
FrancescoUK
9eb21137f6 Fixed glyphicon button space and completed sales & register glyphicons (#507) 2016-05-05 16:44:09 +01:00
jekkos
488af06663 Fix delete in Item model (#507) 2016-05-03 22:41:44 +02:00
jekkos
de711b82dd Fix item delete (#525) 2016-05-03 21:35:46 +02:00
jekkos
408774b14c Apply ospos lines per page setting to bootstrap-table pagination (#507) 2016-05-03 18:16:50 +02:00
jekkos
e2f6bf283c Show invoice icon if invoices enabled in config (#507)
Fix limit query for customers table (#507)
Add reference to translation when no persons found (#507)
2016-05-03 18:09:58 +02:00
jekkos
c2f895c1d4 Rebase with latest master (#293, #472)
Enable email button in customers, suppliers only if selected row has
email filled in
Disable sale/receiving edit in reports (TBC)
2016-05-03 08:58:11 +02:00
jekkos
2adc096eeb Add invoice number and payment type in takings overview (#507) 2016-05-03 08:10:38 +02:00
jekkos
b37f984eb6 Fixes for item kits (new, update) (#507)
Fixes for takings overview (pagination, sorting) (#293)
Fixes for item tax bulk update (#507)
Table rows are highlighted again before delete (#507)
2016-05-03 08:10:38 +02:00
jekkos
130f749a48 Fix item delete (#507) 2016-05-03 08:10:38 +02:00
jekkos
e7a22e4e41 Enable bootstrap tables localisation and integrate with ospos scripts
(#293)
Fix item bulk update (all items are updated now) (#507)
Stop click event propagation when opening modal dialog on a table row
(caused row to be selected/deselected)
2016-05-03 08:10:37 +02:00
jekkos
c568c08595 Fix bulk update with bootstrap-tables (#507) 2016-05-03 08:10:37 +02:00
jekkos
9caed90aee Fix bootstrap tables toolbar icon size (#507) 2016-05-03 08:10:37 +02:00
jekkos
d5d96fa777 Add receipt button in takings (#507)
Fix add stock location in store config
Fix stock location filtering in items module
Fix item kits barcode generation
Fix broken form after first submit in all modules
Remove temp js from dist/ (#293)
2016-05-03 08:10:37 +02:00
jekkos
7e088348e0 Regenerate language file + js after rebase, fix various merge bugs
(#293)
2016-05-03 08:10:37 +02:00
jekkos
c9142ca69b Fix payment summary in sales (#293)
Add glyphicons to buttons in register + receiving views
Refactor table_support init function
Various bugfixes
2016-05-03 08:10:36 +02:00
jekkos
2dab5e0fe7 Bootstrap-tables integration for sales module (WIP) (#293)
Refactor manage_tables, remove public function identifiers
2016-05-03 08:10:36 +02:00
jekkos
e7439c1616 Start bootstrap tables migration for sales module (#293) 2016-05-03 08:10:36 +02:00
jekkos
4624665726 Replace submit with close button in count details view (#293) 2016-05-03 08:10:36 +02:00
jekkos
8cf32f4470 Fix item kits view + search, item bulk edit (#293)
Refactored table_helper to add first and last column automatically
2016-05-03 08:10:36 +02:00
jekkos
4c55da7229 Enbable inventory, count_details in items (#293) 2016-05-03 08:10:36 +02:00
jekkos
48c49ddb74 Fix item kits glyphicons + new button tooltip (#293) 2016-05-03 08:10:36 +02:00
jekkos
9dfb2196e5 Use form-inline to style items toolbar (#293) 2016-05-03 08:10:36 +02:00
jekkos
e09ebcaff9 Filters in items module working and on one line (#293) 2016-05-03 08:10:36 +02:00
jekkos
bb95a120b1 Enable bootstrap-tables for items modules - wip (#293) 2016-05-03 08:10:35 +02:00
jekkos
46ad34548f Enable bootstrap-tables for item kits module (#293) 2016-05-03 08:10:35 +02:00
jekkos
3b9ae1d807 Enable bootstrap-tables for giftcards module (#293) 2016-05-03 08:10:35 +02:00
jekkos
0cd45e275e Enable bootstrap-tables for suppliers module (#293)
Reuse generic manage view for suppliers and remove original one
2016-05-03 08:10:35 +02:00
jekkos
873d14aac6 Enable bootstrap tables in employees module (#293) 2016-05-03 08:08:13 +02:00
jekkos
6f011da3ae Fix customer import (#293) 2016-05-03 08:07:48 +02:00
jekkos
2b03d3bfd7 Continue bootstrap-tables integration (#293)
Refactor manage_tables code and use proper js namespacing
Add glyphicons for most buttons in customers sections
Tidy up HTML in customers table page
Remove jquery-color plugin (not needed anymore)
Fix some minor css issues (feedback bar bottom margin)
2016-05-03 08:07:48 +02:00
jekkos
af7b64a398 Migrate to bootstrap-tables in customers modules (#293) 2016-05-03 08:07:47 +02:00
FrancescoUK
6e82c4904f Fix missing translation (#472), add glyphicons 2016-05-01 22:11:38 +01:00
FrancescoUK
a090ecb1a5 Merge branch 'RamkrishnaMondal-master' 2016-04-30 22:22:16 +01:00
FrancescoUK
a745c52bd5 Merge branch 'master' of https://github.com/RamkrishnaMondal/opensourcepos into RamkrishnaMondal-master 2016-04-30 22:21:14 +01:00
FrancescoUK
c9f8ca6771 disable the feature completely in case the permission is not granted (#472) 2016-04-30 22:14:05 +01:00
FrancescoUK
10e2aa873c fixed missing Croatian translation (#472) 2016-04-30 21:38:37 +01:00
FrancescoUK
0eecaf4268 fixed required fields in sms_form (#472) 2016-04-30 21:38:21 +01:00
FrancescoUK
1f9c31da41 regen database scripts (#472) 2016-04-30 21:37:57 +01:00
FrancescoUK
5fb73ce2cb fixed error reporting, fixed table_helper, added translations, fixed bootstrap grid, various fixes (#472) 2016-04-30 21:34:23 +01:00
FrancescoUK
2b9c9ce203 enable errors, refactor code, various issues fixing, upgrade database script (#472) 2016-04-30 21:33:48 +01:00
FrancescoUK
225a42be8a Regenerate translations after Portuguese (Brazil) amendment 2016-04-29 19:07:37 +01:00
arteiro
8042b6aa53 Pequenas modificações 2016-04-28 12:40:55 -03:00
RamkrishnaMondal
d01e9ffcfe Sixth commit 2016-04-28 19:40:14 +05:30
RamkrishnaMondal
cde401a078 Fifth commit 2016-04-28 13:27:20 +05:30
RamkrishnaMondal
ee237c3c2e Fourth commit 2016-04-28 13:22:01 +05:30
FrancescoUK
0dca4b8906 small tidy up (#391) 2016-04-26 19:55:09 +01:00
FrancescoUK
e81bf14d91 fix code comment typo (#410) 2016-04-26 18:50:01 +01:00
RamkrishnaMondal
d330472158 Third commit 2016-04-26 19:27:44 +05:30
RamkrishnaMondal
0d759ddd4e Second commit 2016-04-26 16:38:13 +05:30
RamkrishnaMondal
638e9ff535 First commit 2016-04-26 16:04:17 +05:30
RamkrishnaMondal
3785cdb675 Merge pull request #1 from jekkos/master
new
2016-04-26 03:22:37 +05:30
FrancescoUK
4ed63cc362 Changed some to be short OSPOS, corrected some that were still PHP Point of Sale or had typos, fixed other translation issues (#391) 2016-04-25 17:26:14 +01:00
FrancescoUK
01d68ce3d5 Changed logo and favicon (#391) 2016-04-25 16:38:42 +01:00
FrancescoUK
8139d525cb remove commented out codeline (#410) 2016-04-24 17:13:55 +01:00
FrancescoUK
34d09bc575 Made invoice optional from store config checkbox, updated and regen database script, few config fixes (#410) 2016-04-24 17:11:37 +01:00
FrancescoUK
b88575b2a5 restructure store config tabs, add invoice config checkbox, add translations (#410) 2016-04-23 22:57:34 +01:00
FrancescoUK
1cf3157089 Regen database.sql (#499) 2016-04-22 21:53:54 +01:00
FrancescoUK
ce2142add4 Made description and serialnumber optional in receipts (#499) 2016-04-22 21:42:17 +01:00
FrancescoUK
d1de7b67b9 Remove stock location from sale receipts (#498) 2016-04-22 19:37:00 +01:00
FrancescoUK
9aa673448a Reset quantities when an Item is deleted (#496) 2016-04-22 19:22:04 +01:00
FrancescoUK
9cfddaf2ab undelete an item in case it's returned (#184) 2016-04-21 22:59:34 +01:00
FrancescoUK
ae5d23f77d Make the payment type change a unique transaction in the model (#314) 2016-04-21 19:25:06 +01:00
FrancescoUK
9f808dafde Show delete button in form when editing sale from Detailed Sales Report 2016-04-18 18:37:27 +01:00
FrancescoUK
bb0989f6bd Adjust form fields size to give more space and fit better dialog form, fixed few details 2016-04-18 18:31:40 +01:00
FrancescoUK
b177fe1dcf Update README.md to include more info about 3.0.0 and set a policy for bug reporting 2016-04-18 13:22:09 +01:00
FrancescoUK
2948bb8a6b Fixed typo in tables.sql , instead of ; (#375) 2016-04-18 09:42:31 +01:00
FrancescoUK
19d3a34bcc Fixed customer name not pre-loaded in form (#314) 2016-04-18 09:29:57 +01:00
FrancescoUK
83d93464bc Added ability to update payment type when editing a sale (#314) 2016-04-17 21:51:52 +01:00
FrancescoUK
3b5be5cf97 Fixed mistake in database upgrade script (#375) 2016-04-16 23:10:40 +01:00
FrancescoUK
7a3e09adb0 Fixed "Calc avg. Price (Receiving)" config bug (#482) 2016-04-16 22:53:20 +01:00
FrancescoUK
1ac0182867 Added discount % to customer (#375) and added Total spent by customer (#369), both added in register and form 2016-04-16 22:26:50 +01:00
FrancescoUK
fa084ec8d2 revert a change affecting order or js when running grunt 2016-04-13 18:34:06 +01:00
FrancescoUK
61a50577fa remove extra , in Gruntfile.js 2016-04-12 22:36:38 +01:00
FrancescoUK
11e3cd63e0 Move temp file in a tmp dir when generating dist files, tidy up Gruntfile.js 2016-04-12 22:26:57 +01:00
FrancescoUK
0c47ec477d Added Croatian translations to application and system (#460) 2016-04-10 22:48:29 +01:00
FrancescoUK
d9b007c1af Improve emailed receipt layout and make it look like the printed one (now added logo + company name) (#442) 2016-04-10 18:15:59 +01:00
FrancescoUK
c77fa6e5c4 Fixed various issues preventing all languages to work fine in all views (#470) 2016-04-09 23:37:34 +01:00
FrancescoUK
fb16c4b65a Add Spanish System translations (#470) 2016-04-09 23:07:54 +01:00
FrancescoUK
e2ddb9388a better support of templates in Gruntfile.js and fix glyphicon issue (#409 #448) 2016-04-09 22:57:03 +01:00
FrancescoUK
a1311dca4c Fixed Items page not displaying with German and Chinese (#470) 2016-04-09 17:23:40 +01:00
FrancescoUK
cf4fd0601f Fixed issue with missing opensourcepos_bower.css in header.php (#469) 2016-04-09 17:14:46 +01:00
FrancescoUK
935e9f0bc8 replace plus and minus in stock_locations with glyphicons, remove old png 2016-04-09 16:43:39 +01:00
FrancescoUK
031994f9b5 Remove inconsistency between .csv and lang.php Portuguese (Brazil) translations (#462) 2016-04-09 15:49:59 +01:00
FrancescoUK
96701fad8e Fix bower invalid-meta warning related to description being too long 2016-04-09 15:27:26 +01:00
FrancescoUK
94e566bb89 Fix typo in README 2016-04-08 23:27:11 +01:00
FrancescoUK
1d3bcfc2ef Update jQuery to 1.12.3 and smalot-bootstrap-datetimepicker to 2.3.10 2016-04-08 23:24:41 +01:00
FrancescoUK
c9b1e34035 Update README 2016-04-08 22:56:54 +01:00
FrancescoUK
910d846c21 Standard CI3 Portuguese (Brazil) translations (#462) 2016-04-08 22:45:44 +01:00
FrancescoUK
62bcce369f More Portuguese (Brazil) translations (#462) 2016-04-08 22:38:05 +01:00
FrancescoUK
ee319badc8 Merge branch 'arteiro-master' 2016-04-08 19:37:16 +01:00
FrancescoUK
714c0ddead Merge branch 'master' of git://github.com/arteiro/opensourcepos into arteiro-master 2016-04-08 19:36:53 +01:00
FrancescoUK
d27671ac3d Fix PHP5.4 support error in Items.php (#452) 2016-04-08 19:07:20 +01:00
FrancescoUK
4264ee763f Upgrade to CI3.0.6 2016-04-08 18:26:18 +01:00
FrancescoUK
2439055f01 More Portuguese (Brazil) translations (#462) 2016-04-08 12:26:57 +01:00
FrancescoUK
ffd0f25e13 Fix to "count shown instead of quantity" on certain Reports (#453) 2016-04-08 12:03:45 +01:00
FrancescoUK
45bd6ece05 Fix quantity decimals in Inventory Reports (#429) 2016-04-08 09:12:09 +01:00
FrancescoUK
984f6c5cac MY_Session workaround is not required anymore with CI3.0
See for fix: https://github.com/bcit-ci/CodeIgniter/issues/3073
2016-04-08 08:51:42 +01:00
arteiro
cd102b7c2e Ultima
Desta versao
2016-04-07 22:18:13 -03:00
FrancescoUK
d83c8051f6 Rename forms to have form_ prefix, move form styles to popupbox.css 2016-04-07 20:30:42 +01:00
FrancescoUK
2ffc7e2d2b Merge branch 'arteiro-master' 2016-04-06 23:03:18 +01:00
FrancescoUK
4a3acd10e7 Portugues (Brazil) translations (#462) 2016-04-06 23:00:18 +01:00
FrancescoUK
ea2a18c647 complete change of calendar language in datepicker 2016-04-06 20:26:21 +01:00
jekkos
3b035aa204 Remove debugger statement + unneeded tab (#455) 2016-04-06 20:48:26 +02:00
jekkos
3b1250afa7 Adapt locale_helper to show currency symbol on correct side (#451) 2016-04-06 20:26:40 +02:00
jekkos
2f07036940 Fix customer selection in sale form (#455)
Fix invoice layout (restore header width)
2016-04-06 20:22:19 +02:00
jekkos
db3f19770b Set currcency symbol on correct site in bulk edit + giftcard forms (#451) 2016-04-06 20:09:47 +02:00
arteiro
570ca69c2f Correções básicas
Espaços retirados
2016-04-06 13:28:44 -03:00
jekkos
4ba4e38c1f show currency symbol on right if configured so (#451) 2016-04-06 18:25:11 +02:00
arteiro
16496d4a9c Tradução pt-BR
Tradução para Português do Brasil
2016-04-06 13:22:36 -03:00
jekkos
f88f19da71 Update datepicker with date and calendar translations from system 2016-04-06 08:51:04 +02:00
arteiro
8237825b4b dunplicado linhas- corrigido
# Conflicts:
#	application/language/pt-BR/common_lang.php
2016-04-05 16:04:27 -03:00
arteiro
7a05f13539 Retirada de espaços
Retirada de espaços antes das palavras
2016-04-05 15:53:51 -03:00
arteiro
05ba84db37 correção
alterado uma palavra
2016-04-05 15:36:17 -03:00
arteiro
95c4fe170b Tradução pt-BR
Criando tradução para Português do Brasil
2016-04-05 14:49:24 -03:00
jekkos
a7ad0cbecd Update CI3 system language files 2016-04-04 23:43:13 +02:00
FrancescoUK
3b1efdb9ad Remove 3 decimals rule on currency due to 3 dec in taxes. Keep decimals separate. Add default tax dec in tables (#327) 2016-04-04 20:57:33 +01:00
FrancescoUK
923f0e05fc update bower file to contain correct tablesorter version 2016-04-03 19:35:19 +01:00
FrancescoUK
c981bc7daa update tablesorter to 2.25.7, regenerate dist files even to fix database.sql 2016-04-03 19:33:09 +01:00
FrancescoUK
fc6c9f6d57 set correct git path in Dockerfile 2016-04-03 18:18:13 +01:00
FrancescoUK
bca943bf34 Fix README.md 2016-04-02 19:21:20 +01:00
FrancescoUK
49366ea5ab Merge branch 'bootstrapUI' into master (now vs 3.0.0) 2016-04-02 19:17:32 +01:00
FrancescoUK
44dfb86230 Merge branch 'master' vs 2.4 into bootstrapUI 2016-04-02 18:58:42 +01:00
FrancescoUK
f36e5ecef4 Release files update (due to 2.4 being released) 2016-04-02 14:22:36 +01:00
FrancescoUK
afcb1641b7 Added decimals to taxes (#327), added totals rounding matching decimals (#327 #307, #429) 2016-04-02 13:59:01 +01:00
FrancescoUK
54455213a8 Release files update 2016-04-02 09:33:37 +01:00
FrancescoUK
dda468291a Update codeigniter_version.txt to contain 3.0.5 (#292)
change the order of access prevent in .htaccess
2016-04-01 22:17:13 +01:00
FrancescoUK
3d7756f177 Update codeigniter_version.txt to contain 3.0.5 (#292) 2016-04-01 22:00:28 +01:00
FrancescoUK
c5037c5725 add currency decimals configuration, fix quantity decimals in forms, merged helpers in locale one (#307 #429) 2016-04-01 21:07:29 +01:00
jekkos
bef7a2da25 Add release notes for 2.4 2016-04-01 18:43:05 +02:00
jekkos
12f4209055 Add hungarian (hu-HU) language (#438) 2016-04-01 16:52:07 +02:00
FrancescoUK
76ff5da718 fix error on new item (#429) 2016-04-01 08:45:57 +01:00
FrancescoUK
19bdcad78e fix database conversion script missing ; at the end (#429) 2016-04-01 08:10:47 +01:00
FrancescoUK
6efdccfef0 add configurable quantity decimals (#429) 2016-04-01 00:07:05 +01:00
FrancescoUK
97676f01a2 change quantity fields to be decimal(15,3) in database (#429) 2016-03-31 20:54:37 +01:00
FrancescoUK
affefb44b4 Resize Item_kits and Items forms quantity fields to space for 3 decimals (#429) 2016-03-31 20:12:56 +01:00
FrancescoUK
62dea44922 add currency symbol in front of gift card value (#116) 2016-03-31 18:52:42 +01:00
FrancescoUK
da5c821de3 tidy up of old styles, make login to use standard bootstrap, regen dist (#116) 2016-03-31 18:25:17 +01:00
FrancescoUK
b2597df44c replaced float_left with pull-left and float_right with pull-right (#116 #293) 2016-03-31 17:35:42 +01:00
FrancescoUK
c8f6f6adf0 remove code submitted accidentally (#116 #293) 2016-03-31 17:08:34 +01:00
FrancescoUK
83edcaf955 set the filters in Items and Sales/Takings on the right side (#116 #293) 2016-03-31 16:33:30 +01:00
FrancescoUK
2359af5fbb tune dropdowns style and font size (#116 #293) 2016-03-31 15:20:30 +01:00
jekkos
e3ddea07b9 Remove F-key shortcuts for modules (#425)
Conflicts:

	application/views/partial/header.php
	dist/opensourcepos.min.js
2016-03-31 08:13:13 +02:00
jekkos
953307cbc7 Remove F-key shortcuts for modules (#425) 2016-03-31 08:08:12 +02:00
FrancescoUK
f303066039 fix missing refresh of payment totals on filter selection (#116 #293) 2016-03-30 22:28:29 +01:00
FrancescoUK
22e38b6f2a bootstrapified and completed rework of the filters section in Sales/Takings (#116 #293) 2016-03-30 22:13:17 +01:00
FrancescoUK
68f5e73bff tidy up js leftovers (#116 #293) 2016-03-30 18:31:47 +01:00
FrancescoUK
086d5b39f3 bootstrapified and complete rework of the filters section in Items (#116 #293) 2016-03-30 18:10:42 +01:00
FrancescoUK
97d17da8c0 Fix error message when searching for non existing supplier in receivings (#430) 2016-03-29 17:31:59 +01:00
jekkos
4d04cdd65f Fix error message when searching for nonexistant supplier in receivings
(#430)
2016-03-29 17:41:16 +02:00
FrancescoUK
7d9013cb2d Fix error message when searching for non existing customer in sales (#430) 2016-03-29 09:24:58 +01:00
FrancescoUK
d996ff29cb Regenerate invoice number on sale unsuspend if no custom format is used (#423) 2016-03-29 09:21:43 +01:00
jekkos
51b776354a Fix error message when searching for nonexistant customer in sales
(#430)
2016-03-29 08:43:58 +02:00
jekkos
d51d1b458a Regenerate invoice number on sale unsuspend if no custom format is used
(#423)
2016-03-29 08:29:43 +02:00
FrancescoUK
7f44d379f5 removed redundant page titles, moved pagination up, adjusted styles, regen dist (#116) 2016-03-26 22:56:51 +00:00
FrancescoUK
69b3e9db52 fix receiving form and detailed report (#116) 2016-03-26 22:55:06 +00:00
FrancescoUK
faac1d6a10 fix bulk_edit: don't remove category, supplier and taxes if left empty; save when a value is set (#393 #381) 2016-03-26 15:12:51 +00:00
FrancescoUK
2f5fd8e3d0 Set tax rate name & % in bulk edit to be the config one, save only if not empty (#381) 2016-03-26 14:03:08 +00:00
FrancescoUK
972f0e81f4 change edit in sales/register and receiving to be a glyphicon with update label (#405 #116) 2016-03-26 10:55:07 +00:00
FrancescoUK
1e85edfef4 change sales/register and receiving button edit item to be update 2016-03-25 22:17:27 +00:00
FrancescoUK
50e6739bad add print and items receiving button in receiving receipt (#426) 2016-03-25 22:09:58 +00:00
FrancescoUK
2322682014 update bootstrap-dialog, remove jqmigrate, regen dist files (#328) 2016-03-25 21:40:09 +00:00
FrancescoUK
16f438dea2 fix "$ is undefined" in login page (#328 #329) 2016-03-25 20:53:30 +00:00
jekkos
6ffec444d6 show serialnumber and description on invoice underneath name and qty
resp. (#405)
2016-03-23 18:44:15 +01:00
jekkos
4e9731c59b Prevent user to update employee without selecting at least one grant
(#420)
2016-03-23 08:44:18 +01:00
jekkos
4f3a845702 Prevent user to update employee without selecting at least one grant
(#420)
2016-03-23 08:38:13 +01:00
jekkos
a3af051d43 Minor improvements for sales tax bulk edit (#381) 2016-03-23 08:14:15 +01:00
jekkos
f9f127e227 Disable second tax field if first is not filled (#381)
Add extra warning if first tax is modified

Conflicts:

	application/views/items/form_bulk.php
2016-03-23 08:10:08 +01:00
jekkos
79a4414a13 Disable second tax field if first is not filled (#381)
Add extra warning if first tax is modified
2016-03-22 08:55:43 +01:00
FrancescoUK
96c4b57b18 Properly fix item search bug (remove duplicated rows due to left outer join) 2016-03-21 21:08:56 +00:00
jekkos
98ad6f3db0 Ignore giftcard numbering test as it makes the build unstable (#114) 2016-03-21 21:51:59 +01:00
jekkos
9cbbe111a7 Set correct branchname for Dockerfile (#284, #114) 2016-03-21 21:47:32 +01:00
jekkos
258c95f02e Remove sync ajax calls in validation callback for forms (#413)
Remove jquery-bgiframe (not used anynmore) (#328)
Fix bug in receiving form save if supplier was empty

Conflicts:

	application/controllers/Items.php
	application/views/customers/form.php
	application/views/items/form.php
	application/views/partial/header.php
	application/views/receivings/form.php
	application/views/sales/form.php
	bower.json
	dist/opensourcepos.js
	dist/opensourcepos.min.js
	templates/spacelab/views/partial/header.php
2016-03-21 21:43:52 +01:00
jekkos
fbd7465b03 Remove sync ajax calls in validation callback for forms (#413)
Remove jquery-bgiframe (not used anynmore) (#328)
2016-03-21 21:27:46 +01:00
FrancescoUK
e6472d525d add rule to .htaccess to protect generate_language.php (#311) 2016-03-21 19:26:31 +00:00
FrancescoUK
fda45dd363 fix bulk_edit: don't remove supplier if none is selected, save category, removed confirm dialog (#393) 2016-03-21 19:02:53 +00:00
jekkos
07e372a787 Properly fix for item search bug (remove duplicated rows due to left
outer join)
2016-03-21 17:43:59 +01:00
FrancescoUK
b9c088314b fix is_deleted issue on some installation (#406) 2016-03-21 16:36:10 +00:00
FrancescoUK
b72432a39e Add in README.md that vs 3.0.0 requires PHP 5.5 or greater (#416) 2016-03-21 13:48:38 +00:00
Aaron Gong
cb26c8cf33 Fix for #393 - issue with bulk edit (PR #415) 2016-03-21 08:44:59 +01:00
jekkos
611237ec86 Fix search resultset when no filters applied 2016-03-21 08:39:24 +01:00
FrancescoUK
3a4e9d9107 remove JQmigrate, update plugins, regen dist files, manual fix of template header (#328) 2016-03-20 22:21:48 +00:00
FrancescoUK
06420fa4b0 fix width % in table_helper to be 100% max (#116) 2016-03-20 22:14:06 +00:00
FrancescoUK
b57fc1f34d add rule to .htaccess to protect generate_language.php (#311) 2016-03-20 19:10:36 +00:00
jekkos
b5e07c9245 Move print_hide to outer div (#394) 2016-03-18 19:02:10 +01:00
jekkos
c6c6a1b4cf Fix print button for receipt and invoice (#394) 2016-03-18 19:00:08 +01:00
jekkos
8cdb30fd25 Show item name on invoice if serialized and description empty (#405) 2016-03-18 18:43:23 +01:00
FrancescoUK
91041bd7a9 Add navigation buttons to invoice, receipt and takings + enable jsPrint (#394) 2016-03-18 18:43:07 +01:00
FrancescoUK
f813780e15 Replace custom csv parse function with PHP builtin (>=5.3) (#311) 2016-03-18 17:25:09 +00:00
jekkos
bc53f544f4 Replace custom csv parse function with PHP builtin (>=5.3) (#311) 2016-03-18 14:12:46 +01:00
jekkos
d29176158b Strip eol characters at end of last column (#311) 2016-03-18 08:16:52 +01:00
FrancescoUK
20fc9138e2 sanity check of post & get on item suggestion and search (#402) 2016-03-17 20:16:56 +00:00
FrancescoUK
18857aca46 fix file language issues: remove \ from French, retranslate everything but manually fix id issues with \" (#311) 2016-03-17 18:36:12 +00:00
jekkos
8fc24219fb Strip eol characters from imported csv line (#311) 2016-03-17 12:20:28 +01:00
jekkos
38a2fb4ca1 Remove call to flushCache (gone after tablesorter upgrade) (#328) 2016-03-17 08:14:10 +01:00
jekkos
a04b1d5803 Fix jQuery deprecation warning in invoice load (#328)
Ignore giftcard test as it makes build unstable
2016-03-16 08:13:08 +01:00
FrancescoUK
06e7dcd471 fix header of pagination.php (#116) 2016-03-15 19:10:24 +00:00
FrancescoUK
d4dae9fd32 bootstrapify pagination links, remove old styling, don't print links in takings, change <?= to be <?php (#116, #394) 2016-03-15 19:08:14 +00:00
FrancescoUK
e3a10067f5 fix the missing jsPrint takings_printer in config (#394) 2016-03-15 18:09:37 +00:00
jekkos
09dd7eca58 Make invoice header responsive, remove fixed height and make font size
relative. (#116)
2016-03-15 17:52:43 +01:00
jekkos
126f2254f6 Make invoice header responsive, remove fixed height and make font size
relative. (#116)
2016-03-15 17:49:10 +01:00
jekkos
64c7eb28b3 Put back form submit buttons (#328)
Add custom style for jquery autocomplete widgets (#116)
2016-03-14 23:11:25 +01:00
FrancescoUK
5e97358e90 enable jsPrint in receipt, invoice and Takings (sales/manage) (#394) 2016-03-14 19:54:46 +00:00
FrancescoUK
eb838cdb9f Change table links to be glyphicons, fix tooltips sentence in sales/manage, fix sortable columns (#116) 2016-03-14 18:40:07 +00:00
FrancescoUK
983dad87af regenerate dist file (#394) 2016-03-14 17:21:50 +00:00
FrancescoUK
87853f0da4 add navigation buttons in sales receipt and invoice, fix invoice styling (#394) 2016-03-14 17:21:28 +00:00
jekkos
e8e89f1c7e Add workaround for jQuery load deprecation (#328) 2016-03-14 08:49:52 +01:00
FrancescoUK
f6be7cdf23 Merge branch 'master' into bootstrapUI 2016-03-13 16:19:44 +00:00
FrancescoUK
7937e880c0 Merge branch 'ais-one-master' 2016-03-13 15:30:40 +00:00
FrancescoUK
c52b5b5118 hide links, change print button id and add it to stylesheet, hide the print div (#160) 2016-03-13 15:29:39 +00:00
FrancescoUK
e47e80c69c Merge branch 'master' of git://github.com/ais-one/opensourcepos into ais-one-master 2016-03-13 14:39:37 +00:00
Aaron Gong
6208569c7e Fix for issue 160
https://github.com/jekkos/opensourcepos/issues/160

I try to interfere as little as possible
2016-03-13 22:04:39 +08:00
FrancescoUK
1a41c6a360 remove unused legend strings (removed from forms) (#116) 2016-03-13 13:43:09 +00:00
FrancescoUK
38d52e4df0 remove unnecessary and redundant messages from report listing view (#116) 2016-03-13 12:42:17 +00:00
FrancescoUK
1f56a8da8c fix feature/bootstrapUI Reports issue with today date selection (#395) 2016-03-13 12:38:52 +00:00
FrancescoUK
4ad0d62f42 Upgrade to CI3.0.5 (#292) 2016-03-13 11:26:51 +00:00
FrancescoUK
0bd5bbec77 remove encode/decode base64 causing issues with web hosting providers (#374) 2016-03-13 10:52:32 +00:00
FrancescoUK
340792cfc2 change "E-mail" to be "email" (#116) 2016-03-13 10:07:59 +00:00
FrancescoUK
a817c8ae0a simplify checkbox logic in sales/register and receiving (#116) 2016-03-12 11:25:23 +00:00
FrancescoUK
c124c08f89 readded bootstrap-select and adjusted styling of dropboxes (#116) 2016-03-12 10:57:24 +00:00
FrancescoUK
d2565009d8 fix wrong behaviour with due amount and Complete button on "sale" <=0 and "return" >=0 (#116) 2016-03-12 09:23:54 +00:00
FrancescoUK
b38a5ca47a bootstrapisation of receivings (#116) 2016-03-12 00:03:54 +00:00
FrancescoUK
f32bba31b5 fix sales/register return, make complete replacing add payment button on 0 amount due, remove pop up on complete and suspend (#116) 2016-03-11 21:55:31 +00:00
FrancescoUK
4b8f505625 reenable pop dialogs for confirmation, disable add payment button when amount due is 0 (#116) 2016-03-11 18:04:44 +00:00
FrancescoUK
4433edc552 regenerate dist files (#116) 2016-03-11 17:49:05 +00:00
FrancescoUK
019f93d98b create style class for table width and first_li, regenerate dist files (#116) 2016-03-11 17:26:11 +00:00
FrancescoUK
98ebe1ff96 update daterangepicker to 2.1.19 and regen dist files (#116) 2016-03-11 17:24:51 +00:00
FrancescoUK
69c1af586e relayout of sales/register right panel to follow a more logical flow (#116) 2016-03-11 17:23:32 +00:00
FrancescoUK
2df8645c5f code comments, various bits and bobs (#116) 2016-03-11 17:20:07 +00:00
jekkos
f6b9ef16d0 Add default jquery ui theme instead of smoothness theme (#328)
Remove obsolete ajax queue plugin (#328)
Add image preview widget for avatar upload in items form (#372)
2016-03-11 18:07:41 +01:00
jekkos
399cc38eb9 Merge branch 'feature/bootstrapUI' of https://github.com/jekkos/opensourcepos into feature/bootstrapUI 2016-03-10 21:29:04 +01:00
jekkos
652702f582 Fix delete button + image upload widget refresh for company logo (#372) 2016-03-10 21:28:37 +01:00
FrancescoUK
4913ffe114 regenerate dist files (but issue with search dropdown style) (#116) 2016-03-10 20:16:05 +00:00
FrancescoUK
668cd8d0f9 make sales/register dropdowns the standard style (#116) 2016-03-10 19:21:54 +00:00
FrancescoUK
05a1dd561c sales/register alignments, added customer info (#116, #369) 2016-03-10 19:21:54 +00:00
FrancescoUK
5f0c9c282c remove inline styling from page titles (if needed can be done from a .css file against #page_title) (#116) 2016-03-10 19:21:54 +00:00
FrancescoUK
de825f54e7 remove ':' from sales/register labels (#116) 2016-03-10 19:21:54 +00:00
FrancescoUK
940a899231 more adjustments to sales/register bootstrapisation (#116) 2016-03-10 19:21:54 +00:00
FrancescoUK
70938f7b41 sales/register bootstrapisation (#116) 2016-03-10 19:20:42 +00:00
jekkos
d510ab031d Update README.md with FAQ and answer to common setup problem (#387, #97, 2016-03-10 08:43:07 +01:00
jekkos
9c39f62b1e Fix sale search form submission on enter (#386)
Add php5-apcu to Dockerfile (#320, 284)
Fix countrycode parameter for nominatim address lookup
2016-03-10 08:25:32 +01:00
jekkos
e175a96acb Fix nominatim address lookup with jquery ui autcomplete (#328)
Add dblclick event handler to item + customer autocomplete in register
2016-03-09 20:03:05 +01:00
FrancescoUK
71a8dce949 regenerate dist files (but issue with search dropdown style) (#328) 2016-03-09 17:10:47 +00:00
FrancescoUK
747706e032 fix barcode font size default in database.sql (#116) 2016-03-09 17:09:19 +00:00
FrancescoUK
2a679ca2eb set the correct default barcode font size (#116) 2016-03-09 16:53:17 +00:00
FrancescoUK
1f1b9c47ec remove extra barcode font styling, set directly the correct size as of barcode_config (#116) 2016-03-09 14:24:16 +00:00
FrancescoUK
ceac184c30 add comment about barcodes (#116) 2016-03-09 14:00:27 +00:00
FrancescoUK
f9803cb4f5 move barcode_sheet.php to views/barcode dir (#116) 2016-03-09 13:41:30 +00:00
FrancescoUK
626667b3fd Merge branch 'master' into bootstrapUI 2016-03-08 22:42:03 +00:00
FrancescoUK
bf2c6bfa1f fix issue with sale edit 2016-03-08 21:53:29 +00:00
FrancescoUK
5588c1e22e set a ospos_session cookie name 2016-03-08 21:30:25 +00:00
FrancescoUK
525fb7dcf9 fix issue blocking searching suggestion 2016-03-08 21:28:41 +00:00
FrancescoUK
e182c9d9f6 regenerate dist files 2016-03-08 21:23:05 +00:00
jekkos
af69e83bda Add jquery-ui.css in dist file + update .gitignore 2016-03-08 21:43:47 +01:00
FrancescoUK
76639f6da1 remove misleading comment from code 2016-03-08 19:50:46 +00:00
jekkos
01f59cc247 Fix jQuery migrate warnings in manage_tables (#328) 2016-03-08 20:46:30 +01:00
jekkos
6f6f4354fd Remove jQuery calls for attr (deprecated in newer versions) (#328) 2016-03-08 20:18:51 +01:00
FrancescoUK
d7df291b9a Merge branch develop/2.4 into master 2016-03-08 19:14:36 +00:00
FrancescoUK
1a1266a20c touched version to be 2.4.0, updated README.md, enabled Cross Site Request Forgery in config.php 2016-03-08 18:19:28 +00:00
jekkos
f366757476 Add group operator to giftcard query 2016-03-08 18:18:27 +00:00
jekkos
741843586d Remove duplicated cookie cleanup hack (CI 2.x issue) 2016-03-08 18:18:27 +00:00
FrancescoUK
fafdfd9afd fix php error on suggestion typing when in sale register return mode (#331) 2016-03-08 18:18:27 +00:00
FrancescoUK
a156ad8087 Fix issue in Sales/Takings and apply same fix to other controller to avoid similar issues in the future (#337) 2016-03-08 18:16:31 +00:00
FrancescoUK
b36a03c4bc Fix to sales edit server error when customer is '' (#337) 2016-03-08 18:16:31 +00:00
jekkos
028bdb074b Add caching hints for mod_expires (#340) 2016-03-08 18:16:31 +00:00
jekkos
643ceb25b5 Fix spacing in autocomplete suggestion 2016-03-08 18:16:31 +00:00
jekkos
5f8eface28 Properly save company_name in customer form 2016-03-08 18:16:31 +00:00
jekkos
8a5177f14c Fix base url for testcases (#305)
Fix legacy ubuntu repository urls (#284)
2016-03-08 18:16:31 +00:00
jekkos
02c8a89bbe Use curl to wait for apache start (#305) 2016-03-08 18:13:24 +00:00
jekkos
c67acaa6ec Make 2.4 version string npm compatible 2016-03-08 18:04:15 +00:00
FrancescoUK
4bbacf6923 Code reformatting 2016-03-08 18:04:15 +00:00
FrancescoUK
38ea682c88 Add favicon 2016-03-08 18:00:33 +00:00
FrancescoUK
0f1208d4d9 Fix package.json version to be 2.4 (#284) 2016-03-08 17:51:16 +00:00
jekkos
69942283e5 Make docker work with 2.4 branch 2016-03-08 17:50:17 +00:00
FrancescoUK
d13e034940 Update database/tables.sql script with new sessions table (#120) 2016-03-08 17:44:59 +00:00
FrancescoUK
72059184df Update Copyright notice (#120) 2016-03-08 17:44:59 +00:00
FrancescoUK
4d9dc0111e Make the data blob NOT NULL in the SQL upgrade script (#120) 2016-03-08 17:44:59 +00:00
FrancescoUK
b9262230d1 Change sessions to be stored in database and add SQL upgrade script 2.3.4 to 2.4 (#120) 2016-03-08 17:44:59 +00:00
FrancescoUK
df4cea3228 Fix to custom fields that cannot be null on Items save (#120) 2016-03-08 17:44:59 +00:00
jekkos
0f27348924 Add (temp) fix for cur_page conuter in CI pagination libary (#284)
Fix .htaccess file
2016-03-08 17:44:59 +00:00
FrancescoUK
dd5aa1e241 Restore padding in pagination links, now it uses css (#120) 2016-03-08 17:44:59 +00:00
FrancescoUK
5df62610d2 Upgrade to CI 3.0.4 (#120) 2016-03-08 17:44:59 +00:00
FrancescoUK
9dcbef988a Added comments to some controller functions and improved spacing to improve readibility of code (#120) 2016-03-08 17:44:59 +00:00
FrancescoUK
d1a973564f Make NULL to be null all over the code for consistency purposes (#120) 2016-03-08 17:44:59 +00:00
FrancescoUK
da52ff99c1 Further review and fixes to input->post(...) (#120) 2016-03-08 17:44:59 +00:00
FrancescoUK
ee07676193 Fix to items search not working due to input->post returning null (#120) 2016-03-08 17:44:59 +00:00
FrancescoUK
007598df6a Fix merge miss in constants.php (#120) 2016-03-08 17:44:59 +00:00
FrancescoUK
9a71bbc620 Complete CI 3.0.3 upgrade since it wasn't done in full (#120) 2016-03-08 17:44:59 +00:00
FrancescoUK
a5041a3a41 Remove application/errors, upgrade Step 8 (#120) 2016-03-08 17:44:59 +00:00
FrancescoUK
36d3717bd6 EXT constant deprecated, upgrade Step 20 (#120) 2016-03-08 17:44:59 +00:00
FrancescoUK
abd63731be Follow upgrade guideline Step 9 (#120) 2016-03-08 17:44:59 +00:00
FrancescoUK
b7c0e32cd0 Fix reports error due to report.php now being Report.php (#120) 2016-03-08 17:44:59 +00:00
FrancescoUK
c512d7167d Change config language to be 'en' consistent with the OSPOS language identifiers (#120)
However language support doesn't work properly at the moment.
2016-03-08 17:44:59 +00:00
FrancescoUK
6ccfc8ba7d Improve .htaccess with some security rules (#120) 2016-03-08 17:44:59 +00:00
FrancescoUK
b27d3c04c9 Upgrade config.php and database.php.tmpl to CI 3.0.3 versions (#120)
Apparently the upgrade wasn't complete.
2016-03-08 17:44:59 +00:00
FrancescoUK
aa3948b9a2 Remove application/config.php and database.php (#120) 2016-03-08 17:41:16 +00:00
Toni Haryanto
75fa1a8167 Upgrade to Code Igniter 3.0.3 (#120) 2016-03-08 17:41:16 +00:00
FrancescoUK
c414922167 touched README.md file (#116) 2016-03-08 17:18:29 +00:00
FrancescoUK
38ecacc62f mark OSPOS with Bootstrap3 vs 3.0.0 (#116) 2016-03-08 17:17:13 +00:00
FrancescoUK
cc05f9b2df regenerate dist files (#116 #328 #329) 2016-03-08 12:44:42 +00:00
FrancescoUK
d7d2c8cb35 get the latest swfobject 2.3.0 using an alternative bower package repo (#116 #328 #329) 2016-03-08 12:43:58 +00:00
FrancescoUK
ea394a00b5 remove spinner, unused images, unused code (#116 #328) 2016-03-08 12:42:38 +00:00
FrancescoUK
49b1eb3150 fix table action & search header geometry/positioning (#116) 2016-03-08 12:40:41 +00:00
FrancescoUK
4a216f0a7c used proper form and group-form for table action search and header (#116) 2016-03-08 12:28:18 +00:00
jekkos
674dd90221 Merge branch 'feature/bootstrapUI' of https://github.com/jekkos/opensourcepos into feature/bootstrapUI 2016-03-08 08:40:23 +01:00
jekkos
2436cf5da5 Fix suggestions for item kits (by name and KIT id) (#328) 2016-03-08 08:39:21 +01:00
jekkos
9cd42e0614 Add group operator to giftcard query 2016-03-08 08:12:23 +01:00
jekkos
a6fa6c9cd6 Add group operator to giftcard query 2016-03-08 08:11:10 +01:00
FrancescoUK
4403a6775a Fix wrong form name in location dropdown due to copy&paste action (#116) 2016-03-07 22:47:40 +00:00
jekkos
dfbab194de Add item search for category + suppliers (#328) 2016-03-07 23:21:57 +01:00
jekkos
fe2787217f Fix item suggestion in item kits, fix category suggestion in item form
(#328)
2016-03-07 22:42:42 +01:00
jekkos
554f2b32db Merge branch 'feature/jquery_cleanup' into feature/bootstrapUI
Conflicts:
	application/views/items/manage.php
	application/views/partial/header.php
	dist/opensourcepos.min.css
	dist/opensourcepos.min.js
	templates/spacelab/views/partial/header.php
2016-03-07 21:33:26 +01:00
jekkos
36f825d0fe Replace legeacy autocomplete with jquery-ui version (#328)
Cleanup PHP search suggestion functionality
Add jquery-ui css explicitly (wasn't included in bower main attribute)
2016-03-07 21:23:29 +01:00
FrancescoUK
04b6ba21f7 bootstrapisation of #table_action_header in all views, tidy up css styles changed px to em (#116) 2016-03-07 19:09:57 +00:00
Aaron Gong
ff63adecdc Fix For #339
https://github.com/jekkos/opensourcepos/issues/339

We should also rollout the fixes to  develop/2.4 if necessary. This fix
was adapted from BootstrapUI which fixed the PHP 7 error regarding
classes.
2016-03-07 22:26:07 +08:00
jekkos
6c29faeba1 Remove old jquery autocomplete
Remove id|name format in giftcards customer selection
Cleanup duplicated custom field suggestion in Items
Migrate table search suggestion to jQuery UI
Add jquery UI bootstrap theme
2016-03-07 07:56:41 +01:00
FrancescoUK
517f67a3a9 remove double entry in daterangepicker translations, open calendar always (#116) 2016-03-06 21:51:46 +00:00
FrancescoUK
7f37ebf87e proper support of date range in reports input leveraging all the features, translations and fixed some bugs (#116) 2016-03-06 21:34:12 +00:00
jekkos
f0af6f8927 Correct spanish translations for reorder level warning (#365) 2016-03-06 13:39:11 +01:00
jekkos
d78c4dec67 Add default english for other langauge labels 2016-03-06 13:34:21 +01:00
FrancescoUK
0831089790 fix stock_config error message (#116) 2016-03-05 21:08:20 +00:00
FrancescoUK
8faf1285da fix general_config tax 1 rate and name error message (#116) 2016-03-05 11:54:10 +00:00
FrancescoUK
d5b278217b fix first name error message in Suppliers/form (#116) 2016-03-05 11:41:57 +00:00
FrancescoUK
a04101d756 fix an issue with error messages on required fields in Items/form (#116) 2016-03-05 11:33:25 +00:00
FrancescoUK
3cb41c9fe3 fix picture loading widget in Items/form, works but pic extension is not handled so still commented out (#116) 2016-03-05 10:27:45 +00:00
FrancescoUK
2ab9404229 render in red the fields in config that are empty at submit time (#116) 2016-03-05 10:23:43 +00:00
FrancescoUK
6cef7a124e fix a wrong counting with custom fields for-loop (#116) 2016-03-05 10:23:43 +00:00
FrancescoUK
f226c774df Merge pull request #376 from ais-one/patch-1
Item Avatar Not Uploading (#373)
2016-03-05 09:34:52 +00:00
FrancescoUK
06a1f1a869 Merge pull request #378 from ais-one/patch-2
Don't make suppliers mandatory in Items/form (#377)
2016-03-05 08:26:38 +00:00
Aaron Gong
44dc300c63 Update form.php
removed required in class of the label
2016-03-05 14:50:53 +08:00
Aaron Gong
edaa936766 Fix for issue 377
Fix bug where item cannot be edited or created due to not recognizing none as a supplier.
2016-03-05 09:46:42 +08:00
Aaron Gong
6d9a53edba Fix for issue 373
https://github.com/jekkos/opensourcepos/issues/373
2016-03-05 09:25:34 +08:00
FrancescoUK
1d9a7eced3 set correct order new & submit buttons in receiving (#116) 2016-03-04 22:42:28 +00:00
FrancescoUK
f9971aabb6 remove unnecessary .':' from form labels (#116) 2016-03-04 21:57:58 +00:00
FrancescoUK
1fe26afe4f fix missing required fields in Items form, changed file input to be bootstrap one (#116)
There is the image upload option commented out, pending the solution on remove file.
However none of them seems to be effective in loading the image. It's probably a Controller issue.
2016-03-04 21:56:08 +00:00
FrancescoUK
6d547048c4 set two methods private in Items and Config controllers (#116) 2016-03-04 21:44:00 +00:00
FrancescoUK
687b68f13e set correct tax_2 and not tax_1 label in general_config (#116) 2016-03-04 21:42:40 +00:00
FrancescoUK
c49728e2fc fix New Employee button wrong indentation in Employees view (#116) 2016-03-04 21:41:22 +00:00
jekkos
a201d18938 Add specific warning when stock goes below reorder level in sales (#365, #336) 2016-03-02 08:28:50 +01:00
jekkos
d433866e39 Only accept .csv for import excel functionality (#116)
Enable enter key to submit form by default (as before)
2016-03-01 18:01:53 +01:00
jekkos
45da78bbde Trigger employee form validation for all tabs (#116) 2016-03-01 17:48:33 +01:00
jekkos
c9238877fa Bootstrapify report input forms, add datepicker range widget (#116)
Move datepicker translations to datepicker_lang.csv
2016-03-01 08:46:17 +01:00
jekkos
d4f456d868 Bump version strings to 2.3.5 2016-02-29 22:36:25 +01:00
jekkos
2833b7598e Bootstrapify date_input for reports (#116). Form alignment to be
improved, basic version working
Move common jquery validation settings to base object
2016-02-29 22:21:36 +01:00
jekkos
68c4c1cc56 Use bootstrap style to highlight fields in error state after failed validation (#116) 2016-02-29 08:14:00 +01:00
jekkos
bc8673d883 Remove debugger statement + fix glyph in item kits form (#116) 2016-02-28 23:52:04 +01:00
FrancescoUK
6b76e28ebb fix tables in item_kit/form items/inventory details and sales/suspended (#116) 2016-02-28 21:24:55 +00:00
FrancescoUK
f2e02e4e06 fixed wrong titles in excel import forms (coming from manage views) (#116) 2016-02-28 19:35:38 +00:00
FrancescoUK
2b257d21fb add icons to inventory detail and inventory change forms (#116) 2016-02-28 19:23:40 +00:00
FrancescoUK
92bfd903dc bootstrapify inventory details form, fixed multilocation support that was broken (#116) 2016-02-28 19:08:05 +00:00
FrancescoUK
69fedb3712 bootstrapify inventory form (#116) 2016-02-28 17:08:30 +00:00
FrancescoUK
c4df1f3671 make items/form_bulk consistent with the rest of the forms (#116) 2016-02-28 16:41:55 +00:00
FrancescoUK
0cd7af7c4f change file load widget in excel_import forms (#116)
used jasny-bootstrap
2016-02-28 16:26:58 +00:00
FrancescoUK
c675a73fc6 make sale and receiving forms consistent with the other forms (#116) 2016-02-28 15:55:45 +00:00
FrancescoUK
7b09961075 fix employee tab width issue, now working fine (#116) 2016-02-28 15:02:25 +00:00
FrancescoUK
d96fafa92f remove redundant title strings from all the forms (#116)
The dialog box has already a title and there is no need to double the subject.
2016-02-28 14:21:05 +00:00
FrancescoUK
20daecf4b1 make employees form using tabs (#116)
There is an issue with fieldset being too short
2016-02-28 14:03:09 +00:00
FrancescoUK
c0a048251e fix silly 1px drop with glyphicons in front of input, various beautifications: more icons and better tables in suspended and item_kits (#116) 2016-02-28 11:55:11 +00:00
jekkos
99c92e68a6 Add glyphicon to form fields in customer and item (#116) 2016-02-28 01:18:40 +01:00
jekkos
af5d39a394 Set delete button color in sales / receivings edit form (#116)
Fix password field layout in employee edit mode
2016-02-28 01:02:27 +01:00
FrancescoUK
fc74708bf5 fix a mistake with the table entry in sales/suspended list (#116) 2016-02-27 22:21:04 +00:00
FrancescoUK
0dce125f67 fix controls sizes in all the forms, fix datetimepicker in sales/form and receiving/form, fix item_kits/form (#116) 2016-02-27 21:55:52 +00:00
jekkos
d3b87189e3 Fix form submission in sales and receivings forms (#116) 2016-02-27 21:31:44 +01:00
jekkos
4a68ab13e1 Bootstrapify sales and receivings forms (#116) 2016-02-27 20:01:00 +01:00
jekkos
0c1f67f391 Readd create item and suspended sales buttons 2016-02-27 18:58:51 +01:00
jekkos
fd87c59492 Merge branch 'feature/bootstrapUI' of https://github.com/jekkos/opensourcepos into feature/bootstrapUI
Conflicts:
	application/views/partial/header.php
	application/views/receivings/receiving.php
	application/views/sales/register.php
	dist/opensourcepos.min.js
	templates/spacelab/views/partial/header.php
2016-02-27 18:55:44 +01:00
FrancescoUK
af2736e462 Reverse PHP7 fix causing issues with DB functionality (#351) 2016-02-27 10:15:58 +00:00
FrancescoUK
d7ff9bed1a Merge branch 'ci3' into bootstrapUI 2016-02-27 09:44:41 +00:00
FrancescoUK
e5e3b89c6d fix config page tabs sizes and alignment (#116) 2016-02-27 09:42:23 +00:00
FrancescoUK
67bfe560c4 change input boxes size in general_config, more to come (#116) 2016-02-26 23:53:11 +00:00
FrancescoUK
d04fec09d5 Sales register and Receiving with new dropdown and relayout (#116) 2016-02-26 23:33:05 +00:00
FrancescoUK
e814f8835a fix issue related to double bootstrap.js in min.js preventing bootstrap-select from functioning properly (#116) 2016-02-26 22:20:11 +00:00
jekkos
7769334372 Add close button by default (#116, #361) 2016-02-26 19:08:49 +01:00
jekkos
959f7da876 Fix item form submission + remove invalid char before value attribute 2016-02-26 11:05:55 +01:00
jekkos
a9902219ae Continue bootstrapification (item bulk edit, bootstrap modals)
(#116, #361)
Remove get_form_width() from controllers, add new class to define modal width
Add bootstrap validation markup to edit forms
2016-02-25 23:31:43 +01:00
jekkos
3cb9aaa055 Remove duplicated cookie cleanup hack (CI 2.x issue) 2016-02-25 23:28:19 +01:00
FrancescoUK
831dc7a0b8 fix php error on suggestion typing when in sale register return mode (#331) 2016-02-25 15:44:13 +00:00
FrancescoUK
75cf2997b8 Complete company logo config support (#116)
Show image when available, support button translation

Widget based on jasny-bootstrap
2016-02-25 10:59:14 +00:00
FrancescoUK
abdf2a23d0 add bootstrap-table but not used yet (#116 #293) 2016-02-23 15:50:04 +00:00
jekkos
deb4a501d6 Finish config module restyle (#116) 2016-02-22 23:44:52 +01:00
jekkos
80d7079953 run grunt on bower postinstall hook (#329) 2016-02-22 23:38:46 +01:00
jekkos
fcf303b2b3 Finish form bootstrapification for config module 2016-02-22 23:38:46 +01:00
FrancescoUK
932ead0d3c Merge branch 'ci3' into bootstrapUI 2016-02-22 18:05:15 +00:00
FrancescoUK
03146d9e3b Fix issue in Sales/Takings and apply same fix to other controller to avoid similar issues in the future (#337) 2016-02-22 17:52:29 +00:00
FrancescoUK
45c0163a9d Fix to sales edit server error when customer is '' (#337) 2016-02-22 08:51:18 +00:00
FrancescoUK
56826ab3c1 fix spacelab template to work with new setup (#116, #329) 2016-02-21 20:29:14 +00:00
FrancescoUK
55d6237f93 Add caching hints for mod_expires (#340) 2016-02-21 19:28:58 +00:00
FrancescoUK
349da7e7ad fix font issue, split bootstrap.min.css out of opensourcepos.min.css, grunt upgrades header.php and login.php (#329, #116)
requires npm install to install bowercopy
2016-02-21 19:14:04 +00:00
jekkos
5f0028a983 Add caching hints for mod_expires (#340) 2016-02-20 21:40:06 +01:00
jekkos
1aa5c72db3 Tune css inclusion (use negation for unwanted files in header.php) 2016-02-20 15:08:29 +01:00
FrancescoUK
fc20b74b57 fix wrong css file sequence generation with grunt, add bootstrap-select (not used yet) (#329) 2016-02-19 23:31:18 +00:00
FrancescoUK
7236902143 restore correct style for the main page module list (#329) 2016-02-19 23:30:42 +00:00
FrancescoUK
cf92544600 manage better meridiem cases with datetimepicker (use strpos) (#116) 2016-02-19 19:07:39 +00:00
jekkos
ab87b30423 Update .gitignore to exclude intermediate minified files 2016-02-19 19:04:14 +01:00
jekkos
0ad30370ae Do not include login.css in minified result (#329) 2016-02-19 19:04:06 +01:00
jekkos
30223c38e1 Fix css minification (#329)
Fix suspended sales dialog (set class to modal-dlg)
2016-02-19 19:03:56 +01:00
jekkos
967ba99c12 Merge branch 'feature/bootstrapUI' of https://github.com/jekkos/opensourcepos into feature/bootstrapUI
Conflicts:
	application/views/configs/locale_config.php
	application/views/receivings/receiving.php
	application/views/sales/register.php
2016-02-18 23:38:39 +01:00
jekkos
d2a11cdb91 Bootstrappify config forms - WIP (#116) 2016-02-18 23:30:21 +01:00
FrancescoUK
bb966feb8a small indentation adjustment (#116) 2016-02-18 22:06:47 +00:00
FrancescoUK
ebaec8de26 remove white gap in sales/register items table (#116) 2016-02-18 21:30:33 +00:00
FrancescoUK
ee4297e22c fix sales/register and receiving button, styles, alignment and code tidy up (#116) 2016-02-18 21:16:07 +00:00
jekkos
aae36bce00 Merge branch 'feature/bower+grunt' into feature/bootstrapUI 2016-02-18 17:42:38 +01:00
jekkos
4a7e0af9a2 Merge branch 'feature/bootstrapUI' of https://github.com/jekkos/opensourcepos into feature/bootstrapUI 2016-02-18 17:42:20 +01:00
jekkos
808943f250 Add bootstrap form style to item kits, suppliers, giftcards, and excel import in
items and customers (#118)
Fix dialog submission in all pages (#328)
2016-02-18 08:57:17 +01:00
FrancescoUK
f19e7142cd complete datetimepicker change with proper date and time formats support (#116) 2016-02-17 22:47:59 +00:00
jekkos
82a3f9a3e2 Add new dialogs to all pages (use modal-dlg class) #116
Bootstrapify customer edit form (almost done)
Bootstrapify item excel impor
2016-02-17 23:34:53 +01:00
FrancescoUK
66a5a159d8 add language support to datetimepicker using ospos translation support (#116)
Translated languages: en, es, fr, de-CH, nl-BE
2016-02-16 23:16:03 +00:00
jekkos
a5107445f0 Merge branch 'feature/bootstrapUI' of https://github.com/jekkos/opensourcepos into feature/bootstrapUI
Conflicts:
	application/views/configs/barcode_config.php
2016-02-16 23:59:49 +01:00
jekkos
c99ef3f315 Bootstrapify item edit form (#116)
Use bootstrap-dialog in items inventory and inventory details (#328)
2016-02-16 23:42:20 +01:00
FrancescoUK
cd5094d389 fix barcode_config barcode_lib->listfonts "font" to be "fonts" (#116) 2016-02-16 21:32:58 +00:00
FrancescoUK
d1a596b0be fix php error on suggestion typing when in sale register return mode (#331) 2016-02-16 21:28:10 +00:00
jekkos
a97929f239 Remove thickbox from bower.json (#328)
Items edit working now (items module only) (#116)
2016-02-16 21:41:02 +01:00
jekkos
444ba37eb1 Import bower compatible dependencies using bower+grunt (#329)
Cleanup obsolete js + css files (jquery-ui)
2016-02-15 22:52:58 +01:00
FrancescoUK
52487a4a78 Remove datetimepicker locales as the translation will use I18N but leveraging OSPOS translations (#116) 2016-02-15 21:51:53 +00:00
FrancescoUK
b6adf916c4 fixed arrow icons issue, bootcssVer autodetect doesn't work and needs explicit declaration (#116) 2016-02-15 09:31:44 +00:00
FrancescoUK
f92082270d add locale js for bootstrap-datetimepicker and regenerated min.js (#116)
locale not tested, js script seems unaffected
2016-02-14 23:32:50 +00:00
FrancescoUK
4667282966 add FontAwesome font (#116) 2016-02-14 23:30:57 +00:00
FrancescoUK
5546700fee upgrade templates/spacelab bootstrap.css to latest (#116) 2016-02-14 23:30:10 +00:00
FrancescoUK
644a159d0a remove completely flatly dir from templates (#116) 2016-02-14 23:29:06 +00:00
FrancescoUK
3156ce217b upgrade to latest flatly bootstrap.css (#116) 2016-02-14 23:24:42 +00:00
FrancescoUK
7c10a9a63a rename font directory to fonts so we are inline with bootstrap (#116) 2016-02-14 23:03:32 +00:00
FrancescoUK
fc3aac58b5 select transaction in Takings inclusive of time, fix Sale edit form to use bootstrap-datetimepicker (#116) 2016-02-14 22:41:10 +00:00
FrancescoUK
d788320a9d Tidy up js in Sales/manage and Items/manage, commented out invoice js part as not used (#116) 2016-02-14 19:42:08 +00:00
FrancescoUK
0f4d5e8f1b Fix issue in Sales/Takings and apply same fix to other controller to avoid similar issues in the future (#116) 2016-02-14 19:40:18 +00:00
FrancescoUK
c5ab15ca64 Revert post TRUE change for XSS filtering (#116) 2016-02-14 13:05:42 +00:00
FrancescoUK
42312bcc20 Complete tidy up of unneeded table filter id, add TRUE for XSS filtering (#116) 2016-02-13 21:49:08 +00:00
FrancescoUK
d69a3c6130 Fix tables (detailed sale report) colour for inner table (#116) 2016-02-13 21:47:10 +00:00
jekkos
d003239525 Items form bootstrapified (working in Chrome) (#116, #328) 2016-02-13 14:42:01 +01:00
jekkos
45cb6bc4f7 Merge branch 'feature/bootstrapUI' of https://github.com/jekkos/opensourcepos into feature/bootstrapUI 2016-02-13 14:14:40 +01:00
jekkos
b361d78051 Merge branch 'feature/bootstrapUI' of https://github.com/jekkos/opensourcepos into feature/bootstrapUI
Conflicts:
	templates/flatly/css/style.css
2016-02-13 14:14:30 +01:00
FrancescoUK
8438942b10 use bootstrap-datetimepicker instead of jquery-ui-timepicker-addon in Items and Takings (#116)
There is an issue with Takings filtering that needs fixing and also arrows are not showing in the datetimepicker.
2016-02-13 12:29:15 +00:00
jekkos
2be22d8e48 Migrate thickbox in items to bootstrap modal dialog (#328) 2016-02-13 13:17:29 +01:00
FrancescoUK
1be861cd8d change empty table to be alert-info instead of alert-warning (#116) 2016-02-13 11:28:12 +00:00
FrancescoUK
e0745b5109 make flatly OSPOS default, tidied up stylesheets, added bootstrap-datetimepicker js no support yet (#116) 2016-02-13 09:54:49 +00:00
FrancescoUK
792f6c4154 Remove zip file committed by mistake (#116) 2016-02-12 10:36:33 +00:00
FrancescoUK
23b086fbc2 added jasny-bootstrap-3.1.3, removed bootstrap.file-input and changed image upload in general config (#116)
For jasny-bootstrap-3.1.3 see: http://www.jasny.net/bootstrap/
2016-02-12 09:32:21 +00:00
FrancescoUK
e35bd81c8b Fix File Choose boostrap jQuery plugin not working with latest submission (#116) 2016-02-11 08:13:06 +00:00
jekkos
3f12930223 Merge branch 'feature/bootstrapUI' of https://github.com/jekkos/opensourcepos into feature/bootstrapUI
Conflicts:
	application/views/partial/header.php
	dist/opensourcepos.js
	dist/opensourcepos.min.js
	templates/spacelab/views/partial/header.php
2016-02-11 08:00:47 +01:00
jekkos
5fad0e13e8 Upgrade to jQuery 1.12.0 + regen minified js 2016-02-11 07:03:43 +01:00
jekkos
715eac28c8 Add jquery-migrate-1.3.0 (solves js issues) 2016-02-11 07:00:02 +01:00
FrancescoUK
d31e1cef8f Remove double jQuery line for file input (#116) 2016-02-10 23:35:38 +00:00
FrancescoUK
9cd31c761a Tidy up of legacy stuff (#116) 2016-02-10 23:28:18 +00:00
FrancescoUK
e99b9cbe41 Make choose file in General Configuration bootstrap (#116)
Used following jQuery plugin: http://gregpike.net/demos/bootstrap-file-input/demo.html
2016-02-10 23:27:28 +00:00
FrancescoUK
2f1d0fd4f7 Make edit item button in register bootstrap one (#116) 2016-02-10 20:37:05 +00:00
jekkos
2aae378808 Merge branch 'feature/bootstrapUI' of https://github.com/jekkos/opensourcepos into feature/bootstrapUI 2016-02-10 21:36:55 +01:00
FrancescoUK
29cdb8103f Fix to sales edit server error when customer is '' (#116) 2016-02-10 20:16:20 +00:00
FrancescoUK
2da08769b2 New icons + library for future additions (#116)
Source: http://www.elegantthemes.com/blog/freebie-of-the-week/beautiful-flat-icons-for-free
2016-02-10 18:24:45 +00:00
FrancescoUK
7a85d70139 Restore config.php comment line that somehow was cut out (#116) 2016-02-10 17:25:55 +00:00
FrancescoUK
e78d5ba461 Make empty table alert info not warning (#116) 2016-02-10 17:25:44 +00:00
FrancescoUK
5aefa2a116 Make add payment button the same style as complete sale (#116) 2016-02-10 17:25:34 +00:00
jekkos
32cbf109a4 Fix javascript minification in Grunt build
Fix config tab navigation in bootstrap (#116)
2016-02-10 17:25:19 +00:00
jekkos
d15f341f90 Trigger cachebreaker in all header.php files
Apply center-align style for barcode only on receipt
Remove obsolete tabcontent.js
Update js scritps in spacelab header (#116)
2016-02-10 17:24:49 +00:00
jekkos
b6d57a8f0e Add bootstrap 3.3.6 js file (needs jquery 1.9 minimum!)
Upgrade jquery to 1.12.0, remove older version + rebuild using grunt
Remove obsolete css for tabcontent
Remove 'custom' javascript for tabs in config module (#116)
2016-02-10 17:24:16 +00:00
jekkos
c48252790e Bootstrapify config module (#116) 2016-02-10 17:23:47 +00:00
jekkos
5c95e02eac Fix javascript minification in Grunt build
Fix config tab navigation in bootstrap
2016-02-10 08:43:01 +01:00
jekkos
b1b125d2a4 Trigger cachebreaker in all header.php files
Apply center-align style for barcode only on receipt
Remove obsolete tabcontent.js
Update js scritps in spacelab header
2016-02-09 20:02:16 +01:00
jekkos
634e626717 Add bootstrap 3.3.6 js file (needs jquery 1.9 minimum!)
Upgrade jquery to 1.12.0, remove older version + rebuild using grunt
Remove obsolete css for tabcontent
Remove 'custom' javascript for tabs in config module
2016-02-09 19:41:38 +01:00
jekkos
eee87c7bc2 Bootstrapify config module 2016-02-09 17:59:35 +01:00
FrancescoUK
c6855712d0 Change no items in cart to be info instead of warning (#116) 2016-02-08 21:38:05 +00:00
FrancescoUK
b27d94e316 Merge branch 'ci3' into bootstrapUI 2016-02-08 20:19:15 +00:00
FrancescoUK
ca8b5a75ea Merge branch 'master' into ci3 2016-02-08 20:18:25 +00:00
FrancescoUK
cb5a4c774c Add company name to top bar, change db backup style in config (#116) 2016-02-08 19:53:59 +00:00
FrancescoUK
7e269f1256 Change to bootstrap notification bars, cleanup old css files, moved styles to ospos.css, fixed ospos_print.css (#116) 2016-02-08 19:30:26 +00:00
jekkos
f9c882bf24 Fix spacing in autocomplete suggestion 2016-02-08 17:01:37 +01:00
FrancescoUK
f6356dd9e6 Fix more buttons to be bootstrap ones, fixed sales register, removed old style assets (#116) 2016-02-08 12:12:05 +00:00
FrancescoUK
d5e0230b19 Change button styles to use bootstrap standard, other fixes in style.css (#116) 2016-02-08 10:25:06 +00:00
FrancescoUK
1b0bcf4e0b Make bootstrap flatly the default ospos theme (#116)
Needs customisation on templates/<theme>/css/.. path to allow other templates to load just fecthing new css
2016-02-08 10:23:52 +00:00
jekkos
7180e7e9ed Update changelog for 2.3.4 2016-02-08 07:42:04 +01:00
FrancescoUK
09831faaf4 Fix reports listing font size (#116) 2016-02-07 23:16:54 +00:00
FrancescoUK
a5e66eabed Fix reports listing missing </div> issue (#116) 2016-02-07 23:11:27 +00:00
FrancescoUK
25f8a34b23 Change buttons in all the forms to use bootstrap button class (#116) 2016-02-07 23:04:59 +00:00
FrancescoUK
eb0cf07f4a Adjust flatly style.css (#116) 2016-02-07 23:04:44 +00:00
FrancescoUK
375f6860aa Small fix on class tags order (#116) 2016-02-07 23:04:19 +00:00
FrancescoUK
79f0961e09 Add jumbotron container to the footer (#116) 2016-02-07 23:04:01 +00:00
FrancescoUK
9ddccc6592 Fix footer overlapping last lines of the page (e.g. totals) (#116) 2016-02-07 23:03:44 +00:00
FrancescoUK
6606535fa9 remove dbbackup on logout from the two bootstrap themes (#116) 2016-02-07 23:03:18 +00:00
FrancescoUK
2ea14273b8 Merge branch 'ci3' into bootstrapUI 2016-02-07 18:07:54 +00:00
FrancescoUK
445222bcdd Merge branch 'master' into ci3 2016-02-07 18:03:44 +00:00
jekkos
40ddfdc2ab Merge pull request #319 from daN4cat/master
Remove dbbackup on logout #318
2016-02-07 15:09:02 +01:00
FrancescoUK
345d2d95d8 Remove dbbackup on logout (#318) 2016-02-05 18:42:04 +00:00
FrancescoUK
8a22f1c889 Merge branch 'ci3' into bootstrapUI 2016-02-05 17:03:57 +00:00
FrancescoUK
8d47faadd7 Merge branch 'master' into ci3
# Conflicts:
#	package.json
2016-02-05 17:01:07 +00:00
FrancescoUK
d07ed0c09f Merge remote-tracking branch 'jekkos/develop/2.4' into ci3 2016-02-05 16:57:27 +00:00
jekkos
24b4c98d94 Merge pull request #317 from daN4cat/master
Fixes to phppos to ospos 2.3.4 migration script #258
2016-02-05 17:36:16 +01:00
FrancescoUK
ea6fffc525 Add version liner so we remember which version the script works with (#258) 2016-02-05 09:06:54 +00:00
FrancescoUK
a0b422be34 Fix source script phppos_migrate.sql too (#258) 2016-02-05 09:05:57 +00:00
FrancescoUK
6599ea6678 Fix and add data copy rules. Tested script (#258) 2016-02-04 23:04:13 +00:00
jekkos
36cf19b1b9 Properly save company_name in customer form 2016-02-04 23:09:03 +01:00
FrancescoUK
9d056b2765 Remove invoice_number from phppos SQL migration script (#258) 2016-02-03 18:14:00 +00:00
jekkos
5c16c2a21a Use grep and wait for mysql to come up properly (#305) 2016-02-03 17:42:44 +01:00
jekkos
acd9beae73 Set npm package version number 2016-02-03 17:29:01 +01:00
jekkos
e598817287 Set correct version for npm package 2016-02-03 17:18:28 +01:00
jekkos
35d53e2fae Fix base url for testcases (#305)
Fix legacy ubuntu repository urls (#284)
2016-02-03 11:09:45 +01:00
jekkos
fa3d77299e Use curl to wait for apache start (#305) 2016-02-03 11:04:09 +01:00
jekkos
48a16d65e1 Fix base url for testcases (#305)
Fix legacy ubuntu repository urls (#284)
2016-02-03 10:49:20 +01:00
jekkos
89f126ab04 Use curl to wait for apache start (#305) 2016-01-31 16:03:19 +01:00
jekkos
67d9ca1e41 Merge branch 'master' into develop/2.4
Conflicts:
	Dockerfile
2016-01-29 17:34:53 +01:00
jekkos
8f9d80a809 Wait for container before running integration tests (#305)
Add integratoin test for quantity units (#305)
2016-01-29 17:24:28 +01:00
FrancescoUK
8698026e86 Fix indentation 2016-01-28 09:32:46 +00:00
FrancescoUK
ec5d0ab4f7 Merge branch 'ci3' into bootstrapUI 2016-01-28 09:31:19 +00:00
FrancescoUK
3425920cb6 Merge branch 'master' into ci3 2016-01-28 09:05:35 +00:00
jekkos
85c6da4346 Add integration test for making receiving (#305)
Update docker scripts to work with data volumes (#284)
2016-01-27 20:11:21 +01:00
jekkos
93460daadf Make 2.4 version string npm compatible 2016-01-27 11:00:18 +01:00
jekkos
574548f360 Merge branch 'master' of https://github.com/jekkos/opensourcepos 2016-01-26 20:27:58 +01:00
jekkos
847c4a67c9 Add integration test for making sale (#305) 2016-01-26 20:27:07 +01:00
jekkos
8aab154a9f Disable sudo for travis tests, omit nodejs version 2016-01-26 16:27:06 +01:00
jekkos
a3119d1993 Add integration test for creating new item 2016-01-26 08:44:48 +01:00
jekkos
0a159c803f Add testcase for creating new item
Optimise CI setup
2016-01-25 21:14:48 +01:00
jekkos
22a7231d8f Run docker container in background + launch tests once ready 2016-01-25 19:16:13 +01:00
jekkos
c36f6b603d Run docker interactively in travis script step 2016-01-25 17:53:47 +01:00
FrancescoUK
05ff49616d Retouch opensourcepos.min.js hash changed due to merge from master -> develop/2.4 2016-01-25 09:47:41 +00:00
FrancescoUK
342b889371 Merge branch 'ci3' into bootstrapUI 2016-01-25 09:44:08 +00:00
FrancescoUK
8e5b8712c0 Merge branch 'master' into ci3 2016-01-25 09:20:04 +00:00
jekkos
f063aa16a8 Launch webdriver test in docker container 2016-01-25 09:34:10 +01:00
jekkos
2520970698 Fix comment for autogenerated sql files (#301, #258) 2016-01-25 08:42:15 +01:00
jekkos
a21a825aac Merge pull request #299 from daN4cat/master
Add a live clock functionality (#298) and fix Gruntfile.js (#297)
2016-01-25 08:36:43 +01:00
FrancescoUK
d66829d62d Merge branch 'ci3' into bootstrapUI 2016-01-24 23:01:41 +00:00
FrancescoUK
f52c5b0843 Add a live clock functionality to flatly and spacelab templates (#298) (#116) 2016-01-24 22:57:13 +00:00
FrancescoUK
d48dc8b87b Merge branch 'master' into ci3 2016-01-24 22:44:45 +00:00
FrancescoUK
8f72756737 Add a live clock functionality (#298) fix Gruntfile.js (#297) 2016-01-24 22:34:05 +00:00
FrancescoUK
4fd7948987 Made flatly as default, various header adjustments, added login with bootstrap (#116) 2016-01-24 20:05:36 +00:00
FrancescoUK
e76833d364 Merge 'cpl2015/boostrapUI' into bootstrapUI (#116) 2016-01-24 11:36:06 +00:00
FrancescoUK
3cb0094dde Merge branch 'bootstrapUI' of git://github.com/cpl2015/opensourcepos into cpl2015-boostrapUI
# Conflicts:
#	application/config/theme.php
2016-01-24 11:30:05 +00:00
FrancescoUK
946c50b222 flatly header.php code reformatting (#116) (#296) 2016-01-24 10:43:56 +00:00
FrancescoUK
1dccee389d Add favicon to flatly header.php (#116) (#296) 2016-01-24 10:43:26 +00:00
FrancescoUK
875c0b31b7 Apply changes from #226 (#116) 2016-01-24 10:39:58 +00:00
FrancescoUK
8bf77e27dc Change header template (#116) 2016-01-24 10:39:58 +00:00
FrancescoUK
a51352017a Overriding view files (#116) 2016-01-24 10:39:58 +00:00
FrancescoUK
68b28a17e4 Merge branch 'master' into ci3 2016-01-24 10:38:26 +00:00
jekkos
463af45e73 Remove test run in pre_install (travis-ci) 2016-01-24 10:28:00 +00:00
FrancescoUK
4ccab6b8b5 Code reformatting (#296) 2016-01-24 10:27:41 +00:00
FrancescoUK
1849ee807c Add favicon (#296) 2016-01-24 10:27:15 +00:00
cpl2015
bd7b4a1c14 Create style.css 2016-01-24 03:04:24 +05:30
cpl2015
c20520c877 Delete style.css 2016-01-24 03:00:29 +05:30
cpl2015
35aec3c34f Update header.php 2016-01-24 02:59:08 +05:30
cpl2015
d9e18551b5 Update receiving.php 2016-01-24 02:52:22 +05:30
cpl2015
144da1ed6b Update theme.php 2016-01-24 02:34:36 +05:30
cpl2015
125ffe9f73 Create home.php 2016-01-24 02:33:51 +05:30
cpl2015
a94f32dc50 Delete home.css 2016-01-24 02:33:08 +05:30
cpl2015
8c338fc223 Create footer.php 2016-01-24 02:32:36 +05:30
cpl2015
ca764a3165 Create header.php 2016-01-24 02:31:54 +05:30
cpl2015
b58547f988 Create home.css 2016-01-24 02:30:23 +05:30
cpl2015
05fbe8b218 Create style.css 2016-01-24 02:26:20 +05:30
cpl2015
823f8f0be3 Create bootstrap.css 2016-01-24 02:24:53 +05:30
cpl2015
b40b06a18e Delete spacelab 2016-01-24 02:16:38 +05:30
cpl2015
513250cadf Create spacelab 2016-01-24 02:11:23 +05:30
cpl2015
216432f4b6 Update manage.php 2016-01-24 01:38:02 +05:30
cpl2015
2b5825f841 Update form.php 2016-01-24 01:34:59 +05:30
cpl2015
46987845b3 Update form.php 2016-01-24 01:34:12 +05:30
cpl2015
e1cead8241 Update form.php 2016-01-24 01:30:49 +05:30
cpl2015
63f72b046d Update receiving.php 2016-01-24 01:24:14 +05:30
cpl2015
3fe39bbf73 Update register.php 2016-01-24 01:19:50 +05:30
FrancescoUK
81646a00ff flatly header.php code reformatting (#116) 2016-01-23 10:08:37 +00:00
FrancescoUK
8edd6a2e49 Add favicon to flatly header.php (#116) 2016-01-23 10:05:57 +00:00
FrancescoUK
4cc3eadb97 Apply changes from #226 (#116) 2016-01-22 22:17:29 +00:00
FrancescoUK
4b9d5113d3 Change header template (#116) 2016-01-22 22:17:29 +00:00
FrancescoUK
206751de0e Overriding view files (#116) 2016-01-22 22:17:29 +00:00
FrancescoUK
4dd3c64e9d Code reformatting 2016-01-22 22:16:50 +00:00
FrancescoUK
b400393a90 Code reformatting 2016-01-22 22:14:42 +00:00
FrancescoUK
1f9cb92697 Add favicon 2016-01-22 19:14:57 +00:00
FrancescoUK
59fe366479 Add favicon 2016-01-22 19:05:07 +00:00
FrancescoUK
8eba67ceb8 Merge branch 'master' into ci3 (#284) 2016-01-22 14:57:25 +00:00
jekkos
1148ef1595 Install grunt-cli in docker container (#284) 2016-01-22 14:43:53 +01:00
jekkos
bcbdee3a50 Fix test execution for travis-ci (grunt invocation) 2016-01-22 13:37:30 +01:00
jekkos
cfbb700f0c Add symlink for node in Dockerfile 2016-01-22 13:10:23 +01:00
FrancescoUK
95f6738d5b Fix package.json version to be 2.4 (#284) 2016-01-22 11:31:13 +00:00
FrancescoUK
0cde54e985 Merge branch 'master' into ci3 (#284) 2016-01-22 08:39:24 +00:00
jekkos
a3d3cfad61 Use Dockerfile in travis-ci setup (#284)
Set version in package.json
2016-01-22 08:18:40 +01:00
FrancescoUK
b89e9c56cc Merge branch 'master' into ci3 (#284) 2016-01-21 18:38:48 +00:00
jekkos
192955b33d Fix receipt barcode generation for docker (add php5-gd lib to Dockerfile) (#284)
Make setup scripts with CI3
2016-01-21 18:30:06 +01:00
jekkos
195c8a0601 Make docker work with 2.4 branch 2016-01-21 16:23:54 +01:00
jekkos
9048d68baf Make docker work wig 2016-01-21 16:23:17 +01:00
jekkos
2b70762b7a Use ubuntu trusty for Docker container + add startup scripts (#284)
Add Grunt concatenate for sql scripts (migrate + db init) (#289)
2016-01-20 18:47:44 +01:00
FrancescoUK
de2d034377 Update database/tables.sql script with new sessions table (#120) 2016-01-19 12:00:51 +00:00
FrancescoUK
f941a45d13 Update Copyright notice (#120) 2016-01-19 11:21:08 +00:00
FrancescoUK
4280e05679 Make the data blob NOT NULL in the SQL upgrade script (#120) 2016-01-19 08:24:58 +00:00
FrancescoUK
830f714a44 Change sessions to be stored in database and add SQL upgrade script 2.3.4 to 2.4 (#120) 2016-01-18 23:01:42 +00:00
FrancescoUK
f8c9acd88f Fix to custom fields that cannot be null on Items save (#120) 2016-01-18 20:15:24 +00:00
jekkos
d67f08d842 Add (temp) fix for cur_page conuter in CI pagination libary (#120)
Fix .htaccess file
2016-01-18 19:23:44 +00:00
jekkos
72fc36c8f5 Add (temp) fix for cur_page conuter in CI pagination libary (#284)
Fix .htaccess file
2016-01-18 20:13:07 +01:00
FrancescoUK
3c22f9069b Restore padding in pagination links, now it uses css (#120) 2016-01-17 19:02:08 +00:00
FrancescoUK
c2eaf88d74 Upgrade to CI 3.0.4 (#120) 2016-01-17 18:33:26 +00:00
FrancescoUK
b72d620b15 Added comments to some controller functions and improved spacing to improve readibility of code (#120) 2016-01-17 17:56:54 +00:00
FrancescoUK
dce413631c Make NULL to be null all over the code for consistency purposes (#120) 2016-01-16 22:08:43 +00:00
FrancescoUK
5468127e2f Further review and fixes to input->post(...) (#120) 2016-01-16 22:04:12 +00:00
FrancescoUK
d66e6ab6ef Fix to items search not working due to input->post returning null (#120) 2016-01-15 22:53:09 +00:00
FrancescoUK
a3929d2c6f Merge remote-tracking branch 'jekkos/master' into ci3
# Conflicts:
#	application/config/database.php.tmpl
2016-01-15 18:57:11 +00:00
jekkos
b5cc1542b6 Merge branch 'master' of https://github.com/jekkos/opensourcepos 2016-01-13 18:58:40 +01:00
jekkos
1a77960daa Update README.md with instructions for Docker setup 2016-01-13 18:57:44 +01:00
jekkos
301fbf4427 Merge pull request #283 from ais-one/ais-one-php7-fix
php7 fixes
2016-01-13 17:59:01 +01:00
Aaron Gong
2f0666325f PHP7 Fix
Use __construct as constructor instead of Class name
2016-01-13 15:59:37 +08:00
Aaron Gong
d0c765ce20 PHP7 fix
Change driver from mysql to mysqli
2016-01-13 15:58:20 +08:00
jekkos
a1ad99cc0d Add Dockerfile. Ospos is now containerized. Pull image from
docker build -t me/ospos git://github.com/jekkos/opensourcepos.git

then run

    docker run -it me/opensourcepos

And head to port 80 to login to a new ospos install.
2016-01-13 08:45:10 +01:00
jekkos
2d0b20499e Set correct locale for Dutch (Belgium) 2016-01-11 18:53:57 +01:00
FrancescoUK
5b01e60ed2 Merge branch 'master' #274 change into ci3 2016-01-10 13:13:55 +00:00
jekkos
26ff81ab71 Generate languages for German (Swiss) #274 2016-01-09 17:29:57 +01:00
Thorsten
da3349765a Add de_CH language (by nano-riff #274) 2016-01-09 16:46:00 +01:00
FrancescoUK
b470fbfb3d Fix merge miss in constants.php (#120) 2016-01-07 20:57:57 +00:00
FrancescoUK
1f86842757 Complete CI 3.0.3 upgrade since it wasn't done in full (#120) 2016-01-07 20:16:59 +00:00
FrancescoUK
de47b11880 Remove application/errors, upgrade Step 8 (#120) 2016-01-07 19:09:53 +00:00
FrancescoUK
6b2b3969ec EXT constant deprecated, upgrade Step 20 (#120) 2016-01-07 19:09:53 +00:00
FrancescoUK
14c5a0823b Follow upgrade guideline Step 9 (#120) 2016-01-07 19:09:53 +00:00
FrancescoUK
98b5c8da28 Fix reports error due to report.php now being Report.php (#120) 2016-01-07 19:09:53 +00:00
FrancescoUK
cd7060afed Change config language to be 'en' consistent with the OSPOS language identifiers (#120)
However language support doesn't work properly at the moment.
2016-01-07 19:09:53 +00:00
FrancescoUK
0787264f71 Improve .htaccess with some security rules (#120) 2016-01-07 19:09:53 +00:00
FrancescoUK
347609d20c Upgrade config.php and database.php.tmpl to CI 3.0.3 versions (#120)
Apparently the upgrade wasn't complete.
2016-01-07 19:09:53 +00:00
FrancescoUK
0340dc7ffc Remove application/config.php and database.php (#120) 2016-01-07 19:06:35 +00:00
Toni Haryanto
d8057830c6 Upgrade to Code Igniter 3.0.3 (#120) 2016-01-07 19:06:35 +00:00
jekkos
4ddde65b41 Bump version to 2.3.4
Update dutch translation for company_name
Fix timeformat for date filtering in items module
2016-01-07 19:53:52 +01:00
jekkos
c408afad67 Cleanup migration script, mostly working now (#262) 2016-01-05 17:41:43 +01:00
jekkos
b1ba7d0afe Split up database.sql in scripts for tables and contraints.
Use both new scripts in phppos_migrate.sql
2016-01-05 07:41:49 +01:00
FrancescoUK
31a223cece Merge pull request #272 from daN4cat/master
#271 fix to error witn xampp due to a spurious "git"
2016-01-04 22:13:29 +00:00
FrancescoUK
3bd778737f #271 fix to error witn xampp due to a spurious "git" 2016-01-04 22:09:38 +00:00
jekkos
648251978e Merge pull request #270 from daN4cat/master
Fixes to #265, #267 and #269
2016-01-04 22:13:25 +01:00
FrancescoUK
240c96a185 #267 remove warning due to junk dirs being inside a language/xx one 2016-01-04 19:44:15 +00:00
FrancescoUK
810000e37c #265 do not override 404 handler in routes.php 2016-01-04 18:23:16 +00:00
FrancescoUK
6aa5126bf0 #269 fix https error issue 2016-01-04 17:55:00 +00:00
jekkos
90591382ce Further cleanup phppos migration script (#262) 2016-01-04 17:26:42 +01:00
jekkos
9e2d89c528 Show discounted price instead of discount itself on receipt 2016-01-04 17:19:50 +01:00
jekkos
1601d679fd Takings not using proper permission (#262) 2016-01-04 17:04:33 +01:00
jekkos
aa0409af48 Add phppos migration script (untested) #258 2016-01-01 17:10:43 +01:00
jekkos
ad194bd4c0 Fix typo in english translation (#260) 2016-01-01 16:46:58 +01:00
jekkos
1779685d31 Encode text before storing it as session variable (#254) 2015-12-30 08:10:14 +01:00
jekkos
51df82f35e Update WHATS_NEW 2015-12-30 07:42:27 +01:00
jekkos
bf0622d7fa Show discounted price per item line 2015-12-26 15:26:32 +01:00
jekkos
da25281df9 Show discounted price per item line 2015-12-26 15:21:54 +01:00
jekkos
2f52d083e8 Update changelog for 2.3.3 2015-12-26 13:13:47 +01:00
jekkos
eb63f49db7 Add barcode generation for EAN8 and EAN13 (#111, #246)
Add config option to use generation when generating barcodes for an
Generate propery barcode with configured format if item_number empty
2015-12-26 11:42:58 +01:00
jekkos
c007513fc8 Fix barcode generation error for empty item numbers 2015-12-13 15:57:03 +01:00
jekkos
9f5782e0ba Add validation for barcode types (#111, #246)
Fallback to code128 if invalid EAN8 or EAN13 is detected
2015-12-13 15:51:25 +01:00
jekkos
2f14a0f868 Fix typo in store language line (#247) 2015-12-13 14:15:43 +01:00
jekkos
fb924daa81 Show reoder level in items form when editing (#241) 2015-12-04 18:13:05 +01:00
jekkos
1bb9acdc37 Fix for adding/deleting stock locations (#242) 2015-12-04 18:09:51 +01:00
jekkos
16d5dfce77 Merge pull request #244 from kamaroly/master
Fixed Severity: Notice Message: Only variable references should be returned by reference Filename: core/Common.php Line Number: 257
2015-12-03 23:06:22 +01:00
Kamaro Lambert
afa203e73c Fixed error Only variable references should be returned by reference
Severity: Notice Message: Only variable references should be returned by reference Filename: core/Common.php Line Number: 257
2015-11-30 23:30:56 +02:00
jekkos
bc85391734 Submit form when hitting enter in search field for items module (#187) 2015-11-09 11:15:42 +01:00
jekkos
7c2cc9646d Don't override custom invoice numbers (#223) 2015-11-09 10:46:35 +01:00
jekkos
c0303cc873 Merge branch 'master' of https://github.com/asakpke/RoshanTech.com-POS 2015-10-20 22:01:37 +02:00
jekkos
0ddd80dc2c Regenerate thai language (#205) 2015-10-20 22:00:18 +02:00
songwutk
af582056d7 update sales_lang.csv : Thai
"sales_suspend_sale" too long in button, so change word fit.
2015-10-20 22:00:18 +02:00
jekkos
56859a77ab Fix path for jquery-ui icons (#207) 2015-10-20 13:23:20 +02:00
jekkos
ec5846e1eb Make receivings datetimepicker consistent with sales form (#169) 2015-10-18 21:37:49 +02:00
jekkos
6d5c192447 Add jquery-ui slider for datepicker #169 2015-10-17 00:22:57 +02:00
FrancescoUK
1b90ac14d2 #169 regenerate dist/ js scripts adding datetimepicker jQuery plugin 2015-10-15 19:12:50 +01:00
FrancescoUK
9c775ca44b #169 Add date and time picker to receivings/form
Some code indentation for better readibility.
2015-10-15 18:03:46 +01:00
FrancescoUK
0d87fc51d9 #169 Add a date time picker to sales/form such user can edit transaction date not in a manual manner
Needs more testing with different date & time formats and sorting out of min.js
2015-10-14 11:40:59 +01:00
jekkos
c4c7d9d792 Merge pull request #169 from marteserede/master
Fix dateformat value in SQL-Query app_config
2015-10-12 09:36:37 +02:00
jekkos
455a5f59d1 Merge pull request #199 from souparno/bug-condition-statement
if condition statement missing, may result in server error
2015-10-10 15:09:10 +02:00
souparno
9cf5d5734f if condition statement missing, may result in server error 2015-10-10 13:11:32 +05:30
jekkos
43b8d32efc Don't use empty on php expression (#196)
Signed-off-by: jekkos <jeroen.peelaerts@gmail.com>
2015-10-09 17:11:24 +02:00
jekkos
0c25b01666 Add default line endings 2015-10-09 11:43:19 +02:00
jekkos
1fd7fda645 Fix totals calculation when adding item multiple times (issue #165)
Fix typo in script comments
2015-10-09 10:24:38 +02:00
jekkos
3eb798917d Clear out empty sales and receivings comments on database upgrade
(#192)
2015-10-08 18:43:52 +02:00
jekkos
64023f6eec Avoid comments coercion to 0 when suspending sales (#192)
Invoice number in suspended sales should not be unique
2015-10-08 18:29:55 +02:00
jekkos
d8a369f39d Remove unique constriant from invoice_number column in suspended_sales 2015-10-08 18:29:55 +02:00
jekkos
98b0df9e80 Merge pull request #194 from daN4cat/master
#192 Remove 0 from comments
2015-10-07 13:11:18 +02:00
FrancescoUK
763a9e73fa #192 Remove 0 from comments
Checked in library get_comment if the string is null and return a '' if that's the case. That removes the 0 from sale comments
2015-10-07 09:37:27 +01:00
jekkos
df5a0448aa Merge pull request #193 from daN4cat/master
#192 Fix to comment not saved when suspending a Sale
2015-10-07 10:07:31 +02:00
Aamir Shahzad
76365afbd2 Added my name, ID and website in COPING 2015-10-06 22:58:37 +05:00
Aamir Shahzad
6e27b4c9ec Extra comments removed 2015-10-06 22:52:00 +05:00
FrancescoUK
a7e2ea5fa7 #192 Fix to comment not saved when suspending a Sale
The issue was that for a strange reason the comment was fetched directly from the form instead of using the sale_lib->get_comment like in the rest of the code.
2015-10-06 17:55:58 +01:00
Aamir Shahzad
986bbc9b36 Better Navigation with TAB key on Sales page 2015-10-06 03:31:57 +05:00
FrancescoUK
03f6d234bc #175 Fix inverted sorting issue 2015-09-28 22:47:16 +01:00
FrancescoUK
79361c976c Refactoring around items and sales search 2015-09-28 19:21:35 +01:00
FrancescoUK
1296f393d7 #175 Add pagination links 2015-09-28 18:24:02 +01:00
FrancescoUK
e49dd4e0b9 #179 Make Items Kit icon visible on home page
Remove the if statement that was in the end preventing any module having a _ to be displayed in the home page.
This solution is consistent with navigation bar one.

Also done some indentation in header and footer to improve readibility.
2015-09-28 13:12:22 +01:00
FrancescoUK
319545b989 #180 Fix to allowing a sale suspend before any payment
Reformatted the register code to increase readibility.
Please note that the real change is just moving the Suspend Sale button from finish_sale_form to cancel_sale_form, adding float:left style to Cancel button and changing the javascript for Suspend sale to address the correct form.
2015-09-28 08:59:22 +01:00
FrancescoUK
4a3e9ef79d #167 Limit description and serialnumber to 30 char before saving item to sale or suspended sale tables 2015-09-27 18:08:10 +01:00
FrancescoUK
e566223db9 #168 Items Kit: search by KIT id 2015-09-27 16:49:50 +01:00
FrancescoUK
22406d0c3a Merge pull request #176 from daN4cat/master
#165 Fix invoice wrong date on sale completion
2015-09-27 16:39:52 +01:00
FrancescoUK
8bb108503c #165 Fix invoice wrong date on sale completion 2015-09-25 19:02:03 +01:00
jekkos
1eb43d2a74 Merge branch 'master' of https://github.com/jekkos/opensourcepos 2015-09-24 22:02:23 +02:00
jekkos
56f7be21ae Merge pull request #171 from souparno/bug-fix-reset-database
reset database syntax contains check, so as it can be used to create…
2015-09-23 22:57:46 +02:00
FrancescoUK
ba6ecf0319 #132 Fix date range missing end date items 2015-09-23 18:04:04 +01:00
souparno
47c8d6c0bd reset database syntax contains check, so as it ccan be used to create the database for the first time 2015-09-23 21:29:17 +05:30
FrancescoUK
d9c49c1a72 #132 revert a modification in item model 2015-09-23 13:00:34 +01:00
FrancescoUK
5af7473769 #132 Set 1-1-2010 as starting date for the date range 2015-09-22 19:01:40 +01:00
FrancescoUK
aa9cd1fe6a #132 Make sure we don't show multiple times the same item given a range 2015-09-22 18:38:21 +01:00
FrancescoUK
58899ca4cf #132 Added date range in item model. Smoke test fine, more to test 2015-09-22 18:38:20 +01:00
FrancescoUK
404bc47e96 #132 Added date picker to Items manage, added date range to controller + model 2015-09-22 18:38:19 +01:00
jekkos
7dfcec394f Substitute invoice numbers on complete once again (#163, #150) 2015-09-22 18:21:19 +02:00
jekkos
0646200f6c Increase colspan for suppliers list
Multiple item kit price with quantity at hand
2015-09-22 07:40:48 +02:00
Martes Erede
2bc7b688ff Fix dateformat value in SQL-Query app_config 2015-09-22 07:17:57 +02:00
FrancescoUK
9309d7f15b Fix to COPYING file to follow correct license & copyright format (see http://mit-license.org/) 2015-09-20 21:48:23 +01:00
FrancescoUK
87153fc70e Add time ranges for quick report searches 2015-09-20 15:03:16 +01:00
FrancescoUK
ff12531b42 Revert "#159 Fixed typo in comment"
This reverts commit f18b54a758.
2015-09-20 14:54:54 +01:00
FrancescoUK
f18b54a758 #159 Fixed typo in comment 2015-09-20 09:18:57 +01:00
FrancescoUK
9a47b448ac #153 Set private internal functions 2015-09-20 09:18:03 +01:00
FrancescoUK
569bf4db69 #111 Change databse.sql barcode defaults 2015-09-19 17:52:14 +01:00
FrancescoUK
f97e02c3d4 Items: allow custom field suggestion and search if checkbox is ticked 2015-09-19 17:46:28 +01:00
FrancescoUK
893345d334 #111 Change barcode types from numbers to strings for better code readability 2015-09-19 17:44:43 +01:00
FrancescoUK
80fcede1ca #152 Remove Alain name and add it to the COPYING under the Copyright section 2015-09-19 17:40:00 +01:00
FrancescoUK
461de2f048 #162 fix further issues due to cost & retail prices added to the table 2015-09-19 15:23:16 +01:00
FrancescoUK
4106378a6c Changed CONCAT and use of " & ' 2015-09-19 13:19:49 +01:00
FrancescoUK
dfb556b27b Fixed typo in comment 2015-09-19 12:43:08 +01:00
FrancescoUK
41607c23bd Fix to #161 when searching a Kit by name in Sales 2015-09-19 12:38:21 +01:00
FrancescoUK
a29b8c2a62 Added Kit prices to table view and barcode #162
Some spacing and retouching here and there.
2015-09-19 12:05:44 +01:00
FrancescoUK
dc45b77573 Fix to Gift card totals issue #159
Various indentation adjustments
2015-09-19 09:22:24 +01:00
FrancescoUK
ad948ac81e Fix to rebase/merge mistake with Barcode_lib 2015-09-18 18:05:43 +01:00
FrancescoUK
eee7f137ef Fix to rebase/merge mistake with Barcode_lib 2015-09-18 18:33:32 +02:00
jekkos
2237c332b9 Derive barcode id from item array 2015-09-18 18:33:22 +02:00
FrancescoUK
d5cf608bac Fix to #152 remove name of people from code comment and add them to COPYING license file 2015-09-18 18:33:22 +02:00
FrancescoUK
96973da280 Item kits issue #155 fix
Added Kit Id column to table view
2015-09-18 18:33:22 +02:00
FrancescoUK
bca4386aed Fix to sale and receiving receipt barcode 2015-09-18 18:33:22 +02:00
FrancescoUK
27f89a63be remove the - from language/id/common_lang.php 2015-09-17 22:00:06 +02:00
FrancescoUK
3f5d0b781b Fix to $lang["common_last_page"] issue #156 2015-09-17 22:00:06 +02:00
FrancescoUK
0984cdbfc4 Fix to sale and receiving receipt barcode 2015-09-17 22:00:06 +02:00
FrancescoUK
c48106f2f5 Fix items view search issue having a ' in the string. Bug #149 2015-09-17 21:59:34 +02:00
jekkos
e1ddcbbb5b Rename Item_quantities model to Item_quantity
Rename Stock_locations model to Stock_location
Fix barcode generation in receipts (sales + receivings)
2015-09-17 21:59:33 +02:00
FrancescoUK
2b7ceb4228 Move Print button in sale/manage (Takings) to top right 2015-09-17 21:59:33 +02:00
jekkos
3c89416b83 Update languages 2015-09-15 23:21:59 +02:00
jekkos
290aee4671 Merge branch 'patch-13' of https://github.com/songwutk/opensourcepos 2015-09-15 23:01:10 +02:00
FrancescoUK
10ea821b2a Leave item_number empty if Code39/128 is selected
Added Empty UPC checkbox in Items view to easily select empty items that need barcode code generation and in case of EAN8/13 fill in item_number
Added language for Empty UPC string
Indentation/spacing adjustment
2015-09-15 17:49:51 +01:00
FrancescoUK
cf0276c772 If item_number (UPC/EAN/ISBN) is empty and a new barcode is generated save it in the item_number field and update the item entry
Refactoring of barcode_lib
Some code alignment adjustment here and there
2015-09-15 11:13:58 +01:00
FrancescoUK
8f2740d349 Centred barcode image
Moved $data to base class and added getData
Fixed indentation
2015-09-14 23:20:20 +01:00
FrancescoUK
eb71dbc300 Fix EAN 13 typos + set pix per bar
Add EAN 8 support
2015-09-14 23:20:19 +01:00
FrancescoUK
68915dd28c Ean13 code generation implementation 2015-09-14 23:20:19 +01:00
FrancescoUK
93d8775ac5 Remove extra comma from end of array 2015-09-14 23:20:18 +01:00
FrancescoUK
807d48ac7b Add EAN13 in Barcode lib
Sketched EAN13 class code
Fix typo
2015-09-14 23:20:17 +01:00
FrancescoUK
79fd666bff Add Ean13 file and class
Fixed typos
2015-09-14 23:20:16 +01:00
FrancescoUK
393ac9bb97 Fixed some minor issues 2015-09-14 23:20:15 +01:00
songwutk
ac95e1f7d8 Update common_lang.csv
Fill thai blank topic.
2015-09-14 16:30:40 +07:00
jekkos
c843c174ed Initialize table sorting if this didn't happen when the page was loaded
initially (#139)
2015-09-14 08:26:41 +02:00
jekkos
d6f052f082 Add default translation in other languages as well (#142) 2015-09-12 20:55:54 +02:00
jekkos
a78ef2fb08 Merge branch 'master' of https://github.com/marteserede/opensourcepos 2015-09-12 20:16:46 +02:00
Martes Erede
4cbbd3a6f7 [#32] using to_currency for currency values in table-data 2015-09-11 16:16:34 +08:00
Martes Erede
4a8c3a83b3 [#32] adding new language-strings and running generate_languages.php 2015-09-11 15:59:27 +08:00
Martes Erede
308be8079f [#32] improving the inventory summary report, including total inventory value 2015-09-11 15:58:57 +08:00
jekkos
335ced948e Remove unneeded fields from sales_temp table 2015-09-09 23:20:31 +02:00
jekkos
b41a006a79 Fix duplicated payment amounts (#136) 2015-09-09 23:09:28 +02:00
jekkos
506aced23e amount_due and change_due were incorrect if multiple items in sale
(#136)
2015-09-09 19:25:44 +02:00
jekkos
e9ea2ba792 Create temp table when necessary 2015-09-07 22:53:19 +02:00
jekkos
2c5f3ee759 Add grunt-cache-breaker plugin (#137)
Fix tax inclusive pricing for daily sales overview (#136)
Fix table sorting when using search in daily sales overview (#131)
2015-09-07 22:15:41 +02:00
jekkos
b680cdff36 Fix table sorting after loading search results 2015-09-07 08:35:59 +02:00
jekkos
80f7966d1c Add default dateformat and timeformat in data scripts 2015-09-06 15:53:11 +02:00
jekkos
e62df579f1 Keep last row in position even after filtering 2015-09-06 13:33:12 +02:00
jekkos
2b6b3914a7 Mark totals row as static (keep it at bottom of the table issue #131) 2015-09-06 13:19:32 +02:00
jekkos
756b675e2b use configured dateformat for jquery ui date parser
disable sorting on columns 0 and 9 (no data there)
default sorting enabled on column 1
2015-09-05 15:05:20 +02:00
jekkos
1d65ceaccf Merge branch 'master' of https://github.com/daN4cat/opensourcepos 2015-09-05 09:52:48 +02:00
jekkos
0c92cc661f Remove date field type for filters 2015-09-05 09:52:30 +02:00
FrancescoUK
c87a936e22 Fix language issue 2015-09-04 23:24:53 +01:00
FrancescoUK
c041a18624 Added Print button to print the current view 2015-09-04 22:51:12 +01:00
jekkos
ac3aab51fa Fix payment summary update on search 2015-09-04 23:35:23 +02:00
jekkos
9281995029 Fix payment summary update on search
Merge branch 'master' of https://github.com/daN4cat/opensourcepos into daN4cat-master
2015-09-04 23:14:06 +02:00
jekkos
f36c700129 Add date filtering in sales overview
Add jquery-ui datepicker
Format dates in sale and receiving forms according to configured
dateformat and timeformat settings
Add missing translations in sale (click delete when not selecting
anything)
Add search box back to search for customer sales and ticket numbers
2015-09-04 22:09:24 +02:00
FrancescoUK
d35ef071bb - Added cash only filter
- Set to 'all' the sale_type so even returns are shown (we might want to add a drop down filter for this too)
2015-09-04 19:30:43 +01:00
FrancescoUK
852f83a8f6 Rename Overview to be Takings (normally used word in retail world) 2015-09-04 10:31:02 +01:00
FrancescoUK
7bbd651779 Remove commented out lines 2015-09-04 10:11:02 +01:00
jekkos
a624d21fcd Fix sale detail edit
Make last row in sale table bold (css)
Add default date range between yesterday and today
Temporarily comment out payment type listing in table itself (tbd)
2015-09-04 08:44:20 +02:00
jekkos
9a2cafc1b1 Review payment type overview
Add some padding to bottom of content area
Fix invoice only searching
Make start and end dates optional
2015-09-03 23:35:57 +02:00
FrancescoUK
b226a40efc Make Gift Card one payment item and not multiple ones in Sale/Overview and in Summary Payment report.
Fixed also the colspan and set to 10.
2015-09-03 19:18:15 +01:00
FrancescoUK
0b8a263443 Sale Overview change:
- set today as view date and comment out the debug dates
2015-09-02 23:22:44 +01:00
FrancescoUK
75fa706299 Sale Overview change
- Refactor and optimise payments part (added now amount to detail sale report too)
- fix some </tr> that should have been </td>
- minor indentation fixes

NOTE: The only_invoices checkbox is not responsive
2015-09-02 23:16:26 +01:00
FrancescoUK
c88f37f8e7 Change Sale Overview to become a daily takings view with totals. 2015-09-01 23:37:26 +01:00
jekkos
3e24b9caff Remove non working datepicker icon
Remove in_array check for duplicated company_name
2015-08-24 21:52:41 +02:00
jekkos
517363b485 Fix deleted checkbox in items form
Clear suggestion cache when toggling deleted filter
2015-08-18 18:10:00 +02:00
jekkos
011caf375f Apply is_deleted in item suggestion search 2015-08-18 08:35:21 +02:00
FrancescoUK
9f1485cfe5 Added Cost & Count to reports, improved Items suggest, added copyrights and some fixes
Added cost and count to reports

- Added cost in temp table, reports at bottom of page and in each
summary and detailed report
- Added count in all the reports
- Renamed some report fields name to make it generic and consistent
across views
- Fixed few issues here and there
- Adjusted some code indentation

NOTE: Proper translation of word Cost is required in all the languages
but English

Improved Items suggestion

- Added select to restrict results fields
- Added distinct in suppliers instead of the array match
- Added $is_deleted in model part but is not still effective

Add copyright statements in COPYING license file

- Added jekkos and FrancescoUK / daN4cat

Other people that contributed should add their statements.
2015-08-17 11:13:04 +01:00
jekkos
0336fe6298 Stop showing duplicate suggestions for company_name 2015-08-16 15:52:25 +02:00
jekkos
4ab2ec1b5b Add supplier attribute search for items (pull request #106)
Add company name to supplier column in summary report
2015-08-16 15:41:39 +02:00
jekkos
eb3657e76f Fix upgrade script (2) 2015-08-13 22:53:52 +02:00
jekkos
61206547cb FIll in empty location_ids for existing data 2015-08-12 15:10:08 +02:00
songwutk
9ae6e3242b Update Thai translate (Pull requests #98, #99, #100, #101, #102) 2015-08-11 18:49:28 +02:00
jekkos
7f5fe9efde Upgrade grunt-mocha-webdriver 2015-08-10 15:32:00 +02:00
jekkos
9e189a503e Merge pull request #105 from gabrielperezs/master
Solved to issues in this request. Spanish support, and temp table creation.
2015-08-10 11:03:58 +02:00
Gabriel Pérez S
da41aec0d1 Spanish traslation 2015-08-10 10:26:11 +02:00
Gabriel Pérez S
03b9924d57 Create table if not exists 2015-08-10 10:14:03 +02:00
jekkos
87222611e6 Remove duplicated last name for suppliers 2015-08-10 09:30:01 +02:00
FrancescoUK
cc06d93d30 Remove LICENSE file (use COPYING now instead)
Update agency_name constraint in update script
Show supplier_id in suppliers for use with item excel import
2015-08-09 12:01:09 +02:00
jekkos
7926a05948 Regenerate language files
Remove committed merge conflict in giftcard_numbering.js
Add sql upgrade script for 2.3.3
2015-08-07 17:17:53 +02:00
FrancescoUK
d7ff4a371c Fix to the License naming clash issue
- Instead of LICENSE used COPYING (it's accepted see:
http://www.theregister.co.uk/2013/04/18/github_licensing_study)
- removed license.txt inside license dir to avoid unnecessary
duplications or clash of license of the ospos code. COPYING is anyway a
rename of LICENSE that was a newer version than the one in
license/license.txt
2015-08-07 15:02:15 +02:00
FrancescoUK
aa144b43eb Fixed invoice date bug
The invoice date was not showing the correct date and neither following
the selected format
2015-08-07 15:02:15 +02:00
FrancescoUK
f806ea84b3 Update to Suppliers feature
- added Agency name to identify agent or distributor behind a brand
- updated view to show supplier ID useful for item imports via excel
sheet
- update database table
- updated language although missing translations
- various bit an pieces missing due to failed rebase
2015-08-07 15:02:15 +02:00
jekkos
17ac5b1837 Bump version number to 2.3.3 2015-07-25 12:03:04 +02:00
FrancescoUK
8bcd2a69dc Add better locale config support (pull request #93)
I've added in this commit the following:

- the means to configure date and time format
- date and time is shown with the selected formats
- a locale tab in the configuration page
- changed location tab to be stock tab and the same for the file names
- translation strings (only English) for the case

NOTE 1: Not related to Locale support but I removed an extra <div
class="field_row clearfix"> from general_config.php

NOTE 2: There is no rules in the submit checks of Locale. Probably this
is something to iron out a bit

NOTE 3: It would be probably nice to add a button in the Locale tab to
regenerate all the translation files in case somebody updates the
translations .csv

Fixed Local config

- Removed text in Red as really not mandatory configuration
- Added time format in 24h and 12h

Updated General Config tab

- reorganised the layout grouping things like company info, taxes and
invoice formating
- increased the limit of max lines per page to 1000 because 50 is too
little. People can do what they want with up to 1000
2015-07-25 12:02:10 +02:00
jekkos
e0f80528f4 Fix report generation regression 2015-07-15 18:14:58 +02:00
jekkos
491d8d0b72 Increase testcase delays
Keep keys order when reversing array for stock location options
2015-07-14 18:17:54 +02:00
jekkos
80dcc2f63f Increase waiting timeout for phantomjs test
Revert old database script
Add styling rules for number typed input fields
2015-07-14 12:36:43 +02:00
jekkos
92da2749ad Adapt report summary to chosen stock location
Update release notes
2015-07-13 18:39:50 +02:00
jekkos
83a297cf15 Add stock location as filter to detailed sales + receivings reports 2015-07-10 19:04:52 +02:00
jekkos
70b7a03c63 Show item location next to quantity purchased in detailed receiving and
sale report
Remove duplicate suggestions in sale and receiving module
Show item location on receipt if multiple are configured
Check if item location is allowed when adding items in sale or receiving
2015-07-08 21:41:41 +02:00
jekkos
b1f1feda48 Show alternative description on invoice only if not empty 2015-07-01 08:29:53 +02:00
jekkos
48fe4aa4cf Show item alternative description if available
Show sale instead of customer comments on invoice
2015-06-30 23:08:56 +02:00
jekkos
0788f4eef9 Set precision to 5 decimals (constants.php)
Show item description if serialized (invoice.php)
2015-06-28 14:20:39 +02:00
jekkos
fc5f097820 Add proper validation for module grants (issue #87) 2015-06-23 23:32:56 +02:00
jekkos
df7907fb8f Don't lose date precision when editing sale or receiving
Extend date validator to allow timestamps as well (sale + receiving)
Fix receiving edit
2015-06-20 20:58:41 +02:00
jekkos
46b5c18aca Add receiving_quantity field to ospos_receivings (issue #78)
Detailed receiving now correctly shows purchased quantity
2015-06-20 14:59:37 +02:00
jekkos
5c1ecf4618 Update .gitattributes with merge strategy for specific files 2015-05-25 13:28:03 +02:00
jekkos
ccc2af2a26 Show tax exclusive subtotal in case of tax inclusive pricing 2015-05-23 16:51:42 +02:00
jekkos
872d6857cd Add decent delay for waitForElement in wd test 2015-05-22 23:29:25 +02:00
jekkos
658792c1fc Fix invoice return 2015-05-22 19:26:56 +02:00
jekkos
4a324fbf4c Fix inventory update on deleting sale (issue #80) 2015-05-22 19:26:56 +02:00
jekkos
97d268e323 Tax summary report calculation fixes 2015-05-22 07:54:07 +02:00
jekkos
ca05583ec3 Merge branch 'master' of https://github.com/jekkos/opensourcepos 2015-05-21 22:12:50 +02:00
jekkos
7d0a6dc7ae Merge branch 'feature/travis-ci' 2015-05-21 22:12:30 +02:00
jekkos
3ba3a3dea0 Merge branch 'travis-ci-setup'
Conflicts:
	test/login.js
2015-05-21 22:10:28 +02:00
jekkos
1ad08c014f Fix giftcard numbering issue #65 2015-05-21 22:00:33 +02:00
jekkos
3936f2dcf3 Add giftcard numbering test 2015-05-20 18:35:10 +02:00
jekkos
fcc71a5f74 Sale reporting now takes tax inclusive pricing into account 2015-05-19 22:44:03 +02:00
jekkos
46f6824199 Fix rounding issues with tax inclusive pricing
Add autocomplete in return mode
2015-05-19 20:46:42 +02:00
jekkos
7c0f884872 Remove trailing space (issue #76) 2015-05-19 09:40:30 +02:00
jekkos
15493ae58e Set correct url 2015-05-17 22:36:00 +02:00
jekkos
ac7c0241e5 Merge pull request #79 from nalamapu/patch-1
Update general_config.php
2015-05-17 21:44:32 +02:00
A.K.M. Nurul Alam
fd933e3ed6 Update general_config.php
'Comma' is the original spelling in English.
2015-05-16 12:14:21 +06:00
jekkos
6a2a5278b8 Fix general test setup (finally)
Add basic selenium test for application login
Adapt default database template file
Add correct db settings for travis-ci
2015-05-15 00:47:25 +02:00
jekkos
687d4c06c6 Fix general test setup (finally)
Add basic selenium test for application login
Adapt default database template file
Add correct db settings for travis-ci
2015-05-15 00:45:55 +02:00
jekkos
19f7c6aa57 Initialize mysql on travis 2015-05-13 00:14:11 +02:00
jekkos
ccf1a6209f Set travis.yml language to php (node should be default) 2015-05-12 23:44:43 +02:00
jekkos
4db6f28c76 Try to fix php-fpm absence (3) 2015-05-12 22:26:37 +02:00
jekkos
3e08ec99a5 Try to fix php-fpm absence (2) 2015-05-12 13:59:08 +02:00
jekkos
4142f0fc71 Try to fix php-fpm absence 2015-05-12 13:53:16 +02:00
jekkos
1d9a0bc8b6 Add travis-ci-apache 2015-05-12 13:52:32 +02:00
jekkos
a58510c541 Add apache2 + mysql setup for travis 2015-05-12 13:46:34 +02:00
jekkos
b2a37b7ded Add category column again 2015-05-01 12:11:49 +02:00
jekkos
69528baa21 Merge pull request #60
Update common_lang.csv

Spanish translation to CSV files. Spanish translation updated - xepaez 20150424

Added translation labels missing in CSV import forms.
2015-04-27 19:07:28 +02:00
jekkos
c5defaab35 Empty person_id field in giftcard edit if id is null 2015-04-27 19:07:28 +02:00
jekkos
af7910a6a8 Show giftcard number instead of id in edit form 2015-04-27 19:07:28 +02:00
jekkos
86eb397866 Enable sorting on giftcard number
Add default stock permissions for sales and receivings in upgrade script
2015-04-27 19:07:28 +02:00
jekkos
9b1785df01 Correct obvious punctuation error in item form.php 2015-04-27 19:07:28 +02:00
jekkos
8f09a32ef5 Correct latest alter table statements for 2015-04-27 19:07:28 +02:00
jekkos
c6d9a8a994 Show correct quantity in item form
invert ternary condittions to show correct quantity at any time
2015-04-27 19:07:28 +02:00
jekkos
54855849b3 Show item number in order report
Conflicts:

	application/controllers/reports.php
	database/database.sql
2015-04-27 19:07:28 +02:00
jekkos
7a9590359e Fix currency symbol when no dollars are chosen 2015-04-27 19:07:28 +02:00
jekkos
11eed40718 Update receivings.php
clear invoice number when changing receive mode
2015-04-27 19:07:28 +02:00
jekkos
bc7eeb5d30 Do not clear session state when switching sale or receiving modes
Set receiving quantity and discount validation to numeric instead of
integer
2015-04-27 19:07:27 +02:00
jekkos
4916f98bcb Fix currency symbol when no dollars are chosen 2015-04-14 13:04:46 +02:00
jekkos
c85dd1660e Add .idea folder to .gitignore 2015-04-13 18:21:15 +02:00
jekkos
08c0c2c63f Giftcard remaining balance is always shown in cash register
Giftcard person_id is optional now
Add some extra translations for giftcard warnings

Conflicts:

	database/2.3.1_to_2.3.2.sql
2015-04-09 18:28:57 +02:00
jekkos
81c24d7151 Do not clear sale and receiving libs when switching modes 2015-04-09 18:28:57 +02:00
jekkos
3d62a73c8c Report subpermission labels are shown properly in employee form now
Fix logic to show correct report subpermissions
2015-04-09 18:28:53 +02:00
jekkos
b8fba91244 Show tax names and amounts in invoice and invoice_email views
Fix invoice numbering for $YCO after update
2015-04-09 18:28:23 +02:00
jekkos
80dbe6efa7 Company name can be DEFAULT NULL in database 2015-04-09 07:18:50 +02:00
jekkos
3f46f1aca9 Merge branch 'master' of https://github.com/jekkos/opensourcepos 2015-04-08 21:56:18 +02:00
jekkos
26fddcf8d4 Add custom repository for grunt-script-link-tags 2015-04-08 13:47:16 +02:00
jekkos
7a4df2a050 Fixup db script 2015-04-07 19:13:45 +02:00
jekkos
de3d7ce726 Add new language line for check_remainder 2015-04-07 19:10:46 +02:00
jekkos
4ffc5351af Add customer as a required field for giftcard
Show giftcard remainder if at least one payment is done using giftcard
2015-04-07 17:28:44 +02:00
jekkos
3f14c51c97 Update travis.yml 2015-04-06 16:55:46 +02:00
jekkos
e9b4e57c06 Add company_name column to ospos_customers 2015-04-06 15:47:38 +02:00
jekkos
70bb02c753 Change button order (default is submit now) 2015-04-06 15:45:49 +02:00
jekkos
6f7090d7ba Upgrade jquery.color
Conflicts:

	dist/opensourcepos.js
	dist/opensourcepos.min.js
2015-04-06 15:42:57 +02:00
jekkos
43ecda44e0 Receipt totals layout improvement (show top border when no discount or
tax section present)
Remove unexistant script include from invoice_email template
2015-04-06 15:38:52 +02:00
jekkos
04abb716fa Merge branch 'master' of https://github.com/jekkos/opensourcepos
Conflicts:
	dist/opensourcepos.min.js
2015-04-06 15:16:43 +02:00
jekkos
95ae2766cd Giftcard get_all parameters were in opposite order
Invoice layout improvements
2015-04-06 15:15:40 +02:00
jekkos
f45f75e458 Add functionality to keep item edit form open for easier working (in
sales, receivings and items module)
Refactor duplicated custom field code in item form
2015-04-06 15:15:40 +02:00
jekkos
b85b9d37a1 Add company_name field to customers for invoicing purposes
Total discount is now shown as one amount in receipt

Conflicts:

	application/controllers/sales.php

Conflicts:

	database/migrate_phppos.sql
2015-04-06 15:15:34 +02:00
jekkos
ebd473ea11 Update README.md
Add build status to Readme.md
2015-04-06 15:15:20 +02:00
jekkos
7d7ee83ef4 Add test folder + basic unit test setup
Add grunt mochaWebdriver plugin for phantomJs test

Conflicts:

	.travis.yml
	dist/opensourcepos.min.js
2015-04-06 15:15:14 +02:00
jekkos
27c6f275d1 Set focus to scan field when refreshing receivings module 2015-04-06 15:13:42 +02:00
jekkos
39edf5ccdb Add basic unit tests 2015-04-06 15:13:36 +02:00
jekkos
90c4df7f2a Update README.md
Add build status to Readme.md
2015-04-01 00:01:19 +02:00
jekkos
ae99555fec Add test folder + basic unit test setup
Add grunt mochaWebdriver plugin for phantomJs test
2015-03-31 23:58:05 +02:00
jekkos
8ff742085a Multiple total disconuts are shown correctly now 2015-03-31 21:56:44 +02:00
jekkos
86bf8866f0 Do duplicated cookie check before echo'ing output in items (fix for #49) 2015-03-31 16:33:29 +02:00
jekkos
a8f353de9c Add constraint for trans_location foreign key
Use Code128 for receipt barcodes in sales and receivings
2015-03-31 15:05:30 +02:00
jekkos
9b98f15f69 Receiving cancel delete should work now (confirm result was ignored)
receivings_items will now store the correct quantity_purchased when
using a value > 1 for receiving_quantity
Receiving delete message corrected
2015-03-30 16:37:26 +02:00
jekkos
138d1cbeef Remove duplicated click handlers on add/remove location 2015-03-26 13:00:08 +01:00
jekkos
9ead6fcca9 Add mochaSelenium config in Gruntfile (tests not running yet) 2015-03-20 13:50:14 +01:00
jekkos
ced5ca4e2e Make invoice numbers more consistent 2015-03-17 18:05:43 +01:00
jekkos
ca2c9a6ae4 Item refresh fix for issue #42
Invoice number in email message are denoted with $INV
Sale id's in email message are denoted with POS $sale_id
2015-03-17 17:41:12 +01:00
jekkos
cae9d3b67e Remove tags:css task in Grunfile (css files are imported the old way
again)
Fix sale delete confirmation in edit dialog
Add bower.json (still unused)
Fix autogenerated javascript load order
2015-03-17 16:47:49 +01:00
jekkos-t520
aa65593ce3 Add Gruntfile.js for concat+uglification of javascript
Enable debug=true cookie for full source inclusion in header.php
Add template in header.php to inject generated javascript files
2015-03-15 16:56:37 +01:00
jekkos-t520
c10860a005 Intercept pagination link click when search field is empty and filtering
checkboxes are set
2015-03-11 08:36:20 +01:00
jekkos-t520
a39e12e76d Externalize nominatim autcomplete functionality
Add chosen language to nominatim request
2015-03-10 14:37:36 +01:00
jekkos-t520
b29cb85b9b Add ticket suggestions for #40 2015-03-07 22:41:03 +01:00
jekkos-t520
6faaec53d6 Fix duplicate item suggestion issue #38
Fix return ticket suggestion issue #38
Fix discounted_total after hitting edit in sales register
2015-03-07 21:55:15 +01:00
jekkos-t520
b29ec8ef31 Fix show discounts functionality
Review tax price calculations
Remove tax exclusive price in invoice.php template
2015-03-07 19:35:13 +01:00
jekkos-t520
4ac1a943eb Update totals calculation
Update tax inclusive calculation
2015-03-06 00:58:44 +01:00
jekkos-t520
0e357f14f6 Add option to show total discounts on receipt 2015-03-05 08:28:58 +01:00
jekkos-t520
e0fd35220e Add custom search back into items
Fix proper pagintaion for filtered item views w/o search
2015-03-04 20:53:38 +01:00
jekkos-t520
ffb8501276 Fix custom search 2015-02-27 16:03:52 +01:00
jekkos-t520
8981efbd2a Fix error in database script
Add script to reset database easily (with root user)
Remove old git-svn script
2015-02-26 22:08:14 +01:00
jekkos-t520
b2f76f3fe6 Improve thai translation (Merge Pull Request #20)
Improve login screen
2015-02-26 21:55:55 +01:00
jekkos-t520
98cae8928b Cleanup table encoding + auto_increment
Conflicts:

	database/database.sql
2015-02-26 14:38:13 +01:00
jekkos-t520
b02b16b63e Only show company name in supplier's dropdown 2015-02-25 13:30:18 +01:00
jekkos-t520
81cb46bb8b Add router for sales overview 2015-02-25 13:30:18 +01:00
jekkos-t520
b11bf919af Automatically resize report columns
Remove text-transform for invoice header
2015-02-25 13:30:17 +01:00
jekkos-t520
9ee63294a4 Make report table headers resizable
Add suffix to pagination url (so extra filters can be maintained)
2015-02-25 13:30:17 +01:00
jekkos-t520
dbddb34ed4 Receipt total is recalculatd after edit now
Some css improvements for receipt printing
Adaptation of one or more labels
2015-02-25 13:30:17 +01:00
jekkos-t520
71c9294978 Giftcard customer selection cleanup 2015-02-25 13:30:17 +01:00
jekkos-t520
1226d217a6 Pagination search limit_from fixes (add limit_from hidden fields) 2015-02-25 13:30:17 +01:00
jekkos-t520
3204391521 Always show name instead of description (twice) 2015-02-25 13:30:17 +01:00
jekkos-t520
40ebba4252 Improve table layout a bit (change header sizes) 2015-02-25 13:30:17 +01:00
jekkos-t520
9351a263ee Review sales overview pagination (use generic intialisation in
secure_area.php)
2015-02-25 13:30:03 +01:00
jekkos-t520
cb1075e6c0 Remove sale_type parameter from get_detailed_sales and
get_detailed_receivings methods
2015-02-24 10:22:19 +01:00
jekkos-t520
33cf0422a7 Make javascript selector more specific 2015-02-24 09:21:03 +01:00
jekkos-t520
bd54a180d5 Remove location field from bulk edit 2015-02-24 08:55:44 +01:00
jekkos-t520
b752ec9952 Fix item bulk update 2015-02-24 08:51:09 +01:00
jekkos-t520
e688a24326 Fix sale suspend (redundant payment_type field was removed)
Gender is now properly saved in suppliers module
2015-02-24 08:10:53 +01:00
jekkos-t520
468b3e3580 Fix item_number barcode generation for item kits
Fix supplier pagination
2015-02-22 00:04:47 +01:00
jekkos-t520
e96dd7883e remove count_all
fix pagination row counts for modules
2015-02-21 23:58:31 +01:00
jekkos-t520
8e221033bf Add label for products on low inventory (items filtering)
Add stock location to method call for items pagination
Move item pagination links
2015-02-21 22:35:28 +01:00
jekkos-t520
17594f95f1 Add lines per page option
Add default sales discount option
Fix supplier pagination
2015-02-21 21:57:41 +01:00
jekkos-t520
9e427485f3 Fix items module filtering
Fix double to_currency wrapper for amount_change in receipt
Fix tablesorter js error with empty tables
Upgrade tablesorter.js to latest version
Adapt some labels for dutch
2015-02-21 18:05:12 +01:00
jekkos-t520
c389e6030c Fix pagination for all modules (links updated for index+search through
AJAX)
2015-02-20 17:36:03 +01:00
jekkos-t520
0f77300131 Sales overview added to register screen
Add pagination to default search routine
Remove payment_type column from sales table (was redundant)
Fix search spinner location (just toggle ac_loading class)
Complete sale labels
2015-02-20 15:54:13 +01:00
jekkos-t520
9856f0bc65 Add invoice dom sanity check before print 2015-02-20 09:25:31 +01:00
jekkos-t520
378d45691b invoice printer field greyed out if jsPrint addon is not installed 2015-02-20 09:22:21 +01:00
jekkos-t520
e7f9f29cd3 Create invoice checkbox was inverted 2015-02-19 18:15:35 +01:00
jekkos-t520
babddd524c Refactor variable substitution for receiving invoice numbers
Use localStorage to store selected printer
Add printer selection for invoice template
Print after sale checkbox is now present in receivings and sales screen
Remove print after sale options from receipt_config
Add default translations to receivings_lang.csv
Fix some bugs preventing to print and email at the same time
2015-02-19 18:10:31 +01:00
jekkos-t520
6ff19cb3f3 Merge branch 'feature/invoice_template' 2015-02-19 16:11:57 +01:00
jekkos-t520
42c30bf30b Invoice PDF generation working properly
PDF's can be sent as mail attachment
2015-02-19 15:32:16 +01:00
jekkos-t520
50006aeb6a Email pdf generation
Added invoice template
Add latest dompdf release
2015-02-18 18:18:09 +01:00
jekkos-t520
8edff136d0 Show company name on receipt when no logo is set 2015-02-18 08:53:18 +01:00
jekkos-t520
f6fb275dff Fix stock permission names (no more empty labels) 2015-02-18 07:42:20 +01:00
jekkos-t520
4025883765 show taxes was reversed 2015-02-18 00:16:18 +01:00
jekkos-t520
b9b8e2b4e5 remove php shorthand tags (incompatibility across installs) 2015-02-17 23:06:24 +01:00
jekkos-t520
13f6640576 Add show taxes checkbox value (state was not persisted)
Disable printing options when unchecking print after sale
2015-02-17 22:58:10 +01:00
jekkos-t520
aa969273db Disable config fields that require addon when this one is not enabled
Obey to user confirm outcome to save config or not
Fallback to window.print when addon is not installed (as it was
previously)
2015-02-17 17:08:46 +01:00
jekkos-t520
a809807288 jsPrintSetup plugin integration
All receipt print configuration options present now
2015-02-17 16:46:57 +01:00
jekkos-t520
2a07bbaef9 Merge branch 'master' into feature/receipt_config 2015-02-17 12:40:59 +01:00
jekkos-t520
4bc1d87782 Fix reports listing (listing itself was based on empty labels) 2015-02-17 12:39:32 +01:00
jekkos-t520
6710112f3d Change to bc-style operations for totals calculation in receivings 2015-02-17 12:20:53 +01:00
jekkos-t520
7ec4c21587 Merge branch 'master' into feature/receipt_config 2015-02-17 12:20:33 +01:00
jekkos-t520
9b61e0ad67 Add proper location id for 0 quantities 2015-02-17 11:14:28 +01:00
jekkos-t520
40eef74aa0 Adapt load_config hook to fallback to english if no valid language is
present
Move CI system language files back to their correct location
(form_validation_lang)
Add upload_lang.php and email_lang.php to system files (default english
version for the time being)
Add account_number check when importing customer data from excel
Avoid unnecessary calls to check_item_number when importing items from
excel
2015-02-17 11:06:28 +01:00
jekkos-t520
c7c4ac15d6 Set update_row response datatype to html
Remove MY_Validation override (not needed anymore)
Add jquery validation check for account_number
2015-02-17 09:03:47 +01:00
jekkos-t520
cf2ca1e6c7 Start receipt rework 2015-02-17 09:01:56 +01:00
jekkos-t520
9d0fb43fb1 add file extension to company logo filename 2015-02-15 12:53:56 +01:00
jekkos-t520
99c37ad9a7 Show real giftcard remainder on receipt (fix) 2015-02-12 15:51:46 +01:00
jekkos-t520
a8e15f7db0 Add company logo upload feature in config (will show on receipts) 2015-02-12 15:47:31 +01:00
jekkos-t520
b5c33b4fcb Add $YCO parameter (invoice numbering per year) 2015-02-12 15:19:57 +01:00
jekkos-t520
9e9a9a80a9 Fix tax percentage calculations (issue #42)
Use bcadd calculations for payment totals
Add tax inclusive option back into general_config
2015-02-12 14:57:39 +01:00
jekkos-t520
fe081779c5 Fix number_format bug when entering an empty payment amount
Add giftcard balance to final receipt (if giftcard payment present)
2015-02-12 14:34:08 +01:00
jekkos-t520
1267e92117 Fix sale and receiving return (incorrect receipt numbers were generated)
Fix item form width in receivings
2015-02-12 10:47:09 +01:00
jekkos-t520
d6f27141af Add back create invoice label 2015-02-11 17:25:45 +01:00
jekkos-t520
4b48a97166 Remove duplicated labels after merge
Add accidentally removed language lines
2015-02-11 16:42:28 +01:00
jekkos-t520
ed70fdc40b Change female language in english to 'F' 2015-02-11 16:33:28 +01:00
jekkos-t520
ade913f0e4 Merge github pull request #30 2015-02-11 16:31:31 +01:00
jekkos-t520
cd92f85691 Merge branch 'feature/customer_gender' 2015-02-11 14:30:15 +01:00
jekkos-t520
081bf77782 Fix module hotkeys 2015-02-11 14:29:57 +01:00
jekkos-t520
4e6a6d6434 Add gender to people + employees form 2015-02-11 14:29:46 +01:00
jekkos-t520
57cbbdab56 Remove content-length header for download
Clean headers (if already output) before force_download
2015-02-11 14:00:27 +01:00
jekkos-t520
4a6a69bdef Enable image headers again 2015-02-11 13:53:21 +01:00
jekkos-t520
88a9193d3a Remove escape characters from receivings_lang
Adapt confirmation dialog text for logout
2015-02-11 13:50:21 +01:00
jekkos-t520
4b99252a83 Change font-family globally to fixed order Arial-sans-serif-...
Remove second submit button on general_config page
2015-02-11 13:47:20 +01:00
jekkos-t520
8b1186c4f9 Fix barcode generation for item kits 2015-02-11 13:31:08 +01:00
jekkos-t520
2e36b7e03b Fix undefined offset error when using company_name with trailing
whitespace
2015-02-11 13:14:33 +01:00
jekkos-t520
b7751bde1a Fix serialized search filter in items module 2015-02-11 12:19:32 +01:00
jekkos-t520
f021215cbb Show proper error message on upload misconfiguration
Use jquery-validation to do item_number check
Fix invoice_number validation in sale edit form
2015-02-11 11:32:58 +01:00
jekkos-t520
9191eb4535 Show error messages in item form when upload fails
Remove check for validation flag in handle_server_validation
2015-02-11 08:53:16 +01:00
jekkos-t520
0fdb760d6f Add specific mime type for backup download 2015-02-10 21:20:10 +01:00
jekkos-t520
a46221ad04 Change compression method to zip again (retry) 2015-02-10 18:32:17 +01:00
jekkos-t520
da5c65e42e Fix location config bug (add check for disallowed characters)
Add labels for different languages (just default to english for now)
2015-02-10 16:34:16 +01:00
jekkos-t520
3594c348ee Fix stock location permissions for github issue #34 2015-02-10 16:04:52 +01:00
jekkos-t520
c40ad31ed0 Review item import (check item_number and throw proper error) 2015-02-10 15:43:10 +01:00
jekkos-t520
4579f16518 Add empty uploads/item_pics directories
Add .gitignore files to ignore uploaded item pics (or saved db scripts)
2015-02-10 11:17:46 +01:00
jekkos-t520
49a0a4e127 download backpus as plain sql file 2015-02-10 11:00:09 +01:00
jekkos-t520
d208e6dccb set menubar font sizes to px instead of pt
add item_number duplication check when adding new items
fix barcode on receivings receipt (after completion)
change backup db download format to gz
2015-02-10 10:56:37 +01:00
jekkos-t520
8b2a2f8074 Fix sale_id generation for sale receipt 2015-02-10 00:31:53 +01:00
jekkos-t520
84ffe5d4eb Add try catch to barcode generation (so errors are displayed in case of
config problems)
2015-02-10 00:05:42 +01:00
jekkos-t520
39301e7091 Fix receipts after sale and receiving completion 2015-02-09 23:37:19 +01:00
jekkos-t520
0a29809f7a Add item code as barcode label 2015-02-09 19:56:16 +01:00
jekkos-t520
4332bce401 Replace old code39 generator for receipts with new barcode_lib
functionality
2015-02-09 18:08:46 +01:00
jekkos-t520
42f4eb9c7b Add code128 as barcode_type 2015-02-09 17:32:45 +01:00
jekkos-t520
bd5e5b0b94 Remove item code as barcode parameter
Always show barcode itself as a second row
2015-02-09 17:03:52 +01:00
jekkos-t520
c763e8831f Increase width config tab
Increase width item kits form
Add ob_clean call to before force_download
2015-02-09 16:57:44 +01:00
jekkos-t520
0616560e3e Change barcode width/height constraints (set to minimum 10 for height
and 60 for width)
2015-02-09 09:47:01 +01:00
jekkos-t520
c7a898a89d Location autocomplete zipcode/city will fallback on different fields
when defaults are empty
Try to fix default text removal in register's customer/item selection fields
2015-02-09 08:51:00 +01:00
jekkos-t520
377284f491 Add company name to barcode layout options 2015-02-08 18:05:29 +01:00
jekkos-t520
93968814db Add sales and receivings format in general config 2015-02-08 17:51:03 +01:00
jekkos-t520
941ff4cd4a Upgrade jquery form to 3.51
Make item_number field non required
Save item_number properly
2015-02-07 20:22:21 +01:00
jekkos-t520
4d2de519a1 Set explicit version number for jquery-validation (1.13.1) 2015-02-06 17:34:37 +01:00
jekkos-t520
8fd315e389 Fix error message styling + add UPC required error message in items_lang 2015-02-06 17:28:49 +01:00
jekkos-t520
fe786b5888 Fix enable invoice labels (sales and receivings) 2015-02-06 17:06:31 +01:00
jekkos-t520
28711df45a Merge branch 'feature/item_pics'
Conflicts:
	application/helpers/table_helper.php
2015-02-06 16:55:09 +01:00
jekkos-t520
f77f2e6e29 item pics are now resized and cached server side 2015-02-06 16:53:37 +01:00
jekkos-t520
707114805d Fix autocomplete problem with new item in sales module 2015-02-06 15:48:57 +01:00
jekkos-t520
aebed9347b Merge branch 'feature/address_completion'
Conflicts:
	application/controllers/items.php
2015-02-06 15:01:54 +01:00
jekkos-t520
aa1c46738b Country code is now resolved using ipinfo.io api call
Address autocompletion mostly works now
2015-02-06 14:59:11 +01:00
jekkos-t520
080ae5df3a Upgrade jQuery to 1.8.3
Upgrade jQuery Validation to 1.3.2
Add jQuery migrate (for developmet purpose)
2015-02-06 14:58:22 +01:00
jekkos-t520
c04fa362b1 Add database backup feature in config 2015-02-06 11:22:03 +01:00
jekkos-t520
c7280e6018 Minor code review 2015-02-05 17:26:27 +01:00
jekkos-t520
374f9556d1 Don't try to preview images when there are none 2015-02-05 17:25:35 +01:00
jekkos-t520
ec6455647f Merge branch 'feature/item_pics'
Conflicts:
	database/2.3_to_2.3.1.sql
	database/database.sql
	translations/items_lang.csv
2015-02-05 17:05:51 +01:00
jekkos-t520
7081fe0338 Remove non free barcodegen library
Add width and height parameters for code39 barcode generation
2015-02-05 17:00:41 +01:00
jekkos-t520
8b6182dded Further fine tuning address autocompletion 2015-02-05 15:26:37 +01:00
jekkos-t520
f2fd360d23 Minimal working OpenStreetMap autocomplete
Refactor jkey F-key bindings
2015-02-05 14:08:40 +01:00
jekkos-t520
8ccba57d98 Images are not removed from items when no file is chosen
Image thumbnails are resized proportionally and updated after update_row
refresh
Add some padding to the thumbnails
Move select specific styles to ospos.css stylesheet
2015-02-04 15:29:34 +01:00
jekkos-t520
7efb1428f5 Basic image upload working now 2015-02-04 13:27:09 +01:00
jekkos-t520
46cfe0b18a Add databse upgrade script for 2.3.2 2015-02-03 17:33:43 +01:00
jekkos-t520
2f74c400bd Fix receipt barcodes (revert to the old script) 2015-02-03 15:08:21 +01:00
jekkos-t520
7c24682584 Fix stock location removal 2015-02-02 16:55:26 +01:00
jekkos-t520
215a2104a1 Add item_id/upc barcode content option
Fix tabcontent width
Improve location config screen
2015-02-02 15:48:41 +01:00
jekkos-t520
aae02b7420 Move location config to separate tab
Fix javascript error message display in barcode and location config
2015-02-02 14:46:05 +01:00
jekkos-t520
48867d44be Remove barcode.png
Set correct permissions on Arial.ttf
2015-02-02 13:24:26 +01:00
jekkos-t520
d3b9bc08c9 Merge branch 'master' into feature/barcode_patch 2015-02-02 12:54:04 +01:00
jekkos-t520
1bf839601a Barcode patch applied (using barcodegen) 2015-02-02 12:44:58 +01:00
jekkos-t520
bd763596b9 Bump version to 2.3.2 2015-02-01 14:48:25 +01:00
jekkos
dc12c7bdd2 Merge pull request #29 from marteserede/master
Two small edits (#27 and #28)
2015-01-30 08:01:22 +01:00
Martes Erede
4ddec66d7b #27 Using bc-style operations now. 2015-01-29 16:22:44 +01:00
Martes Erede
839849bf8d Merge branch 'master' of https://github.com/jekkos/opensourcepos 2015-01-29 16:16:55 +01:00
Martes Erede
b4ac74aa55 Bugfix #28 if invoice number is empty, set it to null, so no error occurs 2015-01-29 16:14:12 +01:00
jekkos-t520
8ac58a4612 Merge branch 'master' of https://github.com/jekkos/opensourcepos 2015-01-28 19:25:37 +01:00
jekkos-t520
08325c8cf7 Fix last stock_locations config quirks 2015-01-28 19:25:18 +01:00
jekkos
43f4e9e790 Update README.md
add bitcoin donation address to readme
2015-01-27 23:40:50 +01:00
jekkos-t520
f497ac54f1 Review stock location management in config screen (merged old refactor
branch)
Remove some obsolete labels from tranlations csv's
2015-01-27 23:27:43 +01:00
jekkos-t520
f323bec9ca Merge branch 'refactor/edit_stock_locations'
Conflicts:
	application/controllers/config.php
	application/models/stock_locations.php
2015-01-27 19:24:59 +01:00
jekkos-t520
24a6c9c34f Config location editing works now 2015-01-27 19:03:57 +01:00
jekkos-t520
4f456c75f7 Merge branch 'master' of https://github.com/jekkos/opensourcepos 2015-01-26 08:13:55 +01:00
jekkos-t520
8705b91bd3 Start refactoring the stock locations configuration screen 2015-01-26 08:11:21 +01:00
jekkos
16814f2d12 Update README.md 2015-01-25 16:39:31 +01:00
jekkos-t520
b9ee7b6b01 Invert quantity correction when deleting sales 2015-01-25 16:07:53 +01:00
jekkos-t520
344cb5c749 Add route for no_access controller with just one parameter
Remove permission dependency between sales, receivings and items module
Add explicit stock permission to sales and receiving modules
2015-01-25 15:46:42 +01:00
jekkos-t520
4556938154 Add cookie cleanup after search() and get_row() 2015-01-25 14:32:15 +01:00
jekkos-t520
a2b7ff688d Merge branch 'master' of https://github.com/jekkos/opensourcepos 2015-01-25 14:13:38 +01:00
jekkos
df71cb9cf8 Merge pull request #26 from marteserede/master
Fix for bug #39, error in excel_import
2015-01-25 00:22:26 +01:00
Martes Erede
927dbbabb6 Feature #27: Changing cost price while receiving items 2015-01-24 21:40:07 +01:00
Malte Srocke
7544aae394 Bug #25: Deleting a sale/receiving would not effect the stock/quantity. 2015-01-24 19:44:19 +01:00
jekkos-t520
868721c6f5 Adapt sql scripts for new barcode label options 2015-01-24 15:18:00 +01:00
jekkos-t520
1d9661d0b0 Add name, price and company name as possible barcode labels 2015-01-24 15:06:29 +01:00
jekkos-t520
e7fd57afdf Cleanup duplicate cookies when browsing items module 2015-01-23 00:18:43 +01:00
jekkos-t520
ad51278ba5 UPC config option now adds UPC content to barcodes as well 2015-01-22 23:36:56 +01:00
Malte Srocke
606eb01a67 - fixed excel import: if there was missing a location-id in the import-csv, then there would not have been created an entry into item_quantities for the item and location.
- fixed also the inventory info-part: before in the inventory-table there was no quantity inserted and data[10] as the location_id
2015-01-22 22:19:23 +01:00
jekkos-t520
94287ddec4 Make barcode text configurable 2015-01-21 13:14:16 +01:00
jekkos-t520
3d6d473145 Add item field autofocus in sales module
auto submit payment form when hitting enter in amount_tendered input
field
2015-01-19 12:35:09 +01:00
jekkos-t520
565a143c71 Merge branch 'master' of https://github.com/jekkos/opensourcepos 2015-01-19 12:07:40 +01:00
jekkos-t520
c959d97fd1 Fix for bug #39: item with 0 stock is not listed in item-list 2015-01-19 12:02:53 +01:00
jekkos
62c122e7ee Update WHATS_NEW.txt 2015-01-19 12:01:58 +01:00
jekkos
f3b3904b43 Merge pull request #23 from marteserede/master
Fixing session-table-name bug
2015-01-19 11:56:42 +01:00
jekkos-t520
883237a41c Regenerate language files (obsolete labels) 2015-01-16 18:43:39 +01:00
jekkos-t520
dd369118c5 Add check payment type to temp sales table again 2015-01-16 18:43:38 +01:00
jekkos-t520
b0aa62b044 Add turkish language (patch #24 Turkish Language) 2015-01-16 18:29:57 +01:00
jekkos-t520
84a141d9c5 Move translations into CSV files
Add generate_languages.php script (run using `php
generate_languages.php`)
Add generated language files
2015-01-16 17:40:41 +01:00
Malte Srocke
acb764a040 Changing config-sess_table_name value so no error occurs if dbprefix is changed to something else than "ospos_" 2015-01-14 23:34:43 +01:00
jekkos
37be5c9446 Merge pull request #17 from songwutk/patch-5
Update config_lang.php
2015-01-12 09:02:22 +01:00
jekkos
cd8d9a4a3d Merge pull request #16 from flodef/patch-4
Patch 4
2015-01-12 09:01:48 +01:00
jekkos
b1baa5609a Merge pull request #19 from songwutk/patch-7
Update items_lang.php
2015-01-12 09:00:53 +01:00
jekkos
614b4d48b6 Merge pull request #18 from songwutk/patch-6
Update module_lang.php (Thai)
2015-01-12 09:00:18 +01:00
songwutk
0b98050ea1 Update items_lang.php
Update Thai Translate
2015-01-12 12:36:24 +07:00
songwutk
3e0a6d9ba6 Update module_lang.php
Fix duplicate variable
2015-01-12 12:25:45 +07:00
songwutk
94c4a0c909 Update config_lang.php
Update more translate config from English.
2015-01-12 12:23:56 +07:00
Florian
ae454026dc Update upload_lang.php 2015-01-10 18:43:12 +01:00
Florian
e9e6290151 Update unit_test_lang.php 2015-01-10 18:42:41 +01:00
Florian
d7ed07f4f4 Update profiler_lang.php 2015-01-10 18:39:51 +01:00
Florian
ed3234ff30 Update number_lang.php 2015-01-10 18:39:22 +01:00
Florian
1ff7e271a5 Update migration_lang.php 2015-01-10 18:37:38 +01:00
Florian
5e4a6af3b7 Update imglib_lang.php 2015-01-10 18:37:01 +01:00
Florian
34d8ef7637 Update ftp_lang.php 2015-01-10 18:36:39 +01:00
Florian
cb760d9ed8 Update form_validation_lang.php 2015-01-10 18:36:08 +01:00
Florian
5af96fb082 Update email_lang.php 2015-01-10 18:35:32 +01:00
Florian
248c47d94a Update db_lang.php 2015-01-10 18:35:04 +01:00
Florian
1ee5b66a45 Update date_lang.php 2015-01-10 18:34:28 +01:00
Florian
fc0e691569 Create calendar_lang.php 2015-01-10 18:33:17 +01:00
jekkos
2ad00de947 Update 2.3_to_2.3.1.sql
[opensourcepos:bugs] #38 remove hardcoded reference to database name
2015-01-09 15:57:45 +01:00
Florian
6445c463a4 Create upload_lang.php
Didn't translate this one yet, but will finish the job later ...
2014-12-31 15:09:09 +01:00
Florian
1b8d40d7ed Create unit_test_lang.php
Translate unit_test_lang.php to French.
2014-12-31 15:08:33 +01:00
Florian
4d6a5189c1 Create profiler_lang.php
Translate profiler_lang.php to French.
2014-12-31 15:05:43 +01:00
Florian
326b074a22 Create number_lang.php
Translate number_lang.php to French
2014-12-31 14:59:46 +01:00
Florian
ccbe227666 Create migration_lang.php
Didn't translate this one yet, but will finish the job later ...
2014-12-31 14:58:25 +01:00
Florian
228b99ebbf Create index.html
Translate index.html to French
2014-12-31 14:57:48 +01:00
Florian
9df3236176 Create imglib_lang.php
Didn't translate this one yet, but will finish the job later ...
2014-12-31 14:56:21 +01:00
Florian
546b94f1e9 Create ftp_lang.php
Didn't translate this one yet, but will finish the job later ...
2014-12-31 14:55:55 +01:00
Florian
dbec337742 Create form_validation_lang.php
Translate form_validation_lang.php to French
2014-12-31 14:55:24 +01:00
Florian
e387ddaf1a Create email_lang.php
Didn't translate this one yet, but will finish the job later ...
2014-12-31 14:45:23 +01:00
Florian
2fc34a55b1 Create db_lang.php
Didn't translate this one yet, but will finish the job later ...
2014-12-31 14:44:43 +01:00
Florian
17b0f452ca Create date_lang.php
Translate date_lang.php to French
2014-12-31 14:43:12 +01:00
jekkos-t520
0f34a6ace4 Ignore receiving_quantity = 0 for receivings 2014-12-26 11:39:26 +01:00
jekkos-t520
58dc5e3062 Newly created item in sales module is auto added to sale again 2014-12-19 08:47:40 +01:00
jekkos-t520
c00c604c21 Fix tax inclusive pricing for non taxable customer
Show receiving quantity in receiving receipt
Allow to use invoice number as zero (a bug prevented 0 to be saved to
db, causing it to stop incrementing next time)
2014-12-18 19:55:20 +01:00
jekkos-t520
0132c9092c Remove clear enable functions 2014-12-16 19:00:15 +01:00
jekkos-t520
efff9d20c1 Add giftcard number autogeneration 2014-12-16 18:36:26 +01:00
jekkos-t520
07a32a0deb Remove invoice / sale format enable option
Add giftcards -> person_id foreign key constraint
Fix tax calculation for non taxable customers
Improve giftcard person autocompletion
2014-12-16 08:49:49 +01:00
jekkos-t520
b546883d2a Dashes are allowed now in barcode text
Update barcode with newer drop in version (thanks Odie)
2014-12-15 00:09:44 +01:00
jekkos-t520
0569275c4e Add receivings invoice number enable/disable
Ignore invoice number unique constraint when invoice is disabled
2014-12-06 10:46:16 +01:00
jekkos-t520
e3288ae759 Revert newly added receivings functionality 2014-12-04 23:23:10 +01:00
jekkos-t520
64f1b4191a Invoice number can now be enabled/disabled
Invoice unique constraint only applies when enabling invoice
Correct several HTML structure errors in sale and order modules
Make the top module bar a bit wider
Fix payment details css when hiding/showing invoice number field
2014-12-04 22:01:40 +01:00
jekkos-t520
1c1b89db21 Fix detailed sales report for sale_type = sale 2014-12-04 08:49:36 +01:00
jekkos-t520
ee30b178b4 Remove duplicate statement from 2.3.1 sql upgrade script
Remove quantity column from database.sql
Update item import example with correct location id
Fix detailed report receipt links
2014-11-28 08:51:08 +01:00
jekkos-t520
44b5404fe7 Fix missing invoice number in sales receipt 2014-11-27 08:48:15 +01:00
jekkos-t520
78ca94e036 Fix detailed report editing 2014-11-27 08:44:50 +01:00
jekkos-t520
d7a61080e2 Add duplicate invoice number error message in sales module
Fix colspan width for receivings (one column was added for
receiving_quantity)
2014-11-26 21:56:18 +01:00
jekkos
27e1bfe871 Merge pull request #11 from flodef/master
Add record time to giftcard
2014-11-26 08:55:49 +01:00
jekkos
7d70fa70a6 Merge pull request #13 from flodef/patch-3
Update register.php
2014-11-26 08:54:44 +01:00
jekkos-t520
6bd6080ccc Fix customer field focus in register screen 2014-11-26 08:25:45 +01:00
jekkos-t520
b311eca62e Fix receiving_quantity error in receivings page 2014-11-26 08:17:43 +01:00
jekkos-t520
99a804c1ac Fix item quantity after edit 2014-11-26 08:10:15 +01:00
jekkos-t520
5f3a81ee5c Merge branch 'master' of https://github.com/jekkos/opensourcepos 2014-11-25 23:04:25 +01:00
jekkos-t520
af8b88d030 Fix config module layout (wider + adapt setting labels) 2014-11-25 21:45:01 +01:00
Florian
08368b6279 Update register.php
Correct an HTML mistake : replace </tr> by </td>
2014-11-25 20:24:46 +01:00
jekkos-t520
97d37b5ad9 Merge branch 'feature/sale_numbering'
Conflicts:
	application/libraries/Receiving_lib.php
	database/2.3_to_2.3.1.sql
	js/manage_tables.js
2014-11-25 17:20:05 +01:00
jekkos
969abe1d34 Merge pull request #7 from flodef/patch-1
Update Sale_lib.php
2014-11-25 11:35:07 +01:00
jekkos-t520
5a40c31af3 Merge branch 'fix/recv_amount_multiplication' 2014-11-25 08:43:10 +01:00
jekkos-t520
62977bf89f Refresh only editd rows after bulk refresh 2014-11-25 08:32:55 +01:00
jekkos
f88baad4b7 Merge pull request #3 from songwutk/patch-2
fix bug duplicate config
2014-11-25 00:11:26 +01:00
Florian
27de99fe78 Update giftcards.php
Add a "record_time" to the giftcard saving function to be know when a new giftcard has been added.
2014-11-24 20:11:47 +01:00
Florian
44515ee999 Update database.sql 2014-11-24 20:06:44 +01:00
jekkos
90c1934d92 Merge pull request #6 from curthauta/import_items
fixed quantities on items import
2014-11-20 10:19:41 +01:00
jekkos
bb3fbb03b1 Merge pull request #9 from flodef/patch-2
Update register.php
2014-11-20 10:17:39 +01:00
jekkos
d6926fee9f Merge pull request #10 from flodef/patch-3
Update register.php
2014-11-20 10:15:49 +01:00
flodef
ba47d5e4ff Update register.php
- Correct previous commit when it was impossible to set any value anymore (oooops, I went too quickly on this one)
- Use .val instead of .attr("value") because the latter is deprecated
2014-11-14 22:40:36 +01:00
flodef
fe14180ec5 Update register.php
- Remove unused variable : $cur_item_info
- Change .click for .focus : correct a bug when the text doesn't disappear on chrome after changing tab
2014-11-14 22:30:16 +01:00
flodef
15d15b9750 Update register.php
Price should have it's currency
2014-11-14 20:31:04 +01:00
jekkos-t520
46af17845f Merge branch 'master' of https://github.com/jekkos/opensourcepos 2014-11-13 16:51:09 +01:00
jekkos-t520
2c706dc752 Rename receivings_quantity to receiving_quantity 2014-11-13 16:50:52 +01:00
jekkos-t520
4893da0e43 Added enable invoice checkbox 2014-11-13 13:28:42 +01:00
flodef
26bee3e5a6 Update Sale_lib.php
Clean "add_payment" to be simpler : don't need to declare $payment in the main as it used only to add to an existing array
Fix "edit_payment" that was trying to set a payment on the $payment_id (expected payment data : $payments)
2014-11-11 13:04:27 +01:00
jekkos-t520
1b41c93441 Fix item row refresh in detailed receivings and sales 2014-11-07 18:03:45 +01:00
jekkos
1dd9a7ea2c Merge pull request #4 from songwutk/patch-3
Update Thai translate
2014-11-06 08:52:27 +01:00
jekkos
6286f6cc11 Merge pull request #2 from songwutk/patch-1
Rename Thai menu (Gift Card)
2014-11-06 08:14:11 +01:00
jekkos-t520
094a293c78 Fix invoice number insert in receivings 2014-11-06 07:35:54 +01:00
Curt Hauta
8ae21bbcb7 fixed quantities on items import 2014-11-05 20:01:25 -07:00
jekkos-t520
035f2ad946 Review receivings quantity mulitplier 2014-11-04 08:14:16 +01:00
jekkos-t520
54fe0c4c30 Fix sales/receivings deletion 2014-11-03 19:22:36 +01:00
jekkos-t520
d43015e8c9 Set default receivings value for items to 1 in database
Fix item quantity save
2014-11-03 18:08:57 +01:00
jekkos-t520
7a46078734 Add receivings_quantity to item form
Conflicts:

	application/libraries/Receiving_lib.php
	database/2.3_to_2.3.1.sql
2014-11-03 18:07:50 +01:00
jekkos-t520
3007173833 Add invoice numbering to sales module 2014-10-31 07:58:46 +01:00
jekkos-t520
96c349b099 Add invoice numbering to sales module 2014-10-30 19:22:49 +01:00
songwutk
e5e74f3ffb Update Thai translate
Update Thai translate
2014-10-26 06:37:53 +07:00
songwutk
851333b72c fix bug duplicate config
fix bug duplicate config & update thai translate
2014-10-26 06:29:07 +07:00
songwutk
00045c3f97 Rename Thai menu (Gift Card) 2014-10-26 06:14:28 +07:00
jekkos-t520
cc9adeef47 Set supplier_info to default value (fix warning with empty supplier)
Conflicts:

	application/controllers/receivings.php
2014-10-23 21:32:19 +02:00
jekkos-t520
37c80deb83 Show error message correctly in receivings 2014-10-23 18:35:34 +02:00
jekkos-t520
9d765efc94 Add invoice number duplication check in receivings screen
Add invoice number duplication check in receivings detailed report
2014-10-23 18:02:33 +02:00
jekkos-t520
4e071c9fbb Fix blank page when returning receivings
Conflicts:

	application/libraries/Receiving_lib.php
2014-10-22 07:11:37 +02:00
jekkos-t520
fe6820920b Add edit form in detailed receivings report
Add language lines for detailed sale & receiving validation
Add permission for getting updated sale & receiving detail row
2014-10-21 21:39:22 +02:00
jekkos-t520
08dcd9e384 Fix totals calculation in receivings module 2014-10-20 18:31:33 +02:00
jekkos-t520
31877528b1 Security update for report subpermissions 2014-10-17 08:29:46 +02:00
jekkos-t520
7fad710277 Reports module now has checks on the required submodules when entering direct urls 2014-10-16 18:31:35 +02:00
jekkos-t520
7bcb1d7531 Fix totals calculation in sales register 2014-10-16 08:23:47 +02:00
jekkos-t520
0863b4ebba Add extra permissiosn checks to report methods
Adapt no_access page to show missing grant
Adapt Email library to customize return_path header
2014-10-16 08:20:36 +02:00
jekkos-t520
20fed1d457 Update database script to latest version again 2014-10-13 19:09:42 +02:00
jekkos-t520
bc514889a8 Add detailed reports again (permission_id wasn't set properly)
Finish updqate script
2014-10-13 18:57:07 +02:00
jekkos-t520
868de15fcb Invoice number is now substituted correctly after complete
Fix payments summary report
Update upgrade script (not tested yet)
2014-10-13 12:30:37 +02:00
jekkos-t520
dad16b7a71 Receivings comments and recv_invoice_format fields are updated on keyup now 2014-10-12 12:47:45 +02:00
jekkos-t520
de06b64e4e Fix warning in specific discount report (add category to query)
Add grant for default stock location in sql
2014-10-12 03:18:19 +02:00
jekkos-t520
ac667a23dc Refactor report listing (again)
All reports have proper permissions now (categories, taxes, discounts,..)
Minor refactoring and code cleanup
2014-10-12 02:54:54 +02:00
jekkos-t520
54fbb4e7d7 Refactor stock location save
Add config to permissions and grants in database script
2014-10-11 17:55:00 +02:00
jekkos-t520
cda41622e4 Merge branch 'refactor/module_permissions' into feature/invoice_numbering
Conflicts:
	database/database.sql
2014-10-10 16:38:07 +02:00
jekkos-t520
802a0e6a59 Refactor report listing (move sales specific grants to employee model) 2014-10-09 17:56:24 +02:00
jekkos-t520
77222c1989 Fix supplier selection 2014-10-08 19:27:07 +02:00
jekkos-t520
bb9ab9bd9c Finish stock location refactoring
Modules are inaccessible if permissions not configured correctly
2014-10-07 21:47:07 +02:00
jekkos-t520
a1eb735d96 Remove empty check for item_id and quantity_id when saving item_quantities
Add configuration key to database script
2014-10-07 08:27:31 +02:00
jekkos-t520
aee5f3d27e Add ospos_grants table
Refactor permission and module system
2014-10-07 00:47:30 +02:00
jekkos-t520
97ff190ba5 Receivings can now use invoice numbers with a specified format (in config section)
Fix some more stock location related bugs
Some refactoring todo for creating/updating stock locations
2014-10-05 22:53:42 +02:00
jekkos-t520
1afbc03304 Merge branch 'feature/multistore_support' into feature/invoice_numbering 2014-10-04 16:49:22 +02:00
jekkos-t520
5e8367681b Fix default location in items, sales and receivings 2014-10-04 13:38:52 +02:00
jekkos-t520
bac80e3a92 Added invoice_number field to receivings table
Save comments field in receivings as in sales
Add translations for cancel button in receivings
Add cascading deletes for ospos_permissions
2014-10-04 13:19:24 +02:00
jekkos-t520
5a4ac8dde3 Fix comments in receivings 2014-10-03 17:41:39 +02:00
jekkos-t520
e994cd5444 Fix default location selected (now uses allowed locations only) 2014-10-03 10:33:34 +02:00
jekkos-t520
d486202c4f Merge branch 'feature/multistore_support' into feature/invoice_numbering 2014-10-03 08:03:59 +02:00
jekkos-t520
298135dabc Remove obsolete item_unit method 2014-10-03 08:03:37 +02:00
jekkos-t520
eb51b680aa Show stock location names in employee form 2014-10-03 00:27:50 +02:00
jekkos-t520
48acd204f1 Show stock location names in employee form 2014-10-02 23:26:29 +02:00
jekkos-t520
2929dfe9dd Add stock location filtering on items 2014-10-02 19:33:35 +02:00
jekkos-t520
290533612e Fix submodules in header 2014-09-29 21:06:06 +02:00
jekkos-t520
13127c4dc7 Deny access to report submodules on which employee doesn't have permissions 2014-09-24 08:47:00 +02:00
jekkos-t520
5cf73130c5 Modules are not accessible if employee has no permissions on at least one of it's submodules
Some more db script modifications
2014-09-23 19:14:25 +02:00
jekkos-t520
4b16b68f24 Added more granular permissions for report module
Extend permission system to allow 'submodule' permissions
Add permissions for stock locations (multistore support)
2014-09-22 20:41:53 +02:00
jekkos-t520
e03611080e Merge branch 'feature/tax_included_pricing' 2014-09-15 21:27:33 +02:00
jekkos-t520
ff7b305058 Added tax inclusive pricing to sales and receivings 2014-09-15 21:27:11 +02:00
jekkos-t520
0d76974e69 Discount field in receiving made editable again 2014-09-15 20:18:24 +02:00
jekkos-t520
87c242b35f Discount field in receiving made editable again 2014-09-15 20:14:37 +02:00
jekkos-t520
e43f7ac7bb Add deleted checkbox filter in items page (was remove due to wrong merge) 2014-09-10 19:03:19 +02:00
jekkos
c9c389e9f3 Update README and WHATS NEW
git-svn-id: svn+ssh://svn.code.sf.net/p/opensourcepos/code/@132 c3eb156b-1dc0-44e1-88ae-e38439141b53
2014-09-10 18:58:56 +02:00
2239 changed files with 134960 additions and 79579 deletions

7
.bowerrc Normal file
View File

@@ -0,0 +1,7 @@
{
"directory": "public/bower_components",
"scripts": {
"postinstall": "grunt default genlicense",
"postuninstall": "grunt default genlicense"
}
}

19
.dockerignore Normal file
View File

@@ -0,0 +1,19 @@
node_modules
tmp
application/config/email.php
*.patch
patches/
.idea/
git-svn-diff.py
*.bash
.swp
.buildpath
.project
.settings/*
*.swp
*.rej
*.orig
*~
*.~
*.log
application/sessions/*

3
.gitattributes vendored Normal file
View File

@@ -0,0 +1,3 @@
dist/ merge=ours
application/language/**/*.php merge=ours
text=auto

2
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,2 @@
github: jekkos
custom: ["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MUN6AEG7NY6H8"]

29
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,29 @@
### Background information
__IMPORTANT: If you choose to ignore this issue report template, your issue will be closed as we cannot help without the requested information.__
Please make sure you tick (add an x between the square brackets with no spaces) the following check boxes:
- [] Reporting an issue of an unmodified OSPOS installation
- [] Checked [open and closed issues](https://github.com/opensourcepos/opensourcepos/issues?utf8=%E2%9C%93&q=is%3Aissue) and no similar issue was already reported (please make sure you searched!)
- [] Read [README](https://github.com/opensourcepos/opensourcepos/blob/master/README.md), [WHATS_NEW](https://github.com/opensourcepos/opensourcepos/blob/master/WHATS_NEW.txt), [INSTALL.md](https://github.com/opensourcepos/opensourcepos/blob/master/INSTALL.md) and [UPGRADE](https://github.com/opensourcepos/opensourcepos/blob/master/UPGRADE.txt)
- [] Read the [FAQ](https://github.com/opensourcepos/opensourcepos#faq) for any known install and/or upgrade gotchas (in specific PHP extensions installed)
- [] Read the [wiki](https://github.com/opensourcepos/opensourcepos/wiki)
- [] Executed any database upgrade scripts if an upgrade pre 3.0.0 (e.g. database/2.4_to_3.0.sql)
- [] Aware the installation code that [GitHub master](https://github.com/opensourcepos/opensourcepos/tree/master) is for [developers only](https://github.com/opensourcepos/opensourcepos/wiki/Development-setup) and therefore not complete nor stable.
### Installation information
- OSPOS version is:
- OSPOS git commit hash is:
- PHP version is:
- MySQL or MariaDB version is:
- OS and version is:
- WebServer is:
- Selected language is:
- (If applicable) Docker installation:
- (If applicable) Installation package for the LAMP/LEMP stack is:
### Issue / Bug / Question / New Feature
Please write your issue here. If a bug, please make sure to provide as much information as possible including configuration settings (e.g. Decimals set, Tax mode), language and steps to reproduce the bug.

18
.github/stale.yml vendored Normal file
View 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

71
.github/workflows/codeql-analysis.yml vendored Normal file
View File

@@ -0,0 +1,71 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '21 12 * * 3'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps:
- name: Checkout repository
uses: actions/checkout@v2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

91
.gitignore vendored
View File

@@ -1,13 +1,90 @@
application/config/database.php
# Dependency directories
/node_modules
/vendor
/public/bower_components
# Logs
/application/logs/*
*.log
npm-debug.log*
# Build generated
/tmp
/public/license/.licenses
/public/license/bower.LICENSES
/public/dist
# Docker
!/docker/.env
/docker/data/database/db/*
/docker/data/certbot/conf/*
/docker/data/ospos/app/*
# Database
/database/database.sql
/database/migrate_phppos_dist.sql
# Use files
/application/config/email.php
/application/sessions/*
/application/uploads/*
# Editors
## SublimeText
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache
*.sublime-workspace
## VisualStudioCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
## Vim
*.sw[a-p]
## WebStorm/IntelliJ
/.idea
modules.xml
*.ipr
*.iml
# System files
*.DS_Store
Thumbs.db
ehthumbs.db
ehthumbs_vista.db
Desktop.ini
$RECYCLE.BIN/
._*
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Other
/generate_langauges.php
/dist
/docs
/patches
/translations
/.buildpath
/.project
/.settings/*
*.patch
patches/
git-svn-diff.py
*.bash
*.sh
*.swp
.buildpath
.project
.settings/*
.swp
*.swp
*.rej
*.orig
*~
*.~
.env
auth.json

72
.htaccess Executable file
View File

@@ -0,0 +1,72 @@
# redirect to public page
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^public$
RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge [NC]
RewriteRule "^(.*)$" "/public/" [R=301,L]
</IfModule>
# disable directory browsing
# For security reasons, Option all cannot be overridden.
Options +SymLinksIfOwnerMatch -Indexes
# prevent folder listing
IndexIgnore *
<IfModule mod_headers.c>
Header always set X-Frame-Options "SAMEORIGIN"
</Ifmodule>
# Apache 2.4
<IfModule authz_core_module>
# secure htaccess file
<Files .htaccess>
Require all denied
</Files>
# prevent access to PHP error log
<Files error_log>
Require all denied
</Files>
# prevent access to LICENSE
<Files LICENSE>
Require all denied
</Files>
# prevent access to csv, txt and md files
<FilesMatch "\.(csv|txt|md|yml|json|lock)$">
Require all denied
</FilesMatch>
</IfModule>
# Apache 2.2
<IfModule !authz_core_module>
# secure htaccess file
<Files .htaccess>
Order allow,deny
Deny from all
Satisfy all
</Files>
# prevent access to PHP error log
<Files error_log>
Order allow,deny
Deny from all
Satisfy all
</Files>
# prevent access to LICENSE
<Files LICENSE>
Order allow,deny
Deny from all
Satisfy all
</Files>
# prevent access to csv, txt and md files
<FilesMatch "\.(csv|txt|md|yml|json|lock)$">
Order allow,deny
Deny from all
Satisfy all
</FilesMatch>
</IfModule>

68
.travis.yml Normal file
View File

@@ -0,0 +1,68 @@
sudo: required
branches:
except:
- weblate
services:
- docker
before_install:
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- sudo apt-get update
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
- docker --version
- 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
script:
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
- 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
- version=$(grep application_version application/config/config.php | sed "s/.*=\s'\(.*\)';/\1/g")
- echo "$version-$branch-$rev"
- npm version "$version-$branch-$rev" --force || true
- docker run --rm -it -v $(pwd):/app -w /app opensourcepos/node-grunt-bower
sh -c "npm install && bower install && grunt package"
- docker build . --target ospos -t ospos
- docker-compose -f docker-compose.test.yml up --abort-on-container-exit
- docker build database/ -t jekkos/opensourcepos:sqlscript
env:
global:
- DOCKER_COMPOSE_VERSION=1.29.1
- BRANCH=$(echo ${TRAVIS_BRANCH} | sed s/feature\\///)
- date=`date +%Y%m%d%H%M%S` && branch=${TRAVIS_BRANCH} && rev=`git rev-parse --short=6 HEAD`
after_success:
- TAG=${TRAVIS_TAG:-$BRANCH}
- docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD" && docker tag "ospos:latest"
"jekkos/opensourcepos:$TAG" && docker push "jekkos/opensourcepos:$TAG" && docker push "jekkos/opensourcepos:sqlscript"
- sudo mv dist/opensourcepos.tgz "dist/opensourcepos.$version.$rev.tgz"
- sudo mv dist/opensourcepos.zip "dist/opensourcepos.$version.$rev.zip"
before_deploy:
- npm set //npm.pkg.github.com/:_authToken "$NPM_TOKEN"
deploy:
- provider: npm
file: dist/opensourcepos.$version.$rev.tgz
registry: npm.pkg.github.com
email: jeroen@steganos.dev
skip_cleanup: true
api_key:
secure: "bmOfMoGBi+wTEdTbIB7wPenNTCZrmHAa05xZnMxZSOjxplZpnZSO4Tvnnkihz9LpbF3xT1hm76AJJuZonu2HKtUez+6L4Fg+i/jS8Ij/BZlbvKBVTeB+2yN09ncXNmObnl1bShtm90d2WYQJKk3NJGuEboFQNxwJLYJXg33iMhc="
on:
all_branches: true
- provider: releases
file: dist/opensourcepos.$version.$rev.zip
name: "OpensourcePos $version"
release_notes_file: WHATS_NEW.txt
prerelease: true
skip_cleanup: true
user: jekkos
overwrite: true
api_key:
secure: Ax25mMRDfHVf/HjRwqxYJe2oMnWC4sc2aKIiUxAOviVJJSCl4GMWhcFlUNnFsDcKIg2ofEGMVD6b9cTBuOwPDvymUDFnLNCCgDWve+vRDdWaTkTipn77Qk4c9UO9VvuzlPSKopChefPHlQ0n1rEmAMiKIXuqjUlNGqybW4FLP4E=
on:
tags: true
branch: master

380
CHANGELOG.md Normal file
View File

@@ -0,0 +1,380 @@
[unreleased]: https://github.com/opensourcepos/opensourcepos/compare/3.3.8...HEAD
[3.3.7]: https://github.com/opensourcepos/opensourcepos/compare/3.3.7...3.3.8
[3.3.6]: https://github.com/opensourcepos/opensourcepos/compare/3.3.6...3.3.7
[3.3.5]: https://github.com/opensourcepos/opensourcepos/compare/3.3.4...3.3.5
[3.3.4]: https://github.com/opensourcepos/opensourcepos/compare/3.3.3...3.3.4
[3.3.3]: https://github.com/opensourcepos/opensourcepos/compare/3.3.2...3.3.3
[3.3.2]: https://github.com/opensourcepos/opensourcepos/compare/3.3.1...3.3.2
[3.3.1]: https://github.com/opensourcepos/opensourcepos/compare/3.3.0...3.3.1
[3.3.0]: https://github.com/opensourcepos/opensourcepos/compare/3.2.3...3.3.0
[3.2.3]: https://github.com/opensourcepos/opensourcepos/compare/3.2.2...3.2.3
[3.2.2]: https://github.com/opensourcepos/opensourcepos/compare/3.2.1...3.2.2
[3.2.1]: https://github.com/opensourcepos/opensourcepos/compare/3.2.0...3.2.1
[3.2.0]: https://github.com/opensourcepos/opensourcepos/compare/3.1.1...3.2.0
[3.1.1]: https://github.com/opensourcepos/opensourcepos/compare/3.1.0...3.1.1
[3.1.0]: https://github.com/opensourcepos/opensourcepos/compare/3.0.2...3.1.0
[3.0.2]: https://github.com/opensourcepos/opensourcepos/compare/3.0.1...3.0.2
[3.0.1]: https://github.com/opensourcepos/opensourcepos/compare/3.0.0...3.0.1
[3.0.0]: https://github.com/opensourcepos/opensourcepos/compare/2.4.0...3.0.0
[2.4.0]: https://github.com/opensourcepos/opensourcepos/compare/2.3.4...2.4.0
[2.3.4]: https://github.com/opensourcepos/opensourcepos/compare/2.3.3...2.3.4
[2.3.3]: https://github.com/opensourcepos/opensourcepos/compare/2.3.2...2.3.3
[2.3.2]: https://github.com/opensourcepos/opensourcepos/compare/2.3.1...2.3.2
[2.3.1]: https://github.com/opensourcepos/opensourcepos/compare/2.3.0...2.3.1
[2.3.0]: https://github.com/opensourcepos/opensourcepos/compare/2.2.2...2.3.0
# Changelog
All notable changes to this project will be documented here.
## [Unreleased]
List of changes in the `master` branch.
- N/A
## [3.3.8] - 2022-04-26
- Translation updates (Flemish, Vietnamese, Thai, Azerbaijani, Spanish, French)
- Fix logo removal issue (CSRF regression)
- Substract refunds from total rewards as payment method
## [3.3.7] - 2022-04-26
- Translation updates (Thai, Indonesian, Swedish, Italian)
- XSS fixes in bootstrap datatables
- Invoice numbering fixes
- Docker compose database scripts are now mounted from a container volume
## [3.3.6] - 2022-01-08
- Translation updates (Hungarian, Indonesian, Bosnian, Ukranian, Vietnamese, Spanish)
- Make footer revision clickable (ref to github)
- Minor reporting adjustments
- Introduced new global keyboard shortcuts (see overview below)
### Fixes
- reCaptcha issue fix
- Username verification bugfix
- Clickjacking security mitigations
- Fixes for the payment summary after refresh
- Hardening against XSS by introducing a CSP header in the HTTP headers
- Several CSRF and XSS fixes
- Type juggling password fix for old logins
## [3.3.5] - 2021-08-26
- Translation updates (Romanian, Ukrainian, Vietnamese, Thai, Polish, Swedish, Portuguese, Arabic, French, Chinese, Dutch, Tamil, Turkish, Spanish)
- New responsive login page based on Bootstrap `5`
- Translation fallback to English when a string is untranslated for the selected language
- Database and performance optimizations
- Grunt/CI updates
- CSV item import improvements
### Fixes
- Username verification fix on employee insert/update
- Minor report fixes
- Attribute encoding fix
- Decimal render fix
- Fixes for Docker to make it run on Windows
- Blind SQL injection fix
## [3.3.4] - 2021-04-18
- Translation updates (Hungarian, Indonesian, Bosnian, Ukrainian, Vietnamese, Spanish)
- Prevent data wipeout when calling GET directly on the save endpoint
- Cleanup `.htaccess`
- Docker compose usability improvements
- Cookie secure flag fix for Chrome (you can enable CSRF protection again now)
- Use LONGBLOB for session storage. This should fix issues preventing a user from adding a large number of items to register
- Cash rounding bugfixes
- Fix daily overview cash sale totals
- Show sale count in the transaction report
- Button disable to prevent double submission
- Add barcode field to item kits
- Fix discount register parsing in some specific locales
## [3.3.3] - 2020-12-31
- 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
## [3.3.2] - 2020-09-02
- Fixed `only_full_group_by` issue with MySQL/MariaDB
- Fixed POS transaction return failure if items were deleted
- Various bug fixes
## [3.3.1] - 2019-12-04
- Various bug fixes (please disable `only_full_group_by` option from MySQL/MariaDB to avoid issues)
## [3.3.0] - 2019-09-29
- New logo
- Upgrade CodeIgniter to version `3.1.11`
- PHP `7.3` support
- Attributes feature (allows extensibility of items replacing old custom fields)
- India GST tax support + various tax support improvements
- Cash up feature
- Temporary items feature
- Fixed sales discount
- Supplier category feature
- Improved items import and CSV file generation (to contain additional attributes)
- Improved Docker installation with NGINX reverse proxy using Let's Encrypt TLS certificate
- Database performance improvements
- Added and udated translations
- Fixed various reports issues
- Fixed rounding issues
- Fixed CSRF issues
- Fixed database upgrade script issues
- Various bug fixes
## [3.2.3] - 2018-06-13
- Upgrade CodeIgniter to version `3.1.9`
- Further revert of CSRF change causing regression
## [3.2.2] - 2018-06-06
- Revert CSRF change causing regression
## [3.2.1] - 2018-06-04
- Support for GDPR
- CSRF simplifications
- Translation upgrades
- Various bug fixes
## [3.2.0] - 2018-04-14
- Upgrade CodeIgniter to version `3.1.8`
- PHP `7.2` support (use OpenSSL and not MCrypt)
- Automatic database upgrades from `3.0.0` at first login (no more SQL scripts)
- Home and (back)office menu switch (top menu can be organized in two views)
- Expenses feature
- Quote and work order features
- Improved invoice support
- Sale suspend, soft delete, complete as the state not as different tables or hard delete
- Restore deleted sales
- Improved item kits
- Export tables all records and export to PDF
- Table sticky header (headers visible during scrolling)
- Allow duplicate barcodes (config option)
- Search suggestion formatting (config option)
- Define print and email checkboxes behavior (config option)
- Edit customer from sales register
- Added and updated translations
- Various jQuery plugins upgrade
- Fixed permission issues (e.g. password change)
- Fixed various reports issues and renamed Sales to Transactions
- Various bug fixes (e.g. tax, rounding, library circular dependency)
## [3.1.1] - 2017-09-09
- Updated en-US and en-GB translations, better grammar, and consistency
- Fixed database migration issue with VAT tax included
- Fixed database backup bug
- Fixed gift card error
- Fixed database `upgrade to 3.1.x` script (now it's to `3.1.1` and there is no `3.1.0` anymore)
- Fixed old database upgrade scripts for people upgrading from `2.x` versions
- Fixed `.htaccess` file in OSPOS root dir (it was not forwarding to `public` subdir)
- Fixed few jQuery `2.0` upgrade issues
## [3.1.0] - 2017-09-02
- MySQL `5.7` and PHP `7.x` support
- Advanced tax support with customer tax categories and more
- Better horeca use case support with dinner table sale tagging
- Customer rewards support
- Added quote support and better invoice support
- Added integration with Mailchimp to connect customer list with Mailchimp list
- Prevent inserting two customers with the same email address
- Customer total spending and stats
- Added Google reCAPTCHA option for the login page to increase protection from brute force attacks
- Added due payment for credit sale support
- Gift card numbering with two options: series and random
- Extended item kits functionality
- Employees are allowed to change their own password by clicking their name in the top bar
- Cash rounding support, extended decimals
- Reworked item pictures, file names, and storing
- Financial year start date and selection from date range pickers
- Date time range filters can be date and time or date only
- Added two new Bootswatch themes
- Receipts font size support
- Fix automatically people's name first capital letter, emails in lower case only
- Fixes to Receiving
- Various amendments to database script updates from older versions
- Added dotenv support
- Updates to language translations (split English to American English and British English)
- Various Dockers support improvements
- Minor bugfixes
## [3.0.2] - 2016-12-31
- Fixed error when performing scans multiple times in a row
- Fixed summary reports
- Protect employee privacy by printing just the first letter of the family name
- Updates to language translations
- Various Dockers support improvements
- Minor bugfixes
## [3.0.1] - 2016-11-27
- Upgrade CodeIgniter to version `3.1.2`
- Substantial database performance improvements
- Improved security: email and SMS passwords encryption, removed `phpinfo.php`
- Set code to be production and not development in `index.php`
- Reports improvements, fixed table sorting, tax calculation and made profit to be net profit
- Better Apache `2.4` support in `.htaccess`
- Updates to language translations
- Fixed excel template download links
- Fixed employee name in sale receipt and invoice reprinting
- Fixed `2.3.2_to_2.3.3.sql` database upgrade script mistake
- Fixed `phppos to ospos` database migration script
- Minor bug fixes and some general code clean up
## [3.0.0] 2016-10-21
- Upgrade CodeIgniter to version `3.1.0`
- Major UI overhaul based on Bootstrap `3.0` and Bootswatch Themes
- New tabular views with advanced filtering using Bootstrap Tables
- New graphical reports with no more Adobe Flash dependency
- Redesign of all modal dialogs
- Updated Sales register with simplified payment flow
- Improved security: MySQL injection, XSS, CSFR, BCrypt password encryption, safer project layout
- Support for text messaging (interfacing to specific support required)
- Email configuration
- Improved Localisation support
- Improved Store Config page
- Docker container ready for cloud installation
- Composer PHP support
- More languages and integration with Weblate for continuous translation
- About 280 closed issues under `3.0.0` release label, too many to produce a meaningful list
- Various code cleanup, refactoring, optimization and etc.
## [2.4.0] - 2016-04-02
- Upgrade CodeIgniter to version `3.0.5`
- Fix for spurious logouts
- Apache `.htaccess` `mod_expiry` caching and security optimizations
- Bulk item edit fixes (category, tax, and supplier fields)
- Remove f-key shortcuts used for module navigation
- Allow using custom invoice numbers when suspending a sale
- PHP `7` fixes
- Specific warnings to distinguish between reorder level and out of stock situation in sales
- Fix malware detection issues due to usage of `base64` encoding for storing session variables
- Improve language generation scripts (use PHP builtin functionality)
- Add extra buttons for navigation and printing to receipt and invoice
- Improve print layout for invoices
- Make layout consistent for items between receipt and invoice templates
- Minor bugfixes
## [2.3.4] - 2016-02-08
- Migration script fixes
- Improved continuous integration setup
- More integration tests
- Virtualized container setup (`docker install`)
- Live clock functionality and favicon
- Improved PHP `7` compatibility
- Added de_CH (German) as language
- Minor code cleanup
- Removal of annoying backup prompt on logout
## [2.3.3] - 2016-01-05
- Item kit fixes (search, list, ...)
- Add date picker widgets in sale/receiving edit forms
- Add date filter in items module
- Add barcode generation logic for EAN8, EAN13
- Add barcode validation and fallback logic for EAN8, EAN13
- New config option to generate barcodes if `item_number` is empty
- Add cost and count to inventory reports
- Gift card fixes
- Refactor sales overview (added date filtering + search options)
- Better locale config support
- Improve PHP compatibility
- Fix invoice numbering bug on suspending a sale
- Add configurable locale-dependent date format
- Add grunt-cache-breaker plugin
- Suspend button appears before adding a payment
- Searching of deleted items, filtering part is removed
- Remove infamous `0` after leaving sale or receiving comments empty
- Add SQL script to clean zeroes in sales/receivings comments
- Numerous other bug fixes
## [2.3.2] - 2015-07-15
- Nominatim (OpenStreetMap) customer address autocompletion
- Sale invoice templating
- Configurable barcode generation for items
- Stock location filtering in detailed sales and receivings reports
- Gift cards fixes
- Proper pagination support for most modules
- Language updates
- Fix for decimal tax rates
- Add gender and company name attributes to customer
- Stock location config screen refactor
- Basic Travis CI and PhantomJS setup
- Database backup on admin logout
- Modifiable item thumbnails
- Email invoice PDF generation using DomPDF
- Modifiable company logo
- jQuery upgrade (`1.2` -> `1.8.3`)
- JavaScript minification (using Grunt)
- Numerous bugfixes
## [2.3.1] - 2015-02-11
- Extra report permissions (this includes a refactoring of the database model - new grants table)
- Tax inclusive/exclusive pricing
- Receivings amount multiplication (can be configured in items section)
- Customizable sale and receiving numbering
- Gift card improvements
- Fix item import through CSV
- Bug fixes for reports
## [2.3.0] - 2014-08-19
- Support for multiple stock locations
## 2.2.2 - 2014-08-19
- French language added
- Thai language added
- Upgrade CodeIgniter to version `2.2.0`
- Database types for amounts all changed to decimal types (this will fix rounding errors in the sales and receivings reports)
- Fix duplicated session cookies in HTTP headers (this broke the application when running on Nginx)
## 2.1.1
- Barcodes on the order receipt were not generated correctly
- Sales edit screen for detailed sales reports is now available with ThickBox as in the rest of the application
- Indonesian language files updated (Oktafianus)
- Default language set to `en` in `config.php`
- Fixed some CSS bugs in the suspended sales section
- Default cookie `sess_time_expire` set to `86400` (24h)
## 2.1.0
- Various upgrades, too numerous to list here
- Removed dependency on ofc upload library due to vulnerability found
## 2.0.2
- Fixed multiple gift cards issue per Bug #4 reported on Sourceforge where a second gift card added would have its balance set to `0` even if the sale did not require the total of the second gift card to pay the remaining amount due
- Small code cleanup
## 2.1.0
- Upgrade CodeIgniter to version `2.1.0`
- Various small improvements

53
DEVELOPMENT.md Normal file
View File

@@ -0,0 +1,53 @@
# package.json
## scripts
`npm run scriptname`
- `clean` - wipe the dependencies downloaded by Composer, Bower, and npm
```
grunt clean:composer & grunt clean:bower & grunt clean:npm
```
- `install` - automatically runs the Composer and Bower install commands after installing the npm dependencies
```
composer install & bower install
```
- `update` - updates Composer and the dependencies downloaded by Composer and npm
```
npm update & composer self-update & composer update
```
## devDependencies
- `grunt` - used for copying files downloaded by npm
- `grunt-contrib-clean` - Grunt plugin to clean files before copying
- `grunt-contrib-copy` - Grunt plugin to copy files downloaded by npm
- `npm` - downloads project dependencies
- the others are unlisted for now, because this will probably change pretty significantly in the near future
## dependencies
- `bootstrap` - main CSS framework used
- `bootswatch` - themes for the UI
## devDependencies (global)
- `bower` - for the time being, Bower is still necessary
# composer.json
## require
- `php` - this application runs on PHP
- `codeigniter/framework` - the CodeIgniter PHP framework this application is build on
- `dompdf/dompdf` - no description
- `tamtamchik/namecase` - no description
- `paragonie/random_compat` - no description
- `vlucas/phpdotenv` - no description
## require-dev
- `mikey179/vfsstream` - no description
- `phpunit/phpunit` - no description
- `kenjis/ci-phpunit-test` - no description

39
Dockerfile Normal file
View File

@@ -0,0 +1,39 @@
FROM php:7.4-apache AS ospos
LABEL maintainer="jekkos"
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
libicu-dev \
libgd-dev \
openssl
RUN a2enmod rewrite headers
RUN docker-php-ext-install mysqli bcmath intl gd
RUN echo "date.timezone = \"\${PHP_TIMEZONE}\"" > /usr/local/etc/php/conf.d/timezone.ini
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 -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=1" >> /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini

315
Gruntfile.js Normal file
View File

@@ -0,0 +1,315 @@
module.exports = function(grunt) {
dist_files = [
{
src: [
'public/**',
'vendor/**',
'application/**',
'!/application/tests',
'!/public/images/menubar/png/',
'!/public/dist/bootswatch/',
'/public/dist/bootswatch/*/*.css',
'!/public/dist/bootswatch-5/',
'/public/dist/bootswatch-5/*/*.css',
'database/**',
'*.txt',
'*.md',
'LICENSE',
'docker*',
'docker/**',
'Dockerfile',
'**/.htaccess',
'*.csv'
]
}
];
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
wiredep: {
task: {
ignorePath: '../../../public/',
src: ['application/views/partial/header.php']
}
},
bower_concat: {
all: {
mainFiles: {
'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',
'css': 'tmp/opensourcepos_bower.css'
}
}
},
bowercopy: {
options: {
report: false
},
targetdistjqueryui: {
options: {
srcPrefix: 'public/bower_components/jquery-ui',
destPrefix: 'public/dist'
},
files: {
'jquery-ui': 'themes/base/jquery-ui.min.css'
}
},
targetdistbootswatch: {
options: {
srcPrefix: 'public/bower_components/bootswatch',
destPrefix: 'public/dist'
},
files: {
bootswatch: '*/'
}
},
targetlicense: {
options: {
srcPrefix: './'
},
files: {
'public/license': 'LICENSE'
}
}
},
copy: {
themes: {
files: [
{
expand: true,
cwd: 'node_modules/bootstrap/dist/css',
src: ['bootstrap.css', 'bootstrap.min.css'],
dest: 'public/dist/bootswatch-5/bootstrap/',
filter: 'isFile'
},
{
expand: true,
cwd: 'node_modules/bootswatch/dist',
src: ['**/bootstrap.css', '**/bootstrap.min.css'],
dest: 'public/dist/bootswatch-5/',
filter: 'isFile'
}
],
},
licenses: {
files: [{
expand: true,
src: 'LICENSE',
dest: 'public/license/',
filter: 'isFile',},
{
expand: true,
cwd: 'node_modules/bootstrap',
src: 'LICENSE',
dest: 'public/license/',
rename: function(dest, src) { return dest + src.replace('LICENSE', 'bootstrap-5.license'); },
filter: 'isFile'
},
{
expand: true,
cwd: 'node_modules/bootswatch',
src: 'LICENSE',
dest: 'public/license/',
rename: function(dest, src) { return dest + src.replace('LICENSE', 'bootswatch-5.license'); },
filter: 'isFile'
},
],
},
},
cssmin: {
target: {
files: {
'public/dist/opensourcepos.min.css': ['tmp/opensourcepos_bower.css', 'public/css/*.css', '!public/css/login.css', '!public/css/login.min.css', '!public/css/invoice_email.css', '!public/css/barcode_font.css', '!public/css/darkly.css'],
'public/css/login.min.css': ['public/css/login.css']
}
}
},
concat: {
js: {
options: {
separator: ';'
},
files: {
'tmp/opensourcepos.js': ['public/dist/jquery/jquery.js', 'tmp/opensourcepos_bower.js', 'public/js/*.js']
}
},
sql: {
options: {
banner: '-- >> This file is autogenerated from tables.sql and constraints.sql. Do not modify directly << --'
},
files: {
'database/database.sql': ['database/tables.sql', 'database/constraints.sql'],
'database/migrate_phppos_dist.sql': ['database/tables.sql', 'database/phppos_migrate.sql', 'database/constraints.sql']
}
}
},
uglify: {
options: {
banner: '/*! opensourcepos <%= grunt.template.today("dd-mm-yyyy") %> */\n'
},
dist: {
files: {
'public/dist/opensourcepos.min.js': ['tmp/opensourcepos.js']
}
}
},
jshint: {
files: ['Gruntfile.js', 'public/js/*.js'],
options: {
// options here to override JSHint defaults
globals: {
jQuery: true,
console: true,
module: true,
document: true
}
}
},
tags: {
css_header: {
options: {
scriptTemplate: '<rel type="text/css" src="{{ path }}"></rel>',
openTag: '<!-- start css template tags -->',
closeTag: '<!-- end css template tags -->',
ignorePath: '../../../public/'
},
src: ['public/css/*.css', '!public/css/login.css', '!public/css/login.min.css', '!public/css/invoice_email.css', '!public/css/barcode_font.css', '!public/css/darkly.css'],
dest: 'application/views/partial/header.php',
},
mincss_header: {
options: {
scriptTemplate: '<rel type="text/css" src="{{ path }}"></rel>',
openTag: '<!-- start mincss template tags -->',
closeTag: '<!-- end mincss template tags -->',
ignorePath: '../../../public/'
},
// jquery-ui must be first or at least before opensourcepos.min.css
src: ['public/dist/jquery-ui/*.css', 'public/dist/*.css'],
dest: 'application/views/partial/header.php',
},
css_login: {
options: {
scriptTemplate: '<rel type="text/css" src="{{ path }}"></rel>',
openTag: '<!-- start css template tags -->',
closeTag: '<!-- end css template tags -->',
ignorePath: '../../public/'
},
src: 'public/css/login.min.css',
dest: 'application/views/login.php'
},
js: {
options: {
scriptTemplate: '<script type="text/javascript" src="{{ path }}"></script>',
openTag: '<!-- start js template tags -->',
closeTag: '<!-- end js template tags -->',
ignorePath: '../../../public/'
},
src: ['public/dist/bootstrap/js/*.min.js', 'public/js/jquery*', 'public/js/*.js'],
dest: 'application/views/partial/header.php'
},
minjs: {
options: {
scriptTemplate: '<script type="text/javascript" src="{{ path }}"></script>',
openTag: '<!-- start minjs template tags -->',
closeTag: '<!-- end minjs template tags -->',
ignorePath: '../../../public/'
},
src: ['public/dist/*min.js'],
dest: 'application/views/partial/header.php'
}
},
watch: {
files: ['<%= jshint.files %>'],
tasks: ['jshint']
},
cachebreaker: {
dev: {
options: {
match: [ {
'opensourcepos.min.js': 'public/dist/opensourcepos.min.js',
'opensourcepos.min.css': 'public/dist/opensourcepos.min.css'
} ],
replacement: 'md5'
},
files: {
src: ['application/views/partial/header.php', 'application/views/login.php']
}
}
},
clean: {
bower: ["public/bower_components"],
composer: ["vendor"],
license: ['public/bower_components/**/bower.json'],
npm: ["node_modules"]
},
license: {
all: {
// Target-specific file lists and/or options go here.
options: {
// Target-specific options go here.
directory: 'public/bower_components',
output: 'public/license/bower.LICENSES'
}
}
},
'bower-licensechecker': {
options: {
/*directory: 'path/to/bower',*/
acceptable: [ 'MIT', 'BSD', 'LICENSE.md' ],
printTotal: true,
warn: {
nonBower: true,
noLicense: true,
allGood: true,
noGood: true
},
log: {
outFile: 'public/license/.licenses',
nonBower: true,
noLicense: true,
allGood: true,
noGood: true,
}
}
},
compress: {
tar: {
options: {
mode: 'tar',
archive: 'dist/opensourcepos.tgz',
level: 2,
},
files: dist_files
},
zip: {
options: {
mode: 'zip',
archive: 'dist/opensourcepos.zip',
},
files: dist_files
}
}
});
require('load-grunt-tasks')(grunt);
grunt.loadNpmTasks('grunt-composer');
grunt.loadNpmTasks('grunt-contrib-compress');
grunt.registerTask('default', ['wiredep', 'bower_concat', 'bowercopy', 'copy', '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']);
};

65
INSTALL.md Normal file
View File

@@ -0,0 +1,65 @@
## Server Requirements
- 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 the extensions `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 `10.x` is supported and might offer better performance.
- Apache `2.2` and `2.4` are supported. Nginx should work fine too, 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)>).
- For Windows based installations please read [the wiki](https://github.com/opensourcepos/opensourcepos/wiki). There are closed issues about this subject, as this topic has been covered a lot.
## Local install
First of all, if you're seeing the message `system folder missing` after launching your browser, that most likely means you have cloned the repository and have not built the project.
1. Download the a [pre-release for a specific branch](https://github.com/opensourcepos/opensourcepos/packages/1047637) or the latest stable [from GitHub here](https://github.com/opensourcepos/opensourcepos/releases). A repository clone will not work unless know how to build the project.
2. Create/locate a new MySQL database to install Open Source Point of Sale into.
3. Execute the file `database/database.sql` to create the tables needed.
4. Unzip and upload Open Source Point of Sale files to the web-server.
5. Open `application/config/database.php` and modify credentials to connect to your database if needed.
6. Open `application/config/config.php` and swap the encryption key with your own.
7. Go to your install `public` dir via the browser.
8. Log in using
- Username: admin
- Password: pointofsale
9. Enjoy!
10. Oops, an issue? Please make sure you read the FAQ, wiki page, and you checked open and closed issues on GitHub. PHP `display_errors` is disabled by default. Create an` application/config/.env` file from the `.env.example` to enable it in a development environment.
## Local install using Docker
OSPOS can be deployed using Docker on Linux, Mac, and Windows. Locally or on a host (server).
This setup dramatically reduces the number of possible issues as all setup is now done in a Dockerfile.
Docker runs natively on Mac and Linux. Windows requires WSL2 to be installed. Please refer to the Docker documentation for instructions on how to set it up on your platform.
**Be aware that this setup is not suited for production usage! Change the default passwords in the compose file before exposing the containers publicly.**
Start the containers using the following command
```
docker-compose up
```
## Nginx install using Docker
Since OSPOS version `3.3.0` the Docker installation offers a reverse proxy based on Nginx with a Let's Encrypt TLS certificate termination (aka HTTPS connection).
Let's Encrypt is a free certificate issuer, requiring a special installation that this Docker installation would take care of for you.
Any Let's Encrypt TLS certificate renewal will be managed automatically, therefore there is no need to worry about those details.
Before starting your installation, you should edit the `docker/.env` file and configure it to contain the correct MySQL/MariaDB and phpMyAdmin passwords (don't use the defaults!).
You will also need to register to Let's Encrypt. Configure your host domain name and Let's Encrypt email address in the `docker/.env` file.
The variable `STAGING` needs to be set to `0` when you are confident your configuration is correct so that Let's Encrypt will issue a final proper TLS certificate.
Follow local install steps, but instead use
```
docker/install-nginx.sh
```
Do **not** use below command on live deployments unless you want to tear everything down. All your disk content will be wiped!
```
docker/uninstall.sh
```
## Cloud install
If you choose DigitalOcean:
[Through this link](https://m.do.co/c/ac38c262507b), you will get a [**free $100, 60-day credit**](https://m.do.co/c/ac38c262507b). [Check the wiki](https://github.com/opensourcepos/opensourcepos/wiki/Getting-Started-installations) for further instructions on how to install the necessary components.

61
LICENSE
View File

@@ -1,20 +1,55 @@
The MIT License (MIT)
MIT License
Copyright (c) 2014 pappastech
Copyright (c) 2013-2021 jekkos
Copyright (c) 2015-2021 FrancescoUK (aka daN4cat)
Copyright (c) 2017-2021 Steve Ireland
Copyright (c) 2017-2021 objecttothis
Copyright (c) 2017-2021 odiea
Copyright (c) 2017-2021 WebShells
Copyright (c) 2020-2021 Andriux1990
Copyright (c) 2021 BudsieBuds
Copyright (c) 2019 Loyd Jayme (aka loydjayme25)
Copyright (c) 2018 Erasto Marroquin (aka Erastus)
Copyright (c) 2018 Nathan Sas (aka nathanzky)
Copyright (c) 2018 Emilio Silva (aka emi-silva)
Copyright (c) 2017 Jesus Guerrero Botella (aka i92guboj)
Copyright (c) 2017 Deep Shah (aka deepshah)
Copyright (c) 2017 Joshua Fernandez (aka joshua1234511)
Copyright (c) 2017 asadjaved63
Copyright (c) 2016-2017 Ramkrishna Mondal (aka RamkrishnaMondal)
Copyright (c) 2016-2017 Jorge Colmenarez (aka jlctmaster), frontuari.com
Copyright (c) 2016 Rinaldy@dbarber (aka rnld26)
Copyright (c) 2015 Aamir Shahzad (aka asakpke), RoshanTech.com
Copyright (c) 2015 Toni Haryanto (aka yllumi)
Copyright (c) 2013 Rob Garrison
Copyright (c) 2013 Parq
Copyright (c) 2013 Ramel
Copyright (c) 2012-2014 pappastech
Copyright (c) 2012 Alain
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
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
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 the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Additionally, you cannot claim copyright or ownership of the Software.
The footer signatures 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.
Footer signatures are in the format
"© 2010 - current year · opensourcepos.org · version - commit"
or "Open Source Point of Sale".

156
README.md
View File

@@ -1,17 +1,143 @@
Open Source Point of Sale is a web based point of sale system written in the PHP language. It uses MySQL as the data storage back-end and has a simple user interface.
<p align="center"><img src="branding/emblem.svg" alt="Open Source Point of Sale Logo" width="auto" height="200"></p>
<h3 align="center">Open Source Point of Sale</h3>
How to Install
--------------
1. Create/locate a new mysql database to install open source point of sale into
2. Execute the file database/database.sql to create the tables needed
3. unzip and upload Open Source Point of Sale files to web server
4. Copy application/config/database.php.tmpl to application/config/database.php
5. Modify application/config/database.php to connect to your database
6. Modify application/config/config.php encryption key with your own
7. Go to your point of sale install via the browser
8. LOGIN using
username: admin
password:pointofsale
9. Enjoy
<p align="center">
<a href="#-introduction">Introduction</a> · <a href="#-live-demo">Demo</a> · <a href="#-installation">Installation</a> ·
<a href="#-contributing">Contributing</a> · <a href="#-reporting-bugs">Bugs</a> · <a href="#-faq">FAQ</a> ·
<a href="#-keep-the-machine-running">Donate</a> · <a href="#-license">License</a> · <a href="#-credits">Credits</a>
</p>
A more extensive setup guide can be found at [this site](http://www.opensourceposguide.com/guide/gettingstarted/installation)
<p align="center">
<a href="https://travis-ci.org/opensourcepos/opensourcepos" target="_blank"><img src="https://travis-ci.com/opensourcepos/opensourcepos.svg?branch=master" alt="Build Status"></a>
<a href="https://gitter.im/opensourcepos?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge" target="_blank"><img src="https://badges.gitter.im/jekkos/opensourcepos.svg" alt="Join the chat at https://gitter.im/opensourcepos"></a>
<a href="https://badge.fury.io/gh/jekkos%2Fopensourcepos" target="_blank"><img src="https://badge.fury.io/gh/jekkos%2Fopensourcepos.svg" alt="Project Version"></a>
<a href="http://translate.opensourcepos.org/engage/opensourcepos/?utm_source=widget" target="_blank"><img src="http://translate.opensourcepos.org/widgets/opensourcepos/-/svg-badge.svg" alt="Translation Status"></a>
</p>
## 👋 Introduction
Open Source Point of Sale is a web-based point of sale system. The application is written in PHP, 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 uses CodeIgniter 3 as a framework and is based on Bootstrap 3 using Bootswatch themes. Along with improved functionality and security.
The features include:
- Stock management (items and kits with an extensible list of attributes)
- VAT, GST, customer, and multi tiers taxation
- Sale register with transactions logging
- Quotation and invoicing
- Expenses logging
- Cash up function
- Printing and emailing of receipts, invoices and quotations
- Barcode generation and printing
- Database of customers and suppliers
- Multiuser with permission control
- Reporting on sales, orders, expenses, inventory status and more
- Receivings
- Gift cards
- Rewards
- Restaurant tables
- Messaging (SMS)
- Multilanguage
- Selectable Bootstrap based UI theme with Bootswatch
- Mailchimp integration
- Optional Google reCAPTCHA to protect login page from brute force attacks
- GDPR ready
## 🧪 Live Demo
We've got a live version of our latest master running for you to play around with and test everything out. It's a containerized install that will reinitialize when new functionality is merged into our code repository.
You can [find the demo here](https://demo.opensourcepos.org/) and log in with these credentials.
👤 Username `admin`
🔒 Password `pointofsale`
If you bump into an issue, please check [the status page here](https://status.opensourcepos.org/) to confirm if the server is up and running.
## 🖥️ Development Demo
Besides the demo of the latest master, we also have a development server that builds when there's a new commit to our repository. It's mainly used for testing out new code before merging it into the master. [It can be found here](https://dev.opensourcepos.org/).
The log in credentials are the same as the regular live demo.
## 💾 Installation
Please **refrain from creating issues** about installation problems before having read 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.
This application can be set up in _many_ different ways and we only support the ones described in [the INSTALL.md file](INSTALL.md).
For more information and recommendations on support hardware, like receipt printers and barcode scanners, read [this page](https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet) on our wiki.
## ✨ Contributing
Everyone is more than welcome to help us improve this project. If you think you've got something to help us go forward, feel free to open a [pull request]().
Want to help translate Open Source Point of Sale in your language? You can find [our Weblate here](https://translate.opensourcepos.org), sign up, and start translating. You can subscribe to different languages to receive a notification once a new string is added or needs updating. Have a look at our [guidelines](https://github.com/opensourcepos/opensourcepos/wiki/Adding-translations) below to help you get started.
Only with the help of the community, we can keep language translations up to date. Thanks!
## 🐛 Reporting Bugs
Before creating a new issue, you'll need copy and include the info under the `System Info` tab in the configuration section in most cases. If that information is not provided in full, your issue might be tagged as pending.
If you're reporting a potential security issue, please refer to our security policy found in the [SECURITY.md](SECURITY.md) file.
NOTE: If you're running non-release code, please make sure you always run the latest database upgrade script and you download the latest master code.
## 📖 FAQ
- If you get the message `system folder missing`, then you have cloned the source using git and you need to run a build first. Check [INSTALL.md](INSTALL.md) for instructions or download latest zip file from [GitHub releases](https://github.com/opensourcepos/opensourcepos/releases) instead.
- If at login time you read `The installation is not correct, check your php.ini file.`, please check the error_log in `public` folder to understand what's wrong and make sure you read the [INSTALL.md](INSTALL.md). To know how to enable `error_log`, please read the comment in [issue #1770](https://github.com/opensourcepos/opensourcepos/issues/1770#issuecomment-355177943).
- If you installed your OSPOS under a web server subdir, please edit `public/.htaccess` and go to the lines with the comments `if in web root` or `if in subdir`, uncomment one and replace `<OSPOS path>` with your path and follow the instruction on the second comment line. If you face more issues, please read [issue #920](https://github.com/opensourcepos/opensourcepos/issues/920) for more information.
- Apache server configurations are SysAdmin issues and not strictly related to OSPOS. Please make sure you 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 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.
## 🏃 Keep the Machine Running
If you like our project, please consider buying us a coffee through the button below so we can keep adding features.
[![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MUN6AEG7NY6H8)\
Or refer to the [FUNDING.yml](.github/FUNDING.yml) file.
If you choose to deploy OSPOS in the cloud, you can contribute to the project by using DigitalOcean and signing up through our referral link. You'll receive a [free $100, 60-day credit](https://m.do.co/c/ac38c262507b) if you run OSPOS in a DigitalOcean droplet through [our referral link](https://m.do.co/c/ac38c262507b).
## 📄 License
Open Source Point of Sale is licensed under MIT terms with an important addition:
The footer signature "© 2010 - _current year_ · opensourcepos.org · 3.x.x - _hash_" including the version, hash and link our website MUST BE RETAINED, MUST BE VISIBLE IN EVERY PAGE and CANNOT BE MODIFIED.
Also worth noting:
_The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software._
For more details please read the [LICENSE](LICENSE) file.
It's important to understand that although you are free to use the application the copyright has to stay and the license agreement applies in all cases. Therefore any actions like:
- Removing LICENSE and/or any license files is prohibited
- Authoring the footer notice replacing it with your own or even worse claiming the copyright is absolutely prohibited
- Claiming full ownership of the code is prohibited
In short, you are free to use the application but you cannot claim any property on it.
Any person or company found breaching the license agreement might find a bunch of monkeys at the door ready to destroy their servers.
## 🙏 Credits
| <div align="center">JetBrains</div> | <div align="center">Travis CI</div> |
|--- | --- |
| <div align="center"><img src="https://upload.wikimedia.org/wikipedia/commons/9/9c/IntelliJ_IDEA_Icon.svg" alt="IntelliJ IDEA Logo" height="50"></div> | <div align="center"><img src="https://secrethub.io/img/travis-ci.svg" alt="Travis CI Logo" height="50"></div> |
| Many thanks to [JetBrains](https://www.jetbrains.com/) for providing a free license of [IntelliJ IDEA](https://www.jetbrains.com/idea/) to kindly support the development of OSPOS. | Many thanks to [Travis CI](https://travis-ci.org) for providing a free continuous integration service for open source projects. |

24
SECURITY.md Normal file
View File

@@ -0,0 +1,24 @@
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
- [Security Policy](#security-policy)
- [Supported Versions](#supported-versions)
- [Reporting a Vulnerability](#reporting-a-vulnerability)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
# Security Policy
## Supported Versions
We release patches for security vulnerabilities. Which versions are eligible to receive such patches depend on the CVSS v3.0 Rating:
| CVSS v3.0 | Supported Versions |
| --------- | -------------------------------------------------- |
| 7.3 | 3.3.5 |
| 9.8 | 3.3.6 |
## Reporting a Vulnerability
Please report (suspected) security vulnerabilities to **[jekkos@opensourcepos.org](mailto:jekkos@opensourcepos.org)**. You will receive a response from us within 48 hours. If the issue is confirmed, we will release a patch as soon as possible depending on complexity but historically within a few days.

17
UPGRADE.md Normal file
View File

@@ -0,0 +1,17 @@
## How to Upgrade
1. Back up all your current database and OSPOS code.
2. Make sure you have a copy of `application/config/config.php` and `application/config/database.php`.
3. Remove all directories.
4. Install the new OSPOS.
5. (Only applicable if upgrading from pre `3.0.0`) Run the database upgrade scripts from `database` dir (check which ones you need according to the version you are upgrading from).
6. Take the saved old `config.php` and upgrade the new `config.php` with any additional changes you made in the old.
Take time to understand if new config rules require some changes (e.g. encryption keys).
7. Take the saved old `database.php` and change the new `database.php` to contain all the configurations you had in the old setup.
Please try not to use the old layout, use the new one and copy the content of the config variables.
8. Restore the content of the old `uploads` folder into `public/uploads` one.
9. Once the new code is in place, the database is manually updated, and the config files are in place, you're good to go.
10. The first login will take longer because OSPOS post `3.0.0` will upgrade automatically to the latest version.
11. If everything went according to plan, you'll be able to use your upgraded version of OSPOS.
12. Still have issues? Please check the [README](README.md) and [GitHub issues](https://github.com/opensourcepos/opensourcepos/issues).
Maybe a similar issue has already been reported, and you can find your answer there.

View File

@@ -1,4 +0,0 @@
How to Upgrade
-------------------------
1. Replace all code from your point of sale installation with the code downloaded
2. Run the necessary database upgrades from the database folder

View File

@@ -1,33 +0,0 @@
Version 2.2.2
-------------
+ French language added
+ Thai language added
+ Upgrade to CodeIgniter 2.2 (contains several security fixes)
+ Database types for amounts all changed to decimal types (this will fix rounding errors in the sales and receivings reports) the rest of the application
+ Fix duplicated session cookies in http headers (this broke the application when running on nginx)
Version 2.1.1
-------------
+ Barcodes on the order receipt weren't generated correctly
+ Sales edit screen for detailed sales reports is now available with thickbox as in the rest of the application
+ Indonesian language files updated (Oktafianus)
+ Default language set to 'en' in config.php
+ Fix some css bugs in suspended sales section
+ Default cookie sess_time_expire set to 86400 (24h)
Version 2.1.0
-------------
+ Various upgrades, too numerous to list here.
+ Removed dependancy on ofc upload library due to vulnerability found.
Version 2.0.2
-------------
+ Fixed multiple giftcards issue per Bug #4 reported on Sourceforge where a
second giftcard added would have its balance set to $0 even if the sale did
not require the total of the second giftcard to pay the remaining amount due.
+ Small code cleanup
Version 2.1.0
-------------
* Upgrade to CodeIgniter 2.1.0
* Various small improvements

View File

@@ -1 +1,6 @@
Deny from all
<IfModule authz_core_module>
Require all denied
</IfModule>
<IfModule !authz_core_module>
Deny from all
</IfModule>

View File

@@ -1 +1,6 @@
deny from all
<IfModule authz_core_module>
Require all denied
</IfModule>
<IfModule !authz_core_module>
Deny from all
</IfModule>

View File

@@ -1,3 +1,4 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
@@ -7,4 +8,4 @@
<p>Directory access is forbidden.</p>
</body>
</html>
</html>

View File

@@ -0,0 +1,8 @@
CI_ENV="development"
#CI_ENV="production"
#Database Settings
MYSQL_HOST_NAME="localhost"
MYSQL_USERNAME="admin"
MYSQL_PASSWORD="pointofsale"
MYSQL_DB_NAME="ospos"

View File

@@ -1,4 +1,6 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| AUTO-LOADER
@@ -20,40 +22,64 @@
|
| 1. Packages
| 2. Libraries
| 3. Helper files
| 4. Custom config files
| 5. Language files
| 6. Models
| 3. Drivers
| 4. Helper files
| 5. Custom config files
| 6. Language files
| 7. Models
|
*/
/*
| -------------------------------------------------------------------
| Auto-load Packges
| Auto-load Packages
| -------------------------------------------------------------------
| Prototype:
|
| $autoload['packages'] = array(APPPATH.'third_party', '/usr/local/shared');
|
*/
$autoload['packages'] = array();
/*
| -------------------------------------------------------------------
| Auto-load Libraries
| -------------------------------------------------------------------
| These are the classes located in the system/libraries folder
| or in your application/libraries folder.
| These are the classes located in system/libraries/ or your
| application/libraries/ directory, with the addition of the
| 'database' library, which is somewhat of a special case.
|
| Prototype:
|
| $autoload['libraries'] = array('database', 'session', 'xmlrpc');
| $autoload['libraries'] = array('database', 'email', 'session');
|
| You can also supply an alternative library name to be assigned
| in the controller:
|
| $autoload['libraries'] = array('user_agent' => 'ua');
*/
$autoload['libraries'] = array('database', 'form_validation', 'session', 'user_agent', 'pagination', 'encryption');
$autoload['libraries'] = array('database','form_validation','session','user_agent', 'pagination');
/*
| -------------------------------------------------------------------
| Auto-load Drivers
| -------------------------------------------------------------------
| These classes are located in system/libraries/ or in your
| application/libraries/ directory, but are also placed inside their
| own subdirectory and they extend the CI_Driver_Library class. They
| offer multiple interchangeable driver options.
|
| Prototype:
|
| $autoload['drivers'] = array('cache');
|
| You can also supply an alternative property name to be assigned in
| the controller:
|
| $autoload['drivers'] = array('cache' => 'cch');
|
*/
$autoload['drivers'] = array();
/*
| -------------------------------------------------------------------
@@ -63,9 +89,7 @@ $autoload['libraries'] = array('database','form_validation','session','user_agen
|
| $autoload['helper'] = array('url', 'file');
*/
$autoload['helper'] = array('form','url','table','text','currency', 'html', 'download', 'directory');
$autoload['helper'] = array('form', 'url', 'tabular', 'text', 'locale', 'html', 'download', 'directory', 'migration', 'importfile');
/*
| -------------------------------------------------------------------
@@ -79,10 +103,8 @@ $autoload['helper'] = array('form','url','table','text','currency', 'html', 'dow
| config files. Otherwise, leave it blank.
|
*/
$autoload['config'] = array();
/*
| -------------------------------------------------------------------
| Auto-load Language files
@@ -95,22 +117,47 @@ $autoload['config'] = array();
| "codeigniter_lang.php" would be referenced as array('codeigniter');
|
*/
$autoload['language'] = array();
/*
| -------------------------------------------------------------------
| Auto-load Models
| -------------------------------------------------------------------
| Prototype:
|
| $autoload['model'] = array('model1', 'model2');
| $autoload['model'] = array('first_model', 'second_model');
|
| You can also supply an alternative model name to be assigned
| in the controller:
|
| $autoload['model'] = array('first_model' => 'first');
*/
$autoload['model'] = array('Appconfig','Person','Customer','Employee','Module','Item', 'Item_taxes', 'Sale', 'Sale_suspended', 'Supplier','Inventory','Receiving','Giftcard', 'Item_kit', 'Item_kit_items','Stock_locations','Item_quantities');
/* End of file autoload.php */
/* Location: ./application/config/autoload.php */
$autoload['model'] = array(
'Appconfig',
'Person',
'Customer',
'Employee',
'Module',
'Item',
'Item_taxes',
'Sale',
'Supplier',
'Inventory',
'Receiving',
'Giftcard',
'Item_kit',
'Item_kit_items',
'Stock_location',
'Item_quantity',
'Dinner_table',
'Customer_rewards',
'Rewards',
'Expense_category',
'Expense',
'Cashup',
'Attribute',
'Tax',
'Tax_category',
'Tax_code',
'Tax_jurisdiction'
);

View File

@@ -1,18 +1,50 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
<?php defined('BASEPATH') OR exit('No direct script access allowed');
/*
|--------------------------------------------------------------------------
| Code Version
|--------------------------------------------------------------------------
|
| This is the version of Open Source Point of Sale you're running
|
|
*/
$config['application_version'] = '3.3.8';
/*
|--------------------------------------------------------------------------
| Commit sha1
|--------------------------------------------------------------------------
|
| This is the commit hash for the version you are currently using
|
|
*/
$config['commit_sha1'] = 'dev';
/*
|--------------------------------------------------------------------------
| Internal to OSPOS XSS Clean
|--------------------------------------------------------------------------
|
| This is to indicated whether we want XSS clean to be performed or not
| By default it's enabled as it's assumed the installation has Internet access and needs to be protected,
| however intranet only installations may not need this so they can set FALSE to improve performance
|
*/
$config['ospos_xss_clean'] = TRUE;
/*
|--------------------------------------------------------------------------
| Code Version
| Enable database query logging hook
|--------------------------------------------------------------------------
|
| This is the version of Open Source Point of Sale you're running
|
| Logs are stored in application/logs
|
*/
$config['application_version'] = '2.3';
$config['db_log_enabled'] = FALSE;
/*
|--------------------------------------------------------------------------
/*
|--------------------------------------------------------------------------
| Base Site URL
|--------------------------------------------------------------------------
|
@@ -21,13 +53,22 @@ $config['application_version'] = '2.3';
|
| http://example.com/
|
| If this is not set then CodeIgniter will guess the protocol, domain and
| path to your installation.
| WARNING: You MUST set this value!
|
| If it is not set, then CodeIgniter will try guess the protocol and path
| your installation, but due to security concerns the hostname will be set
| to $_SERVER['SERVER_ADDR'] if available, or localhost otherwise.
| The auto-detection mechanism exists only for convenience during
| development and MUST NOT be used in production!
|
| If you need to allow multiple domains, remember that this file is still
| a PHP script and you can easily do that on your own.
|
*/
$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$config['base_url'] .= "://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
$config['https_on'] = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_ENV['FORCE_HTTPS']) && $_ENV['FORCE_HTTPS'] == 'true');
$config['base_url'] = $config['https_on'] ? 'https' : 'http';
$config['base_url'] .= '://' . ((isset($_SERVER['HTTP_HOST'])) ? $_SERVER['HTTP_HOST'] : 'localhost') ;
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
/*
|--------------------------------------------------------------------------
@@ -39,7 +80,7 @@ $config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER
| variable so that it is blank.
|
*/
$config['index_page'] = 'index.php';
$config['index_page'] = '';
/*
|--------------------------------------------------------------------------
@@ -47,17 +88,16 @@ $config['index_page'] = 'index.php';
|--------------------------------------------------------------------------
|
| This item determines which server global should be used to retrieve the
| URI string. The default setting of 'AUTO' works for most servers.
| URI string. The default setting of 'REQUEST_URI' works for most servers.
| If your links do not seem to work, try one of the other delicious flavors:
|
| 'AUTO' Default - auto detects
| 'PATH_INFO' Uses the PATH_INFO
| 'QUERY_STRING' Uses the QUERY_STRING
| 'REQUEST_URI' Uses the REQUEST_URI
| 'ORIG_PATH_INFO' Uses the ORIG_PATH_INFO
| 'REQUEST_URI' Uses $_SERVER['REQUEST_URI']
| 'QUERY_STRING' Uses $_SERVER['QUERY_STRING']
| 'PATH_INFO' Uses $_SERVER['PATH_INFO']
|
| WARNING: If you set this to 'PATH_INFO', URIs will always be URL-decoded!
*/
$config['uri_protocol'] = 'AUTO';
$config['uri_protocol'] = 'REQUEST_URI';
/*
|--------------------------------------------------------------------------
@@ -67,9 +107,8 @@ $config['uri_protocol'] = 'AUTO';
| This option allows you to add a suffix to all URLs generated by CodeIgniter.
| For more information please see the user guide:
|
| http://codeigniter.com/user_guide/general/urls.html
| https://codeigniter.com/user_guide/general/urls.html
*/
$config['url_suffix'] = '';
/*
@@ -82,7 +121,7 @@ $config['url_suffix'] = '';
| than english.
|
*/
$config['language'] = 'en';
$config['language'] = 'english';
/*
|--------------------------------------------------------------------------
@@ -92,6 +131,8 @@ $config['language'] = 'en';
| This determines which character set is used by default in various methods
| that require a character set to be provided.
|
| See http://php.net/htmlspecialchars for a list of supported charsets.
|
*/
$config['charset'] = 'UTF-8';
@@ -106,7 +147,6 @@ $config['charset'] = 'UTF-8';
*/
$config['enable_hooks'] = TRUE;
/*
|--------------------------------------------------------------------------
| Class Extension Prefix
@@ -115,33 +155,56 @@ $config['enable_hooks'] = TRUE;
| This item allows you to set the filename/classname prefix when extending
| native libraries. For more information please see the user guide:
|
| http://codeigniter.com/user_guide/general/core_classes.html
| http://codeigniter.com/user_guide/general/creating_libraries.html
| https://codeigniter.com/user_guide/general/core_classes.html
| https://codeigniter.com/user_guide/general/creating_libraries.html
|
*/
$config['subclass_prefix'] = 'MY_';
/*
|--------------------------------------------------------------------------
| Composer auto-loading
|--------------------------------------------------------------------------
|
| Enabling this setting will tell CodeIgniter to look for a Composer
| package auto-loader script in application/vendor/autoload.php.
|
| $config['composer_autoload'] = TRUE;
|
| Or if you have your vendor/ directory located somewhere else, you
| can opt to set a specific path as well:
|
| $config['composer_autoload'] = '/path/to/vendor/autoload.php';
|
| For more information about Composer, please visit http://getcomposer.org/
|
| Note: This will NOT disable or override the CodeIgniter-specific
| autoloading (application/config/autoload.php)
*/
$config['composer_autoload'] = realpath(APPPATH . '../vendor/autoload.php');
/*
|--------------------------------------------------------------------------
| Allowed URL Characters
|--------------------------------------------------------------------------
|
| This lets you specify with a regular expression which characters are permitted
| within your URLs. When someone tries to submit a URL with disallowed
| characters they will get a warning message.
| This lets you specify which characters are permitted within your URLs.
| When someone tries to submit a URL with disallowed characters they will
| get a warning message.
|
| As a security measure you are STRONGLY encouraged to restrict URLs to
| as few characters as possible. By default only these are allowed: a-z 0-9~%.:_-
|
| Leave blank to allow all characters -- but only if you are insane.
|
| The configured value is actually a regular expression character group
| and it will be executed as: ! preg_match('/^[<permitted_uri_chars>]+$/i
|
| DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!!
|
*/
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
/*
|--------------------------------------------------------------------------
| Enable Query Strings
@@ -167,19 +230,17 @@ $config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
| use segment based URLs.
|
*/
$config['allow_get_array'] = TRUE;
$config['allow_get_array'] = TRUE;
$config['enable_query_strings'] = FALSE;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';
$config['directory_trigger'] = 'd'; // experimental not currently in use
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';
$config['directory_trigger'] = 'd';
/*
|--------------------------------------------------------------------------
| Error Logging Threshold
|--------------------------------------------------------------------------
|
| If you have enabled error logging, you can set an error threshold to
| determine what gets logged. Threshold options are:
| You can enable error logging by setting a threshold over zero. The
| threshold determines what gets logged. Threshold options are:
|
@@ -189,6 +250,10 @@ $config['directory_trigger'] = 'd'; // experimental not currently in use
| 3 = Informational Messages
| 4 = All Messages
|
| You can also pass an array with threshold levels to show individual error types
|
| array(2) = Debug Messages, without Error Messages
|
| For a live site you'll usually only enable Errors (1) to be logged otherwise
| your log files will fill up very fast.
|
@@ -201,11 +266,37 @@ $config['log_threshold'] = 0;
|--------------------------------------------------------------------------
|
| Leave this BLANK unless you would like to set something other than the default
| application/logs/ folder. Use a full server path with trailing slash.
| application/logs/ directory. Use a full server path with trailing slash.
|
*/
$config['log_path'] = '';
/*
|--------------------------------------------------------------------------
| Log File Extension
|--------------------------------------------------------------------------
|
| The default filename extension for log files. The default 'php' allows for
| protecting the log files via basic scripting, when they are to be stored
| under a publicly accessible directory.
|
| Note: Leaving it blank will default to 'php'.
|
*/
$config['log_file_extension'] = '';
/*
|--------------------------------------------------------------------------
| Log File Permissions
|--------------------------------------------------------------------------
|
| The file system permissions to be applied on newly created log files.
|
| IMPORTANT: This MUST be an integer (no quotes) and you MUST use octal
| integer notation (i.e. 0700, 0644, etc.)
*/
$config['log_file_permissions'] = 0640;
/*
|--------------------------------------------------------------------------
| Date Format for Logs
@@ -217,71 +308,152 @@ $config['log_path'] = '';
*/
$config['log_date_format'] = 'Y-m-d H:i:s';
/*
|--------------------------------------------------------------------------
| Error Views Directory Path
|--------------------------------------------------------------------------
|
| Leave this BLANK unless you would like to set something other than the default
| application/views/errors/ directory. Use a full server path with trailing slash.
|
*/
$config['error_views_path'] = '';
/*
|--------------------------------------------------------------------------
| Cache Directory Path
|--------------------------------------------------------------------------
|
| Leave this BLANK unless you would like to set something other than the default
| system/cache/ folder. Use a full server path with trailing slash.
| application/cache/ directory. Use a full server path with trailing slash.
|
*/
$config['cache_path'] = '';
/*
|--------------------------------------------------------------------------
| Cache Include Query String
|--------------------------------------------------------------------------
|
| Whether to take the URL query string into consideration when generating
| output cache files. Valid options are:
|
| FALSE = Disabled
| TRUE = Enabled, take all query parameters into account.
| Please be aware that this may result in numerous cache
| files generated for the same page over and over again.
| array('q') = Enabled, but only take into account the specified list
| of query parameters.
|
*/
$config['cache_query_string'] = FALSE;
/*
|--------------------------------------------------------------------------
| Encryption Key
|--------------------------------------------------------------------------
|
| If you use the Encryption class or the Session class you
| MUST set an encryption key. See the user guide for info.
| If you use the Encryption class, you must set an encryption key.
| See the user guide for more info.
|
| https://codeigniter.com/user_guide/libraries/encryption.html
|
*/
$config['encryption_key'] = 'PUT_YOUR_ENCRYPTION_KEY_HERE';
$config['encryption_key'] = getenv('ENCRYPTION_KEY') ? getenv('ENCRYPTION_KEY') : '';
/*
|--------------------------------------------------------------------------
| Session Variables
|--------------------------------------------------------------------------
|
| 'sess_cookie_name' = the name you want for the cookie
| 'sess_expiration' = the number of SECONDS you want the session to last.
| by default sessions last 7200 seconds (two hours). Set to zero for no expiration.
| 'sess_expire_on_close' = Whether to cause the session to expire automatically
| when the browser window is closed
| 'sess_encrypt_cookie' = Whether to encrypt the cookie
| 'sess_use_database' = Whether to save the session data to a database
| 'sess_table_name' = The name of the session database table
| 'sess_match_ip' = Whether to match the user's IP address when reading the session data
| 'sess_match_useragent' = Whether to match the User Agent when reading the session data
| 'sess_time_to_update' = how many seconds between CI refreshing Session Information
| 'sess_driver'
|
| The storage driver to use: files, database, redis, memcached
|
| 'sess_cookie_name'
|
| The session cookie name, must contain only [0-9a-z_-] characters
|
| 'sess_expiration'
|
| The number of SECONDS you want the session to last.
| Setting to 0 (zero) means expire when the browser is closed.
|
| 'sess_save_path'
|
| The location to save sessions to, driver dependent.
|
| For the 'files' driver, it's a path to a writable directory.
| WARNING: Only absolute paths are supported!
|
| For the 'database' driver, it's a table name.
| Please read up the manual for the format with other session drivers.
|
| IMPORTANT: You are REQUIRED to set a valid save path!
|
| 'sess_match_ip'
|
| Whether to match the user's IP address when reading the session data.
|
| WARNING: If you're using the database driver, don't forget to update
| your session table's PRIMARY KEY when changing this setting.
|
| 'sess_time_to_update'
|
| How many seconds between CI regenerating the session ID.
|
| 'sess_regenerate_destroy'
|
| Whether to destroy session data associated with the old session ID
| when auto-regenerating the session ID. When set to FALSE, the data
| will be later deleted by the garbage collector.
|
| Other session cookie settings are shared with the rest of the application,
| except for 'cookie_prefix' and 'cookie_httponly', which are ignored here.
|
*/
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 0;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ospos_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = FAlSE;
$config['sess_time_to_update'] = 86400;
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ospos_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
/*
|--------------------------------------------------------------------------
| Cookie Related Variables
|--------------------------------------------------------------------------
|
| 'cookie_prefix' = Set a prefix if you need to avoid collisions
| 'cookie_domain' = Set to .your-domain.com for site-wide cookies
| 'cookie_path' = Typically will be a forward slash
| 'cookie_secure' = Cookies will only be set if a secure HTTPS connection exists.
| 'cookie_prefix' = Set a cookie name prefix if you need to avoid collisions
| 'cookie_domain' = Set to .your-domain.com for site-wide cookies
| 'cookie_path' = Typically will be a forward slash
| 'cookie_secure' = Cookie will only be set if a secure HTTPS connection exists.
| 'cookie_httponly' = Cookie will only be accessible via HTTP(S) (no javascript)
|
| Note: These settings (with the exception of 'cookie_prefix' and
| 'cookie_httponly') will also affect sessions.
|
*/
$config['cookie_prefix'] = "";
$config['cookie_domain'] = "";
$config['cookie_path'] = "/";
$config['cookie_secure'] = FALSE;
$config['cookie_prefix'] = '';
$config['cookie_domain'] = '';
$config['cookie_path'] = '/';
$config['cookie_secure'] = $config['https_on'];
$config['cookie_httponly'] = TRUE;
/*
|--------------------------------------------------------------------------
| Standardize newlines
|--------------------------------------------------------------------------
|
| Determines whether to standardize newline characters in input data,
| meaning to replace \r\n, \r, \n occurrences with the PHP_EOL value.
|
| This is particularly useful for portability between UNIX-based OSes,
| (usually \n) and Windows (\r\n).
|
*/
$config['standardize_newlines'] = FALSE;
/*
|--------------------------------------------------------------------------
@@ -291,6 +463,9 @@ $config['cookie_secure'] = FALSE;
| Determines whether the XSS filter is always active when GET, POST or
| COOKIE data is encountered
|
| WARNING: This feature is DEPRECATED and currently available only
| for backwards compatibility purposes!
|
*/
$config['global_xss_filtering'] = FALSE;
@@ -305,11 +480,15 @@ $config['global_xss_filtering'] = FALSE;
| 'csrf_token_name' = The token name
| 'csrf_cookie_name' = The cookie name
| 'csrf_expire' = The number in seconds the token should expire.
| 'csrf_regenerate' = Regenerate token on every submission
| 'csrf_exclude_uris' = Array of URIs which ignore CSRF checks
*/
$config['csrf_protection'] = FALSE;
$config['csrf_token_name'] = 'csrf_test_name';
$config['csrf_cookie_name'] = 'csrf_cookie_name';
$config['csrf_protection'] = TRUE;
$config['csrf_token_name'] = 'csrf_ospos_v3';
$config['csrf_cookie_name'] = 'csrf_cookie_ospos_v3';
$config['csrf_expire'] = 7200;
$config['csrf_regenerate'] = TRUE;
$config['csrf_exclude_uris'] = array('login');
/*
|--------------------------------------------------------------------------
@@ -321,6 +500,9 @@ $config['csrf_expire'] = 7200;
| Even if it does, however, not all browsers support compression
| so enable only if you are reasonably sure your visitors can handle it.
|
| Only used if zlib.output_compression is turned off in your php.ini.
| Please do not use it together with httpd-level output compression.
|
| VERY IMPORTANT: If you are getting a blank page when compression is enabled it
| means you are prematurely outputting something to your browser. It could
| even be a line of whitespace at the end of one of your scripts. For
@@ -330,20 +512,20 @@ $config['csrf_expire'] = 7200;
*/
$config['compress_output'] = FALSE;
/*
|--------------------------------------------------------------------------
| Master Time Reference
|--------------------------------------------------------------------------
|
| Options are 'local' or 'gmt'. This pref tells the system whether to use
| your server's local time as the master 'now' reference, or convert it to
| GMT. See the 'date helper' page of the user guide for information
| regarding date handling.
| Options are 'local' or any PHP supported timezone. This preference tells
| the system whether to use your server's local time as the master 'now'
| reference, or convert it to the configured one timezone. See the 'date
| helper' page of the user guide for information regarding date handling.
|
*/
$config['time_reference'] = 'local';
/*
|--------------------------------------------------------------------------
| Rewrite PHP Short Tags
@@ -353,23 +535,25 @@ $config['time_reference'] = 'local';
| can rewrite the tags on-the-fly, enabling you to utilize that syntax
| in your view files. Options are TRUE or FALSE (boolean)
|
| Note: You need to have eval() enabled for this to work.
|
*/
$config['rewrite_short_tags'] = FALSE;
/*
|--------------------------------------------------------------------------
| Reverse Proxy IPs
|--------------------------------------------------------------------------
|
| If your server is behind a reverse proxy, you must whitelist the proxy IP
| addresses from which CodeIgniter should trust the HTTP_X_FORWARDED_FOR
| header in order to properly identify the visitor's IP address.
| Comma-delimited, e.g. '10.0.1.200,10.0.1.201'
| If your server is behind a reverse proxy, you must whitelist the proxy
| IP addresses from which CodeIgniter should trust headers such as
| HTTP_X_FORWARDED_FOR and HTTP_CLIENT_IP in order to properly identify
| the visitor's IP address.
|
| You can use both an array or a comma-separated list of proxy addresses,
| as well as specifying whole subnets. Here are a few examples:
|
| Comma-separated: '10.0.1.200,192.168.5.0/24'
| Array: array('10.0.1.200', '192.168.5.0/24')
*/
$config['proxy_ips'] = '';
/* End of file config.php */
/* Location: ./application/config/config.php */

View File

@@ -1,4 +1,17 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
|--------------------------------------------------------------------------
| Display Debug backtrace
|--------------------------------------------------------------------------
|
| If set to TRUE, a backtrace will be displayed along with php errors. If
| error_reporting is disabled, the backtrace will not display, regardless
| of this setting
|
*/
defined('SHOW_DEBUG_BACKTRACE') OR define('SHOW_DEBUG_BACKTRACE', TRUE);
/*
|--------------------------------------------------------------------------
@@ -13,10 +26,10 @@
| always be used to set the mode correctly.
|
*/
define('FILE_READ_MODE', 0644);
define('FILE_WRITE_MODE', 0666);
define('DIR_READ_MODE', 0755);
define('DIR_WRITE_MODE', 0777);
defined('FILE_READ_MODE') OR define('FILE_READ_MODE', 0644);
defined('FILE_WRITE_MODE') OR define('FILE_WRITE_MODE', 0666);
defined('DIR_READ_MODE') OR define('DIR_READ_MODE', 0755);
defined('DIR_WRITE_MODE') OR define('DIR_WRITE_MODE', 0755);
/*
|--------------------------------------------------------------------------
@@ -26,16 +39,119 @@ define('DIR_WRITE_MODE', 0777);
| These modes are used when working with fopen()/popen()
|
*/
defined('FOPEN_READ') OR define('FOPEN_READ', 'rb');
defined('FOPEN_READ_WRITE') OR define('FOPEN_READ_WRITE', 'r+b');
defined('FOPEN_WRITE_CREATE_DESTRUCTIVE') OR define('FOPEN_WRITE_CREATE_DESTRUCTIVE', 'wb'); // truncates existing file data, use with care
defined('FOPEN_READ_WRITE_CREATE_DESTRUCTIVE') OR define('FOPEN_READ_WRITE_CREATE_DESTRUCTIVE', 'w+b'); // truncates existing file data, use with care
defined('FOPEN_WRITE_CREATE') OR define('FOPEN_WRITE_CREATE', 'ab');
defined('FOPEN_READ_WRITE_CREATE') OR define('FOPEN_READ_WRITE_CREATE', 'a+b');
defined('FOPEN_WRITE_CREATE_STRICT') OR define('FOPEN_WRITE_CREATE_STRICT', 'xb');
defined('FOPEN_READ_WRITE_CREATE_STRICT') OR define('FOPEN_READ_WRITE_CREATE_STRICT', 'x+b');
define('FOPEN_READ', 'rb');
define('FOPEN_READ_WRITE', 'r+b');
define('FOPEN_WRITE_CREATE_DESTRUCTIVE', 'wb'); // truncates existing file data, use with care
define('FOPEN_READ_WRITE_CREATE_DESTRUCTIVE', 'w+b'); // truncates existing file data, use with care
define('FOPEN_WRITE_CREATE', 'ab');
define('FOPEN_READ_WRITE_CREATE', 'a+b');
define('FOPEN_WRITE_CREATE_STRICT', 'xb');
define('FOPEN_READ_WRITE_CREATE_STRICT', 'x+b');
/*
|--------------------------------------------------------------------------
| Exit Status Codes
|--------------------------------------------------------------------------
|
| Used to indicate the conditions under which the script is exit()ing.
| While there is no universal standard for error codes, there are some
| broad conventions. Three such conventions are mentioned below, for
| those who wish to make use of them. The CodeIgniter defaults were
| chosen for the least overlap with these conventions, while still
| leaving room for others to be defined in future versions and user
| applications.
|
| The three main conventions used for determining exit status codes
| are as follows:
|
| Standard C/C++ Library (stdlibc):
| http://www.gnu.org/software/libc/manual/html_node/Exit-Status.html
| (This link also contains other GNU-specific conventions)
| BSD sysexits.h:
| http://www.gsp.com/cgi-bin/man.cgi?section=3&topic=sysexits
| Bash scripting:
| http://tldp.org/LDP/abs/html/exitcodes.html
|
*/
defined('EXIT_SUCCESS') OR define('EXIT_SUCCESS', 0); // no errors
defined('EXIT_ERROR') OR define('EXIT_ERROR', 1); // generic error
defined('EXIT_CONFIG') OR define('EXIT_CONFIG', 3); // configuration error
defined('EXIT_UNKNOWN_FILE') OR define('EXIT_UNKNOWN_FILE', 4); // file not found
defined('EXIT_UNKNOWN_CLASS') OR define('EXIT_UNKNOWN_CLASS', 5); // unknown class
defined('EXIT_UNKNOWN_METHOD') OR define('EXIT_UNKNOWN_METHOD', 6); // unknown class member
defined('EXIT_USER_INPUT') OR define('EXIT_USER_INPUT', 7); // invalid user input
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);
/* End of file constants.php */
/* Location: ./application/config/constants.php */
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('NEW_ITEM', -1);
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);
define('PRICE_MODE_STANDARD', 0);
define('PRICE_MODE_KIT', 1);
define('PAYMENT_TYPE_UNASSIGNED', '--');
define('CASH_ADJUSTMENT_TRUE', 1);
define('CASH_ADJUSTMENT_FALSE', 0);
define('CASH_MODE_TRUE', 1);
define('CASH_MODE_FALSE', 0);

View File

@@ -0,0 +1,96 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| DATABASE CONNECTIVITY SETTINGS
| -------------------------------------------------------------------
| This file will contain the settings needed to access your database.
|
| For complete instructions please consult the 'Database Connection'
| page of the User Guide.
|
| -------------------------------------------------------------------
| EXPLANATION OF VARIABLES
| -------------------------------------------------------------------
|
| ['dsn'] The full DSN string describe a connection to the database.
| ['hostname'] The hostname of your database server.
| ['username'] The username used to connect to the database
| ['password'] The password used to connect to the database
| ['database'] The name of the database you want to connect to
| ['dbdriver'] The database driver. e.g.: mysqli.
| Currently supported:
| cubrid, ibase, mssql, mysql, mysqli, oci8,
| odbc, pdo, postgre, sqlite, sqlite3, sqlsrv
| ['dbprefix'] You can add an optional prefix, which will be added
| to the table name when using the Query Builder class
| ['pconnect'] TRUE/FALSE - Whether to use a persistent connection
| ['db_debug'] TRUE/FALSE - Whether database errors should be displayed.
| ['cache_on'] TRUE/FALSE - Enables/disables query caching
| ['cachedir'] The path to the folder where cache files should be stored
| ['char_set'] The character set used in communicating with the database
| ['dbcollat'] The character collation used in communicating with the database
| NOTE: For MySQL and MySQLi databases, this setting is only used
| as a backup if your server is running PHP < 5.2.3 or MySQL < 5.0.7
| (and in table creation queries made with DB Forge).
| There is an incompatibility in PHP with mysql_real_escape_string() which
| can make your site vulnerable to SQL injection if you are using a
| multi-byte character set and are running versions lower than these.
| Sites using Latin-1 or UTF-8 database character set and collation are unaffected.
| ['swap_pre'] A default table prefix that should be swapped with the dbprefix
| ['encrypt'] Whether or not to use an encrypted connection.
|
| 'mysql' (deprecated), 'sqlsrv' and 'pdo/sqlsrv' drivers accept TRUE/FALSE
| 'mysqli' and 'pdo/mysql' drivers accept an array with the following options:
|
| 'ssl_key' - Path to the private key file
| 'ssl_cert' - Path to the public key certificate file
| 'ssl_ca' - Path to the certificate authority file
| 'ssl_capath' - Path to a directory containing trusted CA certificats in PEM format
| 'ssl_cipher' - List of *allowed* ciphers to be used for the encryption, separated by colons (':')
| 'ssl_verify' - TRUE/FALSE; Whether verify the server certificate or not ('mysqli' only)
|
| ['compress'] Whether or not to use client compression (MySQL only)
| ['stricton'] TRUE/FALSE - forces 'Strict Mode' connections
| - good for ensuring strict SQL while developing
| ['ssl_options'] Used to set various SSL options that can be used when making SSL connections.
| ['failover'] array - A array with 0 or more data for connections if the main should fail.
| ['save_queries'] TRUE/FALSE - Whether to "save" all executed queries.
| NOTE: Disabling this will also effectively disable both
| $this->db->last_query() and profiling of DB queries.
| When you run a query, with this setting set to TRUE (default),
| CodeIgniter will store the SQL statement for debugging purposes.
| However, this may cause high memory usage, especially if you run
| a lot of SQL queries ... disable this to avoid that problem.
|
| The $active_group variable lets you choose which connection group to
| make active. By default there is only one group (the 'default' group).
|
| The $query_builder variables lets you determine whether or not to load
| the query builder class.
*/
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => !empty(getenv('MYSQL_HOST_NAME')) ? getenv('MYSQL_HOST_NAME') : 'localhost',
'username' => !empty(getenv('MYSQL_USERNAME')) ? getenv('MYSQL_USERNAME') : 'admin',
'password' => !empty(getenv('MYSQL_PASSWORD')) ? getenv('MYSQL_PASSWORD') : 'pointofsale',
'database' => !empty(getenv('MYSQL_DB_NAME')) ? getenv('MYSQL_DB_NAME') : 'ospos',
'dbdriver' => 'mysqli',
'dbprefix' => 'ospos_',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);

View File

@@ -1,69 +0,0 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| DATABASE CONNECTIVITY SETTINGS
| -------------------------------------------------------------------
| This file will contain the settings needed to access your database.
|
| For complete instructions please consult the 'Database Connection'
| page of the User Guide.
|
| -------------------------------------------------------------------
| EXPLANATION OF VARIABLES
| -------------------------------------------------------------------
|
| ['hostname'] The hostname of your database server.
| ['username'] The username used to connect to the database
| ['password'] The password used to connect to the database
| ['database'] The name of the database you want to connect to
| ['dbdriver'] The database type. ie: mysql. Currently supported:
mysql, mysqli, postgre, odbc, mssql, sqlite, oci8
| ['dbprefix'] You can add an optional prefix, which will be added
| to the table name when using the Active Record class
| ['pconnect'] TRUE/FALSE - Whether to use a persistent connection
| ['db_debug'] TRUE/FALSE - Whether database errors should be displayed.
| ['cache_on'] TRUE/FALSE - Enables/disables query caching
| ['cachedir'] The path to the folder where cache files should be stored
| ['char_set'] The character set used in communicating with the database
| ['dbcollat'] The character collation used in communicating with the database
| NOTE: For MySQL and MySQLi databases, this setting is only used
| as a backup if your server is running PHP < 5.2.3 or MySQL < 5.0.7
| (and in table creation queries made with DB Forge).
| There is an incompatibility in PHP with mysql_real_escape_string() which
| can make your site vulnerable to SQL injection if you are using a
| multi-byte character set and are running versions lower than these.
| Sites using Latin-1 or UTF-8 database character set and collation are unaffected.
| ['swap_pre'] A default table prefix that should be swapped with the dbprefix
| ['autoinit'] Whether or not to automatically initialize the database.
| ['stricton'] TRUE/FALSE - forces 'Strict Mode' connections
| - good for ensuring strict SQL while developing
|
| The $active_group variable lets you choose which connection group to
| make active. By default there is only one group (the 'default' group).
|
| The $active_record variables lets you determine whether or not to load
| the active record class
*/
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = '';
$db['default']['password'] = '';
$db['default']['database'] = '';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = 'ospos_';
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
/* End of file database.php */
/* Location: ./application/config/database.php */

View File

@@ -1,15 +1,24 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$_doctypes = array(
'xhtml11' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">',
'xhtml1-strict' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',
'xhtml1-trans' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
'xhtml1-frame' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">',
'html5' => '<!DOCTYPE html>',
'html4-strict' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">',
'html4-trans' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">',
'html4-frame' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">'
);
/* End of file doctypes.php */
/* Location: ./application/config/doctypes.php */
'xhtml11' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">',
'xhtml1-strict' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',
'xhtml1-trans' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
'xhtml1-frame' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">',
'xhtml-basic11' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">',
'html5' => '<!DOCTYPE html>',
'html4-strict' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">',
'html4-trans' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">',
'html4-frame' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">',
'mathml1' => '<!DOCTYPE math SYSTEM "http://www.w3.org/Math/DTD/mathml1/mathml.dtd">',
'mathml2' => '<!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd">',
'svg10' => '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">',
'svg11' => '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">',
'svg11-basic' => '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd">',
'svg11-tiny' => '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">',
'xhtml-math-svg-xh' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">',
'xhtml-math-svg-sh' => '<!DOCTYPE svg:svg PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">',
'xhtml-rdfa-1' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">',
'xhtml-rdfa-2' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">'
);

View 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;

View File

@@ -1,4 +1,6 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| Foreign Characters
@@ -14,51 +16,88 @@ $foreign_characters = array(
'/Ä/' => 'Ae',
'/Ü/' => 'Ue',
'/Ö/' => 'Oe',
'/À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ/' => 'A',
'/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª/' => 'a',
'/À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ|Α|Ά|Ả|Ạ|Ầ|Ẫ|Ẩ|Ậ|Ằ|Ắ|Ẵ|Ẳ|Ặ|А/' => 'A',
'/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª|α|ά|ả|ạ|ầ|ấ|ẫ|ẩ|ậ|ằ|ắ|ẵ|ẳ|ặ|а/' => 'a',
'/Б/' => 'B',
'/б/' => 'b',
'/Ç|Ć|Ĉ|Ċ|Č/' => 'C',
'/ç|ć|ĉ|ċ|č/' => 'c',
'/Ð|Ď|Đ/' => 'D',
'/ð|ď|đ/' => 'd',
'/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě/' => 'E',
'/è|é|ê|ë|ē|ĕ|ė|ę|ě/' => 'e',
'/Ĝ|Ğ|Ġ|Ģ/' => 'G',
'/ĝ|ğ|ġ|ģ/' => 'g',
'/Д/' => 'D',
'/д/' => 'd',
'/Ð|Ď|Đ|Δ/' => 'Dj',
'/ð|ď|đ|δ/' => 'dj',
'/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě|Ε|Έ|Ẽ|Ẻ|Ẹ|Ề|Ế|Ễ|Ể|Ệ|Е/' => 'E',
'/è|é|ê|ë|ē|ĕ|ė|ę|ě|έ|ε|ẽ|ẻ|ẹ|ề|ế|ễ|ể|ệ|е/' => 'e',
'/Ф/' => 'F',
'/ф/' => 'f',
'/Ĝ|Ğ|Ġ|Ģ|Γ|Г|Ґ/' => 'G',
'/ĝ|ğ|ġ|ģ|γ|г|ґ/' => 'g',
'/Ĥ|Ħ/' => 'H',
'/ĥ|ħ/' => 'h',
'/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ/' => 'I',
'/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı/' => 'i',
'/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ|Η|Ή|Ί|Ι|Ϊ|Ỉ|Ị|И|Ы/' => 'I',
'/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı|η|ή|ί|ι|ϊ|ỉ|ị|и|ы|ї/' => 'i',
'/Ĵ/' => 'J',
'/ĵ/' => 'j',
'/Ķ/' => 'K',
'/ķ/' => 'k',
'/Ĺ|Ļ|Ľ|Ŀ|Ł/' => 'L',
'/ĺ|ļ|ľ|ŀ|ł/' => 'l',
'/Ñ|Ń|Ņ|Ň/' => 'N',
'/ñ|ń|ņ|ň|ʼn/' => 'n',
'/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ/' => 'O',
'/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º/' => 'o',
'/Ŕ|Ŗ|Ř/' => 'R',
'/ŕ|ŗ|ř/' => 'r',
'/Ś|Ŝ|Ş|Š/' => 'S',
'/ś|ŝ|ş|š|ſ/' => 's',
'/Ţ|Ť|Ŧ/' => 'T',
'/ţ|ť|ŧ/' => 't',
'/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ/' => 'U',
'/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ/' => 'u',
'/Ý|Ÿ|Ŷ/' => 'Y',
'/ý|ÿ|ŷ/' => 'y',
'/Ķ|Κ|К/' => 'K',
'/ķ|κ|к/' => 'k',
'/Ĺ|Ļ|Ľ|Ŀ|Ł|Λ|Л/' => 'L',
'/ĺ|ļ|ľ|ŀ|ł|λ|л/' => 'l',
'/М/' => 'M',
'/м/' => 'm',
'/Ñ|Ń|Ņ|Ň|Ν|Н/' => 'N',
'/ñ|ń|ņ|ň|ʼn|ν/' => 'n',
'/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ|Ο|Ό|Ω|Ώ|Ỏ|Ọ|Ồ|Ố|Ỗ|Ổ|Ộ|Ờ|Ớ|Ỡ|Ở|Ợ|О/' => 'O',
'/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º|ο|ό|ω|ώ|ỏ|ọ|ồ|ố|ỗ|ổ|ộ|ờ|ớ|ỡ|ở|ợ|о/' => 'o',
'/П/' => 'P',
'/п/' => 'p',
'/Ŕ|Ŗ|Ř|Ρ|Р/' => 'R',
'/ŕ|ŗ|ř|ρ|р/' => 'r',
'/Ś|Ŝ|Ş|Ș|Š|Σ|С/' => 'S',
'/ś|ŝ|ş|ș|š|ſ|σ|ς|с/' => 's',
'/Ț|Ţ|Ť|Ŧ|τ|Т/' => 'T',
'/ț|ţ|ť|ŧ|т/' => 't',
'/Þ|þ/' => 'th',
'/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ|Ũ|Ủ|Ụ|Ừ|Ứ|Ữ|Ử|Ự|У/' => 'U',
'/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ|υ|ύ|ϋ|ủ|ụ|ừ|ứ|ữ|ử|ự|у/' => 'u',
'/Ý|Ÿ|Ŷ|Υ|Ύ|Ϋ|Ỳ|Ỹ|Ỷ|Ỵ|Й/' => 'Y',
'/ý|ÿ|ŷ|ỳ|ỹ|ỷ|ỵ|й/' => 'y',
'/В/' => 'V',
'/в/' => 'v',
'/Ŵ/' => 'W',
'/ŵ/' => 'w',
'/Ź|Ż|Ž/' => 'Z',
'/ź|ż|ž/' => 'z',
'/Ź|Ż|Ž|Ζ|З/' => 'Z',
'/ź|ż|ž|ζ|з/' => 'z',
'/Æ|Ǽ/' => 'AE',
'/ß/'=> 'ss',
'/ß/' => 'ss',
'/IJ/' => 'IJ',
'/ij/' => 'ij',
'/Œ/' => 'OE',
'/ƒ/' => 'f'
'/ƒ/' => 'f',
'/ξ/' => 'ks',
'/π/' => 'p',
'/β/' => 'v',
'/μ/' => 'm',
'/ψ/' => 'ps',
'/Ё/' => 'Yo',
'/ё/' => 'yo',
'/Є/' => 'Ye',
'/є/' => 'ye',
'/Ї/' => 'Yi',
'/Ж/' => 'Zh',
'/ж/' => 'zh',
'/Х/' => 'Kh',
'/х/' => 'kh',
'/Ц/' => 'Ts',
'/ц/' => 'ts',
'/Ч/' => 'Ch',
'/ч/' => 'ch',
'/Ш/' => 'Sh',
'/ш/' => 'sh',
'/Щ/' => 'Shch',
'/щ/' => 'shch',
'/Ъ|ъ|Ь|ь/' => '',
'/Ю/' => 'Yu',
'/ю/' => 'yu',
'/Я/' => 'Ya',
'/я/' => 'ya'
);
/* End of file foreign_chars.php */
/* Location: ./application/config/foreign_chars.php */

View File

@@ -1,4 +1,6 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
| -------------------------------------------------------------------------
| Hooks
@@ -6,16 +8,38 @@
| This file lets you define "hooks" to extend CI without hacking the core
| files. Please see the user guide for info:
|
| http://codeigniter.com/user_guide/general/hooks.html
| https://codeigniter.com/user_guide/general/hooks.html
|
*/
$hook['post_controller_constructor'] = array(
'class' => '',
'function' => 'load_config',
'filename' => 'load_config.php',
'filepath' => 'hooks'
$hook['post_controller_constructor'][] = array(
'class' => '',
'function' => 'load_config',
'filename' => 'load_config.php',
'filepath' => 'hooks'
);
// 'post_controller' indicated execution of hooks after controller is finished
$hook['post_controller'] = array(
'class' => '',
'function' => 'db_log_queries',
'filename' => 'db_log.php',
'filepath' => 'hooks'
);
/* End of file hooks.php */
/* Location: ./application/config/hooks.php */
$hook['pre_controller'][] = array(
'class' => '',
'function' => 'validate_method',
'filename' => 'method_hook.php',
'filepath' => 'hooks'
);
$hook['pre_system'] = function() {
$config_path = APPPATH . (ENVIRONMENT == 'testing') ? 'tests/' : 'config/';
try {
$dotenv = new Dotenv\Dotenv($config_path);
$dotenv->overload();
} catch(Exception $e) {
// continue, .env file not present
}
};

View File

@@ -1,3 +1,4 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
@@ -7,4 +8,4 @@
<p>Directory access is forbidden.</p>
</body>
</html>
</html>

View File

@@ -0,0 +1,19 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
| -------------------------------------------------------------------------
| Memcached settings
| -------------------------------------------------------------------------
| Your Memcached servers can be specified below.
|
| See: https://codeigniter.com/user_guide/libraries/caching.html#memcached
|
*/
$config = array(
'default' => array(
'hostname' => '127.0.0.1',
'port' => '11211',
'weight' => '1',
),
);

View File

@@ -1,40 +1,84 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
/*
|--------------------------------------------------------------------------
| Enable/Disable Migrations
|--------------------------------------------------------------------------
|
| Migrations are disabled by default but should be enabled
| whenever you intend to do a schema migration.
|
*/
$config['migration_enabled'] = FALSE;
/*
|--------------------------------------------------------------------------
| Migrations version
|--------------------------------------------------------------------------
|
| This is used to set migration version that the file system should be on.
| If you run $this->migration->latest() this is the version that schema will
| be upgraded / downgraded to.
|
*/
$config['migration_version'] = 0;
/*
|--------------------------------------------------------------------------
| Migrations Path
|--------------------------------------------------------------------------
|
| Path to your migrations folder.
| Typically, it will be within your application path.
| Also, writing permission is required within the migrations path.
|
*/
$config['migration_path'] = APPPATH . 'migrations/';
/* End of file migration.php */
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
|--------------------------------------------------------------------------
| Enable/Disable Migrations
|--------------------------------------------------------------------------
|
| Migrations are disabled by default for security reasons.
| You should enable migrations whenever you intend to do a schema migration
| and disable it back when you're done.
|
*/
$config['migration_enabled'] = TRUE;
/*
|--------------------------------------------------------------------------
| Migration Type
|--------------------------------------------------------------------------
|
| Migration file names may be based on a sequential identifier or on
| a timestamp. Options are:
|
| 'sequential' = Sequential migration naming (001_add_blog.php)
| 'timestamp' = Timestamp migration naming (20121031104401_add_blog.php)
| Use timestamp format YYYYMMDDHHIISS.
|
| Note: If this configuration value is missing the Migration library
| defaults to 'sequential' for backward compatibility with CI2.
|
*/
$config['migration_type'] = 'timestamp';
/*
|--------------------------------------------------------------------------
| Migrations table
|--------------------------------------------------------------------------
|
| This is the name of the table that will store the current migrations state.
| When migrations runs it will store in a database table which migration
| level the system is at. It then compares the migration level in this
| table to the $config['migration_version'] if they are not the same it
| will migrate up. This must be set.
|
*/
$config['migration_table'] = 'migrations';
/*
|--------------------------------------------------------------------------
| Auto Migrate To Latest
|--------------------------------------------------------------------------
|
| If this is set to TRUE when you load the migrations class and have
| $config['migration_enabled'] set to TRUE the system will auto migrate
| to your latest migration (whatever $config['migration_version'] is
| set to). This way you do not have to call migrations anywhere else
| in your code to have the latest migration.
|
*/
$config['migration_auto_latest'] = FALSE;
/*
|--------------------------------------------------------------------------
| Migrations version
|--------------------------------------------------------------------------
|
| This is used to set migration version that the file system should be on.
| If you run $this->migration->current() this is the version that schema will
| be upgraded / downgraded to.
|
*/
$config['migration_version'] = 20180225100000;
/*
|--------------------------------------------------------------------------
| Migrations Path
|--------------------------------------------------------------------------
|
| Path to your migrations folder.
| Typically, it will be within your application path.
| Also, writing permission is required within the migrations path.
|
*/
$config['migration_path'] = APPPATH.'migrations/';

View File

@@ -1,4 +1,6 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| MIME TYPES
@@ -7,100 +9,159 @@
| Upload class to help identify allowed file types.
|
*/
$mimes = array( 'hqx' => 'application/mac-binhex40',
'cpt' => 'application/mac-compactpro',
'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'),
'bin' => 'application/macbinary',
'dms' => 'application/octet-stream',
'lha' => 'application/octet-stream',
'lzh' => 'application/octet-stream',
'exe' => array('application/octet-stream', 'application/x-msdownload'),
'class' => 'application/octet-stream',
'psd' => 'application/x-photoshop',
'so' => 'application/octet-stream',
'sea' => 'application/octet-stream',
'dll' => 'application/octet-stream',
'oda' => 'application/oda',
'pdf' => array('application/pdf', 'application/x-download'),
'ai' => 'application/postscript',
'eps' => 'application/postscript',
'ps' => 'application/postscript',
'smi' => 'application/smil',
'smil' => 'application/smil',
'mif' => 'application/vnd.mif',
'xls' => array('application/excel', 'application/vnd.ms-excel', 'application/msexcel'),
'ppt' => array('application/powerpoint', 'application/vnd.ms-powerpoint'),
'wbxml' => 'application/wbxml',
'wmlc' => 'application/wmlc',
'dcr' => 'application/x-director',
'dir' => 'application/x-director',
'dxr' => 'application/x-director',
'dvi' => 'application/x-dvi',
'gtar' => 'application/x-gtar',
'gz' => 'application/x-gzip',
'php' => 'application/x-httpd-php',
'php4' => 'application/x-httpd-php',
'php3' => 'application/x-httpd-php',
'phtml' => 'application/x-httpd-php',
'phps' => 'application/x-httpd-php-source',
'js' => 'application/x-javascript',
'swf' => 'application/x-shockwave-flash',
'sit' => 'application/x-stuffit',
'tar' => 'application/x-tar',
'tgz' => array('application/x-tar', 'application/x-gzip-compressed'),
'xhtml' => 'application/xhtml+xml',
'xht' => 'application/xhtml+xml',
'zip' => array('application/x-zip', 'application/zip', 'application/x-zip-compressed'),
'mid' => 'audio/midi',
'midi' => 'audio/midi',
'mpga' => 'audio/mpeg',
'mp2' => 'audio/mpeg',
'mp3' => array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'),
'aif' => 'audio/x-aiff',
'aiff' => 'audio/x-aiff',
'aifc' => 'audio/x-aiff',
'ram' => 'audio/x-pn-realaudio',
'rm' => 'audio/x-pn-realaudio',
'rpm' => 'audio/x-pn-realaudio-plugin',
'ra' => 'audio/x-realaudio',
'rv' => 'video/vnd.rn-realvideo',
'wav' => array('audio/x-wav', 'audio/wave', 'audio/wav'),
'bmp' => array('image/bmp', 'image/x-windows-bmp'),
'gif' => 'image/gif',
'jpeg' => array('image/jpeg', 'image/pjpeg'),
'jpg' => array('image/jpeg', 'image/pjpeg'),
'jpe' => array('image/jpeg', 'image/pjpeg'),
'png' => array('image/png', 'image/x-png'),
'tiff' => 'image/tiff',
'tif' => 'image/tiff',
'css' => 'text/css',
'html' => 'text/html',
'htm' => 'text/html',
'shtml' => 'text/html',
'txt' => 'text/plain',
'text' => 'text/plain',
'log' => array('text/plain', 'text/x-log'),
'rtx' => 'text/richtext',
'rtf' => 'text/rtf',
'xml' => 'text/xml',
'xsl' => 'text/xml',
'mpeg' => 'video/mpeg',
'mpg' => 'video/mpeg',
'mpe' => 'video/mpeg',
'qt' => 'video/quicktime',
'mov' => 'video/quicktime',
'avi' => 'video/x-msvideo',
'movie' => 'video/x-sgi-movie',
'doc' => 'application/msword',
'docx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip'),
'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'),
'word' => array('application/msword', 'application/octet-stream'),
'xl' => 'application/excel',
'eml' => 'message/rfc822',
'json' => array('application/json', 'text/json')
);
/* End of file mimes.php */
/* Location: ./application/config/mimes.php */
return array(
'hqx' => array('application/mac-binhex40', 'application/mac-binhex', 'application/x-binhex40', 'application/x-mac-binhex40'),
'cpt' => 'application/mac-compactpro',
'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain'),
'bin' => array('application/macbinary', 'application/mac-binary', 'application/octet-stream', 'application/x-binary', 'application/x-macbinary'),
'dms' => 'application/octet-stream',
'lha' => 'application/octet-stream',
'lzh' => 'application/octet-stream',
'exe' => array('application/octet-stream', 'application/x-msdownload'),
'class' => 'application/octet-stream',
'psd' => array('application/x-photoshop', 'image/vnd.adobe.photoshop'),
'so' => 'application/octet-stream',
'sea' => 'application/octet-stream',
'dll' => 'application/octet-stream',
'oda' => 'application/oda',
'pdf' => array('application/pdf', 'application/force-download', 'application/x-download', 'binary/octet-stream'),
'ai' => array('application/pdf', 'application/postscript'),
'eps' => 'application/postscript',
'ps' => 'application/postscript',
'smi' => 'application/smil',
'smil' => 'application/smil',
'mif' => 'application/vnd.mif',
'xls' => array('application/vnd.ms-excel', 'application/msexcel', 'application/x-msexcel', 'application/x-ms-excel', 'application/x-excel', 'application/x-dos_ms_excel', 'application/xls', 'application/x-xls', 'application/excel', 'application/download', 'application/vnd.ms-office', 'application/msword'),
'ppt' => array('application/powerpoint', 'application/vnd.ms-powerpoint', 'application/vnd.ms-office', 'application/msword'),
'pptx' => array('application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/x-zip', 'application/zip'),
'wbxml' => 'application/wbxml',
'wmlc' => 'application/wmlc',
'dcr' => 'application/x-director',
'dir' => 'application/x-director',
'dxr' => 'application/x-director',
'dvi' => 'application/x-dvi',
'gtar' => 'application/x-gtar',
'gz' => 'application/x-gzip',
'gzip' => 'application/x-gzip',
'php' => array('application/x-httpd-php', 'application/php', 'application/x-php', 'text/php', 'text/x-php', 'application/x-httpd-php-source'),
'php4' => 'application/x-httpd-php',
'php3' => 'application/x-httpd-php',
'phtml' => 'application/x-httpd-php',
'phps' => 'application/x-httpd-php-source',
'js' => array('application/x-javascript', 'text/plain'),
'swf' => 'application/x-shockwave-flash',
'sit' => 'application/x-stuffit',
'tar' => 'application/x-tar',
'tgz' => array('application/x-tar', 'application/x-gzip-compressed'),
'z' => 'application/x-compress',
'xhtml' => 'application/xhtml+xml',
'xht' => 'application/xhtml+xml',
'zip' => array('application/x-zip', 'application/zip', 'application/x-zip-compressed', 'application/s-compressed', 'multipart/x-zip'),
'rar' => array('application/x-rar', 'application/rar', 'application/x-rar-compressed'),
'mid' => 'audio/midi',
'midi' => 'audio/midi',
'mpga' => 'audio/mpeg',
'mp2' => 'audio/mpeg',
'mp3' => array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'),
'aif' => array('audio/x-aiff', 'audio/aiff'),
'aiff' => array('audio/x-aiff', 'audio/aiff'),
'aifc' => 'audio/x-aiff',
'ram' => 'audio/x-pn-realaudio',
'rm' => 'audio/x-pn-realaudio',
'rpm' => 'audio/x-pn-realaudio-plugin',
'ra' => 'audio/x-realaudio',
'rv' => 'video/vnd.rn-realvideo',
'wav' => array('audio/x-wav', 'audio/wave', 'audio/wav'),
'bmp' => array('image/bmp', 'image/x-bmp', 'image/x-bitmap', 'image/x-xbitmap', 'image/x-win-bitmap', 'image/x-windows-bmp', 'image/ms-bmp', 'image/x-ms-bmp', 'application/bmp', 'application/x-bmp', 'application/x-win-bitmap'),
'gif' => 'image/gif',
'jpeg' => array('image/jpeg', 'image/pjpeg'),
'jpg' => array('image/jpeg', 'image/pjpeg'),
'jpe' => array('image/jpeg', 'image/pjpeg'),
'jp2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'j2k' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'jpf' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'jpg2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'jpx' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'jpm' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'mj2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'mjp2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'png' => array('image/png', 'image/x-png'),
'tiff' => 'image/tiff',
'tif' => 'image/tiff',
'css' => array('text/css', 'text/plain'),
'html' => array('text/html', 'text/plain'),
'htm' => array('text/html', 'text/plain'),
'shtml' => array('text/html', 'text/plain'),
'txt' => 'text/plain',
'text' => 'text/plain',
'log' => array('text/plain', 'text/x-log'),
'rtx' => 'text/richtext',
'rtf' => 'text/rtf',
'xml' => array('application/xml', 'text/xml', 'text/plain'),
'xsl' => array('application/xml', 'text/xsl', 'text/xml'),
'mpeg' => 'video/mpeg',
'mpg' => 'video/mpeg',
'mpe' => 'video/mpeg',
'qt' => 'video/quicktime',
'mov' => 'video/quicktime',
'avi' => array('video/x-msvideo', 'video/msvideo', 'video/avi', 'application/x-troff-msvideo'),
'movie' => 'video/x-sgi-movie',
'doc' => array('application/msword', 'application/vnd.ms-office'),
'docx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword', 'application/x-zip'),
'dot' => array('application/msword', 'application/vnd.ms-office'),
'dotx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword'),
'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/vnd.ms-excel', 'application/msword', 'application/x-zip'),
'word' => array('application/msword', 'application/octet-stream'),
'xl' => 'application/excel',
'eml' => 'message/rfc822',
'json' => array('application/json', 'text/json'),
'pem' => array('application/x-x509-user-cert', 'application/x-pem-file', 'application/octet-stream'),
'p10' => array('application/x-pkcs10', 'application/pkcs10'),
'p12' => 'application/x-pkcs12',
'p7a' => 'application/x-pkcs7-signature',
'p7c' => array('application/pkcs7-mime', 'application/x-pkcs7-mime'),
'p7m' => array('application/pkcs7-mime', 'application/x-pkcs7-mime'),
'p7r' => 'application/x-pkcs7-certreqresp',
'p7s' => 'application/pkcs7-signature',
'crt' => array('application/x-x509-ca-cert', 'application/x-x509-user-cert', 'application/pkix-cert'),
'crl' => array('application/pkix-crl', 'application/pkcs-crl'),
'der' => 'application/x-x509-ca-cert',
'kdb' => 'application/octet-stream',
'pgp' => 'application/pgp',
'gpg' => 'application/gpg-keys',
'sst' => 'application/octet-stream',
'csr' => 'application/octet-stream',
'rsa' => 'application/x-pkcs7',
'cer' => array('application/pkix-cert', 'application/x-x509-ca-cert'),
'3g2' => 'video/3gpp2',
'3gp' => array('video/3gp', 'video/3gpp'),
'mp4' => 'video/mp4',
'm4a' => 'audio/x-m4a',
'f4v' => array('video/mp4', 'video/x-f4v'),
'flv' => 'video/x-flv',
'webm' => 'video/webm',
'aac' => 'audio/x-acc',
'm4u' => 'application/vnd.mpegurl',
'm3u' => 'text/plain',
'xspf' => 'application/xspf+xml',
'vlc' => 'application/videolan',
'wmv' => array('video/x-ms-wmv', 'video/x-ms-asf'),
'au' => 'audio/x-au',
'ac3' => 'audio/ac3',
'flac' => 'audio/x-flac',
'ogg' => array('audio/ogg', 'video/ogg', 'application/ogg'),
'kmz' => array('application/vnd.google-earth.kmz', 'application/zip', 'application/x-zip'),
'kml' => array('application/vnd.google-earth.kml+xml', 'application/xml', 'text/xml'),
'ics' => 'text/calendar',
'ical' => 'text/calendar',
'zsh' => 'text/x-scriptzsh',
'7zip' => array('application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'),
'cdr' => array('application/cdr', 'application/coreldraw', 'application/x-cdr', 'application/x-coreldraw', 'image/cdr', 'image/x-cdr', 'zz-application/zz-winassoc-cdr'),
'wma' => array('audio/x-ms-wma', 'video/x-ms-asf'),
'jar' => array('application/java-archive', 'application/x-java-application', 'application/x-jar', 'application/x-compressed'),
'svg' => array('image/svg+xml', 'application/xml', 'text/xml'),
'vcf' => 'text/x-vcard',
'srt' => array('text/srt', 'text/plain'),
'vtt' => array('text/vtt', 'text/plain'),
'ico' => array('image/x-icon', 'image/x-ico', 'image/vnd.microsoft.icon')
);

View File

@@ -0,0 +1,24 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
|--------------------------------------------------------------------------
| Bootstrap 3 pagination links styling
|--------------------------------------------------------------------------
|
| Source code from http://stackoverflow.com/questions/20088779/bootstrap-3-pagination-with-codeigniter
*/
$config['full_tag_open'] = "<ul class='pagination pagination-sm'>";
$config['full_tag_close'] ="</ul>";
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$config['cur_tag_open'] = "<li class='disabled'><li class='active'><a href='#'>";
$config['cur_tag_close'] = "<span class='sr-only'></span></a></li>";
$config['next_tag_open'] = "<li>";
$config['next_tagl_close'] = "</li>";
$config['prev_tag_open'] = "<li>";
$config['prev_tagl_close'] = "</li>";
$config['first_tag_open'] = "<li>";
$config['first_tagl_close'] = "</li>";
$config['last_tag_open'] = "<li>";
$config['last_tagl_close'] = "</li>";

View File

@@ -1,4 +1,6 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
| -------------------------------------------------------------------------
| Profiler Sections
@@ -7,11 +9,6 @@
| data are displayed when the Profiler is enabled.
| Please see the user guide for info:
|
| http://codeigniter.com/user_guide/general/profiling.html
| https://codeigniter.com/user_guide/general/profiling.html
|
*/
/* End of file profiler.php */
/* Location: ./application/config/profiler.php */

View File

@@ -1,4 +1,6 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
| -------------------------------------------------------------------------
| URI ROUTING
@@ -17,13 +19,13 @@
|
| Please see the user guide for complete details:
|
| http://codeigniter.com/user_guide/general/routing.html
| https://codeigniter.com/user_guide/general/routing.html
|
| -------------------------------------------------------------------------
| RESERVED ROUTES
| -------------------------------------------------------------------------
|
| There area two reserved routes:
| There are three reserved routes:
|
| $route['default_controller'] = 'welcome';
|
@@ -33,32 +35,53 @@
|
| $route['404_override'] = 'errors/page_missing';
|
| This route will tell the Router what URI segments to use if those provided
| in the URL cannot be matched to a valid route.
| This route will tell the Router which controller/method to use if those
| provided in the URL cannot be matched to a valid route.
|
| $route['translate_uri_dashes'] = FALSE;
|
| This is not exactly a route, but allows you to automatically route
| controller and method names that contain dashes. '-' isn't a valid
| class or method name character, so it requires translation.
| When you set this option to TRUE, it will replace ALL dashes in the
| controller and method URI segments.
|
| Examples: my-controller/index -> my_controller/index
| my-controller/my-method -> my_controller/my_method
*/
$route['default_controller'] = "login";
$route['no_access/(:any)'] = "no_access/index/$1";
$route['reports/(summary_:any)/(:any)/(:any)'] = "reports/$1/$2/$3";
$route['reports/summary_:any'] = "reports/date_input_excel_export";
$route['reports/(graphical_:any)/(:any)/(:any)'] = "reports/$1/$2/$3";
$route['reports/graphical_:any'] = "reports/date_input";
$route['reports/(inventory_:any)/(:any)'] = "reports/$1/$2";
$route['reports/inventory_:any'] = "reports/excel_export";
$route['default_controller'] = 'login';
$route['no_access/([^/]+)'] = 'no_access/index/$1';
$route['no_access/([^/]+)/([^/]+)'] = 'no_access/index/$1/$2';
$route['reports/(detailed_sales)/(:any)/(:any)'] = "reports/$1/$2/$3";
$route['reports/detailed_sales'] = "reports/date_input";
$route['reports/(detailed_receivings)/(:any)/(:any)'] = "reports/$1/$2/$3";
$route['reports/detailed_receivings'] = "reports/date_input_recv";
$route['reports/(specific_:any)/(:any)/(:any)/(: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['sales/index/([^/]+)'] = 'sales/manage/$1';
$route['sales/index/([^/]+)/([^/]+)'] = 'sales/manage/$1/$2';
$route['sales/index/([^/]+)/([^/]+)/([^/]+)'] = 'sales/manage/$1/$2/$3';
$route['scaffolding_trigger'] = "";
$route['reports/(summary_:any)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
$route['reports/summary_expenses_categories'] = 'reports/date_input_only';
$route['reports/summary_payments'] = 'reports/date_input_only';
$route['reports/summary_discounts'] = 'reports/summary_discounts_input';
$route['reports/summary_:any'] = 'reports/date_input';
$route['404_override'] = 'errors/page_missing';
$route['reports/(graphical_:any)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
$route['reports/graphical_summary_expenses_categories'] = 'reports/date_input_only';
$route['reports/graphical_summary_discounts'] = 'reports/summary_discounts_input';
$route['reports/graphical_:any'] = 'reports/date_input';
/* End of file routes.php */
/* Location: ./application/config/routes.php */
$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_:any)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
$route['reports/detailed_sales'] = 'reports/date_input_sales';
$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;

View File

@@ -1,17 +1,18 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| SMILEYS
| -------------------------------------------------------------------
| This file contains an array of smileys for use with the emoticon helper.
| Individual images can be used to replace multiple simileys. For example:
| Individual images can be used to replace multiple smileys. For example:
| :-) and :) use the same image replacement.
|
| Please see user guide for more info:
| http://codeigniter.com/user_guide/helpers/smiley_helper.html
| https://codeigniter.com/user_guide/helpers/smiley_helper.html
|
*/
$smileys = array(
// smiley image name width height alt
@@ -57,10 +58,7 @@ $smileys = array(
':coolcheese:' => array('shade_cheese.gif', '19', '19', 'cool cheese'),
':vampire:' => array('vampire.gif', '19', '19', 'vampire'),
':snake:' => array('snake.gif', '19', '19', 'snake'),
':exclaim:' => array('exclaim.gif', '19', '19', 'excaim'),
':question:' => array('question.gif', '19', '19', 'question') // no comma after last item
':exclaim:' => array('exclaim.gif', '19', '19', 'exclaim'),
':question:' => array('question.gif', '19', '19', 'question')
);
/* End of file smileys.php */
/* Location: ./application/config/smileys.php */
);

View File

@@ -1,178 +1,214 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| USER AGENT TYPES
| -------------------------------------------------------------------
| This file contains four arrays of user agent data. It is used by the
| This file contains four arrays of user agent data. It is used by the
| User Agent Class to help identify browser, platform, robot, and
| mobile device data. The array keys are used to identify the device
| mobile device data. The array keys are used to identify the device
| and the array values are used to set the actual name of the item.
|
*/
$platforms = array (
'windows nt 6.0' => 'Windows Longhorn',
'windows nt 5.2' => 'Windows 2003',
'windows nt 5.0' => 'Windows 2000',
'windows nt 5.1' => 'Windows XP',
'windows nt 4.0' => 'Windows NT 4.0',
'winnt4.0' => 'Windows NT 4.0',
'winnt 4.0' => 'Windows NT',
'winnt' => 'Windows NT',
'windows 98' => 'Windows 98',
'win98' => 'Windows 98',
'windows 95' => 'Windows 95',
'win95' => 'Windows 95',
'windows' => 'Unknown Windows OS',
'os x' => 'Mac OS X',
'ppc mac' => 'Power PC Mac',
'freebsd' => 'FreeBSD',
'ppc' => 'Macintosh',
'linux' => 'Linux',
'debian' => 'Debian',
'sunos' => 'Sun Solaris',
'beos' => 'BeOS',
'apachebench' => 'ApacheBench',
'aix' => 'AIX',
'irix' => 'Irix',
'osf' => 'DEC OSF',
'hp-ux' => 'HP-UX',
'netbsd' => 'NetBSD',
'bsdi' => 'BSDi',
'openbsd' => 'OpenBSD',
'gnu' => 'GNU/Linux',
'unix' => 'Unknown Unix OS'
);
$platforms = array(
'windows nt 10.0' => 'Windows 10',
'windows nt 6.3' => 'Windows 8.1',
'windows nt 6.2' => 'Windows 8',
'windows nt 6.1' => 'Windows 7',
'windows nt 6.0' => 'Windows Vista',
'windows nt 5.2' => 'Windows 2003',
'windows nt 5.1' => 'Windows XP',
'windows nt 5.0' => 'Windows 2000',
'windows nt 4.0' => 'Windows NT 4.0',
'winnt4.0' => 'Windows NT 4.0',
'winnt 4.0' => 'Windows NT',
'winnt' => 'Windows NT',
'windows 98' => 'Windows 98',
'win98' => 'Windows 98',
'windows 95' => 'Windows 95',
'win95' => 'Windows 95',
'windows phone' => 'Windows Phone',
'windows' => 'Unknown Windows OS',
'android' => 'Android',
'blackberry' => 'BlackBerry',
'iphone' => 'iOS',
'ipad' => 'iOS',
'ipod' => 'iOS',
'os x' => 'Mac OS X',
'ppc mac' => 'Power PC Mac',
'freebsd' => 'FreeBSD',
'ppc' => 'Macintosh',
'linux' => 'Linux',
'debian' => 'Debian',
'sunos' => 'Sun Solaris',
'beos' => 'BeOS',
'apachebench' => 'ApacheBench',
'aix' => 'AIX',
'irix' => 'Irix',
'osf' => 'DEC OSF',
'hp-ux' => 'HP-UX',
'netbsd' => 'NetBSD',
'bsdi' => 'BSDi',
'openbsd' => 'OpenBSD',
'gnu' => 'GNU/Linux',
'unix' => 'Unknown Unix OS',
'symbian' => 'Symbian OS'
);
// The order of this array should NOT be changed. Many browsers return
// multiple browser types so we want to identify the sub-type first.
$browsers = array(
'Flock' => 'Flock',
'Chrome' => 'Chrome',
'Opera' => 'Opera',
'MSIE' => 'Internet Explorer',
'Internet Explorer' => 'Internet Explorer',
'Shiira' => 'Shiira',
'Firefox' => 'Firefox',
'Chimera' => 'Chimera',
'Phoenix' => 'Phoenix',
'Firebird' => 'Firebird',
'Camino' => 'Camino',
'Netscape' => 'Netscape',
'OmniWeb' => 'OmniWeb',
'Safari' => 'Safari',
'Mozilla' => 'Mozilla',
'Konqueror' => 'Konqueror',
'icab' => 'iCab',
'Lynx' => 'Lynx',
'Links' => 'Links',
'hotjava' => 'HotJava',
'amaya' => 'Amaya',
'IBrowse' => 'IBrowse'
);
'OPR' => 'Opera',
'Flock' => 'Flock',
'Edge' => 'Spartan',
'Chrome' => 'Chrome',
// Opera 10+ always reports Opera/9.80 and appends Version/<real version> to the user agent string
'Opera.*?Version' => 'Opera',
'Opera' => 'Opera',
'MSIE' => 'Internet Explorer',
'Internet Explorer' => 'Internet Explorer',
'Trident.* rv' => 'Internet Explorer',
'Shiira' => 'Shiira',
'Firefox' => 'Firefox',
'Chimera' => 'Chimera',
'Phoenix' => 'Phoenix',
'Firebird' => 'Firebird',
'Camino' => 'Camino',
'Netscape' => 'Netscape',
'OmniWeb' => 'OmniWeb',
'Safari' => 'Safari',
'Mozilla' => 'Mozilla',
'Konqueror' => 'Konqueror',
'icab' => 'iCab',
'Lynx' => 'Lynx',
'Links' => 'Links',
'hotjava' => 'HotJava',
'amaya' => 'Amaya',
'IBrowse' => 'IBrowse',
'Maxthon' => 'Maxthon',
'Ubuntu' => 'Ubuntu Web Browser'
);
$mobiles = array(
// legacy array, old values commented out
'mobileexplorer' => 'Mobile Explorer',
// 'openwave' => 'Open Wave',
// 'opera mini' => 'Opera Mini',
// 'operamini' => 'Opera Mini',
// 'elaine' => 'Palm',
'palmsource' => 'Palm',
// 'digital paths' => 'Palm',
// 'avantgo' => 'Avantgo',
// 'xiino' => 'Xiino',
'palmscape' => 'Palmscape',
// 'nokia' => 'Nokia',
// 'ericsson' => 'Ericsson',
// 'blackberry' => 'BlackBerry',
// 'motorola' => 'Motorola'
// legacy array, old values commented out
'mobileexplorer' => 'Mobile Explorer',
// 'openwave' => 'Open Wave',
// 'opera mini' => 'Opera Mini',
// 'operamini' => 'Opera Mini',
// 'elaine' => 'Palm',
'palmsource' => 'Palm',
// 'digital paths' => 'Palm',
// 'avantgo' => 'Avantgo',
// 'xiino' => 'Xiino',
'palmscape' => 'Palmscape',
// 'nokia' => 'Nokia',
// 'ericsson' => 'Ericsson',
// 'blackberry' => 'BlackBerry',
// 'motorola' => 'Motorola'
// Phones and Manufacturers
'motorola' => "Motorola",
'nokia' => "Nokia",
'palm' => "Palm",
'iphone' => "Apple iPhone",
'ipad' => "iPad",
'ipod' => "Apple iPod Touch",
'sony' => "Sony Ericsson",
'ericsson' => "Sony Ericsson",
'blackberry' => "BlackBerry",
'cocoon' => "O2 Cocoon",
'blazer' => "Treo",
'lg' => "LG",
'amoi' => "Amoi",
'xda' => "XDA",
'mda' => "MDA",
'vario' => "Vario",
'htc' => "HTC",
'samsung' => "Samsung",
'sharp' => "Sharp",
'sie-' => "Siemens",
'alcatel' => "Alcatel",
'benq' => "BenQ",
'ipaq' => "HP iPaq",
'mot-' => "Motorola",
'playstation portable' => "PlayStation Portable",
'hiptop' => "Danger Hiptop",
'nec-' => "NEC",
'panasonic' => "Panasonic",
'philips' => "Philips",
'sagem' => "Sagem",
'sanyo' => "Sanyo",
'spv' => "SPV",
'zte' => "ZTE",
'sendo' => "Sendo",
// Phones and Manufacturers
'motorola' => 'Motorola',
'nokia' => 'Nokia',
'palm' => 'Palm',
'iphone' => 'Apple iPhone',
'ipad' => 'iPad',
'ipod' => 'Apple iPod Touch',
'sony' => 'Sony Ericsson',
'ericsson' => 'Sony Ericsson',
'blackberry' => 'BlackBerry',
'cocoon' => 'O2 Cocoon',
'blazer' => 'Treo',
'lg' => 'LG',
'amoi' => 'Amoi',
'xda' => 'XDA',
'mda' => 'MDA',
'vario' => 'Vario',
'htc' => 'HTC',
'samsung' => 'Samsung',
'sharp' => 'Sharp',
'sie-' => 'Siemens',
'alcatel' => 'Alcatel',
'benq' => 'BenQ',
'ipaq' => 'HP iPaq',
'mot-' => 'Motorola',
'playstation portable' => 'PlayStation Portable',
'playstation 3' => 'PlayStation 3',
'playstation vita' => 'PlayStation Vita',
'hiptop' => 'Danger Hiptop',
'nec-' => 'NEC',
'panasonic' => 'Panasonic',
'philips' => 'Philips',
'sagem' => 'Sagem',
'sanyo' => 'Sanyo',
'spv' => 'SPV',
'zte' => 'ZTE',
'sendo' => 'Sendo',
'nintendo dsi' => 'Nintendo DSi',
'nintendo ds' => 'Nintendo DS',
'nintendo 3ds' => 'Nintendo 3DS',
'wii' => 'Nintendo Wii',
'open web' => 'Open Web',
'openweb' => 'OpenWeb',
// Operating Systems
'symbian' => "Symbian",
'SymbianOS' => "SymbianOS",
'elaine' => "Palm",
'palm' => "Palm",
'series60' => "Symbian S60",
'windows ce' => "Windows CE",
// Operating Systems
'android' => 'Android',
'symbian' => 'Symbian',
'SymbianOS' => 'SymbianOS',
'elaine' => 'Palm',
'series60' => 'Symbian S60',
'windows ce' => 'Windows CE',
// Browsers
'obigo' => "Obigo",
'netfront' => "Netfront Browser",
'openwave' => "Openwave Browser",
'mobilexplorer' => "Mobile Explorer",
'operamini' => "Opera Mini",
'opera mini' => "Opera Mini",
// Browsers
'obigo' => 'Obigo',
'netfront' => 'Netfront Browser',
'openwave' => 'Openwave Browser',
'mobilexplorer' => 'Mobile Explorer',
'operamini' => 'Opera Mini',
'opera mini' => 'Opera Mini',
'opera mobi' => 'Opera Mobile',
'fennec' => 'Firefox Mobile',
// Other
'digital paths' => "Digital Paths",
'avantgo' => "AvantGo",
'xiino' => "Xiino",
'novarra' => "Novarra Transcoder",
'vodafone' => "Vodafone",
'docomo' => "NTT DoCoMo",
'o2' => "O2",
// Other
'digital paths' => 'Digital Paths',
'avantgo' => 'AvantGo',
'xiino' => 'Xiino',
'novarra' => 'Novarra Transcoder',
'vodafone' => 'Vodafone',
'docomo' => 'NTT DoCoMo',
'o2' => 'O2',
// Fallback
'mobile' => "Generic Mobile",
'wireless' => "Generic Mobile",
'j2me' => "Generic Mobile",
'midp' => "Generic Mobile",
'cldc' => "Generic Mobile",
'up.link' => "Generic Mobile",
'up.browser' => "Generic Mobile",
'smartphone' => "Generic Mobile",
'cellphone' => "Generic Mobile"
);
// Fallback
'mobile' => 'Generic Mobile',
'wireless' => 'Generic Mobile',
'j2me' => 'Generic Mobile',
'midp' => 'Generic Mobile',
'cldc' => 'Generic Mobile',
'up.link' => 'Generic Mobile',
'up.browser' => 'Generic Mobile',
'smartphone' => 'Generic Mobile',
'cellphone' => 'Generic Mobile'
);
// There are hundreds of bots but these are the most common.
$robots = array(
'googlebot' => 'Googlebot',
'msnbot' => 'MSNBot',
'slurp' => 'Inktomi Slurp',
'yahoo' => 'Yahoo',
'askjeeves' => 'AskJeeves',
'fastcrawler' => 'FastCrawler',
'infoseek' => 'InfoSeek Robot 1.0',
'lycos' => 'Lycos'
);
/* End of file user_agents.php */
/* Location: ./application/config/user_agents.php */
'googlebot' => 'Googlebot',
'msnbot' => 'MSNBot',
'baiduspider' => 'Baiduspider',
'bingbot' => 'Bing',
'slurp' => 'Inktomi Slurp',
'yahoo' => 'Yahoo',
'ask jeeves' => 'Ask Jeeves',
'fastcrawler' => 'FastCrawler',
'infoseek' => 'InfoSeek Robot 1.0',
'lycos' => 'Lycos',
'yandex' => 'YandexBot',
'mediapartners-google' => 'MediaPartners Google',
'CRAZYWEBCRAWLER' => 'Crazy Webcrawler',
'adsbot-google' => 'AdsBot Google',
'feedfetcher-google' => 'Feedfetcher Google',
'curious george' => 'Curious George',
'ia_archiver' => 'Alexa Crawler',
'MJ12bot' => 'Majestic-12',
'Uptimebot' => 'Uptimebot'
);

View File

@@ -0,0 +1,192 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once('Secure_Controller.php');
class Attributes extends Secure_Controller
{
public function __construct()
{
parent::__construct('attributes');
}
public function index()
{
$data['table_headers'] = $this->xss_clean(get_attribute_definition_manage_table_headers());
$this->load->view('attributes/manage', $data);
}
/**
* Returns customer table data rows. This will be called with AJAX.
*/
public function search()
{
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$order = $this->input->get('order');
$attributes = $this->Attribute->search($search, $limit, $offset, $sort, $order);
$total_rows = $this->Attribute->get_found_rows($search);
$data_rows = [];
foreach($attributes->result() as $attribute)
{
$attribute->definition_flags = $this->get_attributes($attribute->definition_flags);
$data_rows[] = get_attribute_definition_data_row($attribute, $this);
}
$data_rows = $this->xss_clean($data_rows);
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
}
public function save_attribute_value()
{
$success = $this->Attribute->save_value(
$this->input->post('attribute_value'),
$this->input->post('definition_id'),
$this->input->post('item_id'),
$this->input->post('attribute_id')
);
echo json_encode(array('success' => $success != 0));
}
public function delete_attribute_value()
{
$success = $this->Attribute->delete_value(
$this->input->post('attribute_value'),
$this->input->post('definition_id')
);
echo json_encode(array('success' => $success));
}
public function save_definition($definition_id = NO_DEFINITION_ID)
{
$definition_flags = 0;
$flags = (empty($this->input->post('definition_flags'))) ? [] : $this->input->post('definition_flags');
foreach($flags as $flag)
{
$definition_flags |= $flag;
}
//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,
'definition_flags' => $definition_flags,
'definition_fk' => $this->input->post('definition_group') != '' ? $this->input->post('definition_group') : NULL
);
if ($this->input->post('definition_type') != null)
{
$definition_data['definition_type'] = DEFINITION_TYPES[$this->input->post('definition_type')];
}
$definition_name = $this->xss_clean($definition_data['definition_name']);
if($this->Attribute->save_definition($definition_data, $definition_id))
{
//New definition
if($definition_id == 0)
{
$definition_values = json_decode($this->input->post('definition_values'));
foreach($definition_values as $definition_value)
{
$this->Attribute->save_value($definition_value, $definition_data['definition_id']);
}
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('attributes_definition_successful_adding').' '.
$definition_name, 'id' => $definition_data['definition_id']));
}
//Existing definition
else
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('attributes_definition_successful_updating').' '.
$definition_name, 'id' => $definition_id));
}
}
//Failure
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('attributes_definition_error_adding_updating', $definition_name), 'id' => -1));
}
}
public function suggest_attribute($definition_id)
{
$suggestions = $this->xss_clean($this->Attribute->get_suggestions($definition_id, $this->input->get('term')));
echo json_encode($suggestions);
}
public function get_row($row_id)
{
$attribute_definition_info = $this->Attribute->get_info($row_id);
$attribute_definition_info->definition_flags = $this->get_attributes($attribute_definition_info->definition_flags);
$data_row = $this->xss_clean(get_attribute_definition_data_row($attribute_definition_info));
echo json_encode($data_row);
}
private function get_attributes($definition_flags = 0)
{
$definition_flag_names = [];
foreach (Attribute::get_definition_flags() as $id => $term)
{
if ($id & $definition_flags)
{
$definition_flag_names[$id] = $this->lang->line('attributes_' . strtolower($term) . '_visibility');
}
}
return $definition_flag_names;
}
public function view($definition_id = NO_DEFINITION_ID)
{
$info = $this->Attribute->get_info($definition_id);
foreach(get_object_vars($info) as $property => $value)
{
$info->$property = $this->xss_clean($value);
}
$data['definition_id'] = $definition_id;
$data['definition_values'] = $this->Attribute->get_definition_values($definition_id);
$data['definition_group'] = $this->Attribute->get_definitions_by_type(GROUP, $definition_id);
$data['definition_group'][''] = $this->lang->line('common_none_selected_text');
$data['definition_info'] = $info;
$show_all = Attribute::SHOW_IN_ITEMS | Attribute::SHOW_IN_RECEIVINGS | Attribute::SHOW_IN_SALES;
$data['definition_flags'] = $this->get_attributes($show_all);
$selected_flags = $info->definition_flags === '' ? $show_all : $info->definition_flags;
$data['selected_definition_flags'] = $this->get_attributes($selected_flags);
$this->load->view('attributes/form', $data);
}
public function delete_value($attribute_id)
{
return $this->Attribute->delete_value($attribute_id);
}
public function delete()
{
$attributes_to_delete = $this->input->post('ids');
if($this->Attribute->delete_definition_list($attributes_to_delete))
{
$message = $this->lang->line('attributes_definition_successful_deleted') . ' ' . count($attributes_to_delete) . ' ' . $this->lang->line('attributes_definition_one_or_multiple');
echo json_encode(array('success' => TRUE, 'message' => $message));
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('attributes_definition_cannot_be_deleted')));
}
}
}

View File

@@ -0,0 +1,246 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Secure_Controller.php");
class Cashups extends Secure_Controller
{
public function __construct()
{
parent::__construct('cashups');
}
public function index()
{
$data['table_headers'] = $this->xss_clean(get_cashups_manage_table_headers());
// filters that will be loaded in the multiselect dropdown
$data['filters'] = array('is_deleted' => $this->lang->line('cashups_is_deleted'));
$this->load->view('cashups/manage', $data);
}
public function search()
{
$cash_up = 0;
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$order = $this->input->get('order');
$filters = array(
'start_date' => $this->input->get('start_date'),
'end_date' => $this->input->get('end_date'),
'is_deleted' => FALSE);
// check if any filter is set in the multiselect dropdown
$filledup = array_fill_keys($this->input->get('filters'), TRUE);
$filters = array_merge($filters, $filledup);
$cash_ups = $this->Cashup->search($search, $filters, $limit, $offset, $sort, $order);
$total_rows = $this->Cashup->get_found_rows($search, $filters);
$data_rows = array();
foreach($cash_ups->result() as $cash_up)
{
$data_rows[] = $this->xss_clean(get_cash_up_data_row($cash_up));
}
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
}
public function view($cashup_id = -1)
{
$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;
}
$cash_ups_info = $this->Cashup->get_info($cashup_id);
foreach(get_object_vars($cash_ups_info) as $property => $value)
{
$cash_ups_info->$property = $this->xss_clean($value);
}
// open cashup
if(empty($cash_ups_info->cashup_id))
{
$cash_ups_info->open_date = date('Y-m-d H:i:s');
$cash_ups_info->close_date = $cash_ups_info->open_date;
$cash_ups_info->open_employee_id = $this->Employee->get_logged_in_employee_info()->person_id;
$cash_ups_info->close_employee_id = $this->Employee->get_logged_in_employee_info()->person_id;
}
// if all the amounts are null or 0 that means it's a close cashup
elseif(floatval($cash_ups_info->closed_amount_cash) == 0 &&
floatval($cash_ups_info->closed_amount_due) == 0 &&
floatval($cash_ups_info->closed_amount_card) == 0 &&
floatval($cash_ups_info->closed_amount_check) == 0)
{
// set the close date and time to the actual as this is a close session
$cash_ups_info->close_date = date('Y-m-d H:i:s');
// the closed amount starts with the open amount -/+ any trasferred amount
$cash_ups_info->closed_amount_cash = $cash_ups_info->open_amount_cash + $cash_ups_info->transfer_amount_cash;
// if it's date mode only and not date & time truncate the open and end date to date only
if(empty($this->config->item('date_or_time_format')))
{
// search for all the payments given the time range
$inputs = array('start_date' => substr($cash_ups_info->open_date, 0, 10), 'end_date' => substr($cash_ups_info->close_date, 0, 10), 'sale_type' => 'complete', 'location_id' => 'all');
}
else
{
// search for all the payments given the time range
$inputs = array('start_date' => $cash_ups_info->open_date, 'end_date' => $cash_ups_info->close_date, 'sale_type' => 'complete', 'location_id' => 'all');
}
// get all the transactions payment summaries
$this->load->model('reports/Summary_payments');
$reports_data = $this->Summary_payments->getData($inputs);
foreach($reports_data as $row)
{
if($row['trans_group'] == $this->lang->line('reports_trans_payments'))
{
if($row['trans_type'] == $this->lang->line('sales_cash'))
{
$cash_ups_info->closed_amount_cash += $this->xss_clean($row['trans_amount']);
}
elseif($row['trans_type'] == $this->lang->line('sales_due'))
{
$cash_ups_info->closed_amount_due += $this->xss_clean($row['trans_amount']);
}
elseif($row['trans_type'] == $this->lang->line('sales_debit') ||
$row['trans_type'] == $this->lang->line('sales_credit'))
{
$cash_ups_info->closed_amount_card += $this->xss_clean($row['trans_amount']);
}
elseif($row['trans_type'] == $this->lang->line('sales_check'))
{
$cash_ups_info->closed_amount_check += $this->xss_clean($row['trans_amount']);
}
}
}
// lookup expenses paid in cash
$filters = array(
'only_cash' => TRUE,
'only_due' => FALSE,
'only_check' => FALSE,
'only_credit' => FALSE,
'only_debit' => FALSE,
'is_deleted' => FALSE);
$payments = $this->Expense->get_payments_summary('', array_merge($inputs, $filters));
foreach($payments as $row)
{
$cash_ups_info->closed_amount_cash -= $this->xss_clean($row['amount']);
}
$cash_ups_info->closed_amount_total = $this->_calculate_total($cash_ups_info->open_amount_cash, $cash_ups_info->transfer_amount_cash, $cash_ups_info->closed_amount_cash, $cash_ups_info->closed_amount_due, $cash_ups_info->closed_amount_card, $cash_ups_info->closed_amount_check);
}
$data['cash_ups_info'] = $cash_ups_info;
$this->load->view("cashups/form", $data);
}
public function get_row($row_id)
{
$cash_ups_info = $this->Cashup->get_info($row_id);
$data_row = $this->xss_clean(get_cash_up_data_row($cash_ups_info));
echo json_encode($data_row);
}
public function save($cashup_id = -1)
{
$open_date = $this->input->post('open_date');
$open_date_formatter = date_create_from_format($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'), $open_date);
$close_date = $this->input->post('close_date');
$close_date_formatter = date_create_from_format($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'), $close_date);
$cash_up_data = array(
'open_date' => $open_date_formatter->format('Y-m-d H:i:s'),
'close_date' => $close_date_formatter->format('Y-m-d H:i:s'),
'open_amount_cash' => parse_decimals($this->input->post('open_amount_cash')),
'transfer_amount_cash' => parse_decimals($this->input->post('transfer_amount_cash')),
'closed_amount_cash' => parse_decimals($this->input->post('closed_amount_cash')),
'closed_amount_due' => parse_decimals($this->input->post('closed_amount_due')),
'closed_amount_card' => parse_decimals($this->input->post('closed_amount_card')),
'closed_amount_check' => parse_decimals($this->input->post('closed_amount_check')),
'closed_amount_total' => parse_decimals($this->input->post('closed_amount_total')),
'note' => $this->input->post('note') != NULL,
'description' => $this->input->post('description'),
'open_employee_id' => $this->input->post('open_employee_id'),
'close_employee_id' => $this->input->post('close_employee_id'),
'deleted' => $this->input->post('deleted') != NULL
);
if($this->Cashup->save($cash_up_data, $cashup_id))
{
$cash_up_data = $this->xss_clean($cash_up_data);
//New cashup_id
if($cashup_id == -1)
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('cashups_successful_adding'), 'id' => $cash_up_data['cashup_id']));
}
else // Existing Cashup
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('cashups_successful_updating'), 'id' => $cashup_id));
}
}
else//failure
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('cashups_error_adding_updating'), 'id' => -1));
}
}
public function delete()
{
$cash_ups_to_delete = $this->input->post('ids');
if($this->Cashup->delete_list($cash_ups_to_delete))
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('cashups_successful_deleted') . ' ' . count($cash_ups_to_delete) . ' ' . $this->lang->line('cashups_one_or_multiple'), 'ids' => $cash_ups_to_delete));
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('cashups_cannot_be_deleted'), 'ids' => $cash_ups_to_delete));
}
}
/*
AJAX call from cashup input form to calculate the total
*/
public function ajax_cashup_total()
{
$open_amount_cash = parse_decimals($this->input->post('open_amount_cash'));
$transfer_amount_cash = parse_decimals($this->input->post('transfer_amount_cash'));
$closed_amount_cash = parse_decimals($this->input->post('closed_amount_cash'));
$closed_amount_due = parse_decimals($this->input->post('closed_amount_due'));
$closed_amount_card = parse_decimals($this->input->post('closed_amount_card'));
$closed_amount_check = parse_decimals($this->input->post('closed_amount_check'));
$total = $this->_calculate_total($open_amount_cash, $transfer_amount_cash, $closed_amount_due, $closed_amount_cash, $closed_amount_card, $closed_amount_check);
echo json_encode(array('total' => to_currency_no_money($total)));
}
/*
Calculate total
*/
private function _calculate_total($open_amount_cash, $transfer_amount_cash, $closed_amount_due, $closed_amount_cash, $closed_amount_card, $closed_amount_check)
{
return ($closed_amount_cash - $open_amount_cash - $transfer_amount_cash + $closed_amount_due + $closed_amount_card + $closed_amount_check);
}
}
?>

View File

@@ -0,0 +1,961 @@
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
require_once("Secure_Controller.php");
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
*/
private function _licenses()
{
$i = 0;
$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));
}
else
{
$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.';
}
$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)
if($fileinfo->isFile())
{
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));
}
else
{
$license[$i]['text'] = $license_text_file . ' file is missing';
}
}
elseif($fileinfo->getBasename() == 'bower.LICENSES')
{
// set a flag to indicate that the JS Plugin bower.LICENSES file is available and needs to be attached at the end
$bower = TRUE;
}
elseif($fileinfo->getBasename() == 'composer.LICENSES')
{
// set a flag to indicate that the composer.LICENSES file is available and needs to be attached at the end
$composer = TRUE;
}
}
}
// 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')
{
foreach($val as $key1 => $val1)
{
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
{
$license[$i]['text'] .= $key2 . ': ' . $val2 . "\n";
}
}
$license[$i]['text'] .= "\n";
}
else
{
$license[$i]['text'] .= $key1 . ': ' . $val1 . "\n";
}
}
}
}
$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
{
$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')
{
$file = $this->xss_clean($dirinfo->getFileName());
$themes[$file] = ucfirst($file);
}
}
asort($themes);
return $themes;
}
public function index()
{
$data['stock_locations'] = $this->Stock_location->get_all()->result_array();
$data['dinner_tables'] = $this->Dinner_table->get_all()->result_array();
$data['customer_rewards'] = $this->Customer_rewards->get_all()->result_array();
$data['support_barcode'] = $this->barcode_lib->get_list_barcodes();
$data['logo_exists'] = $this->config->item('company_logo') != '';
$data['line_sequence_options'] = $this->sale_lib->get_line_sequence_options();
$data['register_mode_options'] = $this->sale_lib->get_register_mode_options();
$data['invoice_type_options'] = $this->sale_lib->get_invoice_type_options();
$data['rounding_options'] = Rounding_mode::get_rounding_options();
$data['tax_code_options'] = $this->tax_lib->get_tax_code_options();
$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();
//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'));
$data['mailchimp']['list_id'] = $this->encryption->decrypt($this->config->item('mailchimp_list_id'));
}
else
{
$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'),
'phone' => $this->input->post('phone'),
'email' => $this->input->post('email'),
'fax' => $this->input->post('fax'),
'website' => $this->input->post('website'),
'return_policy' => $this->input->post('return_policy')
);
if(!empty($upload_data['orig_name']))
{
// XSS file image sanity check
if($this->xss_clean($upload_data['raw_name'], TRUE) === TRUE)
{
$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(
'theme' => $this->input->post('theme'),
'login_form' => $this->input->post('login_form'),
'default_sales_discount_type' => $this->input->post('default_sales_discount_type') != NULL,
'default_sales_discount' => $this->input->post('default_sales_discount'),
'default_receivings_discount_type' => $this->input->post('default_receivings_discount_type') != NULL,
'default_receivings_discount' => $this->input->post('default_receivings_discount'),
'enforce_privacy' => $this->input->post('enforce_privacy'),
'receiving_calculate_average_price' => $this->input->post('receiving_calculate_average_price') != NULL,
'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'),
'suggestions_first_column' => $this->input->post('suggestions_first_column'),
'suggestions_second_column' => $this->input->post('suggestions_second_column'),
'suggestions_third_column' => $this->input->post('suggestions_third_column'),
'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,
'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);
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);
$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,
));
}
public function save_locale()
{
$exploded = explode(":", $this->input->post('language'));
$batch_save_data = array(
'currency_symbol' => $this->input->post('currency_symbol'),
'currency_code' => $this->input->post('currency_code'),
'language_code' => $exploded[0],
'language' => $exploded[1],
'timezone' => $this->input->post('timezone'),
'dateformat' => $this->input->post('dateformat'),
'timeformat' => $this->input->post('timeformat'),
'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'),
'quantity_decimals' => $this->input->post('quantity_decimals'),
'country_codes' => $this->input->post('country_codes'),
'payment_options_order' => $this->input->post('payment_options_order'),
'date_or_time_format' => $this->input->post('date_or_time_format'),
'cash_decimals' => $this->input->post('cash_decimals'),
'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'),
'smtp_host' => $this->input->post('smtp_host'),
'smtp_user' => $this->input->post('smtp_user'),
'smtp_pass' => $password,
'smtp_port' => $this->input->post('smtp_port'),
'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']))
{
foreach($lists['lists'] as $list)
{
$list = $this->xss_clean($list);
$result[$list['id']] = $list['name'] . ' [' . $list['stats']['member_count'] . ']';
}
}
}
return $result;
}
/*
AJAX call from mailchimp config form to fetch the Mailchimp lists when a valid API key is inserted
*/
public function ajax_check_mailchimp_api_key()
{
// 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();
$this->sale_lib->clear_table();
$this->sale_lib->clear_all();
$this->load->library('receiving_lib');
$this->receiving_lib->clear_stock_source();
$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'))
{
// save or update
foreach ($value as $location_id => $location_name)
{
$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))
{
$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();
foreach($this->input->post() as $key => $value)
{
if(strstr($key, 'dinner_table') && $key != 'dinner_table_enable')
{
$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))
{
$this->_clear_session_state();
}
}
}
// 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))
{
$this->Dinner_table->delete($table['dinner_table_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_tax()
{
$this->db->trans_start();
$batch_save_data = array(
'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_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,
'default_tax_code' => $this->input->post('default_tax_code'),
'default_tax_category' => $this->input->post('default_tax_category'),
'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();
$array_save = array();
foreach($this->input->post() as $key => $value)
{
if(strstr($key, 'customer_reward') && $key != 'customer_reward_enable')
{
$customer_reward_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
$not_to_delete[] = $customer_reward_id;
$array_save[$customer_reward_id]['package_name'] = $value;
}
elseif(strstr($key, 'reward_points'))
{
$customer_reward_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
$array_save[$customer_reward_id]['points_percent'] = $value;
}
}
if(!empty($array_save))
{
foreach($array_save as $key => $value)
{
// save or update
$package_data = array('package_name' => $value['package_name'], 'points_percent' => $value['points_percent']);
$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))
{
$this->Customer_rewards->delete($reward_category['package_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_barcode()
{
$batch_save_data = array(
'barcode_type' => $this->input->post('barcode_type'),
'barcode_width' => $this->input->post('barcode_width'),
'barcode_height' => $this->input->post('barcode_height'),
'barcode_font' => $this->input->post('barcode_font'),
'barcode_font_size' => $this->input->post('barcode_font_size'),
'barcode_first_row' => $this->input->post('barcode_first_row'),
'barcode_second_row' => $this->input->post('barcode_second_row'),
'barcode_third_row' => $this->input->post('barcode_third_row'),
'barcode_num_in_row' => $this->input->post('barcode_num_in_row'),
'barcode_page_width' => $this->input->post('barcode_page_width'),
'barcode_page_cellspacing' => $this->input->post('barcode_page_cellspacing'),
'barcode_generate_if_empty' => $this->input->post('barcode_generate_if_empty') != NULL,
'allow_duplicate_barcodes' => $this->input->post('allow_duplicate_barcodes') != NULL,
'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 (
'receipt_template' => $this->input->post('receipt_template'),
'receipt_font_size' => $this->input->post('receipt_font_size'),
'print_delay_autoreturn' => $this->input->post('print_delay_autoreturn'),
'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_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,
'print_silently' => $this->input->post('print_silently') != NULL,
'print_header' => $this->input->post('print_header') != NULL,
'print_footer' => $this->input->post('print_footer') != NULL,
'print_top_margin' => $this->input->post('print_top_margin'),
'print_left_margin' => $this->input->post('print_left_margin'),
'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,
'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'),
'invoice_default_comments' => $this->input->post('invoice_default_comments'),
'invoice_email_message' => $this->input->post('invoice_email_message'),
'line_sequence' => $this->input->post('line_sequence'),
'last_used_invoice_number' => $this->input->post('last_used_invoice_number'),
'last_used_quote_number' => $this->input->post('last_used_quote_number'),
'quote_default_comments' => $this->input->post('quote_default_comments'),
'work_order_enable' => $this->input->post('work_order_enable') != NULL,
'work_order_format' => $this->input->post('work_order_format'),
'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)
{
if($this->config->item('invoice_enable') == '1')
{
$this->sale_lib->set_mode($batch_save_data['default_register_mode']);
}
else
{
$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',
'max_size' => '1024',
'max_width' => '800',
'max_height' => '680',
'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, 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, 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');
while(ob_get_level())
{
ob_end_clean();
}
force_download($file_name, $backup);
}
else
{
redirect('no_access/config');
}
}
}
?>

View File

@@ -0,0 +1,465 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Persons.php");
class Customers extends Persons
{
private $_list_id;
public function __construct()
{
parent::__construct('customers');
$this->load->library('mailchimp_lib');
$CI =& get_instance();
$this->_list_id = $CI->encryption->decrypt($CI->Appconfig->get('mailchimp_list_id'));
}
public function index()
{
$data['table_headers'] = $this->xss_clean(get_customer_manage_table_headers());
$this->load->view('people/manage', $data);
}
/*
Gets one row for a customer manage table. This is called using AJAX to update one row.
*/
public function get_row($row_id)
{
$person = $this->Customer->get_info($row_id);
// retrieve the total amount the customer spent so far together with min, max and average values
$stats = $this->Customer->get_stats($person->person_id);
if(empty($stats))
{
//create object with empty properties.
$stats = new stdClass;
$stats->total = 0;
$stats->min = 0;
$stats->max = 0;
$stats->average = 0;
$stats->avg_discount = 0;
$stats->quantity = 0;
}
$data_row = $this->xss_clean(get_customer_data_row($person, $stats));
echo json_encode($data_row);
}
/*
Returns customer table data rows. This will be called with AJAX.
*/
public function search()
{
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$order = $this->input->get('order');
$customers = $this->Customer->search($search, $limit, $offset, $sort, $order);
$total_rows = $this->Customer->get_found_rows($search);
$data_rows = array();
foreach($customers->result() as $person)
{
// retrieve the total amount the customer spent so far together with min, max and average values
$stats = $this->Customer->get_stats($person->person_id);
if(empty($stats))
{
//create object with empty properties.
$stats = new stdClass;
$stats->total = 0;
$stats->min = 0;
$stats->max = 0;
$stats->average = 0;
$stats->avg_discount = 0;
$stats->quantity = 0;
}
$data_rows[] = $this->xss_clean(get_customer_data_row($person, $stats));
}
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
}
/*
Gives search suggestions based on what is being searched for
*/
public function suggest()
{
$suggestions = $this->xss_clean($this->Customer->get_search_suggestions($this->input->get('term'), TRUE));
echo json_encode($suggestions);
}
public function suggest_search()
{
$suggestions = $this->xss_clean($this->Customer->get_search_suggestions($this->input->post('term'), FALSE));
echo json_encode($suggestions);
}
/*
Loads the customer edit form
*/
public function view($customer_id = -1)
{
$info = $this->Customer->get_info($customer_id);
foreach(get_object_vars($info) as $property => $value)
{
$info->$property = $this->xss_clean($value);
}
$data['person_info'] = $info;
if(empty($info->person_id) || empty($info->date) || empty($info->employee_id))
{
$data['person_info']->date = date('Y-m-d H:i:s');
$data['person_info']->employee_id = $this->Employee->get_logged_in_employee_info()->person_id;
}
$employee_info = $this->Employee->get_info($info->employee_id);
$data['employee'] = $this->xss_clean($employee_info->first_name . ' ' . $employee_info->last_name);
$tax_code_info = $this->Tax_code->get_info($info->sales_tax_code_id);
$tax_code_id = $tax_code_info->tax_code_id;
if($tax_code_info->tax_code != NULL)
{
$data['sales_tax_code_label'] = $this->xss_clean($tax_code_info->tax_code . ' ' . $tax_code_info->tax_code_name);
}
else
{
$data['sales_tax_code_label'] = '';
}
$packages = array('' => $this->lang->line('items_none'));
foreach($this->Customer_rewards->get_all()->result_array() as $row)
{
$packages[$this->xss_clean($row['package_id'])] = $this->xss_clean($row['package_name']);
}
$data['packages'] = $packages;
$data['selected_package'] = $info->package_id;
if($this->config->item('use_destination_based_tax') == '1')
{
$data['use_destination_based_tax'] = TRUE;
}
else
{
$data['use_destination_based_tax'] = FALSE;
}
// retrieve the total amount the customer spent so far together with min, max and average values
$stats = $this->Customer->get_stats($customer_id);
if(!empty($stats))
{
foreach(get_object_vars($stats) as $property => $value)
{
$info->$property = $this->xss_clean($value);
}
$data['stats'] = $stats;
}
// retrieve the info from Mailchimp only if there is an email address assigned
if(!empty($info->email))
{
// collect mailchimp customer info
if(($mailchimp_info = $this->mailchimp_lib->getMemberInfo($this->_list_id, $info->email)) !== FALSE)
{
$data['mailchimp_info'] = $this->xss_clean($mailchimp_info);
// collect customer mailchimp emails activities (stats)
if(($activities = $this->mailchimp_lib->getMemberActivity($this->_list_id, $info->email)) !== FALSE)
{
if(array_key_exists('activity', $activities))
{
$open = 0;
$unopen = 0;
$click = 0;
$total = 0;
$lastopen = '';
foreach($activities['activity'] as $activity)
{
if($activity['action'] == 'sent')
{
++$unopen;
}
elseif($activity['action'] == 'open')
{
if(empty($lastopen))
{
$lastopen = substr($activity['timestamp'], 0, 10);
}
++$open;
}
elseif($activity['action'] == 'click')
{
if(empty($lastopen))
{
$lastopen = substr($activity['timestamp'], 0, 10);
}
++$click;
}
++$total;
}
$data['mailchimp_activity']['total'] = $total;
$data['mailchimp_activity']['open'] = $open;
$data['mailchimp_activity']['unopen'] = $unopen;
$data['mailchimp_activity']['click'] = $click;
$data['mailchimp_activity']['lastopen'] = $lastopen;
}
}
}
}
$this->load->view("customers/form", $data);
}
/*
Inserts/updates a customer
*/
public function save($customer_id = -1)
{
$first_name = $this->xss_clean($this->input->post('first_name'));
$last_name = $this->xss_clean($this->input->post('last_name'));
$email = $this->xss_clean(strtolower($this->input->post('email')));
// format first and last name properly
$first_name = $this->nameize($first_name);
$last_name = $this->nameize($last_name);
$person_data = array(
'first_name' => $first_name,
'last_name' => $last_name,
'gender' => $this->input->post('gender'),
'email' => $email,
'phone_number' => $this->input->post('phone_number'),
'address_1' => $this->input->post('address_1'),
'address_2' => $this->input->post('address_2'),
'city' => $this->input->post('city'),
'state' => $this->input->post('state'),
'zip' => $this->input->post('zip'),
'country' => $this->input->post('country'),
'comments' => $this->input->post('comments')
);
$date_formatter = date_create_from_format($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'), $this->input->post('date'));
$customer_data = array(
'consent' => $this->input->post('consent') != NULL,
'account_number' => $this->input->post('account_number') == '' ? NULL : $this->input->post('account_number'),
'tax_id' => $this->input->post('tax_id'),
'company_name' => $this->input->post('company_name') == '' ? NULL : $this->input->post('company_name'),
'discount' => $this->input->post('discount') == '' ? 0.00 : $this->input->post('discount'),
'discount_type' => $this->input->post('discount_type') == NULL ? PERCENT : $this->input->post('discount_type'),
'package_id' => $this->input->post('package_id') == '' ? NULL : $this->input->post('package_id'),
'taxable' => $this->input->post('taxable') != NULL,
'date' => $date_formatter->format('Y-m-d H:i:s'),
'employee_id' => $this->input->post('employee_id'),
'sales_tax_code_id' => $this->input->post('sales_tax_code_id') == '' ? NULL : $this->input->post('sales_tax_code_id')
);
if($this->Customer->save_customer($person_data, $customer_data, $customer_id))
{
// save customer to Mailchimp selected list
$this->mailchimp_lib->addOrUpdateMember($this->_list_id, $email, $first_name, $last_name, $this->input->post('mailchimp_status'), array('vip' => $this->input->post('mailchimp_vip') != NULL));
// New customer
if($customer_id == -1)
{
echo json_encode(array('success' => TRUE,
'message' => $this->lang->line('customers_successful_adding') . ' ' . $first_name . ' ' . $last_name,
'id' => $this->xss_clean($customer_data['person_id'])));
}
else // Existing customer
{
echo json_encode(array('success' => TRUE,
'message' => $this->lang->line('customers_successful_updating') . ' ' . $first_name . ' ' . $last_name,
'id' => $customer_id));
}
}
else // Failure
{
echo json_encode(array('success' => FALSE,
'message' => $this->lang->line('customers_error_adding_updating') . ' ' . $first_name . ' ' . $last_name,
'id' => -1));
}
}
/*
AJAX call to verify if an email address already exists
*/
public function ajax_check_email()
{
$exists = $this->Customer->check_email_exists(strtolower($this->input->post('email')), $this->input->post('person_id'));
echo !$exists ? 'true' : 'false';
}
/*
AJAX call to verify if an account number already exists
*/
public function ajax_check_account_number()
{
$exists = $this->Customer->check_account_number_exists($this->input->post('account_number'), $this->input->post('person_id'));
echo !$exists ? 'true' : 'false';
}
/*
This deletes customers from the customers table
*/
public function delete()
{
$customers_to_delete = $this->input->post('ids');
$customers_info = $this->Customer->get_multiple_info($customers_to_delete);
$count = 0;
foreach($customers_info->result() as $info)
{
if($this->Customer->delete($info->person_id))
{
// remove customer from Mailchimp selected list
$this->mailchimp_lib->removeMember($this->_list_id, $info->email);
$count++;
}
}
if($count == count($customers_to_delete))
{
echo json_encode(array('success' => TRUE,
'message' => $this->lang->line('customers_successful_deleted') . ' ' . $count . ' ' . $this->lang->line('customers_one_or_multiple')));
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('customers_cannot_be_deleted')));
}
}
/*
Customers import from csv spreadsheet
*/
public function csv()
{
$name = 'import_customers.csv';
$data = file_get_contents('../' . $name);
force_download($name, $data);
}
public function csv_import()
{
$this->load->view('customers/form_csv_import', NULL);
}
public function do_csv_import()
{
if($_FILES['file_path']['error'] != UPLOAD_ERR_OK)
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('customers_csv_import_failed')));
}
else
{
if(($handle = fopen($_FILES['file_path']['tmp_name'], 'r')) !== FALSE)
{
// Skip the first row as it's the table description
fgetcsv($handle);
$i = 1;
$failCodes = array();
while(($data = fgetcsv($handle)) !== FALSE)
{
// XSS file data sanity check
$data = $this->xss_clean($data);
$consent = $data[3] == '' ? 0 : 1;
if(sizeof($data) >= 16 && $consent)
{
$email = strtolower($data[4]);
$person_data = array(
'first_name' => $data[0],
'last_name' => $data[1],
'gender' => $data[2],
'email' => $email,
'phone_number' => $data[5],
'address_1' => $data[6],
'address_2' => $data[7],
'city' => $data[8],
'state' => $data[9],
'zip' => $data[10],
'country' => $data[11],
'comments' => $data[12]
);
$customer_data = array(
'consent' => $consent,
'company_name' => $data[13],
'discount' => $data[15],
'discount_type' => $data[16],
'taxable' => $data[17] == '' ? 0 : 1,
'date' => date('Y-m-d H:i:s'),
'employee_id' => $this->Employee->get_logged_in_employee_info()->person_id
);
$account_number = $data[14];
// don't duplicate people with same email
$invalidated = $this->Customer->check_email_exists($email);
if($account_number != '')
{
$customer_data['account_number'] = $account_number;
$invalidated &= $this->Customer->check_account_number_exists($account_number);
}
}
else
{
$invalidated = TRUE;
}
if($invalidated)
{
$failCodes[] = $i;
}
elseif($this->Customer->save_customer($person_data, $customer_data))
{
// save customer to Mailchimp selected list
$this->mailchimp_lib->addOrUpdateMember($this->_list_id, $person_data['email'], $person_data['first_name'], '', $person_data['last_name']);
}
else
{
$failCodes[] = $i;
}
++$i;
}
if(count($failCodes) > 0)
{
$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_csv_import_success')));
}
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('customers_csv_import_nodata_wrongformat')));
}
}
}
}
?>

View File

@@ -0,0 +1,201 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Persons.php");
class Employees extends Persons
{
public function __construct()
{
parent::__construct('employees');
}
/*
Returns employee table data rows. This will be called with AJAX.
*/
public function search()
{
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$order = $this->input->get('order');
$employees = $this->Employee->search($search, $limit, $offset, $sort, $order);
$total_rows = $this->Employee->get_found_rows($search);
$data_rows = array();
foreach($employees->result() as $person)
{
$data_rows[] = $this->xss_clean(get_person_data_row($person));
}
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
}
/*
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')));
echo json_encode($suggestions);
}
/*
Loads the employee edit form
*/
public function view($employee_id = -1)
{
$person_info = $this->Employee->get_info($employee_id);
foreach(get_object_vars($person_info) as $property => $value)
{
$person_info->$property = $this->xss_clean($value);
}
$data['person_info'] = $person_info;
$data['employee_id'] = $employee_id;
$modules = array();
foreach($this->Module->get_all_modules()->result() as $module)
{
$module->module_id = $this->xss_clean($module->module_id);
$module->grant = $this->xss_clean($this->Employee->has_grant($module->module_id, $person_info->person_id));
$module->menu_group = $this->xss_clean($this->Employee->get_menu_group($module->module_id, $person_info->person_id));
$modules[] = $module;
}
$data['all_modules'] = $modules;
$permissions = array();
foreach($this->Module->get_all_subpermissions()->result() as $permission)
{
$permission->module_id = $this->xss_clean($permission->module_id);
$permission->permission_id = str_replace(' ', '_', $this->xss_clean($permission->permission_id));
$permission->grant = $this->xss_clean($this->Employee->has_grant($permission->permission_id, $person_info->person_id));
$permissions[] = $permission;
}
$data['all_subpermissions'] = $permissions;
$this->load->view('employees/form', $data);
}
/*
Inserts/updates an employee
*/
public function save($employee_id = -1)
{
$first_name = $this->xss_clean($this->input->post('first_name'));
$last_name = $this->xss_clean($this->input->post('last_name'));
$email = $this->xss_clean(strtolower($this->input->post('email')));
// format first and last name properly
$first_name = $this->nameize($first_name);
$last_name = $this->nameize($last_name);
$person_data = array(
'first_name' => $first_name,
'last_name' => $last_name,
'gender' => $this->input->post('gender'),
'email' => $email,
'phone_number' => $this->input->post('phone_number'),
'address_1' => $this->input->post('address_1'),
'address_2' => $this->input->post('address_2'),
'city' => $this->input->post('city'),
'state' => $this->input->post('state'),
'zip' => $this->input->post('zip'),
'country' => $this->input->post('country'),
'comments' => $this->input->post('comments'),
);
$grants_array = array();
foreach($this->Module->get_all_permissions()->result() as $permission)
{
$grants = array();
$grant = $this->input->post('grant_'.$permission->permission_id) != NULL ? $this->input->post('grant_'.$permission->permission_id) : '';
if($grant == $permission->permission_id)
{
$grants['permission_id'] = $permission->permission_id;
$grants['menu_group'] = $this->input->post('menu_group_'.$permission->permission_id) != NULL ? $this->input->post('menu_group_'.$permission->permission_id) : '--';
$grants_array[] = $grants;
}
}
//Password has been changed OR first time password set
if($this->input->post('password') != '' && ENVIRONMENT != 'testing')
{
$exploded = explode(":", $this->input->post('language'));
$employee_data = array(
'username' => $this->input->post('username'),
'password' => password_hash($this->input->post('password'), PASSWORD_DEFAULT),
'hash_version' => 2,
'language_code' => $exploded[0],
'language' => $exploded[1]
);
}
else //Password not changed
{
$exploded = explode(":", $this->input->post('language'));
$employee_data = array(
'username' => $this->input->post('username'),
'language_code' => $exploded[0],
'language' => $exploded[1]
);
}
if($this->Employee->save_employee($person_data, $employee_data, $grants_array, $employee_id))
{
// New employee
if($employee_id == -1)
{
echo json_encode(array('success' => TRUE,
'message' => $this->lang->line('employees_successful_adding') . ' ' . $first_name . ' ' . $last_name,
'id' => $this->xss_clean($employee_data['person_id'])));
}
else // Existing employee
{
echo json_encode(array('success' => TRUE,
'message' => $this->lang->line('employees_successful_updating') . ' ' . $first_name . ' ' . $last_name,
'id' => $employee_id));
}
}
else // Failure
{
echo json_encode(array('success' => FALSE,
'message' => $this->lang->line('employees_error_adding_updating') . ' ' . $first_name . ' ' . $last_name,
'id' => -1));
}
}
/*
This deletes employees from the employees table
*/
public function delete()
{
$employees_to_delete = $this->xss_clean($this->input->post('ids'));
if($this->Employee->delete_list($employees_to_delete))
{
echo json_encode(array('success' => TRUE,'message' => $this->lang->line('employees_successful_deleted') . ' ' .
count($employees_to_delete) . ' ' . $this->lang->line('employees_one_or_multiple')));
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('employees_cannot_be_deleted')));
}
}
public function check_username($employee_id)
{
$exists = $this->Employee->username_exists($employee_id, $this->input->get('username'));
echo !$exists ? 'true' : 'false';
}
}
?>

View File

@@ -0,0 +1,183 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Secure_Controller.php");
class Expenses extends Secure_Controller
{
public function __construct()
{
parent::__construct('expenses');
}
public function index()
{
$data['table_headers'] = $this->xss_clean(get_expenses_manage_table_headers());
// filters that will be loaded in the multiselect dropdown
$data['filters'] = array('only_cash' => $this->lang->line('expenses_cash_filter'),
'only_due' => $this->lang->line('expenses_due_filter'),
'only_check' => $this->lang->line('expenses_check_filter'),
'only_credit' => $this->lang->line('expenses_credit_filter'),
'only_debit' => $this->lang->line('expenses_debit_filter'),
'is_deleted' => $this->lang->line('expenses_is_deleted'));
$this->load->view('expenses/manage', $data);
}
public function search()
{
$payments = 0;
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$order = $this->input->get('order');
$filters = array(
'start_date' => $this->input->get('start_date'),
'end_date' => $this->input->get('end_date'),
'only_cash' => FALSE,
'only_due' => FALSE,
'only_check' => FALSE,
'only_credit' => FALSE,
'only_debit' => FALSE,
'is_deleted' => FALSE);
// check if any filter is set in the multiselect dropdown
$filledup = array_fill_keys($this->input->get('filters'), TRUE);
$filters = array_merge($filters, $filledup);
$expenses = $this->Expense->search($search, $filters, $limit, $offset, $sort, $order);
$total_rows = $this->Expense->get_found_rows($search, $filters);
$payments = $this->Expense->get_payments_summary($search, $filters);
$payment_summary = get_expenses_manage_payments_summary($payments, $expenses);
$data_rows = array();
foreach($expenses->result() as $expense)
{
$data_rows[] = $this->xss_clean(get_expenses_data_row($expense));
}
if($total_rows > 0)
{
$data_rows[] = $this->xss_clean(get_expenses_data_last_row($expenses));
}
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows, 'payment_summary' => $payment_summary));
}
public function view($expense_id = -1)
{
$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;
}
$data['expenses_info'] = $this->Expense->get_info($expense_id);
$expense_categories = array();
foreach($this->Expense_category->get_all(0, 0, TRUE)->result_array() as $row)
{
$expense_categories[$row['expense_category_id']] = $row['category_name'];
}
$data['expense_categories'] = $expense_categories;
$expense_id = $data['expenses_info']->expense_id;
if(empty($expense_id))
{
$data['expenses_info']->date = date('Y-m-d H:i:s');
$data['expenses_info']->employee_id = $this->Employee->get_logged_in_employee_info()->person_id;
}
$data['payments'] = array();
foreach($this->Expense->get_expense_payment($expense_id)->result() as $payment)
{
foreach(get_object_vars($payment) as $property => $value)
{
$payment->$property = $this->xss_clean($value);
}
$data['payments'][] = $payment;
}
// 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->Expense->get_payment_options(FALSE));
$this->load->view("expenses/form", $data);
}
public function get_row($row_id)
{
$expense_info = $this->Expense->get_info($row_id);
$data_row = $this->xss_clean(get_expenses_data_row($expense_info));
echo json_encode($data_row);
}
public function save($expense_id = -1)
{
$newdate = $this->input->post('date');
$date_formatter = date_create_from_format($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'), $newdate);
$expense_data = array(
'date' => $date_formatter->format('Y-m-d H:i:s'),
'supplier_id' => $this->input->post('supplier_id') == '' ? NULL : $this->input->post('supplier_id'),
'supplier_tax_code' => $this->input->post('supplier_tax_code'),
'amount' => parse_decimals($this->input->post('amount')),
'tax_amount' => parse_decimals($this->input->post('tax_amount')),
'payment_type' => $this->input->post('payment_type'),
'expense_category_id' => $this->input->post('expense_category_id'),
'description' => $this->input->post('description'),
'employee_id' => $this->input->post('employee_id'),
'deleted' => $this->input->post('deleted') != NULL
);
if($this->Expense->save($expense_data, $expense_id))
{
$expense_data = $this->xss_clean($expense_data);
//New expense_id
if($expense_id == -1)
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('expenses_successful_adding'), 'id' => $expense_data['expense_id']));
}
else // Existing Expense
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('expenses_successful_updating'), 'id' => $expense_id));
}
}
else//failure
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('expenses_error_adding_updating'), 'id' => -1));
}
}
public function ajax_check_amount()
{
$value = $this->input->post();
$parsed_value = parse_decimals(array_pop($value));
echo json_encode(array('success' => $parsed_value !== FALSE));
}
public function delete()
{
$expenses_to_delete = $this->input->post('ids');
if($this->Expense->delete_list($expenses_to_delete))
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('expenses_successful_deleted') . ' ' . count($expenses_to_delete) . ' ' . $this->lang->line('expenses_one_or_multiple'), 'ids' => $expenses_to_delete));
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('expenses_cannot_be_deleted'), 'ids' => $expenses_to_delete));
}
}
}
?>

View File

@@ -0,0 +1,97 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Secure_Controller.php");
class Expenses_categories extends Secure_Controller
{
public function __construct()
{
parent::__construct('expenses_categories');
}
public function index()
{
$data['table_headers'] = $this->xss_clean(get_expense_category_manage_table_headers());
$this->load->view('expenses_categories/manage', $data);
}
/*
Returns expense_category_manage table data rows. This will be called with AJAX.
*/
public function search()
{
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$order = $this->input->get('order');
$expense_categories = $this->Expense_category->search($search, $limit, $offset, $sort, $order);
$total_rows = $this->Expense_category->get_found_rows($search);
$data_rows = array();
foreach($expense_categories->result() as $expense_category)
{
$data_rows[] = $this->xss_clean(get_expense_category_data_row($expense_category));
}
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
}
public function get_row($row_id)
{
$data_row = $this->xss_clean(get_expense_category_data_row($this->Expense_category->get_info($row_id)));
echo json_encode($data_row);
}
public function view($expense_category_id = -1)
{
$data['category_info'] = $this->Expense_category->get_info($expense_category_id);
$this->load->view("expenses_categories/form", $data);
}
public function save($expense_category_id = -1)
{
$expense_category_data = array(
'category_name' => $this->input->post('category_name'),
'category_description' => $this->input->post('category_description')
);
if($this->Expense_category->save($expense_category_data, $expense_category_id))
{
$expense_category_data = $this->xss_clean($expense_category_data);
// New expense_category_id
if($expense_category_id == -1)
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('expenses_categories_successful_adding'), 'id' => $expense_category_data['expense_category_id']));
}
else // Existing Expense Category
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('expenses_categories_successful_updating'), 'id' => $expense_category_id));
}
}
else//failure
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('expenses_categories_error_adding_updating') . ' ' . $expense_category_data['category_name'], 'id' => -1));
}
}
public function delete()
{
$expense_category_to_delete = $this->input->post('ids');
if($this->Expense_category->delete_list($expense_category_to_delete))
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('expenses_categories_successful_deleted') . ' ' . count($expense_category_to_delete) . ' ' . $this->lang->line('expenses_categories_one_or_multiple')));
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('expenses_categories_cannot_be_deleted')));
}
}
}
?>

View File

@@ -0,0 +1,152 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Secure_Controller.php");
class Giftcards extends Secure_Controller
{
public function __construct()
{
parent::__construct('giftcards');
}
public function index()
{
$data['table_headers'] = $this->xss_clean(get_giftcards_manage_table_headers());
$this->load->view('giftcards/manage', $data);
}
/*
Returns Giftcards table data rows. This will be called with AJAX.
*/
public function search()
{
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$order = $this->input->get('order');
$giftcards = $this->Giftcard->search($search, $limit, $offset, $sort, $order);
$total_rows = $this->Giftcard->get_found_rows($search);
$data_rows = array();
foreach($giftcards->result() as $giftcard)
{
$data_rows[] = $this->xss_clean(get_giftcard_data_row($giftcard));
}
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
}
/*
Gives search suggestions based on what is being searched for
*/
public function suggest()
{
$suggestions = $this->xss_clean($this->Giftcard->get_search_suggestions($this->input->get('term'), TRUE));
echo json_encode($suggestions);
}
public function suggest_search()
{
$suggestions = $this->xss_clean($this->Giftcard->get_search_suggestions($this->input->post('term')));
echo json_encode($suggestions);
}
public function get_row($row_id)
{
$data_row = $this->xss_clean(get_giftcard_data_row($this->Giftcard->get_info($row_id)));
echo json_encode($data_row);
}
public function view($giftcard_id = -1)
{
$giftcard_info = $this->Giftcard->get_info($giftcard_id);
$data['selected_person_name'] = ($giftcard_id > 0 && isset($giftcard_info->person_id)) ? $giftcard_info->first_name . ' ' . $giftcard_info->last_name : '';
$data['selected_person_id'] = $giftcard_info->person_id;
if($this->config->item('giftcard_number') == "random")
{
$data['giftcard_number'] = $giftcard_id > 0 ? $giftcard_info->giftcard_number : '';
}
else
{
$max_giftnumber = isset($this->Giftcard->get_max_number()->giftcard_number) ? $this->Giftcard->get_max_number()->giftcard_number : 0;
$data['giftcard_number'] = $giftcard_id > 0 ? $giftcard_info->giftcard_number : $max_giftnumber + 1;
}
$data['giftcard_id'] = $giftcard_id;
$data['giftcard_value'] = $giftcard_info->value;
$data = $this->xss_clean($data);
$this->load->view("giftcards/form", $data);
}
public function save($giftcard_id = -1)
{
$giftcard_number = $this->input->post('giftcard_number');
if($giftcard_id == -1 && trim($giftcard_number) == '')
{
$giftcard_number = $this->Giftcard->generate_unique_giftcard_name($this->input->post('giftcard_amount'));
}
$giftcard_data = array(
'record_time' => date('Y-m-d H:i:s'),
'giftcard_number' => $giftcard_number,
'value' => parse_decimals($this->input->post('giftcard_amount')),
'person_id' => $this->input->post('person_id') == '' ? NULL : $this->input->post('person_id')
);
if($this->Giftcard->save($giftcard_data, $giftcard_id))
{
$giftcard_data = $this->xss_clean($giftcard_data);
//New giftcard
if($giftcard_id == -1)
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('giftcards_successful_adding') . ' ' .
$giftcard_data['giftcard_number'], 'id' => $giftcard_data['giftcard_id']));
}
else //Existing giftcard
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('giftcards_successful_updating') . ' ' .
$giftcard_data['giftcard_number'], 'id' => $giftcard_id));
}
}
else //failure
{
$giftcard_data = $this->xss_clean($giftcard_data);
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('giftcards_error_adding_updating') . ' ' .
$giftcard_data['giftcard_number'], 'id' => -1));
}
}
public function ajax_check_number_giftcard()
{
$parsed_value = parse_decimals($this->input->post('giftcard_amount'));
echo json_encode(array('success' => $parsed_value !== FALSE, 'giftcard_amount' => to_currency_no_money($parsed_value)));
}
public function delete()
{
$giftcards_to_delete = $this->xss_clean($this->input->post('ids'));
if($this->Giftcard->delete_list($giftcards_to_delete))
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('giftcards_successful_deleted') . ' ' .
count($giftcards_to_delete).' '.$this->lang->line('giftcards_one_or_multiple')));
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('giftcards_cannot_be_deleted')));
}
}
}
?>

View File

@@ -0,0 +1,72 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Secure_Controller.php");
class Home extends Secure_Controller
{
public function __construct()
{
parent::__construct(NULL, NULL, 'home');
}
public function index()
{
$this->load->view('home/home');
}
public function logout()
{
$this->Employee->logout();
}
/*
Load "change employee password" form
*/
public function change_password($employee_id = -1)
{
$person_info = $this->Employee->get_info($employee_id);
foreach(get_object_vars($person_info) as $property => $value)
{
$person_info->$property = $this->xss_clean($value);
}
$data['person_info'] = $person_info;
$this->load->view('home/form_change_password', $data);
}
/*
Change employee password
*/
public function save($employee_id = -1)
{
if($this->input->post('current_password') != '' && $employee_id != -1)
{
if($this->Employee->check_password($this->input->post('username'), $this->input->post('current_password')))
{
$employee_data = array(
'username' => $this->input->post('username'),
'password' => password_hash($this->input->post('password'), PASSWORD_DEFAULT),
'hash_version' => 2
);
if($this->Employee->change_password($employee_data, $employee_id))
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('employees_successful_change_password'), 'id' => $employee_id));
}
else//failure
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('employees_unsuccessful_change_password'), 'id' => -1));
}
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('employees_current_password_invalid'), 'id' => -1));
}
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('employees_current_password_invalid'), 'id' => -1));
}
}
}
?>

View File

@@ -0,0 +1,247 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Secure_Controller.php");
class Item_kits extends Secure_Controller
{
public function __construct()
{
parent::__construct('item_kits');
}
/*
Add the total cost and retail price to a passed items kit retrieving the data from each singular item part of the kit
*/
private function _add_totals_to_item_kit($item_kit)
{
$kit_item_info = $this->Item->get_info(isset($item_kit->kit_item_id) ? $item_kit->kit_item_id : $item_kit->item_id);
$item_kit->total_cost_price = 0;
$item_kit->total_unit_price = (float)$kit_item_info->unit_price;
$total_quantity = 0;
foreach($this->Item_kit_items->get_info($item_kit->item_kit_id) as $item_kit_item)
{
$item_info = $this->Item->get_info($item_kit_item['item_id']);
foreach(get_object_vars($item_info) as $property => $value)
{
$item_info->$property = $this->xss_clean($value);
}
$item_kit->total_cost_price += $item_info->cost_price * $item_kit_item['quantity'];
if($item_kit->price_option == PRICE_OPTION_ALL || ($item_kit->price_option == PRICE_OPTION_KIT_STOCK && $item_info->stock_type == HAS_STOCK ))
{
$item_kit->total_unit_price += $item_info->unit_price * $item_kit_item['quantity'];
$total_quantity += $item_kit_item['quantity'];
}
}
$discount_fraction = bcdiv($item_kit->kit_discount, 100);
$item_kit->total_unit_price = $item_kit->total_unit_price - round(($item_kit->kit_discount_type == PERCENT)?bcmul($item_kit->total_unit_price, $discount_fraction): $item_kit->kit_discount, totals_decimals(), PHP_ROUND_HALF_UP);
return $item_kit;
}
public function index()
{
$data['table_headers'] = $this->xss_clean(get_item_kits_manage_table_headers());
$this->load->view('item_kits/manage', $data);
}
/*
Returns Item kits table data rows. This will be called with AJAX.
*/
public function search()
{
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$order = $this->input->get('order');
$item_kits = $this->Item_kit->search($search, $limit, $offset, $sort, $order);
$total_rows = $this->Item_kit->get_found_rows($search);
$data_rows = array();
foreach($item_kits->result() as $item_kit)
{
// calculate the total cost and retail price of the Kit so it can be printed out in the manage table
$item_kit = $this->_add_totals_to_item_kit($item_kit);
$data_rows[] = $this->xss_clean(get_item_kit_data_row($item_kit));
}
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
}
public function suggest_search()
{
$suggestions = $this->xss_clean($this->Item_kit->get_search_suggestions($this->input->post('term')));
echo json_encode($suggestions);
}
public function get_row($row_id)
{
// calculate the total cost and retail price of the Kit so it can be added to the table refresh
$item_kit = $this->_add_totals_to_item_kit($this->Item_kit->get_info($row_id));
echo json_encode(get_item_kit_data_row($item_kit));
}
public function view($item_kit_id = -1)
{
$info = $this->Item_kit->get_info($item_kit_id);
if($item_kit_id == -1)
{
$info->price_option = '0';
$info->print_option = PRINT_ALL;
$info->kit_item_id = 0;
$info->item_number = '';
}
foreach(get_object_vars($info) as $property => $value)
{
$info->$property = $this->xss_clean($value);
}
$data['item_kit_info'] = $info;
$items = array();
foreach($this->Item_kit_items->get_info($item_kit_id) as $item_kit_item)
{
$item['kit_sequence'] = $this->xss_clean($item_kit_item['kit_sequence']);
$item['name'] = $this->xss_clean($this->Item->get_info($item_kit_item['item_id'])->name);
$item['item_id'] = $this->xss_clean($item_kit_item['item_id']);
$item['quantity'] = $this->xss_clean($item_kit_item['quantity']);
$items[] = $item;
}
$data['item_kit_items'] = $items;
$data['selected_kit_item_id'] = $info->kit_item_id;
$data['selected_kit_item'] = ($item_kit_id > 0 && isset($info->kit_item_id)) ? $info->item_name : '';
$this->load->view("item_kits/form", $data);
}
public function save($item_kit_id = -1)
{
$item_kit_data = array(
'name' => $this->input->post('name'),
'item_kit_number' => $this->input->post('item_kit_number'),
'item_id' => $this->input->post('kit_item_id'),
'kit_discount' => $this->input->post('kit_discount'),
'kit_discount_type' => $this->input->post('kit_discount_type') == NULL ? PERCENT : $this->input->post('kit_discount_type'),
'price_option' => $this->input->post('price_option'),
'print_option' => $this->input->post('print_option'),
'description' => $this->input->post('description')
);
if($this->Item_kit->save($item_kit_data, $item_kit_id))
{
$new_item = FALSE;
//New item kit
if($item_kit_id == -1)
{
$item_kit_id = $item_kit_data['item_kit_id'];
$new_item = TRUE;
}
if($this->input->post('item_kit_qty') != NULL)
{
$item_kit_items = array();
foreach($this->input->post('item_kit_qty') as $item_id => $quantity)
{
$seq = $this->input->post('item_kit_seq[' . $item_id . ']');
$item_kit_items[] = array(
'item_id' => $item_id,
'quantity' => $quantity,
'kit_sequence' => $seq
);
}
}
$success = $this->Item_kit_items->save($item_kit_items, $item_kit_id);
$item_kit_data = $this->xss_clean($item_kit_data);
if($new_item)
{
echo json_encode(array('success' => $success,
'message' => $this->lang->line('item_kits_successful_adding').' '.$item_kit_data['name'], 'id' => $item_kit_id));
}
else
{
echo json_encode(array('success' => $success,
'message' => $this->lang->line('item_kits_successful_updating').' '.$item_kit_data['name'], 'id' => $item_kit_id));
}
}
else//failure
{
$item_kit_data = $this->xss_clean($item_kit_data);
echo json_encode(array('success' => FALSE,
'message' => $this->lang->line('item_kits_error_adding_updating').' '.$item_kit_data['name'], 'id' => -1));
}
}
public function delete()
{
$item_kits_to_delete = $this->xss_clean($this->input->post('ids'));
if($this->Item_kit->delete_list($item_kits_to_delete))
{
echo json_encode(array('success' => TRUE,
'message' => $this->lang->line('item_kits_successful_deleted').' '.count($item_kits_to_delete).' '.$this->lang->line('item_kits_one_or_multiple')));
}
else
{
echo json_encode(array('success' => FALSE,
'message' => $this->lang->line('item_kits_cannot_be_deleted')));
}
}
public function check_item_number()
{
$exists = $this->Item_kit->item_number_exists($this->input->post('item_kit_number'), $this->input->post('item_kit_id'));
echo !$exists ? 'true' : 'false';
}
public function generate_barcodes($item_kit_ids)
{
$this->load->library('barcode_lib');
$result = array();
$item_kit_ids = explode(':', $item_kit_ids);
foreach($item_kit_ids as $item_kid_id)
{
// calculate the total cost and retail price of the Kit so it can be added to the barcode text at the bottom
$item_kit = $this->_add_totals_to_item_kit($this->Item_kit->get_info($item_kid_id));
$item_kid_id = 'KIT '. urldecode($item_kid_id);
$result[] = array('name' => $item_kit->name, 'item_id' => $item_kid_id, 'item_number' => $item_kid_id,
'cost_price' => $item_kit->total_cost_price, 'unit_price' => $item_kit->total_unit_price);
}
$data['items'] = $result;
$barcode_config = $this->barcode_lib->get_barcode_config();
// in case the selected barcode type is not Code39 or Code128 we set by default Code128
// the rationale for this is that EAN codes cannot have strings as seed, so 'KIT ' is not allowed
if($barcode_config['barcode_type'] != 'Code39' && $barcode_config['barcode_type'] != 'Code128')
{
$barcode_config['barcode_type'] = 'Code128';
}
$data['barcode_config'] = $barcode_config;
// display barcodes
$this->load->view("barcodes/barcode_sheet", $data);
}
}
?>

View File

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,125 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Login extends CI_Controller
{
public function index()
{
$this->load->library('migration');
if($this->Employee->is_logged_in())
{
redirect('home');
}
else
{
$this->form_validation->set_error_delimiters('<div class="error">', '</div>');
$this->form_validation->set_rules('username', 'lang:login_username', 'required|callback_login_check');
if($this->form_validation->run() == FALSE)
{
$this->load->view('login');
}
else
{
redirect('home');
}
}
}
public function login_check($username)
{
if(!$this->installation_check())
{
$this->form_validation->set_message('login_check', $this->lang->line('login_invalid_installation'));
return FALSE;
}
if(!$this->migration->is_latest())
{
set_time_limit(3600);
// trigger any required upgrade before starting the application
$this->migration->latest();
}
$password = $this->input->post('password');
if(!$this->Employee->login($username, $password))
{
$this->form_validation->set_message('login_check', $this->lang->line('login_invalid_username_and_password'));
return FALSE;
}
if($this->config->item('gcaptcha_enable'))
{
$g_recaptcha_response = $this->input->post('g-recaptcha-response');
if(!$this->gcaptcha_check($g_recaptcha_response))
{
$this->form_validation->set_message('login_check', $this->lang->line('login_invalid_gcaptcha'));
return FALSE;
}
}
return TRUE;
}
private function gcaptcha_check($response)
{
if(!empty($response))
{
$check = array(
'secret' => $this->config->item('gcaptcha_secret_key'),
'response' => $response,
'remoteip' => $this->input->ip_address()
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.google.com/recaptcha/api/siteverify");
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($check));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
$status = json_decode($result, TRUE);
if(!empty($status['success']))
{
return TRUE;
}
}
return FALSE;
}
private function installation_check()
{
// get PHP extensions and check that the required ones are installed
$extensions = implode(', ', get_loaded_extensions());
$keys = array('bcmath', 'intl', 'gd', 'openssl', 'mbstring', 'curl');
$pattern = '/';
foreach($keys as $key)
{
$pattern .= '(?=.*\b' . preg_quote($key, '/') . '\b)';
}
$pattern .= '/i';
$result = preg_match($pattern, $extensions);
if(!$result)
{
error_log('Check your php.ini');
error_log('PHP installed extensions: ' . $extensions);
error_log('PHP required extensions: ' . implode(', ', $keys));
}
return $result;
}
}
?>

View File

@@ -0,0 +1,65 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Secure_Controller.php");
class Messages extends Secure_Controller
{
public function __construct()
{
parent::__construct('messages');
$this->load->library('sms_lib');
}
public function index()
{
$this->load->view('messages/sms');
}
public function view($person_id = -1)
{
$info = $this->Person->get_info($person_id);
foreach(get_object_vars($info) as $property => $value)
{
$info->$property = $this->xss_clean($value);
}
$data['person_info'] = $info;
$this->load->view('messages/form_sms', $data);
}
public function send()
{
$phone = $this->input->post('phone');
$message = $this->input->post('message');
$response = $this->sms_lib->sendSMS($phone, $message);
if($response)
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('messages_successfully_sent') . ' ' . $this->xss_clean($phone)));
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('messages_unsuccessfully_sent') . ' ' . $this->xss_clean($phone)));
}
}
public function send_form($person_id = -1)
{
$phone = $this->input->post('phone');
$message = $this->input->post('message');
$response = $this->sms_lib->sendSMS($phone, $message);
if($response)
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('messages_successfully_sent') . ' ' . $this->xss_clean($phone), 'person_id' => $this->xss_clean($person_id)));
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('messages_unsuccessfully_sent') . ' ' . $this->xss_clean($phone), 'person_id' => -1));
}
}
}
?>

View File

@@ -0,0 +1,15 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class No_Access extends CI_Controller
{
public function index($module_id = '', $permission_id = '')
{
$data['module_name'] = $this->Module->get_module_name($module_id);
$data['permission_id'] = $permission_id;
$data = $this->security->xss_clean($data);
$this->load->view('no_access', $data);
}
}
?>

View File

@@ -0,0 +1,22 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Secure_Controller.php");
class Office extends Secure_Controller
{
function __construct()
{
parent::__construct('office', NULL, 'office');
}
public function index()
{
$this->load->view('home/office');
}
public function logout()
{
$this->Employee->logout();
}
}
?>

View File

@@ -0,0 +1,55 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Secure_Controller.php");
abstract class Persons extends Secure_Controller
{
public function __construct($module_id = NULL)
{
parent::__construct($module_id);
}
public function index()
{
$data['table_headers'] = $this->xss_clean(get_people_manage_table_headers());
$this->load->view('people/manage', $data);
}
/*
Gives search suggestions based on what is being searched for
*/
public function suggest()
{
$suggestions = $this->xss_clean($this->Person->get_search_suggestions($this->input->post('term')));
echo json_encode($suggestions);
}
/*
Gets one row for a person manage table. This is called using AJAX to update one row.
*/
public function get_row($row_id)
{
$data_row = $this->xss_clean(get_person_data_row($this->Person->get_info($row_id)));
echo json_encode($data_row);
}
/*
Capitalize segments of a name, and put the rest into lower case.
You can pass the characters you want to use as delimiters as exceptions.
The function supports UTF-8 string.
Example:
i.e. <?php echo nameize("john o'grady-smith"); ?>
returns John O'Grady-Smith
*/
protected function nameize($string)
{
return str_name_case($string);
}
}
?>

View File

@@ -0,0 +1,409 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Secure_Controller.php");
class Receivings extends Secure_Controller
{
public function __construct()
{
parent::__construct('receivings');
$this->load->library('receiving_lib');
$this->load->library('token_lib');
$this->load->library('barcode_lib');
}
public function index()
{
$this->_reload();
}
public function item_search()
{
$suggestions = $this->Item->get_search_suggestions($this->input->get('term'), array('search_custom' => FALSE, 'is_deleted' => FALSE), TRUE);
$suggestions = array_merge($suggestions, $this->Item_kit->get_search_suggestions($this->input->get('term')));
$suggestions = $this->xss_clean($suggestions);
echo json_encode($suggestions);
}
public function stock_item_search()
{
$suggestions = $this->Item->get_stock_search_suggestions($this->input->get('term'), array('search_custom' => FALSE, 'is_deleted' => FALSE), TRUE);
$suggestions = array_merge($suggestions, $this->Item_kit->get_search_suggestions($this->input->get('term')));
$suggestions = $this->xss_clean($suggestions);
echo json_encode($suggestions);
}
public function select_supplier()
{
$supplier_id = $this->input->post('supplier');
if($this->Supplier->exists($supplier_id))
{
$this->receiving_lib->set_supplier($supplier_id);
}
$this->_reload();
}
public function change_mode()
{
$stock_destination = $this->input->post('stock_destination');
$stock_source = $this->input->post('stock_source');
if((!$stock_source || $stock_source == $this->receiving_lib->get_stock_source()) &&
(!$stock_destination || $stock_destination == $this->receiving_lib->get_stock_destination()))
{
$this->receiving_lib->clear_reference();
$mode = $this->input->post('mode');
$this->receiving_lib->set_mode($mode);
}
elseif($this->Stock_location->is_allowed_location($stock_source, 'receivings'))
{
$this->receiving_lib->set_stock_source($stock_source);
$this->receiving_lib->set_stock_destination($stock_destination);
}
$this->_reload();
}
public function set_comment()
{
$this->receiving_lib->set_comment($this->input->post('comment'));
}
public function set_print_after_sale()
{
$this->receiving_lib->set_print_after_sale($this->input->post('recv_print_after_sale'));
}
public function set_reference()
{
$this->receiving_lib->set_reference($this->input->post('recv_reference'));
}
public function add()
{
$data = array();
$mode = $this->receiving_lib->get_mode();
$item_id_or_number_or_item_kit_or_receipt = $this->input->post('item');
$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');
$discount_type = $this->config->item('default_receivings_discount_type');
if($mode == 'return' && $this->Receiving->is_valid_receipt($item_id_or_number_or_item_kit_or_receipt))
{
$this->receiving_lib->return_entire_receiving($item_id_or_number_or_item_kit_or_receipt);
}
elseif($this->Item_kit->is_valid_item_kit($item_id_or_number_or_item_kit_or_receipt))
{
$this->receiving_lib->add_item_kit($item_id_or_number_or_item_kit_or_receipt, $item_location, $discount, $discount_type);
}
elseif(!$this->receiving_lib->add_item($item_id_or_number_or_item_kit_or_receipt, $quantity, $item_location, $discount, $discount_type))
{
$data['error'] = $this->lang->line('receivings_unable_to_add_item');
}
$this->_reload($data);
}
public function edit_item($item_id)
{
$data = array();
$this->form_validation->set_rules('price', 'lang:items_price', 'required|callback_numeric');
$this->form_validation->set_rules('quantity', 'lang:items_quantity', 'required|callback_numeric');
$this->form_validation->set_rules('discount', 'lang:items_discount', 'required|callback_numeric');
$description = $this->input->post('description');
$serialnumber = $this->input->post('serialnumber');
$price = parse_decimals($this->input->post('price'));
$quantity = parse_quantity($this->input->post('quantity'));
$discount_type = $this->input->post('discount_type');
$discount = $discount_type ? parse_quantity($this->input->post('discount')) : parse_decimals($this->input->post('discount'));
$receiving_quantity = $this->input->post('receiving_quantity');
if($this->form_validation->run() != FALSE)
{
$this->receiving_lib->edit_item($item_id, $description, $serialnumber, $quantity, $discount, $discount_type, $price, $receiving_quantity);
}
else
{
$data['error']=$this->lang->line('receivings_error_editing_item');
}
$this->_reload($data);
}
public function edit($receiving_id)
{
$data = array();
$data['suppliers'] = array('' => 'No Supplier');
foreach($this->Supplier->get_all()->result() as $supplier)
{
$data['suppliers'][$supplier->person_id] = $this->xss_clean($supplier->first_name . ' ' . $supplier->last_name);
}
$data['employees'] = array();
foreach($this->Employee->get_all()->result() as $employee)
{
$data['employees'][$employee->person_id] = $this->xss_clean($employee->first_name . ' '. $employee->last_name);
}
$receiving_info = $this->xss_clean($this->Receiving->get_info($receiving_id)->row_array());
$data['selected_supplier_name'] = !empty($receiving_info['supplier_id']) ? $receiving_info['company_name'] : '';
$data['selected_supplier_id'] = $receiving_info['supplier_id'];
$data['receiving_info'] = $receiving_info;
$this->load->view('receivings/form', $data);
}
public function delete_item($item_number)
{
$this->receiving_lib->delete_item($item_number);
$this->_reload();
}
public function delete($receiving_id = -1, $update_inventory = TRUE)
{
$employee_id = $this->Employee->get_logged_in_employee_info()->person_id;
$receiving_ids = $receiving_id == -1 ? $this->input->post('ids') : array($receiving_id);
if($this->Receiving->delete_list($receiving_ids, $employee_id, $update_inventory))
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('receivings_successfully_deleted') . ' ' .
count($receiving_ids) . ' ' . $this->lang->line('receivings_one_or_multiple'), 'ids' => $receiving_ids));
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('receivings_cannot_be_deleted')));
}
}
public function remove_supplier()
{
$this->receiving_lib->clear_reference();
$this->receiving_lib->remove_supplier();
$this->_reload();
}
public function complete()
{
$data = array();
$data['cart'] = $this->receiving_lib->get_cart();
$data['total'] = $this->receiving_lib->get_total();
$data['transaction_time'] = to_datetime(time());
$data['mode'] = $this->receiving_lib->get_mode();
$data['comment'] = $this->receiving_lib->get_comment();
$data['reference'] = $this->receiving_lib->get_reference();
$data['payment_type'] = $this->input->post('payment_type');
$data['show_stock_locations'] = $this->Stock_location->show_locations('receivings');
$data['stock_location'] = $this->receiving_lib->get_stock_source();
if($this->input->post('amount_tendered') != NULL)
{
$data['amount_tendered'] = $this->input->post('amount_tendered');
$data['amount_change'] = to_currency($data['amount_tendered'] - $data['total']);
}
$employee_id = $this->Employee->get_logged_in_employee_info()->person_id;
$employee_info = $this->Employee->get_info($employee_id);
$data['employee'] = $employee_info->first_name . ' ' . $employee_info->last_name;
$supplier_info = '';
$supplier_id = $this->receiving_lib->get_supplier();
if($supplier_id != -1)
{
$supplier_info = $this->Supplier->get_info($supplier_id);
$data['supplier'] = $supplier_info->company_name;
$data['first_name'] = $supplier_info->first_name;
$data['last_name'] = $supplier_info->last_name;
$data['supplier_email'] = $supplier_info->email;
$data['supplier_address'] = $supplier_info->address_1;
if(!empty($supplier_info->zip) or !empty($supplier_info->city))
{
$data['supplier_location'] = $supplier_info->zip . ' ' . $supplier_info->city;
}
else
{
$data['supplier_location'] = '';
}
}
//SAVE receiving to database
$data['receiving_id'] = 'RECV ' . $this->Receiving->save($data['cart'], $supplier_id, $employee_id, $data['comment'], $data['reference'], $data['payment_type'], $data['stock_location']);
$data = $this->xss_clean($data);
if($data['receiving_id'] == 'RECV -1')
{
$data['error_message'] = $this->lang->line('receivings_transaction_failed');
}
else
{
$data['barcode'] = $this->barcode_lib->generate_receipt_barcode($data['receiving_id']);
}
$data['print_after_sale'] = $this->receiving_lib->is_print_after_sale();
$this->load->view("receivings/receipt",$data);
$this->receiving_lib->clear_all();
}
public function requisition_complete()
{
if($this->receiving_lib->get_stock_source() != $this->receiving_lib->get_stock_destination())
{
foreach($this->receiving_lib->get_cart() as $item)
{
$this->receiving_lib->delete_item($item['line']);
$this->receiving_lib->add_item($item['item_id'], $item['quantity'], $this->receiving_lib->get_stock_destination(), $item['discount_type']);
$this->receiving_lib->add_item($item['item_id'], -$item['quantity'], $this->receiving_lib->get_stock_source(), $item['discount_type']);
}
$this->complete();
}
else
{
$data['error'] = $this->lang->line('receivings_error_requisition');
$this->_reload($data);
}
}
public function receipt($receiving_id)
{
$receiving_info = $this->Receiving->get_info($receiving_id)->row_array();
$this->receiving_lib->copy_entire_receiving($receiving_id);
$data['cart'] = $this->receiving_lib->get_cart();
$data['total'] = $this->receiving_lib->get_total();
$data['mode'] = $this->receiving_lib->get_mode();
$data['transaction_time'] = to_datetime(strtotime($receiving_info['receiving_time']));
$data['show_stock_locations'] = $this->Stock_location->show_locations('receivings');
$data['payment_type'] = $receiving_info['payment_type'];
$data['reference'] = $this->receiving_lib->get_reference();
$data['receiving_id'] = 'RECV ' . $receiving_id;
$data['barcode'] = $this->barcode_lib->generate_receipt_barcode($data['receiving_id']);
$employee_info = $this->Employee->get_info($receiving_info['employee_id']);
$data['employee'] = $employee_info->first_name . ' ' . $employee_info->last_name;
$supplier_id = $this->receiving_lib->get_supplier();
if($supplier_id != -1)
{
$supplier_info = $this->Supplier->get_info($supplier_id);
$data['supplier'] = $supplier_info->company_name;
$data['first_name'] = $supplier_info->first_name;
$data['last_name'] = $supplier_info->last_name;
$data['supplier_email'] = $supplier_info->email;
$data['supplier_address'] = $supplier_info->address_1;
if(!empty($supplier_info->zip) or !empty($supplier_info->city))
{
$data['supplier_location'] = $supplier_info->zip . ' ' . $supplier_info->city;
}
else
{
$data['supplier_location'] = '';
}
}
$data['print_after_sale'] = FALSE;
$data = $this->xss_clean($data);
$this->load->view("receivings/receipt", $data);
$this->receiving_lib->clear_all();
}
private function _reload($data = array())
{
$data['cart'] = $this->receiving_lib->get_cart();
$data['modes'] = array('receive' => $this->lang->line('receivings_receiving'), 'return' => $this->lang->line('receivings_return'));
$data['mode'] = $this->receiving_lib->get_mode();
$data['stock_locations'] = $this->Stock_location->get_allowed_locations('receivings');
$data['show_stock_locations'] = count($data['stock_locations']) > 1;
if($data['show_stock_locations'])
{
$data['modes']['requisition'] = $this->lang->line('receivings_requisition');
$data['stock_source'] = $this->receiving_lib->get_stock_source();
$data['stock_destination'] = $this->receiving_lib->get_stock_destination();
}
$data['total'] = $this->receiving_lib->get_total();
$data['items_module_allowed'] = $this->Employee->has_grant('items', $this->Employee->get_logged_in_employee_info()->person_id);
$data['comment'] = $this->receiving_lib->get_comment();
$data['reference'] = $this->receiving_lib->get_reference();
$data['payment_options'] = $this->Receiving->get_payment_options();
$supplier_id = $this->receiving_lib->get_supplier();
$supplier_info = '';
if($supplier_id != -1)
{
$supplier_info = $this->Supplier->get_info($supplier_id);
$data['supplier'] = $supplier_info->company_name;
$data['first_name'] = $supplier_info->first_name;
$data['last_name'] = $supplier_info->last_name;
$data['supplier_email'] = $supplier_info->email;
$data['supplier_address'] = $supplier_info->address_1;
if(!empty($supplier_info->zip) or !empty($supplier_info->city))
{
$data['supplier_location'] = $supplier_info->zip . ' ' . $supplier_info->city;
}
else
{
$data['supplier_location'] = '';
}
}
$data['print_after_sale'] = $this->receiving_lib->is_print_after_sale();
$data = $this->xss_clean($data);
$this->load->view("receivings/receiving", $data);
}
public function save($receiving_id = -1)
{
$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' => $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));
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('receivings_unsuccessfully_updated'), 'id' => $receiving_id));
}
}
public function cancel_receiving()
{
$this->receiving_lib->clear_all();
$this->_reload();
}
}
?>

View File

File diff suppressed because it is too large Load Diff

View File

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,103 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Secure_Controller extends CI_Controller
{
/*
* Controllers that are considered secure extend Secure_Controller, optionally a $module_id can
* be set to also check if a user can access a particular module in the system.
*/
public function __construct($module_id = NULL, $submodule_id = NULL, $menu_group = NULL)
{
parent::__construct();
$this->load->model('Employee');
$model = $this->Employee;
if(!$model->is_logged_in())
{
redirect('login');
}
$logged_in_employee_info = $model->get_logged_in_employee_info();
if(!$model->has_module_grant($module_id, $logged_in_employee_info->person_id) ||
(isset($submodule_id) && !$model->has_module_grant($submodule_id, $logged_in_employee_info->person_id)))
{
redirect('no_access/' . $module_id . '/' . $submodule_id);
}
// load up global data visible to all the loaded views
$this->load->library('session');
if($menu_group == NULL)
{
$menu_group = $this->session->userdata('menu_group');
}
else
{
$this->session->set_userdata('menu_group', $menu_group);
}
if($menu_group == 'home')
{
$allowed_modules = $this->Module->get_allowed_home_modules($logged_in_employee_info->person_id);
}
else
{
$allowed_modules = $this->Module->get_allowed_office_modules($logged_in_employee_info->person_id);
}
foreach($allowed_modules->result() as $module)
{
$data['allowed_modules'][] = $module;
}
$data['user_info'] = $logged_in_employee_info;
$data['controller_name'] = $module_id;
$this->load->vars($data);
}
/*
* Internal method to do XSS clean in the derived classes
*/
protected function xss_clean($str, $is_image = FALSE)
{
// This setting is configurable in application/config/config.php.
// Users can disable the XSS clean for performance reasons
// (cases like intranet installation with no Internet access)
if($this->config->item('ospos_xss_clean') == FALSE)
{
return $str;
}
else
{
return $this->security->xss_clean($str, $is_image);
}
}
public function numeric($str)
{
return parse_decimals($str);
}
public function check_numeric()
{
$result = TRUE;
foreach($this->input->get() as $str)
{
$result &= parse_decimals($str);
}
echo $result !== FALSE ? 'true' : 'false';
}
// this is the basic set of methods most OSPOS Controllers will implement
public function index() { return FALSE; }
public function search() { return FALSE; }
public function suggest_search() { return FALSE; }
public function view($data_item_id = -1) { return FALSE; }
public function save($data_item_id = -1) { return FALSE; }
public function delete() { return FALSE; }
}
?>

View File

@@ -0,0 +1,171 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Persons.php");
class Suppliers extends Persons
{
public function __construct()
{
parent::__construct('suppliers');
}
public function index()
{
$data['table_headers'] = $this->xss_clean(get_suppliers_manage_table_headers());
$this->load->view('people/manage', $data);
}
/*
Gets one row for a supplier manage table. This is called using AJAX to update one row.
*/
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);
}
/*
Returns Supplier table data rows. This will be called with AJAX.
*/
public function search()
{
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$order = $this->input->get('order');
$suppliers = $this->Supplier->search($search, $limit, $offset, $sort, $order);
$total_rows = $this->Supplier->get_found_rows($search);
$data_rows = array();
foreach($suppliers->result() as $supplier)
{
$row = $this->xss_clean(get_supplier_data_row($supplier));
$row['category'] = $this->Supplier->get_category_name($row['category']);
$data_rows[] = $row;
}
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
}
/*
Gives search suggestions based on what is being searched for
*/
public function suggest()
{
$suggestions = $this->xss_clean($this->Supplier->get_search_suggestions($this->input->get('term'), TRUE));
echo json_encode($suggestions);
}
public function suggest_search()
{
$suggestions = $this->xss_clean($this->Supplier->get_search_suggestions($this->input->post('term'), FALSE));
echo json_encode($suggestions);
}
/*
Loads the supplier edit form
*/
public function view($supplier_id = -1)
{
$info = $this->Supplier->get_info($supplier_id);
foreach(get_object_vars($info) as $property => $value)
{
$info->$property = $this->xss_clean($value);
}
$data['person_info'] = $info;
$data['categories'] = $this->Supplier->get_categories();
$this->load->view("suppliers/form", $data);
}
/*
Inserts/updates a supplier
*/
public function save($supplier_id = -1)
{
$first_name = $this->xss_clean($this->input->post('first_name'));
$last_name = $this->xss_clean($this->input->post('last_name'));
$email = $this->xss_clean(strtolower($this->input->post('email')));
// format first and last name properly
$first_name = $this->nameize($first_name);
$last_name = $this->nameize($last_name);
$person_data = array(
'first_name' => $first_name,
'last_name' => $last_name,
'gender' => $this->input->post('gender'),
'email' => $email,
'phone_number' => $this->input->post('phone_number'),
'address_1' => $this->input->post('address_1'),
'address_2' => $this->input->post('address_2'),
'city' => $this->input->post('city'),
'state' => $this->input->post('state'),
'zip' => $this->input->post('zip'),
'country' => $this->input->post('country'),
'comments' => $this->input->post('comments')
);
$supplier_data = array(
'company_name' => $this->input->post('company_name'),
'agency_name' => $this->input->post('agency_name'),
'category' => $this->input->post('category'),
'account_number' => $this->input->post('account_number') == '' ? NULL : $this->input->post('account_number'),
'tax_id' => $this->input->post('tax_id')
);
if($this->Supplier->save_supplier($person_data, $supplier_data, $supplier_id))
{
$supplier_data = $this->xss_clean($supplier_data);
//New supplier
if($supplier_id == -1)
{
echo json_encode(array('success' => TRUE,
'message' => $this->lang->line('suppliers_successful_adding') . ' ' . $supplier_data['company_name'],
'id' => $supplier_data['person_id']));
}
else //Existing supplier
{
echo json_encode(array('success' => TRUE,
'message' => $this->lang->line('suppliers_successful_updating') . ' ' . $supplier_data['company_name'],
'id' => $supplier_id));
}
}
else//failure
{
$supplier_data = $this->xss_clean($supplier_data);
echo json_encode(array('success' => FALSE,
'message' => $this->lang->line('suppliers_error_adding_updating') . ' ' . $supplier_data['company_name'],
'id' => -1));
}
}
/*
This deletes suppliers from the suppliers table
*/
public function delete()
{
$suppliers_to_delete = $this->xss_clean($this->input->post('ids'));
if($this->Supplier->delete_list($suppliers_to_delete))
{
echo json_encode(array('success' => TRUE,'message' => $this->lang->line('suppliers_successful_deleted').' '.
count($suppliers_to_delete).' '.$this->lang->line('suppliers_one_or_multiple')));
}
else
{
echo json_encode(array('success' => FALSE,'message' => $this->lang->line('suppliers_cannot_be_deleted')));
}
}
}
?>

View File

@@ -0,0 +1,100 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Secure_Controller.php");
class Tax_categories extends Secure_Controller
{
public function __construct()
{
parent::__construct('tax_categories');
}
public function index()
{
$data['tax_categories_table_headers'] = $this->xss_clean(get_tax_categories_table_headers());
$this->load->view('taxes/tax_categories', $data);
}
/*
* Returns tax_category table data rows. This will be called with AJAX.
*/
public function search()
{
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$order = $this->input->get('order');
$tax_categories = $this->Tax_category->search($search, $limit, $offset, $sort, $order);
$total_rows = $this->Tax_category->get_found_rows($search);
$data_rows = array();
foreach($tax_categories->result() as $tax_category)
{
$data_rows[] = $this->xss_clean(get_tax_category_data_row($tax_category));
}
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
}
public function get_row($row_id)
{
$data_row = $this->xss_clean(get_tax_category_data_row($this->Tax_category->get_info($row_id)));
echo json_encode($data_row);
}
public function view($tax_category_id = -1)
{
$data['tax_category_info'] = $this->Tax_category->get_info($tax_category_id);
$this->load->view("taxes/tax_category_form", $data);
}
public function save($tax_category_id = -1)
{
$tax_category_data = array(
'tax_category' => $this->input->post('tax_category'),
'tax_category_code' => $this->input->post('tax_category_code'),
'tax_group_sequence' => $this->input->post('tax_group_sequence')
);
if($this->Tax_category->save($tax_category_data, $tax_category_id))
{
$tax_category_data = $this->xss_clean($tax_category_data);
// New tax_category_id
if($tax_category_id == -1)
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_categories_successful_adding'), 'id' => $tax_category_data['tax_category_id']));
}
else
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_categories_successful_updating'), 'id' => $tax_category_id));
}
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_categories_error_adding_updating') . ' ' . $tax_category_data['tax_category'], 'id' => -1));
}
}
public function delete()
{
$tax_categories_to_delete = $this->input->post('ids');
if($this->Tax_category->delete_list($tax_categories_to_delete))
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_categories_successful_deleted') . ' ' . count($tax_categories_to_delete) . ' ' . $this->lang->line('taxes_categories_one_or_multiple')));
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_categories_cannot_be_deleted')));
}
}
}
?>

View File

@@ -0,0 +1,104 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Secure_Controller.php");
class Tax_codes extends Secure_Controller
{
public function __construct()
{
parent::__construct('tax_codes');
}
public function index()
{
$this->load->view('taxes/tax_codes',get_data());
}
public function get_data()
{
$data['table_headers'] = $this->xss_clean(get_tax_codes_table_headers());
return $data;
}
/*
* Returns tax_category table data rows. This will be called with AJAX.
*/
public function search()
{
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$order = $this->input->get('order');
$tax_codes = $this->Tax_code->search($search, $limit, $offset, $sort, $order);
$total_rows = $this->Tax_code->get_found_rows($search);
$data_rows = array();
foreach($tax_codes->result() as $tax_code)
{
$data_rows[] = $this->xss_clean(get_tax_code_data_row($tax_code));
}
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
}
public function get_row($row_id)
{
$data_row = $this->xss_clean(get_tax_code_data_row($this->Tax_code->get_info($row_id)));
echo json_encode($data_row);
}
public function view($tax_code_id = -1)
{
$data['tax_code_info'] = $this->Tax_code->get_info($tax_code_id);
$this->load->view("taxes/tax_code_form", $data);
}
public function save($tax_code_id = -1)
{
$tax_code_data = array(
'tax_code' => $this->input->post('tax_code'),
'tax_code_name' => $this->input->post('tax_code_name'),
'city' => $this->input->post('city'),
'state' => $this->input->post('state')
);
if($this->Tax_code->save($tax_code_data))
{
$tax_code_data = $this->xss_clean($tax_code_data);
if($tax_code_id == -1)
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_codes_successful_adding'), 'id' => $tax_code_data['tax_code_id']));
}
else
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_codes_successful_updating'), 'id' => $tax_code_id));
}
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_codes_error_adding_updating') . ' ' . $tax_code_data['tax_code_id'], 'id' => -1));
}
}
public function delete()
{
$tax_codes_to_delete = $this->input->post('ids');
if($this->Tax_code->delete_list($tax_codes_to_delete))
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_codes_successful_deleted') . ' ' . count($tax_codes_to_delete) . ' ' . $this->lang->line('taxes_codes_one_or_multiple')));
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_codes_cannot_be_deleted')));
}
}
}
?>

View File

@@ -0,0 +1,98 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Secure_Controller.php");
class Tax_jurisdictions extends Secure_Controller
{
public function __construct()
{
parent::__construct('tax_jurisdictions');
}
public function index()
{
$data['table_headers'] = $this->xss_clean(get_tax_jurisdictions_table_headers());
$this->load->view('taxes/tax_jurisdictions', $data);
}
/*
* Returns tax_category table data rows. This will be called with AJAX.
*/
public function search()
{
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$order = $this->input->get('order');
$tax_jurisdictions = $this->Tax_jurisdiction->search($search, $limit, $offset, $sort, $order);
$total_rows = $this->Tax_jurisdiction->get_found_rows($search);
$data_rows = array();
foreach($tax_jurisdictions->result() as $tax_jurisdiction)
{
$data_rows[] = $this->xss_clean(get_tax_jurisdiction_data_row($tax_jurisdiction));
}
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
}
public function get_row($row_id)
{
$data_row = $this->xss_clean(get_tax_jurisdiction_data_row($this->Tax_jurisdiction->get_info($row_id)));
echo json_encode($data_row);
}
public function view($tax_jurisdiction_id = -1)
{
$data['tax_jurisdiction_info'] = $this->Tax_jurisdiction->get_info($tax_jurisdiction_id);
$this->load->view("taxes/tax_jurisdiction_form", $data);
}
public function save($jurisdiction_id = -1)
{
$tax_jurisdiction_data = array(
'jurisdiction_name' => $this->input->post('jurisdiction_name'),
'reporting_authority' => $this->input->post('reporting_authority')
);
if($this->Tax_jurisdiction->save($tax_jurisdiction_data))
{
$tax_jurisdiction_data = $this->xss_clean($tax_jurisdiction_data);
if($jurisdiction_id == -1)
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_jurisdictions_successful_adding'), 'id' => $tax_jurisdiction_data['jurisdiction_id']));
}
else
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_jurisdictions_successful_updating'), 'id' => $jurisdiction_id));
}
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_jurisdictions_error_adding_updating') . ' ' . $tax_jurisdiction_data['jurisdiction_name'], 'id' => -1));
}
}
public function delete()
{
$tax_jurisdictions_to_delete = $this->input->post('ids');
if($this->Tax_jurisdiction->delete_list($tax_jurisdictions_to_delete))
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_jurisdictions_successful_deleted') . ' ' . count($tax_jurisdictions_to_delete) . ' ' . $this->lang->line('taxes_jurisdictions_one_or_multiple')));
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_jurisdictions_cannot_be_deleted')));
}
}
}
?>

View File

@@ -0,0 +1,542 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Secure_Controller.php");
class Taxes extends Secure_Controller
{
public function __construct()
{
parent::__construct('taxes');
$this->load->model('enums/Rounding_mode');
$this->load->library('tax_lib');
$this->load->helper('tax_helper');
}
public function index()
{
$data['tax_codes'] = $this->xss_clean($this->Tax_code->get_all()->result_array());
if (count($data['tax_codes']) == 0)
{
$data['tax_codes'] = $this->Tax_code->get_empty_row();
}
$data['tax_categories'] = $this->xss_clean($this->Tax_category->get_all()->result_array());
if (count($data['tax_categories']) == 0)
{
$data['tax_categories'] = $this->Tax_category->get_empty_row();
}
$data['tax_jurisdictions'] = $this->xss_clean($this->Tax_jurisdiction->get_all()->result_array());
if (count($data['tax_jurisdictions']) == 0)
{
$data['tax_jurisdictions'] = $this->Tax_jurisdiction->get_empty_row();
}
$data['tax_rate_table_headers'] = $this->xss_clean(get_tax_rates_manage_table_headers());
$data['tax_categories_table_headers'] = $this->xss_clean(get_tax_categories_table_headers());
$data['tax_types'] = $this->tax_lib->get_tax_types();
if($this->config->item('tax_included') == '1')
{
$data['default_tax_type'] = Tax_lib::TAX_TYPE_INCLUDED;
}
else
{
$data['default_tax_type'] = Tax_lib::TAX_TYPE_EXCLUDED;
}
$data['tax_type_options'] = $this->tax_lib->get_tax_type_options($data['default_tax_type']);
$this->load->view('taxes/manage', $data);
}
/*
Returns tax_codes table data rows. This will be called with AJAX.
*/
public function search()
{
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$order = $this->input->get('order');
$tax_rates = $this->Tax->search($search, $limit, $offset, $sort, $order);
$total_rows = $this->Tax->get_found_rows($search);
$data_rows = array();
foreach($tax_rates->result() as $tax_rate_row)
{
$data_rows[] = $this->xss_clean(get_tax_rates_data_row($tax_rate_row));
}
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
}
/*
Gives search suggestions based on what is being searched for
*/
public function suggest_search()
{
$suggestions = $this->xss_clean($this->Tax->get_search_suggestions($this->input->post('term')));
echo json_encode($suggestions);
}
/*
Provides list of tax categories to select from
*/
public function suggest_tax_categories()
{
$suggestions = $this->xss_clean($this->Tax_category->get_tax_category_suggestions($this->input->post('term')));
echo json_encode($suggestions);
}
public function get_row($row_id)
{
$data_row = $this->xss_clean(get_tax_rates_data_row($this->Tax->get_info($row_id), $this));
echo json_encode($data_row);
}
public function view_tax_codes($tax_code = -1)
{
$tax_code_info = $this->Tax->get_info($tax_code);
$default_tax_category_id = 1; // Tax category id is always the default tax category
$default_tax_category = $this->Tax->get_tax_category($default_tax_category_id);
$tax_rate_info = $this->Tax->get_rate_info($tax_code, $default_tax_category_id);
if($this->config->item('tax_included') == '1')
{
$data['default_tax_type'] = Tax_lib::TAX_TYPE_INCLUDED;
}
else
{
$data['default_tax_type'] = Tax_lib::TAX_TYPE_EXCLUDED;
}
$data['rounding_options'] = Rounding_mode::get_rounding_options();
$data['html_rounding_options'] = $this->get_html_rounding_options();
if($tax_code == -1)
{
$data['tax_code'] = '';
$data['tax_code_name'] = '';
$data['tax_code_type'] = '0';
$data['city'] = '';
$data['state'] = '';
$data['tax_rate'] = '0.0000';
$data['rate_tax_code'] = '';
$data['rate_tax_category_id'] = 1;
$data['tax_category'] = '';
$data['add_tax_category'] = '';
$data['rounding_code'] = '0';
}
else
{
$data['tax_code'] = $tax_code;
$data['tax_code_name'] = $tax_code_info->tax_code_name;
$data['tax_code_type'] = $tax_code_info->tax_code_type;
$data['city'] = $tax_code_info->city;
$data['state'] = $tax_code_info->state;
$data['rate_tax_code'] = $tax_code_info->rate_tax_code;
$data['rate_tax_category_id'] = $tax_code_info->rate_tax_category_id;
$data['tax_category'] = $tax_code_info->tax_category;
$data['add_tax_category'] = '';
$data['tax_rate'] = $tax_rate_info->tax_rate;
$data['rounding_code'] = $tax_rate_info->rounding_code;
}
$data = $this->xss_clean($data);
$tax_rates = array();
foreach($this->Tax->get_tax_code_rate_exceptions($tax_code) as $tax_code_rate)
{
$tax_rate_row = array();
$tax_rate_row['rate_tax_category_id'] = $this->xss_clean($tax_code_rate['rate_tax_category_id']);
$tax_rate_row['tax_category'] = $this->xss_clean($tax_code_rate['tax_category']);
$tax_rate_row['tax_rate'] = $this->xss_clean($tax_code_rate['tax_rate']);
$tax_rate_row['rounding_code'] = $this->xss_clean($tax_code_rate['rounding_code']);
$tax_rates[] = $tax_rate_row;
}
$data['tax_rates'] = $tax_rates;
$this->load->view('taxes/tax_code_form', $data);
}
public function view($tax_rate_id = -1)
{
$tax_rate_info = $this->Tax->get_info($tax_rate_id);
$data['tax_rate_id'] = $tax_rate_id;
$data['rounding_options'] = Rounding_mode::get_rounding_options();
$data['tax_code_options'] = $this->tax_lib->get_tax_code_options();
$data['tax_category_options'] = $this->tax_lib->get_tax_category_options();
$data['tax_jurisdiction_options'] = $this->tax_lib->get_tax_jurisdiction_options();
if($tax_rate_id == -1)
{
$data['rate_tax_code_id'] = $this->config->item('default_tax_code');
$data['rate_tax_category_id'] = $this->config->item('default_tax_category');
$data['rate_jurisdiction_id'] = $this->config->item('default_tax_jurisdiction');
$data['tax_rounding_code'] = Rounding_mode::HALF_UP;
$data['tax_rate'] = '0.0000';
}
else
{
$data['rate_tax_code_id'] = $tax_rate_info->rate_tax_code_id;
$data['rate_tax_code'] = $tax_rate_info->tax_code;
$data['rate_tax_category_id'] = $tax_rate_info->rate_tax_category_id;
$data['rate_jurisdiction_id'] = $tax_rate_info->rate_jurisdiction_id;
$data['tax_rounding_code'] = $tax_rate_info->tax_rounding_code;
$data['tax_rate'] = $tax_rate_info->tax_rate;
}
$data = $this->xss_clean($data);
$this->load->view('taxes/tax_rates_form', $data);
}
public function view_tax_categories($tax_code = -1)
{
$tax_code_info = $this->Tax->get_info($tax_code);
$default_tax_category_id = 1; // Tax category id is always the default tax category
$default_tax_category = $this->Tax->get_tax_category($default_tax_category_id);
$tax_rate_info = $this->Tax->get_rate_info($tax_code, $default_tax_category_id);
$data['rounding_options'] = Rounding_mode::get_rounding_options();
$data['html_rounding_options'] = $this->get_html_rounding_options();
if($this->config->item('tax_included') == '1')
{
$data['default_tax_type'] = Tax_lib::TAX_TYPE_INCLUDED;
}
else
{
$data['default_tax_type'] = Tax_lib::TAX_TYPE_EXCLUDED;
}
if($tax_code == -1)
{
$data['tax_code'] = '';
$data['tax_code_name'] = '';
$data['tax_code_type'] = '0';
$data['city'] = '';
$data['state'] = '';
$data['tax_rate'] = '0.0000';
$data['rate_tax_code'] = '';
$data['rate_tax_category_id'] = 1;
$data['tax_category'] = '';
$data['add_tax_category'] = '';
$data['rounding_code'] = '0';
}
else
{
$data['tax_code'] = $tax_code;
$data['tax_code_name'] = $tax_code_info->tax_code_name;
$data['tax_code_type'] = $tax_code_info->tax_code_type;
$data['city'] = $tax_code_info->city;
$data['state'] = $tax_code_info->state;
$data['rate_tax_code'] = $tax_code_info->rate_tax_code;
$data['rate_tax_category_id'] = $tax_code_info->rate_tax_category_id;
$data['tax_category'] = $tax_code_info->tax_category;
$data['add_tax_category'] = '';
$data['tax_rate'] = $tax_rate_info->tax_rate;
$data['rounding_code'] = $tax_rate_info->rounding_code;
}
$data = $this->xss_clean($data);
$tax_rates = array();
foreach($this->Tax->get_tax_code_rate_exceptions($tax_code) as $tax_code_rate)
{
$tax_rate_row = array();
$tax_rate_row['rate_tax_category_id'] = $this->xss_clean($tax_code_rate['rate_tax_category_id']);
$tax_rate_row['tax_category'] = $this->xss_clean($tax_code_rate['tax_category']);
$tax_rate_row['tax_rate'] = $this->xss_clean($tax_code_rate['tax_rate']);
$tax_rate_row['rounding_code'] = $this->xss_clean($tax_code_rate['rounding_code']);
$tax_rates[] = $tax_rate_row;
}
$data['tax_rates'] = $tax_rates;
$this->load->view('taxes/tax_category_form', $data);
}
public function view_tax_jurisdictions($tax_code = -1)
{
$tax_code_info = $this->Tax->get_info($tax_code);
$default_tax_category_id = 1; // Tax category id is always the default tax category
$default_tax_category = $this->Tax->get_tax_category($default_tax_category_id);
$tax_rate_info = $this->Tax->get_rate_info($tax_code, $default_tax_category_id);
$data['rounding_options'] = Rounding_mode::get_rounding_options();
$data['html_rounding_options'] = $this->get_html_rounding_options();
if($this->config->item('tax_included') == '1')
{
$data['default_tax_type'] = Tax_lib::TAX_TYPE_INCLUDED;
}
else
{
$data['default_tax_type'] = Tax_lib::TAX_TYPE_EXCLUDED;
}
if($tax_code == -1)
{
$data['tax_code'] = '';
$data['tax_code_name'] = '';
$data['tax_code_type'] = '0';
$data['city'] = '';
$data['state'] = '';
$data['tax_rate'] = '0.0000';
$data['rate_tax_code'] = '';
$data['rate_tax_category_id'] = 1;
$data['tax_category'] = '';
$data['add_tax_category'] = '';
$data['rounding_code'] = '0';
}
else
{
$data['tax_code'] = $tax_code;
$data['tax_code_name'] = $tax_code_info->tax_code_name;
$data['tax_code_type'] = $tax_code_info->tax_code_type;
$data['city'] = $tax_code_info->city;
$data['state'] = $tax_code_info->state;
$data['rate_tax_code'] = $tax_code_info->rate_tax_code;
$data['rate_tax_category_id'] = $tax_code_info->rate_tax_category_id;
$data['tax_category'] = $tax_code_info->tax_category;
$data['add_tax_category'] = '';
$data['tax_rate'] = $tax_rate_info->tax_rate;
$data['rounding_code'] = $tax_rate_info->rounding_code;
}
$data = $this->xss_clean($data);
$tax_rates = array();
foreach($this->Tax->get_tax_code_rate_exceptions($tax_code) as $tax_code_rate)
{
$tax_rate_row = array();
$tax_rate_row['rate_tax_category_id'] = $this->xss_clean($tax_code_rate['rate_tax_category_id']);
$tax_rate_row['tax_category'] = $this->xss_clean($tax_code_rate['tax_category']);
$tax_rate_row['tax_rate'] = $this->xss_clean($tax_code_rate['tax_rate']);
$tax_rate_row['rounding_code'] = $this->xss_clean($tax_code_rate['rounding_code']);
$tax_rates[] = $tax_rate_row;
}
$data['tax_rates'] = $tax_rates;
$this->load->view('taxes/tax_jurisdiction_form', $data);
}
public static function get_html_rounding_options()
{
return Rounding_mode::get_html_rounding_options();
}
public function save($tax_rate_id = -1)
{
$tax_category_id = $this->input->post('rate_tax_category_id');
$tax_rate = parse_tax($this->input->post('tax_rate'));
if ($tax_rate == 0) {
$tax_category_info = $this->Tax_category->get_info($tax_category_id);
}
$tax_rate_data = array(
'rate_tax_code_id' => $this->input->post('rate_tax_code_id'),
'rate_tax_category_id' => $this->input->post('rate_tax_category_id'),
'rate_jurisdiction_id' => $this->input->post('rate_jurisdiction_id'),
'tax_rate' => $tax_rate,
'tax_rounding_code' => $this->input->post('tax_rounding_code')
);
if($this->Tax->save($tax_rate_data, $tax_rate_id))
{
if($tax_rate_id == -1)
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_tax_rate_successfully_added')));
}
else //Existing tax_code
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_tax_rate_successful_updated')));
}
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_tax_rate_error_adding_updating')));
}
}
public function delete()
{
$tax_codes_to_delete = $this->xss_clean($this->input->post('ids'));
if($this->Tax->delete_list($tax_codes_to_delete))
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_tax_code_successful_deleted')));
} else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_tax_code_cannot_be_deleted')));
}
}
public function suggest_tax_codes()
{
$suggestions = $this->xss_clean($this->Tax_code->get_tax_codes_search_suggestions($this->input->post_get('term')));
echo json_encode($suggestions);
}
public function save_tax_codes()
{
$tax_code_id = $this->input->post('tax_code_id');
$tax_code = $this->input->post('tax_code');
$tax_code_name = $this->input->post('tax_code_name');
$tax_code_id = $this->input->post('tax_code_id');
$city = $this->input->post('city');
$state = $this->input->post('state');
$array_save = array();
foreach($tax_code_id as $key=>$val)
{
$array_save[] = array('tax_code_id'=>$this->xss_clean($val), 'tax_code'=>$this->xss_clean($tax_code[$key]),
'tax_code_name'=>$this->xss_clean($tax_code_name[$key]), 'tax_code_id'=>$this->xss_clean($tax_code_id[$key]),
'city'=>$this->xss_clean($city[$key]), 'state'=>$this->xss_clean($state[$key]));
}
$success = $this->Tax_code->save_tax_codes($array_save);
echo json_encode(array(
'success' => $success,
'message' => $this->lang->line('taxes_tax_codes_saved_' . ($success ? '' : 'un') . 'successfully')
));
}
public function save_tax_jurisdictions()
{
$jurisdiction_id = $this->input->post('jurisdiction_id');
$jurisdiction_name = $this->input->post('jurisdiction_name');
$tax_group = $this->input->post('tax_group');
$tax_type = $this->input->post('tax_type');
$reporting_authority = $this->input->post('reporting_authority');
$tax_group_sequence = $this->input->post('tax_group_sequence');
$cascade_sequence = $this->input->post('cascade_sequence');
$array_save = array();
$unique_tax_groups = [];
foreach($jurisdiction_id as $key => $val)
{
$array_save[] = array(
'jurisdiction_id'=>$this->xss_clean($val),
'jurisdiction_name'=>$this->xss_clean($jurisdiction_name[$key]),
'tax_group'=>$this->xss_clean($tax_group[$key]),
'tax_type'=>$this->xss_clean($tax_type[$key]),
'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);
echo json_encode(array(
'success' => $success,
'message' => $this->lang->line('taxes_tax_jurisdictions_saved_' . ($success ? '' : 'un') . 'successfully')
));
}
public function save_tax_categories()
{
$tax_category_id = $this->input->post('tax_category_id');
$tax_category = $this->input->post('tax_category');
$tax_group_sequence = $this->input->post('tax_group_sequence');
$array_save= array();
foreach($tax_category_id as $key => $val)
{
$array_save[] = array(
'tax_category_id'=>$this->xss_clean($val),
'tax_category'=>$this->xss_clean($tax_category[$key]),
'tax_group_sequence'=>$this->xss_clean($tax_group_sequence[$key]));
}
$success = $this->Tax_category->save_categories($array_save);
echo json_encode(array(
'success' => $success,
'message' => $this->lang->line('taxes_tax_categories_saved_' . ($success ? '' : 'un') . 'successfully')
));
}
public function ajax_tax_codes()
{
$tax_codes = $this->Tax_code->get_all()->result_array();
$tax_codes = $this->xss_clean($tax_codes);
$this->load->view('partial/tax_codes', array('tax_codes' => $tax_codes));
}
public function ajax_tax_categories()
{
$tax_categories = $this->Tax_category->get_all()->result_array();
$tax_categories = $this->xss_clean($tax_categories);
$this->load->view('partial/tax_categories', array('tax_categories' => $tax_categories));
}
public function ajax_tax_jurisdictions()
{
$tax_jurisdictions = $this->Tax_jurisdiction->get_all()->result_array();
if($this->config->item('tax_included') == '1')
{
$default_tax_type = Tax_lib::TAX_TYPE_INCLUDED;
}
else
{
$default_tax_type = Tax_lib::TAX_TYPE_EXCLUDED;
}
$tax_jurisdictions = $this->xss_clean($tax_jurisdictions);
$tax_types = $this->tax_lib->get_tax_types();
$this->load->view('partial/tax_jurisdictions', array('tax_jurisdictions' => $tax_jurisdictions, 'tax_types' => $tax_types, 'default_tax_type' => $default_tax_type));
}
}
?>

View File

@@ -1,14 +0,0 @@
<?php
class Barcode extends CI_Controller
{
function __construct()
{
parent::__construct();
}
function index()
{
$this->load->view('barcode');
}
}
?>

View File

@@ -1,77 +0,0 @@
<?php
require_once ("secure_area.php");
class Config extends Secure_area
{
function __construct()
{
parent::__construct('config');
}
function index()
{
$location_names = array();
$locations = $this->Stock_locations->get_location_names();
foreach($locations->result_array() as $array)
{
array_push($location_names, $array['location_name']);
}
$data['location_names'] = implode(',', $location_names);
$this->load->view("config", $data);
}
function save()
{
$batch_save_data=array(
'company'=>$this->input->post('company'),
'address'=>$this->input->post('address'),
'phone'=>$this->input->post('phone'),
'email'=>$this->input->post('email'),
'fax'=>$this->input->post('fax'),
'website'=>$this->input->post('website'),
'default_tax_1_rate'=>$this->input->post('default_tax_1_rate'),
'default_tax_1_name'=>$this->input->post('default_tax_1_name'),
'default_tax_2_rate'=>$this->input->post('default_tax_2_rate'),
'default_tax_2_name'=>$this->input->post('default_tax_2_name'),
'currency_symbol'=>$this->input->post('currency_symbol'),
'currency_side'=>$this->input->post('currency_side'),/**GARRISON ADDED 4/20/2013**/
'return_policy'=>$this->input->post('return_policy'),
'language'=>$this->input->post('language'),
'timezone'=>$this->input->post('timezone'),
'print_after_sale'=>$this->input->post('print_after_sale'),
'custom1_name'=>$this->input->post('custom1_name'),/**GARRISON ADDED 4/20/2013**/
'custom2_name'=>$this->input->post('custom2_name'),/**GARRISON ADDED 4/20/2013**/
'custom3_name'=>$this->input->post('custom3_name'),/**GARRISON ADDED 4/20/2013**/
'custom4_name'=>$this->input->post('custom4_name'),/**GARRISON ADDED 4/20/2013**/
'custom5_name'=>$this->input->post('custom5_name'),/**GARRISON ADDED 4/20/2013**/
'custom6_name'=>$this->input->post('custom6_name'),/**GARRISON ADDED 4/20/2013**/
'custom7_name'=>$this->input->post('custom7_name'),/**GARRISON ADDED 4/20/2013**/
'custom8_name'=>$this->input->post('custom8_name'),/**GARRISON ADDED 4/20/2013**/
'custom9_name'=>$this->input->post('custom9_name'),/**GARRISON ADDED 4/20/2013**/
'custom10_name'=>$this->input->post('custom10_name')/**GARRISON ADDED 4/20/2013**/
);
$stock_locations = explode( ',', $this->input->post('stock_location'));
$stock_locations_trimmed=array();
foreach($stock_locations as $location)
{
array_push($stock_locations_trimmed, trim($location, ' '));
}
$current_locations = $this->Stock_locations->concat_location_names()->location_names;
if ($this->input->post('stock_locations') != $current_locations)
{
$this->load->library('sale_lib');
$this->sale_lib->clear_sale_location();
$this->sale_lib->clear_all();
$this->load->library('receiving_lib');
$this->receiving_lib->clear_stock_source();
$this->receiving_lib->clear_stock_destination();
$this->receiving_lib->clear_all();
}
if( $this->Appconfig->batch_save( $batch_save_data ) && $this->Stock_locations->array_save($stock_locations_trimmed))
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('config_saved_successfully')));
}
}
}
?>

View File

@@ -1,201 +0,0 @@
<?php
require_once ("person_controller.php");
class Customers extends Person_controller
{
function __construct()
{
parent::__construct('customers');
}
function index()
{
$config['base_url'] = site_url('/customers/index');
$config['total_rows'] = $this->Customer->count_all();
$config['per_page'] = '20';
$config['uri_segment'] = 3;
$this->pagination->initialize($config);
$data['controller_name']=strtolower(get_class());
$data['form_width']=$this->get_form_width();
$data['manage_table']=get_people_manage_table( $this->Customer->get_all( $config['per_page'], $this->uri->segment( $config['uri_segment'] ) ), $this );
$this->load->view('people/manage',$data);
}
/*
Returns customer table data rows. This will be called with AJAX.
*/
function search()
{
$search=$this->input->post('search');
$data_rows=get_people_manage_table_data_rows($this->Customer->search($search),$this);
echo $data_rows;
}
/*
Gives search suggestions based on what is being searched for
*/
function suggest()
{
$suggestions = $this->Customer->get_search_suggestions($this->input->post('q'),$this->input->post('limit'));
echo implode("\n",$suggestions);
}
/*
Loads the customer edit form
*/
function view($customer_id=-1)
{
$data['person_info']=$this->Customer->get_info($customer_id);
$this->load->view("customers/form",$data);
}
/*
Inserts/updates a customer
*/
function save($customer_id=-1)
{
$person_data = array(
'first_name'=>$this->input->post('first_name'),
'last_name'=>$this->input->post('last_name'),
'email'=>$this->input->post('email'),
'phone_number'=>$this->input->post('phone_number'),
'address_1'=>$this->input->post('address_1'),
'address_2'=>$this->input->post('address_2'),
'city'=>$this->input->post('city'),
'state'=>$this->input->post('state'),
'zip'=>$this->input->post('zip'),
'country'=>$this->input->post('country'),
'comments'=>$this->input->post('comments')
);
$customer_data=array(
'account_number'=>$this->input->post('account_number')=='' ? null:$this->input->post('account_number'),
'taxable'=>$this->input->post('taxable')=='' ? 0:1,
);
if($this->Customer->save($person_data,$customer_data,$customer_id))
{
//New customer
if($customer_id==-1)
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('customers_successful_adding').' '.
$person_data['first_name'].' '.$person_data['last_name'],'person_id'=>$customer_data['person_id']));
}
else //previous customer
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('customers_successful_updating').' '.
$person_data['first_name'].' '.$person_data['last_name'],'person_id'=>$customer_id));
}
}
else//failure
{
echo json_encode(array('success'=>false,'message'=>$this->lang->line('customers_error_adding_updating').' '.
$person_data['first_name'].' '.$person_data['last_name'],'person_id'=>-1));
}
}
/*
This deletes customers from the customers table
*/
function delete()
{
$customers_to_delete=$this->input->post('ids');
if($this->Customer->delete_list($customers_to_delete))
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('customers_successful_deleted').' '.
count($customers_to_delete).' '.$this->lang->line('customers_one_or_multiple')));
}
else
{
echo json_encode(array('success'=>false,'message'=>$this->lang->line('customers_cannot_be_deleted')));
}
}
function excel()
{
$data = file_get_contents("import_customers.csv");
$name = 'import_customers.csv';
force_download($name, $data);
}
function excel_import()
{
$this->load->view("customers/excel_import", null);
}
function do_excel_import()
{
$msg = 'do_excel_import';
$failCodes = array();
if ($_FILES['file_path']['error']!=UPLOAD_ERR_OK)
{
$msg = $this->lang->line('items_excel_import_failed');
echo json_encode( array('success'=>false,'message'=>$msg) );
return;
}
else
{
if (($handle = fopen($_FILES['file_path']['tmp_name'], "r")) !== FALSE)
{
//Skip first row
fgetcsv($handle);
$i=1;
while (($data = fgetcsv($handle)) !== FALSE)
{
$person_data = array(
'first_name'=>$data[0],
'last_name'=>$data[1],
'email'=>$data[2],
'phone_number'=>$data[3],
'address_1'=>$data[4],
'address_2'=>$data[5],
'city'=>$data[6],
'state'=>$data[7],
'zip'=>$data[8],
'country'=>$data[9],
'comments'=>$data[10]
);
$customer_data=array(
'account_number'=>$data[11]=='' ? null:$data[11],
'taxable'=>$data[12]=='' ? 0:1,
);
if(!$this->Customer->save($person_data,$customer_data))
{
$failCodes[] = $i;
}
$i++;
}
}
else
{
echo json_encode( array('success'=>false,'message'=>'Your upload file has no data or not in supported format.') );
return;
}
}
$success = true;
if(count($failCodes) > 1)
{
$msg = "Most customers imported. But some were not, here is list of their CODE (" .count($failCodes) ."): ".implode(", ", $failCodes);
$success = false;
}
else
{
$msg = "Import Customers successful";
}
echo json_encode( array('success'=>$success,'message'=>$msg) );
}
/*
get the width for the add/edit form
*/
function get_form_width()
{
return 350;
}
}
?>

View File

@@ -1,132 +0,0 @@
<?php
require_once ("person_controller.php");
class Employees extends Person_controller
{
function __construct()
{
parent::__construct('employees');
}
function index()
{
$config['base_url'] = site_url('/employees/index');
$config['total_rows'] = $this->Employee->count_all();
$config['per_page'] = '20';
$config['uri_segment'] = 3;
$this->pagination->initialize($config);
$data['controller_name']=strtolower(get_class());
$data['form_width']=$this->get_form_width();
$data['manage_table']=get_people_manage_table( $this->Employee->get_all( $config['per_page'], $this->uri->segment( $config['uri_segment'] ) ), $this );
$this->load->view('people/manage',$data);
}
/*
Returns employee table data rows. This will be called with AJAX.
*/
function search()
{
$search=$this->input->post('search');
$data_rows=get_people_manage_table_data_rows($this->Employee->search($search),$this);
echo $data_rows;
}
/*
Gives search suggestions based on what is being searched for
*/
function suggest()
{
$suggestions = $this->Employee->get_search_suggestions($this->input->post('q'),$this->input->post('limit'));
echo implode("\n",$suggestions);
}
/*
Loads the employee edit form
*/
function view($employee_id=-1)
{
$data['person_info']=$this->Employee->get_info($employee_id);
$data['all_modules']=$this->Module->get_all_modules();
$this->load->view("employees/form",$data);
}
/*
Inserts/updates an employee
*/
function save($employee_id=-1)
{
$person_data = array(
'first_name'=>$this->input->post('first_name'),
'last_name'=>$this->input->post('last_name'),
'email'=>$this->input->post('email'),
'phone_number'=>$this->input->post('phone_number'),
'address_1'=>$this->input->post('address_1'),
'address_2'=>$this->input->post('address_2'),
'city'=>$this->input->post('city'),
'state'=>$this->input->post('state'),
'zip'=>$this->input->post('zip'),
'country'=>$this->input->post('country'),
'comments'=>$this->input->post('comments')
);
$permission_data = $this->input->post("permissions")!=false ? $this->input->post("permissions"):array();
//Password has been changed OR first time password set
if($this->input->post('password')!='')
{
$employee_data=array(
'username'=>$this->input->post('username'),
'password'=>md5($this->input->post('password'))
);
}
else //Password not changed
{
$employee_data=array('username'=>$this->input->post('username'));
}
if($this->Employee->save($person_data,$employee_data,$permission_data,$employee_id))
{
//New employee
if($employee_id==-1)
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('employees_successful_adding').' '.
$person_data['first_name'].' '.$person_data['last_name'],'person_id'=>$employee_data['person_id']));
}
else //previous employee
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('employees_successful_updating').' '.
$person_data['first_name'].' '.$person_data['last_name'],'person_id'=>$employee_id));
}
}
else//failure
{
echo json_encode(array('success'=>false,'message'=>$this->lang->line('employees_error_adding_updating').' '.
$person_data['first_name'].' '.$person_data['last_name'],'person_id'=>-1));
}
}
/*
This deletes employees from the employees table
*/
function delete()
{
$employees_to_delete=$this->input->post('ids');
if($this->Employee->delete_list($employees_to_delete))
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('employees_successful_deleted').' '.
count($employees_to_delete).' '.$this->lang->line('employees_one_or_multiple')));
}
else
{
echo json_encode(array('success'=>false,'message'=>$this->lang->line('employees_cannot_be_deleted')));
}
}
/*
get the width for the add/edit form
*/
function get_form_width()
{
return 650;
}
}
?>

View File

@@ -1,117 +0,0 @@
<?php
require_once ("secure_area.php");
require_once ("interfaces/idata_controller.php");
class Giftcards extends Secure_area implements iData_controller
{
function __construct()
{
parent::__construct('giftcards');
}
function index()
{
$config['base_url'] = site_url('/giftcards/index');
$config['total_rows'] = $this->Giftcard->count_all();
$config['per_page'] = '20';
$config['uri_segment'] = 3;
$this->pagination->initialize($config);
$data['controller_name']=strtolower(get_class());
$data['form_width']=$this->get_form_width();
$data['manage_table']=get_giftcards_manage_table( $this->Giftcard->get_all( $config['per_page'], $this->uri->segment( $config['uri_segment'] ) ), $this );
$this->load->view('giftcards/manage',$data);
}
function search()
{
$search=$this->input->post('search');
$data_rows=get_giftcards_manage_table_data_rows($this->Giftcard->search($search),$this);
echo $data_rows;
}
/*
Gives search suggestions based on what is being searched for
*/
function suggest()
{
$suggestions = $this->Giftcard->get_search_suggestions($this->input->post('q'),$this->input->post('limit'));
echo implode("\n",$suggestions);
}
/** GARRISON ADDED 5/3/2013 **/
/*
Gives search suggestions for person_id based on what is being searched for
*/
function suggest_person()
{
$suggestions = $this->Giftcard->get_person_search_suggestions($this->input->post('q'),$this->input->post('limit'));
echo implode("\n",$suggestions);
}
/** END GARRISON ADDED **/
function get_row()
{
$giftcard_id = $this->input->post('row_id');
$data_row=get_giftcard_data_row($this->Giftcard->get_info($giftcard_id),$this);
echo $data_row;
}
function view($giftcard_id=-1)
{
$data['giftcard_info']=$this->Giftcard->get_info($giftcard_id);
$this->load->view("giftcards/form",$data);
}
function save($giftcard_id=-1)
{
$giftcard_data = array(
'giftcard_number'=>$this->input->post('giftcard_number'),
'value'=>$this->input->post('value'),
'person_id'=>$this->input->post('person_id')/**GARRISON ADDED 4/22/2013**/
);
if( $this->Giftcard->save( $giftcard_data, $giftcard_id ) )
{
//New giftcard
if($giftcard_id==-1)
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('giftcards_successful_adding').' '.
$giftcard_data['giftcard_number'],'giftcard_id'=>$giftcard_data['giftcard_id']));
$giftcard_id = $giftcard_data['giftcard_id'];
}
else //previous giftcard
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('giftcards_successful_updating').' '.
$giftcard_data['giftcard_number'],'giftcard_id'=>$giftcard_id));
}
}
else//failure
{
echo json_encode(array('success'=>false,'message'=>$this->lang->line('giftcards_error_adding_updating').' '.
$giftcard_data['giftcard_number'],'giftcard_id'=>-1));
}
}
function delete()
{
$giftcards_to_delete=$this->input->post('ids');
if($this->Giftcard->delete_list($giftcards_to_delete))
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('giftcards_successful_deleted').' '.
count($giftcards_to_delete).' '.$this->lang->line('giftcards_one_or_multiple')));
}
else
{
echo json_encode(array('success'=>false,'message'=>$this->lang->line('giftcards_cannot_be_deleted')));
}
}
/*
get the width for the add/edit form
*/
function get_form_width()
{
return 360;
}
}
?>

View File

@@ -1,21 +0,0 @@
<?php
require_once ("secure_area.php");
class Home extends Secure_area
{
function __construct()
{
parent::__construct();
}
function index()
{
$this->load->view("home");
}
function logout()
{
$this->Employee->logout();
}
}
?>

View File

@@ -1,3 +1,4 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
@@ -7,4 +8,4 @@
<p>Directory access is forbidden.</p>
</body>
</html>
</html>

View File

@@ -1,17 +0,0 @@
<?php
/*
This interface is implemented by any controller that keeps track of data items, such
as the customers, employees, and items controllers.
*/
interface iData_controller
{
public function index();
public function search();
public function suggest();
public function get_row();
public function view($data_item_id=-1);
public function save($data_item_id=-1);
public function delete();
public function get_form_width();
}
?>

View File

@@ -1,11 +0,0 @@
<?php
/*
This interface is implemented by any controller that keeps track of people, such
as customers and employees.
*/
require_once("idata_controller.php");
interface iPerson_controller extends iData_controller
{
public function mailto();
}
?>

View File

@@ -1,138 +0,0 @@
<?php
require_once ("secure_area.php");
require_once ("interfaces/idata_controller.php");
class Item_kits extends Secure_area implements iData_controller
{
function __construct()
{
parent::__construct('item_kits');
}
function index()
{
$config['base_url'] = site_url('/item_kits/index');
$config['total_rows'] = $this->Item_kit->count_all();
$config['per_page'] = '20';
$config['uri_segment'] = 3;
$this->pagination->initialize($config);
$data['controller_name']=strtolower(get_class());
$data['form_width']=$this->get_form_width();
$data['manage_table']=get_item_kits_manage_table( $this->Item_kit->get_all( $config['per_page'], $this->uri->segment( $config['uri_segment'] ) ), $this );
$this->load->view('item_kits/manage',$data);
}
function search()
{
$search=$this->input->post('search');
$data_rows=get_item_kits_manage_table_data_rows($this->Item_kit->search($search),$this);
echo $data_rows;
}
/*
Gives search suggestions based on what is being searched for
*/
function suggest()
{
$suggestions = $this->Item_kit->get_search_suggestions($this->input->post('q'),$this->input->post('limit'));
echo implode("\n",$suggestions);
}
function get_row()
{
$item_kit_id = $this->input->post('row_id');
$data_row=get_item_kit_data_row($this->Item_kit->get_info($item_kit_id),$this);
echo $data_row;
}
function view($item_kit_id=-1)
{
$data['item_kit_info']=$this->Item_kit->get_info($item_kit_id);
$this->load->view("item_kits/form",$data);
}
function save($item_kit_id=-1)
{
$item_kit_data = array(
'name'=>$this->input->post('name'),
'description'=>$this->input->post('description')
);
if($this->Item_kit->save($item_kit_data,$item_kit_id))
{
//New item kit
if($item_kit_id==-1)
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('item_kits_successful_adding').' '.
$item_kit_data['name'],'item_kit_id'=>$item_kit_data['item_kit_id']));
$item_kit_id = $item_kit_data['item_kit_id'];
}
else //previous item
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('item_kits_successful_updating').' '.
$item_kit_data['name'],'item_kit_id'=>$item_kit_id));
}
if ($this->input->post('item_kit_item'))
{
$item_kit_items = array();
foreach($this->input->post('item_kit_item') as $item_id => $quantity)
{
$item_kit_items[] = array(
'item_id' => $item_id,
'quantity' => $quantity
);
}
$this->Item_kit_items->save($item_kit_items, $item_kit_id);
}
}
else//failure
{
echo json_encode(array('success'=>false,'message'=>$this->lang->line('item_kits_error_adding_updating').' '.
$item_kit_data['name'],'item_kit_id'=>-1));
}
}
function delete()
{
$item_kits_to_delete=$this->input->post('ids');
if($this->Item_kit->delete_list($item_kits_to_delete))
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('item_kits_successful_deleted').' '.
count($item_kits_to_delete).' '.$this->lang->line('item_kits_one_or_multiple')));
}
else
{
echo json_encode(array('success'=>false,'message'=>$this->lang->line('item_kits_cannot_be_deleted')));
}
}
function generate_barcodes($item_kit_ids)
{
$result = array();
$item_kit_ids = explode(':', $item_kit_ids);
foreach ($item_kit_ids as $item_kid_id)
{
$item_kit_info = $this->Item_kit->get_info($item_kid_id);
$result[] = array('name' =>$item_kit_info->name, 'id'=> 'KIT '.$item_kid_id);
}
$data['items'] = $result;
$this->load->view("barcode_sheet", $data);
}
/*
get the width for the add/edit form
*/
function get_form_width()
{
return 360;
}
}
?>

View File

@@ -1,611 +0,0 @@
<?php
require_once ("secure_area.php");
require_once ("interfaces/idata_controller.php");
class Items extends Secure_area implements iData_controller
{
function __construct()
{
parent::__construct('items');
}
function index()
{
$config['base_url'] = site_url('/items/index');
$config['total_rows'] = $this->Item->count_all();
$config['per_page'] = '20';
$config['uri_segment'] = 3;
$this->pagination->initialize($config);
$data['controller_name']=strtolower(get_class());
$data['form_width']=$this->get_form_width();
$data['manage_table']=get_items_manage_table( $this->Item->get_all( $config['per_page'], $this->uri->segment( $config['uri_segment'] ) ), $this );
$this->load->view('items/manage',$data);
}
function refresh()
{
$is_serialized=$this->input->post('is_serialized');
$no_description=$this->input->post('no_description');
$search_custom=$this->input->post('search_custom');//GARRISON ADDED 4/13/2013
$is_deleted=$this->input->post('is_deleted'); // Parq 131215
$data['search_section_state']=$this->input->post('search_section_state');
$data['is_serialized']=$this->input->post('is_serialized');
$data['no_description']=$this->input->post('no_description');
$data['search_custom']=$this->input->post('search_custom');//GARRISON ADDED 4/13/2013
$data['is_deleted']=$this->input->post('is_deleted'); // Parq 131215
$data['controller_name']=strtolower(get_class());
$data['form_width']=$this->get_form_width();
$data['manage_table']=get_items_manage_table($this->Item->get_all_filtered($is_serialized,$no_description,$search_custom,$is_deleted),$this);//GARRISON MODIFIED 4/13/2013, Parq 131215
$this->load->view('items/manage',$data);
}
function find_item_info()
{
$item_number=$this->input->post('scan_item_number');
echo json_encode($this->Item->find_item_info($item_number));
}
function search()
{
$search=$this->input->post('search');
$data_rows=get_items_manage_table_data_rows($this->Item->search($search),$this);
echo $data_rows;
}
/*
Gives search suggestions based on what is being searched for
*/
function suggest()
{
$suggestions = $this->Item->get_search_suggestions($this->input->post('q'),$this->input->post('limit'));
echo implode("\n",$suggestions);
}
function item_search()
{
$suggestions = $this->Item->get_item_search_suggestions($this->input->post('q'),$this->input->post('limit'),'warehouse');
echo implode("\n",$suggestions);
}
/*
Gives search suggestions based on what is being searched for
*/
function suggest_category()
{
$suggestions = $this->Item->get_category_suggestions($this->input->post('q'));
echo implode("\n",$suggestions);
}
/**GARRISON ADDED 5/18/2013**/
/*
Gives search suggestions based on what is being searched for
*/
function suggest_location()
{
$suggestions = $this->Item->get_location_suggestions($this->input->post('q'));
echo implode("\n",$suggestions);
}
/*
Gives search suggestions based on what is being searched for
*/
function suggest_custom1()
{
$suggestions = $this->Item->get_custom1_suggestions($this->input->post('q'));
echo implode("\n",$suggestions);
}
/*
Gives search suggestions based on what is being searched for
*/
function suggest_custom2()
{
$suggestions = $this->Item->get_custom2_suggestions($this->input->post('q'));
echo implode("\n",$suggestions);
}
/*
Gives search suggestions based on what is being searched for
*/
function suggest_custom3()
{
$suggestions = $this->Item->get_custom3_suggestions($this->input->post('q'));
echo implode("\n",$suggestions);
}
/*
Gives search suggestions based on what is being searched for
*/
function suggest_custom4()
{
$suggestions = $this->Item->get_custom4_suggestions($this->input->post('q'));
echo implode("\n",$suggestions);
}
/*
Gives search suggestions based on what is being searched for
*/
function suggest_custom5()
{
$suggestions = $this->Item->get_custom5_suggestions($this->input->post('q'));
echo implode("\n",$suggestions);
}
/*
Gives search suggestions based on what is being searched for
*/
function suggest_custom6()
{
$suggestions = $this->Item->get_custom6_suggestions($this->input->post('q'));
echo implode("\n",$suggestions);
}
/*
Gives search suggestions based on what is being searched for
*/
function suggest_custom7()
{
$suggestions = $this->Item->get_custom7_suggestions($this->input->post('q'));
echo implode("\n",$suggestions);
}
/*
Gives search suggestions based on what is being searched for
*/
function suggest_custom8()
{
$suggestions = $this->Item->get_custom8_suggestions($this->input->post('q'));
echo implode("\n",$suggestions);
}
/*
Gives search suggestions based on what is being searched for
*/
function suggest_custom9()
{
$suggestions = $this->Item->get_custom9_suggestions($this->input->post('q'));
echo implode("\n",$suggestions);
}
/*
Gives search suggestions based on what is being searched for
*/
function suggest_custom10()
{
$suggestions = $this->Item->get_custom10_suggestions($this->input->post('q'));
echo implode("\n",$suggestions);
}
/**END GARRISON ADDED**/
function get_row()
{
$item_id = $this->input->post('row_id');
$data_row=get_item_data_row($this->Item->get_info($item_id),$this);
echo $data_row;
}
function view($item_id=-1)
{
$data['item_info']=$this->Item->get_info($item_id);
$data['item_tax_info']=$this->Item_taxes->get_info($item_id);
$suppliers = array('' => $this->lang->line('items_none'));
foreach($this->Supplier->get_all()->result_array() as $row)
{
$suppliers[$row['person_id']] = $row['company_name'] .' ('.$row['first_name'] .' '. $row['last_name'].')';
}
$data['suppliers']=$suppliers;
$data['selected_supplier'] = $this->Item->get_info($item_id)->supplier_id;
$data['default_tax_1_rate']=($item_id==-1) ? $this->Appconfig->get('default_tax_1_rate') : '';
$data['default_tax_2_rate']=($item_id==-1) ? $this->Appconfig->get('default_tax_2_rate') : '';
$locations_data = $this->Stock_locations->get_undeleted_all()->result_array();
$location_array;
foreach($locations_data as $location)
{
$quantity = $this->Item_quantities->get_item_quantity($item_id, $location['location_id'])->quantity;
$quantity = ($item_id == -1) ? null: $quantity;
$location_array[$location['location_id']] = array('location_name'=>$location['location_name'],
'quantity'=>$quantity);
}
$data['stock_locations']= $location_array;
$this->load->view("items/form",$data);
}
//Ramel Inventory Tracking
function inventory($item_id=-1)
{
$data['item_info']=$this->Item->get_info($item_id);
$data['stock_locations'] = array();
$stock_locations = $this->Stock_locations->get_undeleted_all()->result_array();
foreach($stock_locations as $location_data)
{
$data['stock_locations'][$location_data['location_id']] = $location_data['location_name'];
$data['item_quantities'][$location_data['location_id']] = $this->Item_quantities->get_item_quantity($item_id,$location_data['location_id'])->quantity;
}
$this->load->view("items/inventory",$data);
}
function count_details($item_id=-1)
{
$data['item_info']=$this->Item->get_info($item_id);
$data['stock_locations'] = array();
$stock_locations = $this->Stock_locations->get_undeleted_all()->result_array();
foreach($stock_locations as $location_data)
{
$data['stock_locations'][$location_data['location_id']] = $location_data['location_name'];
$data['item_quantities'][$location_data['location_id']] = $this->Item_quantities->get_item_quantity($item_id,$location_data['location_id'])->quantity;
}
$this->load->view("items/count_details",$data);
} //------------------------------------------- Ramel
function generate_barcodes($item_ids)
{
$result = array();
$item_ids = explode(':', $item_ids);
foreach ($item_ids as $item_id)
{
$item_info = $this->Item->get_info($item_id);
$result[] = array('name' =>$item_info->name, 'id'=> $item_id);
}
$data['items'] = $result;
$this->load->view("barcode_sheet", $data);
}
function bulk_edit()
{
$data = array();
$suppliers = array('' => $this->lang->line('items_none'));
foreach($this->Supplier->get_all()->result_array() as $row)
{
$suppliers[$row['person_id']] = $row['first_name'] .' '. $row['last_name'];
}
$data['suppliers'] = $suppliers;
$data['allow_alt_description_choices'] = array(
''=>$this->lang->line('items_do_nothing'),
1 =>$this->lang->line('items_change_all_to_allow_alt_desc'),
0 =>$this->lang->line('items_change_all_to_not_allow_allow_desc'));
$data['serialization_choices'] = array(
''=>$this->lang->line('items_do_nothing'),
1 =>$this->lang->line('items_change_all_to_serialized'),
0 =>$this->lang->line('items_change_all_to_unserialized'));
$this->load->view("items/form_bulk", $data);
}
function save($item_id=-1)
{
//Save item data
$item_data = array(
'name'=>$this->input->post('name'),
'description'=>$this->input->post('description'),
'category'=>$this->input->post('category'),
'supplier_id'=>$this->input->post('supplier_id')=='' ? null:$this->input->post('supplier_id'),
'item_number'=>$this->input->post('item_number')=='' ? null:$this->input->post('item_number'),
'cost_price'=>$this->input->post('cost_price'),
'unit_price'=>$this->input->post('unit_price'),
'reorder_level'=>$this->input->post('reorder_level'),
'allow_alt_description'=>$this->input->post('allow_alt_description'),
'is_serialized'=>$this->input->post('is_serialized'),
'deleted'=>$this->input->post('is_deleted'), /** Parq 131215 **/
'custom1'=>$this->input->post('custom1'), /**GARRISON ADDED 4/21/2013**/
'custom2'=>$this->input->post('custom2'),/**GARRISON ADDED 4/21/2013**/
'custom3'=>$this->input->post('custom3'),/**GARRISON ADDED 4/21/2013**/
'custom4'=>$this->input->post('custom4'),/**GARRISON ADDED 4/21/2013**/
'custom5'=>$this->input->post('custom5'),/**GARRISON ADDED 4/21/2013**/
'custom6'=>$this->input->post('custom6'),/**GARRISON ADDED 4/21/2013**/
'custom7'=>$this->input->post('custom7'),/**GARRISON ADDED 4/21/2013**/
'custom8'=>$this->input->post('custom8'),/**GARRISON ADDED 4/21/2013**/
'custom9'=>$this->input->post('custom9'),/**GARRISON ADDED 4/21/2013**/
'custom10'=>$this->input->post('custom10')/**GARRISON ADDED 4/21/2013**/
);
$employee_id=$this->Employee->get_logged_in_employee_info()->person_id;
$cur_item_info = $this->Item->get_info($item_id);
if($this->Item->save($item_data,$item_id))
{
//New item
if($item_id==-1)
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('items_successful_adding').' '.
$item_data['name'],'item_id'=>$item_data['item_id']));
$item_id = $item_data['item_id'];
}
else //previous item
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('items_successful_updating').' '.
$item_data['name'],'item_id'=>$item_id));
}
$items_taxes_data = array();
$tax_names = $this->input->post('tax_names');
$tax_percents = $this->input->post('tax_percents');
for($k=0;$k<count($tax_percents);$k++)
{
if (is_numeric($tax_percents[$k]))
{
$items_taxes_data[] = array('name'=>$tax_names[$k], 'percent'=>$tax_percents[$k] );
}
}
$this->Item_taxes->save($items_taxes_data, $item_id);
//Save item quantity
$stock_locations = $this->Stock_locations->get_undeleted_all()->result_array();
foreach($stock_locations as $location_data)
{
$updated_quantity = $this->input->post($location_data['location_id'].'_quantity');
$location_detail = array('item_id'=>$item_id,
'location_id'=>$location_data['location_id'],
'quantity'=>$updated_quantity);
$item_quantity = $this->Item_quantities->get_item_quantity($item_id, $location_data['location_id']);
if ($item_quantity->quantity != $updated_quantity)
{
$this->Item_quantities->save($location_detail, $item_id, $location_data['location_id']);
$inv_data = array
(
'trans_date'=>date('Y-m-d H:i:s'),
'trans_items'=>$item_id,
'trans_user'=>$employee_id,
'trans_location'=>$location_data['location_id'],
'trans_comment'=>$this->lang->line('items_manually_editing_of_quantity'),
'trans_inventory'=>$updated_quantity - $item_quantity->quantity
);
$this->Inventory->insert($inv_data);
}
}
}
else//failure
{
echo json_encode(array('success'=>false,'message'=>$this->lang->line('items_error_adding_updating').' '.
$item_data['name'],'item_id'=>-1));
}
}
//Ramel Inventory Tracking
function save_inventory($item_id=-1)
{
$employee_id=$this->Employee->get_logged_in_employee_info()->person_id;
$cur_item_info = $this->Item->get_info($item_id);
$location_id = $this->input->post('stock_location');
$inv_data = array
(
'trans_date'=>date('Y-m-d H:i:s'),
'trans_items'=>$item_id,
'trans_user'=>$employee_id,
'trans_location'=>$location_id,
'trans_comment'=>$this->input->post('trans_comment'),
'trans_inventory'=>$this->input->post('newquantity')
);
$this->Inventory->insert($inv_data);
//Update stock quantity
$item_quantity= $this->Item_quantities->get_item_quantity($item_id,$location_id);
$item_quantity_data = array(
'item_id'=>$item_id,
'location_id'=>$location_id,
'quantity'=>$item_quantity->quantity + $this->input->post('newquantity')
);
if($this->Item_quantities->save($item_quantity_data,$item_id,$location_id))
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('items_successful_updating').' '.
$cur_item_info->name,'item_id'=>$item_id));
}
else//failure
{
echo json_encode(array('success'=>false,'message'=>$this->lang->line('items_error_adding_updating').' '.
$cur_item_info->name,'item_id'=>-1));
}
}//---------------------------------------------------------------------Ramel
function bulk_update()
{
$items_to_update=$this->input->post('item_ids');
$item_data = array();
foreach($_POST as $key=>$value)
{
//This field is nullable, so treat it differently
if ($key == 'supplier_id')
{
$item_data["$key"]=$value == '' ? null : $value;
}
elseif($value!='' and !(in_array($key, array('item_ids', 'tax_names', 'tax_percents'))))
{
$item_data["$key"]=$value;
}
}
//Item data could be empty if tax information is being updated
if(empty($item_data) || $this->Item->update_multiple($item_data,$items_to_update))
{
$items_taxes_data = array();
$tax_names = $this->input->post('tax_names');
$tax_percents = $this->input->post('tax_percents');
for($k=0;$k<count($tax_percents);$k++)
{
if (is_numeric($tax_percents[$k]))
{
$items_taxes_data[] = array('name'=>$tax_names[$k], 'percent'=>$tax_percents[$k] );
}
}
$this->Item_taxes->save_multiple($items_taxes_data, $items_to_update);
echo json_encode(array('success'=>true,'message'=>$this->lang->line('items_successful_bulk_edit')));
}
else
{
echo json_encode(array('success'=>false,'message'=>$this->lang->line('items_error_updating_multiple')));
}
}
function delete()
{
$items_to_delete=$this->input->post('ids');
if($this->Item->delete_list($items_to_delete))
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('items_successful_deleted').' '.
count($items_to_delete).' '.$this->lang->line('items_one_or_multiple')));
}
else
{
echo json_encode(array('success'=>false,'message'=>$this->lang->line('items_cannot_be_deleted')));
}
}
function excel()
{
$data = file_get_contents("import_items.csv");
$name = 'import_items.csv';
force_download($name, $data);
}
function excel_import()
{
$this->load->view("items/excel_import", null);
}
function do_excel_import()
{
$msg = 'do_excel_import';
$failCodes = array();
if ($_FILES['file_path']['error']!=UPLOAD_ERR_OK)
{
$msg = $this->lang->line('items_excel_import_failed');
echo json_encode( array('success'=>false,'message'=>$msg) );
return;
}
else
{
if (($handle = fopen($_FILES['file_path']['tmp_name'], "r")) !== FALSE)
{
//Skip first row
fgetcsv($handle);
$i=1;
while (($data = fgetcsv($handle)) !== FALSE)
{
$item_data = array(
'name' => $data[1],
'description' => $data[13],
'category' => $data[2],
'cost_price' => $data[4],
'unit_price' => $data[5],
'quantity' => $data[10],
'reorder_level' => $data[11],
'supplier_id' => $this->Supplier->exists($data[3]) ? $data[3] : null,
'allow_alt_description' => $data[14] != '' ? '1' : '0',
'is_serialized' => $data[15] != '' ? '1' : '0',
'custom1' => $data[16], /** GARRISON ADDED 5/6/2013 **/
'custom2' => $data[17], /** GARRISON ADDED 5/6/2013 **/
'custom3' => $data[18], /** GARRISON ADDED 5/6/2013 **/
'custom4' => $data[19], /** GARRISON ADDED 5/6/2013 **/
'custom5' => $data[20], /** GARRISON ADDED 5/6/2013 **/
'custom6' => $data[21], /** GARRISON ADDED 5/6/2013 **/
'custom7' => $data[22], /** GARRISON ADDED 5/6/2013 **/
'custom8' => $data[23], /** GARRISON ADDED 5/6/2013 **/
'custom9' => $data[24], /** GARRISON ADDED 5/6/2013 **/
'custom10' => $data[25] /** GARRISON ADDED 5/6/2013 **/
);
$item_number = $data[0];
if ($item_number != "")
{
$item_data['item_number'] = $item_number;
}
if($this->Item->save($item_data))
{
$items_taxes_data = null;
//tax 1
if( is_numeric($data[7]) && $data[6]!='' )
{
$items_taxes_data[] = array('name'=>$data[6], 'percent'=>$data[7] );
}
//tax 2
if( is_numeric($data[9]) && $data[8]!='' )
{
$items_taxes_data[] = array('name'=>$data[8], 'percent'=>$data[9] );
}
// save tax values
if(count($items_taxes_data) > 0)
{
$this->Item_taxes->save($items_taxes_data, $item_data['item_id']);
}
$employee_id=$this->Employee->get_logged_in_employee_info()->person_id;
$emp_info=$this->Employee->get_info($employee_id);
$comment ='Qty CSV Imported';
$excel_data = array
(
'trans_items'=>$item_data['item_id'],
'trans_user'=>$employee_id,
'trans_comment'=>$comment,
'trans_inventory'=>$data[10]
);
$this->db->insert('inventory',$excel_data);
//------------------------------------------------Ramel
}
else//insert or update item failure
{
$failCodes[] = $i;
}
}
$i++;
}
else
{
echo json_encode( array('success'=>false,'message'=>'Your upload file has no data or not in supported format.') );
return;
}
}
$success = true;
if(count($failCodes) > 1)
{
$msg = "Most items imported. But some were not, here is list of their CODE (" .count($failCodes) ."): ".implode(", ", $failCodes);
$success = false;
}
else
{
$msg = "Import items successful";
}
echo json_encode( array('success'=>$success,'message'=>$msg) );
}
/*
get the width for the add/edit form
*/
function get_form_width()
{
return 360;
}
function is_sale_store_item($item_number)
{
echo $this->Item->is_sale_store_item_exist($item_number);
}
}
?>

View File

@@ -1,192 +0,0 @@
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
// ---------------------------------------------------------------------
class Languagecheck extends CI_Controller {
/*
* use this language as comparison reference.
* this should be the one that is complete.
*/
private $reference = 'english';
private $lang_path = 'language';
// -----------------------------------------------------------------
/*
* controller constructor
*/
function Languagecheck()
{
parent::Controller();
}
// -----------------------------------------------------------------
/*
* use remap to capture all calls to this controller
*/
function _remap()
{
// load the required helpers
$this->load->helper('directory');
// for simplicity, we don't use views
$this->output('h1', 'Open Source Point of Sale - Language file checking and validation');
// determine the language file path
if ( ! is_dir($this->lang_path) )
{
$this->lang_path = APPPATH . $this->lang_path;
if ( ! is_dir($this->lang_path) )
{
$this->output('h2', 'Defined language path "'.$this->lang_path.'" not found!', TRUE);
exit;
}
}
// fetch the languages directory map
$languages = directory_map( $this->lang_path, TRUE );
// is our reference language present?
if ( ! in_array($this->reference, $languages ) )
{
$this->output('h2', 'Reference language "'.$this->reference.'" not found!', TRUE);
exit;
}
// load the list of language files for the reference language
$references = directory_map( $this->lang_path . '/' . $this->reference, TRUE );
// now process the list
foreach( $references as $reference )
{
// skip non-language files in the language directory
if ( strpos($reference, '_lang'.EXT) === FALSE )
{
continue;
}
// process it
$this->output('h2', 'Processing '.$this->reference . ' &raquo; ' .$reference);
// load the language file
include $this->lang_path . '/' . $this->reference . '/' . $reference;
// did the file contain any language strings?
if ( empty($lang) )
{
// language file was empty or not properly defined
$this->output('h3', 'Language file doesn\'t contain any language strings. Skipping file!', TRUE);
continue;
}
// store the loaded language strings
$lang_ref = $lang;
unset($lang);
// now loop through the available languages
foreach ( $languages as $language )
{
// skip the reference language
if ( $language == $this->reference )
{
continue;
}
// language file to check
$file = $this->lang_path . '/' . $language . '/' . $reference;
// check if the language file exists for this language
if ( ! file_exists( $file ) )
{
// file not found
$this->output('h3', 'Language file doesn\'t exist for the language '.$language.'!', TRUE);
}
else
{
// load the file to compare
include $file;
// did the file contain any language strings?
if ( empty($lang) )
{
// language file was empty or not properly defined
$this->output('h3', 'Language file for the language '.$language.' doesn\'t contain any language strings!', TRUE);
}
else
{
// start comparing
$this->output('h3', 'Comparing with the '.$language.' version:');
// assume all goes well
$failures = 0;
// start comparing language keys
foreach( $lang_ref as $key => $value )
{
if ( ! isset($lang[$key]) )
{
// report the missing key
$this->output('', 'Missing language string "'.$key.'"', TRUE);
// increment the failure counter
$failures++;
}
}
if ( ! $failures )
{
$this->output('', 'The two language files have matching strings.');
}
}
// make sure the lang array is deleted before the next check
if ( isset($lang) )
{
unset($lang);
}
}
}
}
$this->output('h2', 'Language file checking and validation completed');
}
// -----------------------------------------------------------------
private function output($type = '', $line = '', $highlight = FALSE)
{
switch ($type)
{
case 'h1':
$html = "<h1>{line}</h1>\n<hr />\n";
break;
case 'h2':
$html = "<h2>{line}</h2>\n";
break;
case 'h3':
$html = "<h3>&nbsp;&nbsp;&nbsp;{line}</h3>\n";
break;
default:
$html = "&nbsp;&nbsp;&nbsp;&nbsp;&raquo;&nbsp;{line}<br />";
break;
}
if ( $highlight )
{
$line = '<span style="color:red;font-weight:bold;">' . $line . '</span>';
}
echo str_replace('{line}', $line, $html);
}
// -----------------------------------------------------------------
}
/* End of file languagecheck.php */
/* Location: ./application/controllers/languagecheck.php */

View File

@@ -1,43 +0,0 @@
<?php
class Login extends CI_Controller
{
function __construct()
{
parent::__construct();
}
function index()
{
if($this->Employee->is_logged_in())
{
redirect('home');
}
else
{
$this->form_validation->set_rules('username', 'lang:login_undername', 'callback_login_check');
$this->form_validation->set_error_delimiters('<div class="error">', '</div>');
if($this->form_validation->run() == FALSE)
{
$this->load->view('login');
}
else
{
redirect('home');
}
}
}
function login_check($username)
{
$password = $this->input->post("password");
if(!$this->Employee->login($username,$password))
{
$this->form_validation->set_message('login_check', $this->lang->line('login_invalid_username_and_password'));
return false;
}
return true;
}
}
?>

View File

@@ -1,15 +0,0 @@
<?php
class No_Access extends CI_Controller
{
function __construct()
{
parent::__construct();
}
function index($module_id='')
{
$data['module_name']=$this->Module->get_module_name($module_id);
$this->load->view('no_access',$data);
}
}
?>

View File

@@ -1,54 +0,0 @@
<?php
require_once ("interfaces/iperson_controller.php");
require_once ("secure_area.php");
abstract class Person_controller extends Secure_area implements iPerson_controller
{
function __construct($module_id=null)
{
parent::__construct($module_id);
}
/*
This returns a mailto link for persons with a certain id. This is called with AJAX.
*/
function mailto()
{
$people_to_email=$this->input->post('ids');
if($people_to_email!=false)
{
$mailto_url='mailto:';
foreach($this->Person->get_multiple_info($people_to_email)->result() as $person)
{
$mailto_url.=$person->email.',';
}
//remove last comma
$mailto_url=substr($mailto_url,0,strlen($mailto_url)-1);
echo $mailto_url;
exit;
}
echo '#';
}
/** GARRISON ADDED 4/25/2013 IN PROGRESS **/
/*
Gives search suggestions based on what is being searched for
*/
function suggest()
{
$suggestions = $this->Person->get_search_suggestions($this->input->post('q'),$this->input->post('limit'));
echo implode("\n",$suggestions);
}
/*
Gets one row for a person manage table. This is called using AJAX to update one row.
*/
function get_row()
{
$person_id = $this->input->post('row_id');
$data_row=get_person_data_row($this->Person->get_info($person_id),$this);
echo $data_row;
}
}
?>

View File

@@ -1,278 +0,0 @@
<?php
require_once ("secure_area.php");
class Receivings extends Secure_area
{
function __construct()
{
parent::__construct('receivings');
$this->load->library('receiving_lib');
}
function index()
{
$this->_reload();
}
function item_search()
{
$suggestions = $this->Item->get_item_search_suggestions($this->input->post('q'),$this->input->post('limit'));
$suggestions = array_merge($suggestions, $this->Item_kit->get_item_kit_search_suggestions($this->input->post('q'),$this->input->post('limit')));
echo implode("\n",$suggestions);
}
function supplier_search()
{
$suggestions = $this->Supplier->get_suppliers_search_suggestions($this->input->post('q'),$this->input->post('limit'));
echo implode("\n",$suggestions);
}
function select_supplier()
{
$supplier_id = $this->input->post("supplier");
$this->receiving_lib->set_supplier($supplier_id);
$this->_reload();
}
function change_mode()
{
$stock_destination = $this->input->post('stock_destination');
$stock_source = $this->input->post("stock_source");
if ((!$stock_source || $stock_source == $this->receiving_lib->get_stock_source()) &&
(!$stock_destination || $stock_destination == $this->receiving_lib->get_stock_destination()))
{
$this->receiving_lib->empty_cart();
$mode = $this->input->post("mode");
$this->receiving_lib->set_mode($mode);
}
else
{
$this->receiving_lib->set_stock_source($stock_source);
$this->receiving_lib->set_stock_destination($stock_destination);
}
$this->_reload();
}
function add()
{
$data=array();
$mode = $this->receiving_lib->get_mode();
$item_id_or_number_or_item_kit_or_receipt = $this->input->post("item");
$quantity = ($mode=="receive" or $mode=="requisition") ? 1:-1;
$item_location = $this->receiving_lib->get_stock_source();
if($this->receiving_lib->is_valid_receipt($item_id_or_number_or_item_kit_or_receipt) && $mode=='return')
{
$this->receiving_lib->return_entire_receiving($item_id_or_number_or_item_kit_or_receipt,$item_location);
}
elseif($this->receiving_lib->is_valid_item_kit($item_id_or_number_or_item_kit_or_receipt))
{
$this->receiving_lib->add_item_kit($item_id_or_number_or_item_kit_or_receipt,$item_location);
}
else
{
if(!$this->receiving_lib->add_item($item_id_or_number_or_item_kit_or_receipt,$quantity,$item_location))
$data['error']=$this->lang->line('recvs_unable_to_add_item');
}
$this->_reload($data);
}
function edit_item($item_id)
{
$data= array();
$this->form_validation->set_rules('price', 'lang:items_price', 'required|numeric');
$this->form_validation->set_rules('quantity', 'lang:items_quantity', 'required|integer');
$this->form_validation->set_rules('discount', 'lang:items_discount', 'required|integer');
$description = $this->input->post("description");
$serialnumber = $this->input->post("serialnumber");
$price = $this->input->post("price");
$quantity = $this->input->post("quantity");
$discount = $this->input->post("discount");
$item_location = $this->input->post("location");
if ($this->form_validation->run() != FALSE)
{
$this->receiving_lib->edit_item($item_id,$description,$serialnumber,$quantity,$discount,$price);
}
else
{
$data['error']=$this->lang->line('recvs_error_editing_item');
}
$this->_reload($data);
}
function edit_item_unit($item_id)
{
$data= array();
$this->form_validation->set_rules('quantity', 'lang:items_quantity', 'required|integer');
$quantity = $this->input->post("quantity");
if ($this->form_validation->run() != FALSE)
{
$this->receiving_lib->edit_item_unit($item_id,$description,$quantity,0,0);
}
else
{
$data['error']=$this->lang->line('recvs_error_editing_item');
}
$this->_reload($data);
}
function delete_item($item_number)
{
$this->receiving_lib->delete_item($item_number);
$this->_reload();
}
function delete_supplier()
{
$this->receiving_lib->delete_supplier();
$this->_reload();
}
function complete()
{
$data['cart']=$this->receiving_lib->get_cart();
$data['total']=$this->receiving_lib->get_total();
$data['receipt_title']=$this->lang->line('recvs_receipt');
$data['transaction_time']= date('m/d/Y h:i:s a');
$data['mode']=$this->receiving_lib->get_mode();
$stock_locations = $this->Stock_locations->get_undeleted_all()->result_array();
$data['show_stock_locations'] = count($stock_locations) > 1;
$supplier_id=$this->receiving_lib->get_supplier();
$employee_id=$this->Employee->get_logged_in_employee_info()->person_id;
$comment = $this->input->post('comment');
$emp_info=$this->Employee->get_info($employee_id);
$payment_type = $this->input->post('payment_type');
$data['payment_type']=$this->input->post('payment_type');
$data['stock_location']=$this->receiving_lib->get_stock_source();
if ($this->input->post('amount_tendered'))
{
$data['amount_tendered'] = $this->input->post('amount_tendered');
$data['amount_change'] = to_currency($data['amount_tendered'] - round($data['total'], 2));
}
$data['employee']=$emp_info->first_name.' '.$emp_info->last_name;
if($supplier_id!=-1)
{
$suppl_info=$this->Supplier->get_info($supplier_id);
$data['supplier']=$suppl_info->first_name.' '.$suppl_info->last_name;
}
//SAVE receiving to database
$data['receiving_id']='RECV '.$this->Receiving->save($data['cart'], $supplier_id,$employee_id,$comment,$payment_type,$data['stock_location']);
if ($data['receiving_id'] == 'RECV -1')
{
$data['error_message'] = $this->lang->line('receivings_transaction_failed');
}
$this->load->view("receivings/receipt",$data);
$this->receiving_lib->clear_all();
$this->_remove_duplicate_cookies();
}
function requisition_complete()
{
if ($this->receiving_lib->get_stock_source() != $this->receiving_lib->get_stock_destination())
{
foreach($this->receiving_lib->get_cart() as $item)
{
$this->receiving_lib->delete_item($item['line']);
$this->receiving_lib->add_item($item['item_id'],$item['quantity'],$this->receiving_lib->get_stock_destination());
$this->receiving_lib->add_item($item['item_id'],-$item['quantity'],$this->receiving_lib->get_stock_source());
}
$this->complete();
}
else
{
$data['error']=$this->lang->line('recvs_error_requisition');
$this->_reload($data);
}
}
function receipt($receiving_id)
{
$receiving_info = $this->Receiving->get_info($receiving_id)->row_array();
$this->receiving_lib->copy_entire_receiving($receiving_id);
$data['cart']=$this->receiving_lib->get_cart();
$data['total']=$this->receiving_lib->get_total();
$data['mode']=$this->receiving_lib->get_mode();
$data['receipt_title']=$this->lang->line('recvs_receipt');
$data['transaction_time']= date('m/d/Y h:i:s a', strtotime($receiving_info['receiving_time']));
$stock_locations = $this->Stock_locations->get_undeleted_all()->result_array();
$data['show_stock_locations'] = count($stock_locations) > 1;
$supplier_id=$this->receiving_lib->get_supplier();
$emp_info=$this->Employee->get_info($receiving_info['employee_id']);
$data['payment_type']=$receiving_info['payment_type'];
$data['employee']=$emp_info->first_name.' '.$emp_info->last_name;
if($supplier_id!=-1)
{
$supplier_info=$this->Supplier->get_info($supplier_id);
$data['supplier']=$supplier_info->first_name.' '.$supplier_info->last_name;
}
$data['receiving_id']='RECV '.$receiving_id;
$this->load->view("receivings/receipt",$data);
$this->receiving_lib->clear_all();
$this->_remove_duplicate_cookies();
}
function _reload($data=array())
{
$data['stock_locations'] = array();
$stock_locations = $this->Stock_locations->get_undeleted_all()->result_array();
$show_stock_locations = count($stock_locations) > 1;
$person_info = $this->Employee->get_logged_in_employee_info();
$data['cart']=$this->receiving_lib->get_cart();
$data['modes']=array('receive'=>$this->lang->line('recvs_receiving'),'return'=>$this->lang->line('recvs_return'));
$data['mode']=$this->receiving_lib->get_mode();
if ($show_stock_locations) {
$data['modes']['requisition'] = $this->lang->line('recvs_requisition');
foreach($stock_locations as $location_data)
{
$data['stock_locations'][$location_data['location_id']] = $location_data['location_name'];
}
$data['stock_source']=$this->receiving_lib->get_stock_source();
$data['stock_destination']=$this->receiving_lib->get_stock_destination();
}
$data['show_stock_locations'] = $show_stock_locations;
$data['total']=$this->receiving_lib->get_total();
$data['items_module_allowed'] = $this->Employee->has_permission('items', $person_info->person_id);
$data['payment_options']=array(
$this->lang->line('sales_cash') => $this->lang->line('sales_cash'),
$this->lang->line('sales_check') => $this->lang->line('sales_check'),
$this->lang->line('sales_debit') => $this->lang->line('sales_debit'),
$this->lang->line('sales_credit') => $this->lang->line('sales_credit')
);
$supplier_id=$this->receiving_lib->get_supplier();
if($supplier_id!=-1)
{
$info=$this->Supplier->get_info($supplier_id);
$data['supplier']=$info->first_name.' '.$info->last_name;
}
$this->load->view("receivings/receiving",$data);
$this->_remove_duplicate_cookies();
}
function cancel_receiving()
{
$this->receiving_lib->clear_all();
$this->_reload();
}
}
?>

View File

@@ -1,965 +0,0 @@
<?php
require_once ("secure_area.php");
require_once (APPPATH."libraries/ofc-library/open-flash-chart.php");
define("FORM_WIDTH", "400");
class Reports extends Secure_area
{
function __construct()
{
parent::__construct('reports');
$this->load->helper('report');
}
//Initial report listing screen
function index()
{
$this->load->view("reports/listing",array());
}
function _get_common_report_data()
{
$data = array();
$data['report_date_range_simple'] = get_simple_date_ranges();
$data['months'] = get_months();
$data['days'] = get_days();
$data['years'] = get_years();
$data['selected_month']=date('n');
$data['selected_day']=date('d');
$data['selected_year']=date('Y');
return $data;
}
//Input for reports that require only a date range and an export to excel. (see routes.php to see that all summary reports route here)
function date_input_excel_export()
{
$data = $this->_get_common_report_data();
$this->load->view("reports/date_input_excel_export",$data);
}
function get_detailed_sales_row($sale_id, $sale_type=1)
{
$this->load->model('reports/Detailed_sales');
$model = $this->Detailed_sales;
$report_data = $model->getDataBySaleId($sale_id, $sale_type);
$summary_data = array(anchor('sales/edit/'.$report_data['sale_id'] . '/width:'.FORM_WIDTH,
'POS '.$report_data['sale_id'],
array('class' => 'thickbox')),
$report_data['sale_date'],
$report_data['items_purchased'],
$report_data['employee_name'],
$report_data['customer_name'],
to_currency($report_data['subtotal']),
to_currency($report_data['total']),
to_currency($report_data['tax']),
to_currency($report_data['profit']),
$report_data['payment_type'],
$report_data['comment']);
echo get_detailed_sales_data_row($summary_data, $this);
}
function get_summary_data($start_date, $end_date = NULL, $sale_type=0)
{
$end_date = $end_date ?: $start_date;
$this->load->model('reports/Summary_sales');
$model = $this->Summary_sales;
$summary = $model->getSummaryData(array(
'start_date'=>$start_date,
'end_date'=>$end_date,
'sale_type' => $sale_type));
echo get_sales_summary_totals($summary, $this);
}
//Summary sales report
function summary_sales($start_date, $end_date, $sale_type, $export_excel=0)
{
$this->load->model('reports/Summary_sales');
$model = $this->Summary_sales;
$tabular_data = array();
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
foreach($report_data as $row)
{
$tabular_data[] = array($row['sale_date'], to_currency($row['subtotal']), to_currency($row['total']), to_currency($row['tax']),to_currency($row['profit']));
}
$data = array(
"title" => $this->lang->line('reports_sales_summary_report'),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"headers" => $model->getDataColumns(),
"data" => $tabular_data,
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type)),
"export_excel" => $export_excel
);
$this->load->view("reports/tabular",$data);
}
//Summary categories report
function summary_categories($start_date, $end_date, $sale_type, $export_excel=0)
{
$this->load->model('reports/Summary_categories');
$model = $this->Summary_categories;
$tabular_data = array();
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
foreach($report_data as $row)
{
$tabular_data[] = array($row['category'], to_currency($row['subtotal']), to_currency($row['total']), to_currency($row['tax']),to_currency($row['profit']));
}
$data = array(
"title" => $this->lang->line('reports_categories_summary_report'),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"headers" => $model->getDataColumns(),
"data" => $tabular_data,
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type)),
"export_excel" => $export_excel
);
$this->load->view("reports/tabular",$data);
}
//Summary customers report
function summary_customers($start_date, $end_date, $sale_type, $export_excel=0)
{
$this->load->model('reports/Summary_customers');
$model = $this->Summary_customers;
$tabular_data = array();
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
foreach($report_data as $row)
{
$tabular_data[] = array($row['customer'], to_currency($row['subtotal']), to_currency($row['total']), to_currency($row['tax']),to_currency($row['profit']));
}
$data = array(
"title" => $this->lang->line('reports_customers_summary_report'),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"headers" => $model->getDataColumns(),
"data" => $tabular_data,
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type)),
"export_excel" => $export_excel
);
$this->load->view("reports/tabular",$data);
}
//Summary suppliers report
function summary_suppliers($start_date, $end_date, $sale_type, $export_excel=0)
{
$this->load->model('reports/Summary_suppliers');
$model = $this->Summary_suppliers;
$tabular_data = array();
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
foreach($report_data as $row)
{
$tabular_data[] = array($row['supplier'], to_currency($row['subtotal']), to_currency($row['total']), to_currency($row['tax']),to_currency($row['profit']));
}
$data = array(
"title" => $this->lang->line('reports_suppliers_summary_report'),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"headers" => $model->getDataColumns(),
"data" => $tabular_data,
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type)),
"export_excel" => $export_excel
);
$this->load->view("reports/tabular",$data);
}
//Summary items report
function summary_items($start_date, $end_date, $sale_type, $export_excel=0)
{
$this->load->model('reports/Summary_items');
$model = $this->Summary_items;
$tabular_data = array();
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
foreach($report_data as $row)
{
$tabular_data[] = array(character_limiter($row['name'], 16), $row['quantity_purchased'], to_currency($row['subtotal']), to_currency($row['total']), to_currency($row['tax']),to_currency($row['profit']));
}
$data = array(
"title" => $this->lang->line('reports_items_summary_report'),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"headers" => $model->getDataColumns(),
"data" => $tabular_data,
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type)),
"export_excel" => $export_excel
);
$this->load->view("reports/tabular",$data);
}
//Summary employees report
function summary_employees($start_date, $end_date, $sale_type, $export_excel=0)
{
$this->load->model('reports/Summary_employees');
$model = $this->Summary_employees;
$tabular_data = array();
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
foreach($report_data as $row)
{
$tabular_data[] = array($row['employee'], to_currency($row['subtotal']), to_currency($row['total']), to_currency($row['tax']),to_currency($row['profit']));
}
$data = array(
"title" => $this->lang->line('reports_employees_summary_report'),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"headers" => $model->getDataColumns(),
"data" => $tabular_data,
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type)),
"export_excel" => $export_excel
);
$this->load->view("reports/tabular",$data);
}
//Summary taxes report
function summary_taxes($start_date, $end_date, $sale_type, $export_excel=0)
{
$this->load->model('reports/Summary_taxes');
$model = $this->Summary_taxes;
$tabular_data = array();
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
foreach($report_data as $row)
{
$tabular_data[] = array($row['percent'], to_currency($row['subtotal']), to_currency($row['total']), to_currency($row['tax']));
}
$data = array(
"title" => $this->lang->line('reports_taxes_summary_report'),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"headers" => $model->getDataColumns(),
"data" => $tabular_data,
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type)),
"export_excel" => $export_excel
);
$this->load->view("reports/tabular",$data);
}
//Summary discounts report
function summary_discounts($start_date, $end_date, $sale_type, $export_excel=0)
{
$this->load->model('reports/Summary_discounts');
$model = $this->Summary_discounts;
$tabular_data = array();
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
foreach($report_data as $row)
{
$tabular_data[] = array($row['discount_percent'],$row['count']);
}
$data = array(
"title" => $this->lang->line('reports_discounts_summary_report'),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"headers" => $model->getDataColumns(),
"data" => $tabular_data,
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type)),
"export_excel" => $export_excel
);
$this->load->view("reports/tabular",$data);
}
function summary_payments($start_date, $end_date, $sale_type, $export_excel=0)
{
$this->load->model('reports/Summary_payments');
$model = $this->Summary_payments;
$tabular_data = array();
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
foreach($report_data as $row)
{
$tabular_data[] = array($row['payment_type'],to_currency($row['payment_amount']));
}
$data = array(
"title" => $this->lang->line('reports_payments_summary_report'),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"headers" => $model->getDataColumns(),
"data" => $tabular_data,
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type)),
"export_excel" => $export_excel
);
$this->load->view("reports/tabular",$data);
}
//Input for reports that require only a date range. (see routes.php to see that all graphical summary reports route here)
function date_input()
{
$data = $this->_get_common_report_data();
$data['mode'] = 'sale';
$this->load->view("reports/date_input",$data);
}
function date_input_recv()
{
$data = $this->_get_common_report_data();
$data['mode'] = 'receiving';
$this->load->view("reports/date_input",$data);
}
function date_input_reqs()
{
$data = $this->_get_common_report_data();
$data['mode'] = 'requisition';
$this->load->view("reports/date_input",$data);
}
//Graphical summary sales report
function graphical_summary_sales($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_sales');
$model = $this->Summary_sales;
$data = array(
"title" => $this->lang->line('reports_sales_summary_report'),
"data_file" => site_url("reports/graphical_summary_sales_graph/$start_date/$end_date/$sale_type"),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type))
);
$this->load->view("reports/graphical",$data);
}
//The actual graph data
function graphical_summary_sales_graph($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_sales');
$model = $this->Summary_sales;
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
$graph_data = array();
foreach($report_data as $row)
{
$graph_data[date('m/d/Y', strtotime($row['sale_date']))]= $row['total'];
}
$data = array(
"title" => $this->lang->line('reports_sales_summary_report'),
"yaxis_label"=>$this->lang->line('reports_revenue'),
"xaxis_label"=>$this->lang->line('reports_date'),
"data" => $graph_data
);
$this->load->view("reports/graphs/line",$data);
}
//Graphical summary items report
function graphical_summary_items($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_items');
$model = $this->Summary_items;
$data = array(
"title" => $this->lang->line('reports_items_summary_report'),
"data_file" => site_url("reports/graphical_summary_items_graph/$start_date/$end_date/$sale_type"),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type))
);
$this->load->view("reports/graphical",$data);
}
//The actual graph data
function graphical_summary_items_graph($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_items');
$model = $this->Summary_items;
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
$graph_data = array();
foreach($report_data as $row)
{
$graph_data[$row['name']] = $row['total'];
}
$data = array(
"title" => $this->lang->line('reports_items_summary_report'),
"xaxis_label"=>$this->lang->line('reports_revenue'),
"yaxis_label"=>$this->lang->line('reports_items'),
"data" => $graph_data
);
$this->load->view("reports/graphs/hbar",$data);
}
//Graphical summary customers report
function graphical_summary_categories($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_categories');
$model = $this->Summary_categories;
$data = array(
"title" => $this->lang->line('reports_categories_summary_report'),
"data_file" => site_url("reports/graphical_summary_categories_graph/$start_date/$end_date/$sale_type"),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type))
);
$this->load->view("reports/graphical",$data);
}
//The actual graph data
function graphical_summary_categories_graph($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_categories');
$model = $this->Summary_categories;
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
$graph_data = array();
foreach($report_data as $row)
{
$graph_data[$row['category']] = $row['total'];
}
$data = array(
"title" => $this->lang->line('reports_categories_summary_report'),
"data" => $graph_data
);
$this->load->view("reports/graphs/pie",$data);
}
function graphical_summary_suppliers($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_suppliers');
$model = $this->Summary_suppliers;
$data = array(
"title" => $this->lang->line('reports_suppliers_summary_report'),
"data_file" => site_url("reports/graphical_summary_suppliers_graph/$start_date/$end_date/$sale_type"),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type))
);
$this->load->view("reports/graphical",$data);
}
//The actual graph data
function graphical_summary_suppliers_graph($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_suppliers');
$model = $this->Summary_suppliers;
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
$graph_data = array();
foreach($report_data as $row)
{
$graph_data[$row['supplier']] = $row['total'];
}
$data = array(
"title" => $this->lang->line('reports_suppliers_summary_report'),
"data" => $graph_data
);
$this->load->view("reports/graphs/pie",$data);
}
function graphical_summary_employees($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_employees');
$model = $this->Summary_employees;
$data = array(
"title" => $this->lang->line('reports_employees_summary_report'),
"data_file" => site_url("reports/graphical_summary_employees_graph/$start_date/$end_date/$sale_type"),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type))
);
$this->load->view("reports/graphical",$data);
}
//The actual graph data
function graphical_summary_employees_graph($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_employees');
$model = $this->Summary_employees;
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
$graph_data = array();
foreach($report_data as $row)
{
$graph_data[$row['employee']] = $row['total'];
}
$data = array(
"title" => $this->lang->line('reports_employees_summary_report'),
"data" => $graph_data
);
$this->load->view("reports/graphs/pie",$data);
}
function graphical_summary_taxes($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_taxes');
$model = $this->Summary_taxes;
$data = array(
"title" => $this->lang->line('reports_taxes_summary_report'),
"data_file" => site_url("reports/graphical_summary_taxes_graph/$start_date/$end_date/$sale_type"),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type))
);
$this->load->view("reports/graphical",$data);
}
//The actual graph data
function graphical_summary_taxes_graph($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_taxes');
$model = $this->Summary_taxes;
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
$graph_data = array();
foreach($report_data as $row)
{
$graph_data[$row['percent']] = $row['total'];
}
$data = array(
"title" => $this->lang->line('reports_taxes_summary_report'),
"data" => $graph_data
);
$this->load->view("reports/graphs/pie",$data);
}
//Graphical summary customers report
function graphical_summary_customers($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_customers');
$model = $this->Summary_customers;
$data = array(
"title" => $this->lang->line('reports_customers_summary_report'),
"data_file" => site_url("reports/graphical_summary_customers_graph/$start_date/$end_date/$sale_type"),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type))
);
$this->load->view("reports/graphical",$data);
}
//The actual graph data
function graphical_summary_customers_graph($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_customers');
$model = $this->Summary_customers;
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
$graph_data = array();
foreach($report_data as $row)
{
$graph_data[$row['customer']] = $row['total'];
}
$data = array(
"title" => $this->lang->line('reports_customers_summary_report'),
"xaxis_label"=>$this->lang->line('reports_revenue'),
"yaxis_label"=>$this->lang->line('reports_customers'),
"data" => $graph_data
);
$this->load->view("reports/graphs/hbar",$data);
}
//Graphical summary discounts report
function graphical_summary_discounts($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_discounts');
$model = $this->Summary_discounts;
$data = array(
"title" => $this->lang->line('reports_discounts_summary_report'),
"data_file" => site_url("reports/graphical_summary_discounts_graph/$start_date/$end_date/$sale_type"),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type))
);
$this->load->view("reports/graphical",$data);
}
//The actual graph data
function graphical_summary_discounts_graph($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_discounts');
$model = $this->Summary_discounts;
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
$graph_data = array();
foreach($report_data as $row)
{
$graph_data[$row['discount_percent']] = $row['count'];
}
$data = array(
"title" => $this->lang->line('reports_discounts_summary_report'),
"yaxis_label"=>$this->lang->line('reports_count'),
"xaxis_label"=>$this->lang->line('reports_discount_percent'),
"data" => $graph_data
);
$this->load->view("reports/graphs/bar",$data);
}
function graphical_summary_payments($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_payments');
$model = $this->Summary_payments;
$data = array(
"title" => $this->lang->line('reports_payments_summary_report'),
"data_file" => site_url("reports/graphical_summary_payments_graph/$start_date/$end_date/$sale_type"),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type))
);
$this->load->view("reports/graphical",$data);
}
//The actual graph data
function graphical_summary_payments_graph($start_date, $end_date, $sale_type)
{
$this->load->model('reports/Summary_payments');
$model = $this->Summary_payments;
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
$graph_data = array();
foreach($report_data as $row)
{
$graph_data[$row['payment_type']] = $row['payment_amount'];
}
$data = array(
"title" => $this->lang->line('reports_payments_summary_report'),
"yaxis_label"=>$this->lang->line('reports_revenue'),
"xaxis_label"=>$this->lang->line('reports_payment_type'),
"data" => $graph_data
);
$this->load->view("reports/graphs/pie",$data);
}
function specific_customer_input()
{
$data = $this->_get_common_report_data();
$data['specific_input_name'] = $this->lang->line('reports_customer');
$customers = array();
foreach($this->Customer->get_all()->result() as $customer)
{
$customers[$customer->person_id] = $customer->first_name .' '.$customer->last_name;
}
$data['specific_input_data'] = $customers;
$this->load->view("reports/specific_input",$data);
}
function specific_customer($start_date, $end_date, $customer_id, $sale_type, $export_excel=0)
{
$this->load->model('reports/Specific_customer');
$model = $this->Specific_customer;
$headers = $model->getDataColumns();
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'customer_id' =>$customer_id, 'sale_type' => $sale_type));
$summary_data = array();
$details_data = array();
foreach($report_data['summary'] as $key=>$row)
{
$summary_data[] = array(anchor('sales/edit/'.$row['sale_id'], 'POS '.$row['sale_id'], array('target' => '_blank')), $row['sale_date'], $row['items_purchased'], $row['employee_name'], to_currency($row['subtotal']), to_currency($row['total']), to_currency($row['tax']),to_currency($row['profit']), $row['payment_type'], $row['comment']);
foreach($report_data['details'][$key] as $drow)
{
$details_data[$key][] = array($drow['name'], $drow['category'], $drow['serialnumber'], $drow['description'], $drow['quantity_purchased'], to_currency($drow['subtotal']), to_currency($drow['total']), to_currency($drow['tax']),to_currency($drow['profit']), $drow['discount_percent'].'%');
}
}
$customer_info = $this->Customer->get_info($customer_id);
$data = array(
"title" => $customer_info->first_name .' '. $customer_info->last_name.' '.$this->lang->line('reports_report'),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"headers" => $model->getDataColumns(),
"summary_data" => $summary_data,
"details_data" => $details_data,
"overall_summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date,'customer_id' =>$customer_id, 'sale_type' => $sale_type)),
"export_excel" => $export_excel
);
$this->load->view("reports/tabular_details",$data);
}
function specific_employee_input()
{
$data = $this->_get_common_report_data();
$data['specific_input_name'] = $this->lang->line('reports_employee');
$employees = array();
foreach($this->Employee->get_all()->result() as $employee)
{
$employees[$employee->person_id] = $employee->first_name .' '.$employee->last_name;
}
$data['specific_input_data'] = $employees;
$this->load->view("reports/specific_input",$data);
}
function specific_employee($start_date, $end_date, $employee_id, $sale_type, $export_excel=0)
{
$this->load->model('reports/Specific_employee');
$model = $this->Specific_employee;
$headers = $model->getDataColumns();
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'employee_id' =>$employee_id, 'sale_type' => $sale_type));
$summary_data = array();
$details_data = array();
foreach($report_data['summary'] as $key=>$row)
{
$summary_data[] = array(anchor('sales/edit/'.$row['sale_id'], 'POS '.$row['sale_id'], array('target' => '_blank')), $row['sale_date'], $row['items_purchased'], $row['customer_name'], to_currency($row['subtotal']), to_currency($row['total']), to_currency($row['tax']),to_currency($row['profit']), $row['payment_type'], $row['comment']);
foreach($report_data['details'][$key] as $drow)
{
$details_data[$key][] = array($drow['name'], $drow['category'], $drow['serialnumber'], $drow['description'], $drow['quantity_purchased'], to_currency($drow['subtotal']), to_currency($drow['total']), to_currency($drow['tax']),to_currency($drow['profit']), $drow['discount_percent'].'%');
}
}
$employee_info = $this->Employee->get_info($employee_id);
$data = array(
"title" => $employee_info->first_name .' '. $employee_info->last_name.' '.$this->lang->line('reports_report'),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"headers" => $model->getDataColumns(),
"summary_data" => $summary_data,
"details_data" => $details_data,
"overall_summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date,'employee_id' =>$employee_id, 'sale_type' => $sale_type)),
"export_excel" => $export_excel
);
$this->load->view("reports/tabular_details",$data);
}
function specific_discount_input()
{
$data = $this->_get_common_report_data();
$data['specific_input_name'] = $this->lang->line('reports_discount');
$discounts = array();
for($i = 0; $i <= 100; $i += 10)
{
$discounts[$i] = $i . '%';
}
$data['specific_input_data'] = $discounts;
$this->load->view("reports/specific_input",$data);
}
function specific_discount($start_date, $end_date, $discount, $sale_type, $export_excel = 0)
{
$this->load->model('reports/Specific_discount');
$model = $this->Specific_discount;
$headers = $model->getDataColumns();
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'discount' =>$discount, 'sale_type' => $sale_type));
$summary_data = array();
$details_data = array();
foreach($report_data['summary'] as $key=>$row)
{
$summary_data[] = array(anchor('sales/receipt/'.$row['sale_id'], 'POS '.$row['sale_id'], array('target' => '_blank')), $row['sale_date'], $row['items_purchased'], $row['customer_name'], to_currency($row['subtotal']), to_currency($row['total']), to_currency($row['tax']),/*to_currency($row['profit']),*/ $row['payment_type'], $row['comment']);
foreach($report_data['details'][$key] as $drow)
{
$details_data[$key][] = array($drow['name'], $drow['category'], $drow['description'], $drow['quantity_purchased'], to_currency($drow['subtotal']), to_currency($drow['total']), to_currency($drow['tax']),/*to_currency($drow['profit']),*/ $drow['discount_percent'].'%');
}
}
$data = array(
"title" => $discount. '% '.$this->lang->line('reports_discount') . ' ' . $this->lang->line('reports_report'),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"headers" => $headers,
"summary_data" => $summary_data,
"details_data" => $details_data,
"header_width" => intval(100 / count($headers['summary'])),
"overall_summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date,'discount' =>$discount, 'sale_type' => $sale_type)),
"export_excel" => $export_excel
);
$this->load->view("reports/tabular_details",$data);
}
function detailed_sales($start_date, $end_date, $sale_type, $export_excel=0)
{
$this->load->model('reports/Detailed_sales');
$model = $this->Detailed_sales;
$headers = $model->getDataColumns();
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type));
$summary_data = array();
$details_data = array();
foreach($report_data['summary'] as $key=>$row)
{
$summary_data[] = array(anchor('sales/edit/'.$row['sale_id'] . '/width:'.FORM_WIDTH, 'POS '.$row['sale_id'], array('class' => 'thickbox')), $row['sale_date'], $row['items_purchased'], $row['employee_name'], $row['customer_name'], to_currency($row['subtotal']), to_currency($row['total']), to_currency($row['tax']),to_currency($row['profit']), $row['payment_type'], $row['comment']);
foreach($report_data['details'][$key] as $drow)
{
$details_data[$key][] = array($drow['name'], $drow['category'], $drow['serialnumber'], $drow['description'], $drow['quantity_purchased'], to_currency($drow['subtotal']), to_currency($drow['total']), to_currency($drow['tax']),to_currency($drow['profit']), $drow['discount_percent'].'%');
}
}
$data = array(
"title" =>$this->lang->line('reports_detailed_sales_report'),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"headers" => $model->getDataColumns(),
"editable" => true,
"summary_data" => $summary_data,
"details_data" => $details_data,
"header_width" => intval(100 / count($headers['summary'])),
"overall_summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'sale_type' => $sale_type)),
"export_excel" => $export_excel
);
$this->load->view("reports/tabular_details",$data);
}
function detailed_receivings($start_date, $end_date, $receiving_type, $export_excel=0)
{
$this->load->model('reports/Detailed_receivings');
$model = $this->Detailed_receivings;
$headers = $model->getDataColumns();
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'receiving_type' => $receiving_type));
$summary_data = array();
$details_data = array();
foreach($report_data['summary'] as $key=>$row)
{
$summary_data[] = array(anchor('receivings/receipt/'.$row['receiving_id'], 'RECV '.$row['receiving_id'], array('target' => '_blank')), $row['receiving_date'], $row['items_purchased'], $row['employee_name'], $row['supplier_name'], to_currency($row['total']), $row['payment_type'], $row['comment']);
foreach($report_data['details'][$key] as $drow)
{
$details_data[$key][] = array($drow['name'], $drow['category'], $drow['quantity_purchased'], to_currency($drow['total']), $drow['discount_percent'].'%');
}
}
$data = array(
"title" =>$this->lang->line('reports_detailed_receivings_report'),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"headers" => $model->getDataColumns(),
"summary_data" => $summary_data,
"details_data" => $details_data,
"overall_summary_data" => $model->getSummaryData(array('start_date'=>$start_date, 'end_date'=>$end_date, 'receiving_type' => $receiving_type)),
"export_excel" => $export_excel
);
$this->load->view("reports/tabular_details",$data);
}
function detailed_requisition($start_date, $end_date , $export_excel=0)
{
$this->load->model('reports/Detailed_requisition');
$model = $this->Detailed_requisition;
$report_data = $model->getData(array('start_date'=>$start_date, 'end_date'=>$end_date));
$summary_data = array();
$details_data = array();
foreach($report_data['summary'] as $key=>$row)
{
$summary_data[] = array(anchor('receivings/requisition_receipt/'.$row['requisition_id'], 'REQS '.$row['requisition_id'], array('target' => '_blank')), $row['requisition_date'], $row['employee_name'], $row['comment']);
foreach($report_data['details'][$key] as $drow)
{
$details_data[$key][] = array($drow['name'], $drow['requisition_quantity'],
$drow['related_item_id'], $drow['related_item_quantity'],
$drow['related_item_total_quantity']);
}
}
$data = array(
"title" =>$this->lang->line('reports_detailed_requisition_report'),
"subtitle" => date('m/d/Y', strtotime($start_date)) .'-'.date('m/d/Y', strtotime($end_date)),
"headers" => $model->getDataColumns(),
"summary_data" => $summary_data,
"details_data" => $details_data,
"overall_summary_data" => '',
"export_excel" => $export_excel
);
$this->load->view("reports/tabular_details",$data);
}
function excel_export()
{
$this->load->view("reports/excel_export",array());
}
function inventory_low($export_excel=0)
{
$this->load->model('reports/Inventory_low');
$model = $this->Inventory_low;
$tabular_data = array();
$report_data = $model->getData(array());
foreach($report_data as $row)
{
$tabular_data[] = array($row['name'], $row['item_number'], $row['description'], $row['quantity'], $row['reorder_level'], $row['location_name']);
}
$data = array(
"title" => $this->lang->line('reports_low_inventory_report'),
"subtitle" => '',
"headers" => $model->getDataColumns(),
"data" => $tabular_data,
"summary_data" => $model->getSummaryData(array()),
"export_excel" => $export_excel
);
$this->load->view("reports/tabular",$data);
}
function inventory_summary($export_excel=0)
{
$this->load->model('reports/Inventory_summary');
$model = $this->Inventory_summary;
$tabular_data = array();
$report_data = $model->getData(array());
foreach($report_data as $row)
{
$tabular_data[] = array($row['name'], $row['item_number'], $row['description'], $row['quantity'], $row['reorder_level'],$row['location_name']);
}
$data = array(
"title" => $this->lang->line('reports_inventory_summary_report'),
"subtitle" => '',
"headers" => $model->getDataColumns(),
"data" => $tabular_data,
"summary_data" => $model->getSummaryData(array()),
"export_excel" => $export_excel
);
$this->load->view("reports/tabular",$data);
}
}
?>

View File

@@ -1,470 +0,0 @@
<?php
require_once ("secure_area.php");
class Sales extends Secure_area
{
function __construct()
{
parent::__construct('sales');
$this->load->library('sale_lib');
}
function index()
{
$this->_reload();
}
function item_search()
{
$suggestions = $this->Item->get_item_search_suggestions($this->input->post('q'),$this->input->post('limit'));
$suggestions = array_merge($suggestions, $this->Item_kit->get_item_kit_search_suggestions($this->input->post('q'),$this->input->post('limit')));
echo implode("\n",$suggestions);
}
function customer_search()
{
$suggestions = $this->Customer->get_customer_search_suggestions($this->input->post('q'),$this->input->post('limit'));
echo implode("\n",$suggestions);
}
function select_customer()
{
$customer_id = $this->input->post("customer");
$this->sale_lib->set_customer($customer_id);
$this->_reload();
}
function change_mode()
{
$stock_location = $this->input->post("stock_location");
if (!$stock_location || $stock_location == $this->sale_lib->get_sale_location())
{
$this->sale_lib->clear_all();
$mode = $this->input->post("mode");
$this->sale_lib->set_mode($mode);
}
else
{
$this->sale_lib->set_sale_location($stock_location);
}
$this->_reload();
}
function set_comment()
{
$this->sale_lib->set_comment($this->input->post('comment'));
}
function set_email_receipt()
{
$this->sale_lib->set_email_receipt($this->input->post('email_receipt'));
}
//Alain Multiple Payments
function add_payment()
{
$data = array();
$this->form_validation->set_rules( 'amount_tendered', 'lang:sales_amount_tendered', 'numeric' );
if ( $this->form_validation->run() == FALSE )
{
if ( $this->input->post( 'payment_type' ) == $this->lang->line( 'sales_gift_card' ) )
$data['error']=$this->lang->line('sales_must_enter_numeric_giftcard');
else
$data['error']=$this->lang->line('sales_must_enter_numeric');
$this->_reload( $data );
return;
}
$payment_type = $this->input->post( 'payment_type' );
if ( $payment_type == $this->lang->line( 'sales_giftcard' ) )
{
$payments = $this->sale_lib->get_payments();
$payment_type = $this->input->post( 'payment_type' ) . ':' . $payment_amount = $this->input->post( 'amount_tendered' );
$current_payments_with_giftcard = isset( $payments[$payment_type] ) ? $payments[$payment_type]['payment_amount'] : 0;
$cur_giftcard_value = $this->Giftcard->get_giftcard_value( $this->input->post( 'amount_tendered' ) ) - $current_payments_with_giftcard;
if ( $cur_giftcard_value <= 0 )
{
$data['error'] = 'Giftcard balance is ' . to_currency( $this->Giftcard->get_giftcard_value( $this->input->post( 'amount_tendered' ) ) ) . ' !';
$this->_reload( $data );
return;
}
$new_giftcard_value = $this->Giftcard->get_giftcard_value( $this->input->post( 'amount_tendered' ) ) - $this->sale_lib->get_amount_due( );
$new_giftcard_value = ( $new_giftcard_value >= 0 ) ? $new_giftcard_value : 0;
$data['warning'] = 'Giftcard ' . $this->input->post( 'amount_tendered' ) . ' balance is ' . to_currency( $new_giftcard_value ) . ' !';
$payment_amount = min( $this->sale_lib->get_amount_due( ), $this->Giftcard->get_giftcard_value( $this->input->post( 'amount_tendered' ) ) );
}
else
{
$payment_amount = $this->input->post( 'amount_tendered' );
}
if( !$this->sale_lib->add_payment( $payment_type, $payment_amount ) )
{
$data['error']='Unable to Add Payment! Please try again!';
}
$this->_reload($data);
}
//Alain Multiple Payments
function delete_payment( $payment_id )
{
$this->sale_lib->delete_payment( $payment_id );
$this->_reload();
}
function add()
{
$data=array();
$mode = $this->sale_lib->get_mode();
$item_id_or_number_or_item_kit_or_receipt = $this->input->post("item");
$quantity = ($mode=="return")? -1:1;
$item_location = $this->sale_lib->get_sale_location();
if($this->sale_lib->is_valid_receipt($item_id_or_number_or_item_kit_or_receipt) && $mode=='return')
{
$this->sale_lib->return_entire_sale($item_id_or_number_or_item_kit_or_receipt);
}
elseif($this->sale_lib->is_valid_item_kit($item_id_or_number_or_item_kit_or_receipt))
{
$this->sale_lib->add_item_kit($item_id_or_number_or_item_kit_or_receipt,$item_location);
}
elseif(!$this->sale_lib->add_item($item_id_or_number_or_item_kit_or_receipt,$quantity,$item_location))
{
$data['error']=$this->lang->line('sales_unable_to_add_item');
}
if($this->sale_lib->out_of_stock($item_id_or_number_or_item_kit_or_receipt,$item_location))
{
$data['warning'] = $this->lang->line('sales_quantity_less_than_zero');
}
$this->_reload($data);
}
function edit_item($line)
{
$data= array();
$this->form_validation->set_rules('price', 'lang:items_price', 'required|numeric');
$this->form_validation->set_rules('quantity', 'lang:items_quantity', 'required|numeric');
$description = $this->input->post("description");
$serialnumber = $this->input->post("serialnumber");
$price = $this->input->post("price");
$quantity = $this->input->post("quantity");
$discount = $this->input->post("discount");
$item_location = $this->input->post("location");
if ($this->form_validation->run() != FALSE)
{
$this->sale_lib->edit_item($line,$description,$serialnumber,$quantity,$discount,$price);
}
else
{
$data['error']=$this->lang->line('sales_error_editing_item');
}
if($this->sale_lib->out_of_stock($this->sale_lib->get_item_id($line),$item_location))
{
$data['warning'] = $this->lang->line('sales_quantity_less_than_zero');
}
$this->_reload($data);
}
function delete_item($item_number)
{
$this->sale_lib->delete_item($item_number);
$this->_reload();
}
function remove_customer()
{
$this->sale_lib->remove_customer();
$this->_reload();
}
function complete()
{
$data['cart']=$this->sale_lib->get_cart();
$data['subtotal']=$this->sale_lib->get_subtotal();
$data['taxes']=$this->sale_lib->get_taxes();
$data['total']=$this->sale_lib->get_total();
$data['receipt_title']=$this->lang->line('sales_receipt');
$data['transaction_time']= date('m/d/Y h:i:s a');
$stock_locations = $this->Stock_locations->get_undeleted_all()->result_array();
$data['show_stock_locations'] = count($stock_locations) > 1;
$customer_id=$this->sale_lib->get_customer();
$employee_id=$this->Employee->get_logged_in_employee_info()->person_id;
$comment = $this->sale_lib->get_comment();
$emp_info=$this->Employee->get_info($employee_id);
$data['payments']=$this->sale_lib->get_payments();
$data['amount_change']=to_currency($this->sale_lib->get_amount_due() * -1);
$data['employee']=$emp_info->first_name.' '.$emp_info->last_name;
if($customer_id!=-1)
{
$cust_info=$this->Customer->get_info($customer_id);
$data['customer']=$cust_info->first_name.' '.$cust_info->last_name;
}
//SAVE sale to database
$data['sale_id']='POS '.$this->Sale->save($data['cart'], $customer_id,$employee_id,$comment,$data['payments']);
if ($data['sale_id'] == 'POS -1')
{
$data['error_message'] = $this->lang->line('sales_transaction_failed');
}
else
{
if ($this->sale_lib->get_email_receipt() && !empty($cust_info->email))
{
$this->load->library('email');
$config['mailtype'] = 'html';
$this->email->initialize($config);
$this->email->from($this->config->item('email'), $this->config->item('company'));
$this->email->to($cust_info->email);
$this->email->subject($this->lang->line('sales_receipt'));
$this->email->message($this->load->view("sales/receipt_email",$data, true));
$this->email->send();
}
}
$this->load->view("sales/receipt",$data);
$this->sale_lib->clear_all();
$this->_remove_duplicate_cookies();
}
function receipt($sale_id)
{
$sale_info = $this->Sale->get_info($sale_id)->row_array();
$this->sale_lib->copy_entire_sale($sale_id);
$stock_locations = $this->Stock_locations->get_undeleted_all()->result_array();
$data['show_stock_locations'] = count($stock_locations) > 1;
$data['cart']=$this->sale_lib->get_cart();
$data['payments']=$this->sale_lib->get_payments();
$data['subtotal']=$this->sale_lib->get_subtotal();
$data['taxes']=$this->sale_lib->get_taxes();
$data['total']=$this->sale_lib->get_total();
$data['receipt_title']=$this->lang->line('sales_receipt');
$data['transaction_time']= date('m/d/Y h:i:s a', strtotime($sale_info['sale_time']));
$customer_id=$this->sale_lib->get_customer();
$emp_info=$this->Employee->get_info($sale_info['employee_id']);
$data['payment_type']=$sale_info['payment_type'];
$data['amount_change']=to_currency($this->sale_lib->get_amount_due() * -1);
$data['employee']=$emp_info->first_name.' '.$emp_info->last_name;
if($customer_id!=-1)
{
$cust_info=$this->Customer->get_info($customer_id);
$data['customer']=$cust_info->first_name.' '.$cust_info->last_name;
}
$data['sale_id']='POS '.$sale_id;
$this->load->view("sales/receipt",$data);
$this->sale_lib->clear_all();
$this->_remove_duplicate_cookies();
}
function edit($sale_id)
{
$data = array();
$data['customers'] = array('' => 'No Customer');
foreach ($this->Customer->get_all()->result() as $customer)
{
$data['customers'][$customer->person_id] = $customer->first_name . ' '. $customer->last_name;
}
$data['employees'] = array();
foreach ($this->Employee->get_all()->result() as $employee)
{
$data['employees'][$employee->person_id] = $employee->first_name . ' '. $employee->last_name;
}
$sale_info = $this->Sale->get_info($sale_id)->row_array();
$person_name = $sale_info['first_name'] . " " . $sale_info['last_name'];
$data['selected_customer'] = !empty($sale_info['customer_id']) ? $sale_info['customer_id'] . "|" . $person_name : "";
$data['sale_info'] = $sale_info;
$this->load->view('sales/form', $data);
}
function delete($sale_id = -1, $update_inventory=TRUE) {
$employee_id=$this->Employee->get_logged_in_employee_info()->person_id;
$sale_ids= $sale_id == -1 ? $this->input->post('ids') : array($sale_id);
if($this->Sale->delete_list($sale_ids, $employee_id, $update_inventory))
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('sales_delete_successful').' '.
count($sale_ids).' '.$this->lang->line('sales_one_or_multiple'),'ids'=>$sale_ids));
}
else
{
echo json_encode(array('success'=>false,'message'=>$this->lang->line('sales_delete_unsuccessful')));
}
}
function save($sale_id)
{
$sale_data = array(
'sale_time' => date('Y-m-d', strtotime($this->input->post('date'))),
'customer_id' => $this->input->post('customer_id') ? $this->input->post('customer_id') : null,
'employee_id' => $this->input->post('employee_id'),
'comment' => $this->input->post('comment')
);
if ($this->Sale->update($sale_data, $sale_id))
{
echo json_encode(array(
'success'=>true,
'message'=>$this->lang->line('sales_successfully_updated'),
'id'=>$sale_id)
);
}
else
{
echo json_encode(array(
'success'=>false,
'message'=>$this->lang->line('sales_unsuccessfully_updated'),
'id'=>$sale_id)
);
}
}
function _payments_cover_total()
{
$total_payments = 0;
foreach($this->sale_lib->get_payments() as $payment)
{
$total_payments += $payment['payment_amount'];
}
/* Changed the conditional to account for floating point rounding */
if ( ($this->sale_lib->get_mode() == 'sale') &&
( ( to_currency_no_money( $this->sale_lib->get_total() ) - $total_payments ) > 1e-6 ) )
{
return false;
}
return true;
}
function _reload($data=array())
{
$person_info = $this->Employee->get_logged_in_employee_info();
$data['cart']=$this->sale_lib->get_cart();
$data['modes']=array('sale'=>$this->lang->line('sales_sale'),'return'=>$this->lang->line('sales_return'));
$data['mode']=$this->sale_lib->get_mode();
$data['stock_locations'] = array();
$stock_locations = $this->Stock_locations->get_undeleted_all()->result_array();
$show_stock_locations = count($stock_locations) > 1;
if ($show_stock_locations) {
foreach($stock_locations as $location_data)
{
$data['stock_locations'][$location_data['location_id']] = $location_data['location_name'];
}
$data['stock_location']=$this->sale_lib->get_sale_location();
}
$data['show_stock_locations'] = $show_stock_locations;
$data['subtotal']=$this->sale_lib->get_subtotal();
$data['taxes']=$this->sale_lib->get_taxes();
$data['total']=$this->sale_lib->get_total();
$data['items_module_allowed'] = $this->Employee->has_permission('items', $person_info->person_id);
$data['comment'] = $this->sale_lib->get_comment();
$data['email_receipt'] = $this->sale_lib->get_email_receipt();
$data['payments_total']=$this->sale_lib->get_payments_total();
$data['amount_due']=$this->sale_lib->get_amount_due();
$data['payments']=$this->sale_lib->get_payments();
$data['payment_options']=array(
$this->lang->line('sales_cash') => $this->lang->line('sales_cash'),
$this->lang->line('sales_check') => $this->lang->line('sales_check'),
$this->lang->line('sales_giftcard') => $this->lang->line('sales_giftcard'),
$this->lang->line('sales_debit') => $this->lang->line('sales_debit'),
$this->lang->line('sales_credit') => $this->lang->line('sales_credit')
);
$customer_id=$this->sale_lib->get_customer();
if($customer_id!=-1)
{
$info=$this->Customer->get_info($customer_id);
$data['customer']=$info->first_name.' '.$info->last_name;
$data['customer_email']=$info->email;
}
$data['payments_cover_total'] = $this->_payments_cover_total();
$this->load->view("sales/register",$data);
$this->_remove_duplicate_cookies();
}
function cancel_sale()
{
$this->sale_lib->clear_all();
$this->_reload();
}
function suspend()
{
$data['cart']=$this->sale_lib->get_cart();
$data['subtotal']=$this->sale_lib->get_subtotal();
$data['taxes']=$this->sale_lib->get_taxes();
$data['total']=$this->sale_lib->get_total();
$data['receipt_title']=$this->lang->line('sales_receipt');
$data['transaction_time']= date('m/d/Y h:i:s a');
$customer_id=$this->sale_lib->get_customer();
$employee_id=$this->Employee->get_logged_in_employee_info()->person_id;
$comment = $this->input->post('comment');
$emp_info=$this->Employee->get_info($employee_id);
$payment_type = $this->input->post('payment_type');
$data['payment_type']=$this->input->post('payment_type');
//Alain Multiple payments
$data['payments']=$this->sale_lib->get_payments();
$data['amount_change']=to_currency($this->sale_lib->get_amount_due() * -1);
$data['employee']=$emp_info->first_name.' '.$emp_info->last_name;
if($customer_id!=-1)
{
$cust_info=$this->Customer->get_info($customer_id);
$data['customer']=$cust_info->first_name.' '.$cust_info->last_name;
}
$total_payments = 0;
foreach($data['payments'] as $payment)
{
$total_payments += $payment['payment_amount'];
}
//SAVE sale to database
$data['sale_id']='POS '.$this->Sale_suspended->save($data['cart'], $customer_id,$employee_id,$comment,$data['payments']);
if ($data['sale_id'] == 'POS -1')
{
$data['error_message'] = $this->lang->line('sales_transaction_failed');
}
$this->sale_lib->clear_all();
$this->_reload(array('success' => $this->lang->line('sales_successfully_suspended_sale')));
}
function suspended()
{
$data = array();
$data['suspended_sales'] = $this->Sale_suspended->get_all()->result_array();
$this->load->view('sales/suspended', $data);
}
function unsuspend()
{
$sale_id = $this->input->post('suspended_sale_id');
$this->sale_lib->clear_all();
$this->sale_lib->copy_entire_suspended_sale($sale_id);
$this->Sale_suspended->delete($sale_id);
$this->_reload();
}
}
?>

View File

@@ -1,82 +0,0 @@
<?php
class Secure_area extends CI_Controller
{
/*
Controllers that are considered secure extend Secure_area, optionally a $module_id can
be set to also check if a user can access a particular module in the system.
*/
function __construct($module_id=null)
{
parent::__construct();
$this->load->model('Employee');
if(!$this->Employee->is_logged_in())
{
redirect('login');
}
if(!$this->Employee->has_permission($module_id,$this->Employee->get_logged_in_employee_info()->person_id))
{
redirect('no_access/'.$module_id);
}
//load up global data
$logged_in_employee_info=$this->Employee->get_logged_in_employee_info();
$data['allowed_modules']=$this->Module->get_allowed_modules($logged_in_employee_info->person_id);
$data['user_info']=$logged_in_employee_info;
$this->load->vars($data);
}
function _remove_duplicate_cookies ()
{
//php < 5.3 doesn't have header remove so this function will fatal error otherwise
if (function_exists('header_remove'))
{
$CI = &get_instance();
// clean up all the cookies that are set...
$headers = headers_list();
$cookies_to_output = array ();
$header_session_cookie = '';
$session_cookie_name = $CI->config->item('sess_cookie_name');
foreach ($headers as $header)
{
list ($header_type, $data) = explode (':', $header, 2);
$header_type = trim ($header_type);
$data = trim ($data);
if (strtolower ($header_type) == 'set-cookie')
{
header_remove ('Set-Cookie');
$cookie_value = current(explode (';', $data));
list ($key, $val) = explode ('=', $cookie_value);
$key = trim ($key);
if ($key == $session_cookie_name)
{
// OVERWRITE IT (yes! do it!)
$header_session_cookie = $data;
continue;
}
else
{
// Not a session related cookie, add it as normal. Might be a CSRF or some other cookie we are setting
$cookies_to_output[] = array ('header_type' => $header_type, 'data' => $data);
}
}
}
if ( ! empty ($header_session_cookie))
{
$cookies_to_output[] = array ('header_type' => 'Set-Cookie', 'data' => $header_session_cookie);
}
foreach ($cookies_to_output as $cookie)
{
header ("{$cookie['header_type']}: {$cookie['data']}", false);
}
}
}
}
?>

View File

@@ -1,131 +0,0 @@
<?php
require_once ("person_controller.php");
class Suppliers extends Person_controller
{
function __construct()
{
parent::__construct('suppliers');
}
function index()
{
$config['base_url'] = site_url('/suppliers/index');
$config['total_rows'] = $this->Supplier->count_all();
$config['per_page'] = '20';
$config['uri_segment'] = 3;
$this->pagination->initialize($config);
$data['controller_name']=strtolower(get_class());
$data['form_width']=$this->get_form_width();
$data['manage_table']=get_supplier_manage_table( $this->Supplier->get_all( $config['per_page'], $this->uri->segment( $config['uri_segment'] ) ), $this );
$this->load->view('suppliers/manage',$data);
}
/*
Returns supplier table data rows. This will be called with AJAX.
*/
function search()
{
$search=$this->input->post('search');
$data_rows=get_supplier_manage_table_data_rows($this->Supplier->search($search),$this);
echo $data_rows;
}
/*
Gives search suggestions based on what is being searched for
*/
function suggest()
{
$suggestions = $this->Supplier->get_search_suggestions($this->input->post('q'),$this->input->post('limit'));
echo implode("\n",$suggestions);
}
/*
Loads the supplier edit form
*/
function view($supplier_id=-1)
{
$data['person_info']=$this->Supplier->get_info($supplier_id);
$this->load->view("suppliers/form",$data);
}
/*
Inserts/updates a supplier
*/
function save($supplier_id=-1)
{
$person_data = array(
'first_name'=>$this->input->post('first_name'),
'last_name'=>$this->input->post('last_name'),
'email'=>$this->input->post('email'),
'phone_number'=>$this->input->post('phone_number'),
'address_1'=>$this->input->post('address_1'),
'address_2'=>$this->input->post('address_2'),
'city'=>$this->input->post('city'),
'state'=>$this->input->post('state'),
'zip'=>$this->input->post('zip'),
'country'=>$this->input->post('country'),
'comments'=>$this->input->post('comments')
);
$supplier_data=array(
'company_name'=>$this->input->post('company_name'),
'account_number'=>$this->input->post('account_number')=='' ? null:$this->input->post('account_number'),
);
if($this->Supplier->save($person_data,$supplier_data,$supplier_id))
{
//New supplier
if($supplier_id==-1)
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('suppliers_successful_adding').' '.
$supplier_data['company_name'],'person_id'=>$supplier_data['person_id']));
}
else //previous supplier
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('suppliers_successful_updating').' '.
$supplier_data['company_name'],'person_id'=>$supplier_id));
}
}
else//failure
{
echo json_encode(array('success'=>false,'message'=>$this->lang->line('suppliers_error_adding_updating').' '.
$supplier_data['company_name'],'person_id'=>-1));
}
}
/*
This deletes suppliers from the suppliers table
*/
function delete()
{
$suppliers_to_delete=$this->input->post('ids');
if($this->Supplier->delete_list($suppliers_to_delete))
{
echo json_encode(array('success'=>true,'message'=>$this->lang->line('suppliers_successful_deleted').' '.
count($suppliers_to_delete).' '.$this->lang->line('suppliers_one_or_multiple')));
}
else
{
echo json_encode(array('success'=>false,'message'=>$this->lang->line('suppliers_cannot_be_deleted')));
}
}
/*
Gets one row for a supplier manage table. This is called using AJAX to update one row.
*/
function get_row()
{
$person_id = $this->input->post('row_id');
$data_row=get_supplier_data_row($this->Supplier->get_info($person_id),$this);
echo $data_row;
}
/*
get the width for the add/edit form
*/
function get_form_width()
{
return 360;
}
}
?>

View File

@@ -0,0 +1,96 @@
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class MY_Lang extends CI_Lang
{
public function switch_to($idiom)
{
$CI =& get_instance();
if(is_string($idiom))
{
$CI->config->set_item('language', $idiom);
$loaded = $this->is_loaded;
$this->is_loaded = array();
foreach($loaded as $file)
{
$filename = strtr($file, '', '_lang.php');
$this->load($filename, 'english');
$array = $this->load($filename, $idiom, TRUE);
foreach($array as $lang_key => $lang_value) {
if ($lang_value != '') {
$this->language[$lang_key] = $lang_value;
}
}
}
}
}
/**
* Fetch a single line of text from the language array. Takes variable number
* of arguments and supports wildcards in the form of '%1', '%2', etc.
* Overloaded function.
*
* @access public
* @return mixed false if not found or the language string
*/
public function line($line = '', $log_errors = TRUE)
{
//get the arguments passed to the function
$args = func_get_args();
//count the number of arguments
$c = count($args);
//if one or more arguments, perform the necessary processing
if($c)
{
//first argument should be the actual language line key
//so remove it from the array (pop from front)
$line = array_shift($args);
//check to make sure the key is valid and load the line
if($line == '')
{
$line = FALSE;
}
else
{
if(isset($this->language[$line]) && $this->language[$line] != '')
{
$line = $this->language[$line];
//if the line exists and more function arguments remain
//perform wildcard replacements
if($args)
{
$i = 1;
foreach($args as $arg)
{
$line = preg_replace('/\%'.$i.'/', $arg, $line);
++$i;
}
}
}
else
{
// just return label name (with TBD)
$line = $this->line_tbd($line);
log_message('error', 'Could not find the language line "'.$line.'"');
}
}
}
else
{
//if no arguments given, no language line available
$line = FALSE;
}
return $line;
}
public function line_tbd($line = '')
{
return $line . ' (TBD)';
}
}
?>

View 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;
}
}

View File

@@ -1,3 +1,4 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
@@ -7,4 +8,4 @@
<p>Directory access is forbidden.</p>
</body>
</html>
</html>

View File

@@ -1,10 +0,0 @@
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<h4>A PHP Error was encountered</h4>
<p>Severity: <?php echo $severity; ?></p>
<p>Message: <?php echo $message; ?></p>
<p>Filename: <?php echo $filepath; ?></p>
<p>Line Number: <?php echo $line; ?></p>
</div>

View File

@@ -1,28 +0,0 @@
<?php
/** GARRISON MODIFIED 4/20/2013 **/
function to_currency($number)
{
$CI =& get_instance();
$currency_symbol = $CI->config->item('currency_symbol') ? $CI->config->item('currency_symbol') : '$';
if($number >= 0)
{
if($CI->config->item('currency_side') !== 'currency_side')
return $currency_symbol.number_format($number, 2, '.', '');
else
return number_format($number, 2, '.', '').$currency_symbol;
}
else
{
if($CI->config->item('currency_side') !== 'currency_side')
return '-'.$currency_symbol.number_format(abs($number), 2, '.', '');
else
return '-'.number_format(abs($number), 2, '.', '').$currency_symbol;
}
}
/** END MODIFIED **/
function to_currency_no_money($number)
{
return number_format($number, 2, '.', '');
}
?>

View File

@@ -0,0 +1,23 @@
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
* PDF helper
*/
function create_pdf($html, $filename = '')
{
// need to enable magic quotes for the
$dompdf = new Dompdf\Dompdf(array("isRemoteEnabled" => TRUE, "isPhpEnabled" => TRUE));
$dompdf->loadHtml(str_replace(array("\n", "\r"), '', $html));
$dompdf->render();
if($filename != '')
{
$dompdf->stream($filename . '.pdf');
}
else
{
return $dompdf->output();
}
}
?>

View File

@@ -0,0 +1,93 @@
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
function generate_import_items_csv($stock_locations,$attributes)
{
$csv_headers = pack('CCC',0xef,0xbb,0xbf); //Encode the Byte-Order Mark (BOM) so that UTF-8 File headers display properly in Microsoft Excel
$csv_headers .= 'Id,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",Image,HSN';
$csv_headers .= generate_stock_location_headers($stock_locations);
$csv_headers .= generate_attribute_headers($attributes);
return $csv_headers;
}
function generate_stock_location_headers($locations)
{
$location_headers = '';
foreach($locations as $location_name)
{
$location_headers .= ',"location_' . $location_name . '"';
}
return $location_headers;
}
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;
}
function get_csv_file($file_name)
{
//TODO: current implementation reads the entire file in. This is memory intensive for large files.
//We may want to rework the CSV import feature to read the file in chunks, process it and continue.
//It must be done in a way that does not significantly negatively affect performance.
ini_set('auto_detect_line_endings', true);
$csv_rows = FALSE;
if(($csv_file = fopen($file_name,'r')) !== FALSE)
{
$CI =& get_instance();
$CI->load->helper('security');
$csv_rows = [];
//Skip Byte-Order Mark
if(bom_exists($csv_file) === TRUE)
{
fseek($csv_file, 3);
}
$headers = fgetcsv($csv_file);
while(($row = fgetcsv($csv_file)) !== FALSE)
{
//Skip empty lines
if($row !== array(null))
{
$csv_rows[] = array_combine($headers, $CI->security->xss_clean($row));
}
}
fclose($csv_file);
}
return $csv_rows;
}
function bom_exists(&$file_handle)
{
$result = FALSE;
$candidate = fread($file_handle, 3);
rewind($file_handle);
$bom = pack('CCC', 0xef, 0xbb, 0xbf);
if (0 === strncmp($candidate, $bom, 3))
{
$result = TRUE;
}
return $result;
}
?>

View File

@@ -1,3 +1,4 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
@@ -7,4 +8,4 @@
<p>Directory access is forbidden.</p>
</body>
</html>
</html>

View File

@@ -0,0 +1,611 @@
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
const DEFAULT_LANGUAGE = 'english';
const DEFAULT_LANGUAGE_CODE = 'en-US';
define('NOW', time());
define('MAX_PRECISION', 1e14);
define('DEFAULT_PRECISION', 2);
define('DEFAULT_DATE', mktime(0, 0, 0, 1, 1, 2010));
define('DEFAULT_DATETIME', mktime(0, 0, 0, 1, 1, 2010));
/**
* Currency locale helper
*/
function current_language_code($load_system_language = FALSE)
{
$employee = get_instance()->Employee;
// Returns the language code of the employee if set or system language code if not
if($employee->is_logged_in() && $load_system_language != TRUE)
{
$employee_info = $employee->get_logged_in_employee_info();
if(property_exists($employee_info, 'language_code') && !empty($employee_info->language_code))
{
return $employee_info->language_code;
}
}
$language_code = get_instance()->config->item('language_code');
return empty($language_code) ? DEFAULT_LANGUAGE_CODE : $language_code;
}
function current_language($load_system_language = FALSE)
{
$employee = get_instance()->Employee;
// Returns the language of the employee if set or system language if not
if($employee->is_logged_in() && $load_system_language != TRUE)
{
$employee_info = $employee->get_logged_in_employee_info();
if(property_exists($employee_info, 'language') && !empty($employee_info->language))
{
return $employee_info->language;
}
}
$language = get_instance()->config->item('language');
return empty($language) ? DEFAULT_LANGUAGE : $language;
}
function get_languages()
{
return array(
'ar-EG:arabic' => 'Arabic (Egypt)',
'ar-LB:arabic' => 'Arabic (Lebanon)',
'az-AZ:azerbaijani' => 'Azerbaijani (Azerbaijan)',
'bg:bulgarian' => 'Bulgarian',
'bs-BA:bosnian' => 'Bosnian',
'cs:czech' => 'Czech',
'da:danish' => 'Danish',
'de:german' => 'German (Germany)',
'de-CH:german' => 'German (Swiss)',
'el:greek' => 'Greek',
'en-GB:english' => 'English (Great Britain)',
'en-US:english' => 'English (United States)',
'es:spanish' => 'Spanish',
'es-MX:spanish' => 'Spanish (Mexico)',
'fr:french' => 'French',
'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' => 'Portuguese (Brazil)',
'ro:romanian' => 'Romanian',
'ru:russian' => 'Russian',
'sv:swedish' => 'Swedish',
'ta:tamil' => 'Tamil',
'th:thai' => 'Thai',
'tl-PH:talong' => 'Tagalog (Philippines)',
'tr:turkish' => 'Turkish',
'uk-UA:ukrainian' => 'Ukrainian',
'ur-PK:urdu' => 'Urdu (Islamic Republic of Pakistan)',
'vi:vietnamese' => 'Vietnamese',
'zh-Hans:simplified-chinese' => 'Chinese Simplified Script',
'zh-Hant:traditional-chinese' => 'Chinese Traditional Script'
);
}
function load_language($load_system_language = FALSE, array $lang_array)
{
$lang = get_instance()->lang;
if($load_system_language = TRUE)
{
foreach($lang_array as $language_file)
{
$lang->load($language_file, current_language_code(TRUE));
}
}
else
{
foreach($lang_array as $language_file)
{
$lang->load($language_file, current_language_code());
}
}
}
function get_timezones()
{
return array(
'Pacific/Midway' => '(GMT-11:00) Midway Island, Samoa',
'America/Adak' => '(GMT-10:00) Hawaii-Aleutian',
'Etc/GMT+10' => '(GMT-10:00) Hawaii',
'Pacific/Marquesas' => '(GMT-09:30) Marquesas Islands',
'Pacific/Gambier' => '(GMT-09:00) Gambier Islands',
'America/Anchorage' => '(GMT-09:00) Alaska',
'America/Ensenada' => '(GMT-08:00) Tijuana, Baja California',
'Etc/GMT+8' => '(GMT-08:00) Pitcairn Islands',
'America/Los_Angeles' => '(GMT-08:00) Pacific Time (US & Canada)',
'America/Denver' => '(GMT-07:00) Mountain Time (US & Canada)',
'America/Chihuahua' => '(GMT-07:00) Chihuahua, La Paz, Mazatlan',
'America/Dawson_Creek' => '(GMT-07:00) Arizona',
'America/Belize' => '(GMT-06:00) Saskatchewan, Central America',
'America/Mexico_City' => '(GMT-06:00) Guadalajara, Mexico City, Monterrey',
'Chile/EasterIsland' => '(GMT-06:00) Easter Island',
'America/Chicago' => '(GMT-06:00) Central Time (US & Canada)',
'America/New_York' => '(GMT-05:00) Eastern Time (US & Canada)',
'America/Cancun' => '(GMT-05:00) Cancun',
'America/Havana' => '(GMT-05:00) Cuba',
'America/Bogota' => '(GMT-05:00) Bogota, Lima, Quito, Rio Branco',
'America/Caracas' => '(GMT-04:30) Caracas',
'America/Santiago' => '(GMT-04:00) Santiago',
'America/La_Paz' => '(GMT-04:00) La Paz',
'Atlantic/Stanley' => '(GMT-04:00) Falkland Islands',
'America/Campo_Grande' => '(GMT-04:00) Brazil',
'America/Goose_Bay' => '(GMT-04:00) Atlantic Time (Goose Bay)',
'America/Glace_Bay' => '(GMT-04:00) Atlantic Time (Canada)',
'America/St_Johns' => '(GMT-03:30) Newfoundland',
'America/Araguaina' => '(GMT-03:00) UTC-3',
'America/Montevideo' => '(GMT-03:00) Montevideo',
'America/Miquelon' => '(GMT-03:00) Miquelon, St. Pierre',
'America/Godthab' => '(GMT-03:00) Greenland',
'America/Argentina/Buenos_Aires' => '(GMT-03:00) Buenos Aires',
'America/Sao_Paulo' => '(GMT-03:00) Brasilia',
'America/Noronha' => '(GMT-02:00) Mid-Atlantic',
'Atlantic/Cape_Verde' => '(GMT-01:00) Cape Verde Is.',
'Atlantic/Azores' => '(GMT-01:00) Azores',
'Europe/Belfast' => '(GMT) Greenwich Mean Time : Belfast',
'Europe/Dublin' => '(GMT) Greenwich Mean Time : Dublin',
'Europe/Lisbon' => '(GMT) Greenwich Mean Time : Lisbon',
'Europe/London' => '(GMT) Greenwich Mean Time : London',
'Africa/Abidjan' => '(GMT) Monrovia, Reykjavik',
'Europe/Amsterdam' => '(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna',
'Europe/Belgrade' => '(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague',
'Europe/Brussels' => '(GMT+01:00) Brussels, Copenhagen, Madrid, Paris',
'Africa/Algiers' => '(GMT+01:00) West Central Africa',
'Africa/Windhoek' => '(GMT+01:00) Windhoek',
'Asia/Beirut' => '(GMT+02:00) Beirut',
'Africa/Cairo' => '(GMT+02:00) Cairo',
'Asia/Gaza' => '(GMT+02:00) Gaza',
'Africa/Blantyre' => '(GMT+02:00) Harare, Pretoria',
'Asia/Jerusalem' => '(GMT+02:00) Jerusalem',
'Europe/Minsk' => '(GMT+02:00) Minsk',
'Asia/Damascus' => '(GMT+02:00) Syria',
'Europe/Moscow' => '(GMT+03:00) Moscow, St. Petersburg, Volgograd',
'Africa/Addis_Ababa' => '(GMT+03:00) Nairobi',
'Asia/Tehran' => '(GMT+03:30) Tehran',
'Asia/Dubai' => '(GMT+04:00) Abu Dhabi, Muscat',
'Asia/Yerevan' => '(GMT+04:00) Yerevan',
'Asia/Kabul' => '(GMT+04:30) Kabul',
'Asia/Baku' => '(GMT+04:00) Baku',
'Asia/Yekaterinburg' => '(GMT+05:00) Ekaterinburg',
'Asia/Tashkent' => '(GMT+05:00) Tashkent',
'Asia/Kolkata' => '(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi',
'Asia/Katmandu' => '(GMT+05:45) Kathmandu',
'Asia/Dhaka' => '(GMT+06:00) Astana, Dhaka',
'Asia/Novosibirsk' => '(GMT+06:00) Novosibirsk',
'Asia/Rangoon' => '(GMT+06:30) Yangon (Rangoon)',
'Asia/Bangkok' => '(GMT+07:00) Bangkok, Hanoi, Jakarta',
'Asia/Krasnoyarsk' => '(GMT+07:00) Krasnoyarsk',
'Asia/Hong_Kong' => '(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi',
'Asia/Irkutsk' => '(GMT+08:00) Irkutsk, Ulaan Bataar',
'Australia/Perth' => '(GMT+08:00) Perth',
'Australia/Eucla' => '(GMT+08:45) Eucla',
'Asia/Tokyo' => '(GMT+09:00) Osaka, Sapporo, Tokyo',
'Asia/Seoul' => '(GMT+09:00) Seoul',
'Asia/Yakutsk' => '(GMT+09:00) Yakutsk',
'Australia/Adelaide' => '(GMT+09:30) Adelaide',
'Australia/Darwin' => '(GMT+09:30) Darwin',
'Australia/Brisbane' => '(GMT+10:00) Brisbane',
'Australia/Hobart' => '(GMT+10:00) Hobart',
'Asia/Vladivostok' => '(GMT+10:00) Vladivostok',
'Australia/Lord_Howe' => '(GMT+10:30) Lord Howe Island',
'Etc/GMT-11' => '(GMT+11:00) Solomon Is., New Caledonia',
'Asia/Magadan' => '(GMT+11:00) Magadan',
'Pacific/Norfolk' => '(GMT+11:30) Norfolk Island',
'Asia/Anadyr' => '(GMT+12:00) Anadyr, Kamchatka',
'Pacific/Auckland' => '(GMT+12:00) Auckland, Wellington',
'Etc/GMT-12' => '(GMT+12:00) Fiji, Kamchatka, Marshall Is.',
'Pacific/Chatham' => '(GMT+12:45) Chatham Islands',
'Pacific/Tongatapu' => '(GMT+13:00) Nuku\'alofa',
'Pacific/Kiritimati' => '(GMT+14:00) Kiritimati'
);
}
function get_dateformats()
{
return array(
'd/m/Y' => 'dd/mm/yyyy',
'd.m.Y' => 'dd.mm.yyyy',
'm/d/Y' => 'mm/dd/yyyy',
'Y/m/d' => 'yyyy/mm/dd',
'd/m/y' => 'dd/mm/yy',
'm/d/y' => 'mm/dd/yy',
'y/m/d' => 'yy/mm/dd'
);
}
function get_timeformats()
{
return array(
'H:i:s' => 'hh:mm:ss (24h)',
'h:i:s a' => 'hh:mm:ss am/pm',
'h:i:s A' => 'hh:mm:ss AM/PM'
);
}
/*
Gets the payment options
*/
function get_payment_options()
{
$config = get_instance()->config;
$lang = get_instance()->lang;
$payments = [];
if($config->item('payment_options_order') == 'debitcreditcash')
{
$payments[$lang->line('sales_debit')] = $lang->line('sales_debit');
$payments[$lang->line('sales_credit')] = $lang->line('sales_credit');
$payments[$lang->line('sales_cash')] = $lang->line('sales_cash');
}
elseif($config->item('payment_options_order') == 'debitcashcredit')
{
$payments[$lang->line('sales_debit')] = $lang->line('sales_debit');
$payments[$lang->line('sales_cash')] = $lang->line('sales_cash');
$payments[$lang->line('sales_credit')] = $lang->line('sales_credit');
}
elseif($config->item('payment_options_order') == 'creditdebitcash')
{
$payments[$lang->line('sales_credit')] = $lang->line('sales_credit');
$payments[$lang->line('sales_debit')] = $lang->line('sales_debit');
$payments[$lang->line('sales_cash')] = $lang->line('sales_cash');
}
elseif($config->item('payment_options_order') == 'creditcashdebit')
{
$payments[$lang->line('sales_credit')] = $lang->line('sales_credit');
$payments[$lang->line('sales_cash')] = $lang->line('sales_cash');
$payments[$lang->line('sales_debit')] = $lang->line('sales_debit');
}
else // default: if($config->item('payment_options_order') == 'cashdebitcredit')
{
$payments[$lang->line('sales_cash')] = $lang->line('sales_cash');
$payments[$lang->line('sales_debit')] = $lang->line('sales_debit');
$payments[$lang->line('sales_credit')] = $lang->line('sales_credit');
}
$payments[$lang->line('sales_due')] = $lang->line('sales_due');
$payments[$lang->line('sales_check')] = $lang->line('sales_check');
// If India (list of country codes include India) then include Unified Payment Interface
if (stripos(get_instance()->config->item('country_codes'), 'IN') !== false)
{
$payments[$lang->line('sales_upi')] = $lang->line('sales_upi');
}
return $payments;
}
function currency_side()
{
$config = get_instance()->config;
$fmt = new \NumberFormatter($config->item('number_locale'), \NumberFormatter::CURRENCY);
$fmt->setSymbol(\NumberFormatter::CURRENCY_SYMBOL, $config->item('currency_symbol'));
return !preg_match('/^¤/', $fmt->getPattern());
}
function quantity_decimals()
{
$config = get_instance()->config;
return $config->item('quantity_decimals') ? $config->item('quantity_decimals') : 0;
}
function totals_decimals()
{
$config = get_instance()->config;
return $config->item('currency_decimals') ? $config->item('currency_decimals') : 0;
}
function cash_decimals()
{
$config = get_instance()->config;
return $config->item('cash_decimals') ? $config->item('cash_decimals') : 0;
}
function tax_decimals()
{
$config = get_instance()->config;
return $config->item('tax_decimals') ? $config->item('tax_decimals') : 0;
}
function to_date($date = DEFAULT_DATE)
{
$config = get_instance()->config;
return date($config->item('dateformat'), $date);
}
function to_datetime($datetime = DEFAULT_DATETIME)
{
$config = get_instance()->config;
return date($config->item('dateformat') . ' ' . $config->item('timeformat'), $datetime);
}
function to_currency($number)
{
return to_decimals($number, 'currency_decimals', \NumberFormatter::CURRENCY);
}
function to_currency_no_money($number)
{
return to_decimals($number, 'currency_decimals');
}
function to_currency_tax($number)
{
$config = get_instance()->config;
if($config->item('tax_included') == '1')
{
return to_decimals($number, 'tax_decimals', \NumberFormatter::CURRENCY);
}
else
{
return to_decimals($number, 'currency_decimals', \NumberFormatter::CURRENCY);
}
}
function to_tax_decimals($number)
{
// taxes that are NULL, '' or 0 don't need to be displayed
// NOTE: do not remove this line otherwise the items edit form will show a tax with 0 and it will save it
if(empty($number))
{
return $number;
}
return to_decimals($number, 'tax_decimals');
}
function to_quantity_decimals($number)
{
return to_decimals($number, 'quantity_decimals');
}
function to_decimals($number, $decimals = NULL, $type=\NumberFormatter::DECIMAL)
{
// ignore empty strings and return
// NOTE: do not change it to empty otherwise tables will show a 0 with no decimal nor currency symbol
if(!isset($number))
{
return $number;
}
$config = get_instance()->config;
$fmt = new \NumberFormatter($config->item('number_locale'), $type);
$fmt->setAttribute(\NumberFormatter::MIN_FRACTION_DIGITS, empty($decimals) ? DEFAULT_PRECISION : $config->item($decimals));
$fmt->setAttribute(\NumberFormatter::MAX_FRACTION_DIGITS, empty($decimals) ? DEFAULT_PRECISION : $config->item($decimals));
if(empty($config->item('thousands_separator')))
{
$fmt->setAttribute(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL, '');
}
$fmt->setSymbol(\NumberFormatter::CURRENCY_SYMBOL, $config->item('currency_symbol'));
return $fmt->format($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);
if(empty($config->item('thousands_separator')))
{
$fmt->setAttribute(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL, '');
}
try
{
return $fmt->parse($number);
}
catch(Exception $e)
{
return FALSE;
}
}
/*
* Time locale conversion utility
*/
function dateformat_momentjs($php_format)
{
$SYMBOLS_MATCHING = array(
'd' => 'DD',
'D' => 'ddd',
'j' => 'D',
'l' => 'dddd',
'N' => 'E',
'S' => 'o',
'w' => 'e',
'z' => 'DDD',
'W' => 'W',
'F' => 'MMMM',
'm' => 'MM',
'M' => 'MMM',
'n' => 'M',
't' => '', // no equivalent
'L' => '', // no equivalent
'o' => 'YYYY',
'Y' => 'YYYY',
'y' => 'YY',
'a' => 'a',
'A' => 'A',
'B' => '', // no equivalent
'g' => 'h',
'G' => 'H',
'h' => 'hh',
'H' => 'HH',
'i' => 'mm',
's' => 'ss',
'u' => 'SSS',
'e' => 'zz', // deprecated since version $1.6.0 of moment.js
'I' => '', // no equivalent
'O' => '', // no equivalent
'P' => '', // no equivalent
'T' => '', // no equivalent
'Z' => '', // no equivalent
'c' => '', // no equivalent
'r' => '', // no equivalent
'U' => 'X'
);
return strtr($php_format, $SYMBOLS_MATCHING);
}
function dateformat_mysql()
{
$config = get_instance()->config;
$php_format = $config->item('dateformat');
$SYMBOLS_MATCHING = array(
// Day
'd' => '%d',
'D' => '%a',
'j' => '%e',
'l' => '%W',
'N' => '',
'S' => '',
'w' => '',
'z' => '',
// Week
'W' => '',
// Month
'F' => '',
'm' => '%m',
'M' => '%b',
'n' => '%c',
't' => '',
// Year
'L' => '',
'o' => '',
'Y' => '%Y',
'y' => '%y',
// Time
'a' => '',
'A' => '%p',
'B' => '',
'g' => '%l',
'G' => '%k',
'h' => '%H',
'H' => '%k',
'i' => '%i',
's' => '%S',
'u' => '%f'
);
return strtr($php_format, $SYMBOLS_MATCHING);
}
function dateformat_bootstrap($php_format)
{
$SYMBOLS_MATCHING = array(
// Day
'd' => 'dd',
'D' => 'd',
'j' => 'd',
'l' => 'dd',
'N' => '',
'S' => '',
'w' => '',
'z' => '',
// Week
'W' => '',
// Month
'F' => 'MM',
'm' => 'mm',
'M' => 'M',
'n' => 'm',
't' => '',
// Year
'L' => '',
'o' => '',
'Y' => 'yyyy',
'y' => 'yy',
// Time
'a' => 'p',
'A' => 'P',
'B' => '',
'g' => 'H',
'G' => 'h',
'h' => 'HH',
'H' => 'hh',
'i' => 'ii',
's' => 'ss',
'u' => ''
);
return strtr($php_format, $SYMBOLS_MATCHING);
}
function valid_date($date)
{
$config = get_instance()->Appconfig;
return (DateTime::createFromFormat($config->get('dateformat'), $date));
}
function valid_decimal($decimal)
{
return (preg_match('/^(\d*\.)?\d+$/', $decimal) === 1);
}
?>

View File

@@ -0,0 +1,40 @@
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
* Migration helper
*/
function execute_script($path)
{
$CI =& get_instance();
$version = preg_replace("/(.*_)?(.*).sql/", "$2", $path);
error_log("Migrating to $version (file: $path)");
$sql = file_get_contents($path);
/*
CI migration only allows you to run one statement at a time.
This small script splits the statements allowing you to run them all in one go.
*/
$sqls = explode(';', $sql);
array_pop($sqls);
foreach($sqls as $statement)
{
$statement = $statement . ';';
if(!$CI->db->simple_query($statement))
{
foreach($CI->db->error() as $error)
{
error_log('error: ' . $error);
}
}
}
error_log("Migrated to $version");
}
?>

View File

@@ -1,87 +1,33 @@
<?php
function get_simple_date_ranges()
{
$CI =& get_instance();
$CI->load->language('reports');
$today = date('Y-m-d');
$yesterday = date('Y-m-d', mktime(0,0,0,date("m"),date("d")-1,date("Y")));
$six_days_ago = date('Y-m-d', mktime(0,0,0,date("m"),date("d")-6,date("Y")));
$start_of_this_month = date('Y-m-d', mktime(0,0,0,date("m"),1,date("Y")));
$end_of_this_month = date('Y-m-d',strtotime('-1 second',strtotime('+1 month',strtotime(date('m').'/01/'.date('Y').' 00:00:00'))));
$start_of_last_month = date('Y-m-d', mktime(0,0,0,date("m")-1,1,date("Y")));
$end_of_last_month = date('Y-m-d',strtotime('-1 second',strtotime('+1 month',strtotime((date('m') - 1).'/01/'.date('Y').' 00:00:00'))));
$start_of_this_year = date('Y-m-d', mktime(0,0,0,1,1,date("Y")));
$end_of_this_year = date('Y-m-d', mktime(0,0,0,12,31,date("Y")));
$start_of_last_year = date('Y-m-d', mktime(0,0,0,1,1,date("Y")-1));
$end_of_last_year = date('Y-m-d', mktime(0,0,0,12,31,date("Y")-1));
$start_of_time = date('Y-m-d', 0);
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
return array(
$today. '/' . $today => $CI->lang->line('reports_today'),
$yesterday. '/' . $yesterday => $CI->lang->line('reports_yesterday'),
$six_days_ago. '/' . $today => $CI->lang->line('reports_last_7'),
$start_of_this_month . '/' . $end_of_this_month => $CI->lang->line('reports_this_month'),
$start_of_last_month . '/' . $end_of_last_month => $CI->lang->line('reports_last_month'),
$start_of_this_year . '/' . $end_of_this_year => $CI->lang->line('reports_this_year'),
$start_of_last_year . '/' . $end_of_last_year => $CI->lang->line('reports_last_year'),
$start_of_time . '/' . $today => $CI->lang->line('reports_all_time'),
);
}
/**
* Report helper
*/
function get_months()
function show_report_if_allowed($report_prefix, $report_name, $person_id, $permission_id = '')
{
$months = array();
for($k=1;$k<=12;$k++)
$CI =& get_instance();
$permission_id = empty($permission_id) ? 'reports_' . $report_name : $permission_id;
if($CI->Employee->has_grant($permission_id, $person_id))
{
$cur_month = mktime(0, 0, 0, $k, 1, 2000);
$months[date("m", $cur_month)] = date("M",$cur_month);
show_report($report_prefix, $report_name, $permission_id);
}
return $months;
}
function get_days()
function show_report($report_prefix, $report_name, $lang_key='')
{
$days = array();
for($k=1;$k<=31;$k++)
$CI =& get_instance();
$lang_key = empty($lang_key) ? $report_name : $lang_key;
$report_label = $CI->lang->line($lang_key);
$report_prefix = empty($report_prefix) ? '' : $report_prefix . '_';
// no summary nor detailed reports for receivings
if(!empty($report_label) && $report_label != $lang_key . ' (TBD)')
{
$cur_day = mktime(0, 0, 0, 1, $k, 2000);
$days[date('d',$cur_day)] = date('j',$cur_day);
?>
<a class="list-group-item" href="<?php echo site_url('reports/' . $report_prefix . preg_replace('/reports_(.*)/', '$1', $report_name));?>"><?php echo $report_label; ?></a>
<?php
}
return $days;
}
function get_years()
{
$years = array();
for($k=0;$k<10;$k++)
{
$years[date("Y")-$k] = date("Y")-$k;
}
return $years;
}
function get_random_colors($how_many)
{
$colors = array();
for($k=0;$k<$how_many;$k++)
{
$colors[] = '#'.random_color();
}
return $colors;
}
function random_color()
{
mt_srand((double)microtime()*1000000);
$c = '';
while(strlen($c)<6){
$c .= sprintf("%02X", mt_rand(0, 255));
}
return $c;
}
?>

View File

@@ -1,375 +0,0 @@
<?php
/*
Gets the html table to manage people.
*/
function get_people_manage_table($people,$controller)
{
$CI =& get_instance();
$table='<table class="tablesorter" id="sortable_table">';
$headers = array('<input type="checkbox" id="select_all" />',
$CI->lang->line('common_last_name'),
$CI->lang->line('common_first_name'),
$CI->lang->line('common_email'),
$CI->lang->line('common_phone_number'),
'&nbsp');
$table.='<thead><tr>';
foreach($headers as $header)
{
$table.="<th>$header</th>";
}
$table.='</tr></thead><tbody>';
$table.=get_people_manage_table_data_rows($people,$controller);
$table.='</tbody></table>';
return $table;
}
/*
Gets the html data rows for the people.
*/
function get_people_manage_table_data_rows($people,$controller)
{
$CI =& get_instance();
$table_data_rows='';
foreach($people->result() as $person)
{
$table_data_rows.=get_person_data_row($person,$controller);
}
if($people->num_rows()==0)
{
$table_data_rows.="<tr><td colspan='6'><div class='warning_message' style='padding:7px;'>".$CI->lang->line('common_no_persons_to_display')."</div></td></tr>";
}
return $table_data_rows;
}
function get_person_data_row($person,$controller)
{
$CI =& get_instance();
$controller_name=strtolower(get_class($CI));
$width = $controller->get_form_width();
$table_data_row='<tr>';
$table_data_row.="<td width='5%'><input type='checkbox' id='person_$person->person_id' value='".$person->person_id."'/></td>";
$table_data_row.='<td width="20%">'.character_limiter($person->last_name,13).'</td>';
$table_data_row.='<td width="20%">'.character_limiter($person->first_name,13).'</td>';
$table_data_row.='<td width="30%">'.mailto($person->email,character_limiter($person->email,22)).'</td>';
$table_data_row.='<td width="20%">'.character_limiter($person->phone_number,13).'</td>';
$table_data_row.='<td width="5%">'.anchor($controller_name."/view/$person->person_id/width:$width", $CI->lang->line('common_edit'),array('class'=>'thickbox','title'=>$CI->lang->line($controller_name.'_update'))).'</td>';
$table_data_row.='</tr>';
return $table_data_row;
}
function get_detailed_sales_data_row($sale, $controller)
{
$table_data_row='<tr>';
$table_data_row.='<td><a href="#" class="expand">+</a></td>';
foreach($sale as $cell)
{
$table_data_row.='<td>';
$table_data_row.=$cell;
$table_data_row.='</td>';
}
$table_data_row.='</tr>';
return $table_data_row;
}
/*
Gets the html table to manage suppliers.
*/
function get_supplier_manage_table($suppliers,$controller)
{
$CI =& get_instance();
$table='<table class="tablesorter" id="sortable_table">';
$headers = array('<input type="checkbox" id="select_all" />',
$CI->lang->line('suppliers_company_name'),
$CI->lang->line('common_last_name'),
$CI->lang->line('common_first_name'),
$CI->lang->line('common_email'),
$CI->lang->line('common_phone_number'),
'&nbsp');
$table.='<thead><tr>';
foreach($headers as $header)
{
$table.="<th>$header</th>";
}
$table.='</tr></thead><tbody>';
$table.=get_supplier_manage_table_data_rows($suppliers,$controller);
$table.='</tbody></table>';
return $table;
}
/*
Gets the html data rows for the supplier.
*/
function get_supplier_manage_table_data_rows($suppliers,$controller)
{
$CI =& get_instance();
$table_data_rows='';
foreach($suppliers->result() as $supplier)
{
$table_data_rows.=get_supplier_data_row($supplier,$controller);
}
if($suppliers->num_rows()==0)
{
$table_data_rows.="<tr><td colspan='7'><div class='warning_message' style='padding:7px;'>".$CI->lang->line('common_no_persons_to_display')."</div></tr></tr>";
}
return $table_data_rows;
}
function get_supplier_data_row($supplier,$controller)
{
$CI =& get_instance();
$controller_name=strtolower(get_class($CI));
$width = $controller->get_form_width();
$table_data_row='<tr>';
$table_data_row.="<td width='5%'><input type='checkbox' id='person_$supplier->person_id' value='".$supplier->person_id."'/></td>";
$table_data_row.='<td width="17%">'.character_limiter($supplier->company_name,13).'</td>';
$table_data_row.='<td width="17%">'.character_limiter($supplier->last_name,13).'</td>';
$table_data_row.='<td width="17%">'.character_limiter($supplier->first_name,13).'</td>';
$table_data_row.='<td width="22%">'.mailto($supplier->email,character_limiter($supplier->email,22)).'</td>';
$table_data_row.='<td width="17%">'.character_limiter($supplier->phone_number,13).'</td>';
$table_data_row.='<td width="5%">'.anchor($controller_name."/view/$supplier->person_id/width:$width", $CI->lang->line('common_edit'),array('class'=>'thickbox','title'=>$CI->lang->line($controller_name.'_update'))).'</td>';
$table_data_row.='</tr>';
return $table_data_row;
}
/*
Gets the html table to manage items.
*/
function get_items_manage_table($items,$controller)
{
$CI =& get_instance();
$table='<table class="tablesorter" id="sortable_table">';
$headers = array('<input type="checkbox" id="select_all" />',
$CI->lang->line('items_item_number'),
$CI->lang->line('items_name'),
$CI->lang->line('items_category'),
$CI->lang->line('items_cost_price'),
$CI->lang->line('items_unit_price'),
$CI->lang->line('items_quantity'),
$CI->lang->line('items_tax_percents'),
'&nbsp;',
$CI->lang->line('items_inventory')
);
$table.='<thead><tr>';
foreach($headers as $header)
{
$table.="<th>$header</th>";
}
$table.='</tr></thead><tbody>';
$table.=get_items_manage_table_data_rows($items,$controller);
$table.='</tbody></table>';
return $table;
}
/*
Gets the html data rows for the items.
*/
function get_items_manage_table_data_rows($items,$controller)
{
$CI =& get_instance();
$table_data_rows='';
foreach($items->result() as $item)
{
$table_data_rows.=get_item_data_row($item,$controller);
}
if($items->num_rows()==0)
{
$table_data_rows.="<tr><td colspan='11'><div class='warning_message' style='padding:7px;'>".$CI->lang->line('items_no_items_to_display')."</div></tr></tr>";
}
return $table_data_rows;
}
function get_item_data_row($item,$controller)
{
$CI =& get_instance();
$item_tax_info=$CI->Item_taxes->get_info($item->item_id);
$tax_percents = '';
foreach($item_tax_info as $tax_info)
{
$tax_percents.=$tax_info['percent']. '%, ';
}
$tax_percents=substr($tax_percents, 0, -2);
$controller_name=strtolower(get_class($CI));
$width = $controller->get_form_width();
$item_quantity='';
$locations_data = $CI->Stock_locations->get_undeleted_all()->result_array();
foreach($locations_data as $location)
{
if (count($locations_data) > 1)
{
$item_quantity .= $location['location_name'].': ';
}
$item_quantity .= $CI->Item_quantities->get_item_quantity($item->item_id, $location['location_id'])->quantity . '<br/>';
}
$table_data_row='<tr>';
$table_data_row.="<td width='3%'><input type='checkbox' id='item_$item->item_id' value='".$item->item_id."'/></td>";
$table_data_row.='<td width="15%">'.$item->item_number.'</td>';
$table_data_row.='<td width="20%">'.$item->name.'</td>';
$table_data_row.='<td width="14%">'.$item->category.'</td>';
$table_data_row.='<td width="14%">'.to_currency($item->cost_price).'</td>';
$table_data_row.='<td width="14%">'.to_currency($item->unit_price).'</td>';
$table_data_row.='<td width="14%">'.$item_quantity.'</td>';
$table_data_row.='<td width="14%">'.$tax_percents.'</td>';
$table_data_row.='<td width="5%">'.anchor($controller_name."/view/$item->item_id/width:$width", $CI->lang->line('common_edit'),array('class'=>'thickbox','title'=>$CI->lang->line($controller_name.'_update'))).'</td>';
//Ramel Inventory Tracking
$table_data_row.='<td width="10%">'.anchor($controller_name."/inventory/$item->item_id/width:$width", $CI->lang->line('common_inv'),array('class'=>'thickbox','title'=>$CI->lang->line($controller_name.'_count')))./*'</td>';//inventory count
$table_data_row.='<td width="5%">'*/'&nbsp;&nbsp;&nbsp;&nbsp;'.anchor($controller_name."/count_details/$item->item_id/width:$width", $CI->lang->line('common_det'),array('class'=>'thickbox','title'=>$CI->lang->line($controller_name.'_details_count'))).'</td>';//inventory details
$table_data_row.='</tr>';
return $table_data_row;
}
/*
Gets the html table to manage giftcards.
*/
function get_giftcards_manage_table( $giftcards, $controller )
{
$CI =& get_instance();
$table='<table class="tablesorter" id="sortable_table">';
$headers = array('<input type="checkbox" id="select_all" />',
$CI->lang->line('common_last_name'),
$CI->lang->line('common_first_name'),
$CI->lang->line('giftcards_giftcard_number'),
$CI->lang->line('giftcards_card_value'),
'&nbsp',
);
$table.='<thead><tr>';
foreach($headers as $header)
{
$table.="<th>$header</th>";
}
$table.='</tr></thead><tbody>';
$table.=get_giftcards_manage_table_data_rows( $giftcards, $controller );
$table.='</tbody></table>';
return $table;
}
/*
Gets the html data rows for the giftcard.
*/
function get_giftcards_manage_table_data_rows( $giftcards, $controller )
{
$CI =& get_instance();
$table_data_rows='';
foreach($giftcards->result() as $giftcard)
{
$table_data_rows.=get_giftcard_data_row( $giftcard, $controller );
}
if($giftcards->num_rows()==0)
{
$table_data_rows.="<tr><td colspan='11'><div class='warning_message' style='padding:7px;'>".$CI->lang->line('giftcards_no_giftcards_to_display')."</div></tr></tr>";
}
return $table_data_rows;
}
/** GARRISON MODIFIED 4/25/2013 **/
function get_giftcard_data_row($giftcard,$controller)
{
$CI =& get_instance();
$controller_name=strtolower(get_class($CI));
$width = $controller->get_form_width();
$table_data_row='<tr>';
$table_data_row.="<td width='3%'><input type='checkbox' id='giftcard_$giftcard->giftcard_id' value='".$giftcard->giftcard_id."'/></td>";
$table_data_row.='<td width="15%">'.$giftcard->last_name.'</td>';
$table_data_row.='<td width="15%">'.$giftcard->first_name.'</td>';
$table_data_row.='<td width="15%">'.$giftcard->giftcard_number.'</td>';
$table_data_row.='<td width="20%">'.to_currency($giftcard->value).'</td>';
$table_data_row.='<td width="5%">'.anchor($controller_name."/view/$giftcard->giftcard_id/width:$width", $CI->lang->line('common_edit'),array('class'=>'thickbox','title'=>$CI->lang->line($controller_name.'_update'))).'</td>';
$table_data_row.='</tr>';
return $table_data_row;
}
/** END GARRISON MODIFIED **/
/*
Gets the html table to manage item kits.
*/
function get_item_kits_manage_table( $item_kits, $controller )
{
$CI =& get_instance();
$table='<table class="tablesorter" id="sortable_table">';
$headers = array('<input type="checkbox" id="select_all" />',
$CI->lang->line('item_kits_name'),
$CI->lang->line('item_kits_description'),
'&nbsp',
);
$table.='<thead><tr>';
foreach($headers as $header)
{
$table.="<th>$header</th>";
}
$table.='</tr></thead><tbody>';
$table.=get_item_kits_manage_table_data_rows( $item_kits, $controller );
$table.='</tbody></table>';
return $table;
}
/*
Gets the html data rows for the item kits.
*/
function get_item_kits_manage_table_data_rows( $item_kits, $controller )
{
$CI =& get_instance();
$table_data_rows='';
foreach($item_kits->result() as $item_kit)
{
$table_data_rows.=get_item_kit_data_row( $item_kit, $controller );
}
if($item_kits->num_rows()==0)
{
$table_data_rows.="<tr><td colspan='11'><div class='warning_message' style='padding:7px;'>".$CI->lang->line('item_kits_no_item_kits_to_display')."</div></tr></tr>";
}
return $table_data_rows;
}
function get_item_kit_data_row($item_kit,$controller)
{
$CI =& get_instance();
$controller_name=strtolower(get_class($CI));
$width = $controller->get_form_width();
$table_data_row='<tr>';
$table_data_row.="<td width='3%'><input type='checkbox' id='item_kit_$item_kit->item_kit_id' value='".$item_kit->item_kit_id."'/></td>";
$table_data_row.='<td width="15%">'.$item_kit->name.'</td>';
$table_data_row.='<td width="20%">'.character_limiter($item_kit->description, 25).'</td>';
$table_data_row.='<td width="5%">'.anchor($controller_name."/view/$item_kit->item_kit_id/width:$width", $CI->lang->line('common_edit'),array('class'=>'thickbox','title'=>$CI->lang->line($controller_name.'_update'))).'</td>';
$table_data_row.='</tr>';
return $table_data_row;
}
?>

Some files were not shown because too many files have changed in this diff Show More