Пример #1
0
class BaseForm(BaseRecipe):
    ext.baseclass()
    ext.adapts(IApplicationContext, interfaces.IRecipeDescriptive, IRequest)

    aliasprefix = 'Form'

    def __call__(self):
        return self.render_template('form.json.tpl')

    @property
    def title(self):
        return self.descriptive.title

    @property
    def items(self):
        items = list()
        for name, zfield in getFieldsInOrder(self.descriptive.interface):
            items.append(
                getMultiAdapter((
                    self,
                    zfield,
                ), interfaces.IFieldBuilder)())
        return items

    @property
    def name(self):
        return self.classname(CLASS_NAMESPACE, self.aliasprefix.lower(),
                              self.descriptive.classname)
Пример #2
0
class ModelBuilderBase(BuilderBase):
    ext.baseclass()

    def base(self, overrides):
        b = dict(name=self.field.getName(), useNull=not self.field.required)
        b.update(overrides)
        return b
Пример #3
0
class BuilderBaseForm(BuilderBase):
    ext.baseclass()

    def default(self):
        return dict(name=self.field.getName(),
                    fieldLabel=translate(self.field.title,
                                         context=self.recipe.request),
                    emptyText=self.field.default,
                    allowBlank=not self.field.required
                    )
Пример #4
0
class LoginPageContext(ext.ApplicationContext):
    """ Base class to easily create a login page in your
        application. All you need is inherited in your project.
    """
    ext.baseclass()
    ext.name('login')

    title = 'Login Page'
    application = 'extjs.security.LoginPageApplication'
    namespace = 'extjs.security'
    resources = Resource(
        library,
        'application.js',
        depends=[ext.extjs_resources_skinless, themes['neptune'], style])

    credentials_pluggins = ('request_credentials', )
    authentication_pluggins = ()
Пример #5
0
class BaseRecipe(ext.MultiAdapter):
    ext.baseclass()
    ext.adapts()

    def __init__(self, context, descriptive, request):
        self.context = context
        self.descriptive = descriptive
        self.request = request

    def buildclass(self, name, extclass):
        return EXT_DEFINE_CLASS % (
            name,
            json.dumps(extclass, indent=' ' * 4),
        )

    def classname(self, namespace, type, name):
        return '%s.%s.%s' % (namespace, type, name)

    def render_template(self, tpl_name):
        tmpl = loader.load(tpl_name, cls=NewTextTemplate)
        stream = tmpl.generate(view=self)
        return stream.render()
Пример #6
0
class BaseStore(BaseRecipe):
    ext.baseclass()
    ext.adapts(IApplicationContext, interfaces.IRecipeDescriptive, IRequest)

    def __init__(self, context, descriptive, request):
        super(BaseStore, self).__init__(context, descriptive, request)

    def __call__(self):
        return self.render_template('store.json.tpl')

    @property
    def url(self):
        return IBaseUrl(self.request).url('data/%s' %
                                          self.descriptive.classname)

    @property
    def name(self):
        return self.descriptive.classname

    @property
    def cname(self):
        return self.classname(CLASS_NAMESPACE, 'store',
                              self.descriptive.classname)

    @property
    def model(self):
        return self.classname(CLASS_NAMESPACE, 'model',
                              self.descriptive.classname)

    @property
    def buffered(self):
        return False

    @property
    def autoSync(self):
        return True
Пример #7
0
class BuilderBase(ext.MultiAdapter):
    ext.baseclass()

    def __init__(self, recipe, field):
        self.recipe = recipe
        self.field = field