-
function openerp_picking_widgets(instance){
var module = instance.stock;
this._super(parent,options);
this.rows = [];
this.search_filter = "";
+ jQuery.expr[":"].Contains = jQuery.expr.createPseudo(function(arg) {
+ return function( elem ) {
+ return jQuery(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
+ };
+ });
},
get_rows: function(){
var model = this.getParent();
var pack_id = parseInt(this.attributes.getNamedItem('pack_id').value);
self.getParent().print_package(pack_id);
});
- this.$('.js_pick_drop_down').click(function(){
- //check if parent is a container, if yes find all operation inside package
- var op_id = parseInt($(this).parent().parent().parent().parent().parent().attr('data-id'));
- if ($(this).parent().parent().parent().parent().parent()[0].classList.contains('container_head')){
- op_ids = []
- _.each(self.$('.js_pack_op_line[container-id='+op_id+']'),function(element){
- op_ids.push(parseInt(element.attributes.getNamedItem('data-id').value));
- });
- self.getParent().drop_down(op_ids);
- }
- else{
- self.getParent().drop_down([op_id]);
- }
-
- });
this.$('.js_submit_value').submit(function(event){
var op_id = parseInt(this.attributes.getNamedItem('data-id').value);
var value = parseInt(event.srcElement[0].value);
processed = ":not(.processed)";
}
if (query !== '') {
- this.$('.js_loc:not(.js_loc:contains('+query+'))').removeClass('info');
- this.$('.js_loc:contains('+query+')').addClass('info');
- this.$('.js_pack_op_line'+processed+':not(.js_pack_op_line:has(.js_loc:contains('+query+')))').addClass('hidden');
- this.$('.js_pack_op_line'+processed+':has(.js_loc:contains('+query+'))').removeClass('hidden');
+ this.$('.js_loc:not(.js_loc:Contains('+query+'))').removeClass('info');
+ this.$('.js_loc:Contains('+query+')').addClass('info');
+ this.$('.js_pack_op_line'+processed+':not(.js_pack_op_line:has(.js_loc:Contains('+query+')))').addClass('hidden');
+ this.$('.js_pack_op_line'+processed+':has(.js_loc:Contains('+query+'))').removeClass('hidden');
}
//if no query specified, then show everything
if (query === '') {
//return only those visible with rem qty > 0 and container empty
return _.intersection(pack_op_ids, list);
},
+ remove_blink: function(){
+ this.$('.js_pack_op_line.blink_me').removeClass('blink_me');
+ },
+ blink: function(op_id){
+ console.log('blink: '+op_id);
+ this.$('.js_pack_op_line[data-id="'+op_id+'"]').addClass('blink_me');
+ },
});
module.PickingMenuWidget = module.MobileWidget.extend({
template: 'PickingMenuWidget',
init: function(parent, params){
+ $(window).bind('hashchange', function(){
+ console.log($.bbq.getState());
+ });
this._super(parent,params);
var self = this;
init: function(parent,params){
$(window).bind('hashchange', function(){
console.log($.bbq.getState());
- console.log('test');
});
this._super(parent,params);
var self = this;
},
on_searchbox: function(query){
var self = this;
- self.picking_editor.on_searchbox(query);
+ self.picking_editor.on_searchbox(query.toUpperCase());
},
// reloads the data from the provided picking and refresh the ui.
// (if no picking_id is provided, gets the first picking in the db)
}
return this.load(picking_id)
.then(function(){
+ self.picking_editor.remove_blink();
self.picking_editor.renderElement();
// self.$('#js_select')[0].value = "ToDo";
}
console.log(result.operation_id);
if (result.operation_id !== false){
- return self.refresh_ui(self.picking.id);
+ self.refresh_ui(self.picking.id).then(function(){
+ return self.picking_editor.blink(result.operation_id);
+ });
}
});
},
for(var i = 0; i < this.pickings.length; i++){
if(this.pickings[i] === this.picking.id){
if(i < this.pickings.length -1){
- window.location = '/barcode/web/?picking_type_id='+this.picking_type_id+'&picking_id='+this.pickings[i+1];
- return;
- // this.refresh_ui(this.pickings[i+1]);
+ // window.location = '/barcode/web/?picking_type_id='+this.picking_type_id+'&picking_id='+this.pickings[i+1];
// return;
+ this.refresh_ui(this.pickings[i+1]);
+ return;
}
}
}
for(var i = 0; i < this.pickings.length; i++){
if(this.pickings[i] === this.picking.id){
if(i > 0){
- window.location = '/barcode/web/?picking_type_id='+this.picking_type_id+'&picking_id='+this.pickings[i-1];
- // this.refresh_ui(this.pickings[i-1]);
+ // window.location = '/barcode/web/?picking_type_id='+this.picking_type_id+'&picking_id='+this.pickings[i-1];
+ this.refresh_ui(this.pickings[i-1]);
return;
}
}
</td>
<td class='text-center js_row_qty'>
<t t-if="row.cols.qty && row.cols.processed == 'false' && !row.cols.container">
- <div class="input-group">
- <span class="input-group-addon"><a class="js_minus" t-att-op-id='row.cols.product_id' href="#"><i class="fa fa-minus"></i></a></span>
- <form class="js_submit_value" t-att-data-id="row.cols.id">
- <input type="text" class="form-control text-center js_qty" t-att-placeholder="row.cols.rem + '/' + row.cols.qty" t-att-data-id="row.cols.id"></input>
- <input type="submit" class="hidden"></input>
- </form>
- <!-- <div class="form-control">
- <t t-esc="row.cols.rem"/> / <t t-esc="row.cols.qty" />
- </div> -->
- <span class="input-group-addon"><a class="js_plus" t-att-op-id='row.cols.product_id' href="#"><i class="fa fa-plus"></i></a></span>
- </div>
- <div>
- <t t-esc="row.cols.uom" />
- </div>
+ <div class="input-group">
+ <span class="input-group-addon js_minus" t-att-op-id='row.cols.product_id'><a href="#"><i class="fa fa-minus"></i></a></span>
+ <form class="js_submit_value" t-att-data-id="row.cols.id">
+ <input type="text" class="form-control text-center js_qty" t-att-placeholder="row.cols.rem + '/' + row.cols.qty" t-att-data-id="row.cols.id"></input>
+ <input type="submit" class="hidden"></input>
+ </form>
+ <span class="input-group-addon js_plus" t-att-op-id='row.cols.product_id'><a href="#"><i class="fa fa-plus"></i></a></span>
+ </div>
+ <div>
+ <t t-esc="row.cols.uom" />
+ </div>
</t>
<t t-if="row.cols.qty && (row.cols.processed == 'true' || row.cols.container)">
<t t-esc="row.cols.rem" /> / <t t-esc="row.cols.qty" /> <t t-esc="row.cols.uom" />
<t t-if="row.cols.lot" ><span> : <t t-esc="row.cols.lot" /></span></t>
</td>
<td class="js_loc"> <t t-esc="row.cols.dest" />
- <div class="pull-right btn-group">
+ <div class="pull-right btn-group">
<button type="button" class="btn btn-default dropdown-toggle fa fa-bars" data-toggle="dropdown">
<span class="caret"></span>
</button>
<t t-if="!row.cols.lot && row.cols.product_id">
<li><a class="js_create_lot" t-att-product_id="row.cols.id" href="#">Create Lot</a></li>
</t>
+ <t t-if="!row.cols.head_container">
+ <li><a class="js_change_src" t-att-pack_id="row.cols.id" href="#">Change source location</a></li>
+ <li><a class="js_change_dst" t-att-pack_id="row.cols.id" href="#">Change destination location</a></li>
+ </t>
<t t-if="row.cols.head_container">
<li><a class="js_delete_pack" t-att-pack_id="row.cols.id" href="#">Remove from package</a></li>
<li><a class="js_print_pack" t-att-pack_id="row.cols.id" href="#">Print package label</a></li>
</t>
</ul>
- </div>
+ </div>
</td>
</tr>
</t>