def validate_entry(self, entry): batch_number = unicode(entry.get_text()) if not batch_number: return available = StorableBatch.is_batch_number_available( self.store, batch_number, exclude_storable=self.model) if (not available or batch_number in self._get_used_batches(exclude=batch_number)): return ValidationError(_("'%s' is already in use") % batch_number)
def validate_entry(self, entry): batch_number = str(entry.get_text()) if not batch_number: return available = StorableBatch.is_batch_number_available( self.store, batch_number, exclude_storable=self.model) if (not available or batch_number in self._get_used_batches(exclude=batch_number)): return ValidationError(_("'%s' is already in use") % batch_number)
def test_is_batch_number_available(self): self.assertTrue(StorableBatch.is_batch_number_available( self.store, u'123')) self.assertTrue(StorableBatch.is_batch_number_available( self.store, u'321')) storable = self.create_storable(is_batch=True) self.create_storable_batch(storable=storable, batch_number=u'123') self.create_storable_batch(batch_number=u'321') # Should not be available anymore since they now exist self.assertFalse(StorableBatch.is_batch_number_available( self.store, u'123')) self.assertFalse(StorableBatch.is_batch_number_available( self.store, u'321')) # But when excluding storable, only u'123' should be available self.assertTrue(StorableBatch.is_batch_number_available( self.store, u'123', exclude_storable=storable)) self.assertFalse(StorableBatch.is_batch_number_available( self.store, u'321', exclude_storable=storable))