Compare commits

...

573 Commits

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
590 changed files with 14061 additions and 7052 deletions

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

2
.gitignore vendored
View File

@@ -13,6 +13,7 @@ generate_langauges.php
dist/
docs/
public/bower_components
npm_modules
*.patch
patches/
translations/
@@ -32,6 +33,7 @@ vendor/
*.log
.env
package-lock.json
auth.json
!/docker/.env
/docker/data/database/db/*
/docker/data/certbot/conf/*

View File

@@ -8,7 +8,7 @@
# 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,4 +1,5 @@
sudo: required
if: tag IS blank
branches:
except:
@@ -6,30 +7,49 @@ branches:
services:
- docker
before_install:
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- sudo apt-get update
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
- docker --version
- curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
- chmod +x docker-compose
- sudo mv docker-compose /usr/local/bin
- 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:
- 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 digitallyseamless/nodejs-bower-grunt
- 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.21.1
- TAG=$(echo ${TRAVIS_BRANCH} | sed s/feature\\///)
after_success:
- 'docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD" && docker tag "opensourcepos_ospos:latest" "jekkos/opensourcepos:$TAG" && docker push "jekkos/opensourcepos:$TAG"'
- DOCKER_COMPOSE_VERSION=1.29.1
- TAG=$(echo ${TRAVIS_BRANCH} | sed s/feature\\///)
- date=`date +%Y%m%d%H%M%S` && branch=${TRAVIS_BRANCH} && rev=`git rev-parse --short=6 HEAD`
after_success:
- 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:
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,4 +1,4 @@
FROM php:7.3-apache AS ospos
FROM php:7.4-apache AS ospos
MAINTAINER jekkos
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
@@ -6,10 +6,10 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
libgd-dev \
openssl
RUN a2enmod rewrite
RUN docker-php-ext-install mysqli bcmath intl gd
RUN echo "date.timezone = \"\${PHP_TIMEZONE}\"" > /usr/local/etc/php/conf.d/timezone.ini
RUN echo -e “$(hostname -i)\t$(hostname) $(hostname).localhost” >> /etc/hosts
WORKDIR /app
COPY . /app
@@ -20,7 +20,7 @@ FROM ospos AS ospos_test
COPY --from=composer /usr/bin/composer /usr/bin/composer
RUN apt-get install -y libzip-dev wget
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
@@ -36,6 +36,6 @@ FROM ospos AS ospos_dev
RUN mkdir -p /app/bower_components && ln -s /app/bower_components /var/www/html/bower_components
RUN yes | pecl install xdebug \
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini

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: {
@@ -239,11 +271,14 @@ module.exports = function(grunt) {
'!/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'
@@ -254,17 +289,14 @@ module.exports = function(grunt) {
}
});
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,7 +1,7 @@
Server Requirements
-------------------
* PHP version 5.6 to 7.4 are supported. Please note that PHP needs to have `php-gd`, `php-bcmath`, `php-intl`, `php-openssl`, `php-mbstring` and `php-curl` installed and enabled.
* PHP version 7.2 to 7.4 are supported, PHP version 5.6 and 8.0 are NOT supported. Please note that PHP needs to have `php-gd`, `php-bcmath`, `php-intl`, `php-openssl`, `php-mbstring` and `php-curl` installed and enabled.
* MySQL 5.5, 5.6 and 5.7 are supported, also MariaDB replacement 10.x is supported and apparently offering better performance.
@@ -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
@@ -38,31 +38,16 @@ From now onwards OSPOS can be deployed using Docker on Linux and Mac, locally or
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.
Since OSPOS version 3.3.0 the docker installation offers a reverse proxy based on nginx with a (if local) Self signed certificate termination (aka HTTPS connection).
Behind the reverse proxy you can access OSPOS using https (port 443) and myPhpAdmin using port 8000.
Port 80 (standard http) is not available for OSPOS, it's only available for a cert manager service in case of server installation.
***Be aware that this setup is not suited for production usage. Change the default passwords in the compose file before exposing the containers publicly.***
* To build and run the image, download the latest build from bintray.
* Install envsubst from https://github.com/a8m/envsubst on your machine
* Issue the following commands in a terminal with docker installed:
Start the containers using following command
```
docker/install-local.sh
```
* When required to renew a certificate say (y)es.
* When the script has terminated to run, wait about a minute before connecting to https://127.0.0.1.
* The web browser will warn you of a self certificate exception, accept and continue
* If you do https://127.0.0.1:8000 (port 8000) instead, you would be able to access a phpMyAdmin service connected to OSPOS MariaDB
* To stop the docker issue the following command:
```
docker/uninstall.sh
docker-compose up
```
Host install using Docker
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).
@@ -76,13 +61,7 @@ The variable STAGING needs to be set to 0 when you are confident your configurat
Follow local install steps, but instead of
```
docker/install-local.sh
```
use
```
docker/install-server.sh
docker/install-nginx.sh
```
Do not use
@@ -100,37 +79,3 @@ Cloud install
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.
cPanel & SSH Install
--------------------
If you own on a **VPS**, **Dedicated Server**, or **Shared Hosting** running on **cPanel** with **SSH** access:
You can run our Stand-alone [WS-OSPOS-Installer](https://github.com/WebShells/WS-OSPOS-Installer.git), it will handle:
. Database.php config files generation.
. Creation of db User & Password depending on user's input of Dbname, Username, Password, & Hostname ( No need for phpmyadmin )
. Imports default Db SQL files in order to run the project.
Usage in **(SSH)**:
git clone https://github.com/WebShells/WS-OSPOS-Installer.git
chmod +x WS-OSPOS-Installer/Get-POS
./WS-OSPOS-Installer/Get-POS
or
wget https://github.com/WebShells/WS-OSPOS-Installer/archive/master.zip
unzip -qq master.zip
chmod +x WS-OSPOS-Installer-master/Get-POS
./WS-OSPOS-Installer-master/Get-POS
Answer **DB required questions** and you are ready to run the project on http://localhost/OSPOS/public (localhost to be replaced by the hostname provided during setup).

70
LICENSE
View File

@@ -1,37 +1,37 @@
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-2020 jekkos
Copyright (c) 2015-2020 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-2020 Steve Ireland
Copyright (c) 2017-2020 objecttothis
Copyright (c) 2017-2020 odiea
Copyright (c) 2017-2020 WebShells / Shady Sh
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 asadjaved63
Copyright (c) 2018 Erasto Marroquin (aka Erastus)
Copyright (c) 2018 Nathan Sas (aka nathanzky)
Copyright (c) 2018 Emilio Silva (aka emi-silva)
Copyright (c) 2019 Loyd Jayme (aka loydjayme25)
Copyright (c) 2020 Andriux1990
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.
@@ -40,13 +40,12 @@ You cannot claim copyright or ownership of the Software.
Versions ≥ 3.3.2:
Footer signatures "© 2010 - 2020 · opensourcepos.org · 3.3.2 - 6909c8"
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.
@@ -61,9 +60,10 @@ and/or
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 @@
[![Download](https://api.bintray.com/packages/jekkos/opensourcepos/opensourcepos/images/download.svg?version=3.3.2) ](https://bintray.com/jekkos/opensourcepos/opensourcepos/3.3.2/link)
[![Build Status](https://travis-ci.org/opensourcepos/opensourcepos.svg?branch=master)](https://travis-ci.org/opensourcepos/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)
[![devDependency Status](https://david-dm.org/jekkos/opensourcepos/dev-status.svg)](https://david-dm.org/jekkos/opensourcepos#info=dev)
[![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
@@ -36,13 +34,11 @@ The main features are:
The software is written in PHP language, it uses MySQL (or MariaDB) as data storage back-end and has a simple but intuitive user interface.
The latest 3.x version is a complete overhaul of the original software.
It is now based on Bootstrap 3 using Bootswatch themes, and still uses CodeIgniter 3 as framework.
It is now based on Bootstrap 3 using Bootswatch themes, and uses CodeIgniter version 3 as framework.
It also has improved functionality and security.
Deployed to a Cloud it's a SaaS (Software as a Service) solution.
DEMO
----
DEMO / DEV
----------
A demo version of the latest master version can be found on our [Demo server](https://demo.opensourcepos.org). This is a containerized install which will be reinitialized when new functionality is added to the code repository.
@@ -50,6 +46,9 @@ 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
------------
@@ -124,10 +123,10 @@ Please **Copy** the info under **System Info tab in configuration section** in o
Bug reports must follow the below schema:
1. Ospos **version string with git commit hash** (see ospos footer)
2. OS name and version running your Web Server (e.g. CentOS 6.9, Ubuntu 16.4, Windows 10)
3. Web Server name and version (e.g. Apache 2.2, Apache 2.4, Nginx 1.12, Nginx 1.13)
4. Database name and version (e.g. MySQL 5.5, MySQL 5.6, MySQL 5.7, MariaDB 10.0, MariaDB 10.1, MariaDB 10.2, MariaDB 10.3)
5. PHP version (e.g. 5.6, 7.0, 7.1, 7.2, 7.3)
2. OS name and version running your Web Server (e.g. CentOS 6.9, Ubuntu 20, Windows 10)
3. Web Server name and version (e.g. Apache 2.4, Nginx 1.12, Nginx 1.13)
4. Database name and version (e.g. MySQL 5.6, MySQL 5.7, MariaDB 10.2, MariaDB 10.3)
5. PHP version (e.g. 7.2, 7.3, 7.4)
6. Language selected in OSPOS (e.g. English, Spanish)
7. Any configuration of OSPOS that you changed
8. Exact steps to reproduce the issue (test case)
@@ -140,7 +139,7 @@ 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). To know how to enable error_log, please read the comment in [issue 1770](https://github.com/opensourcepos/opensourcepos/issues/1770#issuecomment-355177943).
@@ -154,7 +153,9 @@ FAQ
* 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).
* If you see the item edit dialog box empty starting with version 3.3.0, please disable `only_full_group_by` option from MySQL/MariaDB. See issue [#2538](https://github.com/opensourcepos/opensourcepos/issues/2538).
* 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
-------

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

@@ -1,3 +1,43 @@
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

View File

@@ -8,7 +8,7 @@
|
|
*/
$config['application_version'] = '3.3.2';
$config['application_version'] = '3.3.5';
/*
|--------------------------------------------------------------------------
@@ -65,7 +65,8 @@ $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']) && $_ENV['FORCE_HTTPS'] == 'true')) ? 'https' : 'http';
$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']);
@@ -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

@@ -110,6 +110,7 @@ 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);
@@ -144,3 +145,13 @@ 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,6 +26,14 @@ $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 . (ENVIRONMENT == 'testing') ? 'tests/' : 'config/';
try {

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

@@ -1,6 +1,6 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Secure_Controller.php");
require_once('Secure_Controller.php');
class Attributes extends Secure_Controller
{
@@ -24,16 +24,16 @@ class Attributes 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 ? 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 = array();
$data_rows = [];
foreach($attributes->result() as $attribute)
{
$attribute->definition_flags = $this->_get_attributes($attribute->definition_flags);
$attribute->definition_flags = $this->get_attributes($attribute->definition_flags);
$data_rows[] = get_attribute_definition_data_row($attribute, $this);
}
@@ -42,16 +42,24 @@ class Attributes extends Secure_Controller
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
}
public function save_attribute_value($attribute_value)
public function save_attribute_value()
{
$success = $this->Attribute->save_value(urldecode($attribute_value), $this->input->post('definition_id'), $this->input->post('item_id'), $this->input->post('attribute_id'));
$success = $this->Attribute->save_value(
$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($attribute_value)
public function delete_attribute_value()
{
$success = $this->Attribute->delete_value($attribute_value, $this->input->post('definition_id'));
$success = $this->Attribute->delete_value(
$this->input->post('attribute_value'),
$this->input->post('definition_id')
);
echo json_encode(array('success' => $success));
}
@@ -60,7 +68,7 @@ class Attributes extends Secure_Controller
{
$definition_flags = 0;
$flags = (empty($this->input->post('definition_flags'))) ? array() : $this->input->post('definition_flags');
$flags = (empty($this->input->post('definition_flags'))) ? [] : $this->input->post('definition_flags');
foreach($flags as $flag)
{
@@ -121,15 +129,15 @@ class Attributes extends Secure_Controller
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);
$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)
private function get_attributes($definition_flags = 0)
{
$definition_flag_names = array();
$definition_flag_names = [];
foreach (Attribute::get_definition_flags() as $id => $term)
{
if ($id & $definition_flags)
@@ -155,11 +163,11 @@ class Attributes extends Secure_Controller
$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);
$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);
$data['selected_definition_flags'] = $this->get_attributes($selected_flags);
$this->load->view("attributes/form", $data);
$this->load->view('attributes/form', $data);
}
public function delete_value($attribute_id)
@@ -181,4 +189,4 @@ class Attributes extends Secure_Controller
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('attributes_definition_cannot_be_deleted')));
}
}
}
}

View File

@@ -25,7 +25,7 @@ class Cashups 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 ? 'cashup_id' : $this->db->escape($this->input->get('sort'));
$order = $this->input->get('order');
$filters = array(
'start_date' => $this->input->get('start_date'),

View File

@@ -184,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);
}
}
@@ -283,6 +283,7 @@ 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,
@@ -578,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();
}
}
}
}
@@ -816,7 +818,6 @@ 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'),
@@ -904,7 +905,7 @@ 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))
@@ -919,7 +920,7 @@ class Config extends Secure_Controller
}
// Chmod the file
@chmod($config_path, 0444);
@chmod($config_path, 0440);
return $result;
}
@@ -957,4 +958,4 @@ class Config extends Secure_Controller
}
}
}
?>
?>

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);

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);
@@ -60,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)
@@ -190,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'),

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);

View File

@@ -59,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);
@@ -100,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)
{
@@ -131,6 +132,7 @@ 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' => $this->input->post('kit_discount'),
'kit_discount_type' => $this->input->post('kit_discount_type') == NULL ? PERCENT : $this->input->post('kit_discount_type'),
@@ -141,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)
@@ -205,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

@@ -45,7 +45,7 @@ class Login extends CI_Controller
if (!$this->migration->is_latest())
{
set_time_limit(1200);
set_time_limit(3600);
// trigger any required upgrade before starting the application
$this->migration->latest();
}

View File

@@ -125,9 +125,9 @@ class Receivings extends Secure_Controller
$serialnumber = $this->input->post('serialnumber');
$price = parse_decimals($this->input->post('price'));
$quantity = parse_quantity($this->input->post('quantity'));
$discount = parse_decimals($this->input->post('discount'));
$discount_type = $this->input->post('discount_type');
$item_location = $this->input->post('location');
$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)
@@ -378,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

@@ -51,6 +51,7 @@ class Reports extends Secure_Controller
{
$tabular_data[] = $this->xss_clean(array(
'sale_date' => to_date(strtotime($row['sale_date'])),
'sales' => to_quantity_decimals($row['sales']),
'quantity' => to_quantity_decimals($row['quantity_purchased']),
'subtotal' => to_currency($row['subtotal']),
'tax' => to_currency_tax($row['tax']),
@@ -156,6 +157,7 @@ class Reports extends Secure_Controller
{
$tabular_data[] = $this->xss_clean(array(
'customer_name' => $row['customer'],
'sales' => to_quantity_decimals($row['sales']),
'quantity' => to_quantity_decimals($row['quantity_purchased']),
'subtotal' => to_currency($row['subtotal']),
'tax' => to_currency_tax($row['tax']),
@@ -228,6 +230,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']),
@@ -418,7 +423,7 @@ class Reports extends Secure_Controller
$tabular_data[] = array(
'trans_group' => '--',
'trans_type' => '--',
'trans_count' => '--',
'trans_sales' => '--',
'trans_amount' => '--',
'trans_payments' => '--',
'trans_refunded' => '--',
@@ -435,7 +440,7 @@ class Reports extends Secure_Controller
$tabular_data[] = $this->xss_clean(array(
'trans_group' => $row['trans_group'],
'trans_type' => $row['trans_type'],
'trans_count' => $row['trans_count'],
'trans_sales' => $row['trans_sales'],
'trans_amount' => to_currency($row['trans_amount']),
'trans_payments' => to_currency($row['trans_payments']),
'trans_refunded' => to_currency($row['trans_refunded']),

View File

@@ -2,16 +2,13 @@
require_once("Secure_Controller.php");
define('PRICE_MODE_STANDARD', 0);
define('PRICE_MODE_KIT', 1);
define('PAYMENT_TYPE_UNASSIGNED', '--');
class Sales extends Secure_Controller
{
public function __construct()
{
parent::__construct('sales');
$this->load->helper('file');
$this->load->library('sale_lib');
$this->load->library('email_lib');
$this->load->library('token_lib');
@@ -36,20 +33,11 @@ class Sales extends Secure_Controller
{
$data['table_headers'] = get_sales_manage_table_headers();
// filters that will be loaded in the multiselect dropdown
if($this->config->item('invoice_enable') == TRUE)
{
$data['filters'] = array('only_cash' => $this->lang->line('sales_cash_filter'),
'only_due' => $this->lang->line('sales_due_filter'),
'only_check' => $this->lang->line('sales_check_filter'),
'only_invoices' => $this->lang->line('sales_invoice_filter'));
}
else
{
$data['filters'] = array('only_cash' => $this->lang->line('sales_cash_filter'),
'only_due' => $this->lang->line('sales_due_filter'),
'only_check' => $this->lang->line('sales_check_filter'));
}
$data['filters'] = array('only_cash' => $this->lang->line('sales_cash_filter'),
'only_due' => $this->lang->line('sales_due_filter'),
'only_check' => $this->lang->line('sales_check_filter'),
'only_creditcard' => $this->lang->line('sales_credit_filter'),
'only_invoices' => $this->lang->line('sales_invoice_filter'));
$this->load->view('sales/manage', $data);
}
@@ -66,10 +54,10 @@ class Sales extends Secure_Controller
public function search()
{
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$order = $this->input->get('order');
$sort = $this->input->post('sort') === NULL ? 'sales.sale_time' : $this->db->escape($this->input->get('sort'));
$order = $this->input->get('order');
$filters = array('sale_type' => 'all',
'location_id' => 'all',
@@ -78,6 +66,7 @@ class Sales extends Secure_Controller
'only_cash' => FALSE,
'only_due' => FALSE,
'only_check' => FALSE,
'only_creditcard' => FALSE,
'only_invoices' => $this->config->item('invoice_enable') && $this->input->get('only_invoices'),
'is_valid_receipt' => $this->Sale->is_valid_receipt($search));
@@ -88,7 +77,7 @@ class Sales extends Secure_Controller
$sales = $this->Sale->search($search, $filters, $limit, $offset, $sort, $order);
$total_rows = $this->Sale->get_found_rows($search, $filters);
$payments = $this->Sale->get_payments_summary($search, $filters);
$payment_summary = $this->xss_clean(get_sales_manage_payments_summary($payments, $sales));
$payment_summary = $this->xss_clean(get_sales_manage_payments_summary($payments));
$data_rows = array();
foreach($sales->result() as $sale)
@@ -200,6 +189,8 @@ class Sales extends Secure_Controller
$this->sale_lib->set_sale_location($stock_location);
}
$this->sale_lib->empty_payments();
$this->_reload();
}
@@ -268,7 +259,7 @@ class Sales extends Secure_Controller
$data = array();
$payment_type = $this->input->post('payment_type');
if($payment_type != $this->lang->line('sales_giftcard'))
if($payment_type !== $this->lang->line('sales_giftcard'))
{
$this->form_validation->set_rules('amount_tendered', 'lang:sales_amount_tendered', 'trim|required|callback_numeric');
}
@@ -279,7 +270,7 @@ class Sales extends Secure_Controller
if($this->form_validation->run() == FALSE)
{
if($payment_type == $this->lang->line('sales_giftcard'))
if($payment_type === $this->lang->line('sales_giftcard'))
{
$data['error'] = $this->lang->line('sales_must_enter_numeric_giftcard');
}
@@ -290,7 +281,7 @@ class Sales extends Secure_Controller
}
else
{
if($payment_type == $this->lang->line('sales_giftcard'))
if($payment_type === $this->lang->line('sales_giftcard'))
{
// in case of giftcard payment the register input amount_tendered becomes the giftcard number
$giftcard_num = $this->input->post('amount_tendered');
@@ -321,7 +312,7 @@ class Sales extends Secure_Controller
$this->sale_lib->add_payment($payment_type, $amount_tendered);
}
}
elseif($payment_type == $this->lang->line('sales_rewards'))
elseif($payment_type === $this->lang->line('sales_rewards'))
{
$customer_id = $this->sale_lib->get_customer();
$package_id = $this->Customer->get_info($customer_id)->package_id;
@@ -353,6 +344,20 @@ class Sales extends Secure_Controller
}
}
}
elseif($payment_type === $this->lang->line('sales_cash'))
{
$amount_due = $this->sale_lib->get_total();
$sales_total = $this->sale_lib->get_total(FALSE);
$amount_tendered = $this->input->post('amount_tendered');
$this->sale_lib->add_payment($payment_type, $amount_tendered);
$cash_adjustment_amount = $amount_due - $sales_total;
if($cash_adjustment_amount <> 0)
{
$this->session->set_userdata('cash_mode', CASH_MODE_TRUE);
$this->sale_lib->add_payment($this->lang->line('sales_cash_adjustment'), $cash_adjustment_amount, CASH_ADJUSTMENT_TRUE);
}
}
else
{
$amount_tendered = $this->input->post('amount_tendered');
@@ -406,13 +411,21 @@ class Sales extends Secure_Controller
{
// Add kit item to order if one is assigned
$pieces = explode(' ', $item_id_or_number_or_item_kit_or_receipt);
$item_kit_id = $pieces[1];
$item_kit_id = (count($pieces) > 1) ? $pieces[1] : $item_id_or_number_or_item_kit_or_receipt;
$item_kit_info = $this->Item_kit->get_info($item_kit_id);
$kit_item_id = $item_kit_info->kit_item_id;
$kit_price_option = $item_kit_info->price_option;
$kit_print_option = $item_kit_info->print_option; // 0-all, 1-priced, 2-kit-only
if($item_kit_info->kit_discount != 0 && $item_kit_info->kit_discount > $discount)
if($discount_type == $item_kit_info->kit_discount_type)
{
if($item_kit_info->kit_discount > $discount)
{
$discount = $item_kit_info->kit_discount;
}
}
else
{
$discount = $item_kit_info->kit_discount;
$discount_type = $item_kit_info->kit_discount_type;
@@ -422,7 +435,7 @@ class Sales extends Secure_Controller
if(!empty($kit_item_id))
{
if(!$this->sale_lib->add_item($kit_item_id, $quantity, $item_location, $discount, $discount_type, PRICE_MODE_STANDARD, NULL, NULL, $price))
if(!$this->sale_lib->add_item($kit_item_id, $quantity, $item_location, $discount, $discount_type, PRICE_MODE_KIT, $kit_price_option, $kit_print_option, $price))
{
$data['error'] = $this->lang->line('sales_unable_to_add_item');
}
@@ -454,6 +467,7 @@ class Sales extends Secure_Controller
$data['warning'] = $this->sale_lib->out_of_stock($item_id_or_number_or_item_kit_or_receipt, $item_location);
}
}
$this->_reload($data);
}
@@ -469,8 +483,8 @@ class Sales extends Secure_Controller
$serialnumber = $this->input->post('serialnumber');
$price = parse_decimals($this->input->post('price'));
$quantity = parse_quantity($this->input->post('quantity'));
$discount = parse_decimals($this->input->post('discount'));
$discount_type = $this->input->post('discount_type');
$discount = $discount_type ? parse_quantity($this->input->post('discount')) : parse_decimals($this->input->post('discount'));
$item_location = $this->input->post('location');
$discounted_total = $this->input->post('discounted_total') != '' ? $this->input->post('discounted_total') : NULL;
@@ -478,6 +492,8 @@ class Sales extends Secure_Controller
if($this->form_validation->run() != FALSE)
{
$this->sale_lib->edit_item($item_id, $description, $serialnumber, $quantity, $discount, $discount_type, $price, $discounted_total);
$this->sale_lib->empty_payments();
}
else
{
@@ -493,6 +509,8 @@ class Sales extends Secure_Controller
{
$this->sale_lib->delete_item($item_number);
$this->sale_lib->empty_payments();
$this->_reload();
}
@@ -571,22 +589,22 @@ class Sales extends Secure_Controller
$data['payments_total'] = $totals['payment_total'];
$data['payments_cover_total'] = $totals['payments_cover_total'];
$data['cash_rounding'] = $this->session->userdata('cash_rounding');
$data['cash_mode'] = $this->session->userdata('cash_mode');
$data['prediscount_subtotal'] = $totals['prediscount_subtotal'];
$data['cash_total'] = $totals['cash_total'];
$data['non_cash_total'] = $totals['total'];
$data['cash_amount_due'] = $totals['cash_amount_due'];
$data['non_cash_amount_due'] = $totals['amount_due'];
if($data['cash_rounding'])
if($data['cash_mode'])
{
$data['total'] = $totals['cash_total'];
$data['amount_due'] = $totals['cash_amount_due'];
}
else
{
$data['total'] = $totals['total'];
$data['amount_due'] = $totals['amount_due'];
}
$data['amount_change'] = $data['amount_due'] * -1;
if($data['amount_change'] > 0)
@@ -609,6 +627,7 @@ class Sales extends Secure_Controller
if($this->sale_lib->is_invoice_mode())
{
$invoice_format = $this->config->item('sales_invoice_format');
// generate final invoice number (if using the invoice in sales by receipt mode then the invoice number can be manually entered or altered in some way
if(!empty($invoice_format) && $invoice_number == NULL)
{
@@ -783,9 +802,11 @@ class Sales extends Secure_Controller
new Token_invoice_count('POS ' . $sale_data['sale_id']),
new Token_customer((object)$sale_data));
$text = $this->token_lib->render($text, $tokens);
$sale_data['mimetype'] = get_mime_by_extension('uploads/' . $this->config->item('company_logo'));
// generate email attachment: invoice in pdf format
$html = $this->load->view("sales/" . $type . "_email", $sale_data, TRUE);
// load pdf helper
$this->load->helper(array('dompdf', 'file'));
$filename = sys_get_temp_dir() . '/' . $this->lang->line("sales_" . $type) . '-' . str_replace('/', '-', $number) . '.pdf';
@@ -902,7 +923,9 @@ class Sales extends Secure_Controller
private function _load_sale_data($sale_id)
{
$this->sale_lib->clear_all();
$this->sale_lib->reset_cash_flags();
$cash_rounding = $this->sale_lib->reset_cash_rounding();
$data['cash_rounding'] = $cash_rounding;
$sale_info = $this->Sale->get_info($sale_id)->row_array();
$this->sale_lib->copy_entire_sale($sale_id);
$data = array();
@@ -910,7 +933,7 @@ class Sales extends Secure_Controller
$data['payments'] = $this->sale_lib->get_payments();
$data['selected_payment_type'] = $this->sale_lib->get_payment_type();
$tax_details = $this->tax_lib->get_taxes($data['cart']);
$tax_details = $this->tax_lib->get_taxes($data['cart'], $sale_id);
$data['taxes'] = $this->Sale->get_sales_taxes($sale_id);
$data['discount'] = $this->sale_lib->get_discount();
$data['transaction_time'] = to_datetime(strtotime($sale_info['sale_time']));
@@ -921,18 +944,18 @@ class Sales extends Secure_Controller
// Returns 'subtotal', 'total', 'cash_total', 'payment_total', 'amount_due', 'cash_amount_due', 'payments_cover_total'
$totals = $this->sale_lib->get_totals($tax_details[0]);
$this->session->set_userdata('cash_adjustment_amount', $totals['cash_adjustment_amount']);
$data['subtotal'] = $totals['subtotal'];
$data['total'] = $totals['total'];
$data['payments_total'] = $totals['payment_total'];
$data['payments_cover_total'] = $totals['payments_cover_total'];
$data['cash_rounding'] = $this->session->userdata('cash_rounding');
$data['cash_mode'] = $this->session->userdata('cash_mode');
$data['prediscount_subtotal'] = $totals['prediscount_subtotal'];
$data['cash_total'] = $totals['cash_total'];
$data['non_cash_total'] = $totals['total'];
$data['cash_amount_due'] = $totals['cash_amount_due'];
$data['non_cash_amount_due'] = $totals['amount_due'];
if($this->session->userdata('cash_rounding'))
if($data['cash_mode'] && ($data['selected_payment_type'] === $this->lang->line('sales_cash') || $data['payments_total'] > 0))
{
$data['total'] = $totals['cash_total'];
$data['amount_due'] = $totals['cash_amount_due'];
@@ -942,6 +965,7 @@ class Sales extends Secure_Controller
$data['total'] = $totals['total'];
$data['amount_due'] = $totals['amount_due'];
}
$data['amount_change'] = $data['amount_due'] * -1;
$employee_info = $this->Employee->get_info($this->sale_lib->get_employee());
@@ -999,8 +1023,8 @@ class Sales extends Secure_Controller
}
$invoice_type = $this->config->item('invoice_type');
$data['invoice_view'] = $invoice_type;
return $this->xss_clean($data);
}
@@ -1012,6 +1036,11 @@ class Sales extends Secure_Controller
$sale_id = -1;
$this->session->set_userdata('sale_id', -1);
}
$cash_rounding = $this->sale_lib->reset_cash_rounding();
// cash_rounding indicates only that the site is configured for cash rounding
$data['cash_rounding'] = $cash_rounding;
$data['cart'] = $this->sale_lib->get_cart();
$customer_info = $this->_load_customer_data($this->sale_lib->get_customer(), $data, TRUE);
@@ -1026,22 +1055,29 @@ class Sales extends Secure_Controller
$data['taxes'] = $tax_details[0];
$data['discount'] = $this->sale_lib->get_discount();
$data['payments'] = $this->sale_lib->get_payments();
// Returns 'subtotal', 'total', 'cash_total', 'payment_total', 'amount_due', 'cash_amount_due', 'payments_cover_total'
$totals = $this->sale_lib->get_totals($tax_details[0]);
$data['item_count'] = $totals['item_count'];
$data['total_units'] = $totals['total_units'];
$data['subtotal'] = $totals['subtotal'];
$data['total'] = $totals['total'];
$data['payments_total'] = $totals['payment_total'];
$data['payments_cover_total'] = $totals['payments_cover_total'];
$data['cash_rounding'] = $this->session->userdata('cash_rounding');
// cash_mode indicates whether this sale is going to be processed using cash_rounding
$cash_mode = $this->session->userdata('cash_mode');
$data['cash_mode'] = $cash_mode;
$data['prediscount_subtotal'] = $totals['prediscount_subtotal'];
$data['cash_total'] = $totals['cash_total'];
$data['non_cash_total'] = $totals['total'];
$data['cash_amount_due'] = $totals['cash_amount_due'];
$data['non_cash_amount_due'] = $totals['amount_due'];
if($data['cash_rounding'])
$data['selected_payment_type'] = $this->sale_lib->get_payment_type();
if($data['cash_mode'] && ($data['selected_payment_type'] == $this->lang->line('sales_cash') || $data['payments_total'] > 0))
{
$data['total'] = $totals['cash_total'];
$data['amount_due'] = $totals['cash_amount_due'];
@@ -1051,11 +1087,12 @@ class Sales extends Secure_Controller
$data['total'] = $totals['total'];
$data['amount_due'] = $totals['amount_due'];
}
$data['amount_change'] = $data['amount_due'] * -1;
$data['comment'] = $this->sale_lib->get_comment();
$data['email_receipt'] = $this->sale_lib->is_email_receipt();
$data['selected_payment_type'] = $this->sale_lib->get_payment_type();
if($customer_info && $this->config->item('customer_reward_enable') == TRUE)
{
$data['payment_options'] = $this->Sale->get_payment_options(TRUE, TRUE);
@@ -1142,8 +1179,8 @@ class Sales extends Secure_Controller
$data['selected_employee_id'] = $sale_info['employee_id'];
$data['selected_employee_name'] = $this->xss_clean($employee_info->first_name . ' ' . $employee_info->last_name);
$data['sale_info'] = $sale_info;
$balance_due = $sale_info['amount_due'] - $sale_info['amount_tendered'];
if($balance_due < 0)
$balance_due = round($sale_info['amount_due'] - $sale_info['amount_tendered'] + $sale_info['cash_refund'], totals_decimals(), PHP_ROUND_HALF_UP);
if(!$this->sale_lib->reset_cash_rounding() && $balance_due < 0)
{
$balance_due = 0;
}
@@ -1164,12 +1201,19 @@ class Sales extends Secure_Controller
$data['balance_due'] = $balance_due != 0;
// don't allow gift card to be a payment option in a sale transaction edit because it's a complex change
$new_payment_options = $this->xss_clean($this->Sale->get_payment_options(FALSE));
$data['payment_options'] = $new_payment_options;
$payment_options = $this->Sale->get_payment_options(FALSE);
if($this->sale_lib->reset_cash_rounding())
{
$payment_options[$this->lang->line('sales_cash_adjustment')] = $this->lang->line('sales_cash_adjustment');
}
$data['payment_options'] = $this->xss_clean($payment_options);
// Set up a slightly modified list of payment types for new payment entry
$new_payment_options["--"] = $this->lang->line('common_none_selected_text');
$data['new_payment_options'] = $new_payment_options;
$payment_options["--"] = $this->lang->line('common_none_selected_text');
$data['new_payment_options'] = $this->xss_clean($payment_options);
$this->load->view('sales/form', $data);
}
@@ -1235,9 +1279,10 @@ class Sales extends Secure_Controller
$employee_id = $this->Employee->get_logged_in_employee_info()->person_id;
$date_formatter = date_create_from_format($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'), $newdate);
$sale_time = $date_formatter->format('Y-m-d H:i:s');
$sale_data = array(
'sale_time' => $date_formatter->format('Y-m-d H:i:s'),
'sale_time' => $sale_time,
'customer_id' => $this->input->post('customer_id') != '' ? $this->input->post('customer_id') : NULL,
'employee_id' => $this->input->post('employee_id') != '' ? $this->input->post('employee_id') : NULL,
'comment' => $this->input->post('comment'),
@@ -1246,6 +1291,7 @@ class Sales extends Secure_Controller
// In order to maintain tradition the only element that can change on prior payments is the payment type
$payments = array();
$amount_tendered = 0;
$number_of_payments = $this->input->post('number_of_payments');
for($i = 0; $i < $number_of_payments; ++$i)
{
@@ -1255,6 +1301,20 @@ class Sales extends Secure_Controller
$refund_type = $this->input->post('refund_type_' . $i);
$cash_refund = $this->input->post('refund_amount_' . $i);
if($payment_type == $this->lang->line('sales_cash_adjustment'))
{
$cash_adjustment = CASH_ADJUSTMENT_TRUE;
}
else
{
$cash_adjustment = CASH_ADJUSTMENT_FALSE;
}
if(!$cash_adjustment)
{
$amount_tendered += $payment_amount - $cash_refund;
}
// if the refund is not cash ...
if(empty(strstr($refund_type, $this->lang->line('sales_cash'))))
{
@@ -1268,11 +1328,8 @@ class Sales extends Secure_Controller
}
}
// To maintain tradition we will also delete any payments with 0 amount
// assuming these are mistakes introduced at sale time.
// This is now done in models/Sale.php
$payments[] = array('payment_id' => $payment_id, 'payment_type' => $payment_type, 'payment_amount' => $payment_amount, 'cash_refund' => $cash_refund, 'employee_id' => $employee_id);
$payments[] = array('payment_id' => $payment_id, 'payment_type' => $payment_type, 'payment_amount' => $payment_amount, 'cash_refund' => $cash_refund, 'cash_adjustment' => $cash_adjustment, 'employee_id' => $employee_id);
}
$payment_id = -1;
@@ -1281,9 +1338,27 @@ class Sales extends Secure_Controller
if($payment_type != PAYMENT_TYPE_UNASSIGNED && $payment_amount <> 0)
{
$payments[] = array('payment_id' => $payment_id, 'payment_type' => $payment_type, 'payment_amount' => $payment_amount, 'cash_refund' => 0.00, 'employee_id' => $employee_id);
$cash_refund = 0;
if($payment_type == $this->lang->line('sales_cash_adjustment'))
{
$cash_adjustment = CASH_ADJUSTMENT_TRUE;
}
else
{
$cash_adjustment = CASH_ADJUSTMENT_FALSE;
$amount_tendered += $payment_amount;
$sale_info = $this->Sale->get_info($sale_id)->row_array();
if($amount_tendered > $sale_info['amount_due'])
{
$cash_refund = $amount_tendered - $sale_info['amount_due'];
}
}
$payments[] = array('payment_id' => $payment_id, 'payment_type' => $payment_type, 'payment_amount' => $payment_amount, 'cash_refund' => $cash_refund, 'cash_adjustment' => $cash_adjustment, 'employee_id' => $employee_id);
}
$this->Inventory->update('POS '.$sale_id, ['trans_date' => $sale_time]);
if($this->Sale->update($sale_id, $sale_data, $payments))
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('sales_successfully_updated'), 'id' => $sale_id));
@@ -1375,6 +1450,7 @@ class Sales extends Secure_Controller
}
$this->sale_lib->clear_all();
$this->_reload($data);
}

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);

View File

@@ -25,7 +25,7 @@ class Tax_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 ? '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);

View File

@@ -29,7 +29,7 @@ class Tax_codes 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_code->search($search, $limit, $offset, $sort, $order);

View File

@@ -25,7 +25,7 @@ class Tax_jurisdictions 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 ? '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);

View File

@@ -57,7 +57,7 @@ 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_rates = $this->Tax->search($search, $limit, $offset, $sort, $order);

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

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

View File

@@ -1,30 +1,20 @@
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
* Generates the header content for the import_items.csv file
*
* @return string Comma separated headers for the CSV file
*/
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 .= 'Barcode,"Item Name",Category,"Supplier ID","Cost Price","Unit Price","Tax 1 Name","Tax 1 Percent","Tax 2 Name","Tax 2 Percent","Reorder Level",Description,"Allow Alt Description","Item has Serial Number",item_image,HSN';
$csv_headers = 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;
}
/**
* Generates a list of stock location names as a string
*
* @return string Comma-separated list of stock location names
*/
function generate_stock_location_headers($locations)
{
$location_headers = "";
$location_headers = '';
foreach($locations as $location_id => $location_name)
foreach($locations as $location_name)
{
$location_headers .= ',"location_' . $location_name . '"';
}
@@ -32,14 +22,9 @@ function generate_stock_location_headers($locations)
return $location_headers;
}
/**
* Generates a list of attribute names as a string
*
* @return string Comma-separated list of attribute names
*/
function generate_attribute_headers($attribute_names)
{
$attribute_headers = "";
$attribute_headers = '';
unset($attribute_names[-1]);
foreach($attribute_names as $attribute_name)
@@ -50,61 +35,59 @@ function generate_attribute_headers($attribute_names)
return $attribute_headers;
}
/**
* Read the contents of a given CSV formatted file into a two-dimensional array
*
* @param string $file_name Name of the file to read.
* @return boolean|array[][] two-dimensional array with the file contents or FALSE on failure.
*/
function get_csv_file($file_name)
{
ini_set("auto_detect_line_endings", true);
//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);
}
while (($data = fgetcsv($csv_file)) !== FALSE)
$headers = fgetcsv($csv_file);
while(($row = fgetcsv($csv_file)) !== FALSE)
{
//Skip empty lines
if(array(null) !== $data)
//Skip empty lines
if($row !== array(null))
{
$line_array[] = $data;
$csv_rows[] = array_combine($headers, $CI->security->xss_clean($row));
}
}
}
else
{
return FALSE;
fclose($csv_file);
}
return $line_array;
return $csv_rows;
}
/**
* Checks the first three characters of a file for the Byte-Order Mark then returns the file position to the first character.
*
* @param object $file_handle File handle to check
* @return bool Returns TRUE if the BOM exists and FALSE otherwise.
*/
function bom_exists(&$file_handle)
{
$str = fread($file_handle,3);
$result = FALSE;
$candidate = fread($file_handle, 3);
rewind($file_handle);
$bom = pack("CCC", 0xef, 0xbb, 0xbf);
$bom = pack('CCC', 0xef, 0xbb, 0xbf);
if (0 === strncmp($str, $bom, 3))
if (0 === strncmp($candidate, $bom, 3))
{
return TRUE;
}
else
{
return FALSE;
$result = TRUE;
}
return $result;
}
?>

View File

@@ -4,6 +4,8 @@ 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));
@@ -57,6 +59,7 @@ function get_languages()
'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)',
@@ -85,9 +88,11 @@ function get_languages()
'ro:romanian' => 'Romanian',
'ru:russian' => 'Russian',
'sv:swedish' => 'Swedish',
'ta:tamil' => 'Tamil',
'th:thai' => 'Thai',
'tl-PH:talong' => 'Tagalog (Philippines)',
'tr:turkish' => 'Turkish',
'uk-UA:ukrainian' => 'Ukrainian',
'ur-PK:urdu' => 'Urdu (Islamic Republic of Pakistan)',
'vi:vietnamese' => 'Vietnamese',
'zh-Hans:simplified-chinese' => 'Chinese Simplified Script',
@@ -244,7 +249,7 @@ function get_payment_options()
$config = get_instance()->config;
$lang = get_instance()->lang;
$payments = array();
$payments = [];
if($config->item('payment_options_order') == 'debitcreditcash')
@@ -383,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
@@ -394,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, '');
@@ -418,23 +424,30 @@ function parse_tax($number)
function parse_decimals($number, $decimals = NULL)
{
// ignore empty strings and return
if(empty($number))
{
return $number;
}
if ($number > MAX_PRECISION)
{
return FALSE;
}
if ($number > 1.e14)
{
return FALSE;
}
$config = get_instance()->config;
if($decimals == NULL)
if($decimals === NULL)
{
$decimals = $config->item('currency_decimals');
}
$fmt = new \NumberFormatter($config->item('number_locale'), \NumberFormatter::DECIMAL);
$fmt->setAttribute(\NumberFormatter::FRACTION_DIGITS, $decimals);
if(empty($config->item('thousands_separator')))
{
$fmt->setAttribute(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL, '');
@@ -586,12 +599,13 @@ function dateformat_bootstrap($php_format)
function valid_date($date)
{
return preg_match('/^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9])(?:( [0-2][0-9]):([0-5][0-9]):([0-5][0-9]))?$/', $date);
$config = get_instance()->Appconfig;
return (DateTime::createFromFormat($config->get('dateformat'), $date));
}
function valid_decimal($decimal)
{
return preg_match('/^(\d*\.)?\d+$/', $decimal);
return (preg_match('/^(\d*\.)?\d+$/', $decimal) === 1);
}
?>

View File

@@ -147,27 +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;
@@ -503,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),
@@ -523,6 +517,7 @@ function get_item_kit_data_row($item_kit)
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),

View File

@@ -26,8 +26,8 @@ function load_config()
$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());
_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'))
@@ -46,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

@@ -7,7 +7,7 @@ $lang["common_close"] = "إغلاق";
$lang["common_comments"] = "تعليقات";
$lang["common_common"] = "عام";
$lang["common_confirm_search"] = "لقد قمت اختيار أكتر من سجل، سوف تفقد هذه الاختيارات عند إرسال البحث، موافق؟";
$lang["common_copryrights"] = "";
$lang["common_copyrights"] = "© 2010 - %1";
$lang["common_correct_errors"] = "يرجى تصحيح الأخطاء المحددة قبل الحفظ";
$lang["common_country"] = "البلد";
$lang["common_date"] = "التاريخ";
@@ -27,6 +27,8 @@ $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"] = "تغيير";
@@ -40,9 +42,12 @@ $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"] = "أو";
@@ -59,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"] = "مجموع الصرف";
@@ -67,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

@@ -127,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"] = "مفتاح السرية ريكابتشا هو حقل مطلوب";
@@ -146,6 +147,7 @@ $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"] = "الفاتورة";
@@ -175,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 مفتاح";
@@ -289,6 +292,7 @@ $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"] = "";

View File

@@ -14,6 +14,9 @@ $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

@@ -6,5 +6,8 @@ $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

@@ -10,6 +10,7 @@ $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"] = "الباقى";
@@ -25,6 +26,7 @@ $lang["sales_confirm_delete"] = "هل تريد حذف عمليات البيع ا
$lang["sales_confirm_restore"] = "هل انت متاكد من استعادة عملية البيع؟";
$lang["sales_credit"] = "بطاقة إئتمانية";
$lang["sales_credit_deposit"] = "ايداع ببطاقة ائتمان";
$lang["sales_credit_filter"] = "";
$lang["sales_customer"] = "العميل";
$lang["sales_customer_address"] = "العنوان";
$lang["sales_customer_discount"] = "الخصم";

View File

@@ -7,7 +7,7 @@ $lang["common_close"] = "إغلاق";
$lang["common_comments"] = "تعليقات";
$lang["common_common"] = "عام";
$lang["common_confirm_search"] = "لقد قمت اختيار أكتر من سجل، سوف تفقد هذه الاختيارات عند إرسال البحث، موافق؟";
$lang["common_copryrights"] = "";
$lang["common_copyrights"] = "© 2010 - %1";
$lang["common_correct_errors"] = "يرجى تصحيح الأخطاء المحددة قبل الحفظ";
$lang["common_country"] = "البلد";
$lang["common_date"] = "التاريخ";
@@ -27,6 +27,8 @@ $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"] = "تغيير";
@@ -40,9 +42,12 @@ $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"] = "أو";
@@ -59,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"] = "مجموع الصرف";
@@ -67,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

@@ -127,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"] = "مفتاح السرية ريكابتشا هو حقل مطلوب";
@@ -146,6 +147,7 @@ $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"] = "الفاتورة";
@@ -175,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 مفتاح";
@@ -289,6 +292,7 @@ $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"] = "";

View File

@@ -14,6 +14,9 @@ $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

@@ -6,5 +6,8 @@ $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

@@ -10,10 +10,11 @@ $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_change_price"] = "تغيير سعر البيع";
$lang["sales_check"] = "شيك";
$lang["sales_check_balance"] = "تذكير بموعد الشيك";
$lang["sales_check_filter"] = "شيك";
@@ -25,12 +26,13 @@ $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_mailchimp_status"] = "حالة بريد ميل تشيمب";
$lang["sales_customer_optional"] = "(مطلوب للدفعات المستحقة)";
$lang["sales_customer_required"] = "(اجباري)";
$lang["sales_customer_total"] = "المجموع";
@@ -52,26 +54,26 @@ $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_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_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_group_by_category"] = "ترتيب حسب الفئة";
$lang["sales_group_by_type"] = "ترتيب حسب النوع";
$lang["sales_hsn"] = "رمز نظام منسق";
$lang["sales_id"] = "كود عملية البيع";
$lang["sales_id"] = "رقم عملية البيع";
$lang["sales_include_prices"] = "يشمل الاسعار؟";
$lang["sales_invoice"] = "فاتورة";
$lang["sales_invoice_confirm"] = "هذه الفاتورة سوف ترسل إلى";
$lang["sales_invoice_enable"] = "إنشاء فاتورة";
$lang["sales_invoice_enable"] = "رقم فاتورة";
$lang["sales_invoice_filter"] = "الفواتير";
$lang["sales_invoice_no_email"] = "هذا العميل ليس لدية بريد الكترونى صالح.";
$lang["sales_invoice_number"] = "فاتورة رقم #";
@@ -84,32 +86,32 @@ $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_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_must_enter_numeric_giftcard"] = "رمز بطاقة الهدية يجب أن يكتون ارقام فقط.";
$lang["sales_new_customer"] = "عميل جديد";
$lang["sales_new_item"] = "صنف جديد";
$lang["sales_new_item"] = "مادة جديدة";
$lang["sales_no_description"] = "بدون وصف";
$lang["sales_no_filter"] = "الكل";
$lang["sales_no_items_in_cart"] = "لايوجد أصناف فى السلة.";
$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_not_authorized"] = "ليس لديك صلاحية.";
$lang["sales_one_or_multiple"] = "عمليات بيع";
$lang["sales_payment"] = "طريقة الدفع";
$lang["sales_payment_amount"] = "المبلغ";
$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_reorder_level"] = "تحذير: الكمية أقل من الحد المطلوب لهذه المادة.";
$lang["sales_quantity_less_than_zero"] = "تحذير! الكمية المطلوبة غير كافية، بإمكانك إتمام عملية البيع ، لكن تحقق من مخزنك.";
$lang["sales_quantity_of_items"] = "عدد ال 1% من الاصناف";
$lang["sales_quote"] = "عرض اسعار";
@@ -122,10 +124,10 @@ $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_refund"] = "نوع/سبب الاسترجاع";
$lang["sales_register"] = "سجل المبيعات";
$lang["sales_remove_customer"] = "حذف عميل";
$lang["sales_return"] = "إرتجاع";
$lang["sales_return"] = "إسترجاع";
$lang["sales_rewards"] = "نقاط المكافئة";
$lang["sales_rewards_balance"] = "رصيد نقاط المكافئة";
$lang["sales_sale"] = "بيع";
@@ -144,7 +146,7 @@ $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_stock_location"] = "موقع التخزين";
$lang["sales_sub_total"] = "المجموع الفرعي";
$lang["sales_successfully_deleted"] = "لقد تم الحذف بنجاح";
$lang["sales_successfully_restored"] = "لقد تمت عملية الاستعادة بنجاح";

View File

@@ -1,6 +1,6 @@
<?php
$lang["tables_all"] = "Hamısı";
$lang["tables_all"] = "hamısı";
$lang["tables_columns"] = "Sütunlar";
$lang["tables_hide_show_pagination"] = "Gizlət/Göstər səhifənin nömrələnməsin";
$lang["tables_loading"] = "Lütfən gözləyin, səhifə yüklənir...";

View File

@@ -7,30 +7,32 @@ $lang["common_close"] = "Bağlı";
$lang["common_comments"] = "Rəylər";
$lang["common_common"] = "ortaq";
$lang["common_confirm_search"] = "Bir və ya bir neçə sətir seçdiniz, bunlar axtarışınızdan sonra artıq seçilməyəcək. Bu axtarışı göndərmək istədiyinizə əminsinizmi?";
$lang["common_copryrights"] = "";
$lang["common_copyrights"] = "© 2010 - %1";
$lang["common_correct_errors"] = "Xahiş edirik təsdiqlə-dən əvvəl səhvləri düzəldin";
$lang["common_country"] = "Ölkə";
$lang["common_date"] = "Təqvim";
$lang["common_delete"] = "Sil";
$lang["common_det"] = "detallar";
$lang["common_download_import_template"] = "İdxal CSV Şablonunu Yüklə (CSV)";
$lang["common_download_import_template"] = "CSV Şablonunu (CSV) daxil edin";
$lang["common_edit"] = "Redaktə Et";
$lang["common_email"] = "E-poçt";
$lang["common_email_invalid_format"] = "E-poçt ünvanı düzgün formatda deyil.";
$lang["common_export_csv"] = "CSV Export";
$lang["common_export_csv_no"] = "Xeyir";
$lang["common_export_csv_no"] = "Xeyr";
$lang["common_export_csv_yes"] = "Bəli";
$lang["common_fields_required_message"] = "Qırmızı sahələr tələb olunur";
$lang["common_first_name"] = "Ad";
$lang["common_first_name_required"] = "Ad yazmağınız tələb olunur.";
$lang["common_first_page"] = "Birinci";
$lang["common_gender"] = "Cins";
$lang["common_gender_female"] = "F";
$lang["common_gender_male"] = "M";
$lang["common_gender_female"] = "Q";
$lang["common_gender_male"] = "K";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "ID";
$lang["common_import"] = "İmport";
$lang["common_import"] = "Daxil et";
$lang["common_import_change_file"] = "Dəyiş";
$lang["common_import_csv"] = "CSV Import";
$lang["common_import_csv"] = "CSV daxil et";
$lang["common_import_full_path"] = "CSV faylına tam yol tələb olunur";
$lang["common_import_remove_file"] = "Sil(Gizlət)";
$lang["common_import_select_file"] = "Fayl Seç";
@@ -40,12 +42,15 @@ $lang["common_last_name_required"] = "Soyad tələb olunur.";
$lang["common_last_page"] = "Son";
$lang["common_learn_about_project"] = "Proyekt haqqında ən son məlumatı öyrənmək.";
$lang["common_list_of"] = "Siyahısı";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "Çıxış";
$lang["common_migration_needed"] = "Girişdən sonra bazaya %1 köçməsi başlayacaq.";
$lang["common_new"] = "Yenisi";
$lang["common_no"] = "";
$lang["common_no_persons_to_display"] = "Göstərmək üçün heç kim yoxdur.";
$lang["common_none_selected_text"] = "Seçin";
$lang["common_or"] = "Ya";
$lang["common_or"] = "ya";
$lang["common_phone_number"] = "Telefon";
$lang["common_phone_number_required"] = "çıxarış ";
$lang["common_please_visit_my"] = "Xahiş edirik ziyarət edin";
@@ -59,13 +64,16 @@ $lang["common_return_policy"] = "Qaytarma siyasəti";
$lang["common_search"] = "Axtarış";
$lang["common_search_options"] = "Axtarış variantları";
$lang["common_searched_for"] = "Axtarıldı";
$lang["common_state"] = "Ştat";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "Əyalət";
$lang["common_submit"] = "Təsdiqlə";
$lang["common_total_spent"] = "mi Xərclənmiş";
$lang["common_total_spent"] = "Ümumi xərc";
$lang["common_unknown"] = "Naməlum";
$lang["common_view_recent_sales"] = "Son Satışları Göstər";
$lang["common_website"] = "Veb Sayt";
$lang["common_welcome"] = "Xoş Gəlmisiniz";
$lang["common_welcome_message"] = "ALSAN-a Xoş gəlmisiniz, başlamaq üçün bir modula basın.";
$lang["common_yes"] = "";
$lang["common_you_are_using_ospos"] = "ıq Layihədə Satışın Avtomatlaşdırma Nöqtəsi versiya";
$lang["common_zip"] = "Poçt Kodu";

View File

@@ -1,8 +1,8 @@
<?php
$lang["config_address"] = "Şirkət Adresi";
$lang["config_address_required"] = "Şirkətin adı olan boşluq sahəsi doldurulmalıdı.";
$lang["config_all_set"] = "All file permissions are set correctly!";
$lang["config_address_required"] = "Şirkətin adı olan boşluq sahəsi doldurulmalıdı.";
$lang["config_all_set"] = "Bütün fayl icazələri düzgün qurulub!";
$lang["config_allow_duplicate_barcodes"] = "Dublikat Barkodlarına icazə verin";
$lang["config_apostrophe"] = "Apastrof";
$lang["config_backup_button"] = "Ehtiyyat Köçürmə";
@@ -34,7 +34,7 @@ $lang["config_bottom"] = "Aşağı";
$lang["config_cash_decimals"] = "Nəğd Pul Cədvəlləri";
$lang["config_cash_decimals_tooltip"] = "Nağd pul və Məzənnədəki ədədlər eyni olarsa, onda nağd pul yuvarlaqlaşması baş verməz.";
$lang["config_cash_rounding"] = "Nəğd Pul Yuvarlaqlaşdırılması";
$lang["config_category_dropdown"] = "";
$lang["config_category_dropdown"] = "Bölməni açılan siyahida göstər";
$lang["config_center"] = "Mərkəz";
$lang["config_comma"] = "vergül";
$lang["config_company"] = "Şirkətin Adı";
@@ -113,7 +113,7 @@ $lang["config_email_smtp_user"] = "SMTP İstifadəçi Adı";
$lang["config_enforce_privacy"] = "Məxvilik Təmin edin";
$lang["config_enforce_privacy_tooltip"] = "Müştərilərin gizliliyini qorumaq, silmək halında məlumat şifrələməsini təmin etmək";
$lang["config_fax"] = "Faks";
$lang["config_file_perm"] = "There are problems with file permissions please fix and reload this page.";
$lang["config_file_perm"] = "Fayl icazəsində problem var, lütfən bu səhvləri düzəldib səhifəni yeniləyin.";
$lang["config_financial_year"] = "Maliyyə İli Başlancığı";
$lang["config_financial_year_apr"] = "1 Aprel";
$lang["config_financial_year_aug"] = "1 Avgust";
@@ -127,6 +127,7 @@ $lang["config_financial_year_may"] = "1 May";
$lang["config_financial_year_nov"] = "1 Noyabr";
$lang["config_financial_year_oct"] = "1 Oktyabr";
$lang["config_financial_year_sep"] = "1 Sentyabr";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "Giriş Səyfəsi reCAPTCHA";
$lang["config_gcaptcha_secret_key"] = "reCAPTCHA Gizli Açarı";
$lang["config_gcaptcha_secret_key_required"] = "reCAPTCHA Gizli Açar olan sahə boş qala bilməz";
@@ -138,14 +139,15 @@ $lang["config_general_configuration"] = "Ümumi Konfiqurasiya";
$lang["config_giftcard_number"] = "Hədiyyə Kartı Nömrəsi";
$lang["config_giftcard_random"] = "Təsadüfən Yarat";
$lang["config_giftcard_series"] = "Bölümlərə görə Yarat";
$lang["config_image_allowed_file_types"] = "";
$lang["config_image_max_height_tooltip"] = "";
$lang["config_image_max_size_tooltip"] = "";
$lang["config_image_max_width_tooltip"] = "";
$lang["config_image_restrictions"] = "";
$lang["config_image_allowed_file_types"] = "İcazəli fayl növləri";
$lang["config_image_max_height_tooltip"] = "Şəkillərinin maksimum hündürlüyü pikselə(px).";
$lang["config_image_max_size_tooltip"] = "Şəkil yükləmələrinin maksimum fayl ölçüsü kilobaytla(kb).";
$lang["config_image_max_width_tooltip"] = "Şəkillərinin maksimum enliliyi pikselə(px).";
$lang["config_image_restrictions"] = "Şəkil yükləmə məhdudiyyətləri";
$lang["config_include_hsn"] = "HSN Kodlarına dəstək verin";
$lang["config_info"] = "Məlumat";
$lang["config_info_configuration"] = "Dükan İnformasiyası";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "İnteqrasiya";
$lang["config_integrations_configuration"] = "Üçüncü tərəf inteqrasiya";
$lang["config_invoice"] = "Faktura";
@@ -155,8 +157,8 @@ $lang["config_invoice_email_message"] = "Dil";
$lang["config_invoice_enable"] = "Fakturanı Aktivləşdir";
$lang["config_invoice_printer"] = "Faktura Printeri";
$lang["config_invoice_type"] = "Qaimənin Tipi";
$lang["config_is_readable"] = "";
$lang["config_is_writable"] = "is writable, but the permissions are higher than 750.";
$lang["config_is_readable"] = "oxunur, lakin icazələr 660-dan yüksəkdir.";
$lang["config_is_writable"] = "yazılabilir, lakin icazələr 750-dən yüksəkdir.";
$lang["config_jsprintsetup_required"] = "Xəbərdarlıq: Bu funksiya yalnız FireFox jsPrintSetup addon quraşdırıldığı halda işləyəcəkdir. Yadda saxlanılsın?";
$lang["config_language"] = "Dil";
$lang["config_last_used_invoice_number"] = "Son istifadə edilmiş Faktura nömrəsi";
@@ -175,6 +177,7 @@ $lang["config_locale_info"] = "Lokallaşdırma Konfiqurasiya Məlumatı";
$lang["config_location"] = "Fond";
$lang["config_location_configuration"] = "Anbar Yerləri";
$lang["config_location_info"] = "Yer Konfiqurasiya Məlumatı";
$lang["config_login_form"] = "";
$lang["config_logout"] = "Çıxışdan əvvəl məlumatlari ehtiyat bazasına köçürmək istəyirsinizmi? Çıxış üçün Bekap və ya [Ləğv] üçün [OK]' düyməsinə basın.";
$lang["config_mailchimp"] = "Mailçimp";
$lang["config_mailchimp_api_key"] = "Mailchimp API Açarı";
@@ -194,7 +197,7 @@ $lang["config_msg_src_required"] = "SMS-API Göndərici ID tələb olunan sahəd
$lang["config_msg_uid"] = "SMS-API İstifadəçi adı";
$lang["config_msg_uid_required"] = "SMS-API İstifadəçi adı tələb olunan sahədir";
$lang["config_multi_pack_enabled"] = "Hər bir elementə birdən çox paket";
$lang["config_no_risk"] = "No security/vulnerability risks.";
$lang["config_no_risk"] = "Təhlükəsizlik / zəiflik riski yoxdur.";
$lang["config_none"] = "Heç biri";
$lang["config_notify_alignment"] = "Bildiriş Pəncərə Mövqeyi";
$lang["config_number_format"] = "Nömrə Formatı";
@@ -202,7 +205,7 @@ $lang["config_number_locale"] = "Yerləşdirmə";
$lang["config_number_locale_invalid"] = "Kompaniyanın tel.";
$lang["config_number_locale_required"] = "Şirkət telefonu olan sahə boş qalma bilməz.";
$lang["config_number_locale_tooltip"] = "Bu link vasitəsilə uyğun bir yer tapın.";
$lang["config_os_timezone"] = "";
$lang["config_os_timezone"] = "OSPOS Saat qurşağı:";
$lang["config_ospos_info"] = "OSPOS quraşdırılması məlumatı";
$lang["config_payment_options_order"] = "Sifariş üçün Ödəmə Şərtləri";
$lang["config_perm_risk"] = "Permissions higher than 750 leaves this software at risk.";
@@ -244,14 +247,14 @@ $lang["config_receipt_short"] = "Qısa";
$lang["config_receipt_show_company_name"] = "Şirkətin Adını Göstər";
$lang["config_receipt_show_description"] = "Təsviri Göstər";
$lang["config_receipt_show_serialnumber"] = "Serial nömrəsi göstər";
$lang["config_receipt_show_tax_ind"] = "";
$lang["config_receipt_show_tax_ind"] = "Vergi göstəricisinə bax";
$lang["config_receipt_show_taxes"] = "Vergini Göstər";
$lang["config_receipt_show_total_discount"] = "Ümumi Endirim göstər";
$lang["config_receipt_template"] = "Geri qaytarmaq mütləq məsafə lazımdır";
$lang["config_receiving_calculate_average_price"] = "Otalama Qiyməti Hesabla (Alınan)";
$lang["config_recv_invoice_format"] = "Alınan Fatura Formatı";
$lang["config_register_mode_default"] = "Standart Qeydiyyat Rejimi";
$lang["config_report_an_issue"] = "";
$lang["config_report_an_issue"] = "Bir problemi bildirişi";
$lang["config_return_policy_required"] = "Geri Qaytarma Qanunu olan sahə zəruri sahədir.";
$lang["config_reward"] = "Mükafat";
$lang["config_reward_configuration"] = "Konfiqurasiya ugurla saxlanıldı";
@@ -260,20 +263,20 @@ $lang["config_sales_invoice_format"] = "Satış Fatura Formatı";
$lang["config_sales_quote_format"] = "Satış Sitat Formati";
$lang["config_saved_successfully"] = "Konfiqurasiya uğurla saxlanıldı.";
$lang["config_saved_unsuccessfully"] = "Konfiqurasiyanı saxlamq mümkün olmadı.";
$lang["config_security_issue"] = "Security Vulnerability Warning";
$lang["config_security_issue"] = "Təhlükəsizlik açığı xəbərdarlığı";
$lang["config_server_notice"] = "Xahiş edirik, hesabatın təqdim edilməsi üçün aşağıdakı məlumatı istifadə edin.";
$lang["config_show_office_group"] = "Ofis İşarəsini Göstər";
$lang["config_statistics"] = "Statistikalari Göndər";
$lang["config_statistics_tooltip"] = "İnkişaf və xüsusiyyət təkmilləşdirilməsi məqsədi ilə statistika göndərin.";
$lang["config_stock_location"] = "Ehtiyyat Yeri";
$lang["config_stock_location_duplicate"] = "Ehtiyyat Olan Yer Unikal Olmalıdir.";
$lang["config_stock_location_invalid_chars"] = "Ehtiyyat Yeri '_' təşkil etməməlidir.";
$lang["config_stock_location_invalid_chars"] = "Ehtiyyat Yeri təşkil etməməlidir '_'.";
$lang["config_stock_location_required"] = "Ehtiyyat Yeri Olan Sahə boş qala bilməz.";
$lang["config_suggestions_first_column"] = "Sütun 1";
$lang["config_suggestions_layout"] = "Təklif Çərçivələrini Axtar";
$lang["config_suggestions_second_column"] = "Sütun 2";
$lang["config_suggestions_third_column"] = "Sütun 3";
$lang["config_system_conf"] = "Setup & Conf";
$lang["config_system_conf"] = "Quraşdırma və Conf";
$lang["config_system_info"] = "System Info";
$lang["config_table"] = "Masa";
$lang["config_table_configuration"] = "Cədvəl Konfiqurasiyası";
@@ -289,12 +292,13 @@ $lang["config_tax_decimals"] = "Vaxt";
$lang["config_tax_id"] = "Vergi İD";
$lang["config_tax_included"] = "Vergi Daxildir";
$lang["config_theme"] = "Vebsayt";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "Minliklər Ayıran";
$lang["config_timezone"] = "Vaxt Zonası";
$lang["config_timezone_error"] = "";
$lang["config_timezone_error"] = "OSPOS Saat qurşağı Yerli saat qurşağınızdan fərqlidir.";
$lang["config_top"] = "Yuxarı";
$lang["config_use_destination_based_tax"] = "Təyinatından vergi istifadə edin";
$lang["config_user_timezone"] = "";
$lang["config_user_timezone"] = "Yerli saat qurşağı:";
$lang["config_website"] = "Vebsayt";
$lang["config_work_order_enable"] = "İş Sifariş Dəstəyi";
$lang["config_work_order_format"] = "İş Sifarş Farmatı";

View File

@@ -1,6 +1,6 @@
<?php
$lang["customers_account_number"] = "hesab nömrəsi";
$lang["customers_account_number"] = "Hesab nömrəsi";
$lang["customers_account_number_duplicate"] = "Hesab nömrəsi artıq verilənlər bazasında mövcuddur.";
$lang["customers_available_points"] = "Mövcud ballar";
$lang["customers_average"] = "Orta xərclənən";

View File

@@ -1,7 +1,7 @@
<?php
$lang["employees_basic_information"] = "Məlumat";
$lang["employees_cannot_be_deleted"] = "Seçilmiş əməkdaş (lar) silinə bilməz, bir və ya birdən çox əməkdaş satışlar edib, əks halda siz öz heasabınızı silməyə çalışırsiz.";
$lang["employees_cannot_be_deleted"] = "Seçilmiş əməkdaş (lar) silinə bilməz, bir və ya birdən çox əməkdaş satışlar edib, əks halda siz öz heasabınızı silməyə çalışırsınız.";
$lang["employees_change_password"] = "Şifrəni Dəyiş";
$lang["employees_confirm_delete"] = "Siz əminsiniz ki seçilmiş əməkdaşları silmək istəyirsiniz?";
$lang["employees_confirm_restore"] = "Seçilmiş əməkdaşı (lar) yenidən bərpa etməyinizə əminsinizmi?";

View File

@@ -1,19 +1,19 @@
<?php
$lang["category_name_required"] = "Xərc Kategoriyası adı tələb olunur";
$lang["expenses_categories_add_item"] = "Kategoriya əlavə et";
$lang["expenses_categories_cannot_be_deleted"] = "Kategoriya Xərcləri silinmədi";
$lang["category_name_required"] = "Xərc kateqoriyası adı tələb olunur";
$lang["expenses_categories_add_item"] = "Kateqoriya əlavə et";
$lang["expenses_categories_cannot_be_deleted"] = "Kateqoriya xərcləri silinmədi";
$lang["expenses_categories_category_id"] = "Kimlik";
$lang["expenses_categories_confirm_delete"] = "Seçilmiş xərc kateqoriyasını silmək istədiyinizə əminsinizmi?";
$lang["expenses_categories_confirm_restore"] = "Seçilmiş xərc bölməsini bərpa etmək istədiyinizə əminsiniz?";
$lang["expenses_categories_description"] = "Kateqoriya təsviri";
$lang["expenses_categories_error_adding_updating"] = "Əlavədə Səhv/Xərcl Kategotiyasi yenilənir";
$lang["expenses_categories_info"] = "Xərc Kategoriyası Məlumatı";
$lang["expenses_categories_name"] = "Kategoriya adı";
$lang["expenses_categories_new"] = "Yeni Kategoriya";
$lang["expenses_categories_no_expenses_categories_to_display"] = "Heç bir kategoriya göstərilmir";
$lang["expenses_categories_none_selected"] = "Siz heç bir Xərc Kategoriyasi Seçməmisiniz";
$lang["expenses_categories_one_or_multiple"] = "Xərc Kategoriyası";
$lang["expenses_categories_info"] = "Xərc kateqoriyası haqqında məlumat";
$lang["expenses_categories_name"] = "Kateqoriya adı";
$lang["expenses_categories_new"] = "Yeni Kateqoriya";
$lang["expenses_categories_no_expenses_categories_to_display"] = "Heç bir kateqoriya göstərilmir";
$lang["expenses_categories_none_selected"] = "Siz heç bir Xərc Kateqoriyası seçməmisiniz";
$lang["expenses_categories_one_or_multiple"] = "Xərc Kateqoriyası";
$lang["expenses_categories_quantity"] = "Miqdarı";
$lang["expenses_categories_successful_adding"] = "Xərc Kategoriyası uğurla əlavə edildi";
$lang["expenses_categories_successful_deleted"] = "Xərc Kategoriyası uğurla silindi";

View File

@@ -3,7 +3,7 @@
$lang["item_kits_add_item"] = "Mal Əlavə Etmək";
$lang["item_kits_all"] = "Hamısı";
$lang["item_kits_cannot_be_deleted"] = "Dəst Mal (lar) silinə bilməz.";
$lang["item_kits_confirm_delete"] = "Siz əminsiniz ki seçilmiş mallar dəstlərini silmək istəyirsiniz?";
$lang["item_kits_confirm_delete"] = "Seçilmiş mallar dəstlərini silmək istəyinizə əminsiniz?";
$lang["item_kits_confirm_restore"] = "Seçilən Mal dəstini (lər) bərpa etmək istədiyinizə əminsiniz?";
$lang["item_kits_description"] = "Mal Dəstinin Təsviri";
$lang["item_kits_discount"] = "Endirim";
@@ -14,6 +14,9 @@ $lang["item_kits_error_adding_updating"] = "Malı yeniləməkdə və ya əlavə
$lang["item_kits_find_kit_item"] = "Mal Dəsti";
$lang["item_kits_info"] = "Mal Dəsti haqqında informasiya";
$lang["item_kits_item"] = "Maddə";
$lang["item_kits_item_kit_number"] = "Barkod";
$lang["item_kits_item_kit_number_duplicate"] = "";
$lang["item_kits_item_number"] = "";
$lang["item_kits_items"] = "Mallar";
$lang["item_kits_kit"] = "Dəstin İd";
$lang["item_kits_kit_and_components"] = "Dəst və Komponentlər";

View File

@@ -18,7 +18,7 @@ $lang["items_confirm_bulk_edit"] = "Siz əminsinizmi ki işarələnmiş butun ma
$lang["items_confirm_bulk_edit_wipe_taxes"] = "Bütün Vergi haqqında olan Məlumatların yerləri dəyişəcək.";
$lang["items_confirm_delete"] = "siz əminsiniz ki seçilmiş malları silmək istəyirsiniz?";
$lang["items_confirm_restore"] = "Seçilmiş element (lər) bərpa etmək istədiyinizə əminsinizmi?";
$lang["items_cost_price"] = "topdan satış qiyməti";
$lang["items_cost_price"] = "Alış qiyməti";
$lang["items_cost_price_number"] = "Topdan satış rəqəmlə olmalıdır.";
$lang["items_cost_price_required"] = "Topdan satiış - yazılması vacib sahə.";
$lang["items_count"] = "inventorun yenilənməsi";

View File

@@ -6,5 +6,8 @@ $lang["login_invalid_gcaptcha"] = "Yanlış, Mən robot deyiləm.";
$lang["login_invalid_installation"] = "Quraşdırma düzgün deyil, php.ini faylını yoxlayın.";
$lang["login_invalid_username_and_password"] = "Ad və ya şifrə səhvdir.";
$lang["login_login"] = "Giriş";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "Şifrə";
$lang["login_username"] = "İstifadəçi";
$lang["login_welcome"] = "";

View File

@@ -8,7 +8,7 @@ $lang["module_cashups_desc"] = "Əlavə et, Yenilə, Sil və Qazancları axtar."
$lang["module_config"] = "Konfiqursiya";
$lang["module_config_desc"] = "ALSAN Konfiqurasiyasını dəyiş.";
$lang["module_customers"] = "Müştərilər";
$lang["module_customers_desc"] = "Əlavə et,Yenilə,Sil və Müştəriləri axtar.";
$lang["module_customers_desc"] = "Əlavə et, Yenilə, Sil və Müştəriləri axtar.";
$lang["module_employees"] = "Əməkdaşlar";
$lang["module_employees_desc"] = "Əlavə et,Yenilə,Sil və Əməkdaşları axtar.";
$lang["module_expenses"] = "Xərclər";
@@ -35,7 +35,7 @@ $lang["module_reports"] = "Hesabatlar";
$lang["module_reports_desc"] = "Hesabatları Yarat və Göstər.";
$lang["module_sales"] = "Satışlar";
$lang["module_sales_desc"] = "Satış prosesləri və Qaytarılanlar.";
$lang["module_suppliers"] = "Təchizatcılar";
$lang["module_suppliers_desc"] = "Əlavə et,Yenilə,Sil və Təchizatçıları Axtar.";
$lang["module_suppliers"] = "Təchizatçılar";
$lang["module_suppliers_desc"] = "Əlavə et, Yenilə, Sil və Təchizatçıları Axtar.";
$lang["module_taxes"] = "Vergi";
$lang["module_taxes_desc"] = "Satış üçün Vergiləri Ayarla.";

View File

@@ -18,7 +18,7 @@ $lang["receivings_edit_sale"] = "malın redaktəsi səhvdir";
$lang["receivings_employee"] = "Əməkdaş";
$lang["receivings_error_editing_item"] = "Mal redaktə edilmədi.";
$lang["receivings_error_requisition"] = "İnventarın yerdəyişməsi və ya yerinə qoyulması mümkün olmadı.";
$lang["receivings_find_or_scan_item"] = "alış id";
$lang["receivings_find_or_scan_item"] = "Məhsulu tap və ya skan et";
$lang["receivings_find_or_scan_item_or_receipt"] = "malın adı";
$lang["receivings_id"] = "alınma rejimi";
$lang["receivings_item_name"] = "yeni tədarükçü";

View File

@@ -3,7 +3,7 @@
$lang["reports_all"] = "hamısı";
$lang["reports_authority"] = "Səlahiyyət";
$lang["reports_canceled"] = "Ləğv Edilmiş";
$lang["reports_categories"] = "kateqoriyalar";
$lang["reports_categories"] = "Kateqoriyalar";
$lang["reports_categories_summary_report"] = "komentariyalar";
$lang["reports_category"] = "Kategoriya";
$lang["reports_code_canceled"] = "CNL";
@@ -22,7 +22,7 @@ $lang["reports_cost"] = "hesab";
$lang["reports_cost_price"] = "müştəri";
$lang["reports_count"] = "müştərilər";
$lang["reports_customer"] = "müştərilərin hesabatı";
$lang["reports_customers"] = "gun";
$lang["reports_customers"] = "Müştərilər";
$lang["reports_customers_summary_report"] = "gün";
$lang["reports_date"] = "təsvir";
$lang["reports_date_range"] = "detallı göndərilən hesabatlar";
@@ -39,7 +39,7 @@ $lang["reports_discounts"] = "Endirimlər";
$lang["reports_discounts_summary_report"] = "əməkdaş";
$lang["reports_earned"] = "əməkdaş";
$lang["reports_employee"] = "əməkdaşın hesabatı";
$lang["reports_employees"] = "qrafik hesabatlar";
$lang["reports_employees"] = "İşçilər";
$lang["reports_employees_summary_report"] = "İşçilərin Xülasəsi Hesabatı";
$lang["reports_expenses"] = "Xərclər";
$lang["reports_expenses_amount"] = "Məbləğ";

View File

@@ -5,15 +5,16 @@ $lang["rewards_package"] = "Mükafatlar";
$lang["rewards_remaining_balance"] = "Mükafatın yerdə qalan bal dəyəri ";
$lang["sales_account_number"] = "Hesab #";
$lang["sales_add_payment"] = "Ödəniş Əlavə Etmək";
$lang["sales_amount_due"] = "Məbləğə Görə";
$lang["sales_amount_tendered"] = "Təklif olunan Məbləğ";
$lang["sales_amount_due"] = "Qalıq";
$lang["sales_amount_tendered"] = "Ödənilən məbləğ";
$lang["sales_authorized_signature"] = "Səlahiyyətli İmza";
$lang["sales_cancel_sale"] = "İmtina";
$lang["sales_cash"] = "Nəğd pullar";
$lang["sales_cash_adjustment"] = "";
$lang["sales_cash_deposit"] = "Nağd depozit";
$lang["sales_cash_filter"] = "Nəğd Pul";
$lang["sales_change_due"] = "Dəyişikliyə görə";
$lang["sales_change_price"] = "";
$lang["sales_change_due"] = "Qalıq";
$lang["sales_change_price"] = "Satış qiymətini dəyiş";
$lang["sales_check"] = "Çek";
$lang["sales_check_balance"] = "Çek Xatırladan";
$lang["sales_check_filter"] = "Çek";
@@ -25,13 +26,14 @@ $lang["sales_confirm_delete"] = "Siz əminsiniz ki seçilmiş satışı (lar) si
$lang["sales_confirm_restore"] = "Seçilmiş Satışları bərpa etmək istədiyinizə əminsinizmi?";
$lang["sales_credit"] = "Kredit kartı";
$lang["sales_credit_deposit"] = "Kredit Depoziti";
$lang["sales_credit_filter"] = "";
$lang["sales_customer"] = "Ad";
$lang["sales_customer_address"] = "Ünvan";
$lang["sales_customer_discount"] = "Endirim";
$lang["sales_customer_email"] = "E-poçt";
$lang["sales_customer_location"] = "Yer";
$lang["sales_customer_mailchimp_status"] = "Mailchimp Statusu";
$lang["sales_customer_optional"] = "(Ödənişlər üçün tələb olunur)";
$lang["sales_customer_optional"] = "(Ödənişlər tələb olunur)";
$lang["sales_customer_required"] = "(Vacib)";
$lang["sales_customer_total"] = "Cəmi";
$lang["sales_date"] = "Satış Tarixi";
@@ -89,7 +91,7 @@ $lang["sales_item_name"] = "Malın adı";
$lang["sales_item_number"] = "Mal #";
$lang["sales_item_out_of_stock"] = "Mal satılıb.";
$lang["sales_mode"] = "Qeydiyyat Rejimi";
$lang["sales_must_enter_numeric"] = "Təklif olunan məbləğ rəqəm ilə olmalıdır.";
$lang["sales_must_enter_numeric"] = "Ödəniş məbləği rəqəm ilə olmalıdır.";
$lang["sales_must_enter_numeric_giftcard"] = "Hədiyyə Kartın nömrəsi rəqəmlə olmalıdır.";
$lang["sales_new_customer"] = "Yeni Müştəri";
$lang["sales_new_item"] = "Yeni Mal";
@@ -98,7 +100,7 @@ $lang["sales_no_filter"] = "Hamısı";
$lang["sales_no_items_in_cart"] = "Səbətdə heç bir mal yoxdur.";
$lang["sales_no_sales_to_display"] = "Satış yoxdur.";
$lang["sales_none_selected"] = "Silmək üçün hər hansı bir Satış (lar) seçmədiniz.";
$lang["sales_nontaxed_ind"] = "";
$lang["sales_nontaxed_ind"] = " . ";
$lang["sales_not_authorized"] = "Bu hərəkət səlahiyyətli deyil.";
$lang["sales_one_or_multiple"] = "Satış (lar)";
$lang["sales_payment"] = "Ödəniş Növü";
@@ -122,7 +124,7 @@ $lang["sales_receipt_no_email"] = "Bu müştərinin etibarlı bir e-poçt ünvan
$lang["sales_receipt_number"] = "Satış №";
$lang["sales_receipt_sent"] = "Çek Göndərildi";
$lang["sales_receipt_unsent"] = "Çek göndərilə Bilmədi";
$lang["sales_refund"] = "";
$lang["sales_refund"] = "Qaytarılma növü";
$lang["sales_register"] = "jurnal satışı";
$lang["sales_remove_customer"] = "müştəriləri silmək";
$lang["sales_return"] = "qaytarmaq";
@@ -133,7 +135,7 @@ $lang["sales_sale_by_invoice"] = "Faktura ilə Satış";
$lang["sales_sale_for_customer"] = "Müştəri:";
$lang["sales_sale_time"] = "Vaxt";
$lang["sales_sales_tax"] = "Satış Vergisi";
$lang["sales_select_customer"] = "müştəri secmək";
$lang["sales_select_customer"] = "Müştəri seçmək";
$lang["sales_send_invoice"] = "Faktura Göndər";
$lang["sales_send_quote"] = "Sitat Göndər";
$lang["sales_send_receipt"] = "Çek Göndər";
@@ -160,7 +162,7 @@ $lang["sales_tax"] = "vergi";
$lang["sales_tax_id"] = "Vergi İD";
$lang["sales_tax_invoice"] = "Vergi Qaimə";
$lang["sales_tax_percent"] = "vergi %";
$lang["sales_taxed_ind"] = "";
$lang["sales_taxed_ind"] = "T";
$lang["sales_total"] = "cəm";
$lang["sales_total_tax_exclusive"] = "Vergi Xaric";
$lang["sales_transaction_failed"] = "Satış əməliyyatı uğursuz oldu.";

View File

@@ -4,7 +4,7 @@ $lang["suppliers_account_number"] = "Hesab №";
$lang["suppliers_agency_name"] = "Agentliyin Adı";
$lang["suppliers_cannot_be_deleted"] = "Seçilmiş Təchizatçı (lar) silinə bilmədi. Bir və ya birdən çox satışlar var.";
$lang["suppliers_category"] = "Bölmə";
$lang["suppliers_company_name"] = "Kompaniyanın Adı";
$lang["suppliers_company_name"] = "Firma Adı";
$lang["suppliers_company_name_required"] = "Şirkətin Adı - yazılması vacib sahə.";
$lang["suppliers_confirm_delete"] = "Siz əminsiniz ki seçilmiş təchizatçı (lar) ı silmək istəyirsiniz?";
$lang["suppliers_confirm_restore"] = "Seçilmiş təchizatçı (lar) bərpa etmək istədiyinizə əminsinizmi?";
@@ -12,7 +12,7 @@ $lang["suppliers_cost"] = "Maliyə Təchizatçı";
$lang["suppliers_error_adding_updating"] = "Təchizatçı əlavə et / yenilə XƏTA.";
$lang["suppliers_goods"] = "Məhsullar Təchizatçı";
$lang["suppliers_new"] = "Yeni Təchizatçı";
$lang["suppliers_none_selected"] = "Siz silmək üçün heç bir təchizatçı (lar) seçmədiniz.";
$lang["suppliers_none_selected"] = "Siz silmək üçün heç bir təchizatçı seçmədiniz.";
$lang["suppliers_one_or_multiple"] = "Təchizatçı (lar)";
$lang["suppliers_successful_adding"] = "Siz Təchizatçını uğurla əlavə etdiniz";
$lang["suppliers_successful_deleted"] = "Siz uğurla sildiniz";

View File

@@ -54,7 +54,7 @@ $lang["taxes_tax_codes_saved_successfully"] = "Vergi kodu dəyişikliyi saxlanı
$lang["taxes_tax_codes_saved_unsuccessfully"] = "Vergi kodu dəyişikliyi saxlanılmadı";
$lang["taxes_tax_excluded"] = "Vergi istisna olunur";
$lang["taxes_tax_group"] = "Vergi qurupu";
$lang["taxes_tax_group_not_unique"] = "";
$lang["taxes_tax_group_not_unique"] = "Vergi Qrupu %1 unikal deyil";
$lang["taxes_tax_group_sequence"] = "Vergi Qrupu Sırası";
$lang["taxes_tax_included"] = "Vergi daxildir";
$lang["taxes_tax_jurisdiction"] = "Vergi Yurisdiksiya";

View File

@@ -1,6 +1,6 @@
<?php
$lang["tables_all"] = "Всичко";
$lang["tables_all"] = "Всичко";
$lang["tables_columns"] = "Колони";
$lang["tables_hide_show_pagination"] = "Скриване / Показване на страници";
$lang["tables_loading"] = "Зареждане, моля изчакайте...";

View File

@@ -7,8 +7,8 @@ $lang["common_close"] = "Затвори";
$lang["common_comments"] = "Коментари";
$lang["common_common"] = "Често срещани";
$lang["common_confirm_search"] = "Избрали сте един или повече редове, след търсене няма да бъдат избрани. Наистина ли искате да подадете това търсене?";
$lang["common_copryrights"] = "";
$lang["common_correct_errors"] = "";
$lang["common_copyrights"] = "© 2010 - %1";
$lang["common_correct_errors"] = "Моля, коригирайте установените грешки преди записване";
$lang["common_country"] = "Държава";
$lang["common_date"] = "Дата";
$lang["common_delete"] = "Изтриване";
@@ -27,6 +27,8 @@ $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"] = "Промяна";
@@ -40,11 +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"] = "";
$lang["common_migration_needed"] = "Мигриране на база данни ще започне след влизане.";
$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"] = "";
@@ -59,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"] = "Общо изразходвани";
@@ -67,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 Оf Sale версия";
$lang["common_zip"] = "Пощенски код";

View File

@@ -127,6 +127,7 @@ $lang["config_financial_year_may"] = "1st of May";
$lang["config_financial_year_nov"] = "1st of November";
$lang["config_financial_year_oct"] = "1st of October";
$lang["config_financial_year_sep"] = "1st of September";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "Login Page reCAPTCHA";
$lang["config_gcaptcha_secret_key"] = "reCAPTCHA Secret Key";
$lang["config_gcaptcha_secret_key_required"] = "reCAPTCHA Secret Key is a required field";
@@ -146,6 +147,7 @@ $lang["config_image_restrictions"] = "";
$lang["config_include_hsn"] = "";
$lang["config_info"] = "Information";
$lang["config_info_configuration"] = "Store Information";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "";
$lang["config_integrations_configuration"] = "";
$lang["config_invoice"] = "Invoice";
@@ -175,6 +177,7 @@ $lang["config_locale_info"] = "Localization Configuration Information";
$lang["config_location"] = "Stock";
$lang["config_location_configuration"] = "Stock Locations";
$lang["config_location_info"] = "Location Configuration Information";
$lang["config_login_form"] = "";
$lang["config_logout"] = "Do you want to make a backup before logging out? Click [OK] to backup or [Cancel] to logout.";
$lang["config_mailchimp"] = "Mailchimp";
$lang["config_mailchimp_api_key"] = "Mailchimp API Key";
@@ -289,6 +292,7 @@ $lang["config_tax_decimals"] = "Tax Decimals";
$lang["config_tax_id"] = "";
$lang["config_tax_included"] = "Tax Included";
$lang["config_theme"] = "Theme";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "Thousands Separator";
$lang["config_timezone"] = "Timezone";
$lang["config_timezone_error"] = "";

View File

@@ -19,9 +19,9 @@ $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_discount_fixed"] = "Фиксирана отстъпка";
$lang["customers_discount_percent"] = "Процент отстъпка";
$lang["customers_discount_type"] = "Вид отстъпка";
$lang["customers_email_duplicate"] = "Имейл адресът вече е в базата данни.";
$lang["customers_employee"] = "Служител";
$lang["customers_error_adding_updating"] = "Добавянето или актуализирането на клиента е неуспешно.";
@@ -47,7 +47,7 @@ $lang["customers_successful_adding"] = "Успешно добавихте кли
$lang["customers_successful_deleted"] = "Вие успешно сте изтрили";
$lang["customers_successful_updating"] = "Актуализирахте успешно клиента си";
$lang["customers_tax_code"] = "Данъчен код";
$lang["customers_tax_id"] = "";
$lang["customers_tax_id"] = "Данъчен номер";
$lang["customers_taxable"] = "Облагаем";
$lang["customers_total"] = "Общо изразходвани средства";
$lang["customers_update"] = "Актуализиране на клиента";

View File

@@ -14,6 +14,9 @@ $lang["item_kits_error_adding_updating"] = "Item Kit add or update failed.";
$lang["item_kits_find_kit_item"] = "Kit Item";
$lang["item_kits_info"] = "Item Kit Info";
$lang["item_kits_item"] = "Item";
$lang["item_kits_item_kit_number"] = "";
$lang["item_kits_item_kit_number_duplicate"] = "";
$lang["item_kits_item_number"] = "";
$lang["item_kits_items"] = "Items";
$lang["item_kits_kit"] = "Kit ID";
$lang["item_kits_kit_and_components"] = "Kit and Components";

View File

@@ -1,10 +1,13 @@
<?php
$lang["login_gcaptcha"] = "I'm not a robot.";
$lang["login_gcaptcha"] = "Не съм робот.";
$lang["login_go"] = "Go";
$lang["login_invalid_gcaptcha"] = "Invalid I'm not a robot.";
$lang["login_invalid_installation"] = "The installation is not correct, check your php.ini file.";
$lang["login_invalid_username_and_password"] = "Invalid Username or Password.";
$lang["login_login"] = "Login";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "Password";
$lang["login_username"] = "Username";
$lang["login_welcome"] = "";

View File

@@ -10,10 +10,11 @@ $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_change_price"] = "Промяна на продажната цена";
$lang["sales_check"] = "Проверка";
$lang["sales_check_balance"] = "Проверете остатъка";
$lang["sales_check_filter"] = "Проверка";
@@ -25,6 +26,7 @@ $lang["sales_confirm_delete"] = "Наистина ли искате да изт
$lang["sales_confirm_restore"] = "Наистина ли искате да възстановите избраната Продажба (и)?";
$lang["sales_credit"] = "Кредитна карта";
$lang["sales_credit_deposit"] = "Кредитен депозит";
$lang["sales_credit_filter"] = "Кредитна карта";
$lang["sales_customer"] = "Име";
$lang["sales_customer_address"] = "Адрес";
$lang["sales_customer_discount"] = "Намаление";
@@ -66,7 +68,7 @@ $lang["sales_giftcard_balance"] = "Gift Card Баланс";
$lang["sales_giftcard_number"] = "Gift Card Номер";
$lang["sales_group_by_category"] = "Групирайте по категория";
$lang["sales_group_by_type"] = "Групиране по тип";
$lang["sales_hsn"] = "";
$lang["sales_hsn"] = "HSN";
$lang["sales_id"] = "Номер на продажба";
$lang["sales_include_prices"] = "Включва цени?";
$lang["sales_invoice"] = "Фактура";
@@ -79,9 +81,9 @@ $lang["sales_invoice_number_duplicate"] = "Номерът на фактурит
$lang["sales_invoice_sent"] = "Фактура, изпратена до";
$lang["sales_invoice_total"] = "Фактура общо";
$lang["sales_invoice_type_custom_invoice"] = "Ръчна фактура";
$lang["sales_invoice_type_custom_tax_invoice"] = "";
$lang["sales_invoice_type_custom_tax_invoice"] = "Фактура по избор(custom_tax_invoice.php)";
$lang["sales_invoice_type_invoice"] = "Фактура";
$lang["sales_invoice_type_tax_invoice"] = "";
$lang["sales_invoice_type_tax_invoice"] = "Данъчна фактура (tax_invoice.php)";
$lang["sales_invoice_unsent"] = "Фактурата не можа да бъде изпратена до";
$lang["sales_invoice_update"] = "Преизчисляване";
$lang["sales_item_insufficient_of_stock"] = "Елементът има недостатъчен запас.";
@@ -98,7 +100,7 @@ $lang["sales_no_filter"] = "Всичко";
$lang["sales_no_items_in_cart"] = "В количката няма продукти.";
$lang["sales_no_sales_to_display"] = "Няма продажби за показване .";
$lang["sales_none_selected"] = "Не сте избрали каквито и да е Продажби за изтриване.";
$lang["sales_nontaxed_ind"] = "";
$lang["sales_nontaxed_ind"] = " sales nontaxed ind ";
$lang["sales_not_authorized"] = "Това действие не е разрешено.";
$lang["sales_one_or_multiple"] = "Продажба (и)";
$lang["sales_payment"] = "Вид плащане";
@@ -122,7 +124,7 @@ $lang["sales_receipt_no_email"] = "Този клиент няма валиден
$lang["sales_receipt_number"] = "Продажба #";
$lang["sales_receipt_sent"] = "Разписката е изпратена до";
$lang["sales_receipt_unsent"] = "Разписката не бе изпратена до";
$lang["sales_refund"] = "";
$lang["sales_refund"] = "Вид на въстановяването";
$lang["sales_register"] = "Регистър на продажбите";
$lang["sales_remove_customer"] = "Премахване на клиент";
$lang["sales_return"] = "Връщане";
@@ -157,8 +159,8 @@ $lang["sales_suspended_sales"] = "Преустановен";
$lang["sales_table"] = "Маса";
$lang["sales_takings"] = "Ежедневни продажби";
$lang["sales_tax"] = "Данък";
$lang["sales_tax_id"] = "";
$lang["sales_tax_invoice"] = "";
$lang["sales_tax_id"] = "Данъчен номер";
$lang["sales_tax_invoice"] = "Данъчна фактура";
$lang["sales_tax_percent"] = "Данък %";
$lang["sales_taxed_ind"] = "";
$lang["sales_total"] = "Обща сума";

View File

@@ -0,0 +1,31 @@
<?php
$lang["attributes_attribute_value_invalid_chars"] = "Vrijednost atributa ne može sadržavati ':' ili '|'";
$lang["attributes_confirm_delete"] = "Da li ste sigurni da želite da izbrišete izabrani atribut?";
$lang["attributes_confirm_restore"] = "Da li ste sigurni da želite vratiti izabrane atribute?";
$lang["attributes_definition_cannot_be_deleted"] = "Nije moguće izbrisati izabrane atribut";
$lang["attributes_definition_error_adding_updating"] = "Atribut %1 nije moguće dodati ili ažurirati. Molimo provjerite dnevnik grešaka.";
$lang["attributes_definition_flags"] = "Vidljivost atributa";
$lang["attributes_definition_group"] = "Grupa";
$lang["attributes_definition_id"] = "Id";
$lang["attributes_definition_name"] = "Dodaj Atribut";
$lang["attributes_definition_name_required"] = "Ime atributa je obavezno polje";
$lang["attributes_definition_one_or_multiple"] = "atributi";
$lang["attributes_definition_successful_adding"] = "Uspješno ste dodali stavku";
$lang["attributes_definition_successful_deleted"] = "Uspješno ste izbrisali";
$lang["attributes_definition_successful_updating"] = "Uspješno ste ažurirali atribute";
$lang["attributes_definition_type"] = "Tip atributa";
$lang["attributes_definition_type_required"] = "Tip atributa je obavezno polje";
$lang["attributes_definition_unit"] = "Jedinice mjere";
$lang["attributes_definition_values"] = "Vrijednosti atributa";
$lang["attributes_new"] = "Novi atribut";
$lang["attributes_no_attributes_to_display"] = "Nema stavki za prikaz";
$lang["attributes_receipt_visibility"] = "Račun";
$lang["attributes_show_in_items"] = "Prikaži u stavkama";
$lang["attributes_show_in_items_visibility"] = "Stavka";
$lang["attributes_show_in_receipt"] = "Prikaži u računu";
$lang["attributes_show_in_receivings"] = "Prikaži na ulazima";
$lang["attributes_show_in_receivings_visibility"] = "Ulazi";
$lang["attributes_show_in_sales"] = "Prikaži u prodaji";
$lang["attributes_show_in_sales_visibility"] = "Prodaja";
$lang["attributes_update"] = "Ažuriraj atribut";

View File

@@ -0,0 +1,10 @@
<?php
$lang["tables_all"] = "Sve";
$lang["tables_columns"] = "Kolone";
$lang["tables_hide_show_pagination"] = "Sakrij / prikaži paginaciju";
$lang["tables_loading"] = "Učitavanje sačekajte...";
$lang["tables_page_from_to"] = "Prikazivanje {0} do {1} od {2} redova";
$lang["tables_refresh"] = "Osvježi";
$lang["tables_rows_per_page"] = "{0} redova po stranici";
$lang["tables_toggle"] = "Promijeni prikaz";

View File

@@ -0,0 +1,38 @@
<?php
$lang["cashups_amount"] = "Iznos";
$lang["cashups_amount_number"] = "Iznos mora biti numerički";
$lang["cashups_amount_required"] = "Iznos je obavezno polje.";
$lang["cashups_cannot_be_deleted"] = "Isplata se ne može izbrisati";
$lang["cashups_close_date"] = "Datum zatvaranja";
$lang["cashups_close_employee"] = "Zatvorio";
$lang["cashups_closed_amount_card"] = "Kartica";
$lang["cashups_closed_amount_cash"] = "Zatvorena gotovina";
$lang["cashups_closed_amount_check"] = "Ček";
$lang["cashups_closed_amount_due"] = "Taksa";
$lang["cashups_closed_amount_total"] = "Ukupno";
$lang["cashups_closed_date"] = "Datum zatvaranja";
$lang["cashups_confirm_delete"] = "Da li ste sigurni da želite izbrisati izabrane isplate?";
$lang["cashups_confirm_restore"] = "Da li ste sigurni da želite vratiti izabranu isplatu?";
$lang["cashups_date_number"] = "Datum mora biti numerički";
$lang["cashups_date_required"] = "Datum je obavezno polje";
$lang["cashups_description"] = "Opis";
$lang["cashups_error_adding_updating"] = "Greška prilikom dodavanja/ažuriranja isplate";
$lang["cashups_id"] = "Id";
$lang["cashups_info"] = "Informacije o isplatama";
$lang["cashups_is_deleted"] = "Izbrisano";
$lang["cashups_new"] = "Nova isplata";
$lang["cashups_no_cashups_to_display"] = "Nema isplate za prikaz";
$lang["cashups_none_selected"] = "Niste odabrali nijednu isplatu";
$lang["cashups_note"] = "Napomene";
$lang["cashups_one_or_multiple"] = "Gotovina";
$lang["cashups_open_amount_cash"] = "Otvorena gotovina";
$lang["cashups_open_date"] = "Datum otvaranja";
$lang["cashups_open_employee"] = "Otvorio";
$lang["cashups_opened_date"] = "Datum otvaranja";
$lang["cashups_successful_adding"] = "Isplata je uspješno dodata";
$lang["cashups_successful_deleted"] = "Isplata je uspješno izbrisata";
$lang["cashups_successful_updating"] = "Isplata je uspješno ažurirana";
$lang["cashups_total"] = "Ukupno";
$lang["cashups_transfer_amount_cash"] = "Ulaz/izlaz gotovine";
$lang["cashups_update"] = "Ažuriranje isplate";

View File

@@ -0,0 +1,79 @@
<?php
$lang["common_address_1"] = "Adresa 1";
$lang["common_address_2"] = "Adresa 2";
$lang["common_city"] = "Grad";
$lang["common_close"] = "Zatvori";
$lang["common_comments"] = "Komentari";
$lang["common_common"] = "Zajedničko";
$lang["common_confirm_search"] = "Odabrali ste jedan ili više redova koji neće biti izabrani nakon pretrage. Da li ste sigurni da želite pretragu?";
$lang["common_copyrights"] = "© 2010 - %1";
$lang["common_correct_errors"] = "Ispravite identifikovane pogreške prije snimanja";
$lang["common_country"] = "Država";
$lang["common_date"] = "Datum";
$lang["common_delete"] = "Izbriši";
$lang["common_det"] = "Detalji";
$lang["common_download_import_template"] = "Preuzmite šablon za uvoz(CSV)";
$lang["common_edit"] = "Uredi";
$lang["common_email"] = "E-mail";
$lang["common_email_invalid_format"] = "Neispravan e-mail";
$lang["common_export_csv"] = "CSV izvoz";
$lang["common_export_csv_no"] = "Ne";
$lang["common_export_csv_yes"] = "Da";
$lang["common_fields_required_message"] = "Polja u crvenom su obavezna";
$lang["common_first_name"] = "Ime";
$lang["common_first_name_required"] = "Ime je obavezno";
$lang["common_first_page"] = "Prva";
$lang["common_gender"] = "Pol";
$lang["common_gender_female"] = "Ž";
$lang["common_gender_male"] = "M";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "Id";
$lang["common_import"] = "Uvoz";
$lang["common_import_change_file"] = "Promjena";
$lang["common_import_csv"] = "CSV uvoz";
$lang["common_import_full_path"] = "Potrebna je potpuna putanja do CSV datoteke";
$lang["common_import_remove_file"] = "Ukloni";
$lang["common_import_select_file"] = "Odaberite datoteku";
$lang["common_inv"] = "Zaliha";
$lang["common_last_name"] = "Prezime";
$lang["common_last_name_required"] = "Prezime je obavezno";
$lang["common_last_page"] = "Poslednja";
$lang["common_learn_about_project"] = "da biste saznali najnovije informacije o projektu";
$lang["common_list_of"] = "Lista";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "Odjava";
$lang["common_migration_needed"] = "Premještanje baze podataka na %1 počinje nakon prijave.";
$lang["common_new"] = "Novi";
$lang["common_no"] = "";
$lang["common_no_persons_to_display"] = "Nema dobavljača za prikaz";
$lang["common_none_selected_text"] = "[Izaberi]";
$lang["common_or"] = "Ili";
$lang["common_phone_number"] = "Broj telefona";
$lang["common_phone_number_required"] = "Broj telefona je obavezan";
$lang["common_please_visit_my"] = "Posjetite";
$lang["common_powered_by"] = "Podržano od";
$lang["common_price"] = "Cijena";
$lang["common_print"] = "Štampanje";
$lang["common_remove"] = "Ukloni";
$lang["common_required"] = "Obavezan";
$lang["common_restore"] = "Vrati";
$lang["common_return_policy"] = "Povratna informacija";
$lang["common_search"] = "Traži";
$lang["common_search_options"] = "Opcije pretrage";
$lang["common_searched_for"] = "Traženo";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "Entitet";
$lang["common_submit"] = "Prihvati";
$lang["common_total_spent"] = "Ukupno potrošeno";
$lang["common_unknown"] = "Nepoznato";
$lang["common_view_recent_sales"] = "Pogledaj nedavne prodaje";
$lang["common_website"] = "opensourcepos.org";
$lang["common_welcome"] = "Dobrodošli";
$lang["common_welcome_message"] = "Dobrodošli u OSPOS, kliknite na modul ispod da biste započeli";
$lang["common_yes"] = "";
$lang["common_you_are_using_ospos"] = "";
$lang["common_zip"] = "Poštanski broj";

View File

@@ -0,0 +1,304 @@
<?php
$lang["config_address"] = "Adresa kompanije";
$lang["config_address_required"] = "Adresa kompanije je obavezno polje";
$lang["config_all_set"] = "Sva su dopuštenja datoteka ispravno postavljena!";
$lang["config_allow_duplicate_barcodes"] = "Dozvoli dvostruke barkodove";
$lang["config_apostrophe"] = "apostrof";
$lang["config_backup_button"] = "Rezervna kopija";
$lang["config_backup_database"] = "Rezervna kopija baze podataka";
$lang["config_barcode"] = "Barkod";
$lang["config_barcode_company"] = "Kompanija";
$lang["config_barcode_configuration"] = "Konfiguracija barkoda";
$lang["config_barcode_content"] = "Sadržaj barkoda";
$lang["config_barcode_first_row"] = "1 red";
$lang["config_barcode_font"] = "Font";
$lang["config_barcode_formats"] = "Unesi format";
$lang["config_barcode_generate_if_empty"] = "Generiši ako je prazno";
$lang["config_barcode_height"] = "Visina(px)";
$lang["config_barcode_id"] = "Id / naziv artikla";
$lang["config_barcode_info"] = "Informacije o konfiguraciji barkoda";
$lang["config_barcode_layout"] = "Izgled barkoda";
$lang["config_barcode_name"] = "Naziv";
$lang["config_barcode_number"] = "Barkod";
$lang["config_barcode_number_in_row"] = "Broj u redu";
$lang["config_barcode_page_cellspacing"] = "Prikaži razmak ćelija na stranici";
$lang["config_barcode_page_width"] = "Širina stranice";
$lang["config_barcode_price"] = "Cijena";
$lang["config_barcode_second_row"] = "2.red";
$lang["config_barcode_third_row"] = "3.red";
$lang["config_barcode_tooltip"] = "Upozorenje: Ovo svokstvo može dovesti do uvoza ili kreiranja duplih stavki. Nemojte koristiti ako to ne želite";
$lang["config_barcode_type"] = "Tip barkoda";
$lang["config_barcode_width"] = "Širina (px)";
$lang["config_bottom"] = "Dno";
$lang["config_cash_decimals"] = "Decimale gotovine";
$lang["config_cash_decimals_tooltip"] = "Ako su Decimale gotovine i Valutne decimale iste, onda neće biti zaokruživanja gotovine.";
$lang["config_cash_rounding"] = "Zaokruživanje gotovine";
$lang["config_category_dropdown"] = "Prikaži kategoriju kao padajući meni";
$lang["config_center"] = "Centar";
$lang["config_comma"] = "zarez";
$lang["config_company"] = "Kompanija";
$lang["config_company_change_image"] = "Promijeni logo";
$lang["config_company_logo"] = "Logo kompanije";
$lang["config_company_remove_image"] = "Ukloni logo";
$lang["config_company_required"] = "Naziv kompanije je obavezno polje";
$lang["config_company_select_image"] = "Izaberite sliku";
$lang["config_company_website_url"] = "Adresa web stranice nije valjana (http://...)";
$lang["config_country_codes"] = "Kod zemlje";
$lang["config_country_codes_tooltip"] = "Lista kodova zemalja odvojena zarezima za traženje nominalnih adresa.";
$lang["config_currency_code"] = "Kod valute";
$lang["config_currency_decimals"] = "Velutne decimale";
$lang["config_currency_symbol"] = "Simbol valute";
$lang["config_customer_reward"] = "Nagrada";
$lang["config_customer_reward_duplicate"] = "Nagrada mora biti jedinstvena.";
$lang["config_customer_reward_enable"] = "Omogući nagrade kupcima";
$lang["config_customer_reward_invalid_chars"] = "Nagrada ne može sadržavati '_'";
$lang["config_customer_reward_required"] = "Nagrada je obavezno polje";
$lang["config_customer_sales_tax_support"] = "";
$lang["config_date_or_time_format"] = "Filter datuma i vremena";
$lang["config_datetimeformat"] = "Format datuma i vremena";
$lang["config_decimal_point"] = "Decimalna točka";
$lang["config_default_barcode_font_size_number"] = "Veličina fonta za barkod mora biti broj";
$lang["config_default_barcode_font_size_required"] = "Veličina fonta barkoda je obavezno polje";
$lang["config_default_barcode_height_number"] = "Visina barkoda mora biti broj";
$lang["config_default_barcode_height_required"] = "Visina barkoda je obavezno polje";
$lang["config_default_barcode_num_in_row_number"] = "Broj barkoda u redu mora biti broj";
$lang["config_default_barcode_num_in_row_required"] = "Broj barkoda u redu je obavezno polje";
$lang["config_default_barcode_page_cellspacing_number"] = "Razmak ćelija sa barkodom mora biti broj";
$lang["config_default_barcode_page_cellspacing_required"] = "Rastojanje ćelija na stranici sa barkodom je obavezno polje.";
$lang["config_default_barcode_page_width_number"] = "Širina stranice barkoda mora biti broj";
$lang["config_default_barcode_page_width_required"] = "Širina stranice barkoda je obavezno polje";
$lang["config_default_barcode_width_number"] = "Standardna širina barkoda mora biti broj";
$lang["config_default_barcode_width_required"] = "Širina barkoda mora bit broj";
$lang["config_default_item_columns"] = "Vidljiva stavka kolone";
$lang["config_default_origin_tax_code"] = "Šifra poreza";
$lang["config_default_receivings_discount"] = "Popust za ulaze";
$lang["config_default_receivings_discount_number"] = "Popust za ulaz mora biti broj";
$lang["config_default_receivings_discount_required"] = "Popust za ulaz je obavezno polje";
$lang["config_default_sales_discount"] = "Popust na prodaju";
$lang["config_default_sales_discount_number"] = "Popust na prodaju mora biti broj";
$lang["config_default_sales_discount_required"] = "Popust na prodaju je obavezno polje";
$lang["config_default_tax_category"] = "Poreska kategorija";
$lang["config_default_tax_code"] = "Poreska šifra";
$lang["config_default_tax_jurisdiction"] = "Poreska uprava";
$lang["config_default_tax_name_number"] = "Naziv poreza mora biti string.";
$lang["config_default_tax_name_required"] = "Naziv poreza je obavezno polje";
$lang["config_default_tax_rate"] = "Stopa poreza %";
$lang["config_default_tax_rate_1"] = "Stopa poreza 1 %";
$lang["config_default_tax_rate_2"] = "Stopa poreza 2 %";
$lang["config_default_tax_rate_number"] = "Stopa poreza mora biti broj";
$lang["config_default_tax_rate_required"] = "Stopa poreza je obavezno polje";
$lang["config_derive_sale_quantity"] = "Dozvoli izvedenu količinu prodaje";
$lang["config_derive_sale_quantity_tooltip"] = "Ako se izabere, za artikle naručene po produženom iznosu biće obezbjeđen novi tip artikla";
$lang["config_dinner_table"] = "Sto";
$lang["config_dinner_table_duplicate"] = "Sto mora biti jedinstven";
$lang["config_dinner_table_enable"] = "Omogući stolove za večeru";
$lang["config_dinner_table_invalid_chars"] = "Naziv stola ne može sadržavati '_'.";
$lang["config_dinner_table_required"] = "Sto je obavezno polje.";
$lang["config_dot"] = "tačka";
$lang["config_email"] = "E-mail";
$lang["config_email_configuration"] = "Konfiguracija e-mail";
$lang["config_email_mailpath"] = "Putanja do Sendmaila";
$lang["config_email_protocol"] = "Protokol";
$lang["config_email_receipt_check_behaviour"] = "Polje za potvrdu e-mail";
$lang["config_email_receipt_check_behaviour_always"] = "Uvijek potvrđeno";
$lang["config_email_receipt_check_behaviour_last"] = "Zapamti poslednji izbor";
$lang["config_email_receipt_check_behaviour_never"] = "Uvijek nepotvrđeno";
$lang["config_email_smtp_crypto"] = "SMTP šifriranje";
$lang["config_email_smtp_host"] = "SMTP Server";
$lang["config_email_smtp_pass"] = "SMTP Lozinka";
$lang["config_email_smtp_port"] = "SMTP Port";
$lang["config_email_smtp_timeout"] = "SMTP pauza";
$lang["config_email_smtp_user"] = "SMTP Korisničko ime";
$lang["config_enforce_privacy"] = "Ostvarite privatnost";
$lang["config_enforce_privacy_tooltip"] = "Zaštitite privatnost kupaca primjenjujući kodiranje podataka u slučaju brisanja njihovih podataka";
$lang["config_fax"] = "Faks";
$lang["config_file_perm"] = "Postoje problemi sa dozvolama za datoteke, popravite i ponovo učitajte ovu stranicu.";
$lang["config_financial_year"] = "Početak fiskalne godine";
$lang["config_financial_year_apr"] = "1. April";
$lang["config_financial_year_aug"] = "1. Avgust";
$lang["config_financial_year_dec"] = "1. Decembar";
$lang["config_financial_year_feb"] = "1. Februar";
$lang["config_financial_year_jan"] = "1. Januar";
$lang["config_financial_year_jul"] = "1. Juli";
$lang["config_financial_year_jun"] = "1. Juni";
$lang["config_financial_year_mar"] = "1. Mart";
$lang["config_financial_year_may"] = "1. Maj";
$lang["config_financial_year_nov"] = "1. Novembar";
$lang["config_financial_year_oct"] = "1. Oktobar";
$lang["config_financial_year_sep"] = "1. Septembar";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "Stranica za prijavu reCAPTCHA";
$lang["config_gcaptcha_secret_key"] = "reCAPTCHA tajni ključ";
$lang["config_gcaptcha_secret_key_required"] = "reCAPTCHA tajni ključ je obavezno polje";
$lang["config_gcaptcha_site_key"] = "reCAPTCHA ključ sajta";
$lang["config_gcaptcha_site_key_required"] = "reCAPTCHA Ključ sajta je obavezno polje";
$lang["config_gcaptcha_tooltip"] = "Zaštitite stranicu za prijavu pomoću Google reCAPTCHA, kliknite na ikonu za nabavku API ključa";
$lang["config_general"] = "Generalno";
$lang["config_general_configuration"] = "Opšta konfiguracija";
$lang["config_giftcard_number"] = "Broj poklon bona";
$lang["config_giftcard_random"] = "Generiši nasumice";
$lang["config_giftcard_series"] = "Generiši u seriji";
$lang["config_image_allowed_file_types"] = "Dozvoljeni tipovi datoteka";
$lang["config_image_max_height_tooltip"] = "Maksimalna dozvoljena visina učitavanja slike u pikselima (px).";
$lang["config_image_max_size_tooltip"] = "Maksimalna dozvoljena veličina datoteke za prijenos slike u kilobajtima (kb).";
$lang["config_image_max_width_tooltip"] = "Maksimalna dozvoljena širina slike u pikselima (px).";
$lang["config_image_restrictions"] = "Ograničenja za učitavanje slike";
$lang["config_include_hsn"] = "Uključite podršku za HSN kodove";
$lang["config_info"] = "Informacije";
$lang["config_info_configuration"] = "Info o web trgovini";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "Integracije";
$lang["config_integrations_configuration"] = "Integracije trećih strana";
$lang["config_invoice"] = "Faktura";
$lang["config_invoice_configuration"] = "Podešavanja štamapnja";
$lang["config_invoice_default_comments"] = "Komentar na fakturi";
$lang["config_invoice_email_message"] = "Predložak e-mail za fakture";
$lang["config_invoice_enable"] = "Omogući fakturisanje";
$lang["config_invoice_printer"] = "Štampanje faktura";
$lang["config_invoice_type"] = "Tip fakture";
$lang["config_is_readable"] = "čitljiv je, ali dozvole su veće od 660.";
$lang["config_is_writable"] = "može se napisati, ali dozvole su veće od 750.";
$lang["config_jsprintsetup_required"] = "Upozorenje! Onemogućene opcije će raditi samo ako imate instaliran FireFox jsPrintSetup dodatak. Svakako snimiti?";
$lang["config_language"] = "Jezik";
$lang["config_last_used_invoice_number"] = "Zadnji korišćeni broj fakture";
$lang["config_last_used_quote_number"] = "Zadnji korišćeni broj citata";
$lang["config_last_used_work_order_number"] = "Zadnji korišćeni broj R/N";
$lang["config_left"] = "Lijevo";
$lang["config_license"] = "Licenca";
$lang["config_license_configuration"] = "Izjava o licenci";
$lang["config_line_sequence"] = "Redoslijed linija";
$lang["config_lines_per_page"] = "Linija po stranici";
$lang["config_lines_per_page_number"] = "Linije po stranici moraju biti broj";
$lang["config_lines_per_page_required"] = "Broj linija po stranici je obavezan podatak";
$lang["config_locale"] = "Lokalizacija";
$lang["config_locale_configuration"] = "Konfiguracija";
$lang["config_locale_info"] = "Info o lokalnoj konfiguraciji";
$lang["config_location"] = "Skladište";
$lang["config_location_configuration"] = "Lokacije skladišta";
$lang["config_location_info"] = "Informacije o konfiguraciji lokacije";
$lang["config_login_form"] = "";
$lang["config_logout"] = "Zar ne želite da napravite rezervnu kopiju prije odjave? Kliknite [OK] za sigurnosnu kopiju, [Cancel] da biste se odjavili.";
$lang["config_mailchimp"] = "Mailchimp";
$lang["config_mailchimp_api_key"] = "Mailchimp API ključ";
$lang["config_mailchimp_configuration"] = "Mailchimp konfiguracija";
$lang["config_mailchimp_key_successfully"] = "API ključ je važeći";
$lang["config_mailchimp_key_unsuccessfully"] = "API ključ je nevažeći";
$lang["config_mailchimp_lists"] = "Mailchimp lista";
$lang["config_mailchimp_tooltip"] = "Kliknite na ikonu za API ključ.";
$lang["config_message"] = "Poruke";
$lang["config_message_configuration"] = "Konfigurisanje poruke";
$lang["config_msg_msg"] = "Snimljena tekst poruka";
$lang["config_msg_msg_placeholder"] = "Ako želite koristiti SMS šablon, snimite poruku ovdje. U suprotnom ostavite prazno polje.";
$lang["config_msg_pwd"] = "SMS-API lozinke";
$lang["config_msg_pwd_required"] = "SMS-API lozinke je obavezno polje";
$lang["config_msg_src"] = "SMS-API ID pošiljaoca";
$lang["config_msg_src_required"] = "SMS-API Id pošiljaoca je obavezno polje";
$lang["config_msg_uid"] = "SMS-API korisnika";
$lang["config_msg_uid_required"] = "SMS-API korisnika je obavezno polje";
$lang["config_multi_pack_enabled"] = "Više pakovanja po stavci";
$lang["config_no_risk"] = "Nema rizika / ugroženosti.";
$lang["config_none"] = "nijedan";
$lang["config_notify_alignment"] = "Položaj iskačuće obavijesti";
$lang["config_number_format"] = "Format broja";
$lang["config_number_locale"] = "Lokalizacija";
$lang["config_number_locale_invalid"] = "Uneseni jezik nije važeći. Provjerite vezu u opisu alata kako biste pronašli osjetljivu vrijednost";
$lang["config_number_locale_required"] = "Broj lokacije je obavezno polje";
$lang["config_number_locale_tooltip"] = "Pronađite odgovarajuću lokaciju na ovom linku";
$lang["config_os_timezone"] = "OSPOS vremenska zona:";
$lang["config_ospos_info"] = "OSPOS instalacione informacije";
$lang["config_payment_options_order"] = "Narudžba opcije plaćanja";
$lang["config_perm_risk"] = "Dozvole veće od 750 za pisanje i 660 za čitanje dovode ovaj program u rizik.";
$lang["config_phone"] = "Telefon kompanije";
$lang["config_phone_required"] = "Telefon kompanije je obavezan";
$lang["config_print_bottom_margin"] = "Donja margina";
$lang["config_print_bottom_margin_number"] = "Donja margina mora biti broj";
$lang["config_print_bottom_margin_required"] = "Donja margina je obavezna";
$lang["config_print_delay_autoreturn"] = "Automatski povratak na odgodu prodaje";
$lang["config_print_delay_autoreturn_number"] = "Automatski povratak na odgodu prodaje je obavezno polje";
$lang["config_print_delay_autoreturn_required"] = "Automatski povratak na odgodu prodaje mora biti broj";
$lang["config_print_footer"] = "Štampanje podnožja";
$lang["config_print_header"] = "Štampanje zaglavlja";
$lang["config_print_left_margin"] = "Lijeva margina";
$lang["config_print_left_margin_number"] = "Lijeva margina mora biti broj";
$lang["config_print_left_margin_required"] = "Lijeva margina je obavezna";
$lang["config_print_receipt_check_behaviour"] = "Polje za potvrdu štampanja računa";
$lang["config_print_receipt_check_behaviour_always"] = "Uvijek potvrđeno";
$lang["config_print_receipt_check_behaviour_last"] = "Zapamti poslednji izbor";
$lang["config_print_receipt_check_behaviour_never"] = "Uvijek nepotvrđeno";
$lang["config_print_right_margin"] = "Desna margina";
$lang["config_print_right_margin_number"] = "Desna margina mora biti broj";
$lang["config_print_right_margin_required"] = "Desna margina je obavezna";
$lang["config_print_silently"] = "Prikaži dijalog za štampanje";
$lang["config_print_top_margin"] = "Gornja margina";
$lang["config_print_top_margin_number"] = "Gornja margina mora biti broj";
$lang["config_print_top_margin_required"] = "Gornja margina je obavezna";
$lang["config_quantity_decimals"] = "Decimale količine";
$lang["config_quote_default_comments"] = "Difoltni komentari citata";
$lang["config_receipt"] = "Račun";
$lang["config_receipt_configuration"] = "Podešavanja štamapnja";
$lang["config_receipt_default"] = "Podrazumijevano";
$lang["config_receipt_font_size"] = "Veličina fonta";
$lang["config_receipt_font_size_number"] = "Veličina fonta mora biti broj";
$lang["config_receipt_font_size_required"] = "Veličina fonta je obavezno polje";
$lang["config_receipt_info"] = "Informacije o POS računu";
$lang["config_receipt_printer"] = "POS štampač";
$lang["config_receipt_short"] = "Kratko";
$lang["config_receipt_show_company_name"] = "Prikaži kompaniju";
$lang["config_receipt_show_description"] = "Prikaži opis";
$lang["config_receipt_show_serialnumber"] = "Prikaži serijski broj";
$lang["config_receipt_show_tax_ind"] = "Prikaži poreski indikator";
$lang["config_receipt_show_taxes"] = "Prikaži porez";
$lang["config_receipt_show_total_discount"] = "Prikaži ukupni popust";
$lang["config_receipt_template"] = "Šablon računa";
$lang["config_receiving_calculate_average_price"] = "Kalk. prosječnih cijena (ulaza)";
$lang["config_recv_invoice_format"] = "Format računa fakture";
$lang["config_register_mode_default"] = "Mod registracije";
$lang["config_report_an_issue"] = "Prijavi problem";
$lang["config_return_policy_required"] = "Politika povrata je obavezno polje";
$lang["config_reward"] = "Nagrada";
$lang["config_reward_configuration"] = "Konfigurisanje poklona";
$lang["config_right"] = "Desno";
$lang["config_sales_invoice_format"] = "Format fakture";
$lang["config_sales_quote_format"] = "Format navedene prodaje";
$lang["config_saved_successfully"] = "Konfiguracija je uspješno snimljena";
$lang["config_saved_unsuccessfully"] = "Konfiguracija nije uspješno snimljena";
$lang["config_security_issue"] = "Upozorenje o ugroženosti sigurnosti";
$lang["config_server_notice"] = "Upotrijebite dolje navedene podatke za izvještavanje o problemima.";
$lang["config_show_office_group"] = "Prikaži ikonu poslovnice";
$lang["config_statistics"] = "Pošalji statistiku";
$lang["config_statistics_tooltip"] = "Pošaljite statistike za potrebe razvoja i poboljšanja namjene";
$lang["config_stock_location"] = "Lokacija skladišta";
$lang["config_stock_location_duplicate"] = "Molim koristite jedinstveni naziv skladišta";
$lang["config_stock_location_invalid_chars"] = "Naziv skaldišta ne može sadržavati '_'";
$lang["config_stock_location_required"] = "Naziv skladišta je obavezno polje";
$lang["config_suggestions_first_column"] = "Kolona 1";
$lang["config_suggestions_layout"] = "Prijedlozi za pretraživanje";
$lang["config_suggestions_second_column"] = "Kolona 2";
$lang["config_suggestions_third_column"] = "Kolona 3";
$lang["config_system_conf"] = "Podešavanja & Konf";
$lang["config_system_info"] = "Sistem Info";
$lang["config_table"] = "Sto";
$lang["config_table_configuration"] = "Konfigurisanje stola";
$lang["config_takings_printer"] = "Štampanje računa";
$lang["config_tax"] = "Porez";
$lang["config_tax_category"] = "Kategorija";
$lang["config_tax_category_duplicate"] = "Unesena kategorija već postoji.";
$lang["config_tax_category_invalid_chars"] = "Unesena kategorija je nevažeća.";
$lang["config_tax_category_required"] = "Obavezna je kategorija.";
$lang["config_tax_category_used"] = "Kategorija se ne može izbrisati jer se koristi";
$lang["config_tax_configuration"] = "Konfigurisanje poreza";
$lang["config_tax_decimals"] = "Poreske decimale";
$lang["config_tax_id"] = "Poreska identifikacija";
$lang["config_tax_included"] = "Uključen porez";
$lang["config_theme"] = "Tema";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "Separator za hiljade";
$lang["config_timezone"] = "Vremenska zona";
$lang["config_timezone_error"] = "Vremenska zona OSPOS razlikuje se od vaše lokalne vremenske zone.";
$lang["config_top"] = "Vrh";
$lang["config_use_destination_based_tax"] = "Koristite porez na osnovu odredišta";
$lang["config_user_timezone"] = "Lokalna vremenska zona:";
$lang["config_website"] = "web stranica";
$lang["config_work_order_enable"] = "Podnošenje radnog naloga";
$lang["config_work_order_format"] = "Format radnog naloga";

View File

@@ -0,0 +1,54 @@
<?php
$lang["customers_account_number"] = "Račun #";
$lang["customers_account_number_duplicate"] = "Ovaj broj računa već postoji";
$lang["customers_available_points"] = "Dostupni bodovi";
$lang["customers_average"] = "Prosječna potrošnja";
$lang["customers_avg_discount"] = "Prosječni popust";
$lang["customers_basic_information"] = "Informacija";
$lang["customers_cannot_be_deleted"] = "Ne može se izbrisati izabrani kupac, jer jedan ili više izabranih kupaca imaju prodaju.";
$lang["customers_company_name"] = "Kompanija";
$lang["customers_confirm_delete"] = "Želite li izbrisati izabranog kupca?";
$lang["customers_confirm_restore"] = "Da li ste sigurni da želite da povratite izabranog kupca?";
$lang["customers_consent"] = "Pristanak na registraciju";
$lang["customers_consent_required"] = "Prihvatanje registracije je obavezno polje.";
$lang["customers_csv_import_failed"] = "Greška kod uvoza iz CSV-a";
$lang["customers_csv_import_nodata_wrongformat"] = "Vaša učitana datoteka nema podataka ili je pogrešnog formata";
$lang["customers_csv_import_partially_failed"] = "Većina kupaca je uvezena. Ali neki nisu, evo liste";
$lang["customers_csv_import_success"] = "Uvoz kupaca je uspješan";
$lang["customers_customer"] = "Kupac";
$lang["customers_date"] = "Datum";
$lang["customers_discount"] = "Popust";
$lang["customers_discount_fixed"] = "Fiksni popust";
$lang["customers_discount_percent"] = "Procenat popusta";
$lang["customers_discount_type"] = "Tip popusta";
$lang["customers_email_duplicate"] = "E-mail adresa već postoji u bazi podataka.";
$lang["customers_employee"] = "Zaposlenik";
$lang["customers_error_adding_updating"] = "Greška kod dodavanja/ažuriranja kupca";
$lang["customers_import_items_csv"] = "Uvezi kupce iz CSV datoteke";
$lang["customers_mailchimp_activity_click"] = "Klik na e-mail";
$lang["customers_mailchimp_activity_lastopen"] = "Zadnji otvoreni e-mail";
$lang["customers_mailchimp_activity_open"] = "E-mail otvoren";
$lang["customers_mailchimp_activity_total"] = "E-mail poslat";
$lang["customers_mailchimp_activity_unopen"] = "E-mail nije otvoren";
$lang["customers_mailchimp_email_client"] = "E-mail klijenta";
$lang["customers_mailchimp_info"] = "Mailchimp";
$lang["customers_mailchimp_member_rating"] = "Rejting";
$lang["customers_mailchimp_status"] = "Status";
$lang["customers_mailchimp_vip"] = "VIP";
$lang["customers_max"] = "Maks. potrošeno";
$lang["customers_min"] = "Min. potrošeno";
$lang["customers_new"] = "Novi kupac";
$lang["customers_none_selected"] = "Niste odabrali nijednog kupca za brisanje";
$lang["customers_one_or_multiple"] = "Kupaci";
$lang["customers_quantity"] = "Količina";
$lang["customers_stats_info"] = "Statistika";
$lang["customers_successful_adding"] = "Uspješno ste dodali kupca";
$lang["customers_successful_deleted"] = "Kupac je uspješno izbrisan";
$lang["customers_successful_updating"] = "Podaci o kupcu su uspješno ažurirani";
$lang["customers_tax_code"] = "Poreski broj";
$lang["customers_tax_id"] = "Porez Id";
$lang["customers_taxable"] = "Oporezivo";
$lang["customers_total"] = "Ukupno";
$lang["customers_update"] = "Ažuriraj kupca";
$lang["rewards_package"] = "Nagrade";

View File

@@ -0,0 +1,22 @@
<?php
$lang["datepicker_all_time"] = "Sve";
$lang["datepicker_apply"] = "Primjeni";
$lang["datepicker_cancel"] = "Otkaži";
$lang["datepicker_custom"] = "Slobodan izbor";
$lang["datepicker_from"] = "Od";
$lang["datepicker_last_30"] = "Zadnjih 30 dana";
$lang["datepicker_last_7"] = "Zadnjih 7 dana";
$lang["datepicker_last_financial_year"] = "Prošla fiskalna godina";
$lang["datepicker_last_month"] = "Prošli mjesec";
$lang["datepicker_last_year"] = "Prošla godina";
$lang["datepicker_same_month_last_year"] = "Ovaj mjesec prošle godine";
$lang["datepicker_same_month_to_same_day_last_year"] = "Prošle godine od istog mjeseca do istog dana";
$lang["datepicker_this_financial_year"] = "Trenutna fiskalna godina";
$lang["datepicker_this_month"] = "Ovaj mjesec";
$lang["datepicker_this_year"] = "Ova godina";
$lang["datepicker_to"] = "Do";
$lang["datepicker_today"] = "Danas";
$lang["datepicker_today_last_year"] = "Ovaj dan prošle godine";
$lang["datepicker_weekstart"] = "1";
$lang["datepicker_yesterday"] = "Juče";

View File

@@ -0,0 +1,37 @@
<?php
$lang["employees_basic_information"] = "Informacije";
$lang["employees_cannot_be_deleted"] = "Nije moguće izbrisati odabrane zaposlenike, jedan ili više njih su obradili prodaju ili pokušavate izbrisati svoj nalog.)";
$lang["employees_change_password"] = "Promijeni lozinku";
$lang["employees_confirm_delete"] = "Da li ste zaista sigurni da želite da izbrišete izabranog zaposlenika?";
$lang["employees_confirm_restore"] = "Da li ste sigurni da želite da vratite izabranog zaposlenika?";
$lang["employees_current_password"] = "Trenutna lozinka";
$lang["employees_current_password_invalid"] = "Trenutna lozinka je nevažeća.";
$lang["employees_employee"] = "Zaposlenik";
$lang["employees_error_adding_updating"] = "Greška kod dodavanja/ažuriranja zaposlenika";
$lang["employees_error_deleting_demo_admin"] = "Ne možete izbrisati demo admin korisnika";
$lang["employees_error_updating_demo_admin"] = "Ne možete promijeniti demo admin korisnika";
$lang["employees_language"] = "Jezik";
$lang["employees_login_info"] = "Prijava";
$lang["employees_new"] = "Novi zaposlenik";
$lang["employees_none_selected"] = "Nije izabran nijedan zaposlenik za brisanje";
$lang["employees_one_or_multiple"] = "Zaposlenici";
$lang["employees_password"] = "Lozinka";
$lang["employees_password_minlength"] = "Lozinka mora imati najmanje 8 znakova";
$lang["employees_password_must_match"] = "Lozinka se ne podudara";
$lang["employees_password_not_must_match"] = "Trenutna lozinka i nova lozinka moraju biti jedinstvene.";
$lang["employees_password_required"] = "Lozinka je obavezna";
$lang["employees_permission_desc"] = "Odaberite module za dozvolu";
$lang["employees_permission_info"] = "Dozvole";
$lang["employees_repeat_password"] = "Ponovite lozinku";
$lang["employees_subpermission_required"] = "Dodajte barem jedno odobrenje po modulu";
$lang["employees_successful_adding"] = "Uspješno ste dodali zaposlenika";
$lang["employees_successful_change_password"] = "Promjena lozinke je uspješna.";
$lang["employees_successful_deleted"] = "Uspješno ste izbrisali zaposlenika";
$lang["employees_successful_updating"] = "Uspješno ste ažurirali zaposlenika";
$lang["employees_system_language"] = "Sistemski jezik";
$lang["employees_unsuccessful_change_password"] = "Promjena lozinke nije uspjela.";
$lang["employees_update"] = "Ažuriraj zaposlenika";
$lang["employees_username"] = "Korisničko ime";
$lang["employees_username_minlength"] = "Korisničko ime mora imati najmanje 5 znakova";
$lang["employees_username_required"] = "Korisničko ime je obavezno polje";

View File

@@ -0,0 +1,9 @@
<?php
$lang["enum_half_down"] = "Half Down";
$lang["enum_half_even"] = "Half Even";
$lang["enum_half_five"] = "Half Five";
$lang["enum_half_odd"] = "Half Odd";
$lang["enum_half_up"] = "Half Up";
$lang["enum_round_down"] = "Round Down";
$lang["enum_round_up"] = "Round Up";

View File

@@ -0,0 +1,4 @@
<?php
$lang["error_no_permission_module"] = "Nemate dozvolu za pristup modulu";
$lang["error_unknown"] = "Neočekivana greška";

View File

@@ -0,0 +1,21 @@
<?php
$lang["category_name_required"] = "Naziv kategorije je obavezan";
$lang["expenses_categories_add_item"] = "Dodaj kategoriju";
$lang["expenses_categories_cannot_be_deleted"] = "Nije moguće izbrisati kategoriju";
$lang["expenses_categories_category_id"] = "Id";
$lang["expenses_categories_confirm_delete"] = "Da li ste sigurni da želite da izbrišete izabranu kategoriju?";
$lang["expenses_categories_confirm_restore"] = "Da li ste sigurni da želite da vratite izabranu kategoriju?";
$lang["expenses_categories_description"] = "Opis Kategorije";
$lang["expenses_categories_error_adding_updating"] = "Greška prilikom dodavanja / ažuriranja kategorije";
$lang["expenses_categories_info"] = "Informacije o Kategoriji";
$lang["expenses_categories_name"] = "Naziv Kategorije";
$lang["expenses_categories_new"] = "Nova Kategorija";
$lang["expenses_categories_no_expenses_categories_to_display"] = "Nema kategorije za prikaz";
$lang["expenses_categories_none_selected"] = "Niste odabrali nijednu Kategoriju";
$lang["expenses_categories_one_or_multiple"] = "Kategorija";
$lang["expenses_categories_quantity"] = "Količina";
$lang["expenses_categories_successful_adding"] = "Kategorija je uspješno dodata";
$lang["expenses_categories_successful_deleted"] = "Brisanje kategorije je uspješno";
$lang["expenses_categories_successful_updating"] = "Ažuriranje kategorije je uspješno";
$lang["expenses_categories_update"] = "Ažuriraj kategoriju";

View File

@@ -0,0 +1,46 @@
<?php
$lang["expenses_add_item"] = "Dodaj trošak";
$lang["expenses_amount"] = "Iznos";
$lang["expenses_amount_number"] = "Iznos mora biti broj";
$lang["expenses_amount_required"] = "Iznos troška je obavezan";
$lang["expenses_by_category"] = "Kategorija";
$lang["expenses_cannot_be_deleted"] = "Nije moguće izbrisati kategoriju";
$lang["expenses_cash"] = "Gotovina";
$lang["expenses_cash_filter"] = "Gotovina";
$lang["expenses_categories_name"] = "Kategorija";
$lang["expenses_category_required"] = "kategorija je obavezno polje";
$lang["expenses_check"] = "Ček";
$lang["expenses_check_filter"] = "Ček";
$lang["expenses_confirm_delete"] = "Da li ste sigurni da želite da izbrišete izabrani trošak?";
$lang["expenses_confirm_restore"] = "Da li ste sigurni da želite da vratite izabrani trošak?";
$lang["expenses_credit"] = "Kreditna kartica";
$lang["expenses_credit_filter"] = "Kreditna kartica";
$lang["expenses_date"] = "Datum";
$lang["expenses_date_number"] = "datum mora biti broj";
$lang["expenses_date_required"] = "datum je obavezno polje";
$lang["expenses_debit"] = "Dugovna kartica";
$lang["expenses_debit_filter"] = "Dugovna kartica";
$lang["expenses_description"] = "Opis";
$lang["expenses_due"] = "Dospijeće";
$lang["expenses_due_filter"] = "Dospijeće";
$lang["expenses_employee"] = "Napravio";
$lang["expenses_error_adding_updating"] = "Greška pri dodavanju / ažuriranju troškova";
$lang["expenses_expense_id"] = "Id";
$lang["expenses_expenses_employee"] = "Zaposlenik";
$lang["expenses_info"] = "Informacije o troškovima";
$lang["expenses_is_deleted"] = "Izbrisano";
$lang["expenses_name_required"] = "Naziv troška je obavezan";
$lang["expenses_new"] = "Novi trošak";
$lang["expenses_no_expenses_to_display"] = "Nema troškova za prikaz";
$lang["expenses_none_selected"] = "Niste odabrali nijedan trošak";
$lang["expenses_one_or_multiple"] = "Trošak(ovi)";
$lang["expenses_payment"] = "Vrsta plaćanja";
$lang["expenses_start_typing_supplier_name"] = "Počnite pisati ime dobavljača...";
$lang["expenses_successful_adding"] = "Dodavanje troškova uspješno";
$lang["expenses_successful_deleted"] = "Brisanje troškova uspješno";
$lang["expenses_successful_updating"] = "Ažuriranje troškova uspješno";
$lang["expenses_supplier_name"] = "Dobavljač";
$lang["expenses_supplier_tax_code"] = "Poreski broj";
$lang["expenses_tax_amount"] = "Porez";
$lang["expenses_update"] = "Ažuriraj trošak";

View File

@@ -0,0 +1,70 @@
<?php
$lang["giftcards_add_minus"] = "Zalihu dodati ili oduzeti";
$lang["giftcards_allow_alt_description"] = "Dozvoli Alt opis";
$lang["giftcards_bulk_edit"] = "Skupno uređivanje";
$lang["giftcards_cannot_be_deleted"] = "Nije moguće izbrisati poklon bon, jedan ili više poklon bonova ima prodaju.";
$lang["giftcards_cannot_find_giftcard"] = "Ne možemo pronaći informacije o poklon bonu";
$lang["giftcards_cannot_use"] = "Poklon bon %1 se ne može koristiti za ovu prodaju. Nevažeći kupac!";
$lang["giftcards_card_value"] = "Vrijednost";
$lang["giftcards_category"] = "Kategorija";
$lang["giftcards_change_all_to_allow_alt_desc"] = "Dozvoli Alt opis za sve";
$lang["giftcards_change_all_to_not_allow_allow_desc"] = "Nije dozvoljen Alt opis za sve";
$lang["giftcards_change_all_to_serialized"] = "Promijeni sve u serijalizovano";
$lang["giftcards_change_all_to_unserialized"] = "Promijeni sve u neserializovano";
$lang["giftcards_confirm_bulk_edit"] = "Da li ste sigurni da želite da uredite sve izabrane poklon bonove?";
$lang["giftcards_confirm_delete"] = "Da li ste sigurni da želite da izbrišete izabrani poklon bon?";
$lang["giftcards_confirm_restore"] = "Da li ste sigurni da želite da vratite izabrane poklon bonove?";
$lang["giftcards_cost_price"] = "FC";
$lang["giftcards_count"] = "Ažuriraj zalihu";
$lang["giftcards_csv_import_failed"] = "Greška kod CSV uvoza";
$lang["giftcards_current_quantity"] = "Trenutna količina";
$lang["giftcards_description"] = "Opis";
$lang["giftcards_details_count"] = "Detalji o popisu zaliha";
$lang["giftcards_do_nothing"] = "Ne radi ništa";
$lang["giftcards_edit_fields_you_want_to_update"] = "Uredi polja za sve izabrane poklon bonove";
$lang["giftcards_edit_multiple_giftcards"] = "Uređivanje više poklon bonova";
$lang["giftcards_error_adding_updating"] = "Dodavanje/ažuriranje poklon bona nije uspjelo";
$lang["giftcards_error_updating_multiple"] = "Ažuriranje poklon bonova nije uspjelo";
$lang["giftcards_generate_barcodes"] = "Generiši barkod";
$lang["giftcards_giftcard"] = "Poklon bon";
$lang["giftcards_giftcard_number"] = "Broj poklon bona";
$lang["giftcards_info_provided_by"] = "Informacije pruža";
$lang["giftcards_inventory_comments"] = "Komentari";
$lang["giftcards_is_serialized"] = "Poklon bon ima serijski broj";
$lang["giftcards_low_inventory_giftcards"] = "Niska zaliha poklon bonova";
$lang["giftcards_manually_editing_of_quantity"] = "Ručna promjena količine";
$lang["giftcards_must_select_giftcard_for_barcode"] = "Morate izabrati bar jedan poklon bon da generišete barkod";
$lang["giftcards_new"] = "Novi poklon bon";
$lang["giftcards_no_description_giftcards"] = "Poklon bon nema opisa";
$lang["giftcards_no_giftcards_to_display"] = "Nema poklon bona za prikaz";
$lang["giftcards_none"] = "Ništa";
$lang["giftcards_none_selected"] = "Nijedan poklon bon nije izabran za uređivanje";
$lang["giftcards_number"] = "Broj poklon bona mora biti broj";
$lang["giftcards_number_information"] = "Broj poklon bona";
$lang["giftcards_number_required"] = "Broj poklon bona je obavezan";
$lang["giftcards_one_or_multiple"] = "Poklon bonovi";
$lang["giftcards_person_id"] = "Kupac";
$lang["giftcards_quantity"] = "Količina";
$lang["giftcards_quantity_required"] = "Količina je obavezno polje. Zatvorite (X) da biste odustali";
$lang["giftcards_remaining_balance"] = "Na poklon bonu %1 ostala je još vrijednost %2!";
$lang["giftcards_reorder_level"] = "Nivo narudžbe";
$lang["giftcards_retrive_giftcard_info"] = "Preuzmi informacije o poklon bonu";
$lang["giftcards_sales_tax_1"] = "Prodajni porez 1";
$lang["giftcards_sales_tax_2"] = "Prodajni porez 2";
$lang["giftcards_serialized_giftcards"] = "Serijalizovani poklon bonovi";
$lang["giftcards_successful_adding"] = "Uspješno ste dodali poklon bon";
$lang["giftcards_successful_bulk_edit"] = "Uspješno ste ažurirali izabrane poklon bonove";
$lang["giftcards_successful_deleted"] = "Uspješno ste izbrisali poklon bon";
$lang["giftcards_successful_updating"] = "Uspješno ste ažurirali poklon bon";
$lang["giftcards_supplier"] = "Dobavljač";
$lang["giftcards_tax_1"] = "Porez 1";
$lang["giftcards_tax_2"] = "Porez 2";
$lang["giftcards_tax_percent"] = "% poreza";
$lang["giftcards_tax_percents"] = "% poreza";
$lang["giftcards_unit_price"] = "MPC";
$lang["giftcards_upc_database"] = "Barkod tablica";
$lang["giftcards_update"] = "Ažurirajte poklon bon";
$lang["giftcards_use_inventory_menu"] = "Koristite meni zalihe";
$lang["giftcards_value"] = "Vrijednost poklon bona mora biti broj";
$lang["giftcards_value_required"] = "Vrijednost poklon bona je obavezno polje";

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Zabranjeno</title>
</head>
<body>
<p>Pristup direktorijumu je zabranjen.</p>
</body>
</html>

View File

@@ -0,0 +1,38 @@
<?php
$lang["item_kits_add_item"] = "Dodaj artikal";
$lang["item_kits_all"] = "Sve";
$lang["item_kits_cannot_be_deleted"] = "Brisanje kompleta nije uspjelo";
$lang["item_kits_confirm_delete"] = "Da li ste sigurni da želite izbrisati izabrani komplet predmeta";
$lang["item_kits_confirm_restore"] = "Da li ste sigurni da želite povratiti komplet";
$lang["item_kits_description"] = "Opis kompleta";
$lang["item_kits_discount"] = "Popust";
$lang["item_kits_discount_fixed"] = "Fiksni popust";
$lang["item_kits_discount_percent"] = "Procenat popusta";
$lang["item_kits_discount_type"] = "Vrsta popusta";
$lang["item_kits_error_adding_updating"] = "Dodavanje ili ažuriranje kompleta predmeta nije uspjelo";
$lang["item_kits_find_kit_item"] = "Stavka kompleta";
$lang["item_kits_info"] = "Informacije o kompletu";
$lang["item_kits_item"] = "Artikal";
$lang["item_kits_item_kit_number"] = "Barkod";
$lang["item_kits_item_kit_number_duplicate"] = "Broj kompleta predmeta već je prisutan u bazi podataka.";
$lang["item_kits_item_number"] = "";
$lang["item_kits_items"] = "Artikli";
$lang["item_kits_kit"] = "ID kompleta";
$lang["item_kits_kit_and_components"] = "Komplet i komponente";
$lang["item_kits_kit_and_stock"] = "Komplet i zaliha";
$lang["item_kits_kit_only"] = "Samo komplet";
$lang["item_kits_name"] = "Naziv kompleta";
$lang["item_kits_new"] = "Novi komplet";
$lang["item_kits_no_item_kits_to_display"] = "Nema kompleta za prikaz";
$lang["item_kits_none_selected"] = "Niste odabrali nijedan komplet";
$lang["item_kits_one_or_multiple"] = "Stavka(e) kompleta";
$lang["item_kits_price_option"] = "Opcija cijene";
$lang["item_kits_priced_only"] = "Samo po cijeni";
$lang["item_kits_print_option"] = "Opcija štampanja";
$lang["item_kits_quantity"] = "Količina";
$lang["item_kits_sequence"] = "Redoslijed";
$lang["item_kits_successful_adding"] = "Uspješno ste dodali komplet";
$lang["item_kits_successful_deleted"] = "Uspješno ste izbrisali komplet";
$lang["item_kits_successful_updating"] = "Uspješno ste ažurirali komplet";
$lang["item_kits_update"] = "Ažuriranje komplet";

View File

@@ -0,0 +1,112 @@
<?php
$lang["items_add_minus"] = "Zaliha za dodavanje ili oduzimanje";
$lang["items_allow_alt_description"] = "Dozvoli Alt opis";
$lang["items_amount_entry"] = "Unos iznosa";
$lang["items_bulk_edit"] = "Skupno uređivanje";
$lang["items_buy_price_required"] = "MPC je obavezno polje";
$lang["items_cannot_be_deleted"] = "Nije moguće izbrisati izabrane artikle, jedan ili više izabranih predmeta imaju prodaju.";
$lang["items_cannot_find_item"] = "Nema informacije o izabranoj stavci";
$lang["items_category"] = "Kategorija";
$lang["items_category_required"] = "Kategorija je obavezno polje";
$lang["items_change_all_to_allow_alt_desc"] = "Dozvoli Alt opis za sve";
$lang["items_change_all_to_not_allow_allow_desc"] = "Nije dozvoljen Alt opis za sve";
$lang["items_change_all_to_serialized"] = "Promijeni sve u seriju";
$lang["items_change_all_to_unserialized"] = "Promijenite sve u ne seriju";
$lang["items_change_image"] = "Promijeni sliku";
$lang["items_confirm_bulk_edit"] = "Da li ste sigurni da želite urediti izabrane artikle?";
$lang["items_confirm_bulk_edit_wipe_taxes"] = "Sve informacije o porezu na artikal biće zamjenjene";
$lang["items_confirm_delete"] = "Da li ste sigurni da želite izbrisati izabrani artikal?";
$lang["items_confirm_restore"] = "Da li ste sigurni da želite da vratite izabrani artikal?";
$lang["items_cost_price"] = "FC";
$lang["items_cost_price_number"] = "FC mora biti broj";
$lang["items_cost_price_required"] = "FC je obavezno polje";
$lang["items_count"] = "Ažuriraj zalihu";
$lang["items_csv_import_failed"] = "Uvoz CSV-a nije uspio";
$lang["items_csv_import_nodata_wrongformat"] = "Vaša učitana datoteka nema podataka ili je pogrešnog formata";
$lang["items_csv_import_partially_failed"] = "Uvezena je većina artikala. Ali neki nisu, evo liste";
$lang["items_csv_import_success"] = "Uvoz artikla je uspješan";
$lang["items_current_quantity"] = "Trenutna količina";
$lang["items_default_pack_name"] = "Svaki";
$lang["items_description"] = "Opis";
$lang["items_details_count"] = "Detalji o količinama zalihe";
$lang["items_do_nothing"] = "Ne radi ništa";
$lang["items_edit_fields_you_want_to_update"] = "Uredite polja koja želite da uredite za sve izabrane artikle";
$lang["items_edit_multiple_items"] = "Uređivanje više artikala";
$lang["items_empty_upc_items"] = "Artikli sa praznim barkodom";
$lang["items_error_adding_updating"] = "Greška pri dodavanju / ažuriranju artikla";
$lang["items_error_updating_multiple"] = "Greška pri ažuriranju artikala";
$lang["items_generate_barcodes"] = "Generiši barkod";
$lang["items_hsn_code"] = "Nomenklatura sistema usklađena";
$lang["items_image"] = "Slika";
$lang["items_import_items_csv"] = "Uvezi artikle iz CSV datoteke";
$lang["items_info_provided_by"] = "Informacije pruža";
$lang["items_inventory"] = "Zaliha";
$lang["items_inventory_CSV_import_quantity"] = "Količina uvezena iz CSV-a";
$lang["items_inventory_comments"] = "Komentari";
$lang["items_inventory_data_tracking"] = "Praćenje podataka zalihe";
$lang["items_inventory_date"] = "Datum";
$lang["items_inventory_employee"] = "Zaposlenik";
$lang["items_inventory_in_out_quantity"] = "Količina ulaz/izlaz";
$lang["items_inventory_remarks"] = "Napomene";
$lang["items_is_deleted"] = "Izbrisano";
$lang["items_is_serialized"] = "Artikal ima ser. broj";
$lang["items_item"] = "Artikal";
$lang["items_item_number"] = "Barkod";
$lang["items_item_number_duplicate"] = "Broj artikla već postoji u bazi podataka";
$lang["items_kit"] = "Garnitura";
$lang["items_location"] = "Mjesto";
$lang["items_low_inventory_items"] = "Prodaja artikala";
$lang["items_low_sell_item"] = "Niska prodaja artikla";
$lang["items_manually_editing_of_quantity"] = "Ručno uređivanje količine";
$lang["items_name"] = "Naziv artikla";
$lang["items_name_required"] = "Naziv artikla je obavezno polje";
$lang["items_new"] = "Novi artikal";
$lang["items_no_description_items"] = "Artikal nema opisa";
$lang["items_no_items_to_display"] = "Nema artikla za prikaz";
$lang["items_none"] = "Nijedan";
$lang["items_none_selected"] = "Niste odabrali nijedan artikal za uređivanje";
$lang["items_nonstock"] = "Bez zaliha";
$lang["items_number_information"] = "Redni broj";
$lang["items_number_required"] = "Barkod je obavezno polje";
$lang["items_one_or_multiple"] = "artikal(i)";
$lang["items_pack_name"] = "Naziv pakovanja";
$lang["items_qty_per_pack"] = "Količina po pakovanju";
$lang["items_quantity"] = "Količina";
$lang["items_quantity_number"] = "Količina mora biti broj";
$lang["items_quantity_required"] = "Količina je obavezno polje.";
$lang["items_receiving_quantity"] = "Zaprimljena količina";
$lang["items_remove_image"] = "Ukloni sliku";
$lang["items_reorder_level"] = "Minimalna zaliha";
$lang["items_reorder_level_number"] = "Nivo preuređivanja mora biti broj";
$lang["items_reorder_level_required"] = "Nivo preuređivanja je obavezno polje";
$lang["items_retrive_item_info"] = "Preuzmi informacije o artiklu";
$lang["items_sales_tax_1"] = "Prodajni porez";
$lang["items_sales_tax_2"] = "Prodajni porez 2";
$lang["items_search_attributes"] = "Pretraživanje atributa";
$lang["items_select_image"] = "Izaberite sliku";
$lang["items_serialized_items"] = "Artikal ima ser. broj";
$lang["items_standard"] = "Standard";
$lang["items_stock"] = "Skladište";
$lang["items_stock_location"] = "Mjesto skladišta";
$lang["items_stock_type"] = "Vrsta zalihe";
$lang["items_successful_adding"] = "Uspješno ste dodali artikal";
$lang["items_successful_bulk_edit"] = "Uspješno ste ažurirali izabrane artikle";
$lang["items_successful_deleted"] = "Uspješno ste izbrisali artikal";
$lang["items_successful_updating"] = "Uspješno ste ažurirali artikal";
$lang["items_supplier"] = "Dobavljač";
$lang["items_tax_1"] = "Porez 1";
$lang["items_tax_2"] = "Porez 2";
$lang["items_tax_category"] = "Kategorija poreza";
$lang["items_tax_percent"] = "Procenat poreza";
$lang["items_tax_percent_number"] = "Procenat poreza mora biti numerička vrijednost";
$lang["items_tax_percent_required"] = "Procenat poreza je obavezno polje";
$lang["items_tax_percents"] = "Porez %";
$lang["items_temp"] = "Privremeno";
$lang["items_type"] = "Vrsta artikla";
$lang["items_unit_price"] = "MPC";
$lang["items_unit_price_number"] = "MPC mora biti broj";
$lang["items_unit_price_required"] = "MPC je obavezno polje";
$lang["items_upc_database"] = "Baza podataka bar-kodova";
$lang["items_update"] = "Ažuriraj artikal";
$lang["items_use_inventory_menu"] = "Koristite meni zalihe";

View File

@@ -0,0 +1,13 @@
<?php
$lang["login_gcaptcha"] = "Ja nisam robot.";
$lang["login_go"] = "Idi";
$lang["login_invalid_gcaptcha"] = "Pogrešno ja nisam robot.";
$lang["login_invalid_installation"] = "Instalacija nije ispravna, provjerite vašu php.ini datoteku.";
$lang["login_invalid_username_and_password"] = "Pogrešno korisničko ime ili lozinka";
$lang["login_login"] = "Prijava";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "Lozinka";
$lang["login_username"] = "Korisničko ime";
$lang["login_welcome"] = "";

View File

@@ -0,0 +1,14 @@
<?php
$lang["messages_first_name"] = "Ime";
$lang["messages_last_name"] = "Prezime";
$lang["messages_message"] = "Poruka";
$lang["messages_message_placeholder"] = "Vaša poruka ovdje ...";
$lang["messages_message_required"] = "Poruka je obavezna";
$lang["messages_multiple_phones"] = "(U slučaju više primalaca, unesite mobilne brojeve odvojene zarezima)";
$lang["messages_phone"] = "Telefonski broj";
$lang["messages_phone_number_required"] = "Broj telefona je obavezan";
$lang["messages_phone_placeholder"] = "Broj mobilnog telefona ovde...";
$lang["messages_sms_send"] = "Pošalji SMS";
$lang["messages_successfully_sent"] = "Poruka je uspješno poslata: ";
$lang["messages_unsuccessfully_sent"] = "Poruka nije uspešno poslata: ";

View File

@@ -0,0 +1,41 @@
<?php
$lang["module_attributes"] = "Atributi";
$lang["module_attributes_desc"] = "Dodajte, ažurirajte, izbrišite i pretražite atribute.";
$lang["module_both"] = "Oba";
$lang["module_cashups"] = "Isplate";
$lang["module_cashups_desc"] = "Dodajte, ažurirajte, izbrišite i pretražite isplate.";
$lang["module_config"] = "Podešavanja";
$lang["module_config_desc"] = "Promijenite OSPOS-ovu konfiguraciju";
$lang["module_customers"] = "Kupci";
$lang["module_customers_desc"] = "Dodajte, ažurirajte, izbrišite i pretražite kupce";
$lang["module_employees"] = "Zaposleni";
$lang["module_employees_desc"] = "Dodajte, ažurirajte, izbrišite i pretražite zaposlene";
$lang["module_expenses"] = "Troškovi";
$lang["module_expenses_categories"] = "Kategorije";
$lang["module_expenses_categories_desc"] = "Dodajte, ažurirajte, izbrišite i pretražite kategorije.";
$lang["module_expenses_desc"] = "Dodajte, ažurirajte, izbrišite i pretražite troškove.";
$lang["module_giftcards"] = "Poklon bonovi";
$lang["module_giftcards_desc"] = "Dodajte, ažurirajte, izbrišite i pretražite poklon bonove";
$lang["module_home"] = "Početna";
$lang["module_home_desc"] = "Lista modula početnog menija";
$lang["module_item_kits"] = "Kompleti artikala";
$lang["module_item_kits_desc"] = "Dodajte, ažurirajte, izbrišite ili pretražite komplete artikala";
$lang["module_items"] = "Artikli";
$lang["module_items_desc"] = "Dodajte, ažurirajte, izbrišite ili pretražite artikle";
$lang["module_messages"] = "Poruke";
$lang["module_messages_desc"] = "Šaljite poruke kupcima, dobavljačima i zaposlenima.";
$lang["module_migrate"] = "Migracija";
$lang["module_migrate_desc"] = "Ažurirajte OSPOS bazu podataka";
$lang["module_office"] = "Administracija";
$lang["module_office_desc"] = "Lista modula kancelarijskog menija";
$lang["module_receivings"] = "Ulazi";
$lang["module_receivings_desc"] = "Obrada narudžbenice";
$lang["module_reports"] = "Izvještaji";
$lang["module_reports_desc"] = "Pogledajte i generišite izvještaje";
$lang["module_sales"] = "Prodaja";
$lang["module_sales_desc"] = "Obrada prodaje i povrata";
$lang["module_suppliers"] = "Dobavljači";
$lang["module_suppliers_desc"] = "Dodajte, ažurirajte, izbrišite ili pretražite dobavljače";
$lang["module_taxes"] = "Porezi";
$lang["module_taxes_desc"] = "Konfigurišite poreze na promet";

View File

@@ -0,0 +1,54 @@
<?php
$lang["receivings_cancel_receiving"] = "Otkaži";
$lang["receivings_cannot_be_deleted"] = "Ulaz(i) ne mogu biti Izbrisani";
$lang["receivings_comments"] = "Komentar";
$lang["receivings_complete_receiving"] = "Završi";
$lang["receivings_confirm_cancel_receiving"] = "Da li ste sigurni da želite da izbrišete ovaj prijem? Sve stavke će biti izbrisane.";
$lang["receivings_confirm_delete"] = "Da li ste sigurni da želite da izbrišete ovaj prijem? Ova radnja se ne može opozvati.";
$lang["receivings_confirm_finish_receiving"] = "Da li ste sigurni da želite da pošaljete ovaj prijem? Ovo se ne može poništiti.";
$lang["receivings_cost"] = "Trošak";
$lang["receivings_date"] = "Datum";
$lang["receivings_date_required"] = "Mora se unijeti ispravan datum";
$lang["receivings_date_type"] = "Datum je obavezno polje";
$lang["receivings_delete_entire_sale"] = "Izbriši cijelu prodaju";
$lang["receivings_discount"] = "Popust";
$lang["receivings_edit"] = "Uredi";
$lang["receivings_edit_sale"] = "Uređivanje ulaza";
$lang["receivings_employee"] = "Zaposleni";
$lang["receivings_error_editing_item"] = "Uređivanje stavke nije uspjelo";
$lang["receivings_error_requisition"] = "Nije moguće premjestiti zalihu sa ili na istu lokaciju skladišta";
$lang["receivings_find_or_scan_item"] = "Pronađite ili skenirajte artikal";
$lang["receivings_find_or_scan_item_or_receipt"] = "Pronađite ili skenirajte stavku ili račun";
$lang["receivings_id"] = "ID prijema";
$lang["receivings_item_name"] = "Naziv artikla";
$lang["receivings_mode"] = "Način prijema";
$lang["receivings_new_supplier"] = "Novi dobavljač";
$lang["receivings_one_or_multiple"] = "Ulaz(i)";
$lang["receivings_print_after_sale"] = "Štampaj poslije prodaje";
$lang["receivings_quantity"] = "Količina";
$lang["receivings_receipt"] = "Ulazni račun";
$lang["receivings_receipt_number"] = "Ulazni račun #";
$lang["receivings_receiving"] = "Ulaz";
$lang["receivings_reference"] = "Referenca";
$lang["receivings_register"] = "Stavke ulaza";
$lang["receivings_requisition"] = "Trebovanje.";
$lang["receivings_return"] = "Povrat";
$lang["receivings_select_supplier"] = "Izaberite dobavljača (neobavezno)";
$lang["receivings_ship_pack"] = "Otpremanje pakovanja";
$lang["receivings_start_typing_supplier_name"] = "Počnite upisivati ime dobavljača ...";
$lang["receivings_stock"] = "Skladište";
$lang["receivings_stock_destination"] = "Destinacija skladišta";
$lang["receivings_stock_locaiton"] = "Lokacija zaliha";
$lang["receivings_stock_source"] = "Izvor zaliha";
$lang["receivings_successfully_deleted"] = "Uspješno ste izbrisali prijem";
$lang["receivings_successfully_updated"] = "Uspješno ste ažurirali prijem";
$lang["receivings_supplier"] = "Dobavljač";
$lang["receivings_supplier_address"] = "Adresa";
$lang["receivings_supplier_email"] = "E-mail";
$lang["receivings_supplier_location"] = "Mjesto";
$lang["receivings_total"] = "Ukupno";
$lang["receivings_transaction_failed"] = "Transakcija prijema nije uspjela";
$lang["receivings_unable_to_add_item"] = "Dodavanje stavke u prijem nije uspjelo";
$lang["receivings_unsuccessfully_updated"] = "Ažuriranje ulaza nije uspjelo";
$lang["receivings_update"] = "Ažuriraj";

View File

@@ -0,0 +1,141 @@
<?php
$lang["reports_all"] = "Svi";
$lang["reports_authority"] = "Ovlašćenja";
$lang["reports_canceled"] = "Otkazano";
$lang["reports_categories"] = "Kategorije";
$lang["reports_categories_summary_report"] = "Zbirni izvještaj po kategorijama";
$lang["reports_category"] = "Kategorija";
$lang["reports_code_canceled"] = "CNL";
$lang["reports_code_invoice"] = "INV";
$lang["reports_code_pos"] = "POS";
$lang["reports_code_quote"] = "Q";
$lang["reports_code_return"] = "RET";
$lang["reports_code_type"] = "Tip";
$lang["reports_code_work_order"] = "R/N";
$lang["reports_comments"] = "Komentari";
$lang["reports_complete"] = "Završena prodaja i povrat";
$lang["reports_completed_sales"] = "Kompletirana prodaja";
$lang["reports_confirm_delete"] = "Da li ste sigurni da želite da izbrišete izabrani unos?";
$lang["reports_confirm_restore"] = "Da li ste sigurni da želite da vratite izabrani unos?";
$lang["reports_cost"] = "Trošak";
$lang["reports_cost_price"] = "FC";
$lang["reports_count"] = "Broj";
$lang["reports_customer"] = "Kupac";
$lang["reports_customers"] = "Kupci";
$lang["reports_customers_summary_report"] = "Zbirni izvještaj po kupcima";
$lang["reports_date"] = "Datum";
$lang["reports_date_range"] = "Vremenski period";
$lang["reports_description"] = "Opis";
$lang["reports_detailed_receivings_report"] = "Detaljan izvještaj primki";
$lang["reports_detailed_reports"] = "Izvještaji (detaljno)";
$lang["reports_detailed_requisition_report"] = "Izvještaj: Trebovanje robe (detaljno)";
$lang["reports_detailed_sales_report"] = "Izvještaj prodaje (detaljno)";
$lang["reports_discount"] = "Ivještaj o popustu";
$lang["reports_discount_fixed"] = "Fiksni popust";
$lang["reports_discount_percent"] = "Procenat popusta";
$lang["reports_discount_type"] = "Vrsta popusta";
$lang["reports_discounts"] = "Popusti";
$lang["reports_discounts_summary_report"] = "Zbirni izvještaj o popustima";
$lang["reports_earned"] = "Zarađeni bodovi";
$lang["reports_employee"] = "Zaposlenik";
$lang["reports_employees"] = "Zaposleni";
$lang["reports_employees_summary_report"] = "Zbirni izveštaj zaposlenih";
$lang["reports_expenses"] = "Troškovi";
$lang["reports_expenses_amount"] = "Iznos";
$lang["reports_expenses_categories"] = "Troškovi";
$lang["reports_expenses_categories_summary_report"] = "Sažeti izvještaj kategorija rashoda";
$lang["reports_expenses_category"] = "Kategorija";
$lang["reports_expenses_tax_amount"] = "Porez";
$lang["reports_expenses_total_amount"] = "Ukupno";
$lang["reports_expenses_total_tax_amount"] = "Ukupan porez";
$lang["reports_graphical_reports"] = "Grafički izvještaji";
$lang["reports_inventory"] = "Zaliha";
$lang["reports_inventory_low"] = "Niska zaliha";
$lang["reports_inventory_low_report"] = "Izvještaj o niskoj zalihi";
$lang["reports_inventory_reports"] = "Izvještaji zalihe";
$lang["reports_inventory_summary"] = "Sažetak zalihe";
$lang["reports_inventory_summary_report"] = "Sumarni izvještaj zaliha";
$lang["reports_item"] = "Artikl";
$lang["reports_item_count"] = "Filtriraj po broju artikala";
$lang["reports_item_name"] = "Naziv artikla";
$lang["reports_item_number"] = "Barkod";
$lang["reports_items"] = "Artikli";
$lang["reports_items_purchased"] = "Nabavljeni artikli";
$lang["reports_items_received"] = "Primljeni artikli";
$lang["reports_items_summary_report"] = "Sumarni izvještaj artikala";
$lang["reports_jurisdiction"] = "Nadležnost";
$lang["reports_low_inventory"] = "Niska zaliha";
$lang["reports_low_inventory_report"] = "Izvještaj niske zalihe";
$lang["reports_low_sell_quantity"] = "Niska prodaja";
$lang["reports_more_than_zero"] = "Više od nule";
$lang["reports_name"] = "Naziv";
$lang["reports_no_reports_to_display"] = "Nema artikala za prikaz";
$lang["reports_payment_type"] = "Tip plaćanja";
$lang["reports_payments"] = "Plaćanja";
$lang["reports_payments_summary_report"] = "Zbirni izvještaj plaćanja";
$lang["reports_profit"] = "Dobit";
$lang["reports_quantity"] = "Količina";
$lang["reports_quantity_purchased"] = "Nabavna količina";
$lang["reports_quotes"] = "Citati";
$lang["reports_received_by"] = "Primljeno od";
$lang["reports_receiving_id"] = "ID ulaza";
$lang["reports_receiving_type"] = "Tip ulaza";
$lang["reports_receivings"] = "Ulazi";
$lang["reports_reorder_level"] = "Preuređivanje nivoa";
$lang["reports_report"] = "Izvještaj";
$lang["reports_report_input"] = "Ulazni izvještaj";
$lang["reports_reports"] = "Izvještaji";
$lang["reports_requisition"] = "Trebovanje";
$lang["reports_requisition_by"] = "Trebovanje od";
$lang["reports_requisition_id"] = "ID trebovanja";
$lang["reports_requisition_item"] = "Artikal";
$lang["reports_requisition_item_quantity"] = "količina artikla";
$lang["reports_requisition_related_item"] = "Povezani artikal";
$lang["reports_requisition_related_item_total_quantity"] = "Ukupni zahtjev";
$lang["reports_requisition_related_item_unit_quantity"] = "Potrebna količina";
$lang["reports_requisitions"] = "Trebovanja";
$lang["reports_returns"] = "Povrati";
$lang["reports_revenue"] = "Prihod";
$lang["reports_sale_id"] = "ID prodaje";
$lang["reports_sale_type"] = "Tip prodaje";
$lang["reports_sales"] = "Prodaje";
$lang["reports_sales_amount"] = "Iznos transakcija";
$lang["reports_sales_summary_report"] = "Zbirni izvještaj prodaje";
$lang["reports_sales_taxes"] = "Porez na promet";
$lang["reports_sales_taxes_summary_report"] = "Zbirni izvještaj poreza na promet";
$lang["reports_serial_number"] = "Serijski broj";
$lang["reports_sold_by"] = "Prodano od";
$lang["reports_sold_to"] = "Prodano";
$lang["reports_stock_location"] = "Lokacija skladišta";
$lang["reports_sub_total_value"] = "Međuzbir";
$lang["reports_subtotal"] = "Međuzbir";
$lang["reports_summary_reports"] = "Zbirni izvještaj";
$lang["reports_supplied_by"] = "Nabavljeno od";
$lang["reports_supplier"] = "Dobavljač";
$lang["reports_suppliers"] = "Dobavljači";
$lang["reports_suppliers_summary_report"] = "Zbirni izvještaj po dobavljačima";
$lang["reports_tax"] = "Porez";
$lang["reports_tax_category"] = "Kategorija poreza";
$lang["reports_tax_percent"] = "Procenat poreza";
$lang["reports_tax_rate"] = "Poreska stopa";
$lang["reports_taxes"] = "Porezi";
$lang["reports_taxes_summary_report"] = "Zbirni izvještaj poreza";
$lang["reports_total"] = "Ukupno";
$lang["reports_total_inventory_value"] = "Ukupan iznos zalihe";
$lang["reports_total_low_sell_quantity"] = "Ukupna količina niskih prodaja";
$lang["reports_total_quantity"] = "Ukupna količina";
$lang["reports_total_retail"] = "Ukupna vrijednost zalihe na malo";
$lang["reports_trans_amount"] = "Iznos transakcije";
$lang["reports_trans_due"] = "Dug";
$lang["reports_trans_group"] = "Grpa transakcija";
$lang["reports_trans_nopay_sales"] = "Prodaje bez plaćanja";
$lang["reports_trans_payments"] = "Plaćanja";
$lang["reports_trans_refunded"] = "Refundirano";
$lang["reports_trans_sales"] = "Prodaja";
$lang["reports_trans_type"] = "Tip transakcije";
$lang["reports_type"] = "Tip";
$lang["reports_unit_price"] = "MPC";
$lang["reports_used"] = "Korišćeni poeni";
$lang["reports_work_orders"] = "Radni nalozi";
$lang["reports_zero_and_less"] = "Nula i manje";

View File

@@ -0,0 +1,182 @@
<?php
$lang["customers_available_points"] = "Dostupni bodovi";
$lang["rewards_package"] = "Nagrade";
$lang["rewards_remaining_balance"] = "Preostala vrijednost nagradnih bodova je ";
$lang["sales_account_number"] = "Broj računa";
$lang["sales_add_payment"] = "Plaćanje";
$lang["sales_amount_due"] = "Iznos duga";
$lang["sales_amount_tendered"] = "Ponuđeni iznos";
$lang["sales_authorized_signature"] = "Ovlašćeni potpis";
$lang["sales_cancel_sale"] = "Otkaži";
$lang["sales_cash"] = "Gotovina";
$lang["sales_cash_adjustment"] = "";
$lang["sales_cash_deposit"] = "Polog gotovine";
$lang["sales_cash_filter"] = "Gotovina";
$lang["sales_change_due"] = "Kusur";
$lang["sales_change_price"] = "Promjena prodajne cijene";
$lang["sales_check"] = "Ček";
$lang["sales_check_balance"] = "Provjeri razliku";
$lang["sales_check_filter"] = "Ček";
$lang["sales_comment"] = "Komentar";
$lang["sales_comments"] = "Komentari";
$lang["sales_complete_sale"] = "Završeno";
$lang["sales_confirm_cancel_sale"] = "Da li ste sigurni da želite da očistite ovu prodaju? Sve stavke će biti izbrisane.";
$lang["sales_confirm_delete"] = "Da li ste sigurni da želite da izbrišete izabranu prodaju?";
$lang["sales_confirm_restore"] = "Da li ste sigurni da želite da vratite izabranu prodaju?";
$lang["sales_credit"] = "Kreditna kartica";
$lang["sales_credit_deposit"] = "Kreditni depozit";
$lang["sales_credit_filter"] = "Kreditna kartica";
$lang["sales_customer"] = "Kupac";
$lang["sales_customer_address"] = "Adresa kupca";
$lang["sales_customer_discount"] = "Popust";
$lang["sales_customer_email"] = "E-mail kupca";
$lang["sales_customer_location"] = "Mjesto kupca";
$lang["sales_customer_mailchimp_status"] = "Mailchimp status";
$lang["sales_customer_optional"] = "(Potrebno za odloženo plaćanje)";
$lang["sales_customer_required"] = "Obavezno";
$lang["sales_customer_total"] = "Ukupno";
$lang["sales_date"] = "Datum prodaje";
$lang["sales_date_range"] = "Period";
$lang["sales_date_required"] = "Morate unijeti ispravan datum";
$lang["sales_date_type"] = "Datum je obavezno polje";
$lang["sales_debit"] = "Dugovna kartica";
$lang["sales_delete"] = "Dozvoli brisanje";
$lang["sales_delete_confirmation"] = "Da li ste sigurni da želite da izbrišete ovu prodaju? Ova radnja se ne može opozvati?";
$lang["sales_delete_entire_sale"] = "Izbriši cijelu prodaju";
$lang["sales_delete_successful"] = "Prodaja izbrisana uspješna";
$lang["sales_delete_unsuccessful"] = "Brisanje prodaje nije uspjelo";
$lang["sales_description_abbrv"] = "Opis";
$lang["sales_discard"] = "Odbaci";
$lang["sales_discard_quote"] = "";
$lang["sales_discount"] = "Popust";
$lang["sales_discount_included"] = "% Rabat";
$lang["sales_discount_short"] = "%";
$lang["sales_due"] = "Dug";
$lang["sales_due_filter"] = "Dug";
$lang["sales_edit"] = "Uredi";
$lang["sales_edit_item"] = "Uredi artikal";
$lang["sales_edit_sale"] = "Uredi prodaju";
$lang["sales_email_receipt"] = "Potvrda putem e-mail";
$lang["sales_employee"] = "Zaposlenik";
$lang["sales_entry"] = "Ulaz";
$lang["sales_error_editing_item"] = "Greška pri uređivanju artikla";
$lang["sales_find_or_scan_item"] = "Pronađi/Skeniraj artikal";
$lang["sales_find_or_scan_item_or_receipt"] = "Pronađi/Skeniraj artikal ili priznanicu";
$lang["sales_giftcard"] = "Poklon bon";
$lang["sales_giftcard_balance"] = "Saldo poklon bona";
$lang["sales_giftcard_number"] = "Broj poklon bona";
$lang["sales_group_by_category"] = "Grupiraj po kategoriji";
$lang["sales_group_by_type"] = "Grupiraj po tipu";
$lang["sales_hsn"] = "HSN";
$lang["sales_id"] = "ID prodaje";
$lang["sales_include_prices"] = "Uključi cijene?";
$lang["sales_invoice"] = "Faktura";
$lang["sales_invoice_confirm"] = "Ova faktura će biti poslata na";
$lang["sales_invoice_enable"] = "Broj fakture";
$lang["sales_invoice_filter"] = "Fakture";
$lang["sales_invoice_no_email"] = "Kupac nema ispravan e-mail";
$lang["sales_invoice_number"] = "Broj fakture";
$lang["sales_invoice_number_duplicate"] = "Broj fakture %1 mora biti jedinstven";
$lang["sales_invoice_sent"] = "Faktura poslata";
$lang["sales_invoice_total"] = "Ukupan iznos fakture";
$lang["sales_invoice_type_custom_invoice"] = "Prilagođena faktura (custom_invoice.php)";
$lang["sales_invoice_type_custom_tax_invoice"] = "Prilagođena poreska faktura (custom_tax_invoice.php)";
$lang["sales_invoice_type_invoice"] = "Faktura (invoice.php)";
$lang["sales_invoice_type_tax_invoice"] = "Poreska faktura (tax_invoice.php)";
$lang["sales_invoice_unsent"] = "Faktura nije poslata";
$lang["sales_invoice_update"] = "Ažuriranje";
$lang["sales_item_insufficient_of_stock"] = "Artikla nema na zalihi";
$lang["sales_item_name"] = "Naziv artikla";
$lang["sales_item_number"] = "Barkod";
$lang["sales_item_out_of_stock"] = "Stavka je rasprodana";
$lang["sales_mode"] = "Mod registrovanja";
$lang["sales_must_enter_numeric"] = "Morate unijeti numeričku vrijednost za količinu";
$lang["sales_must_enter_numeric_giftcard"] = "Morate unijeti numeričku vrijednost za poklon bon";
$lang["sales_new_customer"] = "Novi kupac";
$lang["sales_new_item"] = "Novi artikal";
$lang["sales_no_description"] = "Nema opisa";
$lang["sales_no_filter"] = "Svi";
$lang["sales_no_items_in_cart"] = "Košarica je prazna";
$lang["sales_no_sales_to_display"] = "Nema artikala za prikaz";
$lang["sales_none_selected"] = "Niste izabrali nijedu prodaju za brisanje";
$lang["sales_nontaxed_ind"] = " ";
$lang["sales_not_authorized"] = "Ova radnja nije ovlašćena.";
$lang["sales_one_or_multiple"] = "Prodaja";
$lang["sales_payment"] = "Tip plaćanja";
$lang["sales_payment_amount"] = "Iznos";
$lang["sales_payment_not_cover_total"] = "Iznos plaćanja mora biti veći ili jednak ukupnom iznosu";
$lang["sales_payment_type"] = "Tip";
$lang["sales_payments_total"] = "Ukupno plaćeno";
$lang["sales_price"] = "Cijena";
$lang["sales_print_after_sale"] = "Štampaj poslije prodaje";
$lang["sales_quantity"] = "Količina";
$lang["sales_quantity_less_than_reorder_level"] = "Upozorenje! Željena količina je ispod minimalne.";
$lang["sales_quantity_less_than_zero"] = "Upozorenje! Željena količina je nedovoljna. Možete nastaviti prodaju, ali provjerite svoju zalihu.";
$lang["sales_quantity_of_items"] = "Količina od %1 stavke(i)";
$lang["sales_quote"] = "Ponuda";
$lang["sales_quote_number"] = "Broj ponude";
$lang["sales_quote_number_duplicate"] = "Broj ponude mora biti jedinstven.";
$lang["sales_quote_sent"] = "Ponuda poslata na";
$lang["sales_quote_unsent"] = "Ponuda nije poslata na";
$lang["sales_receipt"] = "Račun";
$lang["sales_receipt_no_email"] = "Ovaj kupac nema važeću e-mail adresu.";
$lang["sales_receipt_number"] = "Račun br.";
$lang["sales_receipt_sent"] = "Račun poslat";
$lang["sales_receipt_unsent"] = "Račun nije poslat";
$lang["sales_refund"] = "Tip povrata";
$lang["sales_register"] = "Registar prodaje";
$lang["sales_remove_customer"] = "Uklonite kupca";
$lang["sales_return"] = "Povrat";
$lang["sales_rewards"] = "Nagradni bodovi";
$lang["sales_rewards_balance"] = "Bilans nagradnih bodova";
$lang["sales_sale"] = "Prodaja";
$lang["sales_sale_by_invoice"] = "Prodaja po fakturi";
$lang["sales_sale_for_customer"] = "Kupac:";
$lang["sales_sale_time"] = "Vrijeme";
$lang["sales_sales_tax"] = "Porez na promet";
$lang["sales_select_customer"] = "Odaberi kupca";
$lang["sales_send_invoice"] = "Pošalji fakturu";
$lang["sales_send_quote"] = "Pošalji ponudu";
$lang["sales_send_receipt"] = "Pošalji račun";
$lang["sales_send_work_order"] = "Pošalji radni nalog";
$lang["sales_serial"] = "Serijski broj";
$lang["sales_show_invoice"] = "Pokaži fakturu";
$lang["sales_show_receipt"] = "Pokaži račun";
$lang["sales_start_typing_customer_name"] = "Počnite upisivati naziv kupca ...";
$lang["sales_start_typing_item_name"] = "Počnite upisivati naziv artikla ili skenirajte barkod";
$lang["sales_stock"] = "Zaliha";
$lang["sales_stock_location"] = "Lokacija skladišta";
$lang["sales_sub_total"] = "Međuzbir";
$lang["sales_successfully_deleted"] = "Uspješno ste izbrisali";
$lang["sales_successfully_restored"] = "Uspješno ste obnovili";
$lang["sales_successfully_suspended_sale"] = "Obustava prodaje je uspjela";
$lang["sales_successfully_updated"] = "Uspješno ste ažurirali prodaju";
$lang["sales_suspend_sale"] = "Obustavi";
$lang["sales_suspended_doc_id"] = "Dokument";
$lang["sales_suspended_sale_id"] = "ID";
$lang["sales_suspended_sales"] = "Obustavljeno";
$lang["sales_table"] = "Sto";
$lang["sales_takings"] = "Dnevna prodaja";
$lang["sales_tax"] = "Porez";
$lang["sales_tax_id"] = "Porez Id";
$lang["sales_tax_invoice"] = "Poreska faktura";
$lang["sales_tax_percent"] = "Porez %";
$lang["sales_taxed_ind"] = "T";
$lang["sales_total"] = "Ukupno";
$lang["sales_total_tax_exclusive"] = "Porez isključen";
$lang["sales_transaction_failed"] = "Obrada nije ispravna.";
$lang["sales_unable_to_add_item"] = "Artikal nije moguće dodati";
$lang["sales_unsuccessfully_deleted"] = "Prodaju(e) nije moguće izbrisati";
$lang["sales_unsuccessfully_restored"] = "Obnova prodaje(a) nije uspjela.";
$lang["sales_unsuccessfully_suspended_sale"] = "Obustava prodaje nije uspjela";
$lang["sales_unsuccessfully_updated"] = "Prodaju(e) nije moguće ažurirati";
$lang["sales_unsuspend"] = "Odustani";
$lang["sales_unsuspend_and_delete"] = "Akcija";
$lang["sales_update"] = "Ažuriranje";
$lang["sales_upi"] = "UPI";
$lang["sales_work_order"] = "Radni nalog";
$lang["sales_work_order_number"] = "Broj radnog naloga";
$lang["sales_work_order_number_duplicate"] = "Broj radnog naloga mora biti jedinstven.";
$lang["sales_work_order_sent"] = "Radni nalog poslat na";
$lang["sales_work_order_unsent"] = "Slanje radnog naloga nije uspjelo";

View File

@@ -0,0 +1,23 @@
<?php
$lang["suppliers_account_number"] = "Broj računa";
$lang["suppliers_agency_name"] = "Naziv agencije";
$lang["suppliers_cannot_be_deleted"] = "Brisanje izabranih dobavljača nije uspjelo. Jedan ili više njih imaju prodaju.";
$lang["suppliers_category"] = "Kategorija";
$lang["suppliers_company_name"] = "Dobavljač";
$lang["suppliers_company_name_required"] = "Dobavljač je obavezan.";
$lang["suppliers_confirm_delete"] = "Da li ste sigurni da želite da izbrišete izabranog dobavljača?";
$lang["suppliers_confirm_restore"] = "Da li ste sigurni da želite vratiti izabranog dobavljača?";
$lang["suppliers_cost"] = "Trošak dobavljača";
$lang["suppliers_error_adding_updating"] = "Ažuriranje ili dodavanje dobavljača nije uspjelo";
$lang["suppliers_goods"] = "Roba dobavljača";
$lang["suppliers_new"] = "Novi dobavljač";
$lang["suppliers_none_selected"] = "Niste izabrali nijednog dobavljača za brisanje";
$lang["suppliers_one_or_multiple"] = "Dobavljač(i)";
$lang["suppliers_successful_adding"] = "Uspješno ste dodali dobavljača";
$lang["suppliers_successful_deleted"] = "Uspješno ste Izbrisali dobavljača";
$lang["suppliers_successful_updating"] = "Uspješno ste ažurirali dobavljača";
$lang["suppliers_supplier"] = "Dobavljač";
$lang["suppliers_supplier_id"] = "ID";
$lang["suppliers_tax_id"] = "Porez Id";
$lang["suppliers_update"] = "Ažuriranje dobavljača";

View File

@@ -0,0 +1,80 @@
<?php
$lang["taxes_add_exception"] = "Dodaj izuzetak";
$lang["taxes_cascade"] = "Kaskada";
$lang["taxes_cascade_sequence"] = "Kaskadni slijed";
$lang["taxes_city"] = "Mjesto";
$lang["taxes_code"] = "Šifra poreza";
$lang["taxes_confirm_delete"] = "Da li ste sigurni da želite da izbrišete ovu šifru poreza? Ova radnja se ne može opozvati?";
$lang["taxes_confirm_restore"] = "Da li ste sigurni da želite da vratite izabranu šifru poreza?";
$lang["taxes_default_tax_category"] = "Podrazumjevana kategorija";
$lang["taxes_default_tax_rate"] = "Podrazumjevana stopa poreza";
$lang["taxes_error_adding_updating"] = "Dodavanje ili ažuriranje šifre poreza nije uspjelo";
$lang["taxes_group_seq"] = "Grupa Sekv";
$lang["taxes_jurisdiction_name"] = "Naziv nadležnosti";
$lang["taxes_name"] = "Naziv";
$lang["taxes_new"] = "Nova šifra poreza";
$lang["taxes_no_taxes_to_display"] = "Nije dostupna nijedan šifra poreza";
$lang["taxes_reporting_authority"] = "Organ za izvještavanje";
$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_rounding_code"] = "Zaokruživanje";
$lang["taxes_sales_tax"] = "Porez na promet";
$lang["taxes_sales_tax_by_invoice"] = "Porez na promet po fakturi";
$lang["taxes_sequence"] = "Sekv.";
$lang["taxes_state"] = "Država";
$lang["taxes_successful_deleted"] = "Uspješno ste izbrisali";
$lang["taxes_tax_categories"] = "Kategorije poreza";
$lang["taxes_tax_categories_configuration"] = "Konfiguracija poreskih kategorija";
$lang["taxes_tax_categories_saved_successfully"] = "Izmjene poreskih kategorija su snimljene";
$lang["taxes_tax_categories_saved_unsuccessfully"] = "Izmjene poreskih kategorija nisu snimljene";
$lang["taxes_tax_category"] = "Kategorija poreza";
$lang["taxes_tax_category_code"] = "Šifra poreske kategorije";
$lang["taxes_tax_category_duplicate"] = "Duplikat poreske kategorije";
$lang["taxes_tax_category_invalid_chars"] = "Nevažeći znakovi u nazivu kategorije";
$lang["taxes_tax_category_name"] = "Naziv kategorije";
$lang["taxes_tax_category_new"] = "Nova kategorija";
$lang["taxes_tax_category_required"] = "Kategorija poreza je obavezna";
$lang["taxes_tax_code"] = "Šifra poreza";
$lang["taxes_tax_code_cannot_be_deleted"] = "Brisanje šifre poreza nije uspjelo";
$lang["taxes_tax_code_duplicate"] = "Duplikat šifre poreza";
$lang["taxes_tax_code_invalid_chars"] = "Nevažeći znakovi u šifri poreza";
$lang["taxes_tax_code_name"] = "Naziv šifre poreza";
$lang["taxes_tax_code_required"] = "Šifra poreza je obavezna";
$lang["taxes_tax_code_successful_deleted"] = "Uspješno ste izbrisali šifru poreza";
$lang["taxes_tax_code_successful_updated"] = "Uspješno ste ažurirali";
$lang["taxes_tax_code_successful_updating"] = "Uspješno ste ažurirali šifru poreza";
$lang["taxes_tax_code_successfully_added"] = "Uspješno ste dodali";
$lang["taxes_tax_code_type"] = "Vrsta šifre poreza";
$lang["taxes_tax_codes"] = "Šifre poreza";
$lang["taxes_tax_codes_configuration"] = "Konfiguracija šifre poreza";
$lang["taxes_tax_codes_saved_successfully"] = "Izmjena šifre poreza je snimljena";
$lang["taxes_tax_codes_saved_unsuccessfully"] = "Izmjena šifre poreza nije snimljena";
$lang["taxes_tax_excluded"] = "Porez nije uključen";
$lang["taxes_tax_group"] = "Poreska grupa";
$lang["taxes_tax_group_not_unique"] = "Poreska grupa %1 nije jedinstvena";
$lang["taxes_tax_group_sequence"] = "Redoslijed poreske grupe";
$lang["taxes_tax_included"] = "Porez je uključen";
$lang["taxes_tax_jurisdiction"] = "Poreski organ";
$lang["taxes_tax_jurisdiction_duplicate"] = "Duplikat poreskog organa";
$lang["taxes_tax_jurisdiction_invalid_chars"] = "Nevažeći znakovi u nazivu nadležnosti";
$lang["taxes_tax_jurisdiction_required"] = "Poreski organ je obavezan";
$lang["taxes_tax_jurisdictions"] = "Poreski organi";
$lang["taxes_tax_jurisdictions_configuration"] = "Konfiguracija poreskog organa";
$lang["taxes_tax_jurisdictions_saved_successfully"] = "Izmjene poreskog organa su snimljene";
$lang["taxes_tax_jurisdictions_saved_unsuccessfully"] = "Izmjene poreskog organa nisu snimljene";
$lang["taxes_tax_rate"] = "Poreska stopa";
$lang["taxes_tax_rate_configuration"] = "Konfiguracija poreske stope";
$lang["taxes_tax_rate_error_adding_updating"] = "Dodavanje ili ažuriranje poreske stope nije uspjelo";
$lang["taxes_tax_rate_numeric"] = "Stopa poreza mora biti broj";
$lang["taxes_tax_rate_required"] = "Stopa poreza je obavezna";
$lang["taxes_tax_rate_successful_updated"] = "Uspješno ste ažurirali";
$lang["taxes_tax_rate_successfully_added"] = "Uspješno ste dodali";
$lang["taxes_tax_rates"] = "Poreske stope";
$lang["taxes_tax_rates_configuration"] = "Konfiguracija poreskih stopa";
$lang["taxes_tax_rounding"] = "Zaokruživanje poreza";
$lang["taxes_tax_type"] = "Vrsta poreza";
$lang["taxes_update"] = "Ažurirajte porez za kategoriju prodaje";
$lang["taxes_vat_tax"] = "Porez na dodatu vrednost";

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