[IMP] point_of_sale: new weighting workflow
bzr revid: fva@openerp.com-20120709155351-u8cgp4ft14ytwfdw
This commit is contained in:
@@ -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">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</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">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</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">/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="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">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</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">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</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>
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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{
|
||||
|
||||
Binary file not shown.
@@ -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'),
|
||||
};
|
||||
},
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user