예제 #1
0
    def _setup_comboboxentry_slave(self, data=None):
        widget = ProxyComboEntry()
        widget.props.sensitive = self.sensitive
        widget.model_attribute = "field_value"
        widget.data_type = unicode

        detail = sysparam.get_detail_by_name(self.model.field_name)
        is_mandatory = not detail.allow_none
        self._block_none_value = is_mandatory
        widget.set_property('mandatory', is_mandatory)

        if not data:
            field_type = detail.get_parameter_type()
            # FIXME: DEFAULT_PAYMENT_METHOD needs to filter information from
            # domain because it cannot be any non-creatable method.
            # Find a way to implement this in a generic on ParameterDetails
            if self.model.field_name == "DEFAULT_PAYMENT_METHOD":
                result = PaymentMethod.get_creatable_methods(
                    self.store, Payment.TYPE_IN, False)
            else:
                result = self.store.find(field_type)
            data = [(res.get_description(), unicode(res.id)) for res in result]
        widget.prefill(data)
        self.proxy.add_widget("field_value", widget)
        self.container.add(widget)
        widget.show()
        widget.connect('validation-changed',
                       self._on_entry__validation_changed)
예제 #2
0
    def _setup_comboboxentry_slave(self, data=None):
        widget = ProxyComboEntry()
        widget.props.sensitive = self.sensitive
        widget.model_attribute = "field_value"
        widget.data_type = unicode

        detail = sysparam.get_detail_by_name(self.model.field_name)
        is_mandatory = not detail.allow_none
        self._block_none_value = is_mandatory
        widget.set_property('mandatory', is_mandatory)

        if not data:
            field_type = detail.get_parameter_type()
            # FIXME: DEFAULT_PAYMENT_METHOD needs to filter information from
            # domain because it cannot be any non-creatable method.
            # Find a way to implement this in a generic on ParameterDetails
            if self.model.field_name == "DEFAULT_PAYMENT_METHOD":
                result = PaymentMethod.get_creatable_methods(
                    self.store, Payment.TYPE_IN, False)
            else:
                result = self.store.find(field_type)
            data = [(res.get_description(), unicode(res.id)) for res in result]
        widget.prefill(data)
        self.proxy.add_widget("field_value", widget)
        self.container.add(widget)
        widget.show()
        widget.connect('validation-changed',
                       self._on_entry__validation_changed)
예제 #3
0
    def test_prefill_attr_none(self):
        model = Settable(attr=None)
        proxy = Proxy(FakeView(), model)
        combo = ProxyComboEntry()
        combo.data_type = int
        combo.model_attribute = 'attr'
        combo.prefill([('foo', 10), ('bar', 20)])
        proxy.add_widget('attr', combo)

        self.assertEqual(model.attr, None)
예제 #4
0
    def test_prefill_attr_none(self):
        model = Settable(attr=None)
        proxy = Proxy(FakeView(), model)
        combo = ProxyComboEntry()
        combo.data_type = int
        combo.model_attribute = 'attr'
        combo.prefill([('foo', 10), ('bar', 20)])
        proxy.add_widget('attr', combo)

        self.assertEqual(model.attr, None)
예제 #5
0
 def _setup_comboboxentry_slave(self, data=None):
     widget = ProxyComboEntry()
     widget.props.sensitive = self.sensitive
     widget.model_attribute = "field_value"
     widget.data_type = unicode
     widget.mandatory = True
     if not data:
         field_type = sysparam(self.store).get_parameter_type(self.model.field_name)
         result = self.store.find(field_type)
         data = [(res.get_description(), unicode(res.id)) for res in result]
     widget.prefill(data)
     self.proxy.add_widget("field_value", widget)
     self.container.add(widget)
     widget.show()
     widget.connect('validation-changed',
                    self._on_entry__validation_changed)
예제 #6
0
 def _setup_comboboxentry_slave(self, data=None):
     widget = ProxyComboEntry()
     widget.props.sensitive = self.sensitive
     widget.model_attribute = "field_value"
     widget.data_type = unicode
     widget.mandatory = True
     if not data:
         field_type = sysparam(self.store).get_parameter_type(self.model.field_name)
         result = self.store.find(field_type)
         data = [(res.get_description(), unicode(res.id)) for res in result]
     widget.prefill(data)
     self.proxy.add_widget("field_value", widget)
     self.container.add(widget)
     widget.show()
     widget.connect('validation-changed',
                    self._on_entry__validation_changed)