Example #1
0
    def render_change_form(self, *args, **kwargs):
        request, context = args[:2]
        batch = context.get('original')
        attached_versions = []
        if batch:
            context.update({
                'pushing': bool(batch.preflight),
                'object': batch,
            })
        else:
            context.update({'editable': True})

        if batch:
            available_changes = [
                item
                for item in utils.changed_items(batch.start_date, batch=batch)
                if item not in attached_versions
            ]
        else:
            available_changes = [
                item
                for item in utils.changed_items(default_batch_start_date())
                if item not in attached_versions
            ]

        context.update({'available_changes': available_changes})

        return super(BatchAdmin, self).render_change_form(*args, **kwargs)
Example #2
0
 def test_batch_validation(self):
     batch1 = Batch(title="Best Batch Ever")
     batch1.save()
     batch2 = Batch(title="2nd Best Batch Ever")
     batch2.save()
     add_versions_to_batch(batch1, changed_items())
     add_versions_to_batch(batch2, changed_items())
     with self.assertRaises(BatchValidationError):
         batch1.is_valid(test_only=False)
Example #3
0
 def test_batch_validation(self):
     batch1 = Batch(title="Best Batch Ever")
     batch1.save()
     batch2 = Batch(title="2nd Best Batch Ever")
     batch2.save()
     add_versions_to_batch(batch1, changed_items())
     add_versions_to_batch(batch2, changed_items())
     with self.assertRaises(BatchValidationError):
         batch1.is_valid(test_only=False)
Example #4
0
 def test_add_changes_to_batch(self):
     new_batch = Batch(title="Best Batch Ever")
     new_batch.save()
     add_versions_to_batch(new_batch, changed_items())
     self.assertIn(self.new_author,
                   [bi.version.object for bi
                    in new_batch.batchitem_set.all()])
Example #5
0
 def test_add_changes_to_batch(self):
     new_batch = Batch(title="Best Batch Ever")
     new_batch.save()
     add_versions_to_batch(new_batch, changed_items())
     self.assertIn(self.new_author,
                   [bi.version.object for bi
                    in new_batch.batchitem_set.all()])
Example #6
0
 def test_batch_with_deletion(self):
     delete_with_reversion(self.new_author)
     add_versions_to_batch(self.batch, changed_items())
     serialized = serialize_batch(self.key.decode('hex'), self.batch)
     with self.assertRaises(ObjectDoesNotExist):
         process_batch(self.key.decode('hex'), serialized['batch'],
                       serialized['iv'])
Example #7
0
 def test_batch_with_deletion(self):
     delete_with_reversion(self.new_author)
     add_versions_to_batch(self.batch, changed_items())
     serialized = serialize_batch(self.key.decode('hex'), self.batch)
     with self.assertRaises(ObjectDoesNotExist):
         process_batch(self.key.decode('hex'),
                       serialized['batch'],
                       serialized['iv'])
Example #8
0
    def render_change_form(self, *args, **kwargs):
        request, context = args[:2]
        batch = context.get("original")
        attached_versions = []
        if batch:
            context.update({"pushing": bool(batch.preflight), "object": batch})
        else:
            context.update({"editable": True})

        if batch:
            available_changes = [
                item for item in utils.changed_items(batch.start_date, batch=batch) if item not in attached_versions
            ]
        else:
            available_changes = [
                item for item in utils.changed_items(default_batch_start_date()) if item not in attached_versions
            ]

        context.update({"available_changes": available_changes})

        return super(BatchAdmin, self).render_change_form(*args, **kwargs)
Example #9
0
 def test_identify_changes(self):
     self.assertIn(self.new_author,
                   [version.object for version in changed_items()])
Example #10
0
 def test_batch_serialization_and_processing(self):
     add_versions_to_batch(self.batch, changed_items())
     serialized = serialize_batch(self.key.decode('hex'), self.batch)
     process_batch(self.key.decode('hex'),
                   serialized['batch'],
                   serialized['iv'])
Example #11
0
 def test_identify_changes(self):
     self.assertIn(self.new_author,
                   [version.object for version in changed_items()])
Example #12
0
 def test_batch_serialization_and_processing(self):
     add_versions_to_batch(self.batch, changed_items())
     serialized = serialize_batch(self.key.decode('hex'), self.batch)
     process_batch(self.key.decode('hex'),
                   serialized['batch'],
                   serialized['iv'])
Example #13
0
def collect_eligibles(batch):
    """Collects all changed items and adds them to supplied batch"""
    for e in changed_items():
        e.batch = batch
        e.save()