Resolve "Derechos de autor"
Closes #24 (closed) Closes #45 (closed)
Algunos campos dependen de Category: sale_ok
, purchase_ok
, and type
. Los valores por defecto son establecidos cuando se selecciona la categoría para estos campos.
También podríamos definir la Category por defecto (All/Libros
) -> O tal vez no si no creamos la categoría en los data del módulo.
La Category de All/Libros
tiene id=5
, All/Libro Digital
tiene id=11
. Usamos el id para filtrar funcionalidad. Cuando se crea un producto con la categoría Libros o Libro Digital, se crea automáticamente un producto servicio que es el DDAA. Están relacionados con One2One (https://odoo-development.readthedocs.io/en/latest/dev/py/one2one.html). El precio del DDAA se calcula como un porcentaje del precio del libro.
Receptor de derechos de autoría es un nuevo campo que por defecto tiene los valores del autor.
Cuando se valida un stock.picking
, se comprueba que la Localización de destino es Partner Locations/Customers
(con id 5), para hacer la compra de derechos de autoría.
Se crea la relación (producto_referencia
, derecho_autoria
) entre templates. Entonces, cuando se añade el producto a un stock picking o una sale o purchase order, en realidad estamos añadiendo el producto y no el template. Use product_tmpl_id para acceder al template de un product.
También se comprueba cuando se hace un movimiento con origen Partner Locations/Customers
(que representa una devolución), y se restan los ddaa de los pedidos de compra correspondientes.
Los purchase.order
que se utilizan en este módulo asumimos que tienen partner_ref = 'DDAA'
, y si se crean purchase orders a parte sin esta referencia, se descuadran las cuentas (especialmente de las devoluciones de libros). Si hay más de una purchase.order a una autora con partner_ref = 'DDAA'
, se tendrán en cuenta todas ellas para sumar o restar cantidades.
Para indicar que un libro no tendrá receptora de derechos de autoría, hay un nuevo campo genera_ddaa
. Si el campo es False, o es True pero no hay ni producto ddaa asociado (con "receptor derechos autoría") ni autor, el módulo no generará compra de derechos de autoría. Si se borra el producto de ddaa, el módulo volverá a crear uno.
Known issues now:
- One2one funciona como One2many
- Los movimientos de Depósito a Partner Locations/Customers, si no se añade manualmente la cantidad de Hecho, o si no se validan a través de la Liquidación, no generan DDAA. Los mismo pasa la devoluciones desde Partner Location/Customers.
Casos no cubiertos:
- si se hace una devolución desde Partner Locations/Customers justo después de haber liquidado los ddaa, se pierde esa devolución, porque no hay ningún pedido borrador de ddaa desde el que restar.