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)
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)
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)
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)