Compare commits

..

1988 Commits
3.2.2 ... 3.3.5

Author SHA1 Message Date
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
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
1199 changed files with 54036 additions and 13086 deletions

2
.gitattributes vendored
View File

@@ -1,5 +1,3 @@
dist/ merge=ours
application/language/**/*.php merge=ours
text=auto
application/config/config.php ident
application/views/partial/footer.php ident

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

9
.gitignore vendored
View File

@@ -9,11 +9,14 @@ application/uploads/*
public/license/.licenses
public/license/bower.LICENSES
public/dist
generate_langauges.php
dist/
docs/
public/bower_components
npm_modules
*.patch
patches/
translations/
.idea/
git-svn-diff.py
*.bash
@@ -29,3 +32,9 @@ vendor/
*.~
*.log
.env
package-lock.json
auth.json
!/docker/.env
/docker/data/database/db/*
/docker/data/certbot/conf/*
/docker/data/ospos/app/*

View File

@@ -2,12 +2,13 @@
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^public$
RewriteRule ^(.*)$ %{REQUEST_URI}public/ [R=301,L]
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 +ExecCGI +Includes +IncludesNOEXEC +SymLinksIfOwnerMatch -Indexes
Options +SymLinksIfOwnerMatch -Indexes
# prevent folder listing
IndexIgnore *

View File

@@ -1,39 +1,55 @@
sudo: required
dist: trusty
group: deprecated-2017Q4
if: tag IS blank
branches:
except:
- weblate
services:
- docker
before_install:
- curl -L https://github.com/docker/compose/releases/download/1.7.1/docker-compose-`uname
-s`-`uname -m` > docker-compose
- curl -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
- date=`date +%Y%m%d%H%M%S` && branch=${TRAVIS_BRANCH} && rev=`git rev-parse --short=6
HEAD` && sed -i "s/\$1/\$1.$date.$branch.$rev/g" deployment.json
script:
- docker run --rm -v $(pwd):/app composer/composer install
- docker run --rm -v $(pwd):/app -w /app lucor/php7-cli php bin/install.php translations
develop
- docker run --rm -it -v $(pwd):/app -w /app digitallyseamless/nodejs-bower-grunt
- 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
- docker run --rm -it -v $(pwd):/app -w /app opensourcepos/node-grunt-bower
sh -c "npm install && bower install && grunt package"
- docker-compose build
- docker build . --target ospos -t ospos
- docker-compose -f docker-compose.test.yml up --abort-on-container-exit
env:
global:
- DOCKER_COMPOSE_VERSION=1.29.1
- TAG=$(echo ${TRAVIS_BRANCH} | sed s/feature\\///)
after_success: '[ -n ${DOCKER_USERNAME} ] && docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
&& docker tag opensourcepos_php "jekkos/opensourcepos:$TAG" && docker tag opensourcepos_sqlscript
jekkos/opensourcepos:sqlscript && docker push "jekkos/opensourcepos:$TAG" && docker
push jekkos/opensourcepos:sqlscript'
- date=`date +%Y%m%d%H%M%S` && branch=${TRAVIS_BRANCH} && rev=`git rev-parse --short=6 HEAD`
after_success:
- docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD" && docker tag "ospos:latest"
"jekkos/opensourcepos:$TAG" && docker push "jekkos/opensourcepos:$TAG"
before_deploy:
- version=$(grep application_version application/config/config.php | sed "s/.*=\s'\(.*\)';/\1/g")
- TRAVIS_TAG=$(echo $branch.$version)
- git tag -f "$branch.$version"
- sudo mv dist/opensourcepos.zip "dist/opensourcepos.$branch.$version.zip"
deploy:
edge:
source: travis-ci/dpl
branch: master
file: deployment.json
provider: bintray
provider: releases
file: "dist/opensourcepos.$branch.$version.zip"
name: "OpensourcePos $version"
release_notes_file: WHATS_NEW.txt
prerelease: true
skip_cleanup: true
key: ${BINTRAY_API_KEY}
user: jekkos
overwrite: true
api_key:
secure: Ax25mMRDfHVf/HjRwqxYJe2oMnWC4sc2aKIiUxAOviVJJSCl4GMWhcFlUNnFsDcKIg2ofEGMVD6b9cTBuOwPDvymUDFnLNCCgDWve+vRDdWaTkTipn77Qk4c9UO9VvuzlPSKopChefPHlQ0n1rEmAMiKIXuqjUlNGqybW4FLP4E=
on:
all_branches: true

View File

@@ -1,18 +1,41 @@
FROM php:7.0.29-apache
FROM php:7.4-apache AS ospos
MAINTAINER jekkos
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
libicu-dev \
libgd-dev \
openssl
RUN a2enmod rewrite
RUN docker-php-ext-install mysqli bcmath intl gd
RUN echo "date.timezone = \"\${PHP_TIMEZONE}\"" > /usr/local/etc/php/conf.d/timezone.ini
RUN echo -e “$(hostname -i)\t$(hostname) $(hostname).localhost” >> /etc/hosts
WORKDIR /app
COPY . /app
RUN ln -s /app/*[^public] /var/www && rm -rf /var/www/html && ln -nsf /app/public /var/www/html
RUN chmod 755 /app/public/uploads && chown -R www-data:www-data /app/public /app/application
RUN chmod -R 750 /app/public/uploads /app/application/logs && chown -R www-data:www-data /app/public /app/application
FROM ospos AS ospos_test
COPY --from=composer /usr/bin/composer /usr/bin/composer
RUN apt-get install -y libzip-dev wget git
RUN wget https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh -O /bin/wait-for-it.sh && chmod +x /bin/wait-for-it.sh
RUN docker-php-ext-install zip
RUN composer install -d/app
RUN php /app/vendor/kenjis/ci-phpunit-test/install.php -a /app/application -p /app/vendor/codeigniter/framework
RUN sed -i 's/backupGlobals="true"/backupGlobals="false"/g' /app/application/tests/phpunit.xml
RUN sed -i '13,17d' /app/application/tests/controllers/Welcome_test.php
WORKDIR /app/application/tests
CMD ["/app/vendor/phpunit/phpunit/phpunit"]
FROM ospos AS ospos_dev
RUN mkdir -p /app/bower_components && ln -s /app/bower_components /var/www/html/bower_components
RUN yes | pecl install xdebug \
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini
RUN [ ! -f test/ospos.js ] || sed -i -e "s/\(localhost\)/web/g" test/ospos.js

View File

@@ -1,9 +0,0 @@
FROM jekkos/opensourcepos:master
MAINTAINER jekkos
RUN mkdir -p /app/bower_components && ln -s /app/bower_components /var/www/html/bower_components
RUN yes | pecl install xdebug \
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini

View File

@@ -1,11 +0,0 @@
FROM digitallyseamless/nodejs-bower-grunt:5
MAINTAINER jekkos
# apt-get install curl
COPY Gruntfile.js .
COPY package.json .
COPY test .
RUN npm install
CMD ['while ! curl web/index.php | grep username; do sleep 1; done; grunt mochaWebdriver:test']

2
FUNDING.yml Normal file
View File

@@ -0,0 +1,2 @@
github: jekkos
custom: ["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MUN6AEG7NY6H8"]

View File

@@ -1,6 +1,6 @@
module.exports = function(grunt) {
grunt.initConfig({
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
wiredep: {
task: {
@@ -11,7 +11,15 @@ module.exports = function(grunt) {
bower_concat: {
all: {
mainFiles: {
'bootstrap-table': [ "src/bootstrap-table.js", "src/bootstrap-table.css", "dist/extensions/export/bootstrap-table-export.js", "dist/extensions/mobile/bootstrap-table-mobile.js", "dist/extensions/sticky-header/bootstrap-table-sticky-header.js", "dist/extensions/sticky-header/bootstrap-table-sticky-header.css"]
'bootstrap-table': [
"dist/bootstrap-table.min.js",
"dist/bootstrap-table.css",
"dist/extensions/export/bootstrap-table-export.min.js",
"dist/extensions/mobile/bootstrap-table-mobile.min.js",
"dist/extensions/sticky-header/bootstrap-table-sticky-header.min.js",
"dist/extensions/sticky-header/bootstrap-table-sticky-header.css"
],
'chartist-plugin-axistitle': [ "./dist/chartist-plugin-axistitle.min.js"]
},
dest: {
'js': 'tmp/opensourcepos_bower.js',
@@ -50,10 +58,55 @@ module.exports = function(grunt) {
}
}
},
copy: {
themes: {
files: [
{
expand: true,
cwd: 'node_modules/bootstrap-5/dist/css',
src: ['bootstrap.css', 'bootstrap.min.css'],
dest: 'public/dist/bootswatch-5/bootstrap/',
filter: 'isFile'
},
{
expand: true,
cwd: 'node_modules/bootswatch-5/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-5',
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-5',
src: 'LICENSE',
dest: 'public/license/',
rename: function(dest, src) { return dest + src.replace('LICENSE', 'bootswatch-5.license'); },
filter: 'isFile'
},
],
},
},
cssmin: {
target: {
files: {
'public/dist/<%= pkg.name %>.min.css': ['tmp/opensourcepos_bower.css', 'public/css/*.css', '!public/css/login.css', '!public/css/invoice_email.css', '!public/css/barcode_font.css']
'public/dist/<%= pkg.name %>.min.css': ['tmp/opensourcepos_bower.css', 'public/css/*.css', '!public/css/login.css', '!public/css/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']
}
}
},
@@ -63,7 +116,7 @@ module.exports = function(grunt) {
separator: ';'
},
files: {
'tmp/<%= pkg.name %>.js': ['tmp/opensourcepos_bower.js', 'public/js/jquery*', 'public/js/*.js']
'tmp/<%= pkg.name %>.js': ['public/dist/jquery/jquery.js', 'tmp/opensourcepos_bower.js', 'public/js/*.js']
}
},
sql: {
@@ -106,7 +159,7 @@ module.exports = function(grunt) {
closeTag: '<!-- end css template tags -->',
ignorePath: '../../../public/'
},
src: ['public/css/*.css', '!public/css/login.css', '!public/css/invoice_email.css', '!public/css/barcode_font.css'],
src: ['public/css/*.css', '!public/css/login.css', '!public/css/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: {
@@ -125,9 +178,9 @@ module.exports = function(grunt) {
scriptTemplate: '<rel type="text/css" src="{{ path }}"></rel>',
openTag: '<!-- start css template tags -->',
closeTag: '<!-- end css template tags -->',
ignorePath: '../../public/'
ignorePath: '../../public/'
},
src: ['public/css/login.css'],
src: 'public/css/login.min.css',
dest: 'application/views/login.php'
},
js: {
@@ -137,7 +190,7 @@ module.exports = function(grunt) {
closeTag: '<!-- end js template tags -->',
ignorePath: '../../../public/'
},
src: ['public/js/jquery*', 'public/js/*.js'],
src: ['public/dist/bootstrap/js/*.min.js', 'public/js/jquery*', 'public/js/*.js'],
dest: 'application/views/partial/header.php'
},
minjs: {
@@ -145,24 +198,12 @@ module.exports = function(grunt) {
scriptTemplate: '<script type="text/javascript" src="{{ path }}"></script>',
openTag: '<!-- start minjs template tags -->',
closeTag: '<!-- end minjs template tags -->',
ignorePath: '../../../public/'
ignorePath: '../../../public/'
},
src: ['public/dist/*min.js'],
dest: 'application/views/partial/header.php'
}
},
mochaWebdriver: {
options: {
timeout: 1000 * 60 * 3
},
test : {
options: {
usePhantom: true,
usePromises: true
},
src: ['test/**/*.js']
}
},
watch: {
files: ['<%= jshint.files %>'],
tasks: ['jshint']
@@ -214,15 +255,6 @@ module.exports = function(grunt) {
}
}
},
apigen: {
generate:{
options: {
apigenPath: 'vendor/bin/',
source: 'application',
destination: 'docs'
}
}
},
compress: {
main: {
options: {
@@ -230,23 +262,41 @@ module.exports = function(grunt) {
archive: 'dist/opensourcepos.zip'
},
files: [
{src: ['public/**', 'vendor/**', 'application/**', '!/public/images/menubar/png/', '!/public/dist/bootswatch/', '/public/dist/bootswatch/*/*.css', 'database/**', '*.txt', '*.md', 'LICENSE', 'docker*', 'Dockerfile', '**/.htaccess', '*.csv']}
{
src: [
'public/**',
'vendor/**',
'application/**',
'!/application/tests',
'!/public/images/menubar/png/',
'!/public/dist/bootswatch/',
'/public/dist/bootswatch/*/*.css',
'!/public/dist/bootswatch-5/',
'/public/dist/bootswatch-5/*/*.css',
'database/**',
'*.txt',
'*.md',
'LICENSE',
'docker*',
'docker/**',
'Dockerfile',
'**/.htaccess',
'*.csv'
]
}
]
}
}
});
require('load-grunt-tasks')(grunt);
grunt.loadNpmTasks('grunt-mocha-webdriver');
require('load-grunt-tasks')(grunt);
grunt.loadNpmTasks('grunt-composer');
grunt.loadNpmTasks('grunt-apigen');
grunt.loadNpmTasks('grunt-contrib-compress');
grunt.registerTask('default', ['wiredep', 'bower_concat', 'bowercopy', 'concat', 'uglify', 'cssmin', 'tags', 'cachebreaker']);
grunt.registerTask('update', ['composer:update', 'bower:update']);
grunt.registerTask('genlicense', ['clean:license', 'license', 'bower-licensechecker']);
grunt.registerTask('package', ['default', 'compress']);
grunt.registerTask('packages', ['composer:update']);
grunt.registerTask('gendocs', ['apigen:generate']);
grunt.loadNpmTasks('grunt-contrib-compress');
grunt.registerTask('default', ['wiredep', 'bower_concat', 'bowercopy', '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']);
};

View File

@@ -1,13 +1,13 @@
Server Requirements
-------------------
* PHP version 5.6 to 7.2 is recommended. Please note that PHP needs to have `php-gd`, `php-bcmath`, `php-intl`, `php-openssl`, `php-mbstring` and `php-curl` installed and enabled.
* PHP version 7.2 to 7.4 are supported, PHP version 5.6 and 8.0 are NOT supported. Please note that PHP needs to have `php-gd`, `php-bcmath`, `php-intl`, `php-openssl`, `php-mbstring` and `php-curl` installed and enabled.
* MySQL 5.5, 5.6 and 5.7 are supported, also MariaDB replacement is supported and apparently offering better performance.
* MySQL 5.5, 5.6 and 5.7 are supported, also MariaDB replacement 10.x is supported and apparently offering better performance.
* Apache 2.2 and 2.4 are supported. Also Nginx has been proven to work fine, see [wiki page here](https://github.com/opensourcepos/opensourcepos/wiki/Local-Deployment-using-LEMP)
* Apache 2.2 and 2.4 are supported. Also Nginx has been proven to work fine, see [wiki page here](https://github.com/opensourcepos/opensourcepos/wiki/Local-Deployment-using-LEMP).
* Raspberry PI based installations proved to work, see [wiki page here](https://github.com/opensourcepos/opensourcepos/wiki/Installing-on-Raspberry-PI---Orange-PI-(Headless-OSPOS))
* Raspberry PI based installations proved to work, see [wiki page here](https://github.com/opensourcepos/opensourcepos/wiki/Installing-on-Raspberry-PI---Orange-PI-(Headless-OSPOS)).
* For Windows based installations please read [the wiki](https://github.com/opensourcepos/opensourcepos/wiki) and also existing closed issues as this topic has been covered well in all the variants and issues.
@@ -17,7 +17,7 @@ Local install
First of all, if you're seeing the message **'system folder missing'** after launching your browser, then that means you have cloned the repository and have not built the project properly.
1. Dowload the latest [stable release](https://github.com/opensourcepos/opensourcepos/releases) from github or [unstable build](https://bintray.com/jekkos/opensourcepos/opensourcepos/view/files?sort=updated&order=asc#files) from bintray. A regular repository clone will not work unless you are brave enough to build the whole project!
1. Dowload the latest stable or prerelease for a specific branch [from github](https://github.com/opensourcepos/opensourcepos/releases). A regular repository clone will not work unless you are brave enough to build the whole 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 web server
@@ -34,54 +34,48 @@ First of all, if you're seeing the message **'system folder missing'** after lau
Local install using Docker
--------------------------
From now on ospos can be deployed using Docker on Linux, Mac or Windows. 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, but will require more overhead on windows. Please refer to the docker documentation for instructions on how to set it up on your platform.
From now onwards OSPOS can be deployed using Docker on Linux and Mac, 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. Please refer to the docker documentation for instructions on how to set it up on your platform.
* To build and run the image, download the latest build from bintray and issue following commands in a terminal with docker installed
***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 following command
```
docker-compose build
docker-compose up
docker-compose up
```
* If you want to run from the latest git source, then use docker and composer to run the build
Nginx install using Docker
-------------------------
Since OSPOS version 3.3.0 the docker installation offers a reverse proxy based on nginx with a Letsencrypt TLS certificate termination (aka HTTPS connection).
Letsencrypt is a free certificate issuer, requiring a special installation that this docker installation would take care for you.
Any Letsencrypt TLS certificate renewal will be managed automatically for you, therefore there is no need to worry about those details.
Before starting your installation, you would need to edit 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 Letsencrypt and configure your host domain name, Letsencrypt email address in docker/.env file.
The variable STAGING needs to be set to 0 when you are confident your configuration is correct so that Letsencrypt will issue a final proper TLS certificate.
Follow local install steps, but instead of
```
docker run --rm -v $(pwd):/app composer/composer install
docker run --rm -v $(pwd):/app -w /app lucor/php7-cli php bin/install.php translations develop
docker run --rm -it -v $(pwd):/app -w /app digitallyseamless/nodejs-bower-grunt sh -c "npm install && bower install"
docker-compose build
docker-compose up
docker/install-nginx.sh
```
Do not use
```
docker/uninstall.sh
```
on live deployments unless you want to tear down everything because all your disk content will be wiped out!
Cloud install
-------------
A quick option would be to install directly to [Digitalocean](https://m.do.co/c/ac38c262507b) using their preconfigured LAMP stack.
Create a DO account first, add a droplet with preconfigured LAMP and follow the instructions for Local Install below. You will be running a provisioned VPS within minutes.
If you choose *DigitalOcean*:
[Through this link](https://m.do.co/c/ac38c262507b), you will get a *$100 credit* for a first month. [Check the wiki](https://github.com/opensourcepos/opensourcepos/wiki/Getting-Started-installations) for further instructions on how to install the necessary components.
Cloud install using Docker
--------------------------
This installation is NOT Recommended anymore and will soon be replaced by a one click DO installation procedure.
Existing setups will keep working until the 21th of May but will need to be migrated in time in order to ensure user's safety.
If you want to run a quick demo of ospos or run it permanently in the cloud, then we
suggest using Docker cloud together with the DigitalOcean hosting platform. This way all the
configuration is done automatically and the install will just work.
If you choose *DigitalOcean* [through this link](https://m.do.co/c/ac38c262507b), you will get a *$10 credit* for a first
month of uptime on the platform. A full setup will only take about 2 minutes by following steps below.
1. Create a [Digitalocean account](https://m.do.co/c/ac38c262507b)
2. Create a [docker cloud account](https://cloud.docker.com)
3. Login to docker cloud
4. Associate your docker cloud account with your previously created digital ocean account under settings
5. Create a new node on DigitalOcean through the `Infrastructure > Nodes` tab. Fill in a name (ospos) and choose a region near to you. We recommend to choose a node with minimum 1G RAM for the whole stack
6. Click [![Deploy to Docker Cloud](https://files.cloud.docker.com/images/deploy-to-dockercloud.svg)](https://cloud.docker.com/stack/deploy/?repo=https://github.com/opensourcepos/opensourcepos)
7. Othewise create a new stack under `Applications > Stacks` and paste the [contents of docker-cloud.yml](https://github.com/opensourcepos/opensourcepos/blob/master/docker-cloud.yml) from the source repository in the text field and hit `Create and deploy`
8. Find your website url under `Infrastructure > Nodes > <yournode> > Endpoints > web`
9. Login with default username/password admin/pointofsale
10. DNS name for this server can be easily configured in the DigitalOcean control panel
More info [on maintaining a docker](https://github.com/opensourcepos/opensourcepos/wiki/Docker-cloud-maintenance) install can be found on the wiki

80
LICENSE
View File

@@ -1,43 +1,69 @@
The MIT License (MIT)
Copyright (c) 2012-2014 pappastech
Copyright (c) 2012 Alain
Copyright (c) 2013 Rob Garrison
Copyright (c) 2013 Parq
Copyright (c) 2013 Ramel
Copyright (c) 2013-2018 jekkos
Copyright (c) 2015-2018 FrancescoUK (aka daN4cat)
Copyright (c) 2015 Aamir Shahzad (aka asakpke), RoshanTech.com
Copyright (c) 2015 Toni Haryanto (aka yllumi)
Copyright (c) 2016-2017 Ramkrishna Mondal (aka RamkrishnaMondal)
Copyright (c) 2016 Rinaldy@dbarber (aka rnld26)
Copyright (c) 2016-2017 Jorge Colmenarez (aka jlctmaster), frontuari.com
Copyright (c) 2017-2018 Steve Ireland
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) 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 odiea
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.
You cannot claim copyright or ownership of the Software.
Footer signatures "You are using Open Source Point Of Sale" and/or "Open Source Point Of Sale"
Versions ≥ 3.3.2:
Footer signatures "© 2010 - 2021 · opensourcepos.org · 3.3.3 - 6909c8"
In the format of: "© 2010 - Current Year · opensourcepos.org · Version - Commit"
and/or
"· opensourcepos.org ·"
with version, hash and URL link to the official website of the project MUST BE RETAINED,
MUST BE VISIBLE IN EVERY PAGE and CANNOT BE MODIFIED.
Versions < 3.3.2:
Footer signatures "You are using Open Source Point Of Sale"
and/or
"Open Source Point Of Sale"
with version, hash and URL link to the original distribution of the code MUST BE RETAINED,
MUST BE VISIBLE IN EVERY PAGE and CANNOT BE MODIFIED.
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.
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.

View File

@@ -1,9 +1,7 @@
[![Build Status](https://travis-ci.org/opensourcepos/opensourcepos.svg?branch=master)](https://travis-ci.org/opensourcepos/opensourcepos)
[![Join the chat at https://gitter.im/jekkos/opensourcepos](https://badges.gitter.im/jekkos/opensourcepos.svg)](https://gitter.im/jekkos/opensourcepos?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![devDependency Status](https://david-dm.org/jekkos/opensourcepos/dev-status.svg)](https://david-dm.org/jekkos/opensourcepos#info=dev)
[![Dependency Status](https://gemnasium.com/badges/github.com/jekkos/opensourcepos.svg)](https://gemnasium.com/github.com/jekkos/opensourcepos)
[![Build Status](https://travis-ci.com/opensourcepos/opensourcepos.svg?branch=master)](https://travis-ci.org/opensourcepos/opensourcepos)
[![Join the chat at https://gitter.im/opensourcepos](https://badges.gitter.im/jekkos/opensourcepos.svg)](https://gitter.im/opensourcepos?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![GitHub version](https://badge.fury.io/gh/jekkos%2Fopensourcepos.svg)](https://badge.fury.io/gh/jekkos%2Fopensourcepos)
[![Translation status](http://weblate.jpeelaer.net/widgets/ospos/-/svg-badge.svg)](http://weblate.jpeelaer.net/engage/ospos/?utm_source=widget)
[![Translation status](http://translate.opensourcepos.org/widgets/opensourcepos/-/svg-badge.svg)](http://translate.opensourcepos.org/engage/opensourcepos/?utm_source=widget)
Introduction
@@ -11,11 +9,12 @@ Introduction
Open Source Point of Sale is a web based point of sale system.
The main features are:
* Stock management (Items and Kits)
* VAT, customer and multi tiers taxation
* Stock management (Items and Kits with extensible list of Attributes)
* VAT, GST, customer and multi tiers taxation
* Sale register with transactions logging
* Quotation and invoicing
* Expenses logging
* Cashup
* Receipt and invoice printing and/or emailing
* Barcode generation and printing
* Suppliers and Customers database
@@ -30,17 +29,16 @@ The main features are:
* Selectable Boostrap (Bootswatch) based UI theme
* Mailchimp integration
* reCAPTCHA to protect login page from brute force attacks
* GDPR ready
The software is written in PHP language, it uses MySQL (or MariaDB) as data storage back-end and has a simple but intuitive user interface.
The latest 3.x version is a complete overhaul of the original software.
It is now based on Bootstrap 3 using Bootswatch themes, and still uses CodeIgniter 3 as framework.
It is now based on Bootstrap 3 using Bootswatch themes, and uses CodeIgniter version 3 as framework.
It also has improved functionality and security.
Deployed to a Cloud it's a SaaS (Software as a Service) solution.
DEMO
----
DEMO / DEV
----------
A demo version of the latest master version can be found on our [Demo server](https://demo.opensourcepos.org). This is a containerized install which will be reinitialized when new functionality is added to the code repository.
@@ -48,16 +46,20 @@ LOGIN using
* username: admin
* password: pointofsale
Beside this we also have a [Dev server](https://dev.opensourcepos.org) that runs the build that was triggered with the last repository's commit.
In case of any issues, check our status page at [status.opensourcepos.org](https://status.opensourcepos.org) to confirm whether there is a sever outage.
Installation
------------
Please **refrain from creating issues** about installation issues **before reading the FAQ and going through existing github issues**. We have a build pipeline that checks the sanity of our latest repository commit and in case the application itself is broken then our build will be as well.
Please **refrain from creating issues** about installation problems **before having read the FAQ and went through existing github issues**. We have a build pipeline that checks the sanity of our latest repository commit and in case the application itself is broken then our build will be as well.
This application **can be setup in many different ways** and we only **support the ones described in the INSTALL file linked below**.
Read the [INSTALL.md](https://github.com/opensourcepos/opensourcepos/blob/master/INSTALL.md) in our repository.
[Check our wiki](https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet) for info and recommendations on supported receipt printers and barcode scanners.
License
-------
@@ -94,6 +96,7 @@ If you like the project, and you are making money out of it in some form, then c
[![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)
If you choose to deploy OSPOS in the cloud, you can contribute to the project by using our referral link. [You will get an initial $100 credits](https://m.do.co/c/ac38c262507b) for running OSPOS on a cloud instance with DigitalOcean.
Language Translations
---------------------
@@ -109,15 +112,21 @@ Reporting Bugs
--------------
If you are taking a release candidate code please make sure you always run the latest database upgrade script and you took the latest code from master.
Please DO NOT post issues if you have not done those step.
Please DO NOT post issues if you have not completed this step.
Bug reports must follow this schema:
- Versions **≥ 3.3.0**:
Please **Copy** the info under **System Info tab in configuration section** in order to give us the required details.
- Versions **< 3.2.3**:
Bug reports must follow the below schema:
1. Ospos **version string with git commit hash** (see ospos footer)
2. OS name and version running your Web Server (e.g. CentOS 6.9, Ubuntu 16.4, Windows 10)
3. Web Server name and version (e.g. Apache 2.2, Apache 2.4, Nginx 1.12, Nginx 1.13)
4. Database name and version (e.g. MySQL 5.5, MySQL 5.6, MySQL 5.7, MariaDB 10.0, MariaDB 10.1, MariaDB 10.2)
5. PHP version (e.g. 5.5, 5.6, 7.0, 7.1)
2. OS name and version running your Web Server (e.g. CentOS 6.9, Ubuntu 20, Windows 10)
3. Web Server name and version (e.g. Apache 2.4, Nginx 1.12, Nginx 1.13)
4. Database name and version (e.g. MySQL 5.6, MySQL 5.7, MariaDB 10.2, MariaDB 10.3)
5. PHP version (e.g. 7.2, 7.3, 7.4)
6. Language selected in OSPOS (e.g. English, Spanish)
7. Any configuration of OSPOS that you changed
8. Exact steps to reproduce the issue (test case)
@@ -130,16 +139,27 @@ If missing information is not provided within a week we will close your issue.
FAQ
---
* If you are seeing the message **system folder missing**, then you have cloned the source using git and you need to run a build *first*. Check [INSTALL.md](https://github.com/opensourcepos/opensourcepos/blob/master/INSTALL.md) for instructions or download latest zip file from [bintray](https://bintray.com/jekkos/opensourcepos/opensourcepos/view/files?sort=updated&order=desc#files) instead.
* If you are seeing the message **system folder missing**, then you have cloned the source using git and you need to run a build *first*. Check [INSTALL.md](https://github.com/opensourcepos/opensourcepos/blob/master/INSTALL.md) for instructions or download latest zip file from [PLACEHOLDER](https://NEWURL) 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](https://github.com/opensourcepos/opensourcepos/blob/master/INSTALL.md).
* 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](https://github.com/opensourcepos/opensourcepos/blob/master/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 comment `if in web root` and `if in subdir comment above line, uncomment below 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 help.
* Apache server configurations are SysAdmin issues and not strictly related to OSPOS. Please make sure you first can show a "hello world" html page before pointing to OSPOS public directory. Make sure .htaccess is correctly configured.
* If the avatar pictures are not shown in Items or at Item save time you get an error, please make sure your public and subdirs are assigned to the correct owner and the access permission is set to 755.
* If the avatar pictures are not shown in Items or at Item save time you get an error, please make sure your public and subdirs are assigned to the correct owner and the access permission is set to 750.
* If you install ospos in docker behind a proxy that performs ssloffloading, you can enable the url generated to be https instead of http, by activating the environment variable FORCE_HTTPS = 1.
* If you have suhosin installed and face an issue with CSRF, please make sure you read [issue #1492](https://github.com/opensourcepos/opensourcepos/issues/1492).
* PHP 8.0 is not currently supported, see [issue #3051](https://github.com/opensourcepos/opensourcepos/issues/3051).
* PHP 5.5 and 5.6 are no longer supported due to the fact that they have been deprecated and not safe to use from security point of view.
Credits
-------
|JetBrains|Travis CI|
|:-:|:-:|
|![IntelliJ IDEA](https://raw.githubusercontent.com/wiki/j-easy/easy-batch/images/logo/intellijidea-logo.png)|[Travis CI](https://travis-ci.com/images/logos/TravisCI-Full-Color.png)|
|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.|

27
SECURITY.md Normal file
View File

@@ -0,0 +1,27 @@
<!-- 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
receiving such patches depend on the CVSS v3.0 Rating:
| CVSS v3.0 | Supported Versions |
| --------- | -------------------------------------------------- |
| 7.3 | 3.5.5 |
## Reporting a Vulnerability
Please report (suspected) security vulnerabilities to
**[jekkos](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.

View File

@@ -4,13 +4,13 @@ How to Upgrade
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. Run the database upgrade scripts from database/ dir (check which ones you need according to the version you are upgrading from and only applicable if upgrading from pre 3.0.0)
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 configuration you had in the old setup.
Please try not to use the old layout, use the new one and just 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, database is updated and config files are sorted you are good to start the new OSPOS
9. Once the new code is in place, database is manually updated and config files are sorted you are good to start the new OSPOS
10. The first login will take longer because OSPOS post 3.0.0 will upgrade automatically to the latest version
11. Now you can use OSPOS
12. If any issue please check README, FAQ and GitHub issues as somebody else might have had your problem already before creating a new issue

View File

@@ -1,3 +1,79 @@
Version 3.3.5
-------------
+ Translation updates (Romanian, Ukranian, Vietnamese, Thai, Polish, Swedish, Portugese, Arabic, French, Chinese, Dutch, Tamil, Turkish, Spanish)
+ New login page restyle
+ Partial BS5 upgrade
+ Username verification fix on employee insert/update
+ Minor report fixes
+ Attribute encoding fix
+ Grunt/CI updates
+ Database and performance optimizations
+ CSV item import improvements
+ Fix decimal render
+ Translation fallback in other languages than english
+ Fixes for docker to make it run on Windows
Version 3.3.4
-------------
+ Translation updates (Hungarian, Indonesian, Bosnian, Ukranian, Vietnamese, Spanish)
+ Prevent data wipeout when calling GET directly on 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
+ Cashrounding bugfixes
+ Fix daily overview cash sale totals
+ Show sale count in transaction report
+ Button disable to prevent double submission
+ Add barcode field to item kits
+ Fix discount register parsing in some specific locales
Version 3.3.3
-------------
+ PHP 7.4 support
+ Set PHP 7.2 to be the minimum level due to older version deprecations
+ Added email CC and BCC (see config/email.php)
+ Cash rounding to nearest 5 cents
+ Updated composer packages and js plugins
+ Improved security (CSRF protection)
+ Various small improvements and bug fixes
Version 3.3.2
-------------
+ Fixed `only_full_group_by` issue with MySQL/MariaDB
+ Fixed POS transaction return failure if items are deleted
+ Various bug fixes
Version 3.3.1
-------------
+ Various bug fixes (please disable `only_full_group_by` option from MySQL/MariaDB to avoid issues)
Version 3.3.0
-------------
+ New logo
+ Code Igniter 3.1.11 upgrade
+ PHP 7.3 support
+ Attributes feature (allows extensibility of Items replacing old custom fields)
+ India GST Tax support + various Tax support improvements
+ Cashup 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 Updated translations
+ Fixed various reports issues
+ Fixed rounding issues
+ Fixed CSRF issues
+ Fixed database upgrade script issues
+ Various bug fixes
Version 3.2.3
-------------
+ Further revert of CSRF change causing regression
+ Code Igniter 3.1.9 upgrade
Version 3.2.2
-------------
+ Revert CSRF change causing regression

View File

@@ -1,7 +1,8 @@
CI_ENV="development"
#CI_ENV="production"
#Database Settings
MYSQL_HOST_NAME="localhost"
MYSQL_USERNAME=""
MYSQL_PASSWORD=""
MYSQL_DB_NAME=""
MYSQL_USERNAME="admin"
MYSQL_PASSWORD="pointofsale"
MYSQL_DB_NAME="ospos"

View File

@@ -89,7 +89,7 @@ $autoload['drivers'] = array();
|
| $autoload['helper'] = array('url', 'file');
*/
$autoload['helper'] = array('form', 'url', 'tabular', 'text', 'locale', 'html', 'download', 'directory', 'migration');
$autoload['helper'] = array('form', 'url', 'tabular', 'text', 'locale', 'html', 'download', 'directory', 'migration', 'importfile');
/*
| -------------------------------------------------------------------
@@ -132,4 +132,32 @@ $autoload['language'] = array();
|
| $autoload['model'] = array('first_model' => 'first');
*/
$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', 'Tax', 'Expense_category', 'Expense' );
$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

@@ -8,7 +8,7 @@
|
|
*/
$config['application_version'] = '3.2.2';
$config['application_version'] = '3.3.5';
/*
|--------------------------------------------------------------------------
@@ -19,7 +19,7 @@ $config['application_version'] = '3.2.2';
|
|
*/
$config['commit_sha1'] = '$Id $';
$config['commit_sha1'] = 'dev';
/*
|--------------------------------------------------------------------------
@@ -65,8 +65,9 @@ $config['db_log_enabled'] = FALSE;
| a PHP script and you can easily do that on your own.
|
*/
$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || isset($_ENV['FORCE_HTTPS'])) ? 'https' : 'http';
$config['base_url'] .= '://' . $_SERVER['HTTP_HOST'];
$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']);
/*
@@ -294,7 +295,7 @@ $config['log_file_extension'] = '';
| IMPORTANT: This MUST be an integer (no quotes) and you MUST use octal
| integer notation (i.e. 0700, 0644, etc.)
*/
$config['log_file_permissions'] = 0644;
$config['log_file_permissions'] = 0640;
/*
|--------------------------------------------------------------------------
@@ -437,8 +438,8 @@ $config['sess_regenerate_destroy'] = FALSE;
$config['cookie_prefix'] = '';
$config['cookie_domain'] = '';
$config['cookie_path'] = '/';
$config['cookie_secure'] = FALSE;
$config['cookie_httponly'] = FALSE;
$config['cookie_secure'] = $config['https_on'];
$config['cookie_httponly'] = TRUE;
/*
|--------------------------------------------------------------------------

View File

@@ -83,3 +83,75 @@ defined('EXIT_USER_INPUT') OR define('EXIT_USER_INPUT', 7); // invalid user
defined('EXIT_DATABASE') OR define('EXIT_DATABASE', 8); // database error
defined('EXIT__AUTO_MIN') OR define('EXIT__AUTO_MIN', 9); // lowest automatically-assigned error code
defined('EXIT__AUTO_MAX') OR define('EXIT__AUTO_MAX', 125); // highest automatically-assigned error code
/*
| Attribute Related Constants.
*/
define('GROUP', 'GROUP');
define('DROPDOWN', 'DROPDOWN');
define('DECIMAL', 'DECIMAL');
define('DATE', 'DATE');
define('TEXT', 'TEXT');
define('CHECKBOX', 'CHECKBOX');
define('NO_DEFINITION_ID', 0);
define('CATEGORY_DEFINITION_ID', -1);
const DEFINITION_TYPES = [GROUP, DROPDOWN, DECIMAL, TEXT, DATE, CHECKBOX];
/*
| Item Related Constants.
*/
define('HAS_STOCK', 0);
define('HAS_NO_STOCK', 1);
define('ITEM', 0);
define('ITEM_KIT', 1);
define('ITEM_AMOUNT_ENTRY', 2);
define('ITEM_TEMP', 3);
define('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,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

@@ -26,8 +26,16 @@ $hook['post_controller'] = array(
'filepath' => 'hooks'
);
$hook['pre_controller'][] = array(
'class' => '',
'function' => 'validate_save',
'filename' => 'save_hook.php',
'filepath' => 'hooks'
);
$hook['pre_system'] = function() {
$config_path = APPPATH . 'config/';
$config_path = APPPATH . (ENVIRONMENT == 'testing') ? 'tests/' : 'config/';
try {
$dotenv = new Dotenv\Dotenv($config_path);
$dotenv->overload();

View File

@@ -69,7 +69,7 @@ $config['migration_auto_latest'] = FALSE;
| be upgraded / downgraded to.
|
*/
$config['migration_version'] = 20171126100000;
$config['migration_version'] = 20180225100000;
/*
|--------------------------------------------------------------------------

View File

@@ -60,25 +60,28 @@ $route['sales/index/([^/]+)/([^/]+)/([^/]+)'] = 'sales/manage/$1/$2/$3';
$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['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';
$route['reports/(inventory_:any)/([^/]+)'] = 'reports/$1/$2';
$route['reports/inventory_summary'] = 'reports/inventory_summary_input';
$route['reports/(inventory_summary)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2';
$route['reports/(detailed_sales)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3$/$4';
$route['reports/(detailed_:any)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
$route['reports/detailed_sales'] = 'reports/date_input_sales';
$route['reports/(detailed_receivings)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
$route['reports/detailed_receivings'] = 'reports/date_input_recv';
$route['reports/(specific_:any)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
$route['reports/specific_customer'] = 'reports/specific_customer_input';
$route['reports/specific_employee'] = 'reports/specific_employee_input';
$route['reports/specific_discount'] = 'reports/specific_discount_input';
$route['reports/specific_supplier'] = 'reports/specific_supplier_input';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

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->post('sort') === NULL ? definition.definition_name : $this->db->escape($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->post('sort') === NULL ? 'cashup_id' : $this->db->escape($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

@@ -13,8 +13,8 @@ class Config extends Secure_Controller
}
/*
* This function loads all the licenses starting with the first one being OSPOS one
*/
* This function loads all the licenses starting with the first one being OSPOS one
*/
private function _licenses()
{
$i = 0;
@@ -33,8 +33,7 @@ class Config extends Secure_Controller
$license[$i]['text'] = 'LICENSE file must be in OSPOS license directory. You are not allowed to use OSPOS application until the distribution copy of LICENSE file is present.';
}
// read all the files in the dir license
$dir = new DirectoryIterator('license');
$dir = new DirectoryIterator('license'); // read all the files in the dir license
foreach($dir as $fileinfo)
{
@@ -171,8 +170,8 @@ class Config extends Secure_Controller
}
/*
* This function loads all the available themes in the dist/bootswatch directory
*/
* This function loads all the available themes in the dist/bootswatch directory
*/
private function _themes()
{
$themes = array();
@@ -185,7 +184,7 @@ class Config extends Secure_Controller
if($dirinfo->isDir() && !$dirinfo->isDot() && $dirinfo->getFileName() != 'fonts')
{
$file = $this->xss_clean($dirinfo->getFileName());
$themes[$file] = $file;
$themes[$file] = ucfirst($file);
}
}
@@ -198,24 +197,36 @@ class Config extends Secure_Controller
{
$data['stock_locations'] = $this->Stock_location->get_all()->result_array();
$data['dinner_tables'] = $this->Dinner_table->get_all()->result_array();
$data['tax_categories'] = $this->Tax->get_all_tax_categories()->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_codes'] = $this->get_tax_code_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();
$data['mailchimp'] = array();
//Load General related fields
$image_allowed_types = array('jpg','jpeg','gif','svg','webp','bmp','png','tif','tiff');
$data['image_allowed_types'] = array_combine($image_allowed_types,$image_allowed_types);
$data['selected_image_allowed_types'] = explode('|',$this->config->item('image_allowed_types'));
//Load Integrations Related fields
$data['mailchimp'] = array();
if($this->_check_encryption())
{
$data['mailchimp']['api_key'] = $this->encryption->decrypt($this->config->item('mailchimp_api_key'));
@@ -233,19 +244,6 @@ class Config extends Secure_Controller
$this->load->view("configs/manage", $data);
}
public function get_tax_code_options()
{
$tax_codes = $this->Tax->get_all_tax_codes()->result_array();
$tax_code_options = array();
foreach($tax_codes as $tax_code)
{
$a = $tax_code['tax_code'];
$b = $tax_code['tax_code_name'];
$tax_code_options[$a] = $b;
}
return $tax_code_options;
}
public function save_info()
{
$upload_success = $this->_handle_logo_upload();
@@ -285,12 +283,20 @@ class Config extends Secure_Controller
{
$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'),
@@ -299,20 +305,28 @@ class Config extends Secure_Controller
'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,
'custom1_name' => $this->input->post('custom1_name'),
'custom2_name' => $this->input->post('custom2_name'),
'custom3_name' => $this->input->post('custom3_name'),
'custom4_name' => $this->input->post('custom4_name'),
'custom5_name' => $this->input->post('custom5_name'),
'custom6_name' => $this->input->post('custom6_name'),
'custom7_name' => $this->input->post('custom7_name'),
'custom8_name' => $this->input->post('custom8_name'),
'custom9_name' => $this->input->post('custom9_name'),
'custom10_name' => $this->input->post('custom10_name')
'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;
@@ -325,19 +339,35 @@ class Config extends Secure_Controller
public function ajax_check_number_locale()
{
$number_locale = $this->input->post('number_locale');
$save_number_locale = $this->input->post('save_number_locale');
$fmt = new \NumberFormatter($number_locale, \NumberFormatter::CURRENCY);
$currency_symbol = empty($this->input->post('currency_symbol')) ? $fmt->getSymbol(\NumberFormatter::CURRENCY_SYMBOL) : $this->input->post('currency_symbol');
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,
'thousands_separator' => $fmt->getAttribute(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL) != ''
'currency_code' => $currency_code,
));
}
@@ -346,12 +376,13 @@ class Config extends Secure_Controller
$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' => $this->input->post('thousands_separator'),
'thousands_separator' => !empty($this->input->post('thousands_separator')),
'number_locale' => $this->input->post('number_locale'),
'currency_decimals' => $this->input->post('currency_decimals'),
'tax_decimals' => $this->input->post('tax_decimals'),
@@ -428,8 +459,8 @@ class Config extends Secure_Controller
}
/*
* This function fetches all the available lists from Mailchimp for the given API key
*/
* 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));
@@ -452,8 +483,8 @@ class Config extends Secure_Controller
}
/*
AJAX call from mailchimp config form to fetch the Mailchimp lists when a valid API key is inserted
*/
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
@@ -548,15 +579,16 @@ class Config extends Secure_Controller
{
if(strstr($key, 'stock_location'))
{
$location_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
// save or update
$location_data = array('location_name' => $value);
if($this->Stock_location->save($location_data, $location_id))
foreach ($value as $location_id => $location_name)
{
$location_id = $this->Stock_location->get_location_id($value);
$not_to_delete[] = $location_id;
$this->_clear_session_state();
$location_data = array('location_name' => $location_name);
if($this->Stock_location->save($location_data, $location_id))
{
$location_id = $this->Stock_location->get_location_id($location_name);
$not_to_delete[] = $location_id;
$this->_clear_session_state();
}
}
}
}
@@ -599,6 +631,7 @@ class Config extends Secure_Controller
{
$dinner_table_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
$not_to_delete[] = $dinner_table_id;
// save or update
$table_data = array('name' => $value);
if($this->Dinner_table->save($table_data, $dinner_table_id))
@@ -634,85 +667,26 @@ class Config extends Secure_Controller
{
$this->db->trans_start();
$customer_sales_tax_support = $this->input->post('customer_sales_tax_support') != NULL;
$batch_save_data = array(
'default_tax_1_rate' => parse_decimals($this->input->post('default_tax_1_rate')),
'default_tax_1_rate' => parse_tax($this->input->post('default_tax_1_rate')),
'default_tax_1_name' => $this->input->post('default_tax_1_name'),
'default_tax_2_rate' => parse_decimals($this->input->post('default_tax_2_rate')),
'default_tax_2_rate' => parse_tax($this->input->post('default_tax_2_rate')),
'default_tax_2_name' => $this->input->post('default_tax_2_name'),
'tax_included' => $this->input->post('tax_included') != NULL,
'customer_sales_tax_support' => $customer_sales_tax_support,
'default_origin_tax_code' => $this->input->post('default_origin_tax_code')
'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;
$delete_rejected = FALSE;
if($customer_sales_tax_support)
{
$array_save = array();
foreach($this->input->post() as $key => $value)
{
if(strstr($key, 'tax_category'))
{
$tax_category_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
$array_save[$tax_category_id]['tax_category'] = $value;
}
elseif(strstr($key, 'tax_group_sequence'))
{
$tax_category_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
$array_save[$tax_category_id]['tax_group_sequence'] = $value;
}
}
$not_to_delete = array();
if(!empty($array_save))
{
foreach($array_save as $key => $value)
{
// save or update
$category_data = array('tax_category' => $value['tax_category'], 'tax_group_sequence' => $value['tax_group_sequence']);
$this->Tax->save_tax_category($category_data, $key);
$not_to_delete[] = $key;
}
}
// all categories not available in post will be deleted now
$deleted_categories = $this->Tax->get_all_tax_categories()->result_array();
foreach($deleted_categories as $tax_category => $category)
{
if(!in_array($category['tax_category_id'], $not_to_delete))
{
$usg1 = $this->Tax->get_tax_category_usage($category['tax_category_id']);
$usg2 = $this->Item->get_tax_category_usage($category['tax_category_id']);
if(($usg1 + $usg2) == 0)
{
$this->Tax->delete_tax_category($category['tax_category_id']);
}
else
{
$delete_rejected = TRUE;
}
}
}
}
$this->db->trans_complete();
$success &= $this->db->trans_status();
$message = '';
if($success && $delete_rejected)
{
$message = $this->lang->line('config_tax_category_used');
$success = FALSE;
}
else
{
$message = $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully');
}
$message = $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully');
echo json_encode(array(
'success' => $success,
@@ -817,7 +791,8 @@ class Config extends Secure_Controller
'email_receipt_check_behaviour' => $this->input->post('email_receipt_check_behaviour'),
'print_receipt_check_behaviour' => $this->input->post('print_receipt_check_behaviour'),
'receipt_show_company_name' => $this->input->post('receipt_show_company_name') != NULL,
'receipt_show_taxes' => $this->input->post('receipt_show_taxes') != NULL,
'receipt_show_taxes' => ($this->input->post('receipt_show_taxes') != NULL),
'receipt_show_tax_ind' => ($this->input->post('receipt_show_tax_ind') != NULL),
'receipt_show_total_discount' => $this->input->post('receipt_show_total_discount') != NULL,
'receipt_show_description' => $this->input->post('receipt_show_description') != NULL,
'receipt_show_serialnumber' => $this->input->post('receipt_show_serialnumber') != NULL,
@@ -843,19 +818,19 @@ class Config extends Secure_Controller
{
$batch_save_data = array (
'invoice_enable' => $this->input->post('invoice_enable') != NULL,
'default_register_mode' => $this->input->post('default_register_mode'),
'sales_invoice_format' => $this->input->post('sales_invoice_format'),
'sales_quote_format' => $this->input->post('sales_quote_format'),
'recv_invoice_format' => $this->input->post('recv_invoice_format'),
'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'),
'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')
'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);
@@ -894,11 +869,11 @@ class Config extends Secure_Controller
// 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');
'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');
@@ -930,13 +905,14 @@ class Config extends Secure_Controller
$result = FALSE;
// Chmod the file
@chmod($config_path, 0777);
@chmod($config_path, 0770);
// Verify file permissions
if(is_writable($config_path))
{
// Write the new config.php file
$handle = @fopen($config_path, 'w+');
// Write the file
$result = (fwrite($handle, $config) === FALSE) ? FALSE : TRUE;
@@ -944,7 +920,7 @@ class Config extends Secure_Controller
}
// Chmod the file
@chmod($config_path, 0444);
@chmod($config_path, 0440);
return $result;
}

View File

@@ -58,7 +58,7 @@ class Customers extends Persons
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$sort = $this->input->post('sort') === NULL ? LAST_NAME : $this->db->escape($this->input->get('sort'));
$order = $this->input->get('order');
$customers = $this->Customer->search($search, $limit, $offset, $sort, $order);
@@ -109,8 +109,6 @@ class Customers extends Persons
*/
public function view($customer_id = -1)
{
$customer_sales_tax_support = $this->config->item('customer_sales_tax_support');
$info = $this->Customer->get_info($customer_id);
foreach(get_object_vars($info) as $property => $value)
{
@@ -125,9 +123,20 @@ class Customers extends Persons
}
$employee_info = $this->Employee->get_info($info->employee_id);
$data['employee'] = $employee_info->first_name . ' ' . $employee_info->last_name;
$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'] = '';
}
$data['sales_tax_code_label'] = $info->sales_tax_code . ' ' . $this->Tax->get_info($info->sales_tax_code)->tax_code_name;
$packages = array('' => $this->lang->line('items_none'));
foreach($this->Customer_rewards->get_all()->result_array() as $row)
{
@@ -136,13 +145,13 @@ class Customers extends Persons
$data['packages'] = $packages;
$data['selected_package'] = $info->package_id;
if($customer_sales_tax_support == '1')
if($this->config->item('use_destination_based_tax') == '1')
{
$data['customer_sales_tax_enabled'] = TRUE;
$data['use_destination_based_tax'] = TRUE;
}
else
{
$data['customer_sales_tax_enabled'] = FALSE;
$data['use_destination_based_tax'] = FALSE;
}
// retrieve the total amount the customer spent so far together with min, max and average values
@@ -247,24 +256,17 @@ class Customers extends Persons
$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_percent' => $this->input->post('discount_percent') == '' ? 0.00 : $this->input->post('discount_percent'),
'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')
'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')
);
$tax_code = $this->input->post('sales_tax_code');
if(!isset($tax_code))
{
$customer_data['sales_tax_code'] = '';
}
else
{
$customer_data['sales_tax_code'] = $tax_code;
}
if($this->Customer->save_customer($person_data, $customer_data, $customer_id))
{
// save customer to Mailchimp selected list
@@ -345,25 +347,25 @@ class Customers extends Persons
}
/*
Customers import from excel spreadsheet
Customers import from csv spreadsheet
*/
public function excel()
public function csv()
{
$name = 'import_customers.csv';
$data = file_get_contents('../' . $name);
force_download($name, $data);
}
public function excel_import()
public function csv_import()
{
$this->load->view('customers/form_excel_import', NULL);
$this->load->view('customers/form_csv_import', NULL);
}
public function do_excel_import()
public function do_csv_import()
{
if($_FILES['file_path']['error'] != UPLOAD_ERR_OK)
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('customers_excel_import_failed')));
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('customers_csv_import_failed')));
}
else
{
@@ -403,8 +405,9 @@ class Customers extends Persons
$customer_data = array(
'consent' => $consent,
'company_name' => $data[13],
'discount_percent' => $data[15],
'taxable' => $data[16] == '' ? 0 : 1,
'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
);
@@ -443,18 +446,18 @@ class Customers extends Persons
if(count($failCodes) > 0)
{
$message = $this->lang->line('customers_excel_import_partially_failed') . ' (' . count($failCodes) . '): ' . implode(', ', $failCodes);
$message = $this->lang->line('customers_csv_import_partially_failed') . ' (' . count($failCodes) . '): ' . implode(', ', $failCodes);
echo json_encode(array('success' => FALSE, 'message' => $message));
}
else
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('customers_excel_import_success')));
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('customers_csv_import_success')));
}
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('customers_excel_import_nodata_wrongformat')));
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('customers_csv_import_nodata_wrongformat')));
}
}
}

View File

@@ -17,7 +17,7 @@ class Employees extends Persons
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$sort = $this->input->post('sort') === NULL ? LAST_NAME : $this->db->escape($this->input->get('sort'));
$order = $this->input->get('order');
$employees = $this->Employee->search($search, $limit, $offset, $sort, $order);
@@ -35,6 +35,13 @@ class Employees extends Persons
/*
Gives search suggestions based on what is being searched for
*/
public function suggest()
{
$suggestions = $this->xss_clean($this->Employee->get_search_suggestions($this->input->get('term'), TRUE));
echo json_encode($suggestions);
}
public function suggest_search()
{
$suggestions = $this->xss_clean($this->Employee->get_search_suggestions($this->input->post('term')));
@@ -53,6 +60,7 @@ class Employees extends Persons
$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)
@@ -69,7 +77,7 @@ class Employees extends Persons
foreach($this->Module->get_all_subpermissions()->result() as $permission)
{
$permission->module_id = $this->xss_clean($permission->module_id);
$permission->permission_id = $this->xss_clean($permission->permission_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;
@@ -121,7 +129,7 @@ class Employees extends Persons
}
//Password has been changed OR first time password set
if($this->input->post('password') != '')
if($this->input->post('password') != '' && ENVIRONMENT != 'testing')
{
$exploded = explode(":", $this->input->post('language'));
$employee_data = array(
@@ -183,5 +191,11 @@ class Employees extends Persons
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

@@ -30,7 +30,7 @@ class Expenses extends Secure_Controller
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$sort = $this->input->post('sort') === NULL ? 'expense_id' : $this->db->escape($this->input->get('sort'));
$order = $this->input->get('order');
$filters = array(
'start_date' => $this->input->get('start_date'),
@@ -80,7 +80,7 @@ class Expenses extends Secure_Controller
$data['expenses_info'] = $this->Expense->get_info($expense_id);
$data['expense_categories'] = array();
$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'];
@@ -128,7 +128,7 @@ class Expenses extends Secure_Controller
$expense_data = array(
'date' => $date_formatter->format('Y-m-d H:i:s'),
'supplier_name' => $this->input->post('supplier_name'),
'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')),
@@ -159,6 +159,13 @@ class Expenses extends Secure_Controller
}
}
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');

View File

@@ -24,7 +24,7 @@ class Expenses_categories extends Secure_Controller
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$sort = $this->input->post('sort') === NULL ? 'category_name' : $this->db->escape($this->input->get('sort'));
$order = $this->input->get('order');
$expense_categories = $this->Expense_category->search($search, $limit, $offset, $sort, $order);

View File

@@ -24,7 +24,7 @@ class Giftcards extends Secure_Controller
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$sort = $this->input->post('sort') === NULL ? 'giftcard_number' : $this->db->escape($this->input->get('sort'));
$order = $this->input->get('order');
$giftcards = $this->Giftcard->search($search, $limit, $offset, $sort, $order);
@@ -131,7 +131,7 @@ class Giftcards extends Secure_Controller
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' => $parsed_value));
echo json_encode(array('success' => $parsed_value !== FALSE, 'giftcard_amount' => to_currency_no_money($parsed_value)));
}
public function delete()

View File

@@ -4,7 +4,7 @@ require_once("Secure_Controller.php");
class Home extends Secure_Controller
{
function __construct()
public function __construct()
{
parent::__construct(NULL, NULL, 'home');
}
@@ -20,7 +20,7 @@ class Home extends Secure_Controller
}
/*
Loads the change employee password form
Load "change employee password" form
*/
public function change_password($employee_id = -1)
{

View File

@@ -14,10 +14,11 @@ class Item_kits extends Secure_Controller
*/
private function _add_totals_to_item_kit($item_kit)
{
$kit_item_info = $this->Item->get_info($item_kit->item_id);
$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 = $kit_item_info->unit_price;
$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)
{
@@ -32,11 +33,13 @@ class Item_kits extends Secure_Controller
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_percent, 100);
$item_kit->total_unit_price = $item_kit->total_unit_price - round(bcmul($item_kit->total_unit_price, $discount_fraction), totals_decimals(), PHP_ROUND_HALF_UP);
$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;
}
@@ -56,7 +59,7 @@ class Item_kits extends Secure_Controller
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$sort = $this->input->post('sort') === NULL ? NAME : $this->db->escape($this->input->get('sort'));
$order = $this->input->get('order');
$item_kits = $this->Item_kit->search($search, $limit, $offset, $sort, $order);
@@ -97,6 +100,7 @@ class Item_kits extends Secure_Controller
$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)
{
@@ -128,8 +132,10 @@ class Item_kits extends Secure_Controller
{
$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_percent' => $this->input->post('kit_discount_percent'),
'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')
@@ -137,7 +143,6 @@ class Item_kits extends Secure_Controller
if($this->Item_kit->save($item_kit_data, $item_kit_id))
{
$success = TRUE;
$new_item = FALSE;
//New item kit
if($item_kit_id == -1)
@@ -201,6 +206,12 @@ class Item_kits extends Secure_Controller
'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)
{

View File

File diff suppressed because it is too large Load Diff

View File

@@ -4,6 +4,7 @@ class Login extends CI_Controller
{
public function index()
{
$this->load->library('migration');
if($this->Employee->is_logged_in())
{
redirect('home');
@@ -14,6 +15,7 @@ class Login extends CI_Controller
$this->form_validation->set_rules('username', 'lang:login_username', 'required|callback_login_check');
if($this->config->item('gcaptcha_enable'))
{
$this->form_validation->set_rules('g-recaptcha-response', 'lang:login_gcaptcha', 'required|callback_gcaptcha_check');
@@ -41,6 +43,13 @@ class Login extends CI_Controller
return FALSE;
}
if (!$this->migration->is_latest())
{
set_time_limit(3600);
// trigger any required upgrade before starting the application
$this->migration->latest();
}
if(!$this->Employee->login($username, $password))
{
$this->form_validation->set_message('login_check', $this->lang->line('login_invalid_username_and_password'));
@@ -48,10 +57,6 @@ class Login extends CI_Controller
return FALSE;
}
// trigger any required upgrade before starting the application
$this->load->library('migration');
$this->migration->latest();
return TRUE;
}

View File

@@ -9,6 +9,7 @@ class Receivings extends Secure_Controller
parent::__construct('receivings');
$this->load->library('receiving_lib');
$this->load->library('token_lib');
$this->load->library('barcode_lib');
}
@@ -90,9 +91,11 @@ class Receivings extends Secure_Controller
$mode = $this->receiving_lib->get_mode();
$item_id_or_number_or_item_kit_or_receipt = $this->input->post('item');
$this->barcode_lib->parse_barcode_fields($quantity, $item_id_or_number_or_item_kit_or_receipt);
$this->token_lib->parse_barcode($quantity, $price, $item_id_or_number_or_item_kit_or_receipt);
$quantity = ($mode == 'receive' || $mode == 'requisition') ? $quantity : -$quantity;
$item_location = $this->receiving_lib->get_stock_source();
$discount = $this->config->item('default_receivings_discount');
$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))
{
@@ -100,9 +103,9 @@ class Receivings extends Secure_Controller
}
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);
$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))
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');
}
@@ -121,13 +124,15 @@ class Receivings extends Secure_Controller
$description = $this->input->post('description');
$serialnumber = $this->input->post('serialnumber');
$price = parse_decimals($this->input->post('price'));
$quantity = parse_decimals($this->input->post('quantity'));
$discount = parse_decimals($this->input->post('discount'));
$item_location = $this->input->post('location');
$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, $price);
$this->receiving_lib->edit_item($item_id, $description, $serialnumber, $quantity, $discount, $discount_type, $price, $receiving_quantity);
}
else
{
@@ -198,7 +203,7 @@ class Receivings extends Secure_Controller
$data['cart'] = $this->receiving_lib->get_cart();
$data['total'] = $this->receiving_lib->get_total();
$data['transaction_time'] = date($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'));
$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();
@@ -263,8 +268,8 @@ class Receivings extends Secure_Controller
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->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();
@@ -284,7 +289,7 @@ class Receivings extends Secure_Controller
$data['cart'] = $this->receiving_lib->get_cart();
$data['total'] = $this->receiving_lib->get_total();
$data['mode'] = $this->receiving_lib->get_mode();
$data['transaction_time'] = date($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'), strtotime($receiving_info['receiving_time']));
$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();
@@ -373,15 +378,17 @@ class Receivings extends Secure_Controller
$newdate = $this->input->post('date');
$date_formatter = date_create_from_format($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'), $newdate);
$receiving_time = $date_formatter->format('Y-m-d H:i:s');
$receiving_data = array(
'receiving_time' => $date_formatter->format('Y-m-d H:i:s'),
'receiving_time' => $receiving_time,
'supplier_id' => $this->input->post('supplier_id') ? $this->input->post('supplier_id') : NULL,
'employee_id' => $this->input->post('employee_id'),
'comment' => $this->input->post('comment'),
'reference' => $this->input->post('reference') != '' ? $this->input->post('reference') : NULL
);
$this->Inventory->update('RECV '.$receiving_id, ['trans_date' => $receiving_time]);
if($this->Receiving->update($receiving_data, $receiving_id))
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('receivings_successfully_updated'), 'id' => $receiving_id));

View File

@@ -50,7 +50,8 @@ class Reports extends Secure_Controller
foreach($report_data as $row)
{
$tabular_data[] = $this->xss_clean(array(
'sale_date' => date($this->config->item('dateformat'), strtotime($row['sale_date'])),
'sale_date' => to_date(strtotime($row['sale_date'])),
'sales' => to_quantity_decimals($row['sales']),
'quantity' => to_quantity_decimals($row['quantity_purchased']),
'subtotal' => to_currency($row['subtotal']),
'tax' => to_currency_tax($row['tax']),
@@ -156,6 +157,7 @@ class Reports extends Secure_Controller
{
$tabular_data[] = $this->xss_clean(array(
'customer_name' => $row['customer'],
'sales' => to_quantity_decimals($row['sales']),
'quantity' => to_quantity_decimals($row['quantity_purchased']),
'subtotal' => to_currency($row['subtotal']),
'tax' => to_currency_tax($row['tax']),
@@ -228,6 +230,8 @@ class Reports extends Secure_Controller
{
$tabular_data[] = $this->xss_clean(array(
'item_name' => $row['name'],
'category' => $row['category'],
'unit_price' => $row['unit_price'],
'quantity' => to_quantity_decimals($row['quantity_purchased']),
'subtotal' => to_currency($row['subtotal']),
'tax' => to_currency_tax($row['tax']),
@@ -264,6 +268,7 @@ class Reports extends Secure_Controller
{
$tabular_data[] = $this->xss_clean(array(
'employee_name' => $row['employee'],
'sales' => to_quantity_decimals($row['sales']),
'quantity' => to_quantity_decimals($row['quantity_purchased']),
'subtotal' => to_currency($row['subtotal']),
'tax' => to_currency_tax($row['tax']),
@@ -318,11 +323,60 @@ class Reports extends Secure_Controller
$this->load->view('reports/tabular', $data);
}
//Summary Discounts report
public function summary_discounts($start_date, $end_date, $sale_type, $location_id = 'all')
//Summary Sales Taxes report
public function summary_sales_taxes($start_date, $end_date, $sale_type, $location_id = 'all')
{
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id);
$this->load->model('reports/Summary_sales_taxes');
$model = $this->Summary_sales_taxes;
$report_data = $model->getData($inputs);
$summary = $this->xss_clean($model->getSummaryData($inputs));
$tabular_data = array();
foreach($report_data as $row)
{
$tabular_data[] = $this->xss_clean(array(
'reporting_authority' => $row['reporting_authority'],
'jurisdiction_name' => $row['jurisdiction_name'],
'tax_category' => $row['tax_category'],
'tax_rate' => $row['tax_rate'],
'tax' => to_currency_tax($row['tax'])
));
}
$data = array(
'title' => $this->lang->line('reports_sales_taxes_summary_report'),
'subtitle' => $this->_get_subtitle_report(array('start_date' => $start_date, 'end_date' => $end_date)),
'headers' => $this->xss_clean($model->getDataColumns()),
'data' => $tabular_data,
'summary_data' => $summary
);
$this->load->view('reports/tabular', $data);
}
public function summary_discounts_input()
{
$data = array();
$stock_locations = $data = $this->xss_clean($this->Stock_location->get_allowed_locations('sales'));
$stock_locations['all'] = $this->lang->line('reports_all');
$data['stock_locations'] = array_reverse($stock_locations, TRUE);
$data['mode'] = 'sale';
$data['discount_type_options'] = array(
'0' => $this->lang->line('reports_discount_percent'),
'1'=> $this->lang->line('reports_discount_fixed'));
$data['sale_type_options'] = $this->get_sale_type_options();
$this->load->view('reports/date_input', $data);
}
//Summary Discounts report
public function summary_discounts($start_date, $end_date, $sale_type, $location_id = 'all', $discount_type=0)
{
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id,'discount_type'=>$discount_type);
$this->load->model('reports/Summary_discounts');
$model = $this->Summary_discounts;
@@ -333,7 +387,8 @@ class Reports extends Secure_Controller
foreach($report_data as $row)
{
$tabular_data[] = $this->xss_clean(array(
'discount' => $row['discount_percent'],
'total' => to_currency($row['total']),
'discount' => $row['discount'],
'count' => $row['count']
));
}
@@ -350,9 +405,9 @@ class Reports extends Secure_Controller
}
//Summary Payments report
public function summary_payments($start_date, $end_date, $sale_type, $location_id = 'all')
public function summary_payments($start_date, $end_date)
{
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id);
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => 'complete', 'location_id' => 'all');
$this->load->model('reports/Summary_payments');
$model = $this->Summary_payments;
@@ -363,11 +418,35 @@ class Reports extends Secure_Controller
$tabular_data = array();
foreach($report_data as $row)
{
$tabular_data[] = $this->xss_clean(array(
'payment_type' => $row['payment_type'],
'report_count' => $row['count'],
'amount_due' => to_currency($row['payment_amount'])
));
if($row['trans_group'] == '<HR>')
{
$tabular_data[] = array(
'trans_group' => '--',
'trans_type' => '--',
'trans_sales' => '--',
'trans_amount' => '--',
'trans_payments' => '--',
'trans_refunded' => '--',
'trans_due' => '--'
);
}
else
{
if(empty($row['trans_type']))
{
$row['trans_type'] = $this->lang->line('reports_trans_nopay_sales');
}
$tabular_data[] = $this->xss_clean(array(
'trans_group' => $row['trans_group'],
'trans_type' => $row['trans_type'],
'trans_sales' => $row['trans_sales'],
'trans_amount' => to_currency($row['trans_amount']),
'trans_payments' => to_currency($row['trans_payments']),
'trans_refunded' => to_currency($row['trans_refunded']),
'trans_due' => to_currency($row['trans_due'])
));
}
}
$data = array(
@@ -477,7 +556,7 @@ class Reports extends Secure_Controller
{
$row = $this->xss_clean($row);
$date = date($this->config->item('dateformat'), strtotime($row['sale_date']));
$date = to_date(strtotime($row['sale_date']));
$labels[] = $date;
$series[] = array('meta' => $date, 'value' => $row['total']);
}
@@ -669,6 +748,40 @@ class Reports extends Secure_Controller
$this->load->view('reports/graphical', $data);
}
//Graphical summary sales taxes report
public function graphical_summary_sales_taxes($start_date, $end_date, $sale_type, $location_id = 'all')
{
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id);
$this->load->model('reports/Summary_sales_taxes');
$model = $this->Summary_sales_taxes;
$report_data = $model->getData($inputs);
$summary = $this->xss_clean($model->getSummaryData($inputs));
$labels = array();
$series = array();
foreach($report_data as $row)
{
$row = $this->xss_clean($row);
$labels[] = $row['jurisdiction_name'];
$series[] = array('meta' => $row['tax_rate'] . '%', 'value' => $row['tax']);
}
$data = array(
'title' => $this->lang->line('reports_sales_taxes_summary_report'),
'subtitle' => $this->_get_subtitle_report(array('start_date' => $start_date, 'end_date' => $end_date)),
'chart_type' => 'reports/graphs/pie',
'labels_1' => $labels,
'series_data_1' => $series,
'summary_data_1' => $summary,
'show_currency' => TRUE
);
$this->load->view('reports/graphical', $data);
}
//Graphical summary customers report
public function graphical_summary_customers($start_date, $end_date, $sale_type, $location_id = 'all')
{
@@ -706,9 +819,9 @@ class Reports extends Secure_Controller
}
//Graphical summary discounts report
public function graphical_summary_discounts($start_date, $end_date, $sale_type, $location_id = 'all')
public function graphical_summary_discounts($start_date, $end_date, $sale_type, $location_id = 'all', $discount_type=0)
{
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id);
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id,'discount_type'=>$discount_type);
$this->load->model('reports/Summary_discounts');
$model = $this->Summary_discounts;
@@ -722,7 +835,7 @@ class Reports extends Secure_Controller
{
$row = $this->xss_clean($row);
$labels[] = $row['discount_percent'];
$labels[] = $row['discount'];
$series[] = $row['count'];
}
@@ -734,7 +847,7 @@ class Reports extends Secure_Controller
'series_data_1' => $series,
'summary_data_1' => $summary,
'yaxis_title' => $this->lang->line('reports_count'),
'xaxis_title' => $this->lang->line('reports_discount_percent'),
'xaxis_title' => $this->lang->line('reports_discount'),
'show_currency' => FALSE
);
@@ -758,8 +871,11 @@ class Reports extends Secure_Controller
{
$row = $this->xss_clean($row);
$labels[] = $row['payment_type'];
$series[] = array('meta' => $row['payment_type'] . ' ' . round($row['payment_amount'] / $summary['total'] * 100, 2) . '%', 'value' => $row['payment_amount']);
if($row['trans_group'] == $this->lang->line('reports_trans_payments') && !empty($row['trans_amount']))
{
$labels[] = $row['trans_type'];
$series[] = array('meta' => $row['trans_type'] . ' ' . round($row['trans_amount'] / $summary['total'] * 100, 2) . '%', 'value' => $row['trans_amount']);
}
}
$data = array(
@@ -842,7 +958,7 @@ class Reports extends Secure_Controller
$summary_data[] = $this->xss_clean(array(
'id' => $row['sale_id'],
'type_code' => $row['type_code'],
'sale_date' => date($this->config->item('dateformat'), strtotime($row['sale_date'])),
'sale_date' => to_date(strtotime($row['sale_date'])),
'quantity' => to_quantity_decimals($row['items_purchased']),
'employee_name' => $row['employee_name'],
'subtotal' => to_currency($row['subtotal']),
@@ -861,7 +977,7 @@ class Reports extends Secure_Controller
$details_data[$row['sale_id']][] = $this->xss_clean(array(
$drow['name'],
$drow['category'],
$drow['serialnumber'],
$drow['item_number'],
$drow['description'],
to_quantity_decimals($drow['quantity_purchased']),
to_currency($drow['subtotal']),
@@ -869,7 +985,8 @@ class Reports extends Secure_Controller
to_currency($drow['total']),
to_currency($drow['cost']),
to_currency($drow['profit']),
$drow['discount_percent'].'%'));
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])
));
}
if(isset($report_data['rewards'][$key]))
@@ -953,7 +1070,7 @@ class Reports extends Secure_Controller
$summary_data[] = $this->xss_clean(array(
'id' => $row['sale_id'],
'type_code' => $row['type_code'],
'sale_date' => date($this->config->item('dateformat'), strtotime($row['sale_date'])),
'sale_date' => to_date(strtotime($row['sale_date'])),
'quantity' => to_quantity_decimals($row['items_purchased']),
'customer_name' => $row['customer_name'],
'subtotal' => to_currency($row['subtotal']),
@@ -972,7 +1089,7 @@ class Reports extends Secure_Controller
$details_data[$row['sale_id']][] = $this->xss_clean(array(
$drow['name'],
$drow['category'],
$drow['serialnumber'],
$drow['item_number'],
$drow['description'],
to_quantity_decimals($drow['quantity_purchased']),
to_currency($drow['subtotal']),
@@ -980,7 +1097,8 @@ class Reports extends Secure_Controller
to_currency($drow['total']),
to_currency($drow['cost']),
to_currency($drow['profit']),
$drow['discount_percent'].'%'));
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])
));
}
if(isset($report_data['rewards'][$key]))
@@ -1018,6 +1136,9 @@ class Reports extends Secure_Controller
$discounts[$i] = $i . '%';
}
$data['specific_input_data'] = $discounts;
$data['discount_type_options'] = array(
'0' => $this->lang->line('reports_discount_percent'),
'1'=> $this->lang->line('reports_discount_fixed'));
$data['sale_type_options'] = $this->get_sale_type_options();
$data = $this->xss_clean($data);
@@ -1025,9 +1146,9 @@ class Reports extends Secure_Controller
$this->load->view('reports/specific_input', $data);
}
public function specific_discount($start_date, $end_date, $discount, $sale_type)
public function specific_discount($start_date, $end_date, $discount, $sale_type, $discount_type)
{
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'discount' => $discount, 'sale_type' => $sale_type);
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'discount' => $discount, 'sale_type' => $sale_type, 'discount_type' => $discount_type);
$this->load->model('reports/Specific_discount');
$model = $this->Specific_discount;
@@ -1057,7 +1178,7 @@ class Reports extends Secure_Controller
$summary_data[] = $this->xss_clean(array(
'id' => $row['sale_id'],
'type_code' => $row['type_code'],
'sale_date' => date($this->config->item('dateformat'), strtotime($row['sale_date'])),
'sale_date' => to_date(strtotime($row['sale_date'])),
'quantity' => to_quantity_decimals($row['items_purchased']),
'employee_name' => $row['employee_name'],
'customer_name' => $row['customer_name'],
@@ -1077,7 +1198,7 @@ class Reports extends Secure_Controller
$details_data[$row['sale_id']][] = $this->xss_clean(array(
$drow['name'],
$drow['category'],
$drow['serialnumber'],
$drow['item_number'],
$drow['description'],
to_quantity_decimals($drow['quantity_purchased']),
to_currency($drow['subtotal']),
@@ -1085,7 +1206,8 @@ class Reports extends Secure_Controller
to_currency($drow['total']),
to_currency($drow['cost']),
to_currency($drow['profit']),
$drow['discount_percent'].'%'));
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])
));
}
if(isset($report_data['rewards'][$key]))
@@ -1134,7 +1256,7 @@ class Reports extends Secure_Controller
$summary_data = $this->xss_clean(array(
'sale_id' => $report_data['sale_id'],
'sale_date' => date($this->config->item('dateformat'), strtotime($report_data['sale_date'])),
'sale_date' => to_date(strtotime($report_data['sale_date'])),
'quantity' => to_quantity_decimals($report_data['items_purchased']),
'employee_name' => $report_data['employee_name'],
'customer_name' => $report_data['customer_name'],
@@ -1152,6 +1274,65 @@ class Reports extends Secure_Controller
echo json_encode(array($sale_id => $summary_data));
}
public function specific_supplier_input()
{
$data = array();
$data['specific_input_name'] = $this->lang->line('reports_supplier');
$supplier = array();
foreach($this->Supplier->get_all()->result() as $supplier)
{
$suppliers[$supplier->person_id] = $this->xss_clean($supplier->company_name . ' (' . $supplier->first_name . ' ' . $supplier->last_name . ')');
}
$data['specific_input_data'] = $suppliers;
$data['sale_type_options'] = $this->get_sale_type_options();
$this->load->view('reports/specific_input', $data);
}
public function specific_supplier($start_date, $end_date, $supplier_id, $sale_type)
{
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'supplier_id' => $supplier_id, 'sale_type' => $sale_type);
$this->load->model('reports/Specific_supplier');
$model = $this->Specific_supplier;
$model->create($inputs);
$report_data = $model->getData($inputs);
$tabular_data = array();
foreach($report_data as $row)
{
$tabular_data[] = $this->xss_clean(array(
'id' => $row['sale_id'],
'type_code' => $row['type_code'],
'sale_date' => to_date(strtotime($row['sale_date'])),
'name' => $row['name'],
'category' => $row['category'],
'item_number' => $row['item_number'],
'quantity' => to_quantity_decimals($row['items_purchased']),
'subtotal' => to_currency($row['subtotal']),
'tax' => to_currency_tax($row['tax']),
'total' => to_currency($row['total']),
'cost' => to_currency($row['cost']),
'profit' => to_currency($row['profit']),
'discount' => ($row['discount_type'] == PERCENT)? $row['discount'].'%':to_currency($row['discount'])
));
}
$supplier_info = $this->Supplier->get_info($supplier_id);
$data = array(
'title' => $this->xss_clean($supplier_info->company_name . ' (' . $supplier_info->first_name . ' ' . $supplier_info->last_name . ') ' . $this->lang->line('reports_report')),
'subtitle' => $this->_get_subtitle_report(array('start_date' => $start_date, 'end_date' => $end_date)),
'headers' => $this->xss_clean($model->getDataColumns()),
'data' => $tabular_data,
'summary_data' => $this->xss_clean($model->getSummaryData($inputs))
);
$this->load->view('reports/tabular', $data);
}
public function get_sale_type_options()
{
$sale_type_options = array();
@@ -1172,14 +1353,19 @@ class Reports extends Secure_Controller
public function detailed_sales($start_date, $end_date, $sale_type, $location_id = 'all')
{
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id);
$definition_names = $this->Attribute->get_definitions_by_flags(Attribute::SHOW_IN_SALES);
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id, 'definition_ids' => array_keys($definition_names));
$this->load->model('reports/Detailed_sales');
$model = $this->Detailed_sales;
$model->create($inputs);
$headers = $this->xss_clean($model->getDataColumns());
$columns = $model->getDataColumns();
$columns['details'] = array_merge($columns['details'], $definition_names);
$headers = $this->xss_clean($columns);
$report_data = $model->getData($inputs);
@@ -1205,7 +1391,7 @@ class Reports extends Secure_Controller
$summary_data[] = $this->xss_clean(array(
'id' => $row['sale_id'],
'type_code' => $row['type_code'],
'sale_date' => date($this->config->item('dateformat'), strtotime($row['sale_date'])),
'sale_date' => to_date(strtotime($row['sale_date'])),
'quantity' => to_quantity_decimals($row['items_purchased']),
'employee_name' => $row['employee_name'],
'customer_name' => $row['customer_name'],
@@ -1227,10 +1413,13 @@ class Reports extends Secure_Controller
{
$quantity_purchased .= ' [' . $this->Stock_location->get_location_name($drow['item_location']) . ']';
}
$details_data[$row['sale_id']][] = $this->xss_clean(array(
$attribute_values = expand_attribute_values($definition_names, $drow);
$details_data[$row['sale_id']][] = $this->xss_clean(array_merge(array(
$drow['name'],
$drow['category'],
$drow['serialnumber'],
$drow['item_number'],
$drow['description'],
$quantity_purchased,
to_currency($drow['subtotal']),
@@ -1238,7 +1427,7 @@ class Reports extends Secure_Controller
to_currency($drow['total']),
to_currency($drow['cost']),
to_currency($drow['profit']),
$drow['discount_percent'].'%'));
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])), $attribute_values));
}
if(isset($report_data['rewards'][$key]))
@@ -1276,7 +1465,7 @@ class Reports extends Secure_Controller
$summary_data = $this->xss_clean(array(
'receiving_id' => $report_data['receiving_id'],
'receiving_date' => date($this->config->item('dateformat'), strtotime($report_data['receiving_date'])),
'receiving_date' => to_date(strtotime($report_data['receiving_date'])),
'quantity' => to_quantity_decimals($report_data['items_purchased']),
'employee_name' => $report_data['employee_name'],
'supplier_name' => $report_data['supplier_name'],
@@ -1294,14 +1483,19 @@ class Reports extends Secure_Controller
public function detailed_receivings($start_date, $end_date, $receiving_type, $location_id = 'all')
{
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'receiving_type' => $receiving_type, 'location_id' => $location_id);
$definition_names = $this->Attribute->get_definitions_by_flags(Attribute::SHOW_IN_RECEIVINGS);
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'receiving_type' => $receiving_type, 'location_id' => $location_id, 'definition_ids' => array_keys($definition_names));
$this->load->model('reports/Detailed_receivings');
$model = $this->Detailed_receivings;
$model->create($inputs);
$headers = $this->xss_clean($model->getDataColumns());
$columns = $model->getDataColumns();
$columns['details'] = array_merge($columns['details'], $definition_names);
$headers = $this->xss_clean($columns);
$report_data = $model->getData($inputs);
$summary_data = array();
@@ -1313,7 +1507,7 @@ class Reports extends Secure_Controller
{
$summary_data[] = $this->xss_clean(array(
'id' => $row['receiving_id'],
'receiving_date' => date($this->config->item('dateformat'), strtotime($row['receiving_date'])),
'receiving_date' => to_date(strtotime($row['receiving_date'])),
'quantity' => to_quantity_decimals($row['items_purchased']),
'employee_name' => $row['employee_name'],
'supplier_name' => $row['supplier_name'],
@@ -1334,13 +1528,16 @@ class Reports extends Secure_Controller
{
$quantity_purchased .= ' [' . $this->Stock_location->get_location_name($drow['item_location']) . ']';
}
$details_data[$row['receiving_id']][] = $this->xss_clean(array(
$attribute_values = expand_attribute_values($definition_names, $drow);
$details_data[$row['receiving_id']][] = $this->xss_clean(array_merge(array(
$drow['item_number'],
$drow['name'],
$drow['category'],
$quantity_purchased,
to_currency($drow['total']),
$drow['discount_percent'].'%'));
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])), $attribute_values));
}
}
@@ -1419,7 +1616,9 @@ class Reports extends Secure_Controller
$tabular_data[] = $this->xss_clean(array(
'item_name' => $row['name'],
'item_number' => $row['item_number'],
'category' => $row['category'],
'quantity' => to_quantity_decimals($row['quantity']),
'low_sell_quantity' => to_quantity_decimals($row['low_sell_quantity']),
'reorder_level' => to_quantity_decimals($row['reorder_level']),
'location_name' => $row['location_name'],
'cost_price' => to_currency($row['cost_price']),

View File

File diff suppressed because it is too large Load Diff

View File

@@ -22,6 +22,7 @@ class Suppliers extends Persons
public function get_row($row_id)
{
$data_row = $this->xss_clean(get_supplier_data_row($this->Supplier->get_info($row_id)));
$data_row['category'] = $this->Supplier->get_category_name($data_row['category']);
echo json_encode($data_row);
}
@@ -34,7 +35,7 @@ class Suppliers extends Persons
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$sort = $this->input->post('sort') === NULL ? LAST_NAME : $this->db->escape($this->input->get('sort'));
$order = $this->input->get('order');
$suppliers = $this->Supplier->search($search, $limit, $offset, $sort, $order);
@@ -43,7 +44,9 @@ class Suppliers extends Persons
$data_rows = array();
foreach($suppliers->result() as $supplier)
{
$data_rows[] = $this->xss_clean(get_supplier_data_row($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));
@@ -77,6 +80,7 @@ class Suppliers extends Persons
$info->$property = $this->xss_clean($value);
}
$data['person_info'] = $info;
$data['categories'] = $this->Supplier->get_categories();
$this->load->view("suppliers/form", $data);
}
@@ -112,7 +116,9 @@ class Suppliers extends Persons
$supplier_data = array(
'company_name' => $this->input->post('company_name'),
'agency_name' => $this->input->post('agency_name'),
'account_number' => $this->input->post('account_number') == '' ? NULL : $this->input->post('account_number')
'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))

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->post('sort') === NULL ? 'tax_category' : $this->db->escape($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->post('sort') === NULL ? 'tax_code_name' : $this->db->escape($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->post('sort') === NULL ? 'jurisdiction_name' : $this->db->escape($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

@@ -9,16 +9,46 @@ class Taxes extends Secure_Controller
parent::__construct('taxes');
$this->load->model('enums/Rounding_mode');
$this->load->library('tax_lib');
$this->load->helper('tax_helper');
}
public function index()
{
$data['table_headers'] = $this->xss_clean(get_taxes_manage_table_headers());
$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.
*/
@@ -27,17 +57,17 @@ class Taxes extends Secure_Controller
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$sort = $this->input->post('sort') === NULL ? 'tax_code_name' : $this->db->escape($this->input->get('sort'));
$order = $this->input->get('order');
$tax_codes = $this->Tax->search($search, $limit, $offset, $sort, $order);
$tax_rates = $this->Tax->search($search, $limit, $offset, $sort, $order);
$total_rows = $this->Tax->get_found_rows($search);
$data_rows = array();
foreach($tax_codes->result() as $tax_code_row)
foreach($tax_rates->result() as $tax_rate_row)
{
$data_rows[] = $this->xss_clean(get_tax_data_row($tax_code_row));
$data_rows[] = $this->xss_clean(get_tax_rates_data_row($tax_rate_row));
}
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
@@ -58,7 +88,7 @@ class Taxes extends Secure_Controller
*/
public function suggest_tax_categories()
{
$suggestions = $this->xss_clean($this->Tax->get_tax_category_suggestions($this->input->post('term')));
$suggestions = $this->xss_clean($this->Tax_category->get_tax_category_suggestions($this->input->post('term')));
echo json_encode($suggestions);
}
@@ -66,12 +96,12 @@ class Taxes extends Secure_Controller
public function get_row($row_id)
{
$data_row = $this->xss_clean(get_tax_codes_data_row($this->Tax->get_info($row_id), $this));
$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_code = -1)
public function view_tax_codes($tax_code = -1)
{
$tax_code_info = $this->Tax->get_info($tax_code);
@@ -80,6 +110,15 @@ class Taxes extends Secure_Controller
$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();
@@ -114,21 +153,197 @@ class Taxes extends Secure_Controller
$data = $this->xss_clean($data);
$tax_code_rates = array();
$tax_rates = array();
foreach($this->Tax->get_tax_code_rate_exceptions($tax_code) as $tax_code_rate)
{
$tax_code_row = array();
$tax_code_row['rate_tax_category_id'] = $this->xss_clean($tax_code_rate['rate_tax_category_id']);
$tax_code_row['tax_category'] = $this->xss_clean($tax_code_rate['tax_category']);
$tax_code_row['tax_rate'] = $this->xss_clean($tax_code_rate['tax_rate']);
$tax_code_row['rounding_code'] = $this->xss_clean($tax_code_rate['rounding_code']);
$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_code_rates[] = $tax_code_row;
$tax_rates[] = $tax_rate_row;
}
$data['tax_code_rates'] = $tax_code_rates;
$data['tax_rates'] = $tax_rates;
$this->load->view("taxes/form", $data);
$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()
@@ -136,63 +351,37 @@ class Taxes extends Secure_Controller
return Rounding_mode::get_html_rounding_options();
}
public function save($tax_code = -1)
public function save($tax_rate_id = -1)
{
$entered_tax_code = $this->xss_clean($this->input->post('tax_code'));
$tax_code_data = array(
'tax_code' => strtoupper($this->input->post('tax_code')),
'tax_code_name' => $this->input->post('tax_code_name'),
'tax_code_type' => $this->input->post('tax_code_type'),
'city' => $this->input->post('city'),
'state' => $this->input->post('state'));
$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' => $this->input->post('tax_code'),
'rate_tax_category_id' => 1,
'tax_rate' => parse_decimals($this->input->post('tax_rate')),
'rounding_code' => $this->input->post('rounding_code')
'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_code_data, $tax_rate_data, $tax_code))
if($this->Tax->save($tax_rate_data, $tax_rate_id))
{
$tax_code_rate_exceptions = array();
if(!empty($this->input->post('exception_tax_rate')))
if($tax_rate_id == -1)
{
foreach($this->input->post('exception_tax_rate') as $tax_category_id => $exception_tax_rate)
{
$exception_rounding_code = $this->input->post('exception_rounding_code[' . $tax_category_id . ']');
$tax_code_rate_exceptions[] = array(
'rate_tax_code' => $entered_tax_code,
'rate_tax_category_id' => $tax_category_id,
'tax_rate' => $exception_tax_rate,
'rounding_code' => $exception_rounding_code
);
}
}
if(!empty($tax_code_rate_exceptions))
{
$success = $this->Tax->save_tax_rate_exceptions($tax_code_rate_exceptions, $entered_tax_code);
}
$tax_code_data = $this->xss_clean($tax_code_data);
//New tax_code record
if($tax_code == -1)
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_tax_code_successfully_added') . ' ' . $entered_tax_code));
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_code_successful_updated') . ' ' . $entered_tax_code));
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_tax_rate_successful_updated')));
}
}
else //failure
else
{
$tax_code_data = $this->xss_clean($tax_code_data);
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_tax_code_error_adding_updating') . ' ' .
$entered_tax_code));
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_tax_rate_error_adding_updating')));
}
}
@@ -209,12 +398,145 @@ class Taxes extends Secure_Controller
}
}
public function suggest_sales_tax_codes()
public function suggest_tax_codes()
{
$suggestions = $this->xss_clean($this->Tax->get_sales_tax_codes_search_suggestions($this->input->post_get('term')));
$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

@@ -10,10 +10,17 @@ class MY_Lang extends CI_Lang
$CI->config->set_item('language', $idiom);
$loaded = $this->is_loaded;
$this->is_loaded = array();
foreach($loaded as $file)
{
$this->load(strtr($file, '', '_lang.php'));
$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;
}
}
}
}
}

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

@@ -4,25 +4,13 @@
* PDF helper
*/
function pdf_create($html, $filename = '')
function create_pdf($html, $filename = '')
{
// need to enable magic quotes for the
$magic_quotes_enabled = get_magic_quotes_runtime();
if(!$magic_quotes_enabled)
{
ini_set('magic_quotes_runtime', TRUE);
}
$dompdf = new Dompdf\Dompdf();
$dompdf->loadHtml($html);
$dompdf = new Dompdf\Dompdf(array("isRemoteEnabled" => TRUE, "isPhpEnabled" => TRUE));
$dompdf->loadHtml(str_replace(array("\n", "\r"), '', $html));
$dompdf->render();
if(!$magic_quotes_enabled)
{
ini_set('magic_quotes_runtime', $magic_quotes_enabled);
}
if($filename != '')
{
$dompdf->stream($filename . '.pdf');

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,5 +1,14 @@
<?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
*/
@@ -11,14 +20,17 @@ function current_language_code($load_system_language = FALSE)
// 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_language_code = $employee->get_logged_in_employee_info()->language_code;
if($employee_language_code != NULL && $employee_language_code != '')
$employee_info = $employee->get_logged_in_employee_info();
if(property_exists($employee_info, 'language_code') && !empty($employee_info->language_code))
{
return $employee_language_code;
return $employee_info->language_code;
}
}
return get_instance()->config->item('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)
@@ -28,42 +40,63 @@ function current_language($load_system_language = FALSE)
// Returns the language of the employee if set or system language if not
if($employee->is_logged_in() && $load_system_language != TRUE)
{
$employee_language = $employee->get_logged_in_employee_info()->language;
if($employee_language != NULL && $employee_language != '')
$employee_info = $employee->get_logged_in_employee_info();
if(property_exists($employee_info, 'language') && !empty($employee_info->language))
{
return $employee_language;
return $employee_info->language;
}
}
return get_instance()->config->item('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)',
'pt-BR:portuguese-brazilian' => 'Portuguese (Brazil)',
'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:simplified-chinese' => 'Chinese'
'zh-Hans:simplified-chinese' => 'Chinese Simplified Script',
'zh-Hant:traditional-chinese' => 'Chinese Traditional Script'
);
}
@@ -103,10 +136,11 @@ function get_timezones()
'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/Cancun' => '(GMT-06:00) Guadalajara, Mexico City, Monterrey',
'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',
@@ -206,15 +240,17 @@ function get_timeformats()
);
}
/*
Gets the payment options
*/
Gets the payment options
*/
function get_payment_options()
{
$config = get_instance()->config;
$lang = get_instance()->lang;
$payments = array();
$payments = [];
if($config->item('payment_options_order') == 'debitcreditcash')
{
@@ -250,6 +286,12 @@ function get_payment_options()
$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;
}
@@ -291,6 +333,20 @@ function tax_decimals()
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);
@@ -305,13 +361,13 @@ function to_currency_tax($number)
{
$config = get_instance()->config;
if($config->item('customer_sales_tax_support') == '1')
if($config->item('tax_included') == '1')
{
return to_decimals($number, 'currency_decimals', \NumberFormatter::CURRENCY);
return to_decimals($number, 'tax_decimals', \NumberFormatter::CURRENCY);
}
else
{
return to_decimals($number, 'tax_decimals', \NumberFormatter::CURRENCY);
return to_decimals($number, 'currency_decimals', \NumberFormatter::CURRENCY);
}
}
@@ -332,7 +388,7 @@ function to_quantity_decimals($number)
return to_decimals($number, 'quantity_decimals');
}
function to_decimals($number, $decimals, $type=\NumberFormatter::DECIMAL)
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
@@ -343,8 +399,9 @@ function to_decimals($number, $decimals, $type=\NumberFormatter::DECIMAL)
$config = get_instance()->config;
$fmt = new \NumberFormatter($config->item('number_locale'), $type);
$fmt->setAttribute(\NumberFormatter::MIN_FRACTION_DIGITS, $config->item($decimals));
$fmt->setAttribute(\NumberFormatter::MAX_FRACTION_DIGITS, $config->item($decimals));
$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, '');
@@ -354,7 +411,17 @@ function to_decimals($number, $decimals, $type=\NumberFormatter::DECIMAL)
return $fmt->format($number);
}
function parse_decimals($number)
function parse_quantity($number)
{
return parse_decimals($number, quantity_decimals());
}
function parse_tax($number)
{
return parse_decimals($number, tax_decimals());
}
function parse_decimals($number, $decimals = NULL)
{
// ignore empty strings and return
if(empty($number))
@@ -362,10 +429,24 @@ function parse_decimals($number)
return $number;
}
$config = get_instance()->config;
$fmt = new \NumberFormatter($config->item('number_locale'), \NumberFormatter::DECIMAL);
if ($number > MAX_PRECISION)
{
return FALSE;
}
$fmt->setAttribute(\NumberFormatter::FRACTION_DIGITS, $config->item('currency_decimals'));
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')))
{
@@ -431,6 +512,50 @@ function dateformat_momentjs($php_format)
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(
@@ -472,4 +597,15 @@ function dateformat_bootstrap($php_format)
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

@@ -9,7 +9,7 @@ function execute_script($path)
$CI =& get_instance();
$version = preg_replace("/(.*_)?(.*).sql/", "$2", $path);
error_log("Migrating to $version");
error_log("Migrating to $version (file: $path)");
$sql = file_get_contents($path);

View File

@@ -86,11 +86,12 @@ Get the html data row for the sales
function get_sale_data_row($sale)
{
$CI =& get_instance();
$controller_name = $CI->uri->segment(1);
$row = array (
'sale_id' => $sale->sale_id,
'sale_time' => date($CI->config->item('dateformat') . ' ' . $CI->config->item('timeformat'), strtotime($sale->sale_time)),
'sale_time' => to_datetime(strtotime($sale->sale_time)),
'customer_name' => $sale->customer_name,
'amount_due' => to_currency($sale->amount_due),
'amount_tendered' => to_currency($sale->amount_tendered),
@@ -122,6 +123,7 @@ Get the html data last row for the sales
function get_sale_data_last_row($sales)
{
$CI =& get_instance();
$sum_amount_due = 0;
$sum_amount_tendered = 0;
$sum_change_due = 0;
@@ -145,26 +147,20 @@ function get_sale_data_last_row($sales)
/*
Get the sales payments summary
*/
function get_sales_manage_payments_summary($payments, $sales)
function get_sales_manage_payments_summary($payments)
{
$CI =& get_instance();
$table = '<div id="report_summary">';
$total = 0;
foreach($payments as $key=>$payment)
{
$amount = $payment['payment_amount'];
// WARNING: the strong assumption here is that if a change is due it was a cash transaction always
// therefore we remove from the total cash amount any change due
if( $payment['payment_type'] == $CI->lang->line('sales_cash') )
{
foreach($sales->result_array() as $key=>$sale)
{
$amount -= $sale['change_due'];
}
}
$total = bcadd($total, $amount);
$table .= '<div class="summary_row">' . $payment['payment_type'] . ': ' . to_currency($amount) . '</div>';
}
$table .= '<div class="summary_row">' . $CI->lang->line('sales_total') . ': ' . to_currency($total) . '</div>';
$table .= '</div>';
return $table;
@@ -212,7 +208,8 @@ function get_person_data_row($person)
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line('messages_sms_send'))),
'edit' => anchor($controller_name."/view/$person->person_id", '<span class="glyphicon glyphicon-edit"></span>',
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
));
)
);
}
@@ -246,6 +243,7 @@ Get the html data row for the customer
function get_customer_data_row($person, $stats)
{
$CI =& get_instance();
$controller_name = strtolower(get_class($CI));
return array (
@@ -274,6 +272,7 @@ function get_suppliers_manage_table_headers()
array('people.person_id' => $CI->lang->line('common_id')),
array('company_name' => $CI->lang->line('suppliers_company_name')),
array('agency_name' => $CI->lang->line('suppliers_agency_name')),
array('category' => $CI->lang->line('suppliers_category')),
array('last_name' => $CI->lang->line('common_last_name')),
array('first_name' => $CI->lang->line('common_first_name')),
array('email' => $CI->lang->line('common_email')),
@@ -294,12 +293,14 @@ Get the html data row for the supplier
function get_supplier_data_row($supplier)
{
$CI =& get_instance();
$controller_name = strtolower(get_class($CI));
return array (
'people.person_id' => $supplier->person_id,
'company_name' => $supplier->company_name,
'agency_name' => $supplier->agency_name,
'category' => $supplier->category,
'last_name' => $supplier->last_name,
'first_name' => $supplier->first_name,
'email' => empty($supplier->email) ? '' : mailto($supplier->email, $supplier->email),
@@ -308,7 +309,7 @@ function get_supplier_data_row($supplier)
array('class'=>"modal-dlg", 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line('messages_sms_send'))),
'edit' => anchor($controller_name."/view/$supplier->person_id", '<span class="glyphicon glyphicon-edit"></span>',
array('class'=>"modal-dlg", 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update')))
);
);
}
@@ -319,6 +320,8 @@ function get_items_manage_table_headers()
{
$CI =& get_instance();
$definition_names = $CI->Attribute->get_definitions_by_flags(Attribute::SHOW_IN_ITEMS);
$headers = array(
array('items.item_id' => $CI->lang->line('common_id')),
array('item_number' => $CI->lang->line('items_item_number')),
@@ -327,13 +330,29 @@ function get_items_manage_table_headers()
array('company_name' => $CI->lang->line('suppliers_company_name')),
array('cost_price' => $CI->lang->line('items_cost_price')),
array('unit_price' => $CI->lang->line('items_unit_price')),
array('quantity' => $CI->lang->line('items_quantity')),
array('tax_percents' => $CI->lang->line('items_tax_percents'), 'sortable' => FALSE),
array('item_pic' => $CI->lang->line('items_image'), 'sortable' => FALSE),
array('inventory' => ''),
array('stock' => '')
array('quantity' => $CI->lang->line('items_quantity'))
);
if($CI->config->item('use_destination_based_tax') == '1')
{
$headers[] = array('tax_percents' => $CI->lang->line('items_tax_category'), 'sortable' => FALSE);
}
else
{
$headers[] = array('tax_percents' => $CI->lang->line('items_tax_percents'), 'sortable' => FALSE);
}
$headers[] = array('item_pic' => $CI->lang->line('items_image'), 'sortable' => FALSE);
foreach($definition_names as $definition_id => $definition_name)
{
$headers[] = array($definition_id => $definition_name, 'sortable' => FALSE);
}
$headers[] = array('inventory' => '');
$headers[] = array('stock' => '');
return transform_headers($headers);
}
@@ -343,14 +362,32 @@ Get the html data row for the item
function get_item_data_row($item)
{
$CI =& get_instance();
$item_tax_info = $CI->Item_taxes->get_info($item->item_id);
$tax_percents = '';
foreach($item_tax_info as $tax_info)
if($CI->config->item('use_destination_based_tax') == '1')
{
$tax_percents .= to_tax_decimals($tax_info['percent']) . '%, ';
if($item->tax_category_id == NULL)
{
$tax_percents = '-';
}
else
{
$tax_category_info = $CI->Tax_category->get_info($item->tax_category_id);
$tax_percents = $tax_category_info->tax_category;
}
}
// remove ', ' from last item
$tax_percents = substr($tax_percents, 0, -2);
else
{
$item_tax_info = $CI->Item_taxes->get_info($item->item_id);
$tax_percents = '';
foreach($item_tax_info as $tax_info)
{
$tax_percents .= to_tax_decimals($tax_info['percent']) . '%, ';
}
// remove ', ' from last item
$tax_percents = substr($tax_percents, 0, -2);
$tax_percents = !$tax_percents ? '-' : $tax_percents;
}
$controller_name = strtolower(get_class($CI));
$image = NULL;
@@ -374,7 +411,14 @@ function get_item_data_row($item)
}
}
return array (
if($CI->config->item('multi_pack_enabled') == '1')
{
$item->name .= NAME_SEPARATOR . $item->pack_name;
}
$definition_names = $CI->Attribute->get_definitions_by_flags(Attribute::SHOW_IN_ITEMS);
$columns = array (
'items.item_id' => $item->item_id,
'item_number' => $item->item_number,
'name' => $item->name,
@@ -384,7 +428,10 @@ function get_item_data_row($item)
'unit_price' => to_currency($item->unit_price),
'quantity' => to_quantity_decimals($item->quantity),
'tax_percents' => !$tax_percents ? '-' : $tax_percents,
'item_pic' => $image,
'item_pic' => $image
);
$icons = array(
'inventory' => anchor($controller_name."/inventory/$item->item_id", '<span class="glyphicon glyphicon-pushpin"></span>',
array('class' => 'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title' => $CI->lang->line($controller_name.'_count'))
),
@@ -393,7 +440,11 @@ function get_item_data_row($item)
),
'edit' => anchor($controller_name."/view/$item->item_id", '<span class="glyphicon glyphicon-edit"></span>',
array('class' => 'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title' => $CI->lang->line($controller_name.'_update'))
));
)
);
return $columns + expand_attribute_values($definition_names, (array) $item) + $icons;
}
@@ -421,6 +472,7 @@ Get the html data row for the giftcard
function get_giftcard_data_row($giftcard)
{
$CI =& get_instance();
$controller_name=strtolower(get_class($CI));
return array (
@@ -431,54 +483,10 @@ function get_giftcard_data_row($giftcard)
'value' => to_currency($giftcard->value),
'edit' => anchor($controller_name."/view/$giftcard->giftcard_id", '<span class="glyphicon glyphicon-edit"></span>',
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
));
}
/*
Get the header for the taxes tabular view
*/
function get_taxes_manage_table_headers()
{
$CI =& get_instance();
$headers = array(
array('tax_code' => $CI->lang->line('taxes_tax_code')),
array('tax_code_name' => $CI->lang->line('taxes_tax_code_name')),
array('tax_code_type_name' => $CI->lang->line('taxes_tax_code_type')),
array('tax_rate' => $CI->lang->line('taxes_tax_rate')),
array('rounding_code_name' => $CI->lang->line('taxes_rounding_code')),
array('city' => $CI->lang->line('common_city')),
array('state' => $CI->lang->line('common_state'))
)
);
return transform_headers($headers);
}
/*
Get the html data row for the tax
*/
function get_tax_data_row($tax_code_row)
{
$CI =& get_instance();
$controller_name=strtolower(get_class($CI));
return array (
'tax_code' => $tax_code_row->tax_code,
'tax_code_name' => $tax_code_row->tax_code_name,
'tax_code_type' => $tax_code_row->tax_code_type,
'tax_rate' => $tax_code_row->tax_rate,
'rounding_code' =>$tax_code_row->rounding_code,
'tax_code_type_name' => $CI->Tax->get_tax_code_type_name($tax_code_row->tax_code_type),
'rounding_code_name' => Rounding_mode::get_rounding_code_name($tax_code_row->rounding_code),
'city' => $tax_code_row->city,
'state' => $tax_code_row->state,
'edit' => anchor($controller_name."/view/$tax_code_row->tax_code", '<span class="glyphicon glyphicon-edit"></span>',
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
));
}
/*
Get the header for the item kits tabular view
*/
@@ -488,6 +496,7 @@ function get_item_kits_manage_table_headers()
$headers = array(
array('item_kit_id' => $CI->lang->line('item_kits_kit')),
array('item_kit_number' => $CI->lang->line('item_kits_item_kit_number')),
array('name' => $CI->lang->line('item_kits_name')),
array('description' => $CI->lang->line('item_kits_description')),
array('total_cost_price' => $CI->lang->line('items_cost_price'), 'sortable' => FALSE),
@@ -503,19 +512,106 @@ Get the html data row for the item kit
function get_item_kit_data_row($item_kit)
{
$CI =& get_instance();
$controller_name = strtolower(get_class($CI));
return array (
'item_kit_id' => $item_kit->item_kit_id,
'item_kit_number' => $item_kit->item_kit_number,
'name' => $item_kit->name,
'description' => $item_kit->description,
'total_cost_price' => to_currency($item_kit->total_cost_price),
'total_unit_price' => to_currency($item_kit->total_unit_price),
'edit' => anchor($controller_name."/view/$item_kit->item_kit_id", '<span class="glyphicon glyphicon-edit"></span>',
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
));
)
);
}
function parse_attribute_values($columns, $row) {
$attribute_values = array();
foreach($columns as $column) {
if (array_key_exists($column, $row))
{
$attribute_value = explode('|', $row[$column]);
$attribute_values = array_merge($attribute_values, $attribute_value);
}
}
return $attribute_values;
}
function expand_attribute_values($definition_names, $row)
{
$values = parse_attribute_values(array('attribute_values', 'attribute_dtvalues', 'attribute_dvalues'), $row);
$indexed_values = array();
foreach($values as $attribute_value)
{
$exploded_value = explode('_', $attribute_value);
if(sizeof($exploded_value) > 1)
{
$indexed_values[$exploded_value[0]] = $exploded_value[1];
}
}
$attribute_values = array();
foreach($definition_names as $definition_id => $definition_name)
{
if(isset($indexed_values[$definition_id]))
{
$attribute_value = $indexed_values[$definition_id];
$attribute_values["$definition_id"] = $attribute_value;
}
}
return $attribute_values;
}
function get_attribute_definition_manage_table_headers()
{
$CI =& get_instance();
$headers = array(
array('definition_id' => $CI->lang->line('attributes_definition_id')),
array('definition_name' => $CI->lang->line('attributes_definition_name')),
array('definition_type' => $CI->lang->line('attributes_definition_type')),
array('definition_flags' => $CI->lang->line('attributes_definition_flags')),
array('definition_group' => $CI->lang->line('attributes_definition_group')),
);
return transform_headers($headers);
}
function get_attribute_definition_data_row($attribute)
{
$CI =& get_instance();
$controller_name = strtolower(get_class($CI));
if(count($attribute->definition_flags) == 0)
{
$definition_flags = $CI->lang->line('common_none_selected_text');
}
else if($attribute->definition_type == GROUP)
{
$definition_flags = "-";
}
else
{
$definition_flags = implode(', ', $attribute->definition_flags);
}
return array (
'definition_id' => $attribute->definition_id,
'definition_name' => $attribute->definition_name,
'definition_type' => $attribute->definition_type,
'definition_group' => $attribute->definition_group,
'definition_flags' => $definition_flags,
'edit' => anchor("$controller_name/view/$attribute->definition_id", '<span class="glyphicon glyphicon-edit"></span>',
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
)
);
}
/*
Get the header for the expense categories tabular view
@@ -539,6 +635,7 @@ Gets the html data row for the expenses category
function get_expense_category_data_row($expense_category)
{
$CI =& get_instance();
$controller_name = strtolower(get_class($CI));
return array (
@@ -547,7 +644,8 @@ function get_expense_category_data_row($expense_category)
'category_description' => $expense_category->category_description,
'edit' => anchor($controller_name."/view/$expense_category->expense_category_id", '<span class="glyphicon glyphicon-edit"></span>',
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
));
)
);
}
@@ -557,6 +655,7 @@ Get the header for the expenses tabular view
function get_expenses_manage_table_headers()
{
$CI =& get_instance();
$headers = array(
array('expense_id' => $CI->lang->line('expenses_expense_id')),
array('date' => $CI->lang->line('expenses_date')),
@@ -567,22 +666,24 @@ function get_expenses_manage_table_headers()
array('payment_type' => $CI->lang->line('expenses_payment')),
array('category_name' => $CI->lang->line('expenses_categories_name')),
array('description' => $CI->lang->line('expenses_description')),
array('createdBy' => $CI->lang->line('expenses_employee'))
array('created_by' => $CI->lang->line('expenses_employee'))
);
return transform_headers($headers);
}
/*
Gets the html data row for the expenses.
Gets the html data row for the expenses
*/
function get_expenses_data_row($expense)
{
$CI =& get_instance();
$controller_name = strtolower(get_class($CI));
return array (
'expense_id' => $expense->expense_id,
'date' => date($CI->config->item('dateformat') . ' ' . $CI->config->item('timeformat'), strtotime($expense->date)),
'date' => to_datetime(strtotime($expense->date)),
'supplier_name' => $expense->supplier_name,
'supplier_tax_code' => $expense->supplier_tax_code,
'amount' => to_currency($expense->amount),
@@ -590,10 +691,11 @@ function get_expenses_data_row($expense)
'payment_type' => $expense->payment_type,
'category_name' => $expense->category_name,
'description' => $expense->description,
'createdBy' => $expense->first_name.' '. $expense->last_name,
'created_by' => $expense->first_name.' '. $expense->last_name,
'edit' => anchor($controller_name."/view/$expense->expense_id", '<span class="glyphicon glyphicon-edit"></span>',
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
));
)
);
}
/*
@@ -602,6 +704,7 @@ Get the html data last row for the expenses
function get_expenses_data_last_row($expense)
{
$CI =& get_instance();
$table_data_rows = '';
$sum_amount_expense = 0;
$sum_tax_amount_expense = 0;
@@ -626,6 +729,7 @@ Get the expenses payments summary
function get_expenses_manage_payments_summary($payments, $expenses)
{
$CI =& get_instance();
$table = '<div id="report_summary">';
foreach($payments as $key=>$payment)
@@ -633,9 +737,65 @@ function get_expenses_manage_payments_summary($payments, $expenses)
$amount = $payment['amount'];
$table .= '<div class="summary_row">' . $payment['payment_type'] . ': ' . to_currency($amount) . '</div>';
}
$table .= '</div>';
return $table;
}
/*
Get the header for the cashup tabular view
*/
function get_cashups_manage_table_headers()
{
$CI =& get_instance();
$headers = array(
array('cashup_id' => $CI->lang->line('cashups_id')),
array('open_date' => $CI->lang->line('cashups_opened_date')),
array('open_employee_id' => $CI->lang->line('cashups_open_employee')),
array('open_amount_cash' => $CI->lang->line('cashups_open_amount_cash')),
array('transfer_amount_cash' => $CI->lang->line('cashups_transfer_amount_cash')),
array('close_date' => $CI->lang->line('cashups_closed_date')),
array('close_employee_id' => $CI->lang->line('cashups_close_employee')),
array('closed_amount_cash' => $CI->lang->line('cashups_closed_amount_cash')),
array('note' => $CI->lang->line('cashups_note')),
array('closed_amount_due' => $CI->lang->line('cashups_closed_amount_due')),
array('closed_amount_card' => $CI->lang->line('cashups_closed_amount_card')),
array('closed_amount_check' => $CI->lang->line('cashups_closed_amount_check')),
array('closed_amount_total' => $CI->lang->line('cashups_closed_amount_total'))
);
return transform_headers($headers);
}
/*
Gets the html data row for the cashups
*/
function get_cash_up_data_row($cash_up)
{
$CI =& get_instance();
$controller_name = strtolower(get_class($CI));
return array (
'cashup_id' => $cash_up->cashup_id,
'open_date' => to_datetime(strtotime($cash_up->open_date)),
'open_employee_id' => $cash_up->open_first_name . ' ' . $cash_up->open_last_name,
'open_amount_cash' => to_currency($cash_up->open_amount_cash),
'transfer_amount_cash' => to_currency($cash_up->transfer_amount_cash),
'close_date' => to_datetime(strtotime($cash_up->close_date)),
'close_employee_id' => $cash_up->close_first_name . ' ' . $cash_up->close_last_name,
'closed_amount_cash' => to_currency($cash_up->closed_amount_cash),
'note' => $cash_up->note ? '<span class="glyphicon glyphicon-ok"></span>' : '<span class="glyphicon glyphicon-remove"></span>',
'closed_amount_due' => to_currency($cash_up->closed_amount_due),
'closed_amount_card' => to_currency($cash_up->closed_amount_card),
'closed_amount_check' => to_currency($cash_up->closed_amount_check),
'closed_amount_total' => to_currency($cash_up->closed_amount_total),
'edit' => anchor($controller_name."/view/$cash_up->cashup_id", '<span class="glyphicon glyphicon-edit"></span>',
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
)
);
}
?>

View File

@@ -0,0 +1,158 @@
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
* Tax Configuration tabular helpers
*/
/*
Get the header for the taxes tabular view
*/
function get_tax_code_table_headers()
{
$CI =& get_instance();
$headers = array(
array('tax_code' => $CI->lang->line('taxes_tax_code')),
array('tax_code_name' => $CI->lang->line('taxes_tax_code_name')),
array('city' => $CI->lang->line('common_city')),
array('state' => $CI->lang->line('common_state'))
);
return transform_headers($headers);
}
/*
Get the html data row for the tax
*/
function get_tax_code_data_row($tax_code_row)
{
$CI =& get_instance();
$controller_name = 'tax_codes';
return array (
'tax_code' => $tax_code_row->tax_code,
'tax_code_name' => $tax_code_row->tax_code_name,
'tax_code_type' => $tax_code_row->tax_code_type,
'city' => $tax_code_row->city,
'state' => $tax_code_row->state,
'edit' => anchor($controller_name."/view_tax_codes/$tax_code_row->tax_code", '<span class="glyphicon glyphicon-edit"></span>',
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update_tax_codes'))
)
);
}
/*
Get the header for the taxes tabular view
*/
function get_tax_categories_table_headers()
{
$CI =& get_instance();
$headers = array(
array('tax_category' => $CI->lang->line('taxes_tax_category_name')),
array('tax_category_code' => $CI->lang->line('taxes_tax_category_code')),
array('tax_group_sequence' => $CI->lang->line('taxes_tax_group_sequence')),
);
return transform_headers($headers);
}
/*
Get the html data row for the tax
*/
function get_tax_categories_data_row($tax_categories_row)
{
$CI =& get_instance();
$controller_name = 'tax_categories';
return array (
'tax_category_id' => $tax_categories_row->tax_category_id,
'tax_category' => $tax_categories_row->tax_category,
'tax_category_code' => $tax_categories_row->tax_category_code,
'tax_group_sequence' => $tax_categories_row->tax_group_sequence,
'edit' => anchor($controller_name."/view/$tax_categories_row->tax_category_id", '<span class="glyphicon glyphicon-edit"></span>',
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
)
);
}
/*
Get the header for the taxes tabular view
*/
function get_tax_jurisdictions_table_headers()
{
$CI =& get_instance();
$headers = array(
array('jurisdiction_id' => $CI->lang->line('taxes_jurisdiction_id')),
array('jurisdiction_name' => $CI->lang->line('taxes_jurisdiction_name')),
array('reporting_authority' => $CI->lang->line('taxes_reporting_authority'))
);
return transform_headers($headers);
}
/*
Get the html data row for the tax
*/
function get_tax_jurisdictions_data_row($tax_jurisdiction_row)
{
$CI =& get_instance();
$controller_name='tax_jurisdictions';
return array (
'jurisdiction_id' => $tax_jurisdiction_row->jurisdiction_id,
'jurisdiction_name' => $tax_jurisdiction_row->jurisdiction_name,
'reporting_authority' => $tax_jurisdiction_row->reporting_authority,
'edit' => anchor($controller_name."/view/$tax_jurisdiction_row->jurisdiction_id", '<span class="glyphicon glyphicon-edit"></span>',
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
)
);
}
/*
Get the header for the taxes tabular view
*/
function get_tax_rates_manage_table_headers()
{
$CI =& get_instance();
$headers = array(
array('tax_code' => $CI->lang->line('taxes_tax_code')),
array('tax_code_name' => $CI->lang->line('taxes_tax_code_name')),
array('jurisdiction_name' => $CI->lang->line('taxes_jurisdiction_name')),
array('tax_category' => $CI->lang->line('taxes_tax_category')),
array('tax_rate' => $CI->lang->line('taxes_tax_rate')),
array('rounding_code_name' => $CI->lang->line('taxes_rounding_code'))
);
return transform_headers($headers);
}
/*
Get the html data row for the tax
*/
function get_tax_rates_data_row($tax_rates_row)
{
$CI =& get_instance();
$controller_name = strtolower(get_class($CI));
return array (
'tax_rate_id' => $tax_rates_row->tax_rate_id,
'tax_code' => $tax_rates_row->tax_code,
'tax_code_name' => $tax_rates_row->tax_code_name,
'tax_category' => $tax_rates_row->tax_category,
'tax_rate' => $tax_rates_row->tax_rate,
'jurisdiction_name' => $tax_rates_row->jurisdiction_name,
'tax_rounding_code' =>$tax_rates_row->tax_rounding_code,
'rounding_code_name' => Rounding_mode::get_rounding_code_name($tax_rates_row->tax_rounding_code),
'edit' => anchor($controller_name."/view/$tax_rates_row->tax_rate_id", '<span class="glyphicon glyphicon-edit"></span>',
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
)
);
}
?>

View File

@@ -7,25 +7,28 @@ function load_config()
{
$CI =& get_instance();
$migration = $CI->load->library('migration');
if (!$CI->migration->is_latest())
{
$CI->session->sess_destroy();
}
foreach($CI->Appconfig->get_all()->result() as $app_config)
{
$CI->config->set_item($CI->security->xss_clean($app_config->key), $CI->security->xss_clean($app_config->value));
}
//Loads all the language files from the language directory
if(!empty(current_language()))
{
// fallback to English if language folder does not exist
if(!file_exists('../application/language/' . current_language_code()))
{
$CI->config->set_item('language', 'english');
$CI->config->set_item('language_code', 'en-US');
}
_load_language_files($CI, '../vendor/codeigniter/framework/system/language', current_language());
_load_language_files($CI, '../application/language', current_language_code());
// fallback to English if language settings are not correct
$file_exists = !file_exists('../application/language/' . current_language_code());
if(current_language_code() == null || current_language() == null || $file_exists)
{
$CI->config->set_item('language', 'english');
$CI->config->set_item('language_code', 'en-US');
}
_load_language_files($CI, '../vendor/codeigniter/framework/system/language', current_language(), FALSE);
_load_language_files($CI, '../application/language', current_language_code(), TRUE);
//Set timezone from config database
if($CI->config->item('timezone'))
{
@@ -43,16 +46,33 @@ function load_config()
* @param $CI
* @param $path
* @param $language
* @param $fallback
*/
function _load_language_files($CI, $path, $language)
function _load_language_files($CI, $path, $language, $fallback)
{
$map = directory_map($path . DIRECTORY_SEPARATOR . $language);
foreach($map as $file)
{
if(!is_array($file) && substr(strrchr($file, '.'), 1) == 'php')
{
$CI->lang->load(strtr($file, '', '_lang.php'), $language);
$filename = strtr($file, '', '_lang.php');
if ($fallback) {
$CI->lang->load($filename, 'en-US');
$array = $CI->lang->load($filename, $language, TRUE);
foreach($array as $lang_key => $lang_value) {
if ($lang_value !== '') {
$CI->lang->language[$lang_key] = $lang_value;
}
}
}
else
{
$CI->lang->load($filename, $language);
}
}
}
}

View File

@@ -0,0 +1,16 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
function validate_save()
{
$url = $_SERVER['REQUEST_URI'];
$is_save = preg_match('/save\/\d*?/', $url);
if($is_save && $_SERVER["REQUEST_METHOD"] != "POST" && empty($_POST))
{
echo "Method not allowed";
die;
}
}

View File

@@ -2,9 +2,7 @@ ISO Language Code Table
-----------------------
Code Name
af Afrikaans
af-ZA Afrikaans (South Africa)
ar Arabic
ar-AE Arabic (U.A.E.)
ar-BH Arabic (Bahrain)
ar-DZ Arabic (Algeria)
@@ -21,33 +19,22 @@ ar-SA Arabic (Saudi Arabia)
ar-SY Arabic (Syria)
ar-TN Arabic (Tunisia)
ar-YE Arabic (Yemen)
az Azeri (Latin)
az-AZ Azeri (Latin) (Azerbaijan)
az-AZ Azeri (Cyrillic) (Azerbaijan)
be Belarusian
be-BY Belarusian (Belarus)
bg Bulgarian
bg-BG Bulgarian (Bulgaria)
bs-BA Bosnian (Bosnia and Herzegovina)
ca Catalan
ca-ES Catalan (Spain)
cs Czech
cs-CZ Czech (Czech Republic)
cy Welsh
cy-GB Welsh (United Kingdom)
da Danish
da-DK Danish (Denmark)
de German
de-AT German (Austria)
de-CH German (Switzerland)
de-DE German (Germany)
de-LI German (Liechtenstein)
de-LU German (Luxembourg)
dv Divehi
dv-MV Divehi (Maldives)
el Greek
el-GR Greek (Greece)
en English
en-AU English (Australia)
en-BZ English (Belize)
en-CA English (Canada)
@@ -61,8 +48,6 @@ en-TT English (Trinidad and Tobago)
en-US English (United States)
en-ZA English (South Africa)
en-ZW English (Zimbabwe)
eo Esperanto
es Spanish
es-AR Spanish (Argentina)
es-BO Spanish (Bolivia)
es-CL Spanish (Chile)
@@ -83,104 +68,61 @@ es-PY Spanish (Paraguay)
es-SV Spanish (El Salvador)
es-UY Spanish (Uruguay)
es-VE Spanish (Venezuela)
et Estonian
et-EE Estonian (Estonia)
eu Basque
eu-ES Basque (Spain)
fa Farsi
fa-IR Farsi (Iran)
fi Finnish
fi-FI Finnish (Finland)
fo Faroese
fo-FO Faroese (Faroe Islands)
fr French
fr-BE French (Belgium)
fr-CA French (Canada)
fr-CH French (Switzerland)
fr-FR French (France)
fr-LU French (Luxembourg)
fr-MC French (Principality of Monaco)
gl Galician
gl-ES Galician (Spain)
gu Gujarati
gu-IN Gujarati (India)
he Hebrew
he-IL Hebrew (Israel)
hi Hindi
hi-IN Hindi (India)
hr Croatian
hr-BA Croatian (Bosnia and Herzegovina)
hr-HR Croatian (Croatia)
hu Hungarian
hu-HU Hungarian (Hungary)
hy Armenian
hy-AM Armenian (Armenia)
id Indonesian
id-ID Indonesian (Indonesia)
is Icelandic
is-IS Icelandic (Iceland)
it Italian
it-CH Italian (Switzerland)
it-IT Italian (Italy)
ja Japanese
ja-JP Japanese (Japan)
ka Georgian
ka-GE Georgian (Georgia)
kk Kazakh
kk-KZ Kazakh (Kazakhstan)
kn Kannada
kn-IN Kannada (India)
ko Korean
ko-KR Korean (Korea)
kok Konkani
kok-IN Konkani (India)
ky Kyrgyz
ky-KG Kyrgyz (Kyrgyzstan)
lt Lithuanian
lt-LT Lithuanian (Lithuania)
lv Latvian
lv-LV Latvian (Latvia)
mi Maori
mi-NZ Maori (New Zealand)
mk FYRO Macedonian
mk-MK FYRO Macedonian (Former Yugoslav Republic of Macedonia)
mn Mongolian
mn-MN Mongolian (Mongolia)
mr Marathi
mr-IN Marathi (India)
ms Malay
ms-BN Malay (Brunei Darussalam)
ms-MY Malay (Malaysia)
mt Maltese
mt-MT Maltese (Malta)
nb Norwegian (Bokm?l)
nb-NO Norwegian (Bokm?l) (Norway)
nl Dutch
nl-BE Dutch (Belgium)
nl-NL Dutch (Netherlands)
nn-NO Norwegian (Nynorsk) (Norway)
ns Northern Sotho
ns-ZA Northern Sotho (South Africa)
pa Punjabi
pa-IN Punjabi (India)
pl Polish
pl-PL Polish (Poland)
ps Pashto
ps-AR Pashto (Afghanistan)
pt Portuguese
pt-BR Portuguese (Brazil)
pt-PT Portuguese (Portugal)
qu Quechua
qu-BO Quechua (Bolivia)
qu-EC Quechua (Ecuador)
qu-PE Quechua (Peru)
ro Romanian
ro-RO Romanian (Romania)
ru Russian
ru-RU Russian (Russia)
sa Sanskrit
sa-IN Sanskrit (India)
se Sami (Northern)
se-FI Sami (Northern) (Finland)
se-FI Sami (Skolt) (Finland)
se-FI Sami (Inari) (Finland)
@@ -190,55 +132,35 @@ se-NO Sami (Southern) (Norway)
se-SE Sami (Northern) (Sweden)
se-SE Sami (Lule) (Sweden)
se-SE Sami (Southern) (Sweden)
sk Slovak
sk-SK Slovak (Slovakia)
sl Slovenian
sl-SI Slovenian (Slovenia)
sq Albanian
sq-AL Albanian (Albania)
sr-BA Serbian (Latin) (Bosnia and Herzegovina)
sr-BA Serbian (Cyrillic) (Bosnia and Herzegovina)
sr-SP Serbian (Latin) (Serbia and Montenegro)
sr-SP Serbian (Cyrillic) (Serbia and Montenegro)
sv Swedish
sv-FI Swedish (Finland)
sv-SE Swedish (Sweden)
sw Swahili
sw-KE Swahili (Kenya)
syr Syriac
syr-SY Syriac (Syria)
ta Tamil
ta-IN Tamil (India)
te Telugu
te-IN Telugu (India)
th Thai
th-TH Thai (Thailand)
tl Tagalog
tl-PH Tagalog (Philippines)
tn Tswana
tn-ZA Tswana (South Africa)
tr Turkish
tr-TR Turkish (Turkey)
tt Tatar
tt-RU Tatar (Russia)
ts Tsonga
uk Ukrainian
uk-UA Ukrainian (Ukraine)
ur Urdu
ur-PK Urdu (Islamic Republic of Pakistan)
uz Uzbek (Latin)
uz-UZ Uzbek (Latin) (Uzbekistan)
uz-UZ Uzbek (Cyrillic) (Uzbekistan)
vi Vietnamese
vi-VN Vietnamese (Viet Nam)
xh Xhosa
xh-ZA Xhosa (South Africa)
zh Chinese
zh-CN Chinese (S)
zh-Hans Chinese in the simplified scrip
zh-Hant Chinese in the traditional script
zh-HK Chinese (Hong Kong)
zh-MO Chinese (Macau)
zh-SG Chinese (Singapore)
zh-TW Chinese (T)
zu Zulu
zu-ZA Zulu (South Africa)

View File

@@ -0,0 +1,31 @@
<?php
$lang["attributes_attribute_value_invalid_chars"] = "الميزات لا يمكن أن تحتوي على ':' أو'|'";
$lang["attributes_confirm_delete"] = "هل أنت متأكد من أنك تريد حذف الميزات المحددة ؟";
$lang["attributes_confirm_restore"] = "هل أنت متأكد من أنك تريد استعادة السمة (السمات) المحددة؟";
$lang["attributes_definition_cannot_be_deleted"] = "لا يمكن حذف السمات المحددة";
$lang["attributes_definition_error_adding_updating"] = "لا يمكن إضافة السمة ٪1 أو تحديثها. يرجى التحقق من سجل الخطأ.";
$lang["attributes_definition_flags"] = "رؤية الميزات";
$lang["attributes_definition_group"] = "المجموعة";
$lang["attributes_definition_id"] = "كود";
$lang["attributes_definition_name"] = "إضافة ميزة";
$lang["attributes_definition_name_required"] = "اسم الميزة هي خانة اجبارية";
$lang["attributes_definition_one_or_multiple"] = "ميزة/ميزات";
$lang["attributes_definition_successful_adding"] = "لقد تم إضافة صنف بنجاح";
$lang["attributes_definition_successful_deleted"] = "لقد تم حذف ميزة بنجاح";
$lang["attributes_definition_successful_updating"] = "تم تعديل الميزة بنجاح";
$lang["attributes_definition_type"] = "نوع الميزة";
$lang["attributes_definition_type_required"] = "نوع الميزة هي خانة إجبارية";
$lang["attributes_definition_unit"] = "وحدة قياس";
$lang["attributes_definition_values"] = "قيمة الميزة";
$lang["attributes_new"] = "اضافة ميزة جديده";
$lang["attributes_no_attributes_to_display"] = "لا يوجد اصناف للعرض";
$lang["attributes_receipt_visibility"] = "وصل";
$lang["attributes_show_in_items"] = "اظهار في الصنف";
$lang["attributes_show_in_items_visibility"] = "الصنف";
$lang["attributes_show_in_receipt"] = "اظهار على الوصل";
$lang["attributes_show_in_receivings"] = "اظهار في استلام البضائع";
$lang["attributes_show_in_receivings_visibility"] = "استلام البضائع";
$lang["attributes_show_in_sales"] = "اظهار خلال البيع";
$lang["attributes_show_in_sales_visibility"] = "البيع";
$lang["attributes_update"] = "تحديث الميزات";

View File

@@ -3,7 +3,7 @@
$lang["tables_all"] = "الجميع";
$lang["tables_columns"] = "أعمدة";
$lang["tables_hide_show_pagination"] = "عرض/إخفاء أرقام الصفحات";
$lang["tables_loading"] = "جارى التحميل، برجاء الإنتظار";
$lang["tables_loading"] = "جارى التحميل، برجاء الإنتظار ...";
$lang["tables_page_from_to"] = "عرض {0} إلى {1} من {2} صفوف";
$lang["tables_refresh"] = "إعادة تحميل";
$lang["tables_rows_per_page"] = "{0} صف بالصفحة";

View File

@@ -0,0 +1,38 @@
<?php
$lang["cashups_amount"] = "قيمة المبلغ";
$lang["cashups_amount_number"] = "قيمة المبلغ يجب ان تتكون من ارقام";
$lang["cashups_amount_required"] = "قيمة المبلغ هي خانة إجبارية.";
$lang["cashups_cannot_be_deleted"] = "لا يمكن حذف الصندوق النقدي";
$lang["cashups_close_date"] = "تاريخ تسكير الصندوق";
$lang["cashups_close_employee"] = "تم التسكير من قبل";
$lang["cashups_closed_amount_card"] = "بطاقات ائتمان";
$lang["cashups_closed_amount_cash"] = "الصندوق النقدي";
$lang["cashups_closed_amount_check"] = "شيكات";
$lang["cashups_closed_amount_due"] = "الديون";
$lang["cashups_closed_amount_total"] = "المجموع";
$lang["cashups_closed_date"] = "تاريخ تسكير الصندوق";
$lang["cashups_confirm_delete"] = "هل انت متأكد من حذف الصندوق النقدي؟";
$lang["cashups_confirm_restore"] = "هل انت متأكد من استعادة الصندوق النقدي؟";
$lang["cashups_date_number"] = "التاريخ يجب ان يكون مكون من ارقام";
$lang["cashups_date_required"] = "التاريخ هي خانة اجبارية";
$lang["cashups_description"] = "الوصف";
$lang["cashups_error_adding_updating"] = "خطأ في تعديل او اضافة صندوق نقدي";
$lang["cashups_id"] = "كود";
$lang["cashups_info"] = "معلومات عن الصندوق النقدي";
$lang["cashups_is_deleted"] = "محذوف";
$lang["cashups_new"] = "صندوق نقدي جديد";
$lang["cashups_no_cashups_to_display"] = "لا يوجد صناديق نقدية للاظهار";
$lang["cashups_none_selected"] = "لم يتم اختيار اي صندوق نقدي";
$lang["cashups_note"] = "ملاحظات";
$lang["cashups_one_or_multiple"] = "صندوق او صناديق نقدية";
$lang["cashups_open_amount_cash"] = "بداية صندوق نقدي";
$lang["cashups_open_date"] = "تاريخ بداية الصندوق النقدي";
$lang["cashups_open_employee"] = "تمت بداية الصندوق النقدي من قبل";
$lang["cashups_opened_date"] = "تاريخ بداية الصندوق النقدي";
$lang["cashups_successful_adding"] = "تمت إضافة الصندوق النقدي بنجاح";
$lang["cashups_successful_deleted"] = "تم حذف الصندوق النقدي بنجاح";
$lang["cashups_successful_updating"] = "تم تعديل الصندوق النقدي بنجاح";
$lang["cashups_total"] = "المجموع";
$lang["cashups_transfer_amount_cash"] = "حركة الصندوق";
$lang["cashups_update"] = "تعديل/تحديث الصندوق النقدي";

View File

@@ -7,6 +7,8 @@ $lang["common_close"] = "إغلاق";
$lang["common_comments"] = "تعليقات";
$lang["common_common"] = "عام";
$lang["common_confirm_search"] = "لقد قمت اختيار أكتر من سجل، سوف تفقد هذه الاختيارات عند إرسال البحث، موافق؟";
$lang["common_copyrights"] = "© 2010 - %1";
$lang["common_correct_errors"] = "يرجى تصحيح الأخطاء المحددة قبل الحفظ";
$lang["common_country"] = "البلد";
$lang["common_date"] = "التاريخ";
$lang["common_delete"] = "حذف";
@@ -15,9 +17,9 @@ $lang["common_download_import_template"] = "تنزيل قالب الاستيرا
$lang["common_edit"] = "تحرير";
$lang["common_email"] = "بريد إلكتروني";
$lang["common_email_invalid_format"] = "شكل البريد الإلكتروني غير صحيح.";
$lang["common_export_excel"] = "تصدير إلى اكسل";
$lang["common_export_excel_no"] = "لا";
$lang["common_export_excel_yes"] = "نعم";
$lang["common_export_csv"] = "تصدير إلى اكسل";
$lang["common_export_csv_no"] = "لا";
$lang["common_export_csv_yes"] = "نعم";
$lang["common_fields_required_message"] = "الحقول التي بالأحمر مطلوبة";
$lang["common_first_name"] = "الاسم الأول";
$lang["common_first_name_required"] = "الاسم الأول مطلوب.";
@@ -25,10 +27,12 @@ $lang["common_first_page"] = "الأول";
$lang["common_gender"] = "النوع";
$lang["common_gender_female"] = "أنثى";
$lang["common_gender_male"] = "ذكر";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "كود";
$lang["common_import"] = "استيراد";
$lang["common_import_change_file"] = "تغيير";
$lang["common_import_excel"] = "استيراد من اكسل";
$lang["common_import_csv"] = "استيراد من اكسل";
$lang["common_import_full_path"] = "المسار الكامل لملف اكسل مطلوب";
$lang["common_import_remove_file"] = "إزالة";
$lang["common_import_select_file"] = "اختار ملف";
@@ -38,10 +42,14 @@ $lang["common_last_name_required"] = "الاسم الأخير مطلوب.";
$lang["common_last_page"] = "الأخيرة";
$lang["common_learn_about_project"] = "للتعرف على أخر المعلومات حول المشروع.";
$lang["common_list_of"] = "قائمة بـ";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "خروج";
$lang["common_migration_needed"] = "سيبدأ ترحيل قاعدة البيانات إلى ٪1 بعد تسجيل الدخول.";
$lang["common_new"] = "جديد";
$lang["common_no"] = "";
$lang["common_no_persons_to_display"] = "لا يوجد اناس لعرضهم.";
$lang["common_none_selected_text"] = "لم يتم اختيار شيء.";
$lang["common_none_selected_text"] = "[إختيار]";
$lang["common_or"] = "أو";
$lang["common_phone_number"] = "رقم التليفون";
$lang["common_phone_number_required"] = "رقم التليفون مطلوب";
@@ -56,6 +64,8 @@ $lang["common_return_policy"] = "سياسة الاسترجاع";
$lang["common_search"] = "بحث";
$lang["common_search_options"] = "خيارات البحث";
$lang["common_searched_for"] = "بحث عن";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "المحافظة";
$lang["common_submit"] = "حفظ";
$lang["common_total_spent"] = "مجموع الصرف";
@@ -64,5 +74,6 @@ $lang["common_view_recent_sales"] = "عرض أحدث المبيعات";
$lang["common_website"] = "الموقع الإلكترونى";
$lang["common_welcome"] = "مرحباً";
$lang["common_welcome_message"] = "مرحباً فى OSPOS برجاء إختيار أى قسم للبدء.";
$lang["common_yes"] = "";
$lang["common_you_are_using_ospos"] = "أنت تستخدم إصدار Open Source Point Of Sale";
$lang["common_zip"] = "الرقم البريدى";

View File

@@ -1,6 +1,8 @@
<?php
<?php
$lang["config_address"] = "عنوان الشركة";
$lang["config_address_required"] = "عنوان الشركة مطلوب.";
$lang["config_all_set"] = "All file permissions are set correctly!";
$lang["config_allow_duplicate_barcodes"] = "السماح بتشابة الباركود";
$lang["config_apostrophe"] = "الفاصلة";
$lang["config_backup_button"] = "نسخ إحتياطى";
@@ -32,6 +34,7 @@ $lang["config_bottom"] = "الأسفل";
$lang["config_cash_decimals"] = "فواصل النقدية";
$lang["config_cash_decimals_tooltip"] = "إذا كانت الكسور العشرية النقدية وعشرية العملات هي نفسها ثم لن يتم تقريب النقدية.";
$lang["config_cash_rounding"] = "التقريب النقدي";
$lang["config_category_dropdown"] = "";
$lang["config_center"] = "الوسط";
$lang["config_comma"] = "فاصلة";
$lang["config_company"] = "اسم الشركة";
@@ -43,18 +46,9 @@ $lang["config_company_select_image"] = "اختار صورة";
$lang["config_company_website_url"] = "الموقع الإلكترونى للشركة غير صحيح.";
$lang["config_country_codes"] = "أكواد الدولة";
$lang["config_country_codes_tooltip"] = "قائمة مفصولة بفاصلة لاسماء الدول للبحث.";
$lang["config_currency_code"] = "رمز العملة";
$lang["config_currency_decimals"] = "العلامة العشرية للعملة";
$lang["config_currency_symbol"] = "رمز العملة";
$lang["config_custom1"] = "حقل مخصص 1";
$lang["config_custom10"] = "حقل مخصص 10";
$lang["config_custom2"] = "حقل مخصص 2";
$lang["config_custom3"] = "حقل مخصص 3";
$lang["config_custom4"] = "حقل مخصص 4";
$lang["config_custom5"] = "حقل مخصص 5";
$lang["config_custom6"] = "حقل مخصص 6";
$lang["config_custom7"] = "حقل مخصص 7";
$lang["config_custom8"] = "حقل مخصص 8";
$lang["config_custom9"] = "حقل مخصص 9";
$lang["config_customer_reward"] = "المكافآت";
$lang["config_customer_reward_duplicate"] = "المكافئة يجب ان تكون فريدة.";
$lang["config_customer_reward_enable"] = "تمكين مكافآت العميل";
@@ -76,10 +70,17 @@ $lang["config_default_barcode_page_width_number"] = "عرض الصفحة الا
$lang["config_default_barcode_page_width_required"] = "عرض الصفحة الافتراضي للباركود مطلوب.";
$lang["config_default_barcode_width_number"] = "العرض الافتراضي للباركود لابد ان يكون رقم.";
$lang["config_default_barcode_width_required"] = "العرض الافتراضي للباركود مطلوب.";
$lang["config_default_item_columns"] = "الخانات المراد إظهارها";
$lang["config_default_origin_tax_code"] = "كود الضريبة الاساسي الافتراضي";
$lang["config_default_sales_discount"] = "نسبة الخصم الافتراضية %";
$lang["config_default_receivings_discount"] = "خصم الإيصالات الافتراضي";
$lang["config_default_receivings_discount_number"] = "خصم الإيصالات الافتراضي يجب ان يكون رقم.";
$lang["config_default_receivings_discount_required"] = "خصم الإيصالات الافتراضي هي خانة اجبارية.";
$lang["config_default_sales_discount"] = "نسبة الخصم الافتراضية";
$lang["config_default_sales_discount_number"] = "نسبة الخصم الافتراضية لابد ان تكون رقم.";
$lang["config_default_sales_discount_required"] = "نسبة الخصم الافتراضية مطلوبة.";
$lang["config_default_tax_category"] = "فئة الضرائب الافتراضية";
$lang["config_default_tax_code"] = "قانون الضرائب الافتراضي";
$lang["config_default_tax_jurisdiction"] = "الاختصاص الضريبي الافتراضي";
$lang["config_default_tax_name_number"] = "يجب أن يكون الاسم الافتراضي للضريبة سلسلة.";
$lang["config_default_tax_name_required"] = "اسم الضريبة الافتراضية مطلوب.";
$lang["config_default_tax_rate"] = "معدل الضريبة الافتراضي %";
@@ -112,6 +113,7 @@ $lang["config_email_smtp_user"] = "اسم مستخدم SMTP";
$lang["config_enforce_privacy"] = "فرض نظام الخصوصية";
$lang["config_enforce_privacy_tooltip"] = "حماية ملفات ومعلومات المستخدم عند الحذف";
$lang["config_fax"] = "الفاكس";
$lang["config_file_perm"] = "There are problems with file permissions please fix and reload this page.";
$lang["config_financial_year"] = "بداية السنة المالية";
$lang["config_financial_year_apr"] = "1 أبريل";
$lang["config_financial_year_aug"] = "1 أغسطس";
@@ -125,6 +127,7 @@ $lang["config_financial_year_may"] = "1 مايو";
$lang["config_financial_year_nov"] = "1 نوفمبر";
$lang["config_financial_year_oct"] = "1 أكتوبر";
$lang["config_financial_year_sep"] = "1 سبتمبر";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "صفحة تسجيل الدخول ريكابتشا";
$lang["config_gcaptcha_secret_key"] = "مفتاح السرية ريكابتشا";
$lang["config_gcaptcha_secret_key_required"] = "مفتاح السرية ريكابتشا هو حقل مطلوب";
@@ -136,14 +139,26 @@ $lang["config_general_configuration"] = "إعدادات عامة";
$lang["config_giftcard_number"] = "رقم كارت الهدية";
$lang["config_giftcard_random"] = "توليد عشوائي";
$lang["config_giftcard_series"] = "توليد في السلسلة";
$lang["config_image_allowed_file_types"] = "";
$lang["config_image_max_height_tooltip"] = "";
$lang["config_image_max_size_tooltip"] = "";
$lang["config_image_max_width_tooltip"] = "";
$lang["config_image_restrictions"] = "";
$lang["config_include_hsn"] = "تشمل الدعم لرمز نظام منسق";
$lang["config_info"] = "معلومات";
$lang["config_info_configuration"] = "معلومات الشركة";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "التكامل";
$lang["config_integrations_configuration"] = "تكامل";
$lang["config_invoice"] = "الفاتورة";
$lang["config_invoice_configuration"] = "إعدادات طباعة الفاتورة";
$lang["config_invoice_default_comments"] = "التعليق الافتراضي على الفاتورة";
$lang["config_invoice_email_message"] = "قالب البريد الإلكتروني للفاتورة";
$lang["config_invoice_enable"] = "تفعيل الفوترة";
$lang["config_invoice_printer"] = "طابعة الفواتير";
$lang["config_invoice_type"] = "نوع الفاتورة";
$lang["config_is_readable"] = "";
$lang["config_is_writable"] = "is writable, but the permissions are higher than 750.";
$lang["config_jsprintsetup_required"] = "تحذير! هذه الخاصية غير المفعلة سوف تعمل فقط مع وجود الاضافة jsPrintSetup على متصفح فايرفوكس. حفظ على أى حال؟";
$lang["config_language"] = "اللغة";
$lang["config_last_used_invoice_number"] = "اخر رقم مستخدم للفاتورة";
@@ -162,6 +177,7 @@ $lang["config_locale_info"] = "معلومات التهيئة الإقليمية"
$lang["config_location"] = "المخزون";
$lang["config_location_configuration"] = "أماكن المخزون";
$lang["config_location_info"] = "معلومات تهيئة الأماكن";
$lang["config_login_form"] = "";
$lang["config_logout"] = "هل تريد عمل نسخة إحتياطية قبل الخروج؟ اضغط [نعم] لعمل النسخة أو [الغاء] للخروج.";
$lang["config_mailchimp"] = "mailchimp ميل تشامب";
$lang["config_mailchimp_api_key"] = "mailchimp مفتاح";
@@ -180,6 +196,8 @@ $lang["config_msg_src"] = "SMS-API كود المرسل لـ";
$lang["config_msg_src_required"] = "مطلوب SMS-API كود المرسل لـ";
$lang["config_msg_uid"] = "SMS-API اسم المستخدم لـ";
$lang["config_msg_uid_required"] = "مطلوب SMS-API اسم المستخدم لـ";
$lang["config_multi_pack_enabled"] = "رزم متعددة لكل صنف";
$lang["config_no_risk"] = "No security/vulnerability risks.";
$lang["config_none"] = "لايوجد";
$lang["config_notify_alignment"] = "مكان عرض رسائل المعلومات";
$lang["config_number_format"] = "شكل الرقم";
@@ -187,7 +205,10 @@ $lang["config_number_locale"] = "التهيئة الاقليمية";
$lang["config_number_locale_invalid"] = "التهيئة الإقليمية المختارة غير صحية، راجع الرابط الموجود فى الملاحظة لاختيار تهيئة مناسبة.";
$lang["config_number_locale_required"] = "رقم التهيئة الإقليمية مطلوب.";
$lang["config_number_locale_tooltip"] = "إيجاد تهيئة إقليمية مناسبة عبر الرابط.";
$lang["config_os_timezone"] = "";
$lang["config_ospos_info"] = "معلومات التثبيت OSPOS";
$lang["config_payment_options_order"] = "ترتيب خيارات الدفع";
$lang["config_perm_risk"] = "Permissions higher than 750 leaves this software at risk.";
$lang["config_phone"] = "هاتف الشركة";
$lang["config_phone_required"] = "هاتف الشركة مطلوب.";
$lang["config_print_bottom_margin"] = "الهامش السفلي";
@@ -226,12 +247,14 @@ $lang["config_receipt_short"] = "مختصر";
$lang["config_receipt_show_company_name"] = "عرض اسم الشركة";
$lang["config_receipt_show_description"] = "عرض الوصف";
$lang["config_receipt_show_serialnumber"] = "عرض الرقم المسلسل";
$lang["config_receipt_show_tax_ind"] = "";
$lang["config_receipt_show_taxes"] = "عرض الضرائب";
$lang["config_receipt_show_total_discount"] = "عرض إجمالى الخصم";
$lang["config_receipt_template"] = "قالب الايصال";
$lang["config_receiving_calculate_average_price"] = "حساب متوسط سعر الأصناف المستلمة";
$lang["config_recv_invoice_format"] = "شكل فاتورة الإستلام";
$lang["config_register_mode_default"] = "نمط التسجيل الافتراضي";
$lang["config_report_an_issue"] = "";
$lang["config_return_policy_required"] = "سياسة الإسترجاع مطلوب.";
$lang["config_reward"] = "المكافاة";
$lang["config_reward_configuration"] = "اعدادات المكافاة";
@@ -240,6 +263,8 @@ $lang["config_sales_invoice_format"] = "شكل فاتورة البيع";
$lang["config_sales_quote_format"] = "شكل فاتورة عرض الاسعار";
$lang["config_saved_successfully"] = "تم حفظ التهيئة بنجاح.";
$lang["config_saved_unsuccessfully"] = "لم يتم حفظ التهيئة بنجاح.";
$lang["config_security_issue"] = "Security Vulnerability Warning";
$lang["config_server_notice"] = "يرجى استخدام المعلومات أدناه للإبلاغ عن المشكلة.";
$lang["config_show_office_group"] = "اظهار ايكونة المكتب";
$lang["config_statistics"] = "إرسال اﻹحصائيات";
$lang["config_statistics_tooltip"] = "إرسال اﻹحصائيات ﻷغراض التطوير و التحسين.";
@@ -251,6 +276,8 @@ $lang["config_suggestions_first_column"] = "العامود 1";
$lang["config_suggestions_layout"] = "تخطيط اقتراحات البحث";
$lang["config_suggestions_second_column"] = "العامود 2";
$lang["config_suggestions_third_column"] = "العامود 3";
$lang["config_system_conf"] = "Setup & Conf";
$lang["config_system_info"] = "System Info";
$lang["config_table"] = "جدول";
$lang["config_table_configuration"] = "اعدادات الجدول";
$lang["config_takings_printer"] = "طابعة الإيراد";
@@ -262,11 +289,16 @@ $lang["config_tax_category_required"] = "الفئة الضريبية مطلوب
$lang["config_tax_category_used"] = "الفئة الضريبية اللتي تم تحديدها لا يمكن حذفها لانها قيد الاستعمال.";
$lang["config_tax_configuration"] = "إعدادات الضريبة";
$lang["config_tax_decimals"] = "العلامة العشرية للضريبة";
$lang["config_tax_id"] = "الرقم الضريبي";
$lang["config_tax_included"] = "شامل الضريبة";
$lang["config_theme"] = "السمة";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "فاصل الاف";
$lang["config_timezone"] = "المنطقة الزمنية";
$lang["config_timezone_error"] = "";
$lang["config_top"] = "علوى";
$lang["config_use_destination_based_tax"] = "استخدام الضريبة المستندة على الوجهة";
$lang["config_user_timezone"] = "";
$lang["config_website"] = "موقع الشركة";
$lang["config_work_order_enable"] = "تفعيل طلبات العمل";
$lang["config_work_order_format"] = "شكل طلبات العمل";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["customers_account_number"] = "رقم الحساب";
$lang["customers_account_number_duplicate"] = "رقم الحساب هذا موجود فى قاعدة البيانات من قبل.";
$lang["customers_available_points"] = "النقاط المتاحة";
@@ -11,17 +12,20 @@ $lang["customers_confirm_delete"] = "هل تريد حذف هؤلاء العمل
$lang["customers_confirm_restore"] = "هل انت متأكد من إستعادة قاعدة بيانات الزبائن ؟";
$lang["customers_consent"] = "موافقة التسجيل";
$lang["customers_consent_required"] = "موافقة التسجيل هي خانة اجبارية.";
$lang["customers_csv_import_failed"] = "فشل الإستيراد من اكسل";
$lang["customers_csv_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
$lang["customers_csv_import_partially_failed"] = "تم استيراد معظم العملاء. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
$lang["customers_csv_import_success"] = "تم استيراد العملاء بنجاح.";
$lang["customers_customer"] = "العميل";
$lang["customers_date"] = "التاريخ";
$lang["customers_discount"] = "نسبة الخصم";
$lang["customers_discount_fixed"] = "حسم ثابت";
$lang["customers_discount_percent"] = "نسبة الحبم";
$lang["customers_discount_type"] = "نوع الحسم";
$lang["customers_email_duplicate"] = "البريد الالكتروني مكرر.";
$lang["customers_employee"] = "الموظف";
$lang["customers_error_adding_updating"] = "خطاء فى إضافة أو تحديث العميل.";
$lang["customers_excel_import_failed"] = "فشل الإستيراد من اكسل";
$lang["customers_excel_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
$lang["customers_excel_import_partially_failed"] = "تم استيراد معظم العملاء. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
$lang["customers_excel_import_success"] = "تم استيراد العملاء بنجاح.";
$lang["customers_import_items_excel"] = "استيراد العملا ء من ورقة عمل اكسل";
$lang["customers_import_items_csv"] = "استيراد العملا ء من ورقة عمل اكسل";
$lang["customers_mailchimp_activity_click"] = "النقر على البريد الإلكتروني";
$lang["customers_mailchimp_activity_lastopen"] = "آخر رسالة إلكترونية مفتوحة";
$lang["customers_mailchimp_activity_open"] = "رسالة إلكترونية مفتوحة";
@@ -43,6 +47,7 @@ $lang["customers_successful_adding"] = "لقد أضفت عميل بنجاح";
$lang["customers_successful_deleted"] = "لقد قمت بالحذف بنجاح";
$lang["customers_successful_updating"] = "لقد قمت بتحديث بيانات العميل بنجاح";
$lang["customers_tax_code"] = "كود الضريبة";
$lang["customers_tax_id"] = "الرقم الضريبي";
$lang["customers_taxable"] = "خاضع للضريبة";
$lang["customers_total"] = "المجموع";
$lang["customers_update"] = "تحديث بيانات عميل";

View File

@@ -7,12 +7,12 @@ $lang["datepicker_custom"] = "مخصص";
$lang["datepicker_from"] = "من";
$lang["datepicker_last_30"] = "أخر 30 يوم";
$lang["datepicker_last_7"] = "أخر سبعة أيام";
$lang["datepicker_last_financial_year"] = "";
$lang["datepicker_last_financial_year"] = "السنة المالية الماضية";
$lang["datepicker_last_month"] = "أخر شهر";
$lang["datepicker_last_year"] = "السنة الماضية";
$lang["datepicker_same_month_last_year"] = "نفس الشهر من العام الماضي";
$lang["datepicker_same_month_to_same_day_last_year"] = "نفس الشهر حتى اليوم من السنة الماضية";
$lang["datepicker_this_financial_year"] = "";
$lang["datepicker_this_financial_year"] = "السنة المالية الحالية";
$lang["datepicker_this_month"] = "هذا الشهر";
$lang["datepicker_this_year"] = "السنة الحالية";
$lang["datepicker_to"] = "إلى";

View File

@@ -5,6 +5,7 @@ $lang["expenses_categories_add_item"] = "إضافة نوع";
$lang["expenses_categories_cannot_be_deleted"] = "فشلت عملية مسح نوع المصاريف";
$lang["expenses_categories_category_id"] = "الكود";
$lang["expenses_categories_confirm_delete"] = "هل أنت متأكد من مسح نوع المصاريف الذي أخترته؟";
$lang["expenses_categories_confirm_restore"] = "هل أنت متأكد من أنك تريد استعادة فئة المصاريف المحددة؟";
$lang["expenses_categories_description"] = "وصف النوع";
$lang["expenses_categories_error_adding_updating"] = "مشكلة أثناء أضافة أو تعديل نوع المصاريف";
$lang["expenses_categories_info"] = "معلومات عن نوع المصاريف";

View File

@@ -36,6 +36,7 @@ $lang["expenses_no_expenses_to_display"] = "لا يوجد مصاريف في ال
$lang["expenses_none_selected"] = "لم يتم تحديد اي خيار";
$lang["expenses_one_or_multiple"] = "واحد او أكثر";
$lang["expenses_payment"] = "الدفع";
$lang["expenses_start_typing_supplier_name"] = "ابدا بكتابة اسم المورد...";
$lang["expenses_successful_adding"] = "تم إضافة المصاريف بنجاح";
$lang["expenses_successful_deleted"] = "تم مسح المصاريف بنجاح";
$lang["expenses_successful_updating"] = "تم تعديل المصاريف بنجاح";

View File

@@ -17,6 +17,7 @@ $lang["giftcards_confirm_delete"] = "هل أنت متأكد انك تريد حذ
$lang["giftcards_confirm_restore"] = "هل تريد بالتأكيد استعادة بطاقة (بطاقات) الهدايا المحددة؟";
$lang["giftcards_cost_price"] = "سعر التكلفة";
$lang["giftcards_count"] = "تحديث المخزون";
$lang["giftcards_csv_import_failed"] = "فشل الإستيراد من اكسل.";
$lang["giftcards_current_quantity"] = "الكميات الحالية";
$lang["giftcards_description"] = "الوصف";
$lang["giftcards_details_count"] = "حركة الكارت";
@@ -25,7 +26,6 @@ $lang["giftcards_edit_fields_you_want_to_update"] = "قم بتحديث الحق
$lang["giftcards_edit_multiple_giftcards"] = "تحرير مجموعة من بطاقات الهدايا.";
$lang["giftcards_error_adding_updating"] = "خطاء فى إضافة/تحديث بطاقة هدية.";
$lang["giftcards_error_updating_multiple"] = "خطاء فى تحديث بيانات بطاقات الهدايا.";
$lang["giftcards_excel_import_failed"] = "فشل الإستيراد من اكسل.";
$lang["giftcards_generate_barcodes"] = "توليد أكواد الباركود";
$lang["giftcards_giftcard"] = "بطاقة هدية";
$lang["giftcards_giftcard_number"] = "رقم بطاقة الهدية";

View File

@@ -6,11 +6,17 @@ $lang["item_kits_cannot_be_deleted"] = "لايمكن حذف مجموعة/مجم
$lang["item_kits_confirm_delete"] = "هل أنت متأكد أنك تريد حذف المجموعة؟";
$lang["item_kits_confirm_restore"] = "هل أنت متأكد أنك تريد استعادة المجموعة المحددة؟";
$lang["item_kits_description"] = "وصف المجموعة";
$lang["item_kits_discount"] = "الخصم";
$lang["item_kits_discount_fixed"] = "خصم قابل للتعديل";
$lang["item_kits_discount_percent"] = "نسبة الخصم";
$lang["item_kits_discount_type"] = "نوع الخصم";
$lang["item_kits_error_adding_updating"] = "خطاء فى إضافة/تحديث المجموعة.";
$lang["item_kits_find_kit_item"] = "صنف لمجموعة";
$lang["item_kits_info"] = "معلومات المجموعة";
$lang["item_kits_item"] = "صنف";
$lang["item_kits_item_kit_number"] = "";
$lang["item_kits_item_kit_number_duplicate"] = "";
$lang["item_kits_item_number"] = "";
$lang["item_kits_items"] = "أصناف";
$lang["item_kits_kit"] = "كود المجموعة";
$lang["item_kits_kit_and_components"] = "المجموعة ومحتوياتها";

View File

@@ -1,6 +1,6 @@
<?php
<?php
$lang["items_add_minus"] = "الكمية المطلوب خصمها أو اضافتها.";
$lang["items_allow_alt_desciption"] = "وصف بديل";
$lang["items_allow_alt_description"] = "السماح بوصف بديل";
$lang["items_amount_entry"] = "إدخال القيمة";
$lang["items_bulk_edit"] = "تحرير جماعى";
@@ -22,7 +22,12 @@ $lang["items_cost_price"] = "سعر التكلفة";
$lang["items_cost_price_number"] = "سعر التكلفة يجب أن يكون رقم.";
$lang["items_cost_price_required"] = "سعر التكلفة مطلوب.";
$lang["items_count"] = "تحديث المخزون";
$lang["items_csv_import_failed"] = "فشل الإستيراد من اكسل";
$lang["items_csv_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
$lang["items_csv_import_partially_failed"] = "يوجد خطأ بنسبة 1% في استيراد الاصناف في السطر: %2. لم يتم استيرادهم.";
$lang["items_csv_import_success"] = "تم استيراد الأصناف بنجاح.";
$lang["items_current_quantity"] = "الكمية الحالية";
$lang["items_default_pack_name"] = "كل";
$lang["items_description"] = "الوصف";
$lang["items_details_count"] = "حركة الصنف";
$lang["items_do_nothing"] = "لاتفعل شئ";
@@ -31,20 +36,18 @@ $lang["items_edit_multiple_items"] = "تحريد مجموعة اصناف";
$lang["items_empty_upc_items"] = "تفريغ اصناف UPC";
$lang["items_error_adding_updating"] = "خطاء فى إضافة/تحديث صنف";
$lang["items_error_updating_multiple"] = "خطاء فى تحديث بيانات أصناف";
$lang["items_excel_import_failed"] = "فشل الإستيراد من اكسل";
$lang["items_excel_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
$lang["items_excel_import_partially_failed"] = "تم استيراد معظم الأصناف. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
$lang["items_excel_import_success"] = "تم استيراد الأصناف بنجاح.";
$lang["items_generate_barcodes"] = "توليد أكواد الباركود";
$lang["items_hsn_code"] = "تسميات النظام المنسق";
$lang["items_image"] = "صورة";
$lang["items_import_items_excel"] = "استيراد من اكسل";
$lang["items_import_items_csv"] = "استيراد من اكسل";
$lang["items_info_provided_by"] = "المعلومات مقدمة بواسطة";
$lang["items_inventory"] = "المخزن";
$lang["items_inventory_CSV_import_quantity"] = "العدد المستورد من ملفات ال CSV";
$lang["items_inventory_comments"] = "تعليقات";
$lang["items_inventory_data_tracking"] = "تتبع بيانات المخزون";
$lang["items_inventory_date"] = "التاريخ";
$lang["items_inventory_employee"] = "الموظف";
$lang["items_inventory_in_out_quantity"] = "+\- كمية";
$lang["items_inventory_in_out_quantity"] = "+- كمية";
$lang["items_inventory_remarks"] = "ملاحظات";
$lang["items_is_deleted"] = "حذفت";
$lang["items_is_serialized"] = "الصنف له رقم مسلسل";
@@ -54,6 +57,7 @@ $lang["items_item_number_duplicate"] = "رقم الصنف موجود فى قاع
$lang["items_kit"] = "مجموعة اصناف";
$lang["items_location"] = "مكان";
$lang["items_low_inventory_items"] = "الأصناف التى لا يوجد لها مخزون";
$lang["items_low_sell_item"] = "الصنف المركب";
$lang["items_manually_editing_of_quantity"] = "تحرير الكمية يدوياً";
$lang["items_name"] = "اسم الصنف";
$lang["items_name_required"] = "اسم الصنف مطلوب.";
@@ -66,6 +70,8 @@ $lang["items_nonstock"] = "غير مخزنة";
$lang["items_number_information"] = "رقم الصنف";
$lang["items_number_required"] = "مطلوب UPC/EAN/ISBN رقم الباركود.";
$lang["items_one_or_multiple"] = "صنف/أصناف";
$lang["items_pack_name"] = "اسم الحزمة";
$lang["items_qty_per_pack"] = "العدد بكل الحزمة";
$lang["items_quantity"] = "الكمية";
$lang["items_quantity_number"] = "الكمية يجب أن تكون رقم.";
$lang["items_quantity_required"] = "الكمية مطلوبة.";
@@ -78,7 +84,6 @@ $lang["items_retrive_item_info"] = "استرجاع بيانات الصنف";
$lang["items_sales_tax_1"] = "ضريبة المبيعات";
$lang["items_sales_tax_2"] = "ضريبة المبيعات 2";
$lang["items_search_attributes"] = "بحث الحقول المخصصة";
$lang["items_search_custom_items"] = "بحث الاصناف المخصصة";
$lang["items_select_image"] = "اختار صورة";
$lang["items_serialized_items"] = "أصناف مسلسلة";
$lang["items_standard"] = "اساسي";
@@ -92,10 +97,12 @@ $lang["items_successful_updating"] = "لقد تم تحديث بيانات صنف
$lang["items_supplier"] = "المورد";
$lang["items_tax_1"] = "الضريبة 1";
$lang["items_tax_2"] = "الضريبة 2";
$lang["items_tax_category"] = "الفئة الضريبية";
$lang["items_tax_percent"] = "نسبة الضريبة";
$lang["items_tax_percent_number"] = "نسبة الضريبة يجب ان تكون رقم";
$lang["items_tax_percent_required"] = "نسبة الضريبة مطلوبة.";
$lang["items_tax_percents"] = "نسبة/نسب الضريبة";
$lang["items_temp"] = "مؤقت";
$lang["items_type"] = "نوع الصنف";
$lang["items_unit_price"] = "السعر";
$lang["items_unit_price_number"] = "السعر يجب أن يكون رقم.";

View File

@@ -1,10 +1,13 @@
<?php
$lang["login_gcaptcha"] = "";
$lang["login_gcaptcha"] = "أنا لست بوت.";
$lang["login_go"] = "البدء";
$lang["login_invalid_gcaptcha"] = "";
$lang["login_invalid_installation"] = "";
$lang["login_invalid_username_and_password"] = "اسم مستخدم/كلمة سر غير صحيح";
$lang["login_invalid_gcaptcha"] = "رمز التحقق غير صحيح.";
$lang["login_invalid_installation"] = "يوجد مشكلة بالتنصيب, الرجاء التحقق من ملف php.ini.";
$lang["login_invalid_username_and_password"] = "اسم مستخدم/كلمة سر غير صحيح.";
$lang["login_login"] = "دخول";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "كلمة السر";
$lang["login_username"] = "اسم المستخدم";
$lang["login_welcome"] = "";

View File

@@ -5,7 +5,7 @@ $lang["messages_last_name"] = "الأسم الأخير";
$lang["messages_message"] = "الرسالة";
$lang["messages_message_placeholder"] = "رسالتك هنا...";
$lang["messages_message_required"] = "الرسالة مطلوبة";
$lang["messages_multiple_phones"] = " فى حالة إرسال الرسالة لأكثر من شخص قم بفصل الأرقام بعلامة الفاصلة";
$lang["messages_multiple_phones"] = "فى حالة إرسال الرسالة لأكثر من شخص قم بفصل الأرقام بعلامة الفاصلة";
$lang["messages_phone"] = "رقم المحمول";
$lang["messages_phone_number_required"] = "رقم المحمول مطلوب";
$lang["messages_phone_placeholder"] = "رقم/أرقام المحمول هنا...";

View File

@@ -1,6 +1,10 @@
<?php
$lang["module_attributes"] = "ميزات/مميزات";
$lang["module_attributes_desc"] = "إضافة، تعديل، حذف، وبحث بالميزات.";
$lang["module_both"] = "الاثنين";
$lang["module_cashups"] = "الصندوق النقدي";
$lang["module_cashups_desc"] = "إضافة، تعديل، حذف، وبحث بالصندوق النقدي.";
$lang["module_config"] = "إعدادات الشركة";
$lang["module_config_desc"] = "تغيير إعدادات الشركة.";
$lang["module_customers"] = "العملاء";

View File

@@ -35,6 +35,7 @@ $lang["receivings_register"] = "استلام الأصناف";
$lang["receivings_requisition"] = "طلب شراء";
$lang["receivings_return"] = "إرتجاع لمورد";
$lang["receivings_select_supplier"] = "اختار المورد (اختيارى)";
$lang["receivings_ship_pack"] = "حزمة توصيل";
$lang["receivings_start_typing_supplier_name"] = "ابداء بكتابة اسم المورد....";
$lang["receivings_stock"] = "المخزون";
$lang["receivings_stock_destination"] = "المخزون المحول له";

View File

@@ -1,5 +1,7 @@
<?php
<?php
$lang["reports_all"] = "الكل";
$lang["reports_authority"] = "السلطة";
$lang["reports_canceled"] = "ملغى";
$lang["reports_categories"] = "التصنيفات";
$lang["reports_categories_summary_report"] = "تقرير ملخص التصنيفات";
@@ -30,7 +32,9 @@ $lang["reports_detailed_reports"] = "التقارير التفصيلية";
$lang["reports_detailed_requisition_report"] = "تقرير مفصل لطلبات الشراء";
$lang["reports_detailed_sales_report"] = "تقرير مفصل للمبيعات";
$lang["reports_discount"] = "الخصم";
$lang["reports_discount_fixed"] = "حسم ثابت";
$lang["reports_discount_percent"] = "نسبة الخصم";
$lang["reports_discount_type"] = "نوع الحسم";
$lang["reports_discounts"] = "الخصومات";
$lang["reports_discounts_summary_report"] = "تقرير ملخص الخصومات";
$lang["reports_earned"] = "النقاط المحصلة";
@@ -60,8 +64,10 @@ $lang["reports_items"] = "الأصناف";
$lang["reports_items_purchased"] = "الأصناف مشتراه";
$lang["reports_items_received"] = "الأصناف مستلمة";
$lang["reports_items_summary_report"] = "تقرير ملخص الأصناف";
$lang["reports_jurisdiction"] = "الاختصاص القضائي";
$lang["reports_low_inventory"] = "النواقص";
$lang["reports_low_inventory_report"] = "تقرير نواقص المخزون";
$lang["reports_low_sell_quantity"] = "كميات حسب الصنف الاولي";
$lang["reports_more_than_zero"] = "أكثر من صفر";
$lang["reports_name"] = "الاسم";
$lang["reports_no_reports_to_display"] = "لايوجد أصناف لعرضها.";
@@ -96,6 +102,8 @@ $lang["reports_sale_type"] = "طريقة البيع";
$lang["reports_sales"] = "بيع";
$lang["reports_sales_amount"] = "كمية المبيعات";
$lang["reports_sales_summary_report"] = "تقرير ملخص المبيعات";
$lang["reports_sales_taxes"] = "ضرائب المبيعات";
$lang["reports_sales_taxes_summary_report"] = "تقرير ملخص ضرائب المبيعات";
$lang["reports_serial_number"] = "مسلسل";
$lang["reports_sold_by"] = "البائع";
$lang["reports_sold_to"] = "مباع الى";
@@ -108,13 +116,24 @@ $lang["reports_supplier"] = "المورد";
$lang["reports_suppliers"] = "الموردين";
$lang["reports_suppliers_summary_report"] = "تقرير ملخص الموردين";
$lang["reports_tax"] = "الضريبة";
$lang["reports_tax_category"] = "الفئة الضريبية";
$lang["reports_tax_percent"] = "نسبة الضريبة";
$lang["reports_tax_rate"] = "معدل الضريبة";
$lang["reports_taxes"] = "الضرائب";
$lang["reports_taxes_summary_report"] = "تقرير ملخص الضرائب";
$lang["reports_total"] = "الإجمالى";
$lang["reports_total_inventory_value"] = "إجمالى قيمة المخزن";
$lang["reports_total_low_sell_quantity"] = "مجموع الكميات حسب الصنف الاولي";
$lang["reports_total_quantity"] = "الكمية/العدد";
$lang["reports_total_retail"] = "قيمة المبيع";
$lang["reports_trans_amount"] = "قيمة العملية التجارية";
$lang["reports_trans_due"] = "مستحق";
$lang["reports_trans_group"] = "مجموعة العمليات التجارية";
$lang["reports_trans_nopay_sales"] = "المبيعات الغير مسدده";
$lang["reports_trans_payments"] = "المدفوعات";
$lang["reports_trans_refunded"] = "المرتجع";
$lang["reports_trans_sales"] = "المبيعات";
$lang["reports_trans_type"] = "نوع العملية التجارية";
$lang["reports_type"] = "النوع";
$lang["reports_unit_price"] = "السعر";
$lang["reports_used"] = "النقاط المستخدمة";

View File

@@ -1,15 +1,20 @@
<?php
<?php
$lang["customers_available_points"] = "النقاط المتاحة";
$lang["rewards_package"] = "مكافآت";
$lang["rewards_remaining_balance"] = "رصيد النقاط المتبقي هو ";
$lang["sales_account_number"] = "حساب";
$lang["sales_add_payment"] = "إضافة دفع";
$lang["sales_amount_due"] = "المبلغ المطلوب";
$lang["sales_amount_tendered"] = "المبلغ المدفوع";
$lang["sales_authorized_signature"] = "توقيع معتمد";
$lang["sales_cancel_sale"] = "الغاء عملية البيع";
$lang["sales_cash"] = "نقدى";
$lang["sales_cash_adjustment"] = "";
$lang["sales_cash_deposit"] = "ايداع نقدي";
$lang["sales_cash_filter"] = "نقدى";
$lang["sales_change_due"] = "الباقى";
$lang["sales_change_price"] = "";
$lang["sales_check"] = "شيك";
$lang["sales_check_balance"] = "تذكير بموعد الشيك";
$lang["sales_check_filter"] = "شيك";
@@ -21,13 +26,14 @@ $lang["sales_confirm_delete"] = "هل تريد حذف عمليات البيع ا
$lang["sales_confirm_restore"] = "هل انت متاكد من استعادة عملية البيع؟";
$lang["sales_credit"] = "بطاقة إئتمانية";
$lang["sales_credit_deposit"] = "ايداع ببطاقة ائتمان";
$lang["sales_credit_filter"] = "";
$lang["sales_customer"] = "العميل";
$lang["sales_customer_address"] = "العنوان";
$lang["sales_customer_discount"] = "الخصم";
$lang["sales_customer_email"] = "البريد الإلكترونى";
$lang["sales_customer_location"] = "المكان";
$lang["sales_customer_mailchimp_status"] = "حالة ميل تشيمب";
$lang["sales_customer_optional"] = "(اختياري)";
$lang["sales_customer_optional"] = "(مطلوب للدفعات المستحقة)";
$lang["sales_customer_required"] = "(اجباري)";
$lang["sales_customer_total"] = "المجموع";
$lang["sales_date"] = "تاريخ البيع";
@@ -43,7 +49,7 @@ $lang["sales_delete_unsuccessful"] = "لقد فشل حذف عملية البيع
$lang["sales_description_abbrv"] = "الوصف.";
$lang["sales_discard"] = "الغاء";
$lang["sales_discard_quote"] = "";
$lang["sales_discount"] = "خصم %";
$lang["sales_discount"] = "خصم";
$lang["sales_discount_included"] = "% خصم";
$lang["sales_discount_short"] = "%";
$lang["sales_due"] = "مستحق";
@@ -62,6 +68,7 @@ $lang["sales_giftcard_balance"] = "رصيد بطاقة الهدية";
$lang["sales_giftcard_number"] = "رقم بطاقة الهدية";
$lang["sales_group_by_category"] = "تصفية حسب الفئة";
$lang["sales_group_by_type"] = "تجميع حسب النوع";
$lang["sales_hsn"] = "رمز نظام منسق";
$lang["sales_id"] = "كود عملية البيع";
$lang["sales_include_prices"] = "يشمل الاسعار؟";
$lang["sales_invoice"] = "فاتورة";
@@ -72,6 +79,11 @@ $lang["sales_invoice_no_email"] = "هذا العميل ليس لدية بريد
$lang["sales_invoice_number"] = "فاتورة رقم #";
$lang["sales_invoice_number_duplicate"] = "من فضلك أدخل رقم فاتورة غير مكرر.";
$lang["sales_invoice_sent"] = "تم إرسال الفاتورة إلى";
$lang["sales_invoice_total"] = "إجمالي الفاتورة";
$lang["sales_invoice_type_custom_invoice"] = "فاتورة مخصصة (custom_invoice.php)";
$lang["sales_invoice_type_custom_tax_invoice"] = "الفاتورة الضريبية المخصصة (custom_tax_invoice.php)";
$lang["sales_invoice_type_invoice"] = "الفاتورة (invoice.php)";
$lang["sales_invoice_type_tax_invoice"] = "الفاتورة الضريبية (tax_invoice.php)";
$lang["sales_invoice_unsent"] = "فشل إرسال الفاتورة إلى";
$lang["sales_invoice_update"] = "إعادة العد";
$lang["sales_item_insufficient_of_stock"] = "لايوجد مخزون كافى من الصنف.";
@@ -83,11 +95,12 @@ $lang["sales_must_enter_numeric"] = "يجب إدخال رقم للمبلغ ال
$lang["sales_must_enter_numeric_giftcard"] = "رقم بطاقة الهدية يجب أن يكون رقم.";
$lang["sales_new_customer"] = "عميل جديد";
$lang["sales_new_item"] = "صنف جديد";
$lang["sales_no_description"] = "لايوجد";
$lang["sales_no_description"] = "بدون وصف";
$lang["sales_no_filter"] = "الكل";
$lang["sales_no_items_in_cart"] = "لايوجد أصناف فى السلة.";
$lang["sales_no_sales_to_display"] = "لاتوجد عمليات بيع لعرضها.";
$lang["sales_none_selected"] = "لم تقم بإختيار أى عمليات بيع لحذفها.";
$lang["sales_nontaxed_ind"] = "";
$lang["sales_not_authorized"] = "هذه العملية لا يمكن فعلها لعدم تخويلك.";
$lang["sales_one_or_multiple"] = "عمليات بيع";
$lang["sales_payment"] = "طريقة الدفع";
@@ -111,6 +124,7 @@ $lang["sales_receipt_no_email"] = "هذا العميل ليس له اي بريد
$lang["sales_receipt_number"] = "إيصال بيع";
$lang["sales_receipt_sent"] = "تم إرسال الإيصال إلى";
$lang["sales_receipt_unsent"] = "فشل إرسال الإيصال إلى";
$lang["sales_refund"] = "";
$lang["sales_register"] = "مسجل المبيعات";
$lang["sales_remove_customer"] = "حذف عميل";
$lang["sales_return"] = "إرتجاع";
@@ -145,7 +159,10 @@ $lang["sales_suspended_sales"] = "المبيعات المعلقة";
$lang["sales_table"] = "طاولة";
$lang["sales_takings"] = "المبيع اليومي";
$lang["sales_tax"] = "ضريبة";
$lang["sales_tax_id"] = "الرقم الضريبي";
$lang["sales_tax_invoice"] = "فاتورة ضريبية";
$lang["sales_tax_percent"] = "ضريبة %";
$lang["sales_taxed_ind"] = "";
$lang["sales_total"] = "المجموع";
$lang["sales_total_tax_exclusive"] = "الإجمالى بدون الضرائب";
$lang["sales_transaction_failed"] = "فشل حركة البيع.";
@@ -157,6 +174,7 @@ $lang["sales_unsuccessfully_updated"] = "فشل تحديث عملية البيع
$lang["sales_unsuspend"] = "إلغاء تعليق";
$lang["sales_unsuspend_and_delete"] = "إلغاء تعليق وحذف";
$lang["sales_update"] = "تحديث";
$lang["sales_upi"] = "رقم التعريف الشخصي";
$lang["sales_work_order"] = "طلب عمل";
$lang["sales_work_order_number"] = "رقم طلب العمل";
$lang["sales_work_order_number_duplicate"] = "رقم طلب العمل يجب ان يكون فريد.";

View File

@@ -3,11 +3,14 @@
$lang["suppliers_account_number"] = "رقم الحساب";
$lang["suppliers_agency_name"] = "اسم الوكالة";
$lang["suppliers_cannot_be_deleted"] = "لايمكن حذف المورد/الموردين لوجود مبيعات مرتبطة بهم.";
$lang["suppliers_category"] = "الفئة";
$lang["suppliers_company_name"] = "اسم الشركة";
$lang["suppliers_company_name_required"] = "اسم الشركة مطلوب.";
$lang["suppliers_confirm_delete"] = "هل تريد حقا حذف هؤلاء الموردين؟";
$lang["suppliers_confirm_restore"] = "هل تريد بالتأكيد استعادة المورد (الموردين) المحددين؟";
$lang["suppliers_cost"] = "مورد كلفة";
$lang["suppliers_error_adding_updating"] = "خطاء فى إضافة/تحديث المورد.";
$lang["suppliers_goods"] = "مورد بضائع";
$lang["suppliers_new"] = "مورد جديد";
$lang["suppliers_none_selected"] = "لم تختار موردين لحذفهم.";
$lang["suppliers_one_or_multiple"] = "مورد/موردين";
@@ -16,4 +19,5 @@ $lang["suppliers_successful_deleted"] = "لقد تم حذف المورد بنج
$lang["suppliers_successful_updating"] = "لقد تم تحديث بيانات المورد بنجاح";
$lang["suppliers_supplier"] = "مورد";
$lang["suppliers_supplier_id"] = "كود المورد";
$lang["suppliers_tax_id"] = "الرقم الضريبي";
$lang["suppliers_update"] = "تحديث بيانات المورد";

View File

@@ -1,32 +1,80 @@
<?php
$lang["taxes_add_exception"] = "أضافة أستثناء";
$lang["taxes_confirm_delete"] = "هل أنت متأكد من تغيير الكود الضريبي؟ هذا الأجراء غير قابل للرجوع.";
$lang["taxes_cascade"] = "تتالي";
$lang["taxes_cascade_sequence"] = "تسلسل متتالي";
$lang["taxes_city"] = "مدينة";
$lang["taxes_code"] = "الشفرة";
$lang["taxes_confirm_delete"] = "هل أنت متأكد أنك تريد حذف قانون الضرائب؟ لا يمكن التراجع عن هذا الإجراء";
$lang["taxes_confirm_restore"] = "هل أنت متأكد من أستعادة الأكواد الضريبية؟";
$lang["taxes_default_tax_category"] = "التصنيف الضريبي الأفتراضي";
$lang["taxes_error_adding_updating"] = "فشل إضافة أو تغيير الكود الضريبي.";
$lang["taxes_new"] = "كود ضريبي جديد";
$lang["taxes_no_taxes_to_display"] = "لا يوجد أكواد ضريبية للعرض.";
$lang["taxes_round_half_down"] = "تقريب Half Down";
$lang["taxes_round_half_even"] = "تقريب Half Even";
$lang["taxes_round_half_odd"] = "تقريب Half Odd";
$lang["taxes_round_half_up"] = "تقريب Half Up";
$lang["taxes_default_tax_rate"] = "معدل الضريبة الافتراضي";
$lang["taxes_error_adding_updating"] = "فشل إضافة أو تحديث قانون الضرائب";
$lang["taxes_group_seq"] = "تسلسل المجموعة";
$lang["taxes_jurisdiction_name"] = "اسم الولاية القضائية";
$lang["taxes_name"] = "الاسم";
$lang["taxes_new"] = "ضريبة جديدة";
$lang["taxes_no_taxes_to_display"] = "لا يوجد أكواد ضريبية للعرض";
$lang["taxes_reporting_authority"] = "السلطة الضريبية";
$lang["taxes_round_half_down"] = "نصف الاسفل";
$lang["taxes_round_half_even"] = "تقريب للنصف";
$lang["taxes_round_half_odd"] = "تقريب غريب";
$lang["taxes_round_half_up"] = "تقريب للاعلى";
$lang["taxes_rounding_code"] = "كود التقريب";
$lang["taxes_sales_tax"] = "ضريبة المبيعات";
$lang["taxes_sales_tax_by_invoice"] = "ضريبة المبيعات بالفاتورة";
$lang["taxes_sequence"] = "تسلسل";
$lang["taxes_state"] = "حالة";
$lang["taxes_successful_deleted"] = "تم المسح بنجاح";
$lang["taxes_tax_category"] = "نوع الضريبة";
$lang["taxes_tax_categories"] = "فئات الضرائب";
$lang["taxes_tax_categories_configuration"] = "اعدادات فئات الضرائب";
$lang["taxes_tax_categories_saved_successfully"] = "تم حفظ تغييرات الفئات الضريبية";
$lang["taxes_tax_categories_saved_unsuccessfully"] = "لم يتم حفظ تغييرات الفئات الضريبة";
$lang["taxes_tax_category"] = "الفئة الضريبية";
$lang["taxes_tax_category_code"] = "رمز الفئة الضريبية";
$lang["taxes_tax_category_duplicate"] = "الفئة الضريبية مكررة";
$lang["taxes_tax_category_invalid_chars"] = "أحرف غير صالحة في اسم الفئة الضريبية";
$lang["taxes_tax_category_name"] = "اسم فئة الضريبة";
$lang["taxes_tax_category_new"] = "فئة الضريبية جديدة";
$lang["taxes_tax_category_required"] = "الفئة الضريبة مطلوبة";
$lang["taxes_tax_code"] = "كود الضريبة";
$lang["taxes_tax_code_cannot_be_deleted"] = "فشل مسح الكود الضريبي.";
$lang["taxes_tax_code_cannot_be_deleted"] = "فشل مسح الكود الضريبي";
$lang["taxes_tax_code_duplicate"] = "رمز الضريبة مكرر";
$lang["taxes_tax_code_invalid_chars"] = "أحرف لا يمكن استعمالها في قانون الضرائب";
$lang["taxes_tax_code_name"] = "اسم الكود الضريبي";
$lang["taxes_tax_code_required"] = "حقل الكود الضريبي مطلوب.";
$lang["taxes_tax_code_required"] = "حقل الكود الضريبي مطلوب";
$lang["taxes_tax_code_successful_deleted"] = "تم مسح الكود الضريبي";
$lang["taxes_tax_code_successful_updated"] = "تم التعديل بنجاح";
$lang["taxes_tax_code_successful_updating"] = "تم تعديل الكود الضريبي بنجاح";
$lang["taxes_tax_code_successfully_added"] = "لقد تم إضافة المورد بنجاح";
$lang["taxes_tax_code_type"] = "نوع كود الضريبة";
$lang["taxes_tax_codes"] = "الرموز الضريبية";
$lang["taxes_tax_codes_configuration"] = "اعدادات الرموز الضريبية";
$lang["taxes_tax_codes_saved_successfully"] = "تم حفظ تغييرات قانون الضرائب";
$lang["taxes_tax_codes_saved_unsuccessfully"] = "لم يتم حفظ تغييرات قانون الضريبة";
$lang["taxes_tax_excluded"] = "لا تشمل الضرائب";
$lang["taxes_tax_group"] = "المجموعة الضريبية";
$lang["taxes_tax_group_not_unique"] = "";
$lang["taxes_tax_group_sequence"] = "تسلسل مجموعة الضرائب";
$lang["taxes_tax_included"] = "الضريبة مشمولة";
$lang["taxes_tax_jurisdiction"] = "الاختصاص الضريبي";
$lang["taxes_tax_jurisdiction_duplicate"] = "تكرير الاختصاص الضريبي";
$lang["taxes_tax_jurisdiction_invalid_chars"] = "أحرف لا يمكن استعمالها في اسم الولاية القضائية";
$lang["taxes_tax_jurisdiction_required"] = "الاختصاص الضريبي هي خانة اجبارية";
$lang["taxes_tax_jurisdictions"] = "الاختصاصات الضريبية";
$lang["taxes_tax_jurisdictions_configuration"] = "اعجدادات الاختصاصات الضريبية";
$lang["taxes_tax_jurisdictions_saved_successfully"] = "تم حفظ تغييرات الاختصاص الضريبي";
$lang["taxes_tax_jurisdictions_saved_unsuccessfully"] = "لم يتم حفظ تغييرات الاختصاص الضريبي";
$lang["taxes_tax_rate"] = "معدل الضريبة الافتراضي %";
$lang["taxes_tax_rate_numeric"] = "معدل الضريبة الافتراضي يجب أن يكون رقم.";
$lang["taxes_tax_rate_required"] = "معدل الضريبة الافتراضي مطلوب.";
$lang["taxes_update"] = "تعديل نوع ضريبة المبيعات";
$lang["taxes_tax_rate_configuration"] = "اعجدادات معدل الضريبة";
$lang["taxes_tax_rate_error_adding_updating"] = "فشل إضافة أو تحديث معدل الضريبة";
$lang["taxes_tax_rate_numeric"] = "معدل الضريبة الافتراضي يجب أن يكون رقم";
$lang["taxes_tax_rate_required"] = "معدل الضريبة الافتراضي مطلوب";
$lang["taxes_tax_rate_successful_updated"] = "لقد تم بالتحديث بنجاح";
$lang["taxes_tax_rate_successfully_added"] = "لقد تم الاضافة بنجاح";
$lang["taxes_tax_rates"] = "معدلات الضريبة";
$lang["taxes_tax_rates_configuration"] = "اعدادات معدلات الضريبة";
$lang["taxes_tax_rounding"] = "التقريب الضريبي";
$lang["taxes_tax_type"] = "نوع الضريبة";
$lang["taxes_update"] = "تحديث معدل الضريبة";
$lang["taxes_vat_tax"] = "ضريبة القيمة المضافة";

View File

@@ -0,0 +1,31 @@
<?php
$lang["attributes_attribute_value_invalid_chars"] = "الميزات لا يمكن أن تحتوي على ':' أو'|'";
$lang["attributes_confirm_delete"] = "هل أنت متأكد من أنك تريد حذف الميزات المحددة ؟";
$lang["attributes_confirm_restore"] = "هل أنت متأكد من أنك تريد استعادة السمة (السمات) المحددة؟";
$lang["attributes_definition_cannot_be_deleted"] = "لا يمكن حذف السمات المحددة";
$lang["attributes_definition_error_adding_updating"] = "لا يمكن إضافة السمة ٪1 أو تحديثها. يرجى التحقق من سجل الخطأ.";
$lang["attributes_definition_flags"] = "رؤية الميزات";
$lang["attributes_definition_group"] = "المجموعة";
$lang["attributes_definition_id"] = "كود";
$lang["attributes_definition_name"] = "إضافة ميزة";
$lang["attributes_definition_name_required"] = "اسم الميزة هي خانة اجبارية";
$lang["attributes_definition_one_or_multiple"] = "ميزة/ميزات";
$lang["attributes_definition_successful_adding"] = "لقد تم إضافة صنف بنجاح";
$lang["attributes_definition_successful_deleted"] = "لقد تم حذف ميزة بنجاح";
$lang["attributes_definition_successful_updating"] = "تم تعديل الميزة بنجاح";
$lang["attributes_definition_type"] = "نوع الميزة";
$lang["attributes_definition_type_required"] = "نوع الميزة هي خانة إجبارية";
$lang["attributes_definition_unit"] = "وحدة قياس";
$lang["attributes_definition_values"] = "قيمة الميزة";
$lang["attributes_new"] = "اضافة ميزة جديده";
$lang["attributes_no_attributes_to_display"] = "لا يوجد اصناف للعرض";
$lang["attributes_receipt_visibility"] = "وصل";
$lang["attributes_show_in_items"] = "اظهار في الصنف";
$lang["attributes_show_in_items_visibility"] = "الصنف";
$lang["attributes_show_in_receipt"] = "اظهار على الوصل";
$lang["attributes_show_in_receivings"] = "اظهار في استلام البضائع";
$lang["attributes_show_in_receivings_visibility"] = "استلام البضائع";
$lang["attributes_show_in_sales"] = "اظهار خلال البيع";
$lang["attributes_show_in_sales_visibility"] = "البيع";
$lang["attributes_update"] = "تحديث الميزات";

View File

@@ -0,0 +1,10 @@
<?php
$lang["tables_all"] = "الجميع";
$lang["tables_columns"] = "أعمدة";
$lang["tables_hide_show_pagination"] = "عرض/إخفاء أرقام الصفحات";
$lang["tables_loading"] = "جارى التحميل، برجاء الإنتظار ...";
$lang["tables_page_from_to"] = "عرض {0} إلى {1} من {2} صفوف";
$lang["tables_refresh"] = "إعادة تحميل";
$lang["tables_rows_per_page"] = "{0} صف بالصفحة";
$lang["tables_toggle"] = "تغيير";

View File

@@ -0,0 +1,38 @@
<?php
$lang["cashups_amount"] = "قيمة المبلغ";
$lang["cashups_amount_number"] = "قيمة المبلغ يجب ان تتكون من ارقام";
$lang["cashups_amount_required"] = "قيمة المبلغ هي خانة إجبارية.";
$lang["cashups_cannot_be_deleted"] = "لا يمكن حذف الصندوق النقدي";
$lang["cashups_close_date"] = "تاريخ تسكير الصندوق";
$lang["cashups_close_employee"] = "تم التسكير من قبل";
$lang["cashups_closed_amount_card"] = "بطاقات ائتمان";
$lang["cashups_closed_amount_cash"] = "الصندوق النقدي";
$lang["cashups_closed_amount_check"] = "شيكات";
$lang["cashups_closed_amount_due"] = "الديون";
$lang["cashups_closed_amount_total"] = "المجموع";
$lang["cashups_closed_date"] = "تاريخ تسكير الصندوق";
$lang["cashups_confirm_delete"] = "هل انت متأكد من حذف الصندوق النقدي؟";
$lang["cashups_confirm_restore"] = "هل انت متأكد من استعادة الصندوق النقدي؟";
$lang["cashups_date_number"] = "التاريخ يجب ان يكون مكون من ارقام";
$lang["cashups_date_required"] = "التاريخ هي خانة اجبارية";
$lang["cashups_description"] = "الوصف";
$lang["cashups_error_adding_updating"] = "خطأ في تعديل او اضافة صندوق نقدي";
$lang["cashups_id"] = "كود";
$lang["cashups_info"] = "معلومات عن الصندوق النقدي";
$lang["cashups_is_deleted"] = "محذوف";
$lang["cashups_new"] = "صندوق نقدي جديد";
$lang["cashups_no_cashups_to_display"] = "لا يوجد صناديق نقدية للاظهار";
$lang["cashups_none_selected"] = "لم يتم اختيار اي صندوق نقدي";
$lang["cashups_note"] = "ملاحظات";
$lang["cashups_one_or_multiple"] = "صندوق او صناديق نقدية";
$lang["cashups_open_amount_cash"] = "بداية صندوق نقدي";
$lang["cashups_open_date"] = "تاريخ بداية الصندوق النقدي";
$lang["cashups_open_employee"] = "تمت بداية الصندوق النقدي من قبل";
$lang["cashups_opened_date"] = "تاريخ بداية الصندوق النقدي";
$lang["cashups_successful_adding"] = "تمت إضافة الصندوق النقدي بنجاح";
$lang["cashups_successful_deleted"] = "تم حذف الصندوق النقدي بنجاح";
$lang["cashups_successful_updating"] = "تم تعديل الصندوق النقدي بنجاح";
$lang["cashups_total"] = "المجموع";
$lang["cashups_transfer_amount_cash"] = "حركة الصندوق";
$lang["cashups_update"] = "تعديل/تحديث الصندوق النقدي";

View File

@@ -0,0 +1,79 @@
<?php
$lang["common_address_1"] = "العنوان 1";
$lang["common_address_2"] = "العنوان 2";
$lang["common_city"] = "المدينة";
$lang["common_close"] = "إغلاق";
$lang["common_comments"] = "تعليقات";
$lang["common_common"] = "عام";
$lang["common_confirm_search"] = "لقد قمت اختيار أكتر من سجل، سوف تفقد هذه الاختيارات عند إرسال البحث، موافق؟";
$lang["common_copyrights"] = "© 2010 - %1";
$lang["common_correct_errors"] = "يرجى تصحيح الأخطاء المحددة قبل الحفظ";
$lang["common_country"] = "البلد";
$lang["common_date"] = "التاريخ";
$lang["common_delete"] = "حذف";
$lang["common_det"] = "تفاصيل";
$lang["common_download_import_template"] = "تنزيل قالب الاستيراد من اكسل (CSV)";
$lang["common_edit"] = "تحرير";
$lang["common_email"] = "بريد إلكتروني";
$lang["common_email_invalid_format"] = "شكل البريد الإلكتروني غير صحيح.";
$lang["common_export_csv"] = "تصدير إلى اكسل";
$lang["common_export_csv_no"] = "لا";
$lang["common_export_csv_yes"] = "نعم";
$lang["common_fields_required_message"] = "الحقول التي بالأحمر مطلوبة";
$lang["common_first_name"] = "الاسم الأول";
$lang["common_first_name_required"] = "الاسم الأول مطلوب.";
$lang["common_first_page"] = "الأول";
$lang["common_gender"] = "النوع";
$lang["common_gender_female"] = "أنثى";
$lang["common_gender_male"] = "ذكر";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "كود";
$lang["common_import"] = "استيراد";
$lang["common_import_change_file"] = "تغيير";
$lang["common_import_csv"] = "استيراد من اكسل";
$lang["common_import_full_path"] = "المسار الكامل لملف اكسل مطلوب";
$lang["common_import_remove_file"] = "إزالة";
$lang["common_import_select_file"] = "اختار ملف";
$lang["common_inv"] = "المخزن";
$lang["common_last_name"] = "الاسم الأخير";
$lang["common_last_name_required"] = "الاسم الأخير مطلوب.";
$lang["common_last_page"] = "الأخيرة";
$lang["common_learn_about_project"] = "للتعرف على أخر المعلومات حول المشروع.";
$lang["common_list_of"] = "قائمة بـ";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "خروج";
$lang["common_migration_needed"] = "سيبدأ ترحيل قاعدة البيانات إلى ٪1 بعد تسجيل الدخول.";
$lang["common_new"] = "جديد";
$lang["common_no"] = "";
$lang["common_no_persons_to_display"] = "لا يوجد اناس لعرضهم.";
$lang["common_none_selected_text"] = "[إختيار]";
$lang["common_or"] = "أو";
$lang["common_phone_number"] = "رقم التليفون";
$lang["common_phone_number_required"] = "رقم التليفون مطلوب";
$lang["common_please_visit_my"] = "برجاء زيارة";
$lang["common_powered_by"] = "مدعوم بواسطة";
$lang["common_price"] = "السعر";
$lang["common_print"] = "طباعة";
$lang["common_remove"] = "إزالة";
$lang["common_required"] = "مطلوب";
$lang["common_restore"] = "الإستعادة";
$lang["common_return_policy"] = "سياسة الاسترجاع";
$lang["common_search"] = "بحث";
$lang["common_search_options"] = "خيارات البحث";
$lang["common_searched_for"] = "بحث عن";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "المحافظة";
$lang["common_submit"] = "حفظ";
$lang["common_total_spent"] = "مجموع الصرف";
$lang["common_unknown"] = "غير معروف";
$lang["common_view_recent_sales"] = "عرض أحدث المبيعات";
$lang["common_website"] = "الموقع الإلكترونى";
$lang["common_welcome"] = "مرحباً";
$lang["common_welcome_message"] = "مرحباً فى OSPOS برجاء إختيار أى قسم للبدء.";
$lang["common_yes"] = "";
$lang["common_you_are_using_ospos"] = "أنت تستخدم إصدار Open Source Point Of Sale";
$lang["common_zip"] = "الرقم البريدى";

View File

@@ -0,0 +1,304 @@
<?php
$lang["config_address"] = "عنوان الشركة";
$lang["config_address_required"] = "عنوان الشركة مطلوب.";
$lang["config_all_set"] = "All file permissions are set correctly!";
$lang["config_allow_duplicate_barcodes"] = "السماح بتشابة الباركود";
$lang["config_apostrophe"] = "الفاصلة";
$lang["config_backup_button"] = "نسخ إحتياطى";
$lang["config_backup_database"] = "نسخ إحتياطى لقاعدة البيانات";
$lang["config_barcode"] = "باركود";
$lang["config_barcode_company"] = "اسم الشركة";
$lang["config_barcode_configuration"] = "اعدادات الباركود";
$lang["config_barcode_content"] = "محتويات الباركود";
$lang["config_barcode_first_row"] = "الصف 1";
$lang["config_barcode_font"] = "الخط";
$lang["config_barcode_formats"] = "اشكال الادخال";
$lang["config_barcode_generate_if_empty"] = "توليد اذا كان الباركود فارغ.";
$lang["config_barcode_height"] = "الارتفاع (px)";
$lang["config_barcode_id"] = "كود/اسم الصنف";
$lang["config_barcode_info"] = "معلومات اعدادات الباركود";
$lang["config_barcode_layout"] = "تخطيط الباركود";
$lang["config_barcode_name"] = "الاسم";
$lang["config_barcode_number"] = "الباركود UPC/EAN/ISBN";
$lang["config_barcode_number_in_row"] = "الرقم فى الصف";
$lang["config_barcode_page_cellspacing"] = "المسافة بين الخلايا فى صفحة العرض.";
$lang["config_barcode_page_width"] = "عرض الصفحة";
$lang["config_barcode_price"] = "السعر";
$lang["config_barcode_second_row"] = "الصف 2";
$lang["config_barcode_third_row"] = "الصف 3";
$lang["config_barcode_tooltip"] = "تحذير: قد تؤدي هذه الميزة إلى استيراد اصناف مكررة أو إنشاؤها. لا تستخدمها إذا كنت لا تريد الباركود مكررة.";
$lang["config_barcode_type"] = "نوعية الباركود";
$lang["config_barcode_width"] = "العرض (px)";
$lang["config_bottom"] = "الأسفل";
$lang["config_cash_decimals"] = "فواصل النقدية";
$lang["config_cash_decimals_tooltip"] = "إذا كانت الكسور العشرية النقدية وعشرية العملات هي نفسها ثم لن يتم تقريب النقدية.";
$lang["config_cash_rounding"] = "التقريب النقدي";
$lang["config_category_dropdown"] = "";
$lang["config_center"] = "الوسط";
$lang["config_comma"] = "فاصلة";
$lang["config_company"] = "اسم الشركة";
$lang["config_company_change_image"] = "تغيير الصورة";
$lang["config_company_logo"] = "شعار الشركة";
$lang["config_company_remove_image"] = "إزالة الصورة";
$lang["config_company_required"] = "اسم الشركة مطلوب";
$lang["config_company_select_image"] = "اختار صورة";
$lang["config_company_website_url"] = "الموقع الإلكترونى للشركة غير صحيح.";
$lang["config_country_codes"] = "أكواد الدولة";
$lang["config_country_codes_tooltip"] = "قائمة مفصولة بفاصلة لاسماء الدول للبحث.";
$lang["config_currency_code"] = "رمز العملة";
$lang["config_currency_decimals"] = "العلامة العشرية للعملة";
$lang["config_currency_symbol"] = "رمز العملة";
$lang["config_customer_reward"] = "المكافآت";
$lang["config_customer_reward_duplicate"] = "المكافئة يجب ان تكون فريدة.";
$lang["config_customer_reward_enable"] = "تمكين مكافآت العميل";
$lang["config_customer_reward_invalid_chars"] = "لا يمكن أن تحتوي المكافأة على '_'";
$lang["config_customer_reward_required"] = "المكافأة هي حقل مطلوب";
$lang["config_customer_sales_tax_support"] = "دعم الضرائب المبيعات العملاء";
$lang["config_date_or_time_format"] = "تصفية التاريخ والوقت";
$lang["config_datetimeformat"] = "شكل الوقت و التاريخ";
$lang["config_decimal_point"] = "العلامة العشرية";
$lang["config_default_barcode_font_size_number"] = "الحجم الافتراضي لخط الباركود لابد أن يكون رقم.";
$lang["config_default_barcode_font_size_required"] = "الحجم الافتراضي لخط الباركود مطلوب.";
$lang["config_default_barcode_height_number"] = "الارتفاع الافتراضي للباركود لابد ان يكون رقم.";
$lang["config_default_barcode_height_required"] = "الارتفاع الافتراضي للباركود مطلوب.";
$lang["config_default_barcode_num_in_row_number"] = "رقم الباركود فى اى سطر لابد ان يكون رقم.";
$lang["config_default_barcode_num_in_row_required"] = "رقم الباركود فى اى سطر مطلوب.";
$lang["config_default_barcode_page_cellspacing_number"] = "المسافة الافتراضية بين خلايا الباركود لابد أن تكون رقم.";
$lang["config_default_barcode_page_cellspacing_required"] = "المسافة الافتراضية بين خلايا الباركود مطلوبة.";
$lang["config_default_barcode_page_width_number"] = "عرض الصفحة الافتراضي للباركود لابد ان يكون رقم.";
$lang["config_default_barcode_page_width_required"] = "عرض الصفحة الافتراضي للباركود مطلوب.";
$lang["config_default_barcode_width_number"] = "العرض الافتراضي للباركود لابد ان يكون رقم.";
$lang["config_default_barcode_width_required"] = "العرض الافتراضي للباركود مطلوب.";
$lang["config_default_item_columns"] = "الخانات المراد إظهارها";
$lang["config_default_origin_tax_code"] = "كود الضريبة الاساسي الافتراضي";
$lang["config_default_receivings_discount"] = "خصم الإيصالات الافتراضي";
$lang["config_default_receivings_discount_number"] = "خصم الإيصالات الافتراضي يجب ان يكون رقم.";
$lang["config_default_receivings_discount_required"] = "خصم الإيصالات الافتراضي هي خانة اجبارية.";
$lang["config_default_sales_discount"] = "نسبة الخصم الافتراضية";
$lang["config_default_sales_discount_number"] = "نسبة الخصم الافتراضية لابد ان تكون رقم.";
$lang["config_default_sales_discount_required"] = "نسبة الخصم الافتراضية مطلوبة.";
$lang["config_default_tax_category"] = "فئة الضرائب الافتراضية";
$lang["config_default_tax_code"] = "قانون الضرائب الافتراضي";
$lang["config_default_tax_jurisdiction"] = "الاختصاص الضريبي الافتراضي";
$lang["config_default_tax_name_number"] = "يجب أن يكون الاسم الافتراضي للضريبة سلسلة.";
$lang["config_default_tax_name_required"] = "اسم الضريبة الافتراضية مطلوب.";
$lang["config_default_tax_rate"] = "معدل الضريبة الافتراضي %";
$lang["config_default_tax_rate_1"] = "معدل الضريبة 1";
$lang["config_default_tax_rate_2"] = "معدل الضريبة 2";
$lang["config_default_tax_rate_number"] = "معدل الضريبة الافتراضي يجب أن يكون رقم.";
$lang["config_default_tax_rate_required"] = "معدل الضريبة الافتراضي مطلوب.";
$lang["config_derive_sale_quantity"] = "السماح بأسعار البيع المشتقة";
$lang["config_derive_sale_quantity_tooltip"] = "إذا تم تحديدها، فسيتم توفير نوع جديد من الاصناف للاصناف المطلوبة حسب المبلغ الموسع";
$lang["config_dinner_table"] = "طاولة";
$lang["config_dinner_table_duplicate"] = "الطاولة يجب ان تكون فريدة.";
$lang["config_dinner_table_enable"] = "تمكين جداول الطاولات";
$lang["config_dinner_table_invalid_chars"] = "لا يمكن أن يحتوي اسم الطاولة على '_'.";
$lang["config_dinner_table_required"] = "الطاولة هو حقل مطلوب.";
$lang["config_dot"] = "نقطة";
$lang["config_email"] = "البريد الإلكتروني";
$lang["config_email_configuration"] = "إعدادات البريد الإلكتروني";
$lang["config_email_mailpath"] = "مسار ارسال البريد";
$lang["config_email_protocol"] = "بروتوكول";
$lang["config_email_receipt_check_behaviour"] = "ارسال رسائل الكترونية";
$lang["config_email_receipt_check_behaviour_always"] = "مختار دائما";
$lang["config_email_receipt_check_behaviour_last"] = "تذكر آخر إختيار";
$lang["config_email_receipt_check_behaviour_never"] = "دائما غير مختار";
$lang["config_email_smtp_crypto"] = "تشفير SMTP";
$lang["config_email_smtp_host"] = "خادم SMTP";
$lang["config_email_smtp_pass"] = "كلمة سر SMTP";
$lang["config_email_smtp_port"] = "رقم منفذ SMTP";
$lang["config_email_smtp_timeout"] = "وقت فشل المحاولة (ثوانى) لـ SMTP";
$lang["config_email_smtp_user"] = "اسم مستخدم SMTP";
$lang["config_enforce_privacy"] = "فرض نظام الخصوصية";
$lang["config_enforce_privacy_tooltip"] = "حماية ملفات ومعلومات المستخدم عند الحذف";
$lang["config_fax"] = "الفاكس";
$lang["config_file_perm"] = "There are problems with file permissions please fix and reload this page.";
$lang["config_financial_year"] = "بداية السنة المالية";
$lang["config_financial_year_apr"] = "1 أبريل";
$lang["config_financial_year_aug"] = "1 أغسطس";
$lang["config_financial_year_dec"] = "1 ديسمبر";
$lang["config_financial_year_feb"] = "1 فبراير";
$lang["config_financial_year_jan"] = "1 يناير";
$lang["config_financial_year_jul"] = "1 يوليو";
$lang["config_financial_year_jun"] = "1 يونيو";
$lang["config_financial_year_mar"] = "1 مارس";
$lang["config_financial_year_may"] = "1 مايو";
$lang["config_financial_year_nov"] = "1 نوفمبر";
$lang["config_financial_year_oct"] = "1 أكتوبر";
$lang["config_financial_year_sep"] = "1 سبتمبر";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "صفحة تسجيل الدخول ريكابتشا";
$lang["config_gcaptcha_secret_key"] = "مفتاح السرية ريكابتشا";
$lang["config_gcaptcha_secret_key_required"] = "مفتاح السرية ريكابتشا هو حقل مطلوب";
$lang["config_gcaptcha_site_key"] = "ريكابتشا مفتاح الموقع";
$lang["config_gcaptcha_site_key_required"] = "ريكابتشا مفتاح الموقع هو حقل مطلوب";
$lang["config_gcaptcha_tooltip"] = "احرص على حماية صفحة تسجيل الدخول باستخدام ريكابتشا من غوغل.";
$lang["config_general"] = "عام";
$lang["config_general_configuration"] = "إعدادات عامة";
$lang["config_giftcard_number"] = "رقم كارت الهدية";
$lang["config_giftcard_random"] = "توليد عشوائي";
$lang["config_giftcard_series"] = "توليد في السلسلة";
$lang["config_image_allowed_file_types"] = "";
$lang["config_image_max_height_tooltip"] = "";
$lang["config_image_max_size_tooltip"] = "";
$lang["config_image_max_width_tooltip"] = "";
$lang["config_image_restrictions"] = "";
$lang["config_include_hsn"] = "تشمل الدعم لرمز نظام منسق";
$lang["config_info"] = "معلومات";
$lang["config_info_configuration"] = "معلومات الشركة";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "التكامل";
$lang["config_integrations_configuration"] = "تكامل";
$lang["config_invoice"] = "الفاتورة";
$lang["config_invoice_configuration"] = "إعدادات طباعة الفاتورة";
$lang["config_invoice_default_comments"] = "التعليق الافتراضي على الفاتورة";
$lang["config_invoice_email_message"] = "قالب البريد الإلكتروني للفاتورة";
$lang["config_invoice_enable"] = "تفعيل الفوترة";
$lang["config_invoice_printer"] = "طابعة الفواتير";
$lang["config_invoice_type"] = "نوع الفاتورة";
$lang["config_is_readable"] = "";
$lang["config_is_writable"] = "is writable, but the permissions are higher than 750.";
$lang["config_jsprintsetup_required"] = "تحذير! هذه الخاصية غير المفعلة سوف تعمل فقط مع وجود الاضافة jsPrintSetup على متصفح فايرفوكس. حفظ على أى حال؟";
$lang["config_language"] = "اللغة";
$lang["config_last_used_invoice_number"] = "اخر رقم مستخدم للفاتورة";
$lang["config_last_used_quote_number"] = "اخر رقم مستخدم لعرض الاسعار";
$lang["config_last_used_work_order_number"] = "آخر رقم مستخدم في طلبات العمل";
$lang["config_left"] = "يسار";
$lang["config_license"] = "الرخصة";
$lang["config_license_configuration"] = "نص الرخصة";
$lang["config_line_sequence"] = "تسلسل خطي";
$lang["config_lines_per_page"] = "عدد السطور فى الصفحة";
$lang["config_lines_per_page_number"] = "عدد السطور فى الصفحة يجب أن يكون رقم.";
$lang["config_lines_per_page_required"] = "عدد السطور فى الصفحة مطلوب.";
$lang["config_locale"] = "إقليمية";
$lang["config_locale_configuration"] = "الإعدادات الإقليمية";
$lang["config_locale_info"] = "معلومات التهيئة الإقليمية";
$lang["config_location"] = "المخزون";
$lang["config_location_configuration"] = "أماكن المخزون";
$lang["config_location_info"] = "معلومات تهيئة الأماكن";
$lang["config_login_form"] = "";
$lang["config_logout"] = "هل تريد عمل نسخة إحتياطية قبل الخروج؟ اضغط [نعم] لعمل النسخة أو [الغاء] للخروج.";
$lang["config_mailchimp"] = "mailchimp ميل تشامب";
$lang["config_mailchimp_api_key"] = "mailchimp مفتاح";
$lang["config_mailchimp_configuration"] = "إعدادات mailchimp";
$lang["config_mailchimp_key_successfully"] = "نجاح.";
$lang["config_mailchimp_key_unsuccessfully"] = "فشل.";
$lang["config_mailchimp_lists"] = "mailchimp قوائم";
$lang["config_mailchimp_tooltip"] = "انقر على رمز مفتاح API.";
$lang["config_message"] = "الرسائل";
$lang["config_message_configuration"] = "إعدادات الرسائل";
$lang["config_msg_msg"] = "الرسائل النصية المحفوظة";
$lang["config_msg_msg_placeholder"] = "إذا أردت إستخدام قالب للرسائل القصيرة احفظه هنا. عدا ذلك أترك هذا الحقل فارغ.";
$lang["config_msg_pwd"] = "SMS-API كلمة السر لـ";
$lang["config_msg_pwd_required"] = "مطلوب SMS-API كلمة السر لـ";
$lang["config_msg_src"] = "SMS-API كود المرسل لـ";
$lang["config_msg_src_required"] = "مطلوب SMS-API كود المرسل لـ";
$lang["config_msg_uid"] = "SMS-API اسم المستخدم لـ";
$lang["config_msg_uid_required"] = "مطلوب SMS-API اسم المستخدم لـ";
$lang["config_multi_pack_enabled"] = "رزم متعددة لكل صنف";
$lang["config_no_risk"] = "No security/vulnerability risks.";
$lang["config_none"] = "لايوجد";
$lang["config_notify_alignment"] = "مكان عرض رسائل المعلومات";
$lang["config_number_format"] = "شكل الرقم";
$lang["config_number_locale"] = "التهيئة الاقليمية";
$lang["config_number_locale_invalid"] = "التهيئة الإقليمية المختارة غير صحية، راجع الرابط الموجود فى الملاحظة لاختيار تهيئة مناسبة.";
$lang["config_number_locale_required"] = "رقم التهيئة الإقليمية مطلوب.";
$lang["config_number_locale_tooltip"] = "إيجاد تهيئة إقليمية مناسبة عبر الرابط.";
$lang["config_os_timezone"] = "";
$lang["config_ospos_info"] = "معلومات التثبيت OSPOS";
$lang["config_payment_options_order"] = "ترتيب خيارات الدفع";
$lang["config_perm_risk"] = "Permissions higher than 750 leaves this software at risk.";
$lang["config_phone"] = "هاتف الشركة";
$lang["config_phone_required"] = "هاتف الشركة مطلوب.";
$lang["config_print_bottom_margin"] = "الهامش السفلي";
$lang["config_print_bottom_margin_number"] = "الهامش السفلي يجب أن يكون رقم.";
$lang["config_print_bottom_margin_required"] = "الهامش السفلي مطلوب.";
$lang["config_print_delay_autoreturn"] = "العودة الى عمليات البيع تلقائيا ( عدد الثواني )";
$lang["config_print_delay_autoreturn_number"] = "الزمن المحدد للعودة الى عمليات البيع هو خانة اجبارية.";
$lang["config_print_delay_autoreturn_required"] = "الزمن المحدد للعودة الى عمليات البيع يجب ان يكون رقم.";
$lang["config_print_footer"] = "طباعة تذييل المتصفح";
$lang["config_print_header"] = "طباعة ترويسة المتصفح";
$lang["config_print_left_margin"] = "الهامش الأيسر";
$lang["config_print_left_margin_number"] = "الهامش الأيسر يجب ان يكون رقم.";
$lang["config_print_left_margin_required"] = "الهامش الأيسر مطلوب.";
$lang["config_print_receipt_check_behaviour"] = "خانة طباعة الفواتير";
$lang["config_print_receipt_check_behaviour_always"] = "دائما مختار";
$lang["config_print_receipt_check_behaviour_last"] = "تذكر آخر اختيار";
$lang["config_print_receipt_check_behaviour_never"] = "دائما ليس مختار";
$lang["config_print_right_margin"] = "الهامش الأيمن";
$lang["config_print_right_margin_number"] = "الهامش الأيمن يجب أن يكون رقم.";
$lang["config_print_right_margin_required"] = "الهامش الأيمن مطلوب.";
$lang["config_print_silently"] = "عرض صندوق حوار طباعة";
$lang["config_print_top_margin"] = "الهامش العلوى";
$lang["config_print_top_margin_number"] = "الهامش العلوى يجب أن يكون رقم.";
$lang["config_print_top_margin_required"] = "الهامش العلوى مطلوب.";
$lang["config_quantity_decimals"] = "العلامة العشرية للكمية";
$lang["config_quote_default_comments"] = "ملاحظات طلبات العمل الثابتة";
$lang["config_receipt"] = "الإيصال";
$lang["config_receipt_configuration"] = "إعدادات طباعة الايصالات";
$lang["config_receipt_default"] = "افتراضى";
$lang["config_receipt_font_size"] = "الخط";
$lang["config_receipt_font_size_number"] = "رقم الخط يجب ان يكون رقم.";
$lang["config_receipt_font_size_required"] = "رقم الخط مطلوب.";
$lang["config_receipt_info"] = "معلومات تهيئة الإيصالات";
$lang["config_receipt_printer"] = "طابعة تذاكر";
$lang["config_receipt_short"] = "مختصر";
$lang["config_receipt_show_company_name"] = "عرض اسم الشركة";
$lang["config_receipt_show_description"] = "عرض الوصف";
$lang["config_receipt_show_serialnumber"] = "عرض الرقم المسلسل";
$lang["config_receipt_show_tax_ind"] = "";
$lang["config_receipt_show_taxes"] = "عرض الضرائب";
$lang["config_receipt_show_total_discount"] = "عرض إجمالى الخصم";
$lang["config_receipt_template"] = "قالب الايصال";
$lang["config_receiving_calculate_average_price"] = "حساب متوسط سعر الأصناف المستلمة";
$lang["config_recv_invoice_format"] = "شكل فاتورة الإستلام";
$lang["config_register_mode_default"] = "نمط التسجيل الافتراضي";
$lang["config_report_an_issue"] = "";
$lang["config_return_policy_required"] = "سياسة الإسترجاع مطلوب.";
$lang["config_reward"] = "المكافاة";
$lang["config_reward_configuration"] = "اعدادات المكافاة";
$lang["config_right"] = "يمين";
$lang["config_sales_invoice_format"] = "شكل فاتورة البيع";
$lang["config_sales_quote_format"] = "شكل فاتورة عرض الاسعار";
$lang["config_saved_successfully"] = "تم حفظ التهيئة بنجاح.";
$lang["config_saved_unsuccessfully"] = "لم يتم حفظ التهيئة بنجاح.";
$lang["config_security_issue"] = "Security Vulnerability Warning";
$lang["config_server_notice"] = "يرجى استخدام المعلومات أدناه للإبلاغ عن المشكلة.";
$lang["config_show_office_group"] = "اظهار ايكونة المكتب";
$lang["config_statistics"] = "إرسال اﻹحصائيات";
$lang["config_statistics_tooltip"] = "إرسال اﻹحصائيات ﻷغراض التطوير و التحسين.";
$lang["config_stock_location"] = "مكان المخزون";
$lang["config_stock_location_duplicate"] = "من فضلك إستخدم اسم مكان غير مكرر.";
$lang["config_stock_location_invalid_chars"] = "مكان المخزون لايمكن أن يحتوى على '_'.";
$lang["config_stock_location_required"] = "مكان المخزون مطلوب.";
$lang["config_suggestions_first_column"] = "العامود 1";
$lang["config_suggestions_layout"] = "تخطيط اقتراحات البحث";
$lang["config_suggestions_second_column"] = "العامود 2";
$lang["config_suggestions_third_column"] = "العامود 3";
$lang["config_system_conf"] = "Setup & Conf";
$lang["config_system_info"] = "System Info";
$lang["config_table"] = "جدول";
$lang["config_table_configuration"] = "اعدادات الجدول";
$lang["config_takings_printer"] = "طابعة الإيراد";
$lang["config_tax"] = "الضريبة";
$lang["config_tax_category"] = "تصنيف الضريبة";
$lang["config_tax_category_duplicate"] = "الفئة الضريبية اللتي تم ادخالها موجودة.";
$lang["config_tax_category_invalid_chars"] = "الفئة الضريبية اللتي تم ادخالها غير صحيحة.";
$lang["config_tax_category_required"] = "الفئة الضريبية مطلوبة.";
$lang["config_tax_category_used"] = "الفئة الضريبية اللتي تم تحديدها لا يمكن حذفها لانها قيد الاستعمال.";
$lang["config_tax_configuration"] = "إعدادات الضريبة";
$lang["config_tax_decimals"] = "العلامة العشرية للضريبة";
$lang["config_tax_id"] = "الرقم الضريبي";
$lang["config_tax_included"] = "شامل الضريبة";
$lang["config_theme"] = "السمة";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "فاصل الاف";
$lang["config_timezone"] = "المنطقة الزمنية";
$lang["config_timezone_error"] = "";
$lang["config_top"] = "علوى";
$lang["config_use_destination_based_tax"] = "استخدام الضريبة المستندة على الوجهة";
$lang["config_user_timezone"] = "";
$lang["config_website"] = "موقع الشركة";
$lang["config_work_order_enable"] = "تفعيل طلبات العمل";
$lang["config_work_order_format"] = "شكل طلبات العمل";

View File

@@ -0,0 +1,54 @@
<?php
$lang["customers_account_number"] = "رقم الحساب";
$lang["customers_account_number_duplicate"] = "رقم الحساب هذا موجود فى قاعدة البيانات من قبل.";
$lang["customers_available_points"] = "النقاط المتاحة";
$lang["customers_average"] = "معدل الصرف";
$lang["customers_avg_discount"] = "معدل الخصم";
$lang["customers_basic_information"] = "معلومات الزبون";
$lang["customers_cannot_be_deleted"] = "لايمكن حذف هؤلاء العملاء، أحدهم/كلهم مرتبط/مرتبطين بمبيعات.";
$lang["customers_company_name"] = "اسم الشركة";
$lang["customers_confirm_delete"] = "هل تريد حذف هؤلاء العملاء حقاً؟";
$lang["customers_confirm_restore"] = "هل انت متأكد من إستعادة قاعدة بيانات الزبائن ؟";
$lang["customers_consent"] = "موافقة التسجيل";
$lang["customers_consent_required"] = "موافقة التسجيل هي خانة اجبارية.";
$lang["customers_csv_import_failed"] = "فشل الإستيراد من اكسل";
$lang["customers_csv_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
$lang["customers_csv_import_partially_failed"] = "تم استيراد معظم العملاء. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
$lang["customers_csv_import_success"] = "تم استيراد العملاء بنجاح.";
$lang["customers_customer"] = "العميل";
$lang["customers_date"] = "التاريخ";
$lang["customers_discount"] = "نسبة الخصم";
$lang["customers_discount_fixed"] = "حسم ثابت";
$lang["customers_discount_percent"] = "نسبة الحبم";
$lang["customers_discount_type"] = "نوع الحسم";
$lang["customers_email_duplicate"] = "البريد الالكتروني مكرر.";
$lang["customers_employee"] = "الموظف";
$lang["customers_error_adding_updating"] = "خطاء فى إضافة أو تحديث العميل.";
$lang["customers_import_items_csv"] = "استيراد العملا ء من ورقة عمل اكسل";
$lang["customers_mailchimp_activity_click"] = "النقر على البريد الإلكتروني";
$lang["customers_mailchimp_activity_lastopen"] = "آخر رسالة إلكترونية مفتوحة";
$lang["customers_mailchimp_activity_open"] = "رسالة إلكترونية مفتوحة";
$lang["customers_mailchimp_activity_total"] = "تم ارسال الرسالة الإلكترونية بنجاح";
$lang["customers_mailchimp_activity_unopen"] = "رسالة إلكترونية غير مفتوحة";
$lang["customers_mailchimp_email_client"] = "بريد الكتروني";
$lang["customers_mailchimp_info"] = "ميل تشيمب";
$lang["customers_mailchimp_member_rating"] = "التقييم";
$lang["customers_mailchimp_status"] = "الحالة";
$lang["customers_mailchimp_vip"] = "مهم";
$lang["customers_max"] = "الحد الأقصى";
$lang["customers_min"] = "الحد الأدنى";
$lang["customers_new"] = "عميل جديد";
$lang["customers_none_selected"] = "لم تختار عملاء للحذف.";
$lang["customers_one_or_multiple"] = "عميل/عملاء";
$lang["customers_quantity"] = "العدد";
$lang["customers_stats_info"] = "الحالة";
$lang["customers_successful_adding"] = "لقد أضفت عميل بنجاح";
$lang["customers_successful_deleted"] = "لقد قمت بالحذف بنجاح";
$lang["customers_successful_updating"] = "لقد قمت بتحديث بيانات العميل بنجاح";
$lang["customers_tax_code"] = "كود الضريبة";
$lang["customers_tax_id"] = "الرقم الضريبي";
$lang["customers_taxable"] = "خاضع للضريبة";
$lang["customers_total"] = "المجموع";
$lang["customers_update"] = "تحديث بيانات عميل";
$lang["rewards_package"] = "فئة المكافئة";

View File

@@ -0,0 +1,22 @@
<?php
$lang["datepicker_all_time"] = "جميع الأوقات";
$lang["datepicker_apply"] = "تطبيق";
$lang["datepicker_cancel"] = "إلغاء";
$lang["datepicker_custom"] = "مخصص";
$lang["datepicker_from"] = "من";
$lang["datepicker_last_30"] = "أخر 30 يوم";
$lang["datepicker_last_7"] = "أخر سبعة أيام";
$lang["datepicker_last_financial_year"] = "السنة المالية الماضية";
$lang["datepicker_last_month"] = "أخر شهر";
$lang["datepicker_last_year"] = "السنة الماضية";
$lang["datepicker_same_month_last_year"] = "نفس الشهر من العام الماضي";
$lang["datepicker_same_month_to_same_day_last_year"] = "نفس الشهر حتى اليوم من السنة الماضية";
$lang["datepicker_this_financial_year"] = "السنة المالية الحالية";
$lang["datepicker_this_month"] = "هذا الشهر";
$lang["datepicker_this_year"] = "السنة الحالية";
$lang["datepicker_to"] = "إلى";
$lang["datepicker_today"] = "اليوم";
$lang["datepicker_today_last_year"] = "نفس اليوم من السنة الماضية";
$lang["datepicker_weekstart"] = "0";
$lang["datepicker_yesterday"] = "أمس";

View File

@@ -0,0 +1,37 @@
<?php
$lang["employees_basic_information"] = "المعلومات الأساسية للموظف";
$lang["employees_cannot_be_deleted"] = "لايمكن حذف الموظفين ، واحد أو أكثر من المظفين قام بإجراء مبيعات :).";
$lang["employees_change_password"] = "تغيير كلمة المرور";
$lang["employees_confirm_delete"] = "هل أنت متأكد أنك تريد حذف الموظفين المختارين؟";
$lang["employees_confirm_restore"] = "هل انت متاكد من استعادة الموظفين المحددين؟";
$lang["employees_current_password"] = "كلمة المرور الحالية";
$lang["employees_current_password_invalid"] = "كلمة المرور الحالية غير صحيحة.";
$lang["employees_employee"] = "موظف";
$lang["employees_error_adding_updating"] = "خطاء فى إضافة/تعديل موظف.";
$lang["employees_error_deleting_demo_admin"] = "لايمكن حذف المستخدم admin الخاص بنسخة العرض.";
$lang["employees_error_updating_demo_admin"] = "لايمكن تغيير بيانات المستخدم admin الخاص بنسخة العرض.";
$lang["employees_language"] = "اللغة";
$lang["employees_login_info"] = "معلومات دخول الموظف";
$lang["employees_new"] = "موظف جديد";
$lang["employees_none_selected"] = "لم تختار أى من الموظفين للحذف.";
$lang["employees_one_or_multiple"] = "موظف/موظفين";
$lang["employees_password"] = "كلمة السر";
$lang["employees_password_minlength"] = "كلمة السر يجب أن تكون 8 حروف على الأقل.";
$lang["employees_password_must_match"] = "كلمتى السر لا تتطابقان.";
$lang["employees_password_not_must_match"] = "كلمة المرور الحالية والجديدة يجب ان يكونو فريدين.";
$lang["employees_password_required"] = "كلمة السر مطلوبة.";
$lang["employees_permission_desc"] = "قم بإضافة الصلاحيات بلإختيار من الأسفل.";
$lang["employees_permission_info"] = "اذونات المستخدمين";
$lang["employees_repeat_password"] = "كلمة السر مرة اخرى";
$lang["employees_subpermission_required"] = "يجب إختيار صلاحية واحدة على الأقل لكل قسم.";
$lang["employees_successful_adding"] = "لقد تم إضافة الموظف بنجاح.";
$lang["employees_successful_change_password"] = "تم تغيير كلمة المرور بنجاح.";
$lang["employees_successful_deleted"] = "لقد تم حذف الموظف بنجاح";
$lang["employees_successful_updating"] = "لقد تم تحديث بيانات الموظف بنجاح";
$lang["employees_system_language"] = "لغة النظام";
$lang["employees_unsuccessful_change_password"] = "فشل في تغيير كلمة المرور.";
$lang["employees_update"] = "تحديث بيانات موظف";
$lang["employees_username"] = "اسم المستخدم";
$lang["employees_username_minlength"] = "اسم المستخدم يجب أن يكون 5 حروف على الأقل.";
$lang["employees_username_required"] = "اسم المستخدم مطلوب.";

View File

@@ -0,0 +1,9 @@
<?php
$lang["enum_half_down"] = "تقريب نصفي";
$lang["enum_half_even"] = "نصف مزدوج";
$lang["enum_half_five"] = "نصف الخمس";
$lang["enum_half_odd"] = "نصف فردي";
$lang["enum_half_up"] = "تقريب نصفي";
$lang["enum_round_down"] = "التقريب";
$lang["enum_round_up"] = "التقريب";

View File

@@ -0,0 +1,4 @@
<?php
$lang["error_no_permission_module"] = "ليس لديك صلاحيات للوصول لهذا القسم";
$lang["error_unknown"] = "غير معروف";

View File

@@ -0,0 +1,21 @@
<?php
$lang["category_name_required"] = "اسم نوع المصاريف مطلوب";
$lang["expenses_categories_add_item"] = "إضافة نوع";
$lang["expenses_categories_cannot_be_deleted"] = "فشلت عملية مسح نوع المصاريف";
$lang["expenses_categories_category_id"] = "الكود";
$lang["expenses_categories_confirm_delete"] = "هل أنت متأكد من مسح نوع المصاريف الذي أخترته؟";
$lang["expenses_categories_confirm_restore"] = "هل أنت متأكد من أنك تريد استعادة فئة المصاريف المحددة؟";
$lang["expenses_categories_description"] = "وصف النوع";
$lang["expenses_categories_error_adding_updating"] = "مشكلة أثناء أضافة أو تعديل نوع المصاريف";
$lang["expenses_categories_info"] = "معلومات عن نوع المصاريف";
$lang["expenses_categories_name"] = "أسم النوع";
$lang["expenses_categories_new"] = "نوع جديد";
$lang["expenses_categories_no_expenses_categories_to_display"] = "لا يجد أنواع للعرض";
$lang["expenses_categories_none_selected"] = "لم تختار أي نوع مصاريف";
$lang["expenses_categories_one_or_multiple"] = "نوع المصاريف";
$lang["expenses_categories_quantity"] = "الكمية";
$lang["expenses_categories_successful_adding"] = "تم أضافة نوع المصاريف بنجاح";
$lang["expenses_categories_successful_deleted"] = "تم مسح نوع المصاريف بنجاح";
$lang["expenses_categories_successful_updating"] = "تم تعديل نوع المصاريف بنجاح";
$lang["expenses_categories_update"] = "تعديل النوع";

View File

@@ -0,0 +1,46 @@
<?php
$lang["expenses_add_item"] = "إضافة مصاريف جديدة";
$lang["expenses_amount"] = "قيمة المصاريف";
$lang["expenses_amount_number"] = "القيمة يجب ان تكون رقم";
$lang["expenses_amount_required"] = "القيمة المطلوبة";
$lang["expenses_by_category"] = "حسب الفئات";
$lang["expenses_cannot_be_deleted"] = "لا يمكن المسح";
$lang["expenses_cash"] = "نقدا";
$lang["expenses_cash_filter"] = "نقدا";
$lang["expenses_categories_name"] = "اسماء الفئات";
$lang["expenses_category_required"] = "خانة مطلوبة: الفئات";
$lang["expenses_check"] = "شيك";
$lang["expenses_check_filter"] = "تصفية";
$lang["expenses_confirm_delete"] = "تأكيد المسح؟";
$lang["expenses_confirm_restore"] = "هل تريد بالتأكيد استعادة النفقات المحددة؟";
$lang["expenses_credit"] = "بطاقة ائتمان";
$lang["expenses_credit_filter"] = "بطاقة ائتمان";
$lang["expenses_date"] = "تاريخ المصاريف";
$lang["expenses_date_number"] = "التاريخ يجب ان يتكون من ارقام";
$lang["expenses_date_required"] = "خانة مطلوبة: التاريخ";
$lang["expenses_debit"] = "بطاقة مدين";
$lang["expenses_debit_filter"] = "بطاقة مدين";
$lang["expenses_description"] = "الوصف";
$lang["expenses_due"] = "الدين";
$lang["expenses_due_filter"] = "تصفية الدين";
$lang["expenses_employee"] = "صنع من قبل";
$lang["expenses_error_adding_updating"] = "خطأ في الإضافة";
$lang["expenses_expense_id"] = "كود المصاريف";
$lang["expenses_expenses_employee"] = "موظف";
$lang["expenses_info"] = "معلومات عن المصاريف";
$lang["expenses_is_deleted"] = "ممسوحة";
$lang["expenses_name_required"] = "خانة مطلوبة: اسم المصاريف";
$lang["expenses_new"] = "مصاريف جديدة";
$lang["expenses_no_expenses_to_display"] = "لا يوجد مصاريف في التاريخ المحدد";
$lang["expenses_none_selected"] = "لم يتم تحديد اي خيار";
$lang["expenses_one_or_multiple"] = "واحد او أكثر";
$lang["expenses_payment"] = "الدفع";
$lang["expenses_start_typing_supplier_name"] = "ابدا بكتابة اسم المورد...";
$lang["expenses_successful_adding"] = "تم إضافة المصاريف بنجاح";
$lang["expenses_successful_deleted"] = "تم مسح المصاريف بنجاح";
$lang["expenses_successful_updating"] = "تم تعديل المصاريف بنجاح";
$lang["expenses_supplier_name"] = "اسم المورد";
$lang["expenses_supplier_tax_code"] = "كود ضريبة المورد";
$lang["expenses_tax_amount"] = "قيمة الضريبة";
$lang["expenses_update"] = "تعديل";

View File

@@ -0,0 +1,70 @@
<?php
$lang["giftcards_add_minus"] = "المخزن المضاف أو المطروح منه.";
$lang["giftcards_allow_alt_description"] = "السماح بوصف بديل";
$lang["giftcards_bulk_edit"] = "تحرير جماعى";
$lang["giftcards_cannot_be_deleted"] = "لايمكن حذف بطاقات الهدية المختارة، واحد أو أكثر منها لديه مبيعات.";
$lang["giftcards_cannot_find_giftcard"] = "لايمكن إيجاد معلومات حول كارت الهدية.";
$lang["giftcards_cannot_use"] = "كارت الهدية %1 لا يمكن استعمالة في هذه العملية: اسم الزبون غير صحيح.";
$lang["giftcards_card_value"] = "القيمة";
$lang["giftcards_category"] = "الفئة";
$lang["giftcards_change_all_to_allow_alt_desc"] = "السماح بوصف بديل للكل.";
$lang["giftcards_change_all_to_not_allow_allow_desc"] = "غير مسموح بوصف بديل للكل.";
$lang["giftcards_change_all_to_serialized"] = "تغيير الجميع لأرقام مسلسلة";
$lang["giftcards_change_all_to_unserialized"] = "تغير الجميع لأرقام غير مسلسلة";
$lang["giftcards_confirm_bulk_edit"] = "هل أنت متأكد انك تريد تحرير كل بطاقات الهدايا المختارة؟";
$lang["giftcards_confirm_delete"] = "هل أنت متأكد انك تريد حذف كل بطاقات الهدايا المختارة؟";
$lang["giftcards_confirm_restore"] = "هل تريد بالتأكيد استعادة بطاقة (بطاقات) الهدايا المحددة؟";
$lang["giftcards_cost_price"] = "سعر التكلفة";
$lang["giftcards_count"] = "تحديث المخزون";
$lang["giftcards_csv_import_failed"] = "فشل الإستيراد من اكسل.";
$lang["giftcards_current_quantity"] = "الكميات الحالية";
$lang["giftcards_description"] = "الوصف";
$lang["giftcards_details_count"] = "حركة الكارت";
$lang["giftcards_do_nothing"] = "لا تفعل شىء";
$lang["giftcards_edit_fields_you_want_to_update"] = "قم بتحديث الحقول المراد تحديثها لكل بطاقات الهدايا المختارة.";
$lang["giftcards_edit_multiple_giftcards"] = "تحرير مجموعة من بطاقات الهدايا.";
$lang["giftcards_error_adding_updating"] = "خطاء فى إضافة/تحديث بطاقة هدية.";
$lang["giftcards_error_updating_multiple"] = "خطاء فى تحديث بيانات بطاقات الهدايا.";
$lang["giftcards_generate_barcodes"] = "توليد أكواد الباركود";
$lang["giftcards_giftcard"] = "بطاقة هدية";
$lang["giftcards_giftcard_number"] = "رقم بطاقة الهدية";
$lang["giftcards_info_provided_by"] = "المعلومات مقدمة بواسطة";
$lang["giftcards_inventory_comments"] = "تعليقات";
$lang["giftcards_is_serialized"] = "بطاقة الهدية لها رقم مسلسل";
$lang["giftcards_low_inventory_giftcards"] = "مخزون قليل من بطاقات الهدايا";
$lang["giftcards_manually_editing_of_quantity"] = "تحرير الكميات يدويا";
$lang["giftcards_must_select_giftcard_for_barcode"] = "يجب إختيار بطاقة هدية واحدة على الأقل لتوليد أكواد الباركود.";
$lang["giftcards_new"] = "بطاقة هدية جديدة";
$lang["giftcards_no_description_giftcards"] = "لايوجد وصف لبطاقات الهدايا";
$lang["giftcards_no_giftcards_to_display"] = "لايوجد بطاقات هدايا لعرضها.";
$lang["giftcards_none"] = "لايوجد";
$lang["giftcards_none_selected"] = "لم تقم بإختيار أى بطاقة هدية.";
$lang["giftcards_number"] = "رقم بطاقة الهدية يجب أن يكون رقم.";
$lang["giftcards_number_information"] = "رقم بطاقة الهدية";
$lang["giftcards_number_required"] = "رقم بطاقة الهدية مطلوب.";
$lang["giftcards_one_or_multiple"] = "بطاقة/بطاقات الهدية";
$lang["giftcards_person_id"] = "العميل";
$lang["giftcards_quantity"] = "الكمية";
$lang["giftcards_quantity_required"] = "الكمية مطلوبة.";
$lang["giftcards_remaining_balance"] = "كارت الهدية %1 القيمة المتبقية منه %2!";
$lang["giftcards_reorder_level"] = "نقطة إعادة الطلب";
$lang["giftcards_retrive_giftcard_info"] = "إسترجاع بيانات بطاقة هدية";
$lang["giftcards_sales_tax_1"] = "ضريبة المبيعات";
$lang["giftcards_sales_tax_2"] = "ضريبة المبيعات 2";
$lang["giftcards_serialized_giftcards"] = "بطاقات هدايا مسلسلة";
$lang["giftcards_successful_adding"] = "تم إضافة بطاقة هدية بنجاح";
$lang["giftcards_successful_bulk_edit"] = "تم تحديث بطاقات الهدايا بنجاح";
$lang["giftcards_successful_deleted"] = "تم الحذف بنجاح";
$lang["giftcards_successful_updating"] = "تم تحديث بطاقة الهدية بنجاح";
$lang["giftcards_supplier"] = "المورد";
$lang["giftcards_tax_1"] = "الضريبة 1";
$lang["giftcards_tax_2"] = "الضريبة 2";
$lang["giftcards_tax_percent"] = "نسبة الضريبة";
$lang["giftcards_tax_percents"] = "نسبة/نسب الضريبة";
$lang["giftcards_unit_price"] = "سعر الوحدة";
$lang["giftcards_upc_database"] = "UPC قاعدة بيانات";
$lang["giftcards_update"] = "تحديث بطاقة هدية";
$lang["giftcards_use_inventory_menu"] = "استخدام تحديث المخزن";
$lang["giftcards_value"] = "قيمة بطاقة الهدية يجب ان تكون رقم.";
$lang["giftcards_value_required"] = "قيمة بطاقة الهدية مطلوبة.";

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@@ -0,0 +1,38 @@
<?php
$lang["item_kits_add_item"] = "إضافة مجموعة";
$lang["item_kits_all"] = "الكل";
$lang["item_kits_cannot_be_deleted"] = "لايمكن حذف مجموعة/مجموعات.";
$lang["item_kits_confirm_delete"] = "هل أنت متأكد أنك تريد حذف المجموعة؟";
$lang["item_kits_confirm_restore"] = "هل أنت متأكد أنك تريد استعادة المجموعة المحددة؟";
$lang["item_kits_description"] = "وصف المجموعة";
$lang["item_kits_discount"] = "الخصم";
$lang["item_kits_discount_fixed"] = "خصم قابل للتعديل";
$lang["item_kits_discount_percent"] = "نسبة الخصم";
$lang["item_kits_discount_type"] = "نوع الخصم";
$lang["item_kits_error_adding_updating"] = "خطاء فى إضافة/تحديث المجموعة.";
$lang["item_kits_find_kit_item"] = "صنف لمجموعة";
$lang["item_kits_info"] = "معلومات المجموعة";
$lang["item_kits_item"] = "صنف";
$lang["item_kits_item_kit_number"] = "";
$lang["item_kits_item_kit_number_duplicate"] = "";
$lang["item_kits_item_number"] = "";
$lang["item_kits_items"] = "أصناف";
$lang["item_kits_kit"] = "كود المجموعة";
$lang["item_kits_kit_and_components"] = "المجموعة ومحتوياتها";
$lang["item_kits_kit_and_stock"] = "المجموعه والصنف";
$lang["item_kits_kit_only"] = "المجموعه فقط";
$lang["item_kits_name"] = "اسم المجموعة";
$lang["item_kits_new"] = "مجموعة جديده";
$lang["item_kits_no_item_kits_to_display"] = "لاتوجد مجموعات لعرضها.";
$lang["item_kits_none_selected"] = "لم تقم بإختيار مجموعات.";
$lang["item_kits_one_or_multiple"] = "مجموعة/مجموعات";
$lang["item_kits_price_option"] = "خيارات التسعير";
$lang["item_kits_priced_only"] = "المسعرين فقط";
$lang["item_kits_print_option"] = "خيارات الطباعة";
$lang["item_kits_quantity"] = "الكمية";
$lang["item_kits_sequence"] = "التسلسل";
$lang["item_kits_successful_adding"] = "لقد تم إضافة المجموعة بنجاح";
$lang["item_kits_successful_deleted"] = "لقد تم حذف المجموعة بنجاح";
$lang["item_kits_successful_updating"] = "لقد تم تحديث بيانات المجموعة بنجاح";
$lang["item_kits_update"] = "تحديث بيانات مجموعة";

View File

@@ -0,0 +1,112 @@
<?php
$lang["items_add_minus"] = "الكمية المطلوب خصمها أو اضافتها.";
$lang["items_allow_alt_description"] = "السماح بوصف بديل";
$lang["items_amount_entry"] = "إدخال القيمة";
$lang["items_bulk_edit"] = "تحرير جماعى";
$lang["items_buy_price_required"] = "سعر الشراء مطلوب.";
$lang["items_cannot_be_deleted"] = "لايمكن حذف الأصناف المختارة، واحد أو أكثر منها لديه مبيعات.";
$lang["items_cannot_find_item"] = "لايمكن ايجاد معلومات حول الصنف.";
$lang["items_category"] = "التصنيف";
$lang["items_category_required"] = "التصنيف مطلوب.";
$lang["items_change_all_to_allow_alt_desc"] = "السماح بوصف بديل للجميع.";
$lang["items_change_all_to_not_allow_allow_desc"] = "عدم السماح بوصف بديل للجميع.";
$lang["items_change_all_to_serialized"] = "تغير الجميع لمتسلسل";
$lang["items_change_all_to_unserialized"] = "تغيير الجميع لغير متسلسل";
$lang["items_change_image"] = "تغيير الصورة";
$lang["items_confirm_bulk_edit"] = "هل أنت متأكد انك تريد تحرير كل الأصناف المختارة؟";
$lang["items_confirm_bulk_edit_wipe_taxes"] = "سوف يتم مسح معلومات الضرائب لجميع الأصناف.";
$lang["items_confirm_delete"] = "هل أنت متأكد انك تريد حذف كل الأصناف المختارة؟";
$lang["items_confirm_restore"] = "هل انت متاكد من إستعادة الاصناف المخطارة؟";
$lang["items_cost_price"] = "سعر التكلفة";
$lang["items_cost_price_number"] = "سعر التكلفة يجب أن يكون رقم.";
$lang["items_cost_price_required"] = "سعر التكلفة مطلوب.";
$lang["items_count"] = "تحديث المخزون";
$lang["items_csv_import_failed"] = "فشل الإستيراد من اكسل";
$lang["items_csv_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
$lang["items_csv_import_partially_failed"] = "تم استيراد معظم الأصناف. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
$lang["items_csv_import_success"] = "تم استيراد الأصناف بنجاح.";
$lang["items_current_quantity"] = "الكمية الحالية";
$lang["items_default_pack_name"] = "كل";
$lang["items_description"] = "الوصف";
$lang["items_details_count"] = "حركة الصنف";
$lang["items_do_nothing"] = "لاتفعل شئ";
$lang["items_edit_fields_you_want_to_update"] = "قم بتحديث الحقول المراد تحديثها لكل الأصناف المختارة.";
$lang["items_edit_multiple_items"] = "تحريد مجموعة اصناف";
$lang["items_empty_upc_items"] = "تفريغ اصناف UPC";
$lang["items_error_adding_updating"] = "خطاء فى إضافة/تحديث صنف";
$lang["items_error_updating_multiple"] = "خطاء فى تحديث بيانات أصناف";
$lang["items_generate_barcodes"] = "توليد أكواد الباركود";
$lang["items_hsn_code"] = "تسميات النظام المنسق";
$lang["items_image"] = "صورة";
$lang["items_import_items_csv"] = "استيراد من اكسل";
$lang["items_info_provided_by"] = "المعلومات مقدمة بواسطة";
$lang["items_inventory"] = "المخزن";
$lang["items_inventory_CSV_import_quantity"] = "العدد المستورد من ملفات ال CSV";
$lang["items_inventory_comments"] = "تعليقات";
$lang["items_inventory_data_tracking"] = "تتبع بيانات المخزون";
$lang["items_inventory_date"] = "التاريخ";
$lang["items_inventory_employee"] = "الموظف";
$lang["items_inventory_in_out_quantity"] = "+- كمية";
$lang["items_inventory_remarks"] = "ملاحظات";
$lang["items_is_deleted"] = "حذفت";
$lang["items_is_serialized"] = "الصنف له رقم مسلسل";
$lang["items_item"] = "صنف";
$lang["items_item_number"] = "الباركود UPC/EAN/ISBN";
$lang["items_item_number_duplicate"] = "رقم الصنف موجود فى قاعدة البيانات من قبل.";
$lang["items_kit"] = "مجموعة اصناف";
$lang["items_location"] = "مكان";
$lang["items_low_inventory_items"] = "الأصناف التى لا يوجد لها مخزون";
$lang["items_low_sell_item"] = "الصنف المركب";
$lang["items_manually_editing_of_quantity"] = "تحرير الكمية يدوياً";
$lang["items_name"] = "اسم الصنف";
$lang["items_name_required"] = "اسم الصنف مطلوب.";
$lang["items_new"] = "صنف جديد";
$lang["items_no_description_items"] = "الأصناف التى بلا وصف";
$lang["items_no_items_to_display"] = "لايوجد أصناف لعرضها.";
$lang["items_none"] = "لاشىء";
$lang["items_none_selected"] = "لم تختار أى أصناف لتحريرها";
$lang["items_nonstock"] = "غير مخزنة";
$lang["items_number_information"] = "رقم الصنف";
$lang["items_number_required"] = "مطلوب UPC/EAN/ISBN رقم الباركود.";
$lang["items_one_or_multiple"] = "صنف/أصناف";
$lang["items_pack_name"] = "اسم الحزمة";
$lang["items_qty_per_pack"] = "العدد بكل الحزمة";
$lang["items_quantity"] = "الكمية";
$lang["items_quantity_number"] = "الكمية يجب أن تكون رقم.";
$lang["items_quantity_required"] = "الكمية مطلوبة.";
$lang["items_receiving_quantity"] = "الكمية المستلمة";
$lang["items_remove_image"] = "ازالة الصورة";
$lang["items_reorder_level"] = "نقطة إعادة الطلب";
$lang["items_reorder_level_number"] = "نقطة إعادة الطلب يجب أن تكون رقم.";
$lang["items_reorder_level_required"] = "نقطة إعادة الطلب مطلوبة.";
$lang["items_retrive_item_info"] = "استرجاع بيانات الصنف";
$lang["items_sales_tax_1"] = "ضريبة المبيعات";
$lang["items_sales_tax_2"] = "ضريبة المبيعات 2";
$lang["items_search_attributes"] = "بحث الحقول المخصصة";
$lang["items_select_image"] = "اختار صورة";
$lang["items_serialized_items"] = "أصناف مسلسلة";
$lang["items_standard"] = "اساسي";
$lang["items_stock"] = "مخزن";
$lang["items_stock_location"] = "مكان المخزون";
$lang["items_stock_type"] = "نوع المخزن";
$lang["items_successful_adding"] = "لقد تم إضافة صنف بنجاح";
$lang["items_successful_bulk_edit"] = "لقد تم تحديث بيانات صنف/أصناف بنجاح";
$lang["items_successful_deleted"] = "لقد تم الحذف بنجاح";
$lang["items_successful_updating"] = "لقد تم تحديث بيانات صنف بنجاح";
$lang["items_supplier"] = "المورد";
$lang["items_tax_1"] = "الضريبة 1";
$lang["items_tax_2"] = "الضريبة 2";
$lang["items_tax_category"] = "الفئة الضريبية";
$lang["items_tax_percent"] = "نسبة الضريبة";
$lang["items_tax_percent_number"] = "نسبة الضريبة يجب ان تكون رقم";
$lang["items_tax_percent_required"] = "نسبة الضريبة مطلوبة.";
$lang["items_tax_percents"] = "نسبة/نسب الضريبة";
$lang["items_temp"] = "مؤقت";
$lang["items_type"] = "نوع الصنف";
$lang["items_unit_price"] = "السعر";
$lang["items_unit_price_number"] = "السعر يجب أن يكون رقم.";
$lang["items_unit_price_required"] = "السعر مطلوب.";
$lang["items_upc_database"] = "UPC قاعدة بيانات";
$lang["items_update"] = "تحديث بيانات صنف";
$lang["items_use_inventory_menu"] = "استخدام تحديث المخزن";

View File

@@ -0,0 +1,13 @@
<?php
$lang["login_gcaptcha"] = "أنا لست بوت.";
$lang["login_go"] = "البدء";
$lang["login_invalid_gcaptcha"] = "رمز التحقق غير صحيح.";
$lang["login_invalid_installation"] = "يوجد مشكلة بالتنصيب, الرجاء التحقق من ملف php.ini.";
$lang["login_invalid_username_and_password"] = "اسم مستخدم/كلمة سر غير صحيح.";
$lang["login_login"] = "دخول";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "كلمة السر";
$lang["login_username"] = "اسم المستخدم";
$lang["login_welcome"] = "";

View File

@@ -0,0 +1,14 @@
<?php
$lang["messages_first_name"] = "الإسم الأول";
$lang["messages_last_name"] = "الأسم الأخير";
$lang["messages_message"] = "الرسالة";
$lang["messages_message_placeholder"] = "رسالتك هنا...";
$lang["messages_message_required"] = "الرسالة مطلوبة";
$lang["messages_multiple_phones"] = "فى حالة إرسال الرسالة لأكثر من شخص قم بفصل الأرقام بعلامة الفاصلة";
$lang["messages_phone"] = "رقم المحمول";
$lang["messages_phone_number_required"] = "رقم المحمول مطلوب";
$lang["messages_phone_placeholder"] = "رقم/أرقام المحمول هنا...";
$lang["messages_sms_send"] = "إرسال SMS";
$lang["messages_successfully_sent"] = "تم إرسال الرسالة بنجاح إلى: ";
$lang["messages_unsuccessfully_sent"] = "لم يتم إرسال الرسالة بنجاح إلى: ";

View File

@@ -0,0 +1,41 @@
<?php
$lang["module_attributes"] = "ميزات/مميزات";
$lang["module_attributes_desc"] = "إضافة، تعديل، حذف، وبحث بالميزات.";
$lang["module_both"] = "الاثنين";
$lang["module_cashups"] = "الصندوق النقدي";
$lang["module_cashups_desc"] = "إضافة، تعديل، حذف، وبحث بالصندوق النقدي.";
$lang["module_config"] = "إعدادات الشركة";
$lang["module_config_desc"] = "تغيير إعدادات الشركة.";
$lang["module_customers"] = "العملاء";
$lang["module_customers_desc"] = "إضافة، تحديث ، بحث و حذف العملاء.";
$lang["module_employees"] = "الموظفين";
$lang["module_employees_desc"] = "إضافة، تحديث ، بحث و حذف الموظفين.";
$lang["module_expenses"] = "المصاريف";
$lang["module_expenses_categories"] = "فئات المصاريف";
$lang["module_expenses_categories_desc"] = "إضافة، تحديث ، بحث و حذف فئات المصاريف.";
$lang["module_expenses_desc"] = "إضافة، تحديث ، بحث و حذف مصاريف.";
$lang["module_giftcards"] = "بطاقات الهدايا";
$lang["module_giftcards_desc"] = "إضافة، تحديث ، بحث و حذف بطاقات الهدايا.";
$lang["module_home"] = "الرئيسية";
$lang["module_home_desc"] = "اظهار الائحة الرئيسية.";
$lang["module_item_kits"] = "مجموعات الأصناف";
$lang["module_item_kits_desc"] = "إضافة، تحديث ، بحث و حذف مجموعات الأصناف.";
$lang["module_items"] = "الأصناف";
$lang["module_items_desc"] = "إضافة، تحديث ، بحث و حذف الأصناف.";
$lang["module_messages"] = "الرسائل";
$lang["module_messages_desc"] = "إرسال رسائل للعملاء ، الموردين او الموظفين.";
$lang["module_migrate"] = "النقل";
$lang["module_migrate_desc"] = "تحديث قاعدة البيانات.";
$lang["module_office"] = "المكتب";
$lang["module_office_desc"] = "اظهار الائحة المكتبية.";
$lang["module_receivings"] = "استلام الأصناف";
$lang["module_receivings_desc"] = "معالجة أوامر الشراء و استلام الأصناف.";
$lang["module_reports"] = "التقارير";
$lang["module_reports_desc"] = "عرض وتوليد التقارير.";
$lang["module_sales"] = "المبيعات";
$lang["module_sales_desc"] = "معالجة المبيعات و المرتجعات.";
$lang["module_suppliers"] = "الموردين";
$lang["module_suppliers_desc"] = "إضافة، تحديث ، بحث و حذف مجموعات الموردين.";
$lang["module_taxes"] = "الضرائب";
$lang["module_taxes_desc"] = "اعدادات ضريبة المبيعات.";

View File

@@ -0,0 +1,54 @@
<?php
$lang["receivings_cancel_receiving"] = "إلغاء";
$lang["receivings_cannot_be_deleted"] = "لايمكن حذف الإستلام/الإستلامات.";
$lang["receivings_comments"] = "تعليقات";
$lang["receivings_complete_receiving"] = "إنهاء";
$lang["receivings_confirm_cancel_receiving"] = "هل أنت متاكد أنك تريد إلغاء هذا الإستلام؟ سيتم حذف كل الأصناف.";
$lang["receivings_confirm_delete"] = "هل أنت متاكد أنك تريد حذف هذا الإستلام؟ سيتم حذف كل الأصناف. لايمكن التراجع بعد الحذف.";
$lang["receivings_confirm_finish_receiving"] = "هل أنت متاكد أنك تريد تنفيذ هذا الإستلام؟ لايمكن التراجع بعد الإرسال.";
$lang["receivings_cost"] = "التكلفة";
$lang["receivings_date"] = "تاريخ الإستلام";
$lang["receivings_date_required"] = "يجب إدخال تاريخ صحيح.";
$lang["receivings_date_type"] = "التاريخ مطلوب.";
$lang["receivings_delete_entire_sale"] = "حذف عملية البيع بالكامل";
$lang["receivings_discount"] = "نسبة الخصم";
$lang["receivings_edit"] = "تحرير";
$lang["receivings_edit_sale"] = "تحرير إستلام";
$lang["receivings_employee"] = "الموظف";
$lang["receivings_error_editing_item"] = "خطاء فى تحرير الصنف.";
$lang["receivings_error_requisition"] = "غير قادر على تحريك الصنف من و إلى نفس المكان.";
$lang["receivings_find_or_scan_item"] = "بحث/مسح باركود صنف";
$lang["receivings_find_or_scan_item_or_receipt"] = "بحث/مسح باركود صنف أو إيصال";
$lang["receivings_id"] = "كود الإستلام";
$lang["receivings_item_name"] = "اسم الصنف";
$lang["receivings_mode"] = "وضع الإستلام";
$lang["receivings_new_supplier"] = "مورد جديد";
$lang["receivings_one_or_multiple"] = "إستلام/إستلامات";
$lang["receivings_print_after_sale"] = "طباعة بعد الإستلام";
$lang["receivings_quantity"] = "الكمية.";
$lang["receivings_receipt"] = "إيصال إستلام";
$lang["receivings_receipt_number"] = "كود الإستلام";
$lang["receivings_receiving"] = "إستلام";
$lang["receivings_reference"] = "رقم المرجع";
$lang["receivings_register"] = "استلام الأصناف";
$lang["receivings_requisition"] = "طلب شراء";
$lang["receivings_return"] = "إرتجاع لمورد";
$lang["receivings_select_supplier"] = "اختار المورد (اختيارى)";
$lang["receivings_ship_pack"] = "حزمة توصيل";
$lang["receivings_start_typing_supplier_name"] = "ابداء بكتابة اسم المورد....";
$lang["receivings_stock"] = "المخزون";
$lang["receivings_stock_destination"] = "المخزون المحول له";
$lang["receivings_stock_locaiton"] = "مكان المخزون";
$lang["receivings_stock_source"] = "مصدر المخزون";
$lang["receivings_successfully_deleted"] = "لقد تم الحذف";
$lang["receivings_successfully_updated"] = "لقد تم التحديث";
$lang["receivings_supplier"] = "المورد";
$lang["receivings_supplier_address"] = "العنوان";
$lang["receivings_supplier_email"] = "البريد الإلكتروني";
$lang["receivings_supplier_location"] = "المكان";
$lang["receivings_total"] = "الإجمالى";
$lang["receivings_transaction_failed"] = "حركات الإستلام فشلت.";
$lang["receivings_unable_to_add_item"] = "غير قادر على إضافة صنف للإستلام.";
$lang["receivings_unsuccessfully_updated"] = "لم يتم تحديث الإستلام بنجاح.";
$lang["receivings_update"] = "تحديث";

View File

@@ -0,0 +1,141 @@
<?php
$lang["reports_all"] = "الكل";
$lang["reports_authority"] = "السلطة";
$lang["reports_canceled"] = "ملغى";
$lang["reports_categories"] = "التصنيفات";
$lang["reports_categories_summary_report"] = "تقرير ملخص التصنيفات";
$lang["reports_category"] = "تصنيف";
$lang["reports_code_canceled"] = "كود العمليات الملغية";
$lang["reports_code_invoice"] = "كود الفواتير الرسمية";
$lang["reports_code_pos"] = "نقطة بيع";
$lang["reports_code_quote"] = "كود عروض الاسعار";
$lang["reports_code_return"] = "كود عمليات المرتجع";
$lang["reports_code_type"] = "النوع";
$lang["reports_code_work_order"] = "طلب عمل";
$lang["reports_comments"] = "التعليقات";
$lang["reports_complete"] = "عمليات البيع والمرتجع المكتملة";
$lang["reports_completed_sales"] = "المبيعات المكتملة";
$lang["reports_confirm_delete"] = "هل انت متاكد من مسح البيانات المحددة؟";
$lang["reports_confirm_restore"] = "هل انت متاكد من استعادة البيانات المحددة؟";
$lang["reports_cost"] = "التكلفة";
$lang["reports_cost_price"] = "سعر التكلفة";
$lang["reports_count"] = "عدد";
$lang["reports_customer"] = "عميل";
$lang["reports_customers"] = "عملاء";
$lang["reports_customers_summary_report"] = "تقرير ملخص العملاء";
$lang["reports_date"] = "التاريخ";
$lang["reports_date_range"] = "الفترة الزمنية";
$lang["reports_description"] = "الوصف";
$lang["reports_detailed_receivings_report"] = "تقرير مفصل لاستلام البضاعة";
$lang["reports_detailed_reports"] = "التقارير التفصيلية";
$lang["reports_detailed_requisition_report"] = "تقرير مفصل لطلبات الشراء";
$lang["reports_detailed_sales_report"] = "تقرير مفصل للمبيعات";
$lang["reports_discount"] = "الخصم";
$lang["reports_discount_fixed"] = "حسم ثابت";
$lang["reports_discount_percent"] = "نسبة الخصم";
$lang["reports_discount_type"] = "نوع الحسم";
$lang["reports_discounts"] = "الخصومات";
$lang["reports_discounts_summary_report"] = "تقرير ملخص الخصومات";
$lang["reports_earned"] = "النقاط المحصلة";
$lang["reports_employee"] = "موظف";
$lang["reports_employees"] = "الموظفين";
$lang["reports_employees_summary_report"] = "تقرير ملخص الموظفين";
$lang["reports_expenses"] = "المصاريف";
$lang["reports_expenses_amount"] = "القيمة";
$lang["reports_expenses_categories"] = "فئات المصاريف";
$lang["reports_expenses_categories_summary_report"] = "تقرير المصاريف حسب الفئات";
$lang["reports_expenses_category"] = "الفئة";
$lang["reports_expenses_tax_amount"] = "الضريبة";
$lang["reports_expenses_total_amount"] = "المبلغ الإجمالي";
$lang["reports_expenses_total_tax_amount"] = "الضريبة الإجمالية";
$lang["reports_graphical_reports"] = "تقارير رسومية";
$lang["reports_inventory"] = "المخزن";
$lang["reports_inventory_low"] = "نواقص المخزون";
$lang["reports_inventory_low_report"] = "تقرير نواقص المخزون";
$lang["reports_inventory_reports"] = "تقارير المخزن";
$lang["reports_inventory_summary"] = "ملخص المخزن";
$lang["reports_inventory_summary_report"] = "تقرير ملخص المخزن";
$lang["reports_item"] = "صنف";
$lang["reports_item_count"] = "تصفية عداد الصنف";
$lang["reports_item_name"] = "اسم الصنف";
$lang["reports_item_number"] = "باركود";
$lang["reports_items"] = "الأصناف";
$lang["reports_items_purchased"] = "الأصناف مشتراه";
$lang["reports_items_received"] = "الأصناف مستلمة";
$lang["reports_items_summary_report"] = "تقرير ملخص الأصناف";
$lang["reports_jurisdiction"] = "الاختصاص القضائي";
$lang["reports_low_inventory"] = "النواقص";
$lang["reports_low_inventory_report"] = "تقرير نواقص المخزون";
$lang["reports_low_sell_quantity"] = "كميات حسب الصنف الاولي";
$lang["reports_more_than_zero"] = "أكثر من صفر";
$lang["reports_name"] = "الاسم";
$lang["reports_no_reports_to_display"] = "لايوجد أصناف لعرضها.";
$lang["reports_payment_type"] = "طريقة الدفع";
$lang["reports_payments"] = "المدفوعات";
$lang["reports_payments_summary_report"] = "ملخص المدفوعات";
$lang["reports_profit"] = "الربح";
$lang["reports_quantity"] = "الكمية المشتراه";
$lang["reports_quantity_purchased"] = "المستلم";
$lang["reports_quotes"] = "عروض اسعار";
$lang["reports_received_by"] = "مستلمة بواسطة";
$lang["reports_receiving_id"] = "كود الاستلام";
$lang["reports_receiving_type"] = "نوع الاستلام";
$lang["reports_receivings"] = "استلام البضاعة";
$lang["reports_reorder_level"] = "نقطة اعادة الطلب";
$lang["reports_report"] = "تقرير";
$lang["reports_report_input"] = "مدخلات التقرير";
$lang["reports_reports"] = "تقارير";
$lang["reports_requisition"] = "طلب الشراء";
$lang["reports_requisition_by"] = "القائم بطلب الشراء";
$lang["reports_requisition_id"] = "كود طلب الشراء";
$lang["reports_requisition_item"] = "الصنف";
$lang["reports_requisition_item_quantity"] = "الكمية المطلوبة";
$lang["reports_requisition_related_item"] = "الصنف";
$lang["reports_requisition_related_item_total_quantity"] = "إجمالى الكمية";
$lang["reports_requisition_related_item_unit_quantity"] = "الكمية";
$lang["reports_requisitions"] = "طلبات الشراء";
$lang["reports_returns"] = "المرتجعات";
$lang["reports_revenue"] = "العائد";
$lang["reports_sale_id"] = "كود عملية البيع";
$lang["reports_sale_type"] = "طريقة البيع";
$lang["reports_sales"] = "بيع";
$lang["reports_sales_amount"] = "كمية المبيعات";
$lang["reports_sales_summary_report"] = "تقرير ملخص المبيعات";
$lang["reports_sales_taxes"] = "ضرائب المبيعات";
$lang["reports_sales_taxes_summary_report"] = "تقرير ملخص ضرائب المبيعات";
$lang["reports_serial_number"] = "مسلسل";
$lang["reports_sold_by"] = "البائع";
$lang["reports_sold_to"] = "مباع الى";
$lang["reports_stock_location"] = "مكان المخزون";
$lang["reports_sub_total_value"] = "المجموع الفرعى";
$lang["reports_subtotal"] = "المجموع الفرعى";
$lang["reports_summary_reports"] = "تقارير ملخصة";
$lang["reports_supplied_by"] = "مورده بواسطة";
$lang["reports_supplier"] = "المورد";
$lang["reports_suppliers"] = "الموردين";
$lang["reports_suppliers_summary_report"] = "تقرير ملخص الموردين";
$lang["reports_tax"] = "الضريبة";
$lang["reports_tax_category"] = "الفئة الضريبية";
$lang["reports_tax_percent"] = "نسبة الضريبة";
$lang["reports_tax_rate"] = "معدل الضريبة";
$lang["reports_taxes"] = "الضرائب";
$lang["reports_taxes_summary_report"] = "تقرير ملخص الضرائب";
$lang["reports_total"] = "الإجمالى";
$lang["reports_total_inventory_value"] = "إجمالى قيمة المخزن";
$lang["reports_total_low_sell_quantity"] = "مجموع الكميات حسب الصنف الاولي";
$lang["reports_total_quantity"] = "الكمية/العدد";
$lang["reports_total_retail"] = "قيمة المبيع";
$lang["reports_trans_amount"] = "قيمة العملية التجارية";
$lang["reports_trans_due"] = "مستحق";
$lang["reports_trans_group"] = "مجموعة العمليات التجارية";
$lang["reports_trans_nopay_sales"] = "المبيعات الغير مسدده";
$lang["reports_trans_payments"] = "المدفوعات";
$lang["reports_trans_refunded"] = "المرتجع";
$lang["reports_trans_sales"] = "المبيعات";
$lang["reports_trans_type"] = "نوع العملية التجارية";
$lang["reports_type"] = "النوع";
$lang["reports_unit_price"] = "السعر";
$lang["reports_used"] = "النقاط المستخدمة";
$lang["reports_work_orders"] = "طلبات عمل";
$lang["reports_zero_and_less"] = "صفر و أقل";

View File

@@ -0,0 +1,182 @@
<?php
$lang["customers_available_points"] = "النقاط المتاحة";
$lang["rewards_package"] = "مكافآت";
$lang["rewards_remaining_balance"] = "رصيد النقاط المتبقي هو ";
$lang["sales_account_number"] = "حساب";
$lang["sales_add_payment"] = "إضافة دفع";
$lang["sales_amount_due"] = "المبلغ المطلوب";
$lang["sales_amount_tendered"] = "المبلغ المدفوع";
$lang["sales_authorized_signature"] = "توقيع معتمد";
$lang["sales_cancel_sale"] = "الغاء عملية البيع";
$lang["sales_cash"] = "نقدى";
$lang["sales_cash_adjustment"] = "تعديل الدفع";
$lang["sales_cash_deposit"] = "ايداع نقدي";
$lang["sales_cash_filter"] = "نقدى";
$lang["sales_change_due"] = "الباقى";
$lang["sales_change_price"] = "تغيير سعر البيع";
$lang["sales_check"] = "شيك";
$lang["sales_check_balance"] = "تذكير بموعد الشيك";
$lang["sales_check_filter"] = "شيك";
$lang["sales_comment"] = "تعليق";
$lang["sales_comments"] = "تعليقات";
$lang["sales_complete_sale"] = "إتمام البيع";
$lang["sales_confirm_cancel_sale"] = "هل أنت متأكد من الغاء عملية البيع ؟ سيتم إزالة كل الأصناف.";
$lang["sales_confirm_delete"] = "هل تريد حذف عمليات البيع المختارة؟";
$lang["sales_confirm_restore"] = "هل انت متاكد من استعادة عملية البيع؟";
$lang["sales_credit"] = "بطاقة إئتمانية";
$lang["sales_credit_deposit"] = "ايداع ببطاقة ائتمان";
$lang["sales_credit_filter"] = "بطاقة بنكية";
$lang["sales_customer"] = "العميل";
$lang["sales_customer_address"] = "العنوان";
$lang["sales_customer_discount"] = "الخصم";
$lang["sales_customer_email"] = "البريد الإلكترونى";
$lang["sales_customer_location"] = "المكان";
$lang["sales_customer_mailchimp_status"] = "حالة بريد ميل تشيمب";
$lang["sales_customer_optional"] = "(مطلوب للدفعات المستحقة)";
$lang["sales_customer_required"] = "(اجباري)";
$lang["sales_customer_total"] = "المجموع";
$lang["sales_date"] = "تاريخ البيع";
$lang["sales_date_range"] = "الفترة الزمنية";
$lang["sales_date_required"] = "يجب إدخال تاريخ صحيح.";
$lang["sales_date_type"] = "التاريخ مطلوب.";
$lang["sales_debit"] = "بطاقة خصم";
$lang["sales_delete"] = "اسمح بالمسح";
$lang["sales_delete_confirmation"] = "هل أنت متأكد أنك تريد حذف عملية البيع هذه؟ لايمكن التراجع بعد الحذف.";
$lang["sales_delete_entire_sale"] = "حذف عملية البيع بالكامل";
$lang["sales_delete_successful"] = "لقد تم حذف عملية البيع بنجاح.";
$lang["sales_delete_unsuccessful"] = "لقد فشل حذف عملية البيع.";
$lang["sales_description_abbrv"] = "الوصف.";
$lang["sales_discard"] = "الغاء";
$lang["sales_discard_quote"] = "";
$lang["sales_discount"] = "خصم";
$lang["sales_discount_included"] = "% خصم";
$lang["sales_discount_short"] = "%";
$lang["sales_due"] = "مستحق";
$lang["sales_due_filter"] = "مستحق";
$lang["sales_edit"] = "تعديل";
$lang["sales_edit_item"] = "تعديل مادة";
$lang["sales_edit_sale"] = "تعديل عملية بيع";
$lang["sales_email_receipt"] = "إرسال الايصال بالبريد الالكترونى";
$lang["sales_employee"] = "الموظف";
$lang["sales_entry"] = "ادخال";
$lang["sales_error_editing_item"] = "خطاء فى تعديل المادة";
$lang["sales_find_or_scan_item"] = "بحث/مسح باركود المادة";
$lang["sales_find_or_scan_item_or_receipt"] = "بحث/مسح باركود المادة أو الايصال";
$lang["sales_giftcard"] = "بطاقة هدية";
$lang["sales_giftcard_balance"] = "رصيد بطاقة الهدية";
$lang["sales_giftcard_number"] = "رقم بطاقة الهدية";
$lang["sales_group_by_category"] = "ترتيب حسب الفئة";
$lang["sales_group_by_type"] = "ترتيب حسب النوع";
$lang["sales_hsn"] = "رمز نظام منسق";
$lang["sales_id"] = "رقم عملية البيع";
$lang["sales_include_prices"] = "يشمل الاسعار؟";
$lang["sales_invoice"] = "فاتورة";
$lang["sales_invoice_confirm"] = "هذه الفاتورة سوف ترسل إلى";
$lang["sales_invoice_enable"] = "رقم فاتورة";
$lang["sales_invoice_filter"] = "الفواتير";
$lang["sales_invoice_no_email"] = "هذا العميل ليس لدية بريد الكترونى صالح.";
$lang["sales_invoice_number"] = "فاتورة رقم #";
$lang["sales_invoice_number_duplicate"] = "من فضلك أدخل رقم فاتورة غير مكرر.";
$lang["sales_invoice_sent"] = "تم إرسال الفاتورة إلى";
$lang["sales_invoice_total"] = "إجمالي الفاتورة";
$lang["sales_invoice_type_custom_invoice"] = "فاتورة مخصصة (custom_invoice.php)";
$lang["sales_invoice_type_custom_tax_invoice"] = "الفاتورة الضريبية المخصصة (custom_tax_invoice.php)";
$lang["sales_invoice_type_invoice"] = "الفاتورة (invoice.php)";
$lang["sales_invoice_type_tax_invoice"] = "الفاتورة الضريبية (tax_invoice.php)";
$lang["sales_invoice_unsent"] = "فشل إرسال الفاتورة إلى";
$lang["sales_invoice_update"] = "إعادة العد";
$lang["sales_item_insufficient_of_stock"] = "لايوجد مخزون كافى من المادة.";
$lang["sales_item_name"] = "اسم المادة";
$lang["sales_item_number"] = "مادة رقم #";
$lang["sales_item_out_of_stock"] = "لايوجد مخزون من المادة.";
$lang["sales_mode"] = "وضع التسجيل";
$lang["sales_must_enter_numeric"] = "يجب إدخال رقم للمبلغ الفعلى المدفوع.";
$lang["sales_must_enter_numeric_giftcard"] = "رمز بطاقة الهدية يجب أن يكتون ارقام فقط.";
$lang["sales_new_customer"] = "عميل جديد";
$lang["sales_new_item"] = "مادة جديدة";
$lang["sales_no_description"] = "بدون وصف";
$lang["sales_no_filter"] = "الكل";
$lang["sales_no_items_in_cart"] = "لايوجد اي مادة فى السلة.";
$lang["sales_no_sales_to_display"] = "لاتوجد عمليات بيع لعرضها.";
$lang["sales_none_selected"] = "لم تقم بإختيار أى عمليات بيع لحذفها.";
$lang["sales_nontaxed_ind"] = "";
$lang["sales_not_authorized"] = "ليس لديك صلاحية.";
$lang["sales_one_or_multiple"] = "عمليات بيع";
$lang["sales_payment"] = "طريقة الدفع";
$lang["sales_payment_amount"] = "القيمة";
$lang["sales_payment_not_cover_total"] = "المبلغ المدفوع لايغطى المبلغ الإجمالى.";
$lang["sales_payment_type"] = "طريقة";
$lang["sales_payments_total"] = "إجمالى المدفوعات";
$lang["sales_price"] = "السعر";
$lang["sales_print_after_sale"] = "اطبع بعد عملية البيع";
$lang["sales_quantity"] = "الكمية";
$lang["sales_quantity_less_than_reorder_level"] = "تحذير: الكمية أقل من الحد المطلوب لهذه المادة.";
$lang["sales_quantity_less_than_zero"] = "تحذير! الكمية المطلوبة غير كافية، بإمكانك إتمام عملية البيع ، لكن تحقق من مخزنك.";
$lang["sales_quantity_of_items"] = "عدد ال 1% من الاصناف";
$lang["sales_quote"] = "عرض اسعار";
$lang["sales_quote_number"] = "رقم عرض الاسعار";
$lang["sales_quote_number_duplicate"] = "رقم عرض الاسعار يجب ان يكون فريد.";
$lang["sales_quote_sent"] = "عرض الاسعار ارسل الى";
$lang["sales_quote_unsent"] = "لم يتم ارسال عرض الاسعار الى";
$lang["sales_receipt"] = "عملية بيع #";
$lang["sales_receipt_no_email"] = "هذا العميل ليس له اي بريد الكتروني صحيح.";
$lang["sales_receipt_number"] = "إيصال بيع";
$lang["sales_receipt_sent"] = "تم إرسال الإيصال إلى";
$lang["sales_receipt_unsent"] = "فشل إرسال الإيصال إلى";
$lang["sales_refund"] = "نوع/سبب الاسترجاع";
$lang["sales_register"] = "سجل المبيعات";
$lang["sales_remove_customer"] = "حذف عميل";
$lang["sales_return"] = "إسترجاع";
$lang["sales_rewards"] = "نقاط المكافئة";
$lang["sales_rewards_balance"] = "رصيد نقاط المكافئة";
$lang["sales_sale"] = "بيع";
$lang["sales_sale_by_invoice"] = "البيع بفاتورة رسمية";
$lang["sales_sale_for_customer"] = "العميل:";
$lang["sales_sale_time"] = "الوقت";
$lang["sales_sales_tax"] = "ضريبة البيع";
$lang["sales_select_customer"] = "اختيار عميل (اختياري)";
$lang["sales_send_invoice"] = "إرسال الفاتورة";
$lang["sales_send_quote"] = "ارسال عرض الاسعار";
$lang["sales_send_receipt"] = "إرسال إيصال";
$lang["sales_send_work_order"] = "ارسال طلب عمل";
$lang["sales_serial"] = "مسلسل";
$lang["sales_show_invoice"] = "عرض الفاتورة";
$lang["sales_show_receipt"] = "عرض الإيصال";
$lang["sales_start_typing_customer_name"] = "ابداء بكتابة اسم العميل...";
$lang["sales_start_typing_item_name"] = "ابداء بكتابة اسم أو مسح باركود الصنف...";
$lang["sales_stock"] = "المخزن";
$lang["sales_stock_location"] = "موقع التخزين";
$lang["sales_sub_total"] = "المجموع الفرعي";
$lang["sales_successfully_deleted"] = "لقد تم الحذف بنجاح";
$lang["sales_successfully_restored"] = "لقد تمت عملية الاستعادة بنجاح";
$lang["sales_successfully_suspended_sale"] = "لقد تم تعليق عملية البيع بنجاح.";
$lang["sales_successfully_updated"] = "لقد تم تحديث بيانات عملية البيع بنجاح.";
$lang["sales_suspend_sale"] = "تعليق عملية البيع";
$lang["sales_suspended_doc_id"] = "ملف";
$lang["sales_suspended_sale_id"] = "كود عملية البيع";
$lang["sales_suspended_sales"] = "المبيعات المعلقة";
$lang["sales_table"] = "طاولة";
$lang["sales_takings"] = "المبيع اليومي";
$lang["sales_tax"] = "ضريبة";
$lang["sales_tax_id"] = "الرقم الضريبي";
$lang["sales_tax_invoice"] = "فاتورة ضريبية";
$lang["sales_tax_percent"] = "ضريبة %";
$lang["sales_taxed_ind"] = "";
$lang["sales_total"] = "المجموع";
$lang["sales_total_tax_exclusive"] = "الإجمالى بدون الضرائب";
$lang["sales_transaction_failed"] = "فشل حركة البيع.";
$lang["sales_unable_to_add_item"] = "غير قادر على إضافة صنف لعملية البيع";
$lang["sales_unsuccessfully_deleted"] = "لايمكن حذف عملية/عمليات البيع.";
$lang["sales_unsuccessfully_restored"] = "فشل في استعادة عملية البيع.";
$lang["sales_unsuccessfully_suspended_sale"] = "فشل تعليق عملية البيع.";
$lang["sales_unsuccessfully_updated"] = "فشل تحديث عملية البيع.";
$lang["sales_unsuspend"] = "إلغاء تعليق";
$lang["sales_unsuspend_and_delete"] = "إلغاء تعليق وحذف";
$lang["sales_update"] = "تحديث";
$lang["sales_upi"] = "رقم التعريف الشخصي";
$lang["sales_work_order"] = "طلب عمل";
$lang["sales_work_order_number"] = "رقم طلب العمل";
$lang["sales_work_order_number_duplicate"] = "رقم طلب العمل يجب ان يكون فريد.";
$lang["sales_work_order_sent"] = "تم ارسال طلب العمل الى";
$lang["sales_work_order_unsent"] = "فشل في ارسال طلب العمل الى";

View File

@@ -0,0 +1,23 @@
<?php
$lang["suppliers_account_number"] = "رقم الحساب";
$lang["suppliers_agency_name"] = "اسم الوكالة";
$lang["suppliers_cannot_be_deleted"] = "لايمكن حذف المورد/الموردين لوجود مبيعات مرتبطة بهم.";
$lang["suppliers_category"] = "الفئة";
$lang["suppliers_company_name"] = "اسم الشركة";
$lang["suppliers_company_name_required"] = "اسم الشركة مطلوب.";
$lang["suppliers_confirm_delete"] = "هل تريد حقا حذف هؤلاء الموردين؟";
$lang["suppliers_confirm_restore"] = "هل تريد بالتأكيد استعادة المورد (الموردين) المحددين؟";
$lang["suppliers_cost"] = "مورد كلفة";
$lang["suppliers_error_adding_updating"] = "خطاء فى إضافة/تحديث المورد.";
$lang["suppliers_goods"] = "مورد بضائع";
$lang["suppliers_new"] = "مورد جديد";
$lang["suppliers_none_selected"] = "لم تختار موردين لحذفهم.";
$lang["suppliers_one_or_multiple"] = "مورد/موردين";
$lang["suppliers_successful_adding"] = "لقد تم إضافة المورد بنجاح";
$lang["suppliers_successful_deleted"] = "لقد تم حذف المورد بنجاح";
$lang["suppliers_successful_updating"] = "لقد تم تحديث بيانات المورد بنجاح";
$lang["suppliers_supplier"] = "مورد";
$lang["suppliers_supplier_id"] = "كود المورد";
$lang["suppliers_tax_id"] = "الرقم الضريبي";
$lang["suppliers_update"] = "تحديث بيانات المورد";

View File

@@ -0,0 +1,80 @@
<?php
$lang["taxes_add_exception"] = "أضافة أستثناء";
$lang["taxes_cascade"] = "تتالي";
$lang["taxes_cascade_sequence"] = "تسلسل متتالي";
$lang["taxes_city"] = "مدينة";
$lang["taxes_code"] = "الشفرة";
$lang["taxes_confirm_delete"] = "هل أنت متأكد أنك تريد حذف قانون الضرائب؟ لا يمكن التراجع عن هذا الإجراء";
$lang["taxes_confirm_restore"] = "هل أنت متأكد من أستعادة الأكواد الضريبية؟";
$lang["taxes_default_tax_category"] = "التصنيف الضريبي الأفتراضي";
$lang["taxes_default_tax_rate"] = "معدل الضريبة الافتراضي";
$lang["taxes_error_adding_updating"] = "فشل إضافة أو تحديث قانون الضرائب";
$lang["taxes_group_seq"] = "تسلسل المجموعة";
$lang["taxes_jurisdiction_name"] = "اسم الولاية القضائية";
$lang["taxes_name"] = "الاسم";
$lang["taxes_new"] = "ضريبة جديدة";
$lang["taxes_no_taxes_to_display"] = "لا يوجد أكواد ضريبية للعرض";
$lang["taxes_reporting_authority"] = "السلطة الضريبية";
$lang["taxes_round_half_down"] = "نصف الاسفل";
$lang["taxes_round_half_even"] = "تقريب للنصف";
$lang["taxes_round_half_odd"] = "تقريب غريب";
$lang["taxes_round_half_up"] = "تقريب للاعلى";
$lang["taxes_rounding_code"] = "كود التقريب";
$lang["taxes_sales_tax"] = "ضريبة المبيعات";
$lang["taxes_sales_tax_by_invoice"] = "ضريبة المبيعات بالفاتورة";
$lang["taxes_sequence"] = "تسلسل";
$lang["taxes_state"] = "حالة";
$lang["taxes_successful_deleted"] = "تم المسح بنجاح";
$lang["taxes_tax_categories"] = "فئات الضرائب";
$lang["taxes_tax_categories_configuration"] = "اعدادات فئات الضرائب";
$lang["taxes_tax_categories_saved_successfully"] = "تم حفظ تغييرات الفئات الضريبية";
$lang["taxes_tax_categories_saved_unsuccessfully"] = "لم يتم حفظ تغييرات الفئات الضريبة";
$lang["taxes_tax_category"] = "الفئة الضريبية";
$lang["taxes_tax_category_code"] = "رمز الفئة الضريبية";
$lang["taxes_tax_category_duplicate"] = "الفئة الضريبية مكررة";
$lang["taxes_tax_category_invalid_chars"] = "أحرف غير صالحة في اسم الفئة الضريبية";
$lang["taxes_tax_category_name"] = "اسم فئة الضريبة";
$lang["taxes_tax_category_new"] = "فئة الضريبية جديدة";
$lang["taxes_tax_category_required"] = "الفئة الضريبة مطلوبة";
$lang["taxes_tax_code"] = "كود الضريبة";
$lang["taxes_tax_code_cannot_be_deleted"] = "فشل مسح الكود الضريبي";
$lang["taxes_tax_code_duplicate"] = "رمز الضريبة مكرر";
$lang["taxes_tax_code_invalid_chars"] = "أحرف لا يمكن استعمالها في قانون الضرائب";
$lang["taxes_tax_code_name"] = "اسم الكود الضريبي";
$lang["taxes_tax_code_required"] = "حقل الكود الضريبي مطلوب";
$lang["taxes_tax_code_successful_deleted"] = "تم مسح الكود الضريبي";
$lang["taxes_tax_code_successful_updated"] = "تم التعديل بنجاح";
$lang["taxes_tax_code_successful_updating"] = "تم تعديل الكود الضريبي بنجاح";
$lang["taxes_tax_code_successfully_added"] = "لقد تم إضافة المورد بنجاح";
$lang["taxes_tax_code_type"] = "نوع كود الضريبة";
$lang["taxes_tax_codes"] = "الرموز الضريبية";
$lang["taxes_tax_codes_configuration"] = "اعدادات الرموز الضريبية";
$lang["taxes_tax_codes_saved_successfully"] = "تم حفظ تغييرات قانون الضرائب";
$lang["taxes_tax_codes_saved_unsuccessfully"] = "لم يتم حفظ تغييرات قانون الضريبة";
$lang["taxes_tax_excluded"] = "لا تشمل الضرائب";
$lang["taxes_tax_group"] = "المجموعة الضريبية";
$lang["taxes_tax_group_not_unique"] = "";
$lang["taxes_tax_group_sequence"] = "تسلسل مجموعة الضرائب";
$lang["taxes_tax_included"] = "الضريبة مشمولة";
$lang["taxes_tax_jurisdiction"] = "الاختصاص الضريبي";
$lang["taxes_tax_jurisdiction_duplicate"] = "تكرير الاختصاص الضريبي";
$lang["taxes_tax_jurisdiction_invalid_chars"] = "أحرف لا يمكن استعمالها في اسم الولاية القضائية";
$lang["taxes_tax_jurisdiction_required"] = "الاختصاص الضريبي هي خانة اجبارية";
$lang["taxes_tax_jurisdictions"] = "الاختصاصات الضريبية";
$lang["taxes_tax_jurisdictions_configuration"] = "اعجدادات الاختصاصات الضريبية";
$lang["taxes_tax_jurisdictions_saved_successfully"] = "تم حفظ تغييرات الاختصاص الضريبي";
$lang["taxes_tax_jurisdictions_saved_unsuccessfully"] = "لم يتم حفظ تغييرات الاختصاص الضريبي";
$lang["taxes_tax_rate"] = "معدل الضريبة الافتراضي %";
$lang["taxes_tax_rate_configuration"] = "اعجدادات معدل الضريبة";
$lang["taxes_tax_rate_error_adding_updating"] = "فشل إضافة أو تحديث معدل الضريبة";
$lang["taxes_tax_rate_numeric"] = "معدل الضريبة الافتراضي يجب أن يكون رقم";
$lang["taxes_tax_rate_required"] = "معدل الضريبة الافتراضي مطلوب";
$lang["taxes_tax_rate_successful_updated"] = "لقد تم بالتحديث بنجاح";
$lang["taxes_tax_rate_successfully_added"] = "لقد تم الاضافة بنجاح";
$lang["taxes_tax_rates"] = "معدلات الضريبة";
$lang["taxes_tax_rates_configuration"] = "اعدادات معدلات الضريبة";
$lang["taxes_tax_rounding"] = "التقريب الضريبي";
$lang["taxes_tax_type"] = "نوع الضريبة";
$lang["taxes_update"] = "تحديث معدل الضريبة";
$lang["taxes_vat_tax"] = "ضريبة القيمة المضافة";

Some files were not shown because too many files have changed in this diff Show More