avanzosc team mailing list archive
-
avanzosc team
-
Mailing list archive
-
Message #00525
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.