[FIX]barcode interface backend
authorCedric Snauwaert <csn@openerp.com>
Tue, 25 Mar 2014 08:08:23 +0000 (09:08 +0100)
committerCedric Snauwaert <csn@openerp.com>
Tue, 25 Mar 2014 08:08:23 +0000 (09:08 +0100)
bzr revid: csn@openerp.com-20140325080823-tvvv11eocxj72hqe

addons/stock/static/src/css/barcode.css
addons/stock/static/src/js/widgets.js
addons/stock/static/src/xml/picking.xml
addons/stock/stock.py
addons/stock/stock_view.xml
addons/stock_account/stock_account_view.xml

index 9da4574..1b47d66 100644 (file)
@@ -3,6 +3,9 @@
 }
 .in_container {
 }
+.oe_pick_app_header{
+       margin-top: 0;
+}
 .oe_picking {
        cursor: pointer;
 }
index f145181..756d3ca 100644 (file)
@@ -211,10 +211,10 @@ function openerp_picking_widgets(instance){
                     self.getParent().set_operation_quantity(value, op_id);
                 }
                 $("input", this).val("");
+                return false;
             });
             this.$('.js_qty').focus(function(){
                 self.getParent().barcode_scanner.disconnect();
-                console.log('focus in');
             });
             this.$('.js_qty').blur(function(){
                 this.value = "";
@@ -542,7 +542,6 @@ function openerp_picking_widgets(instance){
             if(this.picking_id){
                 this.loaded =  this.load(this.picking_id);
             }else{
-                console.log('load latest from picking type');
                 this.loaded =  this.load();
             }
 
index cb58236..d1d88b4 100644 (file)
                 </div>
                 <div class="col-md-6 col-sm-4 col-xs-12 text-right">
                     <h3>
-                        <button type="button" class='btn btn-danger js_drop_down'> Process </button>
                         <button type="button" class='btn btn-default js_pick_pack'> Put in Pack </button>
+                        <button type="button" class='btn btn-danger js_drop_down'> Process </button>
                     </h3>
                 </div>
             </div>
                             <td class='text-center js_row_qty'>
                                 <t t-if="row.cols.processed == 'false' &amp;&amp; !row.cols.container">
                                     <div class="input-group">
-                                        <span class="input-group-addon js_minus" t-att-data-product-id='row.cols.product_id'><a href="#"><i class="fa fa-minus"></i></a></span>
+                                        <span class="input-group-addon js_minus input-sm" t-att-data-product-id='row.cols.product_id'><a href="#"><i class="fa fa-minus"></i></a></span>
                                         <form class="js_submit_value">
                                             <input type="text" class="form-control text-center js_qty" t-att-placeholder="row.cols.rem"></input>
                                             <!-- <input type="submit" class="hidden"></input> -->
                                         </form>
-                                        <span class="input-group-addon js_plus" t-att-data-product-id='row.cols.product_id'><a href="#"><i class="fa fa-plus"></i></a></span>
+                                        <span class="input-group-addon js_plus input-sm" t-att-data-product-id='row.cols.product_id'><a href="#"><i class="fa fa-plus"></i></a></span>
                                     </div>
                                 </t>
                                 <t t-if="(row.cols.processed == 'true' || row.cols.container)">
                                      <span class="caret"></span>
                                     </button>
                                     <ul class="dropdown-menu" role="menu">
-                                        <t t-if="!row.cols.lot &amp;&amp; row.cols.product_id">
+                                        <!-- <t t-if="!row.cols.lot &amp;&amp; row.cols.product_id">
                                             <li><a class="js_create_lot" href="#">Create Lot</a></li>
-                                        </t>
+                                        </t> -->
                                         <t t-if="!row.cols.head_container &amp;&amp; !row.cols.container">
                                             <li><a class="js_change_src" href="#">Change source location</a></li>
                                             <li><a class="js_change_dst" href="#">Change destination location</a></li>
index fe18d74..3c06002 100644 (file)
@@ -1079,6 +1079,14 @@ class stock_picking(osv.osv):
                 'product_uom_id': self.pool.get("product.product").browse(cr, uid, key[0], context=context).uom_id.id,
             })
         return vals
+    
+    def open_barcode_interface(self, cr, uid, picking_ids, context=None):
+        final_url="/barcode/web/#action=stock.ui&picking_id="+str(picking_ids[0])
+        return {'type': 'ir.actions.act_url', 'url':final_url, 'target': 'self',}
+
+    def do_partial_open_barcode(self, cr, uid, picking_ids, context=None):
+        self.do_prepare_partial(cr, uid, picking_ids, context=context)
+        return self.open_barcode_interface(cr, uid, picking_ids, context=context)
 
     def do_prepare_partial(self, cr, uid, picking_ids, context=None):
         context = context or {}
index 1db78a2..9b0937b 100644 (file)
                     <button name="action_confirm" states="draft" string="Mark as Todo" type="object" class="oe_highlight" groups="base.group_user"/>
                     <button name="action_assign" states="confirmed" string="Check Availability" type="object" class="oe_highlight" groups="base.group_user"/>
                     <button name="force_assign" states="confirmed,partially_available" string="Force Availability" type="object" class="oe_highlight" groups="base.group_user"/>
-                    <button name="do_transfer" states="assigned" string="Transfer" groups="stock.group_stock_user" type="object" class="oe_highlight"/>
-                    <button name="do_transfer" string="Transfer" groups="stock.group_stock_user" type="object" class="oe_highlight" attrs="{'invisible': ['|',('pack_operation_exist', '=', False), ('state', '!=', 'partially_available')]}"/>
-                    <button name="do_prepare_partial" string="Enter Transfer Details" groups="stock.group_stock_user" type="object" class="oe_highlight" attrs="{'invisible': ['|',('pack_operation_exist', '=', True),('state','not in',('assigned', 'partially_available'))]}"/>
+                    <button name="do_transfer" states="assigned" string="Transfer" groups="stock.group_stock_user" type="object" class="oe_highlight" attrs="{'invisible': ['|', ('pack_operation_exist', '=', True)]}"/>
+                    <button name="do_partial_open_barcode" string="Enter Transfer Details" groups="stock.group_stock_user" type="object" class="oe_highlight" attrs="{'invisible': ['|',('pack_operation_exist', '=', True),('state','not in',('assigned', 'partially_available'))]}"/>
+                    <button name="open_barcode_interface" string="Open Barcode interface" groups="stock.group_stock_user" type="object" class="oe_highlight" attrs="{'invisible': ['|',('pack_operation_exist', '=', False),('state','not in',('assigned', 'partially_available'))]}"/>
                     <button name="do_print_delivery" string="Print Delivery Order" groups="stock.group_stock_user" type="object" attrs="{'invisible': ['|', ('picking_type_code', '!=', 'outgoing'), ('state', '!=', 'done')]}"/>
                     <button name="do_print_picking" string="Print Picking List" groups="stock.group_stock_user" type="object" attrs="{'invisible': ['|', ('picking_type_code', '=', 'outgoing'), ('state', '!=', 'assigned')]}"/>
                     <button name="%(act_stock_return_picking)d" string="Reverse Transfer" states="done" type="action" groups="base.group_user"/>
                         <page string="Products">
                             <separator string="Stock Moves" attrs="{'invisible': [('pack_operation_exist', '=', False)]}"/>
                             <field name="move_lines" context="{'address_in_id': partner_id, 'form_view_ref':'stock.view_move_picking_form', 'tree_view_ref':'view_move_picking_tree', 'default_picking_type_id': picking_type_id,'default_picking_id': active_id}"/>
-                            <group>
-                                <group col="3"> 
-                                    <separator string="Quantities Done" attrs="{'invisible': [('pack_operation_exist', '=', False)]}"/>
-                                </group>
-                                <group col="1">
-                                    <field name="pack_operation_exist" invisible="1"/>
-                                    <button name="action_pack" string="Create Package" type="object" attrs="{'invisible': ['|',('pack_operation_exist', '=', False),('state', 'not in', ('draft','assigned','partially_available','confirmed'))]}" class="oe_link oe_right oe_inline" groups="product.group_stock_packaging"/>
-                                    <button name="do_split" string="Create Draft Backorder" groups="base.group_no_one" type="object" attrs="{'invisible': ['|',('pack_operation_exist', '=', False),('state','not in',('assigned', 'partially_available'))]}" class="oe_link oe_right oe_inline"/>
-                                    <button name="recheck_availability" string="Recheck Availability" type="object" attrs="{'invisible': ['|',('pack_operation_exist', '=', False),('state','not in',('assigned', 'partially_available'))]}" groups="stock.group_stock_user" class="oe_link oe_right oe_inline"/>
-                                </group>
-                            </group>
-                            <field name="pack_operation_ids" attrs="{'invisible': [('pack_operation_exist', '=', False)]}" context="{'default_owner_id': owner_id, 'default_location_id': location_id, 'default_location_dest_id': location_dest_id}">
-                                <tree editable="top" colors="grey:processed=='true'">
-                                    <field name="processed" invisible="1"/>   
-                                    <field name="location_id"/>
-                                    <field name="product_id" on_change='product_id_change(product_id, product_uom_id, product_qty, context)'/>
-                                    <field name="product_uom_id" groups="product.group_uom" on_change='on_change_tests(product_id, product_uom_id, product_qty, context)'/>
-                                    <field name="lot_id" domain="[('product_id','=?', product_id)]" context="{'product_id': product_id}" groups="stock.group_production_lot"/>
-                                    <field name="package_id" groups="stock.group_tracking_lot"/>
-                                    <field name="owner_id" groups="stock.group_tracking_owner"/>
-                                    <field name="product_qty" attrs="{'required': [('product_id', '!=', False)]}" on_change='on_change_tests(product_id, product_uom_id, product_qty, context)'/>
-                                    <field name="qty_done"/>
-                                    <field name="location_dest_id"/>
-                                    <field name="result_package_id" groups="stock.group_tracking_lot"/>
-                                </tree>
-                            </field>
+                            <field name="pack_operation_exist" invisible="1"/>
                             <field name="note" placeholder="Add an internal note..." class="oe_inline"/>
                         </page>
                         <page string="Additional Info">
index 3c1549a..14a09d9 100644 (file)
@@ -22,7 +22,7 @@
             <field name="model">stock.picking</field>
             <field name="inherit_id" ref="stock.view_picking_form"/>
             <field name="arch" type="xml">
-                <xpath expr="//button[@name='do_prepare_partial']" position="after">
+                <xpath expr="//button[@name='do_partial_open_barcode']" position="after">
                     <button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" attrs="{'invisible': ['|',('state','&lt;&gt;','done'),('invoice_state','&lt;&gt;','2binvoiced')]}" type="action" class="oe_highlight" groups="base.group_user"/>
                     <button name="%(action_stock_invoice_onshipping)d" string="Refund Invoice" attrs="{'invisible': ['|',('state','&lt;&gt;','done'),('invoice_state','&lt;&gt;','invoiced')]}" type="action" class="oe_highlight" groups="base.group_user" context="{'inv_type': 'out_refund'}"/>
                 </xpath>