def _find_inlines(self, page): fields = stemplates.get_fields(page.template) inline_fields = [f for f in fields if f[1] == 'inline'] for inline_field in inline_fields: import_line = inline_field[2]['import'] module_name, inline_name = import_line.rsplit('.', 1) admin_module = __import__(module_name, fromlist=[inline_name]) yield getattr(admin_module, inline_name)
def get_content_form(tname, data=None, initial=None): fs = get_fields(tname) if data: data = dict((k, v) for k, v in data.items() if k.startswith('content_')) form = PageContentForm(data) elif initial: form = PageContentForm(initial=initial) else: form = PageContentForm() for title, typ, options in fs: f = _get_field(typ, title, options) if f: form.fields['content_' + clean_field_title(title)] = f return form
def get_content_form(tname, data=None, initial=None): fs = get_fields(tname) if data: data = dict( (k, v) for k, v in data.items() if k.startswith('content_')) form = PageContentForm(data) elif initial: form = PageContentForm(initial=initial) else: form = PageContentForm() for title, typ, options in fs: f = _get_field(typ, title, options) if f: form.fields['content_' + clean_field_title(title)] = f return form