% for error in field.errors:
${error}
% endfor
diff --git a/edbob/pyramid/templates/forms/fieldset_readonly.mako b/edbob/pyramid/templates/forms/fieldset_readonly.mako
index 639ec0f..0eea814 100644
--- a/edbob/pyramid/templates/forms/fieldset_readonly.mako
+++ b/edbob/pyramid/templates/forms/fieldset_readonly.mako
@@ -1,12 +1,12 @@
-
-
- %for field in fieldset.render_fields.itervalues():
- %if field.requires_label:
-
- ${field.label()|h} |
- ${field.render_readonly()|n} |
-
- %endif
- %endfor
-
-
\ No newline at end of file
+
+ % for field in fieldset.render_fields.itervalues():
+ % if field.requires_label:
+
+ ${field.label_tag()|n}
+
+ ${field.render_readonly()}
+
+
+ % endif
+ % endfor
+
diff --git a/edbob/pyramid/views/crud.py b/edbob/pyramid/views/crud.py
index f138a29..5d17a62 100644
--- a/edbob/pyramid/views/crud.py
+++ b/edbob/pyramid/views/crud.py
@@ -40,6 +40,7 @@ class Crud(object):
route_prefix = None
url_prefix = None
template_prefix = None
+ permission_prefix = None
def __init__(self, request):
self.request = request
@@ -62,10 +63,6 @@ class Crud(object):
def cancel_route(self):
return None
- @property
- def permission_prefix(self):
- return self.route_prefix + 's'
-
def make_fieldset(self, model, **kwargs):
if 'action_url' not in kwargs:
kwargs['action_url'] = self.request.current_route_url()
diff --git a/edbob/pyramid/views/grids/alchemy.py b/edbob/pyramid/views/grids/alchemy.py
index 743557a..d850e19 100644
--- a/edbob/pyramid/views/grids/alchemy.py
+++ b/edbob/pyramid/views/grids/alchemy.py
@@ -47,8 +47,7 @@ class AlchemyGridView(GridView):
return self.make_query()
def make_grid(self, **kwargs):
- kwargs.setdefault('checkboxes', self.checkboxes)
- kwargs.setdefault('partial_only', self.partial_only)
+ self.update_grid_kwargs(kwargs)
return grids.AlchemyGrid(
self.request, self.mapped_class, self._data, **kwargs)
@@ -92,8 +91,7 @@ class SortableAlchemyGridView(AlchemyGridView):
return self.make_query()
def make_grid(self, **kwargs):
- kwargs.setdefault('checkboxes', self.checkboxes)
- kwargs.setdefault('partial_only', self.partial_only)
+ self.update_grid_kwargs(kwargs)
return grids.AlchemyGrid(
self.request, self.mapped_class, self._data,
sort_map=self.sort_map(), config=self._sort_config, **kwargs)
diff --git a/edbob/pyramid/views/grids/core.py b/edbob/pyramid/views/grids/core.py
index be713cf..9e34708 100644
--- a/edbob/pyramid/views/grids/core.py
+++ b/edbob/pyramid/views/grids/core.py
@@ -40,11 +40,16 @@ class GridView(View):
renderer = None
permission = None
checkboxes = False
+ clickable = False
partial_only = False
- def make_grid(self, **kwargs):
+ def update_grid_kwargs(self, kwargs):
kwargs.setdefault('checkboxes', self.checkboxes)
+ kwargs.setdefault('clickable', self.clickable)
kwargs.setdefault('partial_only', self.partial_only)
+
+ def make_grid(self, **kwargs):
+ self.update_grid_kwargs(kwargs)
return grids.Grid(self.request, **kwargs)
def grid(self):