[IMP] stock_picking_ui: back and forward picking navigation
bzr revid: fva@openerp.com-20131001092122-l4rgh0ynch45huai
This commit is contained in:
@@ -47,7 +47,7 @@
|
||||
}
|
||||
.oe_pick_widget .oe_pick_button{
|
||||
display: inline-block;
|
||||
min-width: 120px;
|
||||
min-width: 64px;
|
||||
padding: 5px;
|
||||
font-size: 18px;
|
||||
border-radius: 3px;
|
||||
@@ -62,8 +62,15 @@
|
||||
cursor: pointer;
|
||||
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
.oe_pick_widget .oe_pick_button.oe_disabled {
|
||||
cursor: default;
|
||||
background: linear-gradient(#666666, #474747);
|
||||
border: solid 1px rgb(44, 44, 44);
|
||||
color: rgb(53, 53, 53);
|
||||
box-shadow: 0px 1px 1px rgba(255, 255, 255, 0.32) inset;
|
||||
}
|
||||
|
||||
.oe_pick_widget .oe_pick_button:active{
|
||||
.oe_pick_widget .oe_pick_button:not(.oe_disabled):active{
|
||||
background: rgb(92, 84, 133);
|
||||
box-shadow: 0px 1px 0px 1px rgba(0,0,0,0.3) inset;
|
||||
margin: 11px 6px;
|
||||
@@ -78,9 +85,10 @@
|
||||
}
|
||||
.oe_pick_widget .oe_pick_right_toolbar{
|
||||
float: right;
|
||||
}
|
||||
.oe_pick_widget .oe_pick_right_toolbar .oe_pick_button{
|
||||
margin-right: 10px;
|
||||
border-left: solid 1px black;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
margin-left: 8px;
|
||||
}
|
||||
.oe_pick_widget .oe_pick_col_small{ width: 60px; }
|
||||
.oe_pick_widget .oe_pick_col_medium{ width: 100px; }
|
||||
|
||||
@@ -104,6 +104,7 @@ function openerp_picking_widgets(instance){
|
||||
var self = this;
|
||||
|
||||
this.picking = null;
|
||||
this.pickings = [];
|
||||
this.movelines = null;
|
||||
this.operations = null;
|
||||
this.packages = null;
|
||||
@@ -125,10 +126,12 @@ function openerp_picking_widgets(instance){
|
||||
if(picking_id){
|
||||
var picking = new instance.web.Model('stock.picking').call('read',[[picking_id], []]);
|
||||
}else{
|
||||
var picking = new instance.web.Model('stock.picking')
|
||||
var picking = new $.Deferred();
|
||||
var pickings = new instance.web.Model('stock.picking')
|
||||
.call('get_picking_for_packing_ui')
|
||||
.then(function(picking_id){
|
||||
if(!picking_id){
|
||||
.then(function(picking_ids){
|
||||
console.log('Picking Ids',picking_ids);
|
||||
if(!picking_ids || picking_ids.length === 0){
|
||||
(new instance.web.Dialog(self,{
|
||||
title: _t('No Picking Available'),
|
||||
buttons: [{
|
||||
@@ -139,9 +142,13 @@ function openerp_picking_widgets(instance){
|
||||
}]
|
||||
}, _t('<p>We could not find a picking to display.</p>'))).open();
|
||||
|
||||
return (new $.Deferred()).reject();
|
||||
picking.reject();
|
||||
}else{
|
||||
return new instance.web.Model('stock.picking').call('read',[[picking_id],[]]);
|
||||
self.pickings = picking_ids;
|
||||
new instance.web.Model('stock.picking').call('read',[[picking_ids[0]],[]])
|
||||
.then(function(pick){
|
||||
picking.resolve(pick);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -188,6 +195,8 @@ function openerp_picking_widgets(instance){
|
||||
this.$('.js_pick_quit').click(function(){ self.quit(); });
|
||||
this.$('.js_pick_pack').click(function(){ self.pack(); });
|
||||
this.$('.js_pick_done').click(function(){ self.done(); });
|
||||
this.$('.js_pick_prev').click(function(){ self.picking_prev(); });
|
||||
this.$('.js_pick_next').click(function(){ self.picking_next(); });
|
||||
|
||||
$.when(this.loaded).done(function(){
|
||||
self.picking_editor = new module.PickingEditorWidget(self);
|
||||
@@ -198,6 +207,19 @@ function openerp_picking_widgets(instance){
|
||||
|
||||
self.package_selector = new module.PackageSelectorWidget(self);
|
||||
self.package_selector.replace(self.$('.oe_placeholder_package_selector'));
|
||||
|
||||
if( self.picking.id === self.pickings[0]){
|
||||
self.$('.js_pick_prev').addClass('oe_disabled');
|
||||
}else{
|
||||
self.$('.js_pick_prev').removeClass('oe_disabled');
|
||||
}
|
||||
|
||||
if( self.picking.id === self.pickings[self.pickings.length-1] ){
|
||||
self.$('.js_pick_next').addClass('oe_disabled');
|
||||
}else{
|
||||
self.$('.js_pick_next').removeClass('oe_disabled');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
@@ -213,6 +235,17 @@ function openerp_picking_widgets(instance){
|
||||
self.picking_editor.renderElement();
|
||||
self.package_editor.renderElement();
|
||||
self.package_selector.renderElement();
|
||||
if( self.picking.id === self.pickings[0]){
|
||||
self.$('.js_pick_prev').addClass('oe_disabled');
|
||||
}else{
|
||||
self.$('.js_pick_prev').removeClass('oe_disabled');
|
||||
}
|
||||
|
||||
if( self.picking.id === self.pickings[self.pickings.length-1] ){
|
||||
self.$('.js_pick_next').addClass('oe_disabled');
|
||||
}else{
|
||||
self.$('.js_pick_next').removeClass('oe_disabled');
|
||||
}
|
||||
});
|
||||
},
|
||||
scan: function(ean){
|
||||
@@ -257,6 +290,26 @@ function openerp_picking_widgets(instance){
|
||||
return self.do_action(action);
|
||||
});
|
||||
},
|
||||
picking_next: function(){
|
||||
for(var i = 0; i < this.pickings.length; i++){
|
||||
if(this.pickings[i] === this.picking.id){
|
||||
if(i < this.pickings.length -1){
|
||||
this.refresh_ui(this.pickings[i+1]);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
picking_prev: function(){
|
||||
for(var i = 0; i < this.pickings.length; i++){
|
||||
if(this.pickings[i] === this.picking.id){
|
||||
if(i > 0){
|
||||
this.refresh_ui(this.pickings[i-1]);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
copy_package: function(package_id){
|
||||
var self = this;
|
||||
console.log('Copy Package:',package_id);
|
||||
|
||||
@@ -154,6 +154,9 @@
|
||||
</div>
|
||||
</t>
|
||||
|
||||
<t t-name='PickingMenuWidget'>
|
||||
</t>
|
||||
|
||||
<t t-name="PickingMainWidget">
|
||||
<div class='oe_pick_widget'>
|
||||
<table class='oe_pick_layout'>
|
||||
@@ -161,6 +164,7 @@
|
||||
<td class='oe_pick_header'>
|
||||
|
||||
<div class='oe_pick_right_toolbar'>
|
||||
<div class='oe_pick_button js_pick_menu'> Menu </div>
|
||||
<div class='oe_pick_button js_pick_quit'> Quit </div>
|
||||
</div>
|
||||
|
||||
@@ -183,6 +187,7 @@
|
||||
<div class='oe_placeholder_picking_editor'></div>
|
||||
<div class='oe_placeholder_package_editor'></div>
|
||||
<div class='oe_placeholder_package_selector'></div>
|
||||
<div class='oe_placeholder_menu'></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user