← Back to team overview

avanzosc team mailing list archive

Re: [Merge] lp:~oihanecruce/avanzosc/phonelift_sales_extension into lp:~avanzosc-security-team/avanzosc/72horas

 

Comentarios inline

Diff comments:

> === added file 'phonelift_sales_extension/__init__.py'
> --- phonelift_sales_extension/__init__.py	1970-01-01 00:00:00 +0000
> +++ phonelift_sales_extension/__init__.py	2014-06-30 13:16:06 +0000
> @@ -0,0 +1,22 @@
> +# -*- encoding: utf-8 -*-
> +##############################################################################
> +#
> +#    OpenERP, Open Source Management Solution
> +#    Copyright (C) 2008-2014 AvanzOSC S.L. (Oihane) All Rights Reserved
> +#
> +#    This program is free software: you can redistribute it and/or modify
> +#    it under the terms of the GNU Affero General Public License as published
> +#    by the Free Software Foundation, either version 3 of the License, or
> +#    (at your option) any later version.
> +#
> +#    This program is distributed in the hope that it will be useful,
> +#    but WITHOUT ANY WARRANTY; without even the implied warranty of
> +#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +#    GNU General Public License for more details.
> +#
> +#    You should have received a copy of the GNU Affero General Public License
> +#    along with this program.  If not, see http://www.gnu.org/licenses/.
> +#
> +##############################################################################
> +
> +from . import models
> 
> === modified file 'phonelift_sales_extension/__openerp__.py'
> --- phonelift_sales_extension/__openerp__.py	2014-06-11 10:23:47 +0000
> +++ phonelift_sales_extension/__openerp__.py	2014-06-30 13:16:06 +0000
> @@ -24,7 +24,8 @@
>      "version": "1.3",
>      "author": "Nayar Systems",
>      "category": "Enterprise Specific Modules",
> -    "description": "Proporciona funcionalidad extra para la web de pedidos de Phonelift",
> +    "description": "Proporciona funcionalidad extra para la web de pedidos de "
> +    "Phonelift",
>      "depends": [
>          'base',
>          'nayar_sales_extension',
> @@ -36,5 +37,3 @@
>      "active": False,
>      "installable": True
>  }
> -
> -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
> 
> === added directory 'phonelift_sales_extension/models'
> === renamed file 'phonelift_sales_extension/__init__.py' => 'phonelift_sales_extension/models/__init__.py'
> --- phonelift_sales_extension/__init__.py	2014-06-11 10:23:47 +0000
> +++ phonelift_sales_extension/models/__init__.py	2014-06-30 13:16:06 +0000
> @@ -22,6 +22,3 @@
>  import partner
>  import sale
>  import stock
> -
> -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
> -
> 
> === renamed file 'phonelift_sales_extension/partner.py' => 'phonelift_sales_extension/models/partner.py'
> --- phonelift_sales_extension/partner.py	2014-06-11 10:23:47 +0000
> +++ phonelift_sales_extension/models/partner.py	2014-06-30 13:16:06 +0000
> @@ -19,40 +19,47 @@
>  #
>  ##############################################################################
>  
> -import logging
> -from osv import osv
> -
> -class res_partner(osv.osv):
> +from openerp import logging
> +from openerp.osv import orm
> +
> +
> +class ResPartner(orm.Model):
>      _inherit = 'res.partner'
>  
> -    def create_administrator(self, cr, uid, data):
> +    def create_administrator(self, cr, uid, data, context=None):
>          logging.getLogger("New administrator").info(data)
>  
>          administrator_d = {
> -	    'name': data['nombre'],
> -	    'ref': data['colegiado'],
> -	    'active': True,
> -	    'note': data['sociedad'],
> -	    'customer': False,
> -	    }
> -	address = {
> -	    'street': data['direccion'],
> -	    'zip': data['cp'],
> -	    'city': data['poblacion'],
> -	    'state_id': self.pool.get('res.country.state').search_by_name(cr, uid, data['provincia']),
> -	    'email': data['email'],
> -	    'phone': data['telefono'],
> -	    }
> -
> -        administrator_ids = self.search(cr, uid, [('ref', '=', data.get('colegiado'))])
> -	if not administrator_ids:
> -	    administrator_id = self.create(cr, uid, administrator_d)
> -	    address['partner_id'] = administrator_id
> -            address_id = self.pool.get('res.partner.address').create(cr, uid, address)
> -
> -    def deactivate_administrator(self, cr, uid, data):
> -        administrator_ids = self.search(cr, uid, [('ref', '=', data.get('colegiado'))])
> +            'name': data['nombre'],
> +            'ref': data['colegiado'],
> +            'active': True,
> +            'note': data['sociedad'],
> +            'customer': False,
> +        }
> +        partner = {
> +            'name': data['nombre'],
> +            'street': data['direccion'],
> +            'zip': data['cp'],
> +            'city': data['poblacion'],
> +            'state_id': self.pool['res.country.state'].search_by_name(
> +                cr, uid, data['provincia']),
> +            'email': data['email'],
> +            'phone': data['telefono'],
> +        }
> +
> +        administrator_ids = self.search(cr, uid,
> +                                        [('ref', '=', data['colegiado'])],
> +                                        context=context)
> +        if not administrator_ids:
> +            administrator_id = self.create(cr, uid, administrator_d,
> +                                           context=context)
> +            partner['partner_id'] = administrator_id
> +            self.pool['res.partner'].create(cr, uid, partner, context=context)
> +
> +    def deactivate_administrator(self, cr, uid, data, context=None):
> +        administrator_ids = self.search(cr, uid,
> +                                        [('ref', '=', data['colegiado'])],
> +                                        context=context)
>          if administrator_ids:
> -            self.write(cr, uid, administrator_ids, {'active': False}) 
> -
> -res_partner()
> +            self.write(cr, uid, administrator_ids, {'active': False},
> +                       context=context)
> 
> === renamed file 'phonelift_sales_extension/sale.py' => 'phonelift_sales_extension/models/sale.py'
> --- phonelift_sales_extension/sale.py	2014-06-11 10:23:47 +0000
> +++ phonelift_sales_extension/models/sale.py	2014-06-30 13:16:06 +0000
> @@ -19,16 +19,17 @@
>  #
>  ##############################################################################
>  
> -from osv import osv
> -from tools.translate import _
> -import netsvc
> -import logging
> -
> -class sale_order(osv.osv):
> +from openerp.osv import orm
> +from openerp.tools.translate import _
> +from openerp import netsvc, logging
> +
> +
> +class SaleOrder(orm.Model):
>      _inherit = 'sale.order'
>  
> -    def create_basic_order(self, cr, uid, data):
> -        """Make a new sale order for a neighboring community or particular customer:
> +    def create_basic_order(self, cr, uid, data, context=None):
> +        """Make a new sale order for a neighboring community or
> +        particular customer:
>          order_id_72horas: Order id at 72horas system.
>          administrator: Property Administrator Reference.
>          name: Community name.
> @@ -47,7 +48,10 @@
>          mandate_date: SEPA Mandate signature date.
>          act: Act (attachment).
>          notes: Order notes and observations (optional).
> -        lines: Order lines list with format {'sale_type', 'sale_group' (optional), 'ref' (optional), 'cabins' (list of strings with references), 'line_id_72horas' (optional)}."""
> +        lines: Order lines list with format {'sale_type',
> +            'sale_group' (optional), 'ref' (optional),
> +            'cabins' (list of strings with references),
> +            'line_id_72horas' (optional)}."""
>  
>          # Create basic order using Nayar logics
>          if 'customer_id' in data:
> @@ -55,138 +59,180 @@
>          if 'customer_id_72horas' in data:
>              del data['customer_id_72horas']
>  
> -        company_obj = self.pool.get('res.company')
> -        company_ids = company_obj.search(cr, uid, [])
> -        company = company_obj.browse(cr, uid, company_ids[0])
> +        company_obj = self.pool['res.company']
> +        company_ids = company_obj.search(cr, uid, [], context=context)
> +        company = company_obj.browse(cr, uid, company_ids[0], context=context)
>          data['customer_id'] = company.partner_id.ref
>  
> -        order_refs = super(sale_order, self).create_basic_order(cr, uid, data)
> +        order_refs = super(SaleOrder,
> +                           self).create_basic_order(cr, uid, data,
> +                                                    context=context)
>  
> -        order_obj = self.pool.get('sale.order')
> -        order_ids = order_obj.search(cr, uid, [('name', 'in', order_refs)])
> -        order = order_obj.browse(cr, uid, order_ids[0])
> +        order_obj = self.pool['sale.order']
> +        order_ids = order_obj.search(cr, uid, [('name', 'in', order_refs)],
> +                                     context=context)
> +        order = order_obj.browse(cr, uid, order_ids[0], context=context)
>  
>          # Get property administrator
> -        partner_obj = self.pool.get ('res.partner')
> -        administrator_ids = partner_obj.search(cr, uid, [('ref', '=', data['administrator'])])
> +        partner_obj = self.pool['res.partner']
> +        administrator_ids = partner_obj.search(
> +            cr, uid, [('ref', '=', data['administrator'])], context=context)
>          if not administrator_ids:
> -            raise osv.except_osv(_('Error !'), _('Property Administrator not found!!'))
> +            raise orm.except_orm(_('Error !'),
> +                                 _('Property Administrator not found!!'))
>          administrator_id = administrator_ids[0]
>  
> -        order_obj.write(cr, uid, order_ids, {'middleman_partner_id': administrator_id})
> +        order_obj.write(cr, uid, order_ids,
> +                        {'middleman_partner_id': administrator_id},
> +                        context=context)
>  
>          # Store Act
> -        if data.get('act'):
> -            attach_obj = self.pool.get('ir.attachment')
> +        if data['act']:
> +            attach_obj = self.pool['ir.attachment']
>              partner = order.partner_id
> -            attach_obj.create(cr, uid, {'datas': data['act'], 'datas_fname': '%s.pdf' % partner.ref, 'name': '%s.pdf' % partner.ref, 'res_id': partner.id, 'res_model': 'res.partner'})
> +            attach_obj.create(cr, uid, {'datas': data['act'],
> +                                        'datas_fname': '%s.pdf' % partner.ref,
> +                                        'name': '%s.pdf' % partner.ref,
> +                                        'res_id': partner.id,
> +                                        'res_model': 'res.partner'},
> +                              context=context)
>  
>          # Add instalation service line
> -        line_obj = self.pool.get('sale.order.line')
> +        line_obj = self.pool['sale.order.line']
>          new_line = {
>              'order_id': order.id,
>              'product_id': 8,
>              'product_uom': 1,
>              'product_uom_qty': len(data['lines']),
> -            }
> -        new_line.update(line_obj.product_id_change_inherit(cr, uid, [], order.pricelist_id.id, new_line['product_id'], contract_id=order.contract_id.id, partner_id=order.partner_id.id, date_order=order.date_order, fiscal_position=order.fiscal_position.id)['value'])
> +        }
> +        new_line.update(line_obj.product_id_change_inherit(
> +            cr, uid, [], order.pricelist_id.id, new_line['product_id'],
> +            contract_id=order.contract_id.id, partner_id=order.partner_id.id,
> +            date_order=order.date_order,
> +            fiscal_position=order.fiscal_position.id)['value'])
>          if new_line.get('tax_id'):
>              new_line['tax_id'] = [(6, 0, new_line['tax_id'])]
> -        line_obj.create(cr, uid, new_line)
> +        line_obj.create(cr, uid, new_line, context=context)
>  
>          # Return order references
>          return order_refs
> -        
> -    def update_order_line(self, cr, uid, data):
> +
> +    def update_order_line(self, cr, uid, data, context=None):
>          """Update a sale order line:
>          prodlot_id: Pack product ID
>          order_line_id: Order line ID
>          """
> -        prod_obj = self.pool.get('product.product')
> -        stock_prod_lot_obj = self.pool.get('stock.production.lot')
> -        line_obj = self.pool.get('sale.order.line')
> -        pack = stock_prod_lot_obj.browse(cr, uid, [data['prodlot_id']])
> -        line = line_obj.browse(cr, uid, [data['order_line_id']])
> +        stock_prod_lot_obj = self.pool['stock.production.lot']
> +        line_obj = self.pool['sale.order.line']
> +        pack = stock_prod_lot_obj.browse(cr, uid, [data['prodlot_id']],
> +                                         context=context)
> +        line = line_obj.browse(cr, uid, [data['order_line_id']],
> +                               context=context)
>          order = line[0].order_id
>          if len(pack) == 0:
>              return -1
>          pack = pack[0]
> -        update_dict = {'name': pack.product_id.name,
> +        update_dict = {
> +            'name': pack.product_id.name,
>              'client_order_ref': pack.ref,
>              'product_id': pack.product_id.id,
> -            'prodlot_id':pack.id,
> +            'prodlot_id': pack.id,
>              'price_unit': pack.product_id.list_price,
>              'discount': pack.product_id.discount,
> -            }
> -        line_obj.write(cr, uid, [data['order_line_id']], update_dict)
> -        new_update = line_obj.product_id_change_inherit(cr, uid, [], order.pricelist_id.id, update_dict['product_id'], contract_id=order.contract_id.id, partner_id=order.partner_id.id, date_order=order.date_order, fiscal_position=order.fiscal_position.id)
> +        }
> +        line_obj.write(cr, uid, [data['order_line_id']], update_dict,
> +                       context=context)
> +        new_update = line_obj.product_id_change_inherit(
> +            cr, uid, [], order.pricelist_id.id, update_dict['product_id'],
> +            contract_id=order.contract_id.id, partner_id=order.partner_id.id,
> +            date_order=order.date_order,
> +            fiscal_position=order.fiscal_position.id, context=context)
>          update_dict.update(new_update['value'])
>          if update_dict.get('tax_id'):
>              update_dict['tax_id'] = [(6, 0, update_dict['tax_id'])]
>          update_dict['prodlot_id'] = pack.id
> -        return line_obj.write(cr, uid, [data['order_line_id']], update_dict)
> - 
> -    def update_process_order(self, cr, uid, data):
> +        return line_obj.write(cr, uid, [data['order_line_id']], update_dict,
> +                              context=context)
> +
> +    def update_process_order(self, cr, uid, data, context=None):
>          """Update and process a sale order:
>          order_line_id: Order line ID
>          prodlot_id: Pack product ID
>          """
> -        line_obj = self.pool.get('sale.order.line')
> -        sale_obj = self.pool.get('sale.order')
> -        order_id = sale_obj.search(cr, uid, [('name','=',int(data['ref'])), ('state','=','draft')])
> +        line_obj = self.pool['sale.order.line']
> +        sale_obj = self.pool['sale.order']
> +        order_id = sale_obj.search(
> +            cr, uid, [('name', '=', int(data['ref'])),
> +                      ('state', '=', 'draft')], context=context)
>          if not len(order_id):
>              #El pedido ya esta procesado.
>              return (-1, 'Pedido ya procesado')
> -        order_line_ids = line_obj.search(cr, uid, [('order_id', '=', order_id[0]), ('name','=','Pack')])
> +        order_line_ids = line_obj.search(
> +            cr, uid, [('order_id', '=', order_id[0]), ('name', '=', 'Pack')],
> +            context=context)
>          if not len(order_line_ids):
>              #El pedido no tiene lineas.
>              return (-1, 'Pedido sin lineas!')
>          data['order_line_id'] = order_line_ids[0]
> -        res = self.update_order_line(cr, uid, data)
> +        res = self.update_order_line(cr, uid, data, context=context)
>          res = '103'
>          if len(order_line_ids) == 1:
>              #self.process_phonelift_deliveries(cr, uid, order_id)
> -            res='3'
> +            res = '3'
>          return (res, None)
>  
> -    def process_phonelift_delivery(self, cr, uid, ref_id):
> +    def process_phonelift_delivery(self, cr, uid, ref_id, context=None):
>          wf_service = netsvc.LocalService('workflow')
>          logger = logging.getLogger(self._name)
>  
>          #Search order_id
> -        order_ids = self.search(cr, uid, [('name','=',int(ref_id)), ('state','=','draft')])
> +        order_ids = self.search(cr, uid, [('name', '=', int(ref_id)),
> +                                          ('state', '=', 'draft')],
> +                                context=context)
>  
>          # Processing orders
>          logger.info("*** Processing orders")
> -        self.write(cr, uid, order_ids, {'state': 'draft'})
> +        self.write(cr, uid, order_ids, {'state': 'draft'}, context=context)
>          for order_id in order_ids:
> -            wf_service.trg_validate(uid, 'sale.order', order_id, 'order_confirm', cr)
> -        orders = self.browse(cr, uid, order_ids)
> -        
> +            wf_service.trg_validate(
> +                uid, 'sale.order', order_id, 'order_confirm', cr)
> +        orders = self.browse(cr, uid, order_ids, context=context)
> +
>          # Processing pickings
>          logger.info("*** Processing pickings")
> -        picking_obj = self.pool.get('stock.picking')
> -        partial_obj = self.pool.get("stock.partial.picking")
> -        picking_ids = picking_obj.search(cr, uid, [('origin', 'in', [o.name for o in orders]), ('type', '=', 'out')])
> -        picking_obj.action_done(cr, uid, picking_ids)
> -        partial_id = partial_obj.create(cr, uid, {}, context={'active_ids': picking_ids})
> -        partial_obj.do_partial(cr, uid, [partial_id], context={'active_ids': picking_ids})
> +        picking_obj = self.pool['stock.picking']
> +        partial_obj = self.pool["stock.partial.picking"]
> +        picking_ids = picking_obj.search(
> +            cr, uid, [('origin', 'in', [o.name for o in orders]),
> +                      ('type', '=', 'out')], context=context)
> +        picking_obj.action_done(cr, uid, picking_ids, context=context)
> +        partial_id = partial_obj.create(
> +            cr, uid, {}, context={'active_ids': picking_ids})
> +        partial_obj.do_partial(
> +            cr, uid, [partial_id], context={'active_ids': picking_ids})
>  
>          # Invoicing pickings
>          logger.info("*** Invoicing pickings")
> -        onshipping_obj = self.pool.get('stock.invoice.onshipping')
> -        journal_id = self.pool.get('account.journal').search(cr, uid, [('code', '=', 'VEN')])[0]
> +        onshipping_obj = self.pool['stock.invoice.onshipping']
> +        journal_id = self.pool['account.journal'].search(
> +            cr, uid, [('code', '=', 'VEN')], context=context)[0]
>          for picking_id in picking_ids:
> -            onshipping_id = onshipping_obj.create(cr, uid, {'journal_id': journal_id}, context={'active_ids': [picking_id], 'active_id': picking_id})
> -            onshipping_obj.open_invoice(cr, uid, [onshipping_id], context={'active_ids': [picking_id], 'active_id': picking_id})
> +            onshipping_id = onshipping_obj.create(
> +                cr, uid, {'journal_id': journal_id},
> +                context={'active_ids': [picking_id], 'active_id': picking_id})
> +            onshipping_obj.open_invoice(
> +                cr, uid, [onshipping_id], context={'active_ids': [picking_id],
> +                                                   'active_id': picking_id})
>          # Validating invoices
>          logger.info("*** Validating invoices")
>          invoice_obj = self.pool.get('account.invoice')
>          pickings = picking_obj.read(cr, uid, picking_ids, ['name'])
>          for picking in pickings:
> -            invoice_ids = invoice_obj.search(cr, uid, [('origin', 'like', "%s:%%" % picking['name'])])
> -            invoice_obj.button_reset_taxes(cr,uid,invoice_ids)
> +            invoice_ids = invoice_obj.search(
> +                cr, uid, [('origin', 'like', "%s:%%" % picking['name'])],
> +                context=context)
> +            invoice_obj.button_reset_taxes(cr, uid, invoice_ids,
> +                                           context=context)
>              for invoice_id in invoice_ids:
> -                wf_service.trg_validate(uid, 'account.invoice', invoice_id, 'invoice_open', cr)
> -sale_order()
> -
> +                wf_service.trg_validate(
> +                    uid, 'account.invoice', invoice_id, 'invoice_open', cr)
> 
> === renamed file 'phonelift_sales_extension/stock.py' => 'phonelift_sales_extension/models/stock.py'
> --- phonelift_sales_extension/stock.py	2014-06-11 10:23:47 +0000
> +++ phonelift_sales_extension/models/stock.py	2014-06-30 13:16:06 +0000
> @@ -19,109 +19,133 @@
>  #
>  ##############################################################################
>  
> -from osv import osv
> -import sys, traceback, time
> -
> -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
> -class stock_production_lot(osv.osv):
> +from openerp.osv import orm
> +import sys
> +import traceback

línea 490, si no se utiliza el flake8 te da un aviso

> +import time
> +
> +
> +class stock_production_lot(orm.Model):
>      _inherit = 'stock.production.lot'
>  
> -    def search_link_partial(self, cr, uid, data):
> +    def search_link_partial(self, cr, uid, data, context=None):
>          '''Search link
> -        num: last 5 digits 
> +        num: last 5 digits
>          '''
>          num = data['num']
> -        stock_prodlot = self.pool.get('stock.production.lot')
> +        stock_prodlot = self.pool['stock.production.lot']
>          try:
> -            id_link = stock_prodlot.search(cr,uid,[('name','like',num)])
> -            link = stock_prodlot.browse(cr,uid,id_link)[0]
> -            stock=link.stock_available
> +            id_link = stock_prodlot.search(cr, uid, [('name', 'like', num)],
> +                                           context=context)
> +            link = stock_prodlot.browse(cr, uid, id_link, context=context)[0]
> +            stock = link.stock_available
>          except:
>              id_link = []
> -            stock=0
> -        return (id_link,stock)
> -        
> -    def search_sim(self, cr, uid, data):
> +            stock = 0
> +        return (id_link, stock)
> +
> +    def search_sim(self, cr, uid, data, context=None):
>          ''' Search sim lot
>          telf: Telephone number
>          '''
> -        stock_prodlot = self.pool.get('stock.production.lot')
> +        stock_prodlot = self.pool['stock.production.lot']
>          telf = data['telf']
>          id_sim = []
>          try:
> -            id_sim = stock_prodlot.search(cr,uid,[('ref','=',telf),('stock_available','>=','1')])
> +            id_sim = stock_prodlot.search(
> +                cr, uid, [('ref', '=', telf), ('stock_available', '>=', '1')],
> +                context=context)
>          except:
> -            ty,val,tb = sys.exc_info()
> -            ret = traceback.format_exception(ty,val,tb)
> +            ty, val, tb = sys.exc_info()
> +            ret = traceback.format_exception(ty, val, tb)
>          return id_sim
> -        
> -    def create_pack(self, cr, uid, data):
> +
> +    def create_pack(self, cr, uid, data, context=None):
>          ''' Create a pack
>          telf: Telephone number
>          id_link: Link prodlot id
>          '''
> -        company = [('company_id','=','1')]
> -        stock_move_obj = self.pool.get('stock.move')
> -        stock_warehouse_obj = self.pool.get('stock.warehouse')
> -        stock_prod_lot_obj = self.pool.get('stock.production.lot')
> -        product_obj = self.pool.get('product.product')
> -        bom_obj = self.pool.get('mrp.bom')
> -        pack_data = {'id_link':data['id_link'],
> -                     'telf':data['telf'],
> -                    }
> -        link = stock_prod_lot_obj.browse(cr,uid,[int(pack_data['id_link']),])
> +        company = [('company_id', '=', '1')]
> +        stock_move_obj = self.pool['stock.move']
> +        stock_warehouse_obj = self.pool['stock.warehouse']
> +        stock_prod_lot_obj = self.pool['stock.production.lot']
> +        bom_obj = self.pool['mrp.bom']
> +        pack_data = {
> +            'id_link': data['id_link'],
> +            'telf': data['telf'],
> +        }
> +        link = stock_prod_lot_obj.browse(cr, uid, [int(pack_data['id_link'])],
> +                                         context=context)
>          if not len(link):
> -            return (-1,'No existe el enlace indicado')
> +            return (-1, 'No existe el enlace indicado')
>          link = link[0]
> -        sim = stock_prod_lot_obj.browse(cr,uid,stock_prod_lot_obj.search(cr,uid,[('ref','=',pack_data['telf'])]))
> +        sim = stock_prod_lot_obj.browse(
> +            cr, uid, stock_prod_lot_obj.search(
> +                cr, uid, [('ref', '=', pack_data['telf'])], context=context),
> +            context=context)
>          if not len(sim):
> -            return (-1,'No existe la sim indicada')
> +            return (-1, 'No existe la sim indicada')
>          sim = sim[0]
>          #Comprobamos si el pack existe y tiene stock
> -        pack_ids = stock_prod_lot_obj.search(cr,uid,[('name', '=', link.name), ('ref', '=', sim.ref), ('stock_available','>=','1')])
> +        pack_ids = stock_prod_lot_obj.search(
> +            cr, uid, [('name', '=', link.name),
> +                      ('ref', '=', sim.ref),
> +                      ('stock_available', '>=', '1')],
> +            context=context)
>          if len(pack_ids):
> -            return (pack_ids[0],None)
> -        #Comprobamos el Stock de ambos productos 
> +            return (pack_ids[0], None)
> +        #Comprobamos el Stock de ambos productos
>          link_product_id = link.product_id.id
>          sim_product_id = sim.product_id.id
>          if not (link.stock_available and sim.stock_available):
>              return (-1, 'Sin stock')
> -        bom_ids = bom_obj.search(cr,uid,[('bom_lines.product_id.id','=',link_product_id),('bom_lines.product_id.id','=',sim_product_id),('active','=','1')])
> +        bom_ids = bom_obj.search(
> +            cr, uid, [('bom_lines.product_id.id', '=', link_product_id),
> +                      ('bom_lines.product_id.id', '=', sim_product_id),
> +                      ('active', '=', '1')],
> +            context=context)
>          if not len(bom_ids):
>              return (-1, 'No existe el pack con ese BOM')
> -        bom_pack = bom_obj.browse(cr,uid,bom_ids)[0]
> +        bom_pack = bom_obj.browse(cr, uid, bom_ids, context=context)[0]
>          pack_id = bom_pack.product_id.id
> -        pack =  {'product_id': pack_id,
> -                #Datos de la sim
> -                'icc': sim.icc,
> -                'ref': sim.telefono,
> -                'telefono': sim.telefono,
> -                'pin': sim.pin,
> -                'puk': sim.puk,
> -                'fecha_alta': sim.fecha_alta,
> -                'fecha_activacion': sim.fecha_activacion,
> -                #Datos del track
> -                'imei': link.imei,
> -                'name': link.imei,
> -                'n_serie': link.n_serie,
> -                'propietario': link.propietario,
> -                'descripcion': link.descripcion,
> -                'albaran_entrada': link.albaran_entrada,
> -                }
> -               
> -        id_lotpack = stock_prod_lot_obj.create(cr, uid,pack)
> -        pack = stock_prod_lot_obj.browse(cr,uid,[id_lotpack])[0]
> +        pack = {
> +            'product_id': pack_id,
> +            #Datos de la sim
> +            'icc': sim.icc,
> +            'ref': sim.telefono,
> +            'telefono': sim.telefono,
> +            'pin': sim.pin,
> +            'puk': sim.puk,
> +            'fecha_alta': sim.fecha_alta,
> +            'fecha_activacion': sim.fecha_activacion,
> +            #Datos del track
> +            'imei': link.imei,
> +            'name': link.imei,
> +            'n_serie': link.n_serie,
> +            'propietario': link.propietario,
> +            'descripcion': link.descripcion,
> +            'albaran_entrada': link.albaran_entrada,
> +        }
> +
> +        id_lotpack = stock_prod_lot_obj.create(cr, uid, pack, context=context)
> +        pack = stock_prod_lot_obj.browse(cr, uid, [id_lotpack],
> +                                         context=context)[0]
>          #Realizamos los movimientos
>          stock_warehouse = None
> -        stock_warehouse_ids = stock_warehouse_obj.search(cr, uid, [])
> -        for warehouse in stock_warehouse_obj.browse(cr, uid, stock_warehouse_ids, company):
> +        stock_warehouse_ids = stock_warehouse_obj.search(cr, uid, [],
> +                                                         context=context)
> +        for warehouse in stock_warehouse_obj.browse(cr, uid,

Y sería necesaria la busqueda del id?

el código es:

        # Realizamos los movimientos
        stock_warehouse = None
        stock_warehouse_ids = stock_warehouse_obj.search(cr, uid, [],
                                                         context=context)
        for warehouse in stock_warehouse_obj.browse(cr, uid,
                                                    stock_warehouse_ids,
                                                    company,
                                                    context=context):
            stock_warehouse = warehouse
            break

> +                                                    stock_warehouse_ids,
> +                                                    company,
> +                                                    context=context):
>              stock_warehouse = warehouse
> -            break            
> +            break
>  
>          if stock_warehouse:
>              vals_sim = {
>                  'product_id': link.product_id.id,
> -                'name': '[' + link.product_id.default_code + '] ' + link.product_id.name,
> +                'name': ('[' + link.product_id.default_code +
> +                         '] ' + link.product_id.name),
>                  'prodlot_id': link.id,
>                  'product_qty': 1,
>                  'product_uos_qty': 1,
> @@ -136,7 +160,8 @@
>              }
>              vals_track = {
>                  'product_id': sim.product_id.id,
> -                'name': '[' + sim.product_id.default_code + '] ' + sim.product_id.name,
> +                'name': ('[' + sim.product_id.default_code +
> +                         '] ' + sim.product_id.name),
>                  'prodlot_id': sim.id,
>                  'product_qty': 1,
>                  'product_uos_qty': 1,
> @@ -151,7 +176,8 @@
>              }
>              vals_pack = {
>                  'product_id': pack.product_id.id,
> -                'name': '[' + pack.product_id.default_code + '] ' + pack.product_id.name,
> +                'name': ('[' + pack.product_id.default_code +
> +                         '] ' + pack.product_id.name),
>                  'prodlot_id': pack.id,
>                  'product_qty': 1,
>                  'product_uos_qty': 1,
> @@ -164,10 +190,8 @@
>                  'priority': '1',
>                  'state': 'done',
>              }
> -            stock_move_int_id = stock_move_obj.create(cr, uid, vals_sim)
> -            stock_move_int_id = stock_move_obj.create(cr, uid, vals_track)
> -            stock_move_int_id = stock_move_obj.create(cr, uid, vals_pack)
> -            return (id_lotpack,None)
> +            stock_move_obj.create(cr, uid, vals_sim, context=context)
> +            stock_move_obj.create(cr, uid, vals_track, context=context)
> +            stock_move_obj.create(cr, uid, vals_pack, context=context)
> +            return (id_lotpack, None)
>          return (-1, 'No existen almacenes.')
> -
> -stock_production_lot()             
> 
> === renamed file 'phonelift_sales_extension/user.py' => 'phonelift_sales_extension/models/user.py'
> --- phonelift_sales_extension/user.py	2014-06-11 10:23:47 +0000
> +++ phonelift_sales_extension/models/user.py	2014-06-30 13:16:06 +0000
> @@ -19,42 +19,46 @@
>  #
>  ##############################################################################
>  
> -from osv import osv
> -
> -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
> -class user(osv.osv):
> -        _inherit = 'res.users'
> -
> -        def create_user(self, cr, uid, data):
> -                user_d = {'name':data['nombre'],
> -                        'login':data['colegiado'],
> -                        'active':True,
> -			'user_email':data['email'],
> -			'signature':data['sociedad']
> -                        }
> -                address = {
> -			'street':data['direccion'],
> -			'zip':data['cp'],
> -			'city':data['poblacion'],
> -			'state_id':self.pool.get('res.country.state').search_by_name(cr,uid,data['provincia']),
> -			'phone':data['telefono']}
> -			
> -                users_obj = self.pool.get('res.users')
> -                address_obj = self.pool.get('res.partner.address')
> -                users_ids = users_obj.search(cr, uid, [('login', '=', data.get('colegiado'))])
> -                if not users_ids:
> -                    address_id = address_obj.create(cr,uid,address)
> -                    print address_id
> -                    user_d['address_id'] = address_id
> -                    user_id = users_obj.create(cr, uid, user_d)
> -                    #user = users_obj.browse
> -                #return "lalalal" 
> -
> -        def deactivate_user(self,cr,uid,data):
> -                users_obj = self.pool.get('res.users')
> -                users_ids = users_obj.search(cr, uid, [('login', '=', data.get('colegiado'))])
> -                if users_ids:
> -                   users_obj.write(cr,uid,users_ids,{'active':False}) 
> -               
> -
> -user()             
> +from osv import orm
> +
> +
> +class ResUsers(orm.Model):
> +    _inherit = 'res.users'
> +
> +    def create_user(self, cr, uid, data, context=None):
> +        user_d = {
> +            'name': data['nombre'],
> +            'login': data['colegiado'],
> +            'active': True,
> +            'user_email': data['email'],
> +            'signature': data['sociedad']
> +        }
> +        partner = {
> +            'name': data['nombre'],
> +            'street': data['direccion'],
> +            'zip': data['cp'],
> +            'city': data['poblacion'],
> +            'state_id': self.pool['res.country.state'].search_by_name(
> +                cr, uid, data['provincia']),
> +            'phone': data['telefono']
> +        }
> +
> +        users_obj = self.pool['res.users']
> +        partner_obj = self.pool['res.partner']
> +        users_ids = users_obj.search(cr, uid,
> +                                     [('login', '=', data['colegiado'])],
> +                                     context=context)
> +        if not users_ids:
> +            partner_id = partner_obj.create(cr, uid, partner, context=context)
> +
> +            user_d['partner_id'] = partner_id
> +            users_obj.create(cr, uid, user_d)
> +
> +    def deactivate_user(self, cr, uid, data, context=None):
> +        users_obj = self.pool['res.users']
> +        users_ids = users_obj.search(cr, uid,
> +                                     [('login', '=', data['colegiado'])],
> +                                     context=context)
> +        if users_ids:
> +            users_obj.write(cr, uid, users_ids, {'active': False},
> +                            context=context)
> 


-- 
https://code.launchpad.net/~oihanecruce/avanzosc/phonelift_sales_extension/+merge/223355
Your team Avanzosc_security is subscribed to branch lp:~avanzosc-security-team/avanzosc/72horas.