class BarcodeController(http.Controller):
- @http.route('/barcode/web/<int:page>', type='http', auth='none')
+ @http.route(['/barcode/web/','/barcode/web/<int:picking_type_id>','/barcode/web/<int:picking_type_id>/<int:picking_id>'], type='http', auth='user')
def a(self, debug=False, **k):
-
if not request.session.uid:
return http.local_redirect('/web/login?redirect=/barcode/web')
js_list = manifest_list('js',db=request.db, debug=debug)
css_list = manifest_list('css',db=request.db, debug=debug)
- #get request path
- url_picking_type_id = request.httprequest.path[len('/barcode/web/'):]
- try:
- active_id = int(url_picking_type_id)
- except Exception:
- active_id = 0
+ #get picking information from url
+ additional_context = {}
+ action = 'stock.menu'
+ active_id = k.get('picking_type_id', False)
+ picking_id = k.get('picking_id', False)
+ if active_id:
+ action = 'stock.ui'
+ additional_context['active_id'] = int(active_id)
+ if picking_id:
+ additional_context['picking_id'] = int(picking_id)
js = "\n".join('<script type="text/javascript" src="%s"></script>' % i for i in js_list)
#css = "\n".join('<link rel="stylesheet" href="%s">' % i for i in css_list)
'init': """
var wc = new s.web.WebClient();
wc.show_application = function(){
- wc.action_manager.do_action("stock.ui", {additional_context: {'active_id': %s}});
+ wc.action_manager.do_action("%s", {additional_context: %s});
};
+ wc.do_push_state = function(){};
wc.appendTo($(document.body));
- """ % active_id
+ """ % (action, additional_context)
}
return r
this.$('#js_select').change(function(){
var selection = $(this)[0].value
if (selection === "ToDo"){
+ self.getParent().$('.js_pick_pack').removeClass('hidden')
+ self.getParent().$('.js_drop_down').removeClass('hidden')
self.$('.js_pack_op_line.processed').addClass('hidden')
self.$('.js_pack_op_line:not(.processed)').removeClass('hidden')
}
else{
+ self.getParent().$('.js_pick_pack').addClass('hidden')
+ self.getParent().$('.js_drop_down').addClass('hidden')
self.$('.js_pack_op_line.processed').removeClass('hidden')
self.$('.js_pack_op_line:not(.processed)').addClass('hidden')
}
module.PickingMainWidget = module.MobileWidget.extend({
template: 'PickingMainWidget',
init: function(parent,params){
+ $(window).bind('hashchange', function(){
+ console.log($.bbq.getState());
+ console.log('test');
+ });
this._super(parent,params);
var self = this;
}
});
},
+ do_load_state: function(){
+ debugger;
+ },
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]);
+ 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){
- 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;
}
}
</span>
</div>
<button type="button" class='btn btn-default js_pick_pack pull-right'> Put in Pack </button>
- <button type="button" class='btn btn-default js_drop_down pull-right'> Mark all as processed </button>
+ <button type="button" class='btn btn-default js_drop_down pull-right'> Process </button>
<div class='oe_placeholder_picking_editor'/>
</div>
</div>