This commit is contained in:
Bertrand Chenal committed 2008-03-07 02:08:55 +01:00
commit 66dccac2a2
7 files changed
+236 -316

No files matched your search

+5 -6
View File
@@ -1,12 +1,11 @@
{
"name" : "Products",
"name" : "Product",
"version" : "0.1",
"author" : "B2CK",
"category" : "Generic Modules",
"description": "Define products, categories of product, units"
"of measure, categories of units of measure.",
"depends" : ["ir","res"],
"xml" : ["product.xml","category.xml","template.xml","uom.xml"],
"installable": True,
"description": "Define products, categories of product, units" \
"of measure, categories of units of measure.",
"depends" : ["ir", "res"],
"xml" : ["product.xml", "category.xml", "uom.xml"],
}
+4 -7
View File
@@ -1,5 +1,6 @@
from trytond.osv import fields, OSV
class Category(OSV):
"Product Category"
_name = "product.category"
@@ -10,9 +11,10 @@ class Category(OSV):
complete_name = fields.Function('complete_name', type="char", string='Name')
parent = fields.Many2One('product.category','Parent Category', select=True)
childs = fields.One2Many('product.category', 'parent',
string='Child Categories')
string='Child Categories')
def complete_name(self, cursor, user, ids, name, arg, context=None):
def complete_name(self, cursor, user, obj_id, name, value, arg,
context=None):
res = self.name_get(cursor, user, ids, context)
return dict(res)
@@ -29,9 +31,4 @@ class Category(OSV):
res.append((category.id, name))
return res
_constraints = [
('check_recursion',
'Error! You can not create recursive categories.', ['parent'])
]
Category()
+68 -87
View File
@@ -1,90 +1,71 @@
<?xml version="1.0"?>
<tryton>
<data>
<record model="ir.ui.view" id="product_categ_list_view">
<field name="model">product.category</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<![CDATA[
<tree string="Product Categories">
<field name="name" select="1"/>
<field name="parent" select="1"/>
<field name="complete_name" />
</tree>
]]>
</field>
</record>
<record model="ir.ui.view" id="product_categ_form_view">
<field name="model">product.category</field>
<field name="type">form</field>
<field name="arch" type="xml">
<![CDATA[
<form string="Product Category">
<label name="name"/>
<field name="name" select="1"/>
<label name="parent"/>
<field name="parent" select="1"/>
<label name="complete_name"/>
<field name="complete_name"/>
<separator name="childs" colspan="4"/>
<field name="childs" colspan="4"/>
</form>
]]>
</field>
</record>
<record model="ir.action.act_window" id="product_categ_list_action">
<field name="name">Product category</field>
<field name="type">ir.action.act_window</field>
<field name="res_model">product.category</field>
<field name="view_type">form</field>
</record>
<record model="ir.action.act_window.view" id="action_categ_form_view">
<field name="sequence" eval="10"/>
<field name="view" ref="product_categ_list_view"/>
<field name="act_window" ref="product_categ_list_action"/>
</record>
<record model="ir.action.act_window.view" id="action_categ_list_view">
<field name="sequence" eval="20"/>
<field name="view" ref="product_categ_form_view"/>
<field name="act_window" ref="product_categ_list_action"/>
</record>
<menuitem name="Categories" parent="menu_product_product"
sequence="3" id="menu_product_categ" action="product_categ_list_action"/>
<record model="ir.action.act_window" id="product_categ_form_action">
<field name="name">Product Category</field>
<field name="type">ir.action.act_window</field>
<field name="res_model">product.category</field>
<field name="view_type">form</field>
</record>
<record model="ir.action.act_window.view" id="action_categ_form_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="product_categ_list_view"/>
<field name="act_window" ref="product_categ_form_action"/>
</record>
<record model="ir.action.act_window.view" id="action_categ_list_view2">
<field name="sequence" eval="10"/>
<field name="view" ref="product_categ_form_view"/>
<field name="act_window" ref="product_categ_form_action"/>
</record>
<menuitem name="New Category"
id="menu_new_product_categ"
parent="menu_product_categ"
action="product_categ_form_action"
/>
</data>
<data>
<record model="ir.ui.view" id="category_view_tree">
<field name="model">product.category</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<![CDATA[
<tree string="Product Categories">
<field name="name" select="1"/>
<field name="parent" select="1"/>
<field name="complete_name"/>
</tree>
]]>
</field>
</record>
<record model="ir.ui.view" id="category_view_form">
<field name="model">product.category</field>
<field name="type">form</field>
<field name="arch" type="xml">
<![CDATA[
<form string="Product Category">
<label name="name"/>
<field name="name" select="1"/>
<label name="parent"/>
<field name="parent" select="1"/>
<label name="complete_name"/>
<field name="complete_name"/>
<separator name="childs" colspan="4"/>
<field name="childs" colspan="4"/>
</form>
]]>
</field>
</record>
<record model="ir.action.act_window" id="act_category_form">
<field name="name">Product Categories</field>
<field name="res_model">product.category</field>
<field name="view_type">form</field>
</record>
<record model="ir.action.act_window.view" id="act_category_form_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="category_view_tree"/>
<field name="act_window" ref="act_category_form"/>
</record>
<record model="ir.action.act_window.view" id="act_category_form_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="category_view_form"/>
<field name="act_window" ref="act_category_form"/>
</record>
<menuitem name="Categories" parent="menu_main_product"
sequence="2" id="menu_category_form"
action="act_category_form"/>
<record model="ir.action.act_window" id="act_category_form2">
<field name="name">Product Categories</field>
<field name="res_model">product.category</field>
<field name="view_type">form</field>
</record>
<record model="ir.action.act_window.view" id="act_category_form2_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="category_view_form"/>
<field name="act_window" ref="act_category_form2"/>
</record>
<record model="ir.action.act_window.view" id="act_category_form2_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="category_view_tree"/>
<field name="act_window" ref="act_category_form2"/>
</record>
<menuitem name="New Category" id="menu_category_form2"
parent="menu_category_form" action="act_category_form2"/>
</data>
</tryton>
+19 -24
View File
@@ -4,7 +4,7 @@
<menuitem name="Products" id="menu_main_product" sequence="1"/>
<record model="ir.ui.view" id="product_product_list_view">
<record model="ir.ui.view" id="product_view_tree">
<field name="model">product.product</field>
<field name="type">tree</field>
<field name="arch" type="xml">
@@ -13,6 +13,7 @@
<field name="name" select="1"/>
<field name="code" select="1"/>
<field name="list_price" select="2"/>
<field name="cost_price"/>
<field name="type" select="2"/>
<field name="category" select="1"/>
<field name="default_uom" select="2"/>
@@ -22,7 +23,7 @@
</field>
</record>
<record model="ir.ui.view" id="product_product_form_view">
<record model="ir.ui.view" id="product_view_form">
<field name="model">product.product</field>
<field name="type">form</field>
<field name="arch" type="xml">
@@ -58,56 +59,50 @@
</field>
</record>
<record model="ir.action.act_window" id="product_product_list_action">
<record model="ir.action.act_window" id="act_product_form">
<field name="name">Products</field>
<field name="type">ir.action.act_window</field>
<field name="res_model">product.product</field>
<field name="view_type">form</field>
</record>
<record model="ir.action.act_window.view" id="action_product_list_view">
<record model="ir.action.act_window.view" id="act_product_list_view">
<field name="sequence" eval="10"/>
<field name="view" ref="product_product_list_view"/>
<field name="act_window" ref="product_product_list_action"/>
<field name="view" ref="product_view_tree"/>
<field name="act_window" ref="act_product_form"/>
</record>
<record model="ir.action.act_window.view" id="action_product_form_view">
<record model="ir.action.act_window.view" id="act_product_form_view">
<field name="sequence" eval="20"/>
<field name="view" ref="product_product_form_view"/>
<field name="act_window" ref="product_product_list_action"/>
<field name="view" ref="product_view_form"/>
<field name="act_window" ref="act_product_form"/>
</record>
<menuitem name="Products" parent="menu_main_product"
sequence="1" id="menu_product_product"
action="product_product_list_action"/>
action="act_product_form"/>
<record model="ir.action.act_window" id="product_product_form_action">
<record model="ir.action.act_window" id="act_product_form2">
<field name="name">Products</field>
<field name="type">ir.action.act_window</field>
<field name="res_model">product.product</field>
<field name="view_type">form</field>
</record>
<record model="ir.action.act_window.view" id="action_product_list_view2">
<record model="ir.action.act_window.view" id="act_product_list_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="product_product_list_view"/>
<field name="act_window" ref="product_product_form_action"/>
<field name="view" ref="product_view_tree"/>
<field name="act_window" ref="act_product_form2"/>
</record>
<record model="ir.action.act_window.view" id="action_product_form_view2">
<record model="ir.action.act_window.view" id="act_product_form_view2">
<field name="sequence" eval="10"/>
<field name="view" ref="product_product_form_view"/>
<field name="act_window" ref="product_product_form_action"/>
<field name="view" ref="product_view_form"/>
<field name="act_window" ref="act_product_form2"/>
</record>
<menuitem name="New Product" parent="menu_product_product"
sequence="1" id="menu_product_product_new"
action="product_product_form_action"/>
action="act_product_form2"/>
</data>
</tryton>
-6
View File
@@ -1,6 +0,0 @@
<?xml version="1.0"?>
<tryton>
<data>
</data>
</tryton>
-5
View File
@@ -7,11 +7,9 @@ STATES = {
class UomCategory(OSV):
'Product uom category'
_name = 'product.uom.category'
_description = __doc__
_order = 'name'
name = fields.Char('Name', size=64, required=True)
@@ -20,7 +18,6 @@ UomCategory()
class Uom(OSV):
'Unit of measure'
_name = 'product.uom'
_description = __doc__
_order = 'name'
@@ -43,7 +40,6 @@ class Uom(OSV):
required=True,states=STATES,)
active = fields.Boolean('Active')
def _factor(self, cursor, user, ids, name, arg, context):
res = {}
for uom in self.browse(cursor, user, ids, context=context):
@@ -87,7 +83,6 @@ class Uom(OSV):
def default_rounding(self, cursor, user, context=None):
return 0.01
def on_change_factor(self, cursor, user, ids, value, context=None):
if value.get('factor', 0.0) == 0.0:
return {'value': {'rate': 0}}
+140 -181
View File
@@ -1,184 +1,143 @@
<?xml version="1.0"?>
<tryton>
<data>
<record model="ir.ui.view" id="product_uom_list_view">
<field name="model">product.uom</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<![CDATA[
<tree string="Units of Measure">
<field name="name" select="1"/>
<field name="category" select="1"/>
<field name="factor" select="2"/>
<field name="rate" select="2"/>
<field name="rounding" select="2"/>
<field name="active" select="2" invisible="1"/>
</tree>
]]>
</field>
</record>
<record model="ir.ui.view" id="product_uom_form_view">
<field name="model">product.uom</field>
<field name="type">form</field>
<field name="arch" type="xml">
<![CDATA[
<form string="Unit of Measure" col="6">
<label name="name"/>
<field name="name" select="1"/>
<label name="category"/>
<field name="category" select="1"/>
<label name="active"/>
<field name="active" invisible="0"/>
<label name="factor"/>
<field name="factor" select="1"/>
<label name="rate"/>
<field name="rate" select="1"/>
<newline/>
<label name="rounding"/>
<field name="rounding" />
</form>
]]>
</field>
</record>
<record model="ir.action.act_window" id="product_uom_list_action">
<field name="name">Units of measure</field>
<field name="type">ir.action.act_window</field>
<field name="res_model">product.uom</field>
<field name="view_type">form</field>
</record>
<record model="ir.action.act_window.view" id="action_uom_form_view">
<field name="sequence" eval="10"/>
<field name="view" ref="product_uom_list_view"/>
<field name="act_window" ref="product_uom_list_action"/>
</record>
<record model="ir.action.act_window.view" id="action_uom_list_view">
<field name="sequence" eval="20"/>
<field name="view" ref="product_uom_form_view"/>
<field name="act_window" ref="product_uom_list_action"/>
</record>
<menuitem name="Units of Measure" parent="menu_main_product"
sequence="2" id="menu_product_uom" action="product_uom_list_action"/>
<record model="ir.action.act_window" id="product_uom_form_action">
<field name="name">Units of measure</field>
<field name="type">ir.action.act_window</field>
<field name="res_model">product.uom</field>
<field name="view_type">form</field>
</record>
<record model="ir.action.act_window.view" id="action_uom_form_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="product_uom_list_view"/>
<field name="act_window" ref="product_uom_form_action"/>
</record>
<record model="ir.action.act_window.view" id="action_uom_list_view2">
<field name="sequence" eval="10"/>
<field name="view" ref="product_uom_form_view"/>
<field name="act_window" ref="product_uom_form_action"/>
</record>
<menuitem name="New Unit of Measure"
id="menu_new_product_uom"
parent="menu_product_uom"
sequence="1"
action="product_uom_form_action"
/>
-----------uom categ---------------
<record model="ir.ui.view" id="product_uom_categ_list_view">
<field name="model">product.uom.category</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<![CDATA[
<tree string="Categories of Unit of Measure">
<field name="name" select="1"/>
<field name="parent" select="1"/>
<field name="complete_name"/>
</tree>
]]>
</field>
</record>
<record model="ir.ui.view" id="product_uom_categ_form_view">
<field name="model">product.uom.category</field>
<field name="type">form</field>
<field name="arch" type="xml">
<![CDATA[
<form string="Category of Unit of Measure" col="6">
<label name="name"/>
<field name="name" select="1"/>
<label name="parent"/>
<field name="parent" select="1"/>
<label name="complete_name"/>
<field name="complete_name" />
<label name="childs"/>
<field name="childs" />
</form>
]]>
</field>
</record>
<record model="ir.action.act_window" id="product_uom_categ_list_action">
<field name="name">Categories of Unit of Measure</field>
<field name="type">ir.action.act_window</field>
<field name="res_model">product.uom.category</field>
<field name="view_type">form</field>
</record>
<record model="ir.action.act_window.view" id="action_uom_categ_form_view">
<field name="sequence" eval="10"/>
<field name="view" ref="product_uom_categ_list_view"/>
<field name="act_window" ref="product_uom_categ_list_action"/>
</record>
<record model="ir.action.act_window.view" id="action_uom_categ_list_view">
<field name="sequence" eval="20"/>
<field name="view" ref="product_uom_categ_form_view"/>
<field name="act_window" ref="product_uom_categ_list_action"/>
</record>
<menuitem name="Categories" parent="menu_product_uom"
sequence="2" id="menu_product_uom_categ" action="product_uom_categ_list_action"/>
<record model="ir.action.act_window" id="product_uom_categ_form_action">
<field name="name">Categories of Unit of measure</field>
<field name="type">ir.action.act_window</field>
<field name="res_model">product.uom.category</field>
<field name="view_type">form</field>
</record>
<record model="ir.action.act_window.view" id="action_uom_categ_form_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="product_uom_categ_list_view"/>
<field name="act_window" ref="product_uom_categ_form_action"/>
</record>
<record model="ir.action.act_window.view" id="action_uom_categ_list_view2">
<field name="sequence" eval="10"/>
<field name="view" ref="product_uom_categ_form_view"/>
<field name="act_window" ref="product_uom_categ_form_action"/>
</record>
<menuitem name="New Category"
id="menu_new_product_uom_categ"
parent="menu_product_uom_categ"
action="product_uom_categ_form_action"
/>
</data>
<data>
<record model="ir.ui.view" id="uom_view_tree">
<field name="model">product.uom</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<![CDATA[
<tree string="Units of Measure">
<field name="name" select="1"/>
<field name="category" select="1"/>
<field name="factor" select="2"/>
<field name="rate" select="2"/>
<field name="rounding" select="2"/>
<field name="active" select="2" invisible="1"/>
</tree>
]]>
</field>
</record>
<record model="ir.ui.view" id="uom_view_form">
<field name="model">product.uom</field>
<field name="type">form</field>
<field name="arch" type="xml">
<![CDATA[
<form string="Unit of Measure" col="6">
<label name="name"/>
<field name="name" select="1"/>
<label name="category"/>
<field name="category" select="1"/>
<label name="active"/>
<field name="active" invisible="0"/>
<label name="factor"/>
<field name="factor" select="1"/>
<label name="rate"/>
<field name="rate" select="1"/>
<newline/>
<label name="rounding"/>
<field name="rounding" />
</form>
]]>
</field>
</record>
<record model="ir.action.act_window" id="act_uom_form">
<field name="name">Units of Measure</field>
<field name="res_model">product.uom</field>
<field name="view_type">form</field>
</record>
<record model="ir.action.act_window.view" id="act_uom_form_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="uom_view_tree"/>
<field name="act_window" ref="act_uom_form"/>
</record>
<record model="ir.action.act_window.view" id="act_uom_form_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="uom_view_form"/>
<field name="act_window" ref="act_uom_form"/>
</record>
<menuitem name="Units of Measure" parent="menu_main_product"
sequence="3" id="menu_uom_form" action="act_uom_form"/>
<record model="ir.action.act_window" id="act_uom_form2">
<field name="name">Units of Measure</field>
<field name="res_model">product.uom</field>
<field name="view_type">form</field>
</record>
<record model="ir.action.act_window.view" id="act_uom_form2_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="uom_view_form"/>
<field name="act_window" ref="act_uom_form2"/>
</record>
<record model="ir.action.act_window.view" id="act_uom_form2_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="uom_view_tree"/>
<field name="act_window" ref="act_uom_form2"/>
</record>
<menuitem name="New Unit of Measure" id="menu_uom_form2"
parent="menu_uom_form" sequence="1" action="act_uom_form2"/>
<record model="ir.ui.view" id="uom_category_view_tree">
<field name="model">product.uom.category</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<![CDATA[
<tree string="Categories of Unit of Measure">
<field name="name" select="1"/>
<field name="parent" select="1"/>
<field name="complete_name"/>
</tree>
]]>
</field>
</record>
<record model="ir.ui.view" id="uom_category_view_form">
<field name="model">product.uom.category</field>
<field name="type">form</field>
<field name="arch" type="xml">
<![CDATA[
<form string="Category of Unit of Measure" col="6">
<label name="name"/>
<field name="name" select="1"/>
<label name="parent"/>
<field name="parent" select="1"/>
<label name="complete_name"/>
<field name="complete_name" />
<label name="childs"/>
<field name="childs" />
</form>
]]>
</field>
</record>
<record model="ir.action.act_window" id="act_uom_category_form">
<field name="name">Categories of Unit of Measure</field>
<field name="res_model">product.uom.category</field>
<field name="view_type">form</field>
</record>
<record model="ir.action.act_window.view" id="act_uom_category_form_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="uom_category_view_tree"/>
<field name="act_window" ref="act_uom_category_form"/>
</record>
<record model="ir.action.act_window.view" id="act_uom_category_form_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="uom_category_view_form"/>
<field name="act_window" ref="act_uom_category_form"/>
</record>
<menuitem name="Categories" parent="menu_uom_form" sequence="2"
id="menu_uom_category_form" action="act_uom_category_form"/>
<record model="ir.action.act_window" id="act_uom_category_form2">
<field name="name">Categories of Unit of measure</field>
<field name="res_model">product.uom.category</field>
<field name="view_type">form</field>
</record>
<record model="ir.action.act_window.view" id="act_uom_category_form2_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="uom_category_view_form"/>
<field name="act_window" ref="act_uom_category_form2"/>
</record>
<record model="ir.action.act_window.view" id="act_uom_category_form2_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="uom_category_view_tree"/>
<field name="act_window" ref="act_uom_category_form2"/>
</record>
<menuitem name="New Category" id="menu_uom_category_form2"
parent="menu_uom_category_form" action="act_uom_category_form2"/>
</data>
</tryton>