deform: use pypi deform library and add helpers to deform scope directly
to avoid passing it each time form is rendered
This commit is contained in:
parent
9dd0674b39
commit
61553db529
3 changed files with 25 additions and 18 deletions
|
|
@ -572,14 +572,13 @@
|
|||
};
|
||||
};
|
||||
deform = super.buildPythonPackage {
|
||||
name = "deform-2.0a3.dev0";
|
||||
name = "deform-2.0a2";
|
||||
buildInputs = with self; [];
|
||||
doCheck = false;
|
||||
propagatedBuildInputs = with self; [Chameleon colander iso8601 peppercorn translationstring zope.deprecation];
|
||||
src = fetchgit {
|
||||
url = "https://github.com/Pylons/deform";
|
||||
rev = "08fb9de077c76951f6e70e28d4bf060a209d3d39";
|
||||
sha256 = "0nmhajc4pfgp4lbwhs5szqfzswpij1qyr69m7qkyhncl2g2d759r";
|
||||
propagatedBuildInputs = with self; [Chameleon colander peppercorn translationstring zope.deprecation];
|
||||
src = fetchurl {
|
||||
url = "https://pypi.python.org/packages/8d/b3/aab57e81da974a806dc9c5fa024a6404720f890a6dcf2e80885e3cb4609a/deform-2.0a2.tar.gz";
|
||||
md5 = "7a90d41f7fbc18002ce74f39bd90a5e4";
|
||||
};
|
||||
meta = {
|
||||
license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
|
||||
|
|
|
|||
|
|
@ -42,28 +42,37 @@ for SELECT use formencode.All(OneOf(list), Int())
|
|||
"""
|
||||
|
||||
import deform
|
||||
from pkg_resources import resource_filename
|
||||
|
||||
deform_templates = resource_filename('deform', 'templates')
|
||||
rhodecode_templates = resource_filename('rhodecode', 'templates/forms')
|
||||
search_path = (rhodecode_templates, deform_templates)
|
||||
|
||||
deform.Form.set_zpt_renderer(search_path)
|
||||
|
||||
|
||||
import logging
|
||||
|
||||
import formencode
|
||||
|
||||
from pkg_resources import resource_filename
|
||||
from formencode import All, Pipe
|
||||
|
||||
from pylons.i18n.translation import _
|
||||
|
||||
from rhodecode import BACKENDS
|
||||
from rhodecode.lib import helpers
|
||||
from rhodecode.model import validators as v
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
deform_templates = resource_filename('deform', 'templates')
|
||||
rhodecode_templates = resource_filename('rhodecode', 'templates/forms')
|
||||
search_path = (rhodecode_templates, deform_templates)
|
||||
|
||||
|
||||
class RhodecodeFormZPTRendererFactory(deform.ZPTRendererFactory):
|
||||
""" Subclass of ZPTRendererFactory to add rhodecode context variables """
|
||||
def __call__(self, template_name, **kw):
|
||||
kw['h'] = helpers
|
||||
return self.load(template_name)(**kw)
|
||||
|
||||
|
||||
form_renderer = RhodecodeFormZPTRendererFactory(search_path)
|
||||
deform.Form.set_default_renderer(form_renderer)
|
||||
|
||||
|
||||
def LoginForm():
|
||||
class _LoginForm(formencode.Schema):
|
||||
allow_extra_fields = True
|
||||
|
|
|
|||
|
|
@ -38,7 +38,6 @@
|
|||
</h2>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
## TODO: dan: find way to put h in the deform context properly
|
||||
${form.render(h=h) | n}
|
||||
${form.render() | n}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue