Ejemplo n.º 1
0
def handle_error_400_auto_update_no_fork_allowed(error, request):
    """Return 400 JSON error for the internal "No Fork allowed" error.

    Assuming there was a post request with wrong values for 'root_versions'.
    """
    msg = 'No fork allowed '
    args = (resource_path(error.resource), error.event.isheet.__identifier__,
            error.event.isheet_field, resource_path(error.event.old_version),
            resource_path(error.event.new_version))
    description = '- The auto update tried to create a fork for: {0} caused'\
                  ' by isheet: {1} field: {2} with old_reference: {3} and new'\
                  ' reference: {4}. Try another root_version.'.format(*args)
    dummy_node = named_object('root_versions')
    error_colander = colander.Invalid(dummy_node, msg + description)
    return handle_error_400_colander_invalid(error_colander, request)
Ejemplo n.º 2
0
 def test_ensure_rate_is_unique_error(self, monkeypatch, request_,
                                      context, subject):
     from adhocracy_core.sheets.rate import RateSchema
     from adhocracy_core.sheets import rate
     from adhocracy_core.utils import named_object
     mock_find_catalog = Mock(
         return_value={'reference': DummyIndex(['dummy']),
                       'path': DummyIndex()})
     monkeypatch.setattr(rate, 'find_catalog', mock_find_catalog)
     schema = RateSchema().bind(request=request_, context=context)
     object = _make_rateable()
     node = Mock()
     node.children = [named_object('object')]
     value = {'subject': subject, 'object': object, 'rate': '1'}
     with raises(colander.Invalid):
         schema._ensure_rate_is_unique(node, value, request_)
Ejemplo n.º 3
0
def handle_error_400_auto_update_no_fork_allowed(error, request):
    """Return 400 JSON error for the internal "No Fork allowed" error.

    Assuming there was a post request with wrong values for 'root_versions'.
    """
    msg = 'No fork allowed '
    args = (resource_path(error.resource),
            error.event.isheet.__identifier__,
            error.event.isheet_field,
            resource_path(error.event.old_version),
            resource_path(error.event.new_version))
    description = '- The auto update tried to create a fork for: {0} caused'\
                  ' by isheet: {1} field: {2} with old_reference: {3} and new'\
                  ' reference: {4}. Try another root_version.'.format(*args)
    dummy_node = named_object('root_versions')
    error_colander = colander.Invalid(dummy_node, msg + description)
    return handle_error_400_colander_invalid(error_colander, request)