Beispiel #1
0
    def populate(self, person):
        from stoqlib.domain.person import (Client, Supplier, Transporter,
                                           SalesPerson, Branch)
        store = get_store_for_field(self)
        person_type = self.person_type
        if person_type == Supplier:
            objects = Supplier.get_active_suppliers(store)
            self.add_button.set_tooltip_text(_("Add a new supplier"))
            self.edit_button.set_tooltip_text(_("Edit the selected supplier"))
        elif person_type == Client:
            objects = Client.get_active_clients(store)
            self.add_button.set_tooltip_text(_("Add a new client"))
            self.edit_button.set_tooltip_text(_("Edit the selected client"))
        elif person_type == Transporter:
            objects = Transporter.get_active_transporters(store)
            self.add_button.set_tooltip_text(_("Add a new transporter"))
            self.edit_button.set_tooltip_text(
                _("Edit the selected transporter"))
        elif person_type == SalesPerson:
            objects = SalesPerson.get_active_salespersons(store)
            self.add_button.set_tooltip_text(_("Add a new sales person"))
            self.edit_button.set_tooltip_text(
                _("Edit the selected sales person"))
        elif person_type == Branch:
            objects = Branch.get_active_branches(store)
            self.add_button.set_tooltip_text(_("Add a new branch"))
            self.edit_button.set_tooltip_text(_("Edit the selected branch"))
        else:
            raise AssertionError(self.person_type)

        self.widget.prefill(api.for_person_combo(objects))

        if person:
            assert isinstance(person, person_type)
            self.widget.select(person)
Beispiel #2
0
    def populate(self, person):
        from stoqlib.domain.person import (Client, Supplier, Transporter,
                                           SalesPerson, Branch)
        store = get_store_for_field(self)
        person_type = self.person_type
        if person_type == Supplier:
            objects = Supplier.get_active_suppliers(store)
            self.add_button.set_tooltip_text(_("Add a new supplier"))
            self.edit_button.set_tooltip_text(_("Edit the selected supplier"))
        elif person_type == Client:
            objects = Client.get_active_clients(store)
            self.add_button.set_tooltip_text(_("Add a new client"))
            self.edit_button.set_tooltip_text(_("Edit the selected client"))
        elif person_type == Transporter:
            objects = Transporter.get_active_transporters(store)
            self.add_button.set_tooltip_text(_("Add a new transporter"))
            self.edit_button.set_tooltip_text(_("Edit the selected transporter"))
        elif person_type == SalesPerson:
            objects = SalesPerson.get_active_salespersons(store)
            self.add_button.set_tooltip_text(_("Add a new sales person"))
            self.edit_button.set_tooltip_text(_("Edit the selected sales person"))
        elif person_type == Branch:
            objects = Branch.get_active_branches(store)
            self.add_button.set_tooltip_text(_("Add a new branch"))
            self.edit_button.set_tooltip_text(_("Edit the selected branch"))
        else:
            raise AssertionError(self.person_type)

        self.widget.prefill(api.for_person_combo(objects))

        if person:
            assert isinstance(person, person_type)
            self.widget.select(person)
Beispiel #3
0
    def process_one(self, data, fields, store):
        person = Person(store=store,
                        name=data.name,
                        phone_number=data.phone_number,
                        mobile_number=data.mobile_number)

        Company(person=person,
                store=store,
                cnpj=data.cnpj,
                fancy_name=data.name,
                state_registry=data.state_registry)

        ctloc = CityLocation.get_or_create(store=store,
                                           city=data.city,
                                           state=data.state,
                                           country=data.country)
        streetnumber = data.streetnumber and int(data.streetnumber) or None
        Address(is_main_address=True,
                person=person,
                city_location=ctloc,
                store=store,
                street=data.street,
                streetnumber=streetnumber,
                district=data.district)

        Supplier(person=person, store=store)
Beispiel #4
0
 def create_supplier(self, name=u'Supplier', fancy_name=u'Company Name'):
     from stoqlib.domain.person import Company, Person, Supplier
     person = Person(name=name, store=self.store)
     Company(person=person, fancy_name=fancy_name,
             cnpj=u'90.117.749/7654-80',
             store=self.store)
     return Supplier(person=person, store=self.store)
Beispiel #5
0
    def find_or_create_supplier(self, nfe_supplier):
        # FIXME: Need to do the same thing to Individual suppliers
        person = Person.get_or_create_by_document(
            self.store,
            nfe_supplier.cnpj,
            name=nfe_supplier.name,
            phone_number=nfe_supplier.phone_number,
            notes=u"Automatically created by Stoq-Link")

        person.company.state_registry = nfe_supplier.state_registry
        person.company.fancy_name = nfe_supplier.fancy_name or nfe_supplier.name

        if person.supplier is None:
            supplier = Supplier(store=self.store, person=person)
            nfe_supplier.supplier = supplier

        return person.supplier
Beispiel #6
0
 def _fill_supplier_combo(self):
     suppliers = Supplier.get_active_suppliers(self.store)
     self.edit_supplier.set_sensitive(any(suppliers))
     self.supplier.prefill(api.for_person_combo(suppliers))
Beispiel #7
0
 def _fill_supplier_combo(self):
     suppliers = Supplier.get_active_suppliers(self.store)
     self.supplier.prefill(api.for_person_combo(suppliers))
Beispiel #8
0
 def get_targets(self):
     suppliers = Supplier.get_active_suppliers(self.store)
     return api.for_person_combo(suppliers)
Beispiel #9
0
 def get_targets(self):
     suppliers = Supplier.get_active_suppliers(self.store)
     return api.for_person_combo(suppliers)
Beispiel #10
0
 def create_model(self, store):
     person = BasePersonRoleEditor.create_model(self, store)
     supplier = person.supplier
     if supplier is None:
         supplier = Supplier(person=person, store=store)
     return supplier
Beispiel #11
0
 def test_get_active_suppliers(self):
     for supplier in Supplier.get_active_suppliers(self.store):
         self.assertEquals(supplier.status, Supplier.STATUS_ACTIVE)
Beispiel #12
0
 def _fill_supplier_combo(self):
     suppliers = Supplier.get_active_suppliers(self.store)
     self.supplier.prefill(api.for_person_combo(suppliers))
Beispiel #13
0
 def test_get_active_suppliers(self):
     for supplier in Supplier.get_active_suppliers(self.store):
         self.assertEquals(supplier.status,
                           Supplier.STATUS_ACTIVE)