Beispiel #1
0
 def __init__(self, store, hide_footer=True, hide_toolbar=False,
              selection_mode=gtk.SELECTION_BROWSE,
              hide_cost_column=False, use_product_statuses=None,
              hide_price_column=False):
     """
     Create a new ProductSearch object.
     :param store: a store
     :param hide_footer: do I have to hide the dialog footer?
     :param hide_toolbar: do I have to hide the dialog toolbar?
     :param selection_mode: the kiwi list selection mode
     :param hide_cost_column: if it's True, no need to show the
                              column 'cost'
     :param use_product_statuses: a list instance that, if provided, will
                                  overwrite the statuses list defined in
                                  get_filter_slave method
     :param hide_price_column: if it's True no need to show the
                               column 'price'
     """
     self.use_product_statuses = use_product_statuses
     self.hide_cost_column = hide_cost_column
     self.hide_price_column = hide_price_column
     SearchEditor.__init__(self, store, hide_footer=hide_footer,
                           hide_toolbar=hide_toolbar,
                           selection_mode=selection_mode)
     self.set_searchbar_labels(_('matching'))
     self._setup_print_slave()
Beispiel #2
0
 def __init__(self, store, title='', hide_footer=True):
     self.title = title or self.title
     SearchEditor.__init__(self, store, self.table,
                           self.editor_class,
                           interface=self.interface,
                           hide_footer=hide_footer)
     self.set_searchbar_labels(self.search_lbl_text)
     self.set_result_strings(*self.result_strings)
Beispiel #3
0
 def __init__(self, store, hide_footer=True, hide_toolbar=False,
              selection_mode=gtk.SELECTION_BROWSE,
              hide_cost_column=False, use_product_statuses=None,
              hide_price_column=False):
     self.hide_cost_column = hide_cost_column
     self.hide_price_column = hide_price_column
     self.use_product_statuses = use_product_statuses
     SearchEditor.__init__(self, store, hide_footer=hide_footer,
                           hide_toolbar=hide_toolbar,
                           selection_mode=selection_mode)
     self.set_searchbar_labels(_('matching'))
     self._setup_print_slave()
 def __init__(self, store, client=None, reuse_store=False):
     """
     :param store: a store
     :param client: If not None, the search will show only call made to
         this client.
     :param reuse_store: When False, a new transaction will be
         created/commited when creating a new call. When True, no transaction
         will be created. In this case, I{store} will be utilized.
     """
     self.store = store
     self.client = client
     self._reuse_store = reuse_store
     SearchEditor.__init__(self, store)
     self.set_edit_button_label(_('Details'), gtk.STOCK_INFO)
Beispiel #5
0
 def __init__(self, store, person=None, date=None, reuse_store=False):
     """
     :param store: a store
     :param person: If not None, the search will show only call made to
         this person.
     :param date: If not None, the search will be filtered using this date by
         default
     :param reuse_store: When False, a new store will be
         created/commited when creating a new call. When True, no store
         will be created. In this case, I{store} will be utilized.
     """
     self.store = store
     self.person = person
     self._date = date
     self._reuse_store = reuse_store
     SearchEditor.__init__(self, store)
Beispiel #6
0
    def __init__(self, store, table, query=None, search_str=None,
                 supplier=None, hide_toolbar=False):
        """
        :param item_step: The item step this search is for.
        :param search_str: If this search should already filter for some string
        :param supplier: If provided and a new product is created from this
          search, then the created product will be associated with this
          supplier.
        :param hide_toolbar: if the search's toolbar, not allowing you
          to create/edit sellables
        """
        self._table = table
        self._query = query
        self._supplier = supplier

        SearchEditor.__init__(self, store, selection_mode=gtk.SELECTION_BROWSE,
                              hide_footer=False, table=self._table,
                              double_click_confirm=True,
                              hide_toolbar=hide_toolbar)
        if search_str:
            self.set_searchbar_search_string(search_str)
            self.search.refresh()

        self.set_ok_label(_('_Select item'))
Beispiel #7
0
 def run_dialog(self, *args, **kwargs):
     parent_view = self.results.get_selected()
     kwargs['parent_category'] = parent_view and parent_view.category
     return SearchEditor.run_dialog(self, *args, **kwargs)
Beispiel #8
0
 def __init__(self, store):
     SearchEditor.__init__(self, store)
     self.set_searchbar_labels(self.searchbar_label)
     self.set_result_strings(*self.result_strings)
Beispiel #9
0
 def _has_rows(self, results, obj):
     SearchEditor._has_rows(self, results, obj)
Beispiel #10
0
 def _has_rows(self, results, obj):
     SearchEditor._has_rows(self, results, obj)
     self._print_slave.print_price_button.set_sensitive(obj)
Beispiel #11
0
 def __init__(self, store):
     SearchEditor.__init__(self, store, EmployeeRoleSearch.table,
                           EmployeeRoleSearch.editor_class)
     self.set_result_strings(_('role'), _('roles'))
Beispiel #12
0
 def __init__(self, store, **kwargs):
     self.company_doc_l10n = api.get_l10n_field(store, 'company_document')
     self.person_doc_l10n = api.get_l10n_field(store, 'person_document')
     SearchEditor.__init__(self, store, **kwargs)
Beispiel #13
0
 def __init__(self, store):
     SearchEditor.__init__(self, store, self.table, self.editor_class,
                           title=self.title)
Beispiel #14
0
 def __init__(self, store):
     SearchEditor.__init__(self, store=store)
     self.hide_new_button()
Beispiel #15
0
    def __init__(
        self,
        store,
        hide_footer=False,
        hide_toolbar=True,
        selection_mode=gtk.SELECTION_BROWSE,
        search_str=None,
        sale_items=None,
        quantity=None,
        double_click_confirm=False,
        info_message=None,
    ):
        """
        Create a new SellableSearch object.
        :param store: a store
        :param hide_footer: do I have to hide the dialog footer?
        :param hide_toolbar: do I have to hide the dialog toolbar?
        :param selection_mode: the kiwi list selection mode
        :param search_str: FIXME
        :param sale_items: optionally, a list of sellables which will be
            used to deduct stock values
        :param quantity: the quantity of stock to add to the order,
            is necessary to supply if you supply an order.
        :param double_click_confirm: If double click a item in the list should
            automatically confirm
        """
        self._first_search = True
        self._first_search_string = search_str
        self.quantity = quantity
        self._delivery_sellable = sysparam(store).DELIVERY_SERVICE.sellable

        # FIXME: This dictionary should be used to deduct from the
        #        current stock (in the current branch) and not others
        self.current_sale_stock = {}
        if sale_items:
            if selection_mode == gtk.SELECTION_MULTIPLE:
                raise TypeError("gtk.SELECTION_MULTIPLE is not supported " "when supplying an order")
            if self.quantity is None:
                raise TypeError("You need to specify a quantity " "when supplying an order")
            for item in sale_items:
                if item.sellable.product_storable:
                    quantity = self.current_sale_stock.get(item.sellable.id, 0)
                    quantity += item.quantity
                    self.current_sale_stock[item.sellable.id] = quantity

        SearchEditor.__init__(
            self,
            store,
            table=self.table,
            search_table=self.search_table,
            editor_class=self.editor_class,
            hide_footer=hide_footer,
            hide_toolbar=hide_toolbar,
            selection_mode=selection_mode,
            double_click_confirm=double_click_confirm,
        )
        self.set_searchbar_labels(_("Show items matching:"))
        self.set_result_strings(*self.searchbar_result_strings)
        self.set_ok_label(self.footer_ok_label)

        if info_message:
            self.set_message(info_message)

        if search_str:
            self.set_searchbar_search_string(search_str)
            self.search.refresh()