diff --git a/addons/point_of_sale/doc/barcode_test_sheet2.svg b/addons/point_of_sale/doc/barcode_test_sheet2.svg new file mode 100644 index 00000000000..11f852bd5c9 --- /dev/null +++ b/addons/point_of_sale/doc/barcode_test_sheet2.svg @@ -0,0 +1,1108 @@ + + + + + + + + + + image/svg+xml + + + + + + + BARCODE TEST SHEET + + + + ADMIN + Prefix: 40 + ID: 4447190000 + + + + Prefix: 42 + ID: 1182180000 + + + + CLIENT Joe Bloggs + + + + + + CLIENT Bob Soap + + + Prefix: 21 + ID: 12345 + Value: 67.89Kg + + + + + + + COCA COLA 33CL + + + + + + ID: 5449000000996 + + + + This is a test sheet intended to help you test the codebar aquisition in OpenERP's Point of Sale module. The codes provided in this list are randomly chosen and are encoded in the EAN13 format. Their codesand prefixes are not intended to match any specified standard. + This document is licensed by OpenERP S.A. under the Creative Commons CC BY 3.0 license htttp://www.creativecommons.org + + + + ORANGES: 1.5Kg + + + Prefix: 21 + ID: 12345 + Value: 67.89Kg + + + + + + CASHIER J.Smith + Prefix: 40 + ID: 4447190000 + + + + + CASHIER J.Doe + Prefix: 40 + ID: 4447190000 + + + + + + COCA COLA 1.5L + + + + + + ID: 5449000000996 + + + + + + + CHIMAY BLEUE 33CL + + + + + + ID: 5449000000996 + + + + + + + PIZZA HAWAII + + + + + + ID: 5449000000996 + + + + + + + CROKY PAPRIKA + + + + + + ID: 5449000000996 + + + + + + + MOKA ICE CREAM + + + + + + ID: 5449000000996 + + + + + ORANGES: 0.5Kg + + + Prefix: 21 + ID: 12345 + Value: 67.89Kg + + + + + PEACH: 0.89€ + + + Prefix: 21 + ID: 12345 + Value: 67.89Kg + + + + + PEACH: 1.56€ + + + Prefix: 21 + ID: 12345 + Value: 67.89Kg + + + + + + + OIGNONS 4Kg + + + + + + ID: 5449000000996 + + + + diff --git a/addons/point_of_sale/doc/barcode_test_sheet4.pdf b/addons/point_of_sale/doc/barcode_test_sheet4.pdf new file mode 100644 index 00000000000..aff24aefd9d Binary files /dev/null and b/addons/point_of_sale/doc/barcode_test_sheet4.pdf differ diff --git a/addons/point_of_sale/doc/barcode_test_sheet4.svg b/addons/point_of_sale/doc/barcode_test_sheet4.svg new file mode 100644 index 00000000000..671d862519c --- /dev/null +++ b/addons/point_of_sale/doc/barcode_test_sheet4.svg @@ -0,0 +1,1210 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + Oignons 4Kg + Oignons + Bob Soap (Client) + Joe Bloggs (Client) + J.Doe (Cashier) + J.Smith (Cashier) + Demo User (Cashier) + Admin (Cashier) + Unknown + Coca Cola Zero 1.5l + Coca Cola 33cl + Peaches 1.56€ + Peaches 0.89€ + Peaches + Oranges 1.5Kg + Oranges 0.5Kg + Oranges + Oignons 1.567Kg + + diff --git a/addons/point_of_sale/doc/barcode_test_sheet_new.svg b/addons/point_of_sale/doc/barcode_test_sheet_new.svg new file mode 100644 index 00000000000..57dce3dc013 --- /dev/null +++ b/addons/point_of_sale/doc/barcode_test_sheet_new.svg @@ -0,0 +1,506 @@ + + + + + + + + + + image/svg+xml + + + + + + + + BARCODE TEST SHEET + + + + CASHIER + Prefix: 40 + ID: 4447190000 + + + + Prefix: 42 + ID: 1182180000 + + + + CLIENT + + + + + + WEIGHT + + + Prefix: 21 + ID: 12345 + Value: 67.89Kg + + + + + + DISCOUNT + + + Prefix: 44 + ID: 11111 + Value: 25% + + + + + + PRICE + + + Prefix: 02 + ID: 99999 + Value: 134.50€ + + + + + + + UNIT + + + + + + ID: 5449000000996 + + + + This is a test sheet intended to help you test the codebar aquisition in OpenERP's Point of Sale module. The codes provided in this list are randomly chosen and are encoded in the EAN13 format. Their codesand prefixes are not intended to match any specified standard. + This document is licensed by OpenERP S.A. under the Creative Commons CC BY 3.0 license htttp://www.creativecommons.org + + + + diff --git a/addons/point_of_sale/static/src/img/icons/bancontact.svg b/addons/point_of_sale/static/src/img/icons/bancontact.svg new file mode 100644 index 00000000000..70604078014 --- /dev/null +++ b/addons/point_of_sale/static/src/img/icons/bancontact.svg @@ -0,0 +1,1114 @@ + +image/svg+xmlJakub Steinerhttp://jimmac.musichall.czhomereturngodefaultuserdirectoryTuomas Kuosmanen + + + + + + + + + + + + + + + + +5 92102431 8 +Bancontact +Mistercash + \ No newline at end of file diff --git a/addons/point_of_sale/static/src/img/icons/scan.svg b/addons/point_of_sale/static/src/img/icons/scan.svg new file mode 100644 index 00000000000..4d753acf638 --- /dev/null +++ b/addons/point_of_sale/static/src/img/icons/scan.svg @@ -0,0 +1,984 @@ + +image/svg+xmlJakub Steinerhttp://jimmac.musichall.czhomereturngodefaultuserdirectoryTuomas Kuosmanen + + + + + + + + + + + + + + + + +5 92102431 8 + \ No newline at end of file diff --git a/addons/point_of_sale/static/src/js/TODO.txt b/addons/point_of_sale/static/src/js/TODO.txt new file mode 100644 index 00000000000..2742a0ffa49 --- /dev/null +++ b/addons/point_of_sale/static/src/js/TODO.txt @@ -0,0 +1,35 @@ +- Affichage Catégories doivent respecter le poids +- Affichage Catégories par poids doivent avoir une hiérarchie plate +- Le Onscreen keyboard ne fonctionne plus +- Scrolling dans la sélection produit et dans + la liste de courses +- Réductions +- Redesign liste de courses +- Redesign du receipt +- générer les données de printing +- popups d'erreur certainement buggés +- bugs scans produits par prix par poids +- si pas photo photo par defaut +- WebSQL +- Redesign header, bouton retour aux backend en mode caissière +- bouton exit en mode caissière doit retourner au backend. +- user preferences : désactiver la balance etc. +- posting orders +- login alternatif +- bug ajout ligne payment à zero + curseur dedans + suppression + design plus grand +- si case print via proxy cochée, alors on skip l'ecran receipt +- bouton exit self checkout +- demarrage en mode self-checkout si self-checkout +- produits poid code barre non reconnus +- activer popup client aux écrans self-checkout +- discount pas plus grand que 100 +- numpad state parfois sans state +- numpad state en mode pesée ?? le cacher ? +- numpad dans l'écran payment pour pouvoir entrer le montant +- différence de total. Methode d'arrondis +Bellevue Kriek +Chaufontaine pétillante 33 +Boon Framboise +Chaufontaine pétillante 50 avec discount 50% +- mettre toutes les lignes de payement dans l'order + diff --git a/addons/point_of_sale/tools/eanmaker b/addons/point_of_sale/tools/eanmaker new file mode 100755 index 00000000000..463bd3dedfd --- /dev/null +++ b/addons/point_of_sale/tools/eanmaker @@ -0,0 +1,56 @@ +#!/usr/bin/python + +import sys +import re +import math + +def ean_checksum(eancode): + """returns the checksum of an ean string of length 13, returns -1 if the string has the wrong length""" + if len(eancode) <> 13: + return -1 + oddsum=0 + evensum=0 + total=0 + eanvalue=eancode + reversevalue = eanvalue[::-1] + finalean=reversevalue[1:] + + for i in range(len(finalean)): + if i % 2 == 0: + oddsum += int(finalean[i]) + else: + evensum += int(finalean[i]) + total=(oddsum * 3) + evensum + + check = int(10 - math.ceil(total % 10.0)) %10 + return check + +def check_ean(eancode): + """returns True if eancode is a valid ean13 string, or null""" + if not eancode: + return True + if len(eancode) <> 13: + return False + try: + int(eancode) + except: + return False + return ean_checksum(eancode) == int(eancode[-1]) + +def sanitize_ean13(ean13): + """Creates and returns a valid ean13 from an invalid one""" + if not ean13: + return "0000000000000" + ean13 = re.sub("[A-Za-z]","0",ean13); + ean13 = re.sub("[^0-9]","",ean13); + ean13 = ean13[:13] + if len(ean13) < 13: + ean13 = ean13 + '0' * (13-len(ean13)) + return ean13[:-1] + str(ean_checksum(ean13)) + +def main(): + for arg in sys.argv[1:]: + print sanitize_ean13(arg) + +if __name__ == '__main__': + main()