búsqueda en el TPV por referencia, autor, género y editorial.
backup files atacks again...
This commit is contained in:
parent
f6023acc5a
commit
22d71e80dc
7 changed files with 82 additions and 136 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -129,3 +129,4 @@ dmypy.json
|
|||
# Pyre type checker
|
||||
.pyre/
|
||||
|
||||
*~
|
||||
|
|
|
@ -4,20 +4,23 @@
|
|||
'name': 'Product Library',
|
||||
'category': 'Product',
|
||||
'summary': 'Add library related fields to product',
|
||||
'version': '0.1',
|
||||
'version': '12.0.1.0.0',
|
||||
'description': """
|
||||
|
||||
Add several fields to product for libraries
|
||||
Addon mejora de Odoo para librerías y tiendas de discos
|
||||
==================================================
|
||||
Autor, coleccion, ISBN,....
|
||||
* Añade campos a product: Editorial, autor, género, formato,...
|
||||
* Hace búsquedas en el TPV y backend en esos campos nuevos
|
||||
|
||||
""",
|
||||
'author': 'Criptomart',
|
||||
'depends': ['product'],
|
||||
'depends': [
|
||||
'product',
|
||||
'point_of_sale',
|
||||
],
|
||||
'data': [
|
||||
'views/product.xml',
|
||||
#'views/templates.xml',
|
||||
'data/product_code_sequence.xml',
|
||||
'views/templates.xml'
|
||||
],
|
||||
'demo': [],
|
||||
'installable': True,
|
||||
|
|
|
@ -13,12 +13,15 @@ Autor, coleccion, ISBN,....
|
|||
|
||||
""",
|
||||
'author': 'Criptomart',
|
||||
'depends': ['product'],
|
||||
'depends': [
|
||||
'product',
|
||||
'point_of_sale',
|
||||
],
|
||||
'data': [
|
||||
'views/product.xml',
|
||||
#'views/templates.xml',
|
||||
'data/product_code_sequence.xml',
|
||||
'views/templates.xml'
|
||||
],
|
||||
'demo': [],
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
'application': True,
|
||||
|
|
|
@ -1,113 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- últimas referencias de sigelib
|
||||
|
||||
DD-LP0880
|
||||
DD-CD2514
|
||||
DD-SG0668
|
||||
DD-LB0710
|
||||
DD-LX0491
|
||||
DD-DVD0207
|
||||
DD-TX0061
|
||||
|
||||
-->
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
<!-- <record id="seq_type_product_code_lp" model="ir.sequence.type">
|
||||
<field name="name">Product Code LP</field>
|
||||
<field name="code">product.template.code.lp</field>
|
||||
</record>
|
||||
<record id="seq_type_product_code_k7" model="ir.sequence.type">
|
||||
<field name="name">Product Code K7</field>
|
||||
<field name="code">product.template.code.k7</field>
|
||||
</record>
|
||||
<record id="seq_type_product_code_cd" model="ir.sequence.type">
|
||||
<field name="name">Product Code CD</field>
|
||||
<field name="code">product.template.code.cd</field>
|
||||
</record>
|
||||
<record id="seq_type_product_code_sg" model="ir.sequence.type">
|
||||
<field name="name">Product Code SG</field>
|
||||
<field name="code">product.template.code.sg</field>
|
||||
</record>
|
||||
<record id="seq_type_product_code_vi" model="ir.sequence.type">
|
||||
<field name="name">Product Code video</field>
|
||||
<field name="code">product.template.code.vi</field>
|
||||
</record>
|
||||
<record id="seq_type_product_code_tx" model="ir.sequence.type">
|
||||
<field name="name">Product Code Textil</field>
|
||||
<field name="code">product.template.code.tx</field>
|
||||
</record>
|
||||
<record id="seq_type_product_code_lb" model="ir.sequence.type">
|
||||
<field name="name">Product Code Libros</field>
|
||||
<field name="code">product.template.code.lb</field>
|
||||
</record>
|
||||
<record id="seq_type_product_code_lx" model="ir.sequence.type">
|
||||
<field name="name">Product Code Libelos</field>
|
||||
<field name="code">product.template.code.lx</field>
|
||||
</record>
|
||||
-->
|
||||
<record id="seq_product_code_lp" model="ir.sequence">
|
||||
<field name="name">Product Code LP</field>
|
||||
<field name="code">product.template.code.lp</field>
|
||||
<field name="prefix">DD-LP</field>
|
||||
<field name="number_next">3057</field>
|
||||
<field name="padding">4</field>
|
||||
<field name="company_id" eval="False"/>
|
||||
</record>
|
||||
<record id="seq_product_code_k7" model="ir.sequence">
|
||||
<field name="name">Product Code Casete</field>
|
||||
<field name="code">product.template.code.k7</field>
|
||||
<field name="prefix">DD-K7</field>
|
||||
<field name="number_next">3006</field>
|
||||
<field name="padding">4</field>
|
||||
<field name="company_id" eval="False"/>
|
||||
</record>
|
||||
<record id="seq_product_code_cd" model="ir.sequence">
|
||||
<field name="name">Product Code CD</field>
|
||||
<field name="code">product.template.code.cd</field>
|
||||
<field name="prefix">DD-CD</field>
|
||||
<field name="number_next">3040</field>
|
||||
<field name="padding">4</field>
|
||||
<field name="company_id" eval="False"/>
|
||||
</record>
|
||||
<record id="seq_product_code_sg" model="ir.sequence">
|
||||
<field name="name">Product Code Single</field>
|
||||
<field name="code">product.template.code.sg</field>
|
||||
<field name="prefix">DD-SG</field>
|
||||
<field name="number_next">3022</field>
|
||||
<field name="padding">4</field>
|
||||
<field name="company_id" eval="False"/>
|
||||
</record>
|
||||
<record id="seq_product_code_lb" model="ir.sequence">
|
||||
<field name="name">Product Code Libro</field>
|
||||
<field name="code">product.template.code.lb</field>
|
||||
<field name="prefix">DD-LB</field>
|
||||
<field name="number_next">3055</field>
|
||||
<field name="padding">4</field>
|
||||
<field name="company_id" eval="False"/>
|
||||
</record>
|
||||
<record id="seq_product_code_lx" model="ir.sequence">
|
||||
<field name="name">Product Code Libelos</field>
|
||||
<field name="code">product.template.code.lx</field>
|
||||
<field name="prefix">DD-LX</field>
|
||||
<field name="number_next">3015</field>
|
||||
<field name="padding">4</field>
|
||||
<field name="company_id" eval="False"/>
|
||||
</record>
|
||||
<record id="seq_product_code_vi" model="ir.sequence">
|
||||
<field name="name">Product Code Video</field>
|
||||
<field name="code">product.template.code.vi</field>
|
||||
<field name="prefix">DD-VI</field>
|
||||
<field name="number_next">3002</field>
|
||||
<field name="padding">4</field>
|
||||
<field name="company_id" eval="False"/>
|
||||
</record>
|
||||
<record id="seq_product_code_tx" model="ir.sequence">
|
||||
<field name="name">Product Code Textil</field>
|
||||
<field name="code">product.template.code.tx</field>
|
||||
<field name="prefix">DD-TX</field>
|
||||
<field name="number_next">3019</field>
|
||||
<field name="padding">4</field>
|
||||
<field name="company_id" eval="False"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
28
product_library/static/src/js/db.js
Normal file
28
product_library/static/src/js/db.js
Normal file
|
@ -0,0 +1,28 @@
|
|||
odoo.define('product_library', function (require) {
|
||||
|
||||
"use strict";
|
||||
var db = require("point_of_sale.DB");
|
||||
db.include({
|
||||
|
||||
_product_search_string: function(product){
|
||||
var str = product.name;
|
||||
if(product.default_code){
|
||||
str += '|' + product.default_code;
|
||||
}
|
||||
if(product.autor){
|
||||
str += '|' + product.autor;
|
||||
}
|
||||
if(product.genero){
|
||||
str += '|' + product.genero;
|
||||
}
|
||||
if(product.editorial){
|
||||
str += '|' + product.editorial;
|
||||
}
|
||||
str = '' + product.id + ':' + str.replace(':','') + '\n';
|
||||
return str;
|
||||
},
|
||||
});
|
||||
|
||||
return db;
|
||||
|
||||
});
|
28
product_library/static/src/js/product_library.js
Normal file
28
product_library/static/src/js/product_library.js
Normal file
|
@ -0,0 +1,28 @@
|
|||
odoo.define('product_library.product_library', function (require) {
|
||||
"use strict";
|
||||
|
||||
var models = require('point_of_sale.models');
|
||||
var screens = require('point_of_sale.screens');
|
||||
var core = require('web.core');
|
||||
var gui = require('point_of_sale.gui');
|
||||
var _t = core._t;
|
||||
|
||||
/* ********************************************************
|
||||
Overload models.PosModel
|
||||
******************************************************** */
|
||||
|
||||
var _super_posmodel = models.PosModel.prototype;
|
||||
models.PosModel = models.PosModel.extend({
|
||||
initialize: function (session, attributes) {
|
||||
|
||||
this.member_categories = [];
|
||||
|
||||
var product_model = _.find(this.models, function(model){ return model.model === 'product.product'; });
|
||||
product_model.fields.push('default_code');
|
||||
product_model.fields.push('autor');
|
||||
product_model.fields.push('editorial');
|
||||
product_model.fields.push('genero');
|
||||
return _super_posmodel.initialize.apply(this, arguments);
|
||||
}
|
||||
});
|
||||
});
|
|
@ -1,14 +1,10 @@
|
|||
<openerp>
|
||||
<data>
|
||||
<template id="report_external_layout_header_custom" inherit_id="report.external_layout_header" name="Report Layout Header NIF" priority="17">
|
||||
<xpath expr="//div[@t-field='company.partner_id']" position="before">
|
||||
<!-- <div t-field="company.partner_id"
|
||||
t-field-options="{'widget': 'contact',
|
||||
'fields': ['address','name'],
|
||||
'no_marker': true }"
|
||||
/> -->
|
||||
<span t-field="company.vat" />
|
||||
</xpath>
|
||||
</template>
|
||||
</data>
|
||||
</openerp>
|
||||
<odoo>
|
||||
|
||||
<template id="assets_backend" name="product_library" inherit_id="point_of_sale.assets">
|
||||
<xpath expr="." position="inside">
|
||||
<script type="text/javascript" src="/product_library/static/src/js/product_library.js"></script>
|
||||
<script type="text/javascript" src="/product_library/static/src/js/db.js"/>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
</odoo>
|
||||
|
|
Loading…
Add table
Reference in a new issue