[IMP] point_of_sale: new weighting workflow

bzr revid: fva@openerp.com-20120709155351-u8cgp4ft14ytwfdw
This commit is contained in:
Frédéric van der Essen
2012-07-09 17:53:51 +02:00
parent 5eec5822cd
commit 0a2c340f92
10 changed files with 491 additions and 245 deletions
+19 -47
View File
@@ -1135,8 +1135,6 @@ class pos_order_line(osv.osv):
pos_order_line()
class pos_category(osv.osv):
PHOTO_SIZE_HEIGHT = 540
PHOTO_SIZE_WIDTH = 450
_name = 'pos.category'
_description = "Point of Sale Category"
_order = "sequence, name"
@@ -1154,38 +1152,6 @@ class pos_category(osv.osv):
(_check_recursion, 'Error ! You cannot create recursive categories.', ['parent_id'])
]
def onchange_photo(self, cr, uid, ids, value, context=None):
if not value:
return {'value': {'photo_big': value, 'photo': value} }
return {
'value': {
'photo_big': self._photo_resize(cr, uid, value, self.PHOTO_SIZE_HEIGHT, self.PHOTO_SIZE_WIDTH, context=context),
'photo': self._photo_resize(cr, uid, value, context=context)
}
}
def _set_photo(self, cr, uid, id, name, value, args, context=None):
if not value:
vals = {'photo_big': value}
else:
vals = {'photo_big': self._photo_resize(cr, uid, value, self.PHOTO_SIZE_HEIGHT, self.PHOTO_SIZE_WIDTH, context=context)}
return self.write(cr, uid, [id], vals, context=context)
def _photo_resize(self, cr, uid, photo, heigth=180, width=150, context=None):
image_stream = io.BytesIO(photo.decode('base64'))
img = Image.open(image_stream)
img.thumbnail((heigth, width), Image.ANTIALIAS)
img_stream = StringIO.StringIO()
img.save(img_stream, "JPEG")
return img_stream.getvalue().encode('base64')
def _get_photo(self, cr, uid, ids, name, args, context=None):
result = dict.fromkeys(ids, False)
for category in self.browse(cr, uid, ids, context=context):
if category.photo_big:
result[category.id] = self._photo_resize(cr, uid, category.photo_big, context=context)
return result
def name_get(self, cr, uid, ids, context=None):
if not len(ids):
return []
@@ -1202,26 +1168,32 @@ class pos_category(osv.osv):
res = self.name_get(cr, uid, ids, context=context)
return dict(res)
def _get_small_image(self, cr, uid, ids, prop, unknow_none, context=None):
result = {}
for obj in self.browse(cr, uid, ids, context=context):
if not obj.category_image:
result[obj.id] = False
continue
image_stream = io.BytesIO(obj.category_image.decode('base64'))
img = Image.open(image_stream)
img.thumbnail((120, 100), Image.ANTIALIAS)
img_stream = StringIO.StringIO()
img.save(img_stream, "JPEG")
result[obj.id] = img_stream.getvalue().encode('base64')
return result
_columns = {
'name': fields.char('Name', size=64, required=True, translate=True),
'complete_name': fields.function(_name_get_fnc, type="char", string='Name'),
'parent_id': fields.many2one('pos.category','Parent Category', select=True),
'child_id': fields.one2many('pos.category', 'parent_id', string='Children Categories'),
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of product categories."),
'photo_big': fields.binary('Big-sized employee photo', help="This field holds the photo of the employee. The photo field is used as an interface to access this field. The image is base64 encoded, and PIL-supported. Full-sized photo are however resized to 540x450 px."),
'photo': fields.function(_get_photo, fnct_inv=_set_photo, string='Employee photo', type="binary",
'category_image': fields.binary('Image'),
'category_image_small': fields.function(_get_small_image, string='Small Image', type="binary",
store = {
'hr.employee': (lambda self, cr, uid, ids, c={}: ids, ['photo_big'], 10),
}, help="Image used as photo for the employee. It is automatically resized as a 180x150 px image. A larger photo is stored inside the photo_big field."),
}
def _default_photo(self, cr, uid, context=None):
photo_path = addons.get_module_resource('point_of_sale','images','default_category_photo.png')
return self._photo_resize(cr, uid, open(photo_path, 'rb').read().encode('base64'), context=context)
_defaults = {
'photo' : _default_photo,
'pos.category': (lambda self, cr, uid, ids, c={}: ids, ['category_image'], 10),
}),
}
pos_category()
@@ -12,28 +12,34 @@
<record id="beverage" model="pos.category">
<field name="name">Beverages</field>
<field name="category_image">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</field>
</record>
<record id="water" model="pos.category">
<field name="parent_id" ref="beverage"/>
<field name="name">Water</field>
<field name="category_image">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</field>
</record>
<record id="plain_water" model="pos.category">
<field name="parent_id" ref="water"/>
<field name="name">Plain Water</field>
<field name="category_image">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</field>
</record>
<record id="sparkling_water" model="pos.category">
<field name="parent_id" ref="water"/>
<field name="name">Sparkling Water</field>
<field name="category_image">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</field>
</record>
<record id="soda" model="pos.category">
<field name="parent_id" ref="beverage"/>
<field name="name">Soda</field>
<field name="category_image">/9j/4AAQSkZJRgABAAEBLAEsAAD/2wCEAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9PjsBCwoKDg0OHBYWHCgoKCgoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//AABEIAEsAZAMBEQACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APZhTAKACgCA3sIvxZMWWVo/MXK8MM4OD3I7j3pXV7DtoT0xBQAUAFABQAUAFABQAGkwQCmAUAQXl9b2MXmTyBQeg7monOMFdjSbOf1TWvtkKi1hVZY2DxSueVYew7dQeehNcVXHw6FqFhRrOpu6nfGqnqFT/HNYvMJD5ETpqt4j/M4PsVGKUcfO4ciNeyvUvI8jhx1WvRoV41VoZyjYsVsIzpde02K6ktmuAZIlDNtBIGc8ZHfisp14Q3Y+VkaeJdLkztnPBxyprN4ykuo+SRct9RtLriGZWJ7dDWkK9OezE00Wa1EBpMEApgUr7VILI7Dl5P7o7fWsateNMaVziPEGtl77fPHuG07FDcDHavLrVnVlsbQjoN0zUxdLlbc7QeuDisOTXYctDZDAjIXHHalOm1qiUywskckA4+YVKacRjLK5+y38ZJwCwU++a2wlVwqoJq6H67rLtO1pbkiNeHYfxH0rrxWKfM4xM4xOdslExuS8W4ySt164GF/pXJKctFYtjZtGIwYmliycnPNRKd1qiuYmhWe2IV3LAdCBipU4rYT1Or0PV/tY+zynMij5WP8AEK9fCYn2is9zKSsbBrrZKKeq3406wefq3RB6ms61T2cLjSucQ13PNIZCxJJyx9a8SpWk2aWJ0hadd0iBvTcKz552BFmGHc+zApJykwJpbdoVBDc1bi49QKbXXlyjtntWUnd3KRqWumrOiyzrnoVX0rqo0OrBslv9LS4t3RcqxHDDqDW0qbErGT4V0yZRPNdqfMEhUA9Pc04U7scmdK0Ksm1lBHpWrgmiTG1GBLcYK8N901w16agCM23nNreRzLwUbNLDzcJpobWh3eQwBHQivfMTnPF0h228Q6fM1cOPeiRUDmkO3H1ryCzSW6BjC46elVKegIEmIfIrNSsxkzXDOvPNW5tgYayG48XWlmD8jZLD2AzRSjzSsNHoCKAMCvWirEikcVVhEVsCu8Y6tmlDQbJTTaEZ+tRb7B27pyK5sVG8Bo5lMtIO9cdNajZ38YKxID1CgV9AtjI5vxYD59uexQj9a4MetionN5rymiiaM4xSaBEqtz1qWtRj9xHfjFOwGPpkgPj21Y+jD9K2w/xD6HpINeoiBJGCoT6CnJ6Ainay7pZApPytg/ln+tZRlqU9i6DxWrZJT1M/8S+bP9w1jWfuMZgaHateX0a4+VTuf6VlhKXNMUnY7c167M0YXiqAvYxTgZ8p8H6H/wDUK5cbC8LlROSIrxmixysOlJoCRWOaloB0j7Uz7U7aAV/Cunm91fUb/bn7NENn++Tn+Sn867cJR5oSfkJvU7uNw8YYcgjIrpi7oY5lyKbWgitawGMsW6scmphGw2yyeOKtiRR1VJZrNoYELySEKAKznFyVkO5c0fS10y0CHDSvy7D+VdlCiqcbGbdy+a1YkRXNul3ayQSfdkXB9qUoqUbMDgr20lsblredcEdD2YeorxK1F05WZomQDjmsWhjlbmlygR3Mo8sgZLHoBTUbiO08MaT/AGTo6RuuJ5j5kvrk9vwGBXuYal7OmkQ3ckRPs07254UfNH7r6fh0/KueUfZza+4tO6J88VSAapGTSQATSbAltEyTIfoK3oR6kyZZroJA0mCAdKYEF5Y21/F5VzEHHY9x9D2qJwjNWaBOxjN4PtgcxXcyjPRgGx/KuaWBg+5XMKPCVvk5uZMdvlGaX1CF92HMWtP8OWFhMJwHnmH3XlIO36ADFa08LTpu6E3c1a6BDJoUmXDjkdCOoqJwU1ZjTsU2tbvdtVk2/wB4n+lcrw9W9k0VzIZHYXaEkyxn86Fhai6oOYmitJD/AK5lA9FOauOHlf3mJyLgAUAAYArpSsSFMANJggoAKACgAoAKACgAoAKACgAoAKACgAoYIP/Z</field>
</record>
<record id="coke" model="pos.category">
<field name="parent_id" ref="soda"/>
<field name="name">Coke</field>
<field name="category_image">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</field>
</record>
<!--<record id="soda_lemon" model="pos.category">-->
<!--<field name="parent_id" ref="soda"/>-->
@@ -42,23 +48,28 @@
<record id="soda_orange" model="pos.category">
<field name="parent_id" ref="soda"/>
<field name="name">Orange</field>
<field name="category_image">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</field>
</record>
<record id="beers" model="pos.category">
<field name="parent_id" ref="beverage"/>
<field name="name">Beers</field>
<field name="category_image">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</field>
</record>
<record id="pils" model="pos.category">
<field name="parent_id" ref="beers"/>
<field name="name">Pils</field>
<field name="category_image">/9j/4AAQSkZJRgABAAEBLAEsAAD/2wCEAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9PjsBCwoKDg0OHBYWHCgoKCgoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//AABEIAEsAZAMBEQACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APZhTAKACgCA3sIvxZMWWVo/MXK8MM4OD3I7j3pXV7DtoT0xBQAUAFABQAUAFABQAGkwQCmAUAQXl9b2MXmTyBQeg7monOMFdjSbOf1TWvtkKi1hVZY2DxSueVYew7dQeehNcVXHw6FqFhRrOpu6nfGqnqFT/HNYvMJD5ETpqt4j/M4PsVGKUcfO4ciNeyvUvI8jhx1WvRoV41VoZyjYsVsIzpde02K6ktmuAZIlDNtBIGc8ZHfisp14Q3Y+VkaeJdLkztnPBxyprN4ykuo+SRct9RtLriGZWJ7dDWkK9OezE00Wa1EBpMEApgUr7VILI7Dl5P7o7fWsateNMaVziPEGtl77fPHuG07FDcDHavLrVnVlsbQjoN0zUxdLlbc7QeuDisOTXYctDZDAjIXHHalOm1qiUywskckA4+YVKacRjLK5+y38ZJwCwU++a2wlVwqoJq6H67rLtO1pbkiNeHYfxH0rrxWKfM4xM4xOdslExuS8W4ySt164GF/pXJKctFYtjZtGIwYmliycnPNRKd1qiuYmhWe2IV3LAdCBipU4rYT1Or0PV/tY+zynMij5WP8AEK9fCYn2is9zKSsbBrrZKKeq3406wefq3RB6ms61T2cLjSucQ13PNIZCxJJyx9a8SpWk2aWJ0hadd0iBvTcKz552BFmGHc+zApJykwJpbdoVBDc1bi49QKbXXlyjtntWUnd3KRqWumrOiyzrnoVX0rqo0OrBslv9LS4t3RcqxHDDqDW0qbErGT4V0yZRPNdqfMEhUA9Pc04U7scmdK0Ksm1lBHpWrgmiTG1GBLcYK8N901w16agCM23nNreRzLwUbNLDzcJpobWh3eQwBHQivfMTnPF0h228Q6fM1cOPeiRUDmkO3H1ryCzSW6BjC46elVKegIEmIfIrNSsxkzXDOvPNW5tgYayG48XWlmD8jZLD2AzRSjzSsNHoCKAMCvWirEikcVVhEVsCu8Y6tmlDQbJTTaEZ+tRb7B27pyK5sVG8Bo5lMtIO9cdNajZ38YKxID1CgV9AtjI5vxYD59uexQj9a4MetionN5rymiiaM4xSaBEqtz1qWtRj9xHfjFOwGPpkgPj21Y+jD9K2w/xD6HpINeoiBJGCoT6CnJ6Ainay7pZApPytg/ln+tZRlqU9i6DxWrZJT1M/8S+bP9w1jWfuMZgaHateX0a4+VTuf6VlhKXNMUnY7c167M0YXiqAvYxTgZ8p8H6H/wDUK5cbC8LlROSIrxmixysOlJoCRWOaloB0j7Uz7U7aAV/Cunm91fUb/bn7NENn++Tn+Sn867cJR5oSfkJvU7uNw8YYcgjIrpi7oY5lyKbWgitawGMsW6scmphGw2yyeOKtiRR1VJZrNoYELySEKAKznFyVkO5c0fS10y0CHDSvy7D+VdlCiqcbGbdy+a1YkRXNul3ayQSfdkXB9qUoqUbMDgr20lsblredcEdD2YeorxK1F05WZomQDjmsWhjlbmlygR3Mo8sgZLHoBTUbiO08MaT/AGTo6RuuJ5j5kvrk9vwGBXuYal7OmkQ3ckRPs07254UfNH7r6fh0/KueUfZza+4tO6J88VSAapGTSQATSbAltEyTIfoK3oR6kyZZroJA0mCAdKYEF5Y21/F5VzEHHY9x9D2qJwjNWaBOxjN4PtgcxXcyjPRgGx/KuaWBg+5XMKPCVvk5uZMdvlGaX1CF92HMWtP8OWFhMJwHnmH3XlIO36ADFa08LTpu6E3c1a6BDJoUmXDjkdCOoqJwU1ZjTsU2tbvdtVk2/wB4n+lcrw9W9k0VzIZHYXaEkyxn86Fhai6oOYmitJD/AK5lA9FOauOHlf3mJyLgAUAAYArpSsSFMANJggoAKACgAoAKACgAoAKACgAoAKACgAoYIP/Z</field>
</record>
<record id="fruity_beers" model="pos.category">
<field name="parent_id" ref="beers"/>
<field name="name">Fruity Beers</field>
<field name="category_image">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</field>
</record>
<record id="special_beers" model="pos.category">
<field name="parent_id" ref="beers"/>
<field name="name">Special Beers</field>
<field name="category_image">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</field>
</record>
<!--<record id="juice" model="pos.category">-->
@@ -73,72 +84,89 @@
<record id="food" model="pos.category">
<field name="name">Food</field>
<field name="category_image">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</field>
</record>
<record id="pizza" model="pos.category">
<field name="parent_id" ref="food"/>
<field name="name">Pizza</field>
<field name="category_image">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</field>
</record>
<record id="ice_cream" model="pos.category">
<field name="parent_id" ref="food"/>
<field name="name">Ice Cream</field>
<field name="category_image">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</field>
</record>
<record id="chips" model="pos.category">
<field name="parent_id" ref="food"/>
<field name="name">Chips</field>
<field name="category_image">/9j/4AAQSkZJRgABAAEBLAEsAAD/2wCEAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9PjsBCwoKDg0OHBYWHCgoKCgoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//AABEIAEsAZAMBEQACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APZhTAKACgCA3sIvxZMWWVo/MXK8MM4OD3I7j3pXV7DtoT0xBQAUAFABQAUAFABQAGkwQCmAUAQXl9b2MXmTyBQeg7monOMFdjSbOf1TWvtkKi1hVZY2DxSueVYew7dQeehNcVXHw6FqFhRrOpu6nfGqnqFT/HNYvMJD5ETpqt4j/M4PsVGKUcfO4ciNeyvUvI8jhx1WvRoV41VoZyjYsVsIzpde02K6ktmuAZIlDNtBIGc8ZHfisp14Q3Y+VkaeJdLkztnPBxyprN4ykuo+SRct9RtLriGZWJ7dDWkK9OezE00Wa1EBpMEApgUr7VILI7Dl5P7o7fWsateNMaVziPEGtl77fPHuG07FDcDHavLrVnVlsbQjoN0zUxdLlbc7QeuDisOTXYctDZDAjIXHHalOm1qiUywskckA4+YVKacRjLK5+y38ZJwCwU++a2wlVwqoJq6H67rLtO1pbkiNeHYfxH0rrxWKfM4xM4xOdslExuS8W4ySt164GF/pXJKctFYtjZtGIwYmliycnPNRKd1qiuYmhWe2IV3LAdCBipU4rYT1Or0PV/tY+zynMij5WP8AEK9fCYn2is9zKSsbBrrZKKeq3406wefq3RB6ms61T2cLjSucQ13PNIZCxJJyx9a8SpWk2aWJ0hadd0iBvTcKz552BFmGHc+zApJykwJpbdoVBDc1bi49QKbXXlyjtntWUnd3KRqWumrOiyzrnoVX0rqo0OrBslv9LS4t3RcqxHDDqDW0qbErGT4V0yZRPNdqfMEhUA9Pc04U7scmdK0Ksm1lBHpWrgmiTG1GBLcYK8N901w16agCM23nNreRzLwUbNLDzcJpobWh3eQwBHQivfMTnPF0h228Q6fM1cOPeiRUDmkO3H1ryCzSW6BjC46elVKegIEmIfIrNSsxkzXDOvPNW5tgYayG48XWlmD8jZLD2AzRSjzSsNHoCKAMCvWirEikcVVhEVsCu8Y6tmlDQbJTTaEZ+tRb7B27pyK5sVG8Bo5lMtIO9cdNajZ38YKxID1CgV9AtjI5vxYD59uexQj9a4MetionN5rymiiaM4xSaBEqtz1qWtRj9xHfjFOwGPpkgPj21Y+jD9K2w/xD6HpINeoiBJGCoT6CnJ6Ainay7pZApPytg/ln+tZRlqU9i6DxWrZJT1M/8S+bP9w1jWfuMZgaHateX0a4+VTuf6VlhKXNMUnY7c167M0YXiqAvYxTgZ8p8H6H/wDUK5cbC8LlROSIrxmixysOlJoCRWOaloB0j7Uz7U7aAV/Cunm91fUb/bn7NENn++Tn+Sn867cJR5oSfkJvU7uNw8YYcgjIrpi7oY5lyKbWgitawGMsW6scmphGw2yyeOKtiRR1VJZrNoYELySEKAKznFyVkO5c0fS10y0CHDSvy7D+VdlCiqcbGbdy+a1YkRXNul3ayQSfdkXB9qUoqUbMDgr20lsblredcEdD2YeorxK1F05WZomQDjmsWhjlbmlygR3Mo8sgZLHoBTUbiO08MaT/AGTo6RuuJ5j5kvrk9vwGBXuYal7OmkQ3ckRPs07254UfNH7r6fh0/KueUfZza+4tO6J88VSAapGTSQATSbAltEyTIfoK3oR6kyZZroJA0mCAdKYEF5Y21/F5VzEHHY9x9D2qJwjNWaBOxjN4PtgcxXcyjPRgGx/KuaWBg+5XMKPCVvk5uZMdvlGaX1CF92HMWtP8OWFhMJwHnmH3XlIO36ADFa08LTpu6E3c1a6BDJoUmXDjkdCOoqJwU1ZjTsU2tbvdtVk2/wB4n+lcrw9W9k0VzIZHYXaEkyxn86Fhai6oOYmitJD/AK5lA9FOauOHlf3mJyLgAUAAYArpSsSFMANJggoAKACgAoAKACgAoAKACgAoAKACgAoYIP/Z</field>
</record>
<record id="fruits" model="pos.category">
<field name="name">Fruits Frais</field>
<field name="category_image">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</field>
</record>
<record id="oranges" model="pos.category">
<field name="parent_id" ref="fruits"/>
<field name="name">Oranges</field>
<field name="category_image">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</field>
</record>
<record id="pomme" model="pos.category">
<field name="parent_id" ref="fruits"/>
<field name="name">Pommes</field>
<field name="category_image">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</field>
</record>
<record id="autres_agrumes" model="pos.category">
<field name="parent_id" ref="fruits"/>
<field name="name">Autres agrumes</field>
<field name="category_image">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</field>
</record>
<record id="poire" model="pos.category">
<field name="parent_id" ref="fruits"/>
<field name="name">Poires</field>
<field name="category_image">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</field>
</record>
<record id="rouges_noyau_fruits" model="pos.category">
<field name="parent_id" ref="fruits"/>
<field name="name">Fruits rouges/Fruits a noyau</field>
<field name="category_image">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</field>
</record>
<record id="raisins" model="pos.category">
<field name="parent_id" ref="fruits"/>
<field name="name">Raisins</field>
<field name="category_image">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</field>
</record>
<record id="legumes" model="pos.category">
<field name="name">Legumes Frais</field>
<field name="category_image">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</field>
</record>
<record id="pommes_de_terre" model="pos.category">
<field name="parent_id" ref="legumes"/>
<field name="name">Pommes de terre</field>
<field name="category_image">/9j/4AAQSkZJRgABAAEBLAEsAAD/2wCEAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9PjsBCwoKDg0OHBYWHCgoKCgoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//AABEIAEsAZAMBEQACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APZhTAKACgCA3sIvxZMWWVo/MXK8MM4OD3I7j3pXV7DtoT0xBQAUAFABQAUAFABQAGkwQCmAUAQXl9b2MXmTyBQeg7monOMFdjSbOf1TWvtkKi1hVZY2DxSueVYew7dQeehNcVXHw6FqFhRrOpu6nfGqnqFT/HNYvMJD5ETpqt4j/M4PsVGKUcfO4ciNeyvUvI8jhx1WvRoV41VoZyjYsVsIzpde02K6ktmuAZIlDNtBIGc8ZHfisp14Q3Y+VkaeJdLkztnPBxyprN4ykuo+SRct9RtLriGZWJ7dDWkK9OezE00Wa1EBpMEApgUr7VILI7Dl5P7o7fWsateNMaVziPEGtl77fPHuG07FDcDHavLrVnVlsbQjoN0zUxdLlbc7QeuDisOTXYctDZDAjIXHHalOm1qiUywskckA4+YVKacRjLK5+y38ZJwCwU++a2wlVwqoJq6H67rLtO1pbkiNeHYfxH0rrxWKfM4xM4xOdslExuS8W4ySt164GF/pXJKctFYtjZtGIwYmliycnPNRKd1qiuYmhWe2IV3LAdCBipU4rYT1Or0PV/tY+zynMij5WP8AEK9fCYn2is9zKSsbBrrZKKeq3406wefq3RB6ms61T2cLjSucQ13PNIZCxJJyx9a8SpWk2aWJ0hadd0iBvTcKz552BFmGHc+zApJykwJpbdoVBDc1bi49QKbXXlyjtntWUnd3KRqWumrOiyzrnoVX0rqo0OrBslv9LS4t3RcqxHDDqDW0qbErGT4V0yZRPNdqfMEhUA9Pc04U7scmdK0Ksm1lBHpWrgmiTG1GBLcYK8N901w16agCM23nNreRzLwUbNLDzcJpobWh3eQwBHQivfMTnPF0h228Q6fM1cOPeiRUDmkO3H1ryCzSW6BjC46elVKegIEmIfIrNSsxkzXDOvPNW5tgYayG48XWlmD8jZLD2AzRSjzSsNHoCKAMCvWirEikcVVhEVsCu8Y6tmlDQbJTTaEZ+tRb7B27pyK5sVG8Bo5lMtIO9cdNajZ38YKxID1CgV9AtjI5vxYD59uexQj9a4MetionN5rymiiaM4xSaBEqtz1qWtRj9xHfjFOwGPpkgPj21Y+jD9K2w/xD6HpINeoiBJGCoT6CnJ6Ainay7pZApPytg/ln+tZRlqU9i6DxWrZJT1M/8S+bP9w1jWfuMZgaHateX0a4+VTuf6VlhKXNMUnY7c167M0YXiqAvYxTgZ8p8H6H/wDUK5cbC8LlROSIrxmixysOlJoCRWOaloB0j7Uz7U7aAV/Cunm91fUb/bn7NENn++Tn+Sn867cJR5oSfkJvU7uNw8YYcgjIrpi7oY5lyKbWgitawGMsW6scmphGw2yyeOKtiRR1VJZrNoYELySEKAKznFyVkO5c0fS10y0CHDSvy7D+VdlCiqcbGbdy+a1YkRXNul3ayQSfdkXB9qUoqUbMDgr20lsblredcEdD2YeorxK1F05WZomQDjmsWhjlbmlygR3Mo8sgZLHoBTUbiO08MaT/AGTo6RuuJ5j5kvrk9vwGBXuYal7OmkQ3ckRPs07254UfNH7r6fh0/KueUfZza+4tO6J88VSAapGTSQATSbAltEyTIfoK3oR6kyZZroJA0mCAdKYEF5Y21/F5VzEHHY9x9D2qJwjNWaBOxjN4PtgcxXcyjPRgGx/KuaWBg+5XMKPCVvk5uZMdvlGaX1CF92HMWtP8OWFhMJwHnmH3XlIO36ADFa08LTpu6E3c1a6BDJoUmXDjkdCOoqJwU1ZjTsU2tbvdtVk2/wB4n+lcrw9W9k0VzIZHYXaEkyxn86Fhai6oOYmitJD/AK5lA9FOauOHlf3mJyLgAUAAYArpSsSFMANJggoAKACgAoAKACgAoAKACgAoAKACgAoYIP/Z</field>
</record>
<record id="legumes_racine" model="pos.category">
<field name="parent_id" ref="legumes"/>
<field name="name">Legumes-racine</field>
<field name="category_image">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</field>
</record>
<record id="tomates" model="pos.category">
<field name="parent_id" ref="legumes"/>
<field name="name">Tomates</field>
<field name="category_image">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</field>
</record>
<record id="oignons_ail_echalotes" model="pos.category">
<field name="parent_id" ref="legumes"/>
<field name="name">Oignons/Ail/Echalotes</field>
<field name="category_image">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</field>
</record>
<record id="autres_legumes_frais" model="pos.category">
<field name="parent_id" ref="legumes"/>
<field name="name">Autres legumes frais</field>
<field name="category_image">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</field>
</record>
+1 -1
View File
@@ -649,7 +649,7 @@
<field name="sequence"/>
</group>
<group colspan="2" col="1">
<field name="photo" widget='image' nolabel="1" on_change="onchange_photo(photo)"/>
<field name="category_image" widget='image' nolabel="1"/>
</group>
</form>
</field>
+160 -24
View File
@@ -1,3 +1,8 @@
@font-face{
font-family: 'Inconsolata';
src: url(../fonts/Inconsolata.otf);
}
.point-of-sale {
padding: 0;
margin: 0;
@@ -13,6 +18,22 @@
-webkit-user-select: none;
}
.point-of-sale .shadow-top{
position: absolute;
top:0;
left:0;
right:0;
height:10px;
background: -webkit-linear-gradient(top,rgba(0,0,0,0.09),rgba(0,0,0,0));
}
.point-of-sale .darker-shadow-top{
position: absolute;
top:0;
left:0;
right:0;
height:10px;
background: -webkit-linear-gradient(top,rgba(0,0,0,0.15),rgba(0,0,0,0));
}
/* ********* The black loading screen ********* */
.point-of-sale .loader{
@@ -298,6 +319,7 @@
}
.point-of-sale .product-list-scroller{
-webkit-box-sizing: border-box;
width:100%;
height:100%;
overflow: hidden;
@@ -308,6 +330,7 @@
bottom:0px;
left:0px;
right:0px;
background: #eeedff;
}
/* a) the product list navigation bar */
@@ -366,26 +389,72 @@
/* c) the categories list */
.point-of-sale #categories {
background:#f0f0f0;
/*background:#f0f0f0;*/
position: relative;
background-image: url('../img/bg.png');
border-bottom: 1px solid #cecbcb;
}
.point-of-sale #categories .white-gradient{
position: absolute;
top:50%;
left:0;
right:0;
bottom:0;
background: -webkit-linear-gradient(bottom,rgba(255,255,255,0.5),rgba(255,255,255,0));
}
.point-of-sale #categories h4 {
display: inline-block;
margin: 9px 5px;
}
.point-of-sale #categories ol {
display: inline;
.point-of-sale .category-list{
padding:10px;
}
.point-of-sale #categories li {
/* d) the category button */
.point-of-sale .category-button {
position: relative;
vertical-align: top;
display: inline-block;
}
.point-of-sale #categories .button {
padding: 6px 14px;
margin: 4px 0;
font-size: 12px;
font-size: 11px;
margin: 5px;
width: 120px;
height:120px;
background:#fff;
border: 1px solid #fff;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
border-radius: 3px;
-moz-box-shadow: 0px 1px 8px #777777;
-webkit-box-shadow: 0px 1px 8px rgba(0,0,0,0.2);
-box-shadow: 0px 1px 8px rgba(0,0,0,0.9);
cursor: pointer;
}
/* d) the product */
.point-of-sale .category-button .category-img {
position: relative;
width: 120px;
height: 100px;
text-align: center;
cursor: pointer;
}
.point-of-sale .category-button .category-name {
position: absolute;
-webkit-box-sizing: border-box;
top:auto;
left: 2px;
right: 2px;
bottom: 2px;
background: #8a89ba; /*-webkit-linear-gradient(-90deg,rgba(138,137,186,0),rgba(138,137,186,1), rgba(138,137,186,1));*/
padding: 3px;
/*color:#8a89ba;*/
color: #FFF;
cursor: pointer;
-webkit-border-radius: 2px;
}
/* e) the product */
.point-of-sale .product {
position:relative;
@@ -411,7 +480,6 @@
height: 100px;
background: white;
text-align: center;
-webkit-filter: blur(3px);
}
.point-of-sale .product .price-tag {
@@ -427,19 +495,6 @@
border-radius: 3px;
}
.point-of-sale .product .price-subtag {
position: absolute;
top: 24px;
right: 2px;
vertical-align: top;
color: white;
background: #7f82ac;
padding: 2px 5px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}
.point-of-sale .product .product-name {
position: absolute;
-webkit-box-sizing: border-box;
@@ -587,6 +642,87 @@
}
}
/* d) The Scale screen */
.point-of-sale .scale-screen .display{
position:relative;
width:600px;
height:190px;
margin-top: 100px;
margin-left: auto;
margin-right: auto;
}
.point-of-sale .scale-screen .product-picture {
-webkit-box-sizing: border-box;
display: float;
float: right;
margin: 5px;
width: 180px;
height:180px;
line-height:180px;
cursor:pointer;
background:#fff;
border: 1px solid #fff;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
border-radius: 3px;
-moz-box-shadow: 0px 1px 8px #777777;
-webkit-box-shadow: 0px 1px 8px rgba(0,0,0,0.2);
-box-shadow: 0px 1px 8px rgba(0,0,0,0.9);
}
.point-of-sale .scale-screen .product-picture img{
vertical-align: middle;
cursor:pointer;
}
.point-of-sale .scale-screen .product-picture .product-price{
position: absolute;
top:8px;
right:8px;
width:auto;
height:auto;
line-height:1;
color:white;
background: #7f82ac;
padding: 2px 5px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
cursor:pointer;
}
.point-of-sale .scale-screen .product-name {
position: absolute;
left:0;
top:20px;
height:50px;
font-size:40px;
line-height:50px;
text-align:right;
right:225px;
}
.point-of-sale .scale-screen .weight{
position: absolute;
left:0;
height:90px;
bottom:15px;
right:220px;
padding:5px;
}
.point-of-sale .scale-screen .weight p{
display: inline-block;
text-align:right;
line-height: 90px;
font-size: 80px;
width:100%;
height:100%;
margin:0;
font-family: "Inconsolata";
}
/* ********* The OrderWidget ********* */
.point-of-sale .order-container{
@@ -11,9 +11,10 @@ function openerp_pos_devices(instance,module){ //module is instance.point_of_sal
deactivate: function(){
this.active = false;
},
accept_payment: function(){ this.payment_status = 'payment_accepted'; },
reject_payment: function(){ this.payment_status = 'payment_rejected'; },
delay_payment: function(){ this.payment_status = 'waiting_for_payment'; },
set_weight: function(weight){ this.activate(); this.weight = weight; },
accept_payment: function(){ this.activate(); this.payment_status = 'payment_accepted'; },
reject_payment: function(){ this.activate(); this.payment_status = 'payment_rejected'; },
delay_payment: function(){ this.activate(); this.payment_status = 'waiting_for_payment'; },
}))();
// this object interfaces with the local proxy to communicate to the various hardware devices
@@ -47,9 +47,8 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
});
var fetch = function(osvModel, fields, domain){
var dataSetSearch = new instance.web.DataSetSearch(null, osvModel, {}, domain);
return dataSetSearch.read_slice(fields, 0);
var fetch = function(model, fields, domain){
return new instance.web.Model(model).query(fields).filter(domain).all()
};
// The PosModel contains the Point Of Sale's representation of the backend.
@@ -115,7 +114,36 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
// We fetch the backend data on the server asynchronously
var cat_def = fetch('pos.category', ['id','name', 'parent_id', 'child_id', 'to_weight'])
var user_def = fetch('res.users',['name','company_id'],[['id','=',this.session.uid]])
.pipe(function(users){
var user = users[0];
self.set('user',user);
console.log('USER_DONE');
return fetch('res.company',
[
'currency_id',
'email',
'website',
'company_registry',
//TODO contact_address
'vat',
'name',
'phone'
],
[['id','=',user.company_id[0]]])
}).pipe(function(companies){
var company = companies[0];
self.set('company',company);
console.log('COMPANY_DONE');
return fetch('res.currency',['symbol','position'],[['id','=',company.currency_id[0]]]);
}).pipe(function (currencies){
self.set('currency',currencies[0]);
console.log('CURRENCY_DONE');
});
var cat_def = fetch('pos.category', ['id','name', 'parent_id', 'child_id', 'category_image_small'])
.pipe(function(result){
return self.set({'categories': result});
});
@@ -201,15 +229,22 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
'iface_payment_terminal', 'iface_electronic_scale', 'iface_barscan', 'iface_vkeyboard',
'iface_print_via_proxy','state','sequence_id','session_ids'],
[['id','=', pos_session.config_id[0]]]
).then(function(result){
self.set({'pos_config': result[0]});
self.use_scale = result[0].iface_electronic_scale || false;
self.use_proxy_printer = result[0].iface_print_via_proxy || false;
self.use_virtual_keyboard = result[0].iface_vkeyboard || false;
self.use_websql = result[0].iface_websql || false;
self.use_barcode_scanner = result[0].iface_barscan || false;
self.use_selfcheckout = result[0].iface_self_checkout || false;
).pipe(function(result){
var pos_config = result[0]
self.set({'pos_config': pos_config});
self.use_scale = pos_config.iface_electronic_scale || false;
self.use_proxy_printer = pos_config.iface_print_via_proxy || false;
self.use_virtual_keyboard = pos_config.iface_vkeyboard || false;
self.use_websql = pos_config.iface_websql || false;
self.use_barcode_scanner = pos_config.iface_barscan || false;
self.use_selfcheckout = pos_config.iface_self_checkout || false;
console.log('POS_CONFIG_DONE');
return shop_def = fetch('sale.shop',[], [['id','=',pos_config.shop_id[0]]])
}).pipe(function(shops){
self.set('shop',shops[0]);
console.log('SHOP_DONE');
});
var bank_def = fetch(
@@ -255,7 +290,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
});
// when all the data has loaded, we compute some stuff, and declare the Pos ready to be used.
$.when(cat_def, prod_def, user_def, uom_def, session_def, tax_def, prod_process_def, this.get_app_data(), this.flush())
$.when(cat_def, prod_def, user_def, uom_def, session_def, tax_def, prod_process_def, user_def, this.flush())
.then(function(){
//self.build_tree();
self.build_categories();
@@ -302,26 +337,6 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
}
},
// load some data from the server, used in initialize
get_app_data: function() {
var self = this;
return $.when(new instance.web.Model("sale.shop").get_func("search_read")([]).pipe(function(result) {
self.set({'shop': result[0]});
var company_id = result[0]['company_id'][0];
return new instance.web.Model("res.company").get_func("read")(company_id, ['currency_id', 'name', 'phone']).pipe(function(result) {
self.set({'company': result});
var currency_id = result['currency_id'][0]
return new instance.web.Model("res.currency").get_func("read")([currency_id],
['symbol', 'position']).pipe(function(result) {
self.set({'currency': result[0]});
});
});
}), new instance.web.Model("res.users").get_func("read")(this.session.uid, ['name']).pipe(function(result) {
self.set({'user': result});
}));
},
push_order: function(record) {
var self = this;
return this.dao.add_operation(record).pipe(function(){
@@ -690,7 +705,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
model: module.Orderline,
});
// Every PaymentLine contains a cashregister and an amount CashRegister.
// Every PaymentLine contains a cashregister and an amount of money.
module.Paymentline = Backbone.Model.extend({
initialize: function(attributes, options) {
this.amount = 0;
@@ -747,17 +762,21 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
});
this.pos = attributes.pos;
this.selected_orderline = undefined;
this.screen_data = {}; // see ScreenSelector
return this;
},
generateUniqueId: function() {
return new Date().getTime();
},
addProduct: function(product){
addProduct: function(product,quantity){
var attr = product.toJSON();
attr.pos = this.pos;
attr.order = this;
var line = new module.Orderline({}, {pos: this.pos, order: this, product: product});
var self = this;
if(quantity !== undefined){
line.set_quantity(quantity);
}
var last_orderline = this.getLastOrderline();
if( last_orderline && last_orderline.can_be_merged_with(line) ){
@@ -811,6 +830,22 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
getDueLeft: function() {
return this.getTotal() - this.getPaidTotal();
},
// the order also stores the screen status, as the PoS supports
// different active screens per order. This method is used to
// store the screen status, and is used by
set_screen_data: function(key,value){
if(arguments.length === 2){
this.screen_data[key] = value;
}else if(arguments.length === 1){
for(key in arguments[0]){
this.screen_data[key] = arguments[0][key];
}
}
},
//see set_screen_data
get_screen_data: function(key){
return this.screen_data[key];
},
export_for_printing: function(){
var orderlines = [];
this.get('orderLines').each(function(orderline){
@@ -821,8 +856,10 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
this.get('paymentLines').each(function(paymentline){
paymentlines.push(paymentline.export_for_printing());
});
var client = this.pos.get('client');
var client = this.pos.get('client');
var cashier = this.pos.get('cashier') || this.pos.get('user');
var company = this.pos.get('company');
var shop = this.pos.get('shop');
var date = new Date();
return {
@@ -844,6 +881,18 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
hour: date.getHours(),
minute: date.getMinutes()
},
company:{
email: company.email,
website: company.website,
company_registry: company.company_registry,
contact_address: null, //TODO
vat: company.vat,
name: company.name,
phone: company.phone,
},
shop:{
name: shop.name,
},
currency: this.pos.get('currency'),
};
},
+112 -79
View File
@@ -44,8 +44,7 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
}
this.selected_order = this.pos.get('selectedOrder');
this.selected_order.set({
user_mode : this.current_mode,
this.selected_order.set_screen_data({
client_screen: this.default_client_screen,
cashier_screen: this.default_cashier_screen,
});
@@ -76,9 +75,9 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
var selectedOrder = this.pos.get('selectedOrder');
if(this.current_mode === 'client'){
this.set_current_screen(selectedOrder.get('client_screen') || this.default_client_screen);
this.set_current_screen(selectedOrder.get_screen_data('client_screen') || this.default_client_screen);
}else if(this.current_mode === 'cashier'){
this.set_current_screen(selectedOrder.get('cashier_screen') || this.default_cashier_screen);
this.set_current_screen(selectedOrder.get_screen_data('cashier_screen') || this.default_cashier_screen);
}
this.selected_order = selectedOrder;
},
@@ -92,15 +91,21 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
get_user_mode: function(){
return this.current_mode;
},
set_current_screen: function(screen_name){
set_current_screen: function(screen_name,params){
var screen = this.screen_set[screen_name];
this.close_popup();
var selectedOrder = this.pos.get('selectedOrder');
if(this.current_mode === 'client'){
selectedOrder.set({'client_screen': screen_name});
selectedOrder.set_screen_data('client_screen',screen_name);
if(params){
selectedOrder.set_screen_data('client_screen_params',params);
}
}else{
selectedOrder.set({'cashier_screen': screen_name});
selectedOrder.set_screen_data('cashier_screen',screen_name);
if(params){
selectedOrder.set_screen_data('cashier_screen_params',params);
}
}
if(screen && screen !== this.current_screen){
@@ -112,6 +117,19 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
this.current_screen.show();
}
},
get_current_screen_param: function(param){
var selected_order = this.pos.get('selectedOrder');
if(this.current_mode === 'client'){
var params = selected_order.get_screen_data('client_screen_params');
}else{
var params = selected_order.get_screen_data('cashier_screen_params');
}
if(params){
return params[param];
}else{
return undefined;
}
},
set_default_screen: function(){
this.set_current_screen(this.current_mode === 'client' ? this.default_client_screen : this.default_cashier_screen);
},
@@ -135,7 +153,13 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
this.pos_widget.screen_selector.set_user_mode('client');
},
barcode_product_screen: 'scan', //if defined, this screen will be loaded when a product is scanned
close_button_action: function(){
console.log("Close!");
this.pos_widget.try_close();
//TODO
},
barcode_product_screen: 'products', //if defined, this screen will be loaded when a product is scanned
barcode_product_error_popup: 'error', //if defined, this popup will be loaded when there's an error in the popup
// what happens when a product is scanned :
@@ -213,8 +237,8 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
this.pos_widget.set_leftpane_visible(this.show_leftpane);
this.pos_widget.set_cashier_controls_visible(cashier_mode);
this.pos_widget.action_bar.set_element_visible('help-button', !cashier_mode, function(){ self.help_button_action(); });
this.pos_widget.action_bar.set_element_visible('logout-button', cashier_mode, function(){ self.logout_button_action(); });
this.pos_widget.action_bar.set_element_visible('close-button', cashier_mode);
this.pos_widget.action_bar.set_element_visible('logout-button', cashier_mode && this.pos.use_selfcheckout, function(){ self.logout_button_action(); });
this.pos_widget.action_bar.set_element_visible('close-button', cashier_mode, function(){ self.close_button_action(); });
this.pos_widget.username.set_user_mode(this.pos_widget.screen_selector.get_user_mode());
@@ -288,22 +312,6 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
},
});
module.ReceiptPopupWidget = module.PopUpWidget.extend({
template:'ReceiptPopupWidget',
show: function(){
this._super();
var self = this;
this.$element.find('.receipt').off('click').click(function(){
console.log('TODO receipt'); //TODO
self.pos_widget.screen_selector.set_current_screen('scan');
});
this.$element.find('.invoice').off('click').click(function(){
console.log('TODO invoice'); //TODO
self.pos_widget.screen_selector.set_current_screen('scan');
});
},
});
module.ErrorPopupWidget = module.PopUpWidget.extend({
template:'ErrorPopupWidget',
show: function(){
@@ -345,12 +353,13 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
var self = this;
self.pos.proxy.weighting_start();
console.log('Active product:',self.pos_widget.screen_selector.get_current_screen_param('product'));
this.intervalID = setInterval(function(){
var weight = self.pos.proxy.weighting_read_kg();
if(weight > 0.001){
clearInterval(this.intervalID);
self.pos_widget.screen_selector.set_current_screen('scale_product');
self.pos_widget.screen_selector.set_current_screen('scale');
}
},500);
@@ -361,11 +370,7 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
click: function(){
clearInterval(this.intervalID);
self.pos.proxy.weighting_end();
if( self.pos_widget.screen_selector.get_user_mode() === 'client'){
self.pos_widget.screen_selector.set_current_screen('scan');
}else{
self.pos_widget.screen_selector.set_current_screen('products');
}
self.pos_widget.screen_selector.set_current_screen('products');
}
}
);
@@ -376,9 +381,11 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
},
});
/*
module.ScaleProductScreenWidget = module.ScreenWidget.extend({
template:'ScaleProductSelectionScreenWidget',
start: function(){
var self = this;
this.product_categories_widget = new module.ProductCategoriesWidget(this,{
pos:this.pos,
product_type: 'weightable',
@@ -387,6 +394,10 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
this.product_list_widget = new module.ProductListWidget(this,{
show_scale: true,
click_product_action: function(product){
self.pos.get('selectedOrder').addProduct(product);
self.pos_widget.screen_selector.set_current_screen('products');
},
});
this.product_list_widget.replace($('.placeholder-ProductListWidget'));
},
@@ -405,7 +416,6 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
self.pos_widget.screen_selector.set_current_screen('scan');
}
});
this.product_list_widget.set_next_screen('scan');
}else{
this.pos_widget.action_bar.add_new_button({
label: 'back',
@@ -414,7 +424,6 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
self.pos_widget.screen_selector.set_current_screen('products');
}
});
this.product_list_widget.set_next_screen('products');
}
this.pos.proxy.weighting_start();
@@ -434,13 +443,31 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
clearInterval(this.intervalID);
this.pos.proxy.weighting_end();
},
});
});*/
module.ScaleScreenWidget = module.ScreenWidget.extend({
template:'ScaleScreenWidget',
show: function(){
this._super();
this.renderElement();
var self = this;
this.pos_widget.action_bar.add_new_button({
label: 'back',
icon: '/point_of_sale/static/src/img/icons/png48/go-previous.png',
click: function(){
self.pos_widget.screen_selector.set_current_screen('products');
}
});
this.validate_button = this.pos_widget.action_bar.add_new_button({
label: 'Validate',
icon: '/point_of_sale/static/src/img/icons/png48/validate.png',
click: function(){
self.order_product();
self.pos_widget.screen_selector.set_current_screen('products');
},
});
this.pos.proxy.weighting_start();
this.intervalID = setInterval(function(){
@@ -449,7 +476,43 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
self.weight = weight;
self.renderElement();
}
},500);
},200);
},
renderElement: function(){
var self = this;
this._super();
this.$('.product-picture').click(function(){
self.order_product();
self.pos_widget.screen_selector.set_current_screen('products');
});
},
get_product: function(){
var ss = this.pos_widget.screen_selector;
if(ss){
return ss.get_current_screen_param('product');
}else{
return undefined;
}
},
order_product: function(){
var weight = this.pos.proxy.weighting_read_kg();
this.pos.get('selectedOrder').addProduct(this.get_product(),weight);
},
get_product_name: function(){
var product = this.get_product();
console.log('PRoduct?',product);
return (product ? product.get('name') : undefined) || 'Unnamed Product';
},
get_product_price: function(){
var product = this.get_product();
return (product ? product.get('list_price') : 0) || 0;
},
get_product_image: function(){
var product = this.get_product();
return product ? product.get('product_image_small') : undefined;
},
get_product_weight: function(){
return this.weight || 0;
},
close: function(){
this._super();
@@ -525,6 +588,7 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
var self = this;
if(this.pos.use_scale){
//FIXME
this.pos_widget.action_bar.add_new_button({
label: 'weight',
icon: '/point_of_sale/static/src/img/icons/png48/scale.png',
@@ -535,48 +599,27 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
}
},
});
module.ScanProductScreenWidget = module.ScreenWidget.extend({
template:'ScanProductScreenWidget',
show_numpad: false,
show_leftpane: true,
show: function(){
this._super();
var self = this;
if(self.pos.use_scale){
this.pos_widget.action_bar.add_new_button({
label: 'weight',
icon: '/point_of_sale/static/src/img/icons/png48/scale.png',
click: function(){
self.pos_widget.screen_selector.set_current_screen('scale_invite');
}
});
}
this.pos_widget.action_bar.add_new_button({
label: 'pay',
icon: '/point_of_sale/static/src/img/icons/png48/go-next.png',
click: function(){
self.pos_widget.screen_selector.set_current_screen('client_payment');
}
});
},
});
module.SearchProductScreenWidget = module.ScreenWidget.extend({
template:'SearchProductScreenWidget',
module.ProductScreenWidget = module.ScreenWidget.extend({
template:'ProductScreenWidget',
show_numpad: true,
show_leftpane: true,
start: function(){ //FIXME this should work as renderElement... but then the categories aren't properly set. explore why
var self = this;
this.product_categories_widget = new module.ProductCategoriesWidget(this,{});
this.product_categories_widget.replace($('.placeholder-ProductCategoriesWidget'));
this.product_list_widget = new module.ProductListWidget(this,{});
this.product_list_widget = new module.ProductListWidget(this,{
click_product_action: function(product){
if(product.get('to_weight') && self.pos.use_scale){
self.pos_widget.screen_selector.set_current_screen('scale_invite', {product: product});
}else{
self.pos.get('selectedOrder').addProduct(product);
}
},
});
this.product_list_widget.replace($('.placeholder-ProductListWidget'));
},
@@ -587,16 +630,6 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
this.product_categories_widget.reset_category();
this.pos_widget.order_widget.set_numpad_state(this.pos_widget.numpad.state);
if(this.pos.use_scale){
this.pos_widget.action_bar.add_new_button({
label: 'weight',
icon: '/point_of_sale/static/src/img/icons/png48/scale.png',
click: function(){
self.pos_widget.screen_selector.set_current_screen('scale_invite');
}
});
}
},
close: function(){
@@ -211,8 +211,9 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
init: function(parent, options) {
this._super(parent,options);
this.model = options.model;
this.model.attributes.weight = options.weight || undefined;
this.next_screen = options.next_screen || undefined;
this.model.attributes.weight = options.weight;
this.next_screen = options.next_screen;
this.click_product_action = options.click_product_action;
},
add_to_order: function(event) {
/* Preserve the category URL */
@@ -223,16 +224,12 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
this.model.attributes.weight = weight;
this.renderElement();
},
set_next_screen: function(screen){
this.next_screen = screen;
},
renderElement: function() {
this._super();
var self = this;
$("a", this.$element).click(function(e){
self.add_to_order(e);
if(self.next_screen){
self.pos_widget.screen_selector.set_current_screen(self.next_screen); //FIXME There ought to be a better way to do this ...
if(self.click_product_action){
self.click_product_action(self.model);
}
});
},
@@ -407,6 +404,21 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
renderElement: function(){
var self = this;
this._super();
_.each(this.subcategories, function(category){
var button = QWeb.render('CategoryButton',{category:category});
button = _.str.trim(button);
$(button).appendTo(this.$('.category-list')).click(function(event){
var id = category.id;
console.log('Clicked category:',category);
var cat = self.pos.categories_by_id[id];
self.set_category(cat);
self.renderElement();
self.search_and_categories(cat);
console.log('coucou');
});
});
// breadcrumb click actions
this.$(".oe-pos-categories-list a").click(function(event){
var id = $(event.target).data("category-id");
var category = self.pos.categories_by_id[id];
@@ -490,6 +502,7 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
this.weight = options.weight || 0;
this.show_scale = options.show_scale || false;
this.next_screen = options.next_screen || false;
this.click_product_action = options.click_product_action;
this.pos.get('products').bind('reset', function(){
self.renderElement();
@@ -500,11 +513,6 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
this.product_list[i].set_weight(weight);
}
},
set_next_screen: function(screen){
for(var i = 0; i < this.product_list.length; i++){
this.product_list[i].set_next_screen(screen);
}
},
renderElement: function() {
var self = this;
this._super();
@@ -515,6 +523,7 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
var product = new module.ProductWidget(self, {
model: product,
weight: self.weight,
click_product_action: self.click_product_action,
})
self.product_list.push(product);
return product;
@@ -524,7 +533,12 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
this.scrollbar = new module.ScrollbarWidget(this,{
target_widget: this,
target_selector: '.product-list-scroller',
name: 'product-list',
on_show: function(){
self.$('.product-list-scroller').css({'padding-right':'62px'},100);
},
on_hide: function(){
self.$('.product-list-scroller').css({'padding-right':'0px'},100);
},
});
this.scrollbar.replace(this.$('.placeholder-ScrollbarWidget'));
@@ -620,7 +634,7 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
self.build_currency_template();
self.renderElement();
self.$('button#neworder-button').click(_.bind(self.create_new_order, self));
self.$('.neworder-button').click(_.bind(self.create_new_order, self));
//when a new order is created, add an order button widget
self.pos.get('orders').bind('add', function(new_order){
@@ -664,11 +678,8 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
// -------- Screens ---------
this.search_product_screen = new module.SearchProductScreenWidget(this,{});
this.search_product_screen.appendTo($('#rightpane'));
this.scan_product_screen = new module.ScanProductScreenWidget(this,{});
this.scan_product_screen.appendTo($('#rightpane'));
this.product_screen = new module.ProductScreenWidget(this,{});
this.product_screen.appendTo($('#rightpane'));
this.receipt_screen = new module.ReceiptScreenWidget(this, {});
this.receipt_screen.appendTo($('#rightpane'));
@@ -685,17 +696,14 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
this.scale_invite_screen = new module.ScaleInviteScreenWidget(this, {});
this.scale_invite_screen.appendTo($('#rightpane'));
this.scale_product_screen = new module.ScaleProductScreenWidget(this, {});
this.scale_product_screen.appendTo($('#rightpane'));
this.scale_screen = new module.ScaleScreenWidget(this,{});
this.scale_screen.appendTo($('#rightpane'));
// -------- Popups ---------
this.help_popup = new module.HelpPopupWidget(this, {});
this.help_popup.appendTo($('.point-of-sale'));
this.receipt_popup = new module.ReceiptPopupWidget(this, {});
this.receipt_popup.appendTo($('.point-of-sale'));
this.error_popup = new module.ErrorPopupWidget(this, {});
this.error_popup.appendTo($('.point-of-sale'));
@@ -735,12 +743,11 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
this.screen_selector = new module.ScreenSelector({
pos: this.pos,
screen_set:{
'products': this.search_product_screen,
'scan': this.scan_product_screen,
'products': this.product_screen,
'payment' : this.payment_screen,
'client_payment' : this.client_payment_screen,
'scale_invite' : this.scale_invite_screen,
'scale_product' : this.scale_product_screen,
'scale': this.scale_screen,
'receipt' : this.receipt_screen,
'welcome' : this.welcome_screen,
},
@@ -749,7 +756,6 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
'error': this.error_popup,
'error-product': this.error_product_popup,
'error-session': this.error_session_popup,
'receipt': this.receipt_popup,
},
default_client_screen: 'welcome',
default_cashier_screen: 'products',
@@ -869,8 +875,9 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
},
try_close: function() {
var self = this;
self.pos.flush().then(_.bind(function() {
var close = _.bind(this.close, this);
self.pos.flush().then(function() {
self.close();
/*
if (self.pos.get('nbr_pending_operations').length > 0) {
var confirm = false;
$(QWeb.render('PosCloseWarning')).dialog({
@@ -895,12 +902,12 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
});
} else {
close();
}
}, this));
}*/
});
},
close: function() {
this.pos.barcode_reader.disconnect();
return new session.web.Model("ir.model.data").get_func("search_read")([['name', '=', 'action_pos_close_statement']], ['res_id']).pipe(
return new instance.web.Model("ir.model.data").get_func("search_read")([['name', '=', 'action_pos_close_statement']], ['res_id']).pipe(
_.bind(function(res) {
return this.rpc('/web/action/load', {'action_id': res[0]['res_id']}).pipe(_.bind(function(result) {
var action = result.result;
+40 -20
View File
@@ -81,6 +81,17 @@
</div>
</t>
<t t-name="CategoryButton">
<li class='category-button'>
<div class="category-img">
<img t-att-src="'data:image/gif;base64,'+ category.category_image_small" />
</div>
<div class="category-name">
<t t-esc="category.name"/>
</div>
</li>
</t>
<t t-name="ProductCategoriesWidget">
<header>
<ol class="breadcrumb">
@@ -103,17 +114,14 @@
<img class="search-clear" src="/point_of_sale/static/src/img/search_reset.gif" />
</div>
</header>
<div id="categories">
<ol>
<t t-foreach="widget.subcategories" t-as="category">
<li class="oe-pos-categories-list">
<a href="javascript:void(0)" t-att-data-category-id="category.id" class="button">
<t t-esc="category.name"/>
</a>
</li>
</t>
</ol>
</div>
<t t-if="widget.subcategories.length > 0">
<div id="categories">
<div class="white-gradient"></div>
<ol class="category-list">
</ol>
<div class="shadow-top"></div>
</div>
</t>
</t>
<t t-name="ProductListWidget">
@@ -122,11 +130,12 @@
<ol id="products-screen-ol" class="product-list">
</ol>
</div>
<div class="shadow-top"></div>
<span class="placeholder-ScrollbarWidget" />
</div>
</t>
<t t-name="SearchProductScreenWidget">
<t t-name="ProductScreenWidget">
<div id="products-screen" class="screen">
<table class="layout-table">
@@ -145,13 +154,26 @@
</table>
</div>
</t>
<t t-name="ScaleScreenWidget">
<div class="scale-screen screen">
<header><h2>Product Weighting</h2></header>
<div class="display">
<span class="weight">0.000Kg</span>
<span class="product-name"></span>
<span class="weight">
<p>
<t t-esc="widget.get_product_weight().toFixed(3)" />
Kg
</p>
</span>
<span class="product-name">
<t t-esc="widget.get_product_name()" />
</span>
<div class="product-picture">
<span class="product-price">
<t t-esc="widget.format_currency(widget.get_product_price()) + '/Kg'" />
</span>
<img t-att-src="'data:image/gif;base64,'+ widget.get_product_image()" />
</div>
</div>
</div>
</t>
@@ -319,18 +341,15 @@
<div class="product-img">
<img t-att-src="'data:image/gif;base64,'+ widget.model.get('product_image_small')" />
<t t-if="!widget.model.get('weight')">
<t t-if="!widget.model.get('to_weight')">
<span class="price-tag">
<t t-esc="widget.format_currency(widget.model.get('list_price'))"/>
</span>
</t>
<t t-if="widget.model.get('weight')">
<t t-if="widget.model.get('to_weight')">
<span class="price-tag">
<t t-esc="widget.format_currency(widget.model.get('list_price'))+'/Kg'"/>
</span>
<span class="price-subtag">
<t t-esc="widget.format_currency(widget.model.get('list_price') * widget.model.get('weight'))"/>
</span>
</t>
</div>
<div class="product-name">
@@ -374,6 +393,7 @@
</div>
</div>
</div>
<div class="shadow-top"></div>
<span class="placeholder-ScrollbarWidget"></span>
</div>
</t>