示例#1
0
def RelationRenderer(renderer=fields.SelectFieldRenderer, **jq_options):
    class Renderer(renderer):
        def render(self, *args, **kwargs):
            html = super(Renderer, self).render(*args, **kwargs)
            fk_class = self.field.relation_type()
            model_name = fk_class.__name__
            try:
                field_url = '%s.xhr?field=%s' % (model_url('model', id=fields._pk(self.field.model)), self.field.key)
            except GenerationException:
                field_url = '%s.xhr?field=%s' % (model_url('new_model'), self.field.key)
            new_url = '%s.xhr' % model_url('new_model', model_name=model_name)
            html += literal('<button class="new_relation_item" alt="%s" href="%s">New %s</button>' % (
                                                field_url, new_url, model_name))
            return html
    return renderers.jQueryFieldRenderer('relation', show_input=True, renderer=Renderer, **jq_options)
示例#2
0
def RelationRenderer(renderer=fields.SelectFieldRenderer, **jq_options):
    class Renderer(renderer):
        def render(self, *args, **kwargs):
            html = super(Renderer, self).render(*args, **kwargs)
            pk = fields._pk(self.field.model)
            model_name = self.field.parent.model.__class__.__name__
            if pk:
                field_url = '#root_url/%s/xhr/%s?field=%s' % (model_name, pk, self.field.key)
            else:
                field_url = '#root_url/%s/xhr?field=%s' % (model_name, self.field.key)
            fk_class = self.field.relation_type()
            model_name = fk_class.__name__
            new_url = '#root_url/%s/xhr/new' % model_name
            html += literal('<button class="new_relation_item" alt="%s" href="%s">New %s</button>' % (
                                                field_url, new_url, model_name))
            return html
    return renderers.jQueryFieldRenderer('relation', show_input=True, renderer=Renderer, **jq_options)
示例#3
0
def RelationRenderer(renderer=fields.SelectFieldRenderer, **jq_options):
    class Renderer(renderer):
        def render(self, *args, **kwargs):
            html = super(Renderer, self).render(*args, **kwargs)
            fk_class = self.field.relation_type()
            model_name = fk_class.__name__
            try:
                field_url = '%s.xhr?field=%s' % (model_url(
                    'model', id=fields._pk(self.field.model)), self.field.key)
            except GenerationException:
                field_url = '%s.xhr?field=%s' % (model_url('new_model'),
                                                 self.field.key)
            new_url = '%s.xhr' % model_url('new_model', model_name=model_name)
            html += literal(
                '<button class="new_relation_item" alt="%s" href="%s">New %s</button>'
                % (field_url, new_url, model_name))
            return html

    return renderers.jQueryFieldRenderer('relation',
                                         show_input=True,
                                         renderer=Renderer,
                                         **jq_options)
示例#4
0
def RelationRenderer(renderer=fields.SelectFieldRenderer, **jq_options):
    class Renderer(renderer):
        def render(self, *args, **kwargs):
            html = super(Renderer, self).render(*args, **kwargs)
            pk = fields._pk(self.field.model)
            model_name = self.field.parent.model.__class__.__name__
            if pk:
                field_url = '#root_url/%s/xhr/%s?field=%s' % (model_name, pk,
                                                              self.field.key)
            else:
                field_url = '#root_url/%s/xhr?field=%s' % (model_name,
                                                           self.field.key)
            fk_class = self.field.relation_type()
            model_name = fk_class.__name__
            new_url = '#root_url/%s/xhr/new' % model_name
            html += literal(
                '<button class="new_relation_item" alt="%s" href="%s">New %s</button>'
                % (field_url, new_url, model_name))
            return html

    return renderers.jQueryFieldRenderer('relation',
                                         show_input=True,
                                         renderer=Renderer,
                                         **jq_options)