mirror of
https://github.com/wassname/pyramid_formalchemy.git
synced 2026-06-27 16:10:40 +08:00
fix model view registration
This commit is contained in:
@@ -5,6 +5,8 @@
|
||||
|
||||
- Adding IBeforeListingRenderEvent (amleczko)
|
||||
|
||||
- Fix problem with formalchemy_model_view registration (amleczko)
|
||||
|
||||
|
||||
0.4.1 (2011-07-01)
|
||||
------------------
|
||||
|
||||
@@ -25,8 +25,8 @@ def formalchemy_model_view(config, route_name,
|
||||
|
||||
model = config.maybe_dotted(model)
|
||||
context = config.maybe_dotted(context)
|
||||
mixin_name = '%sCustom%s_%s_%s' % (model.__name__, context.__name__,
|
||||
route_name, kwargs.get('request_method','GET'))
|
||||
mixin_name = '%sCustom%s_%s_%s_%s' % (model.__name__, context.__name__,
|
||||
route_name, name, kwargs.get('request_method','GET'))
|
||||
|
||||
factory = type(mixin_name, (context,), {})
|
||||
config.registry.pyramid_formalchemy_views[factory.__name__] = factory
|
||||
|
||||
@@ -100,7 +100,7 @@ class Models(Base):
|
||||
|
||||
self.request.model_name = item
|
||||
model_class = self.get_model()
|
||||
mixin_name = '%sCustom%s_%s_%s' % (model_class.__name__, ModelListing.__name__,
|
||||
mixin_name = '%sCustom%s_%s__%s' % (model_class.__name__, ModelListing.__name__,
|
||||
self.request.route_name, self.request.method)
|
||||
mixin = type(mixin_name, (ModelListing, ), {})
|
||||
factory = self.request.registry.pyramid_formalchemy_views.get(mixin.__name__, mixin)
|
||||
@@ -134,8 +134,12 @@ class ModelListing(Base):
|
||||
self.request.format = item
|
||||
return self
|
||||
|
||||
mixin_name = '%sCustom%s_%s_%s' % (self.request.model_class.__name__, Model.__name__,
|
||||
self.request.route_name, self.request.method)
|
||||
name = self.request.path.split('/')[-1] #view name
|
||||
if name == item:
|
||||
name = ''
|
||||
|
||||
mixin_name = '%sCustom%s_%s_%s_%s' % (self.request.model_class.__name__, Model.__name__,
|
||||
self.request.route_name, name, self.request.method)
|
||||
mixin = type(str(mixin_name), (Model, ), {})
|
||||
factory = self.request.registry.pyramid_formalchemy_views.get(mixin.__name__, mixin)
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user