[POS-commit] r3949 - in stoqlib/trunk: stoqlib/domain stoqlib/domain/examples stoqlib/gui/editors stoqlib/gui/search stoqlib/lib

Henrique Romano henrique at async.com.br
Thu Jul 20 10:38:02 BRT 2006


Author: henrique
Date: Thu Jul 20 10:38:01 2006
New Revision: 3949

Modified:
   stoqlib/trunk/data/glade/BaseSellableCategoryDataSlave.glade
   stoqlib/trunk/data/glade/SellableCategoryDataSlave.glade
   stoqlib/trunk/stoqlib/domain/examples/product.py
   stoqlib/trunk/stoqlib/domain/sellable.py
   stoqlib/trunk/stoqlib/gui/editors/category.py
   stoqlib/trunk/stoqlib/gui/editors/sellable.py
   stoqlib/trunk/stoqlib/gui/search/category.py
   stoqlib/trunk/stoqlib/lib/parameters.py

Log:
Fix for bug #2695: Turn SellableCategory and BaseSellableCategory subclasses of AbstractSellableCategory.
r=jdahlin




Modified: stoqlib/trunk/data/glade/BaseSellableCategoryDataSlave.glade
==============================================================================
--- stoqlib/trunk/data/glade/BaseSellableCategoryDataSlave.glade	(original)
+++ stoqlib/trunk/data/glade/BaseSellableCategoryDataSlave.glade	Thu Jul 20 10:38:01 2006
@@ -1,10 +1,7 @@
-<?xml version="1.0" ?>
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-interface SYSTEM "http://gazpacho.sicem.biz/gazpacho-0.1.dtd">
 <glade-interface domain="stoqlib">
-    <requires lib="kiwi"/>
-    <requires lib="gtk+"/>
     <widget class="GtkWindow" id="BaseSellableCategoryDataSlave">
-        <property name="resize_mode">queue</property>
-        <property name="type">toplevel</property>
         <child>
             <widget class="GtkTable" id="table1">
                 <property name="column_spacing">3</property>
@@ -13,86 +10,81 @@
                 <property name="row_spacing">5</property>
                 <property name="visible">True</property>
                 <child>
-                    <widget class="kiwi+ui+widgets+entry+Entry" id="description">
-                        <property name="can_focus">True</property>
-                        <property name="completion">False</property>
-                        <property name="data_type">unicode</property>
-                        <property name="events">button-press-mask | button-release-mask | key-press-mask</property>
-                        <property name="mandatory">True</property>
-                        <property name="model_attribute">category_data.description</property>
+                    <widget class="GtkLabel" id="label3">
+                        <property name="label" context="yes" translatable="yes">Description:</property>
                         <property name="visible">True</property>
+                        <property name="xalign">1.0</property>
                     </widget>
                     <packing>
-                        <property name="left_attach">1</property>
+                        <property name="x_options">fill</property>
                         <property name="y_options">fill</property>
-                        <property name="right_attach">2</property>
                     </packing>
                 </child>
                 <child>
-                    <widget class="GtkLabel" id="label4">
+                    <widget class="GtkLabel" id="label5">
                         <property name="justify">right</property>
-                        <property name="label" translatable="True">Suggested Markup:</property>
-                        <property name="xalign">1.0</property>
+                        <property name="label" context="yes" translatable="yes">Salesperson Commission:</property>
                         <property name="visible">True</property>
+                        <property name="xalign">1.0</property>
                     </widget>
                     <packing>
-                        <property name="bottom_attach">3</property>
-                        <property name="y_options">fill</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="top_attach">1</property>
                         <property name="x_options">fill</property>
-                        <property name="top_attach">2</property>
+                        <property name="y_options">fill</property>
                     </packing>
                 </child>
                 <child>
-                    <widget class="GtkLabel" id="label5">
+                    <widget class="GtkLabel" id="label4">
                         <property name="justify">right</property>
-                        <property name="label" translatable="True">Salesperson Commission:</property>
-                        <property name="xalign">1.0</property>
+                        <property name="label" context="yes" translatable="yes">Suggested Markup:</property>
                         <property name="visible">True</property>
+                        <property name="xalign">1.0</property>
                     </widget>
                     <packing>
-                        <property name="bottom_attach">2</property>
-                        <property name="y_options">fill</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="top_attach">2</property>
                         <property name="x_options">fill</property>
-                        <property name="top_attach">1</property>
+                        <property name="y_options">fill</property>
                     </packing>
                 </child>
                 <child>
-                    <widget class="GtkLabel" id="label3">
-                        <property name="label" translatable="True">Description:</property>
-                        <property name="xalign">1.0</property>
+                    <widget class="ProxyEntry" id="description">
+                        <property name="data_type">unicode</property>
+                        <property name="is_focus">True</property>
+                        <property name="mandatory">True</property>
+                        <property name="model_attribute">description</property>
                         <property name="visible">True</property>
                     </widget>
                     <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
                         <property name="y_options">fill</property>
-                        <property name="x_options">fill</property>
                     </packing>
                 </child>
                 <child>
-                    <widget class="GtkHBox" id="hbox3">
+                    <widget class="GtkHBox" id="hbox2">
                         <property name="spacing">5</property>
                         <property name="visible">True</property>
                         <child>
-                            <widget class="kiwi+ui+widgets+spinbutton+SpinButton" id="markup">
-                                <property name="adjustment">0.000000 0.000000 100.000000 1.000000 10.000000 0.000000</property>
-                                <property name="can_focus">True</property>
+                            <widget class="ProxySpinButton" id="commission">
+                                <property name="adjustment">0 0 100 1 10 0</property>
                                 <property name="data_type">Decimal</property>
                                 <property name="digits">2</property>
-                                <property name="events">button-press-mask | button-release-mask | key-press-mask</property>
-                                <property name="model_attribute">category_data.suggested_markup</property>
-                                <property name="text">0,00</property>
-                                <property name="width_chars">7</property>
-                                <property name="xalign">1.0</property>
+                                <property name="model_attribute">salesperson_commission</property>
+                                <property name="text" context="yes" translatable="yes">0,00</property>
                                 <property name="visible">True</property>
+                                <property name="width_chars">7</property>
                             </widget>
                             <packing>
                                 <property name="expand">False</property>
                             </packing>
                         </child>
                         <child>
-                            <widget class="GtkLabel" id="label2">
-                                <property name="label" translatable="True">%</property>
-                                <property name="xalign">0.0</property>
+                            <widget class="GtkLabel" id="label1">
+                                <property name="label" context="yes" translatable="yes">%</property>
                                 <property name="visible">True</property>
+                                <property name="xalign">0.0</property>
                             </widget>
                             <packing>
                                 <property name="position">1</property>
@@ -100,39 +92,36 @@
                         </child>
                     </widget>
                     <packing>
+                        <property name="bottom_attach">2</property>
                         <property name="left_attach">1</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="y_options">fill</property>
-                        <property name="top_attach">2</property>
                         <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="y_options">fill</property>
                     </packing>
                 </child>
                 <child>
-                    <widget class="GtkHBox" id="hbox2">
+                    <widget class="GtkHBox" id="hbox3">
                         <property name="spacing">5</property>
                         <property name="visible">True</property>
                         <child>
-                            <widget class="kiwi+ui+widgets+spinbutton+SpinButton" id="commission">
-                                <property name="adjustment">0.000000 0.000000 100.000000 1.000000 10.000000 0.000000</property>
-                                <property name="can_focus">True</property>
+                            <widget class="ProxySpinButton" id="markup">
+                                <property name="adjustment">0 0 100 1 10 0</property>
                                 <property name="data_type">Decimal</property>
                                 <property name="digits">2</property>
-                                <property name="events">button-press-mask | button-release-mask | key-press-mask</property>
-                                <property name="model_attribute">category_data.salesperson_commission</property>
-                                <property name="text">0,00</property>
-                                <property name="width_chars">7</property>
-                                <property name="xalign">1.0</property>
+                                <property name="model_attribute">suggested_markup</property>
+                                <property name="text" context="yes" translatable="yes">0,00</property>
                                 <property name="visible">True</property>
+                                <property name="width_chars">7</property>
                             </widget>
                             <packing>
                                 <property name="expand">False</property>
                             </packing>
                         </child>
                         <child>
-                            <widget class="GtkLabel" id="label1">
-                                <property name="label" translatable="True">%</property>
-                                <property name="xalign">0.0</property>
+                            <widget class="GtkLabel" id="label2">
+                                <property name="label" context="yes" translatable="yes">%</property>
                                 <property name="visible">True</property>
+                                <property name="xalign">0.0</property>
                             </widget>
                             <packing>
                                 <property name="position">1</property>
@@ -140,11 +129,11 @@
                         </child>
                     </widget>
                     <packing>
+                        <property name="bottom_attach">3</property>
                         <property name="left_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="y_options">fill</property>
-                        <property name="top_attach">1</property>
                         <property name="right_attach">2</property>
+                        <property name="top_attach">2</property>
+                        <property name="y_options">fill</property>
                     </packing>
                 </child>
             </widget>

Modified: stoqlib/trunk/data/glade/SellableCategoryDataSlave.glade
==============================================================================
--- stoqlib/trunk/data/glade/SellableCategoryDataSlave.glade	(original)
+++ stoqlib/trunk/data/glade/SellableCategoryDataSlave.glade	Thu Jul 20 10:38:01 2006
@@ -62,11 +62,11 @@
                     </packing>
                 </child>
                 <child>
-                    <widget class="kiwi+ui+widgets+entry+Entry" id="description">
+                    <widget class="ProxyEntry" id="description">
                         <property name="data_type">unicode</property>
                         <property name="is_focus">True</property>
                         <property name="mandatory">True</property>
-                        <property name="model_attribute">category_data.description</property>
+                        <property name="model_attribute">description</property>
                         <property name="visible">True</property>
                     </widget>
                     <packing>
@@ -76,7 +76,7 @@
                     </packing>
                 </child>
                 <child>
-                    <widget class="kiwi+ui+widgets+combobox+ComboBoxEntry" id="base_category">
+                    <widget class="ProxyComboBoxEntry" id="base_category">
                         <property name="data_type">object</property>
                         <property name="mandatory">True</property>
                         <property name="model_attribute">base_category</property>
@@ -95,16 +95,15 @@
                         <property name="spacing">5</property>
                         <property name="visible">True</property>
                         <child>
-                            <widget class="kiwi+ui+widgets+spinbutton+SpinButton" id="commission">
+                            <widget class="ProxySpinButton" id="commission">
                                 <property name="adjustment">0 0 100 1 10 0</property>
                                 <property name="data_type">Decimal</property>
                                 <property name="digits">2</property>
                                 <property name="is_focus">True</property>
-                                <property name="model_attribute">category_data.salesperson_commission</property>
-                                <property name="text" context="yes" translatable="yes">0.00</property>
+                                <property name="model_attribute">salesperson_commission</property>
+                                <property name="text" context="yes" translatable="yes">0,00</property>
                                 <property name="visible">True</property>
                                 <property name="width_chars">6</property>
-                                <property name="xalign">1.0</property>
                             </widget>
                             <packing>
                                 <property name="expand">False</property>
@@ -134,16 +133,15 @@
                         <property name="spacing">5</property>
                         <property name="visible">True</property>
                         <child>
-                            <widget class="kiwi+ui+widgets+spinbutton+SpinButton" id="suggested_markup">
+                            <widget class="ProxySpinButton" id="suggested_markup">
                                 <property name="adjustment">0 0 100 1 10 0</property>
                                 <property name="data_type">Decimal</property>
                                 <property name="digits">2</property>
                                 <property name="is_focus">True</property>
-                                <property name="model_attribute">category_data.suggested_markup</property>
-                                <property name="text" context="yes" translatable="yes">0.00</property>
+                                <property name="model_attribute">suggested_markup</property>
+                                <property name="text" context="yes" translatable="yes">0,00</property>
                                 <property name="visible">True</property>
                                 <property name="width_chars">6</property>
-                                <property name="xalign">1.0</property>
                             </widget>
                             <packing>
                                 <property name="expand">False</property>

Modified: stoqlib/trunk/stoqlib/domain/examples/product.py
==============================================================================
--- stoqlib/trunk/stoqlib/domain/examples/product.py	(original)
+++ stoqlib/trunk/stoqlib/domain/examples/product.py	Thu Jul 20 10:38:01 2006
@@ -36,8 +36,8 @@
 from stoqlib.domain.interfaces import ISellable, IStorable, ISupplier
 from stoqlib.domain.sellable import (BaseSellableCategory,
                                      SellableCategory,
-                                     AbstractSellableCategory,
-                                     BaseSellableInfo, SellableUnit)
+                                     SellableUnit,
+                                     BaseSellableInfo)
 from stoqlib.lib.runtime import new_transaction, print_msg
 
 
@@ -99,24 +99,18 @@
 
         base_cat_desc = base_category_data[index]
         commission, markup = get_commission_and_markup()
-        table = AbstractSellableCategory
-        abstract_data = table(connection=conn, suggested_markup=markup,
-                              salesperson_commission=commission,
-                              description=base_cat_desc)
-
-        base_cat = BaseSellableCategory(connection=conn,
-                                        category_data=abstract_data)
+        base_cat = BaseSellableCategory(suggested_markup=markup,
+                                        salesperson_commission=commission,
+                                        description=base_cat_desc,
+                                        connection=conn)
 
         cat_desc = category_data[index]
         commission, markup = get_commission_and_markup()
-        table = AbstractSellableCategory
-        abstract_data = table(connection=conn, description=cat_desc,
-                              salesperson_commission=commission,
-                              suggested_markup=markup)
-
-        cat = SellableCategory(connection=conn,
+        cat = SellableCategory(description=cat_desc,
+                               salesperson_commission=commission,
+                               suggested_markup=markup,
                                base_category=base_cat,
-                               category_data=abstract_data)
+                               connection=conn)
 
         description = descriptions[index]
         price = random.randrange(*PRICE_RANGE)

Modified: stoqlib/trunk/stoqlib/domain/sellable.py
==============================================================================
--- stoqlib/trunk/stoqlib/domain/sellable.py	(original)
+++ stoqlib/trunk/stoqlib/domain/sellable.py	Thu Jul 20 10:38:01 2006
@@ -64,51 +64,35 @@
     description = UnicodeCol()
     index = IntCol()
 
-class AbstractSellableCategory(Domain):
+class AbstractSellableCategory(InheritableModel):
     description = UnicodeCol()
     suggested_markup = DecimalCol(default=0)
-
     # A percentage commission suggested for all the sales which products
     # belongs to this category or base category
     salesperson_commission = DecimalCol(default=0)
 
-    def get_commission(self):
-        return self.salesperson_commission
-
-
-class BaseSellableCategory(Domain):
-    category_data = ForeignKey('AbstractSellableCategory')
-
     implements(IDescribable)
 
     def get_commission(self):
-        return self.category_data.get_commission()
-
-    #
-    # IDescribable implementation
-    #
+        return self.salesperson_commission
 
     def get_description(self):
-        return self.category_data.description
+        return self.description
 
+class BaseSellableCategory(AbstractSellableCategory):
+    pass
 
-class SellableCategory(Domain):
-    category_data = ForeignKey('AbstractSellableCategory')
+class SellableCategory(AbstractSellableCategory):
     base_category = ForeignKey('BaseSellableCategory')
 
     implements(IDescribable)
 
     def get_markup(self):
-        return (self.category_data.suggested_markup or
-                self.base_category.category_data.suggested_markup)
-
-    def get_commission(self):
-        return self.category_data.get_commission()
-
-    def get_description(self):
-        return "%s %s" % (self.base_category.get_description(),
-                          self.category_data.description)
+        return self.suggested_markup or self.base_category.suggested_markup
 
+    def get_full_description(self):
+        return ("%s %s"
+                % (self.base_category.get_description(), self.description))
 
 class AbstractSellableItem(InheritableModel):
     """Abstract representation of a concrete sellable."""

Modified: stoqlib/trunk/stoqlib/gui/editors/category.py
==============================================================================
--- stoqlib/trunk/stoqlib/gui/editors/category.py	(original)
+++ stoqlib/trunk/stoqlib/gui/editors/category.py	Thu Jul 20 10:38:01 2006
@@ -27,13 +27,10 @@
 from stoqlib.gui.base.editors import BaseEditor
 
 from stoqlib.lib.parameters import sysparam
-from stoqlib.domain.sellable import (AbstractSellableCategory,
-                                     BaseSellableCategory,
-                                     SellableCategory)
+from stoqlib.domain.sellable import BaseSellableCategory, SellableCategory
 
 _ = stoqlib_gettext
 
-
 class BaseSellableCategoryEditor(BaseEditor):
     gladefile = 'BaseSellableCategoryDataSlave'
     model_type = BaseSellableCategory
@@ -44,10 +41,7 @@
     size = (400, 175)
 
     def create_model(self, conn):
-        category_data = AbstractSellableCategory(description='',
-                                                 connection=conn)
-        return BaseSellableCategory(category_data=category_data,
-                                    connection=conn)
+        return BaseSellableCategory(description=u"", connection=conn)
 
     def get_title_model_attribute(self, model):
         return model.get_description()
@@ -56,7 +50,6 @@
         self.add_proxy(model=self.model,
                        widgets=BaseSellableCategoryEditor.proxy_widgets)
 
-
 class SellableCategoryEditor(BaseEditor):
     gladefile = 'SellableCategoryDataSlave'
     model_type = SellableCategory
@@ -67,21 +60,17 @@
                      'commission')
 
     def create_model(self, conn):
-        category_data = AbstractSellableCategory(description='',
-                                                 connection=conn)
-
-        suggested_base_cat = sysparam(conn).DEFAULT_BASE_CATEGORY
-        return SellableCategory(base_category=suggested_base_cat,
-                                category_data=category_data,
-                                connection=conn)
+        return SellableCategory(
+            description=u"", base_category=sysparam(conn).DEFAULT_BASE_CATEGORY,
+            connection=conn)
 
     def get_title_model_attribute(self, model):
         return model.get_description()
 
     def setup_combo(self):
         base_category_list = BaseSellableCategory.select(connection=self.conn)
-        items = [(base_cat.category_data.description, base_cat)
-                 for base_cat in base_category_list]
+        items = [(base_cat.description, base_cat)
+                     for base_cat in base_category_list]
         self.base_category.prefill(items)
 
     def setup_proxies(self):

Modified: stoqlib/trunk/stoqlib/gui/editors/sellable.py
==============================================================================
--- stoqlib/trunk/stoqlib/gui/editors/sellable.py	(original)
+++ stoqlib/trunk/stoqlib/gui/editors/sellable.py	Thu Jul 20 10:38:01 2006
@@ -241,7 +241,7 @@
 
     def setup_combos(self):
         category_list = SellableCategory.select(connection=self.conn)
-        items = [(cat.get_description(), cat) for cat in category_list]
+        items = [(cat.get_full_description(), cat) for cat in category_list]
         self.category_combo.prefill(items)
         query = SellableUnit.q.index != UNIT_CUSTOM
         primitive_units = SellableUnit.select(query, connection=self.conn)

Modified: stoqlib/trunk/stoqlib/gui/search/category.py
==============================================================================
--- stoqlib/trunk/stoqlib/gui/search/category.py	(original)
+++ stoqlib/trunk/stoqlib/gui/search/category.py	Thu Jul 20 10:38:01 2006
@@ -28,10 +28,11 @@
 
 import sets
 
-from sqlobject.sqlbuilder import INNERJOINOn
+from kiwi.ui.objectlist import Column
+
 from stoqlib.lib.translation import stoqlib_gettext
 from stoqlib.gui.base.search import SearchEditor
-from stoqlib.gui.base.columns import ForeignKeyColumn
+from stoqlib.gui.base.columns import AccessorColumn
 from stoqlib.gui.editors.category import (BaseSellableCategoryEditor,
                                           SellableCategoryEditor)
 from stoqlib.domain.sellable import (AbstractSellableCategory,
@@ -40,84 +41,66 @@
 
 _ = stoqlib_gettext
 
-
 class BaseSellableCatSearch(SearchEditor):
     size = (700, 500)
     title = _('Base Sellable Category Search')
-    table = BaseSellableCategory
-    editor_class = BaseSellableCategoryEditor
 
     def __init__(self, conn):
-        SearchEditor.__init__(self, conn, self.table, self.editor_class)
+        SearchEditor.__init__(self, conn, BaseSellableCategory,
+                              BaseSellableCategoryEditor)
         self.set_searchbar_labels(_('Base Categories Matching:'))
         self.set_result_strings(_('base category'), _('base categories'))
 
     def get_columns(self):
-        return [ForeignKeyColumn(AbstractSellableCategory,
-                                 'description', _('Description'), str,
-                                 obj_field='category_data', sorted=True,
-                                 expand=True),
-                ForeignKeyColumn(AbstractSellableCategory,
-                                 'suggested_markup', _('Suggested Markup (%)'),
-                                 float, obj_field='category_data', width=180),
-                ForeignKeyColumn(AbstractSellableCategory,
-                                 'salesperson_commission',
-                                 _('Suggested Commission (%)'),
-                                 float, obj_field='category_data')]
-
-    def get_query_args(self):
-        return dict(join=INNERJOINOn(BaseSellableCategory,
-                                     AbstractSellableCategory,
-                                     AbstractSellableCategory.q.id==
-                                     BaseSellableCategory.q.category_dataID))
-
+        return [Column("description", _("Description"), data_type=str,
+                       sorted=True, expand=True),
+                Column("suggested_markup", _("Suggested Markup (%)"),
+                       data_type=float, width=200),
+                Column("salesperson_commission",
+                       _("Salesperson Commission (%)"), data_type=float,
+                       width=200),
+            ]
 
 class SellableCatSearch(SearchEditor):
     size = (700, 500)
     title = _('Sellable Category Search')
 
     def __init__(self, conn):
-        editor = SellableCategoryEditor
-        SearchEditor.__init__(self, conn, AbstractSellableCategory, editor)
+        # I'm using AbstractSellableCategory here because I want to be able of
+        # to search in sellable category *and* its base category data as well.
+        SearchEditor.__init__(self, conn, AbstractSellableCategory,
+                              SellableCategoryEditor)
         self.set_result_strings(_('category'), _('categories'))
         self.set_searchbar_labels(_('Categories Matching:'))
 
-    #
-    # Hooks
-    #
-
     def get_columns(self):
-        return [ForeignKeyColumn(AbstractSellableCategory,
-                                 'description',
-                                 _('Base Category'), str,
-                                 obj_field='base_category.category_data',
-                                 sorted=True, width=210),
-                ForeignKeyColumn(AbstractSellableCategory,
-                                 'description', _('Description'), str,
-                                 obj_field='category_data', expand=True),
-                ForeignKeyColumn(AbstractSellableCategory,
-                                 'suggested_markup',
-                                 _('Suggested Markup (%)'), str,
-                                 obj_field='category_data', width=170),
-                ForeignKeyColumn(AbstractSellableCategory,
-                                 'salesperson_commission',
-                                 _('Suggested Commission (%)'), str,
-                                 obj_field='category_data', )]
+        return [AccessorColumn("description",
+                               SellableCategory.get_full_description,
+                               title=_('Description'), data_type=str,
+                               expand=True),
+                Column("suggested_markup", _("Suggested Markup (%)"),
+                       data_type=str, width=170),
+                Column("salesperson_comission",
+                       _("Suggested Commission (%)"), data_type=str,
+                       width=190),
+                ]
 
     def filter_results(self, abstract_objects):
         sellable_objs = SellableCategory.select(connection=self.conn)
         base_ids = sets.Set([s.base_category.id for s in sellable_objs])
 
+        # Discard all base categories that aren't used.
         base_objs = BaseSellableCategory.select(connection=self.conn)
-        reject = sets.Set([b.id for b in base_objs])
+        reject = sets.Set([base.id for base in base_objs])
         reject = reject - (reject & base_ids)
 
+        # Discard all base categories that doesn't match the search criteria
         abstract_ids = sets.Set([a.id for a in abstract_objects])
         abstract_ids = abstract_ids - (abstract_ids & reject)
 
         return [s for s in sellable_objs
-                    if (s.category_data.id in abstract_ids
-                        or s.base_category.category_data.id in abstract_ids)]
+                    if (s.id in abstract_ids
+                        or s.base_category.id in abstract_ids)]
 
     # XXX: I need to overwrite SearchEditor's get_searchlist_model because
     # its search_table differs from the objects in the Kiwi list -- but we

Modified: stoqlib/trunk/stoqlib/lib/parameters.py
==============================================================================
--- stoqlib/trunk/stoqlib/lib/parameters.py	(original)
+++ stoqlib/trunk/stoqlib/lib/parameters.py	Thu Jul 20 10:38:01 2006
@@ -505,16 +505,13 @@
         self._set_schema(key, supplier.id)
 
     def ensure_default_base_category(self):
-        from stoqlib.domain.sellable import (BaseSellableCategory,
-                                          AbstractSellableCategory)
+        from stoqlib.domain.sellable import BaseSellableCategory
         key = "DEFAULT_BASE_CATEGORY"
         if self.get_parameter_by_field(key, BaseSellableCategory):
             return
-        abstract_cat = AbstractSellableCategory(connection=self.conn,
-                                                description=key)
-        base_cat = BaseSellableCategory(connection=self.conn,
-                                        category_data=abstract_cat)
-        self._set_schema(key, base_cat.id)
+        base_category = BaseSellableCategory(description=key,
+                                             connection=self.conn)
+        self._set_schema(key, base_category.id)
 
     def ensure_default_salesperson_role(self):
         from stoqlib.domain.person import EmployeeRole


More information about the POS-commit mailing list