class LinkAdmin(admin.ModelAdmin): list_display = ('url', 'text', 'visit_me') def visit_me(self, obj): return '<a href="%s">%s</a>' % (obj.url, obj.text) # ============================================================================ # Admintools Admin Models # ============================================================================ @admin.register(Nested) class NestedAdmin(admin.ModelAdmin): list_display = ('name', ) base = make_admin_obj_mixin('InnerMixin') base.add_obj_link('show_nested', 'nested') @admin.register(Inner) class InnerAdmin(admin.ModelAdmin, base): list_display = ('name', 'show_nested') base = make_admin_obj_mixin('OuterMixin') base.add_obj_link('show_nested', 'inner__nested') base.add_obj_link('show_inner', 'inner', 'My Inner', '{{obj.classname}}.id={{obj.id}}') @admin.register(Outer) class OuterAdmin(admin.ModelAdmin, base): list_display = ('name', 'show_inner', 'show_nested')
return '' plural = '' if num_a > 1: plural = 's' link = reverse('admin:dform_answergroup_changelist') u = '<a href="%s?survey_version__survey__id=%s">%s Answer Set%s</a>' % ( link, obj.id, num_a, plural) return u show_answers.short_description = 'All Answer Sets' show_answers.allow_tags = True mixin = make_admin_obj_mixin('SurveyVersionMixin') mixin.add_obj_link('show_survey', 'survey') @admin.register(SurveyVersion) class SurveyVersionAdmin(admin.ModelAdmin, mixin): list_display = ('id', 'show_survey', 'version_num', 'show_actions', 'show_questions', 'show_answers') def show_actions(self, obj): actions = [] if obj.is_editable(): url = reverse('dform-edit-survey', args=(obj.id,)) actions.append('<a href="%s">Edit Survey</a>' % url) url = reverse('dform-survey-links', args=(obj.id,)) actions.append('<a href="%s">Show Links</a>' % url)
def show_actions(self, obj): actions = [] url = reverse('bseditor-show-version-variables', args=(obj.id,)) actions.append('<a target="_blank" href="%s">Show Variables</a>' % url) url = reverse('bseditor-create-sheet', args=(obj.id,)) actions.append('<a href="%s">Create Sheet</a>' % url) return ', '.join(actions) show_actions.short_description = 'Actions' show_actions.allow_tags = True mixin = make_admin_obj_mixin('Sheet') mixin.add_obj_link('show_version', 'version') @admin.register(Sheet) class SheetAdmin(admin.ModelAdmin, mixin): list_display = ('id', 'name', 'show_version', 'updated', 'filename', 'show_filedate', 'show_actions') def show_actions(self, obj): actions = [] url = reverse('bseditor-edit-sheet', args=(obj.id,)) actions.append('<a href="%s">Edit</a>' % url) url = reverse('bseditor-preview-saved', args=(obj.id,)) actions.append('<a target="_blank" href="%s">Preview</a>' % url)
plural = '' if num_a > 1: plural = 's' link = reverse('admin:dform_answergroup_changelist') u = '<a href="%s?survey_version__survey__id=%s">%s Answer Set%s</a>' % ( link, obj.id, num_a, plural) return u show_answers.short_description = 'All Answer Sets' show_answers.allow_tags = True mixin = make_admin_obj_mixin('SurveyVersionMixin') mixin.add_obj_link('show_survey', 'survey') @admin.register(SurveyVersion) class SurveyVersionAdmin(admin.ModelAdmin, mixin): list_display = ('id', 'show_survey', 'version_num', 'show_actions', 'show_questions', 'show_answers') def show_actions(self, obj): actions = [] if obj.is_editable(): url = reverse('dform-edit-survey', args=(obj.id, )) actions.append('<a href="%s">Edit Survey</a>' % url) url = reverse('dform-survey-links', args=(obj.id, ))
def show_actions(self, obj): actions = [] url = reverse('bseditor-show-version-variables', args=(obj.id, )) actions.append('<a target="_blank" href="%s">Show Variables</a>' % url) url = reverse('bseditor-create-sheet', args=(obj.id, )) actions.append('<a href="%s">Create Sheet</a>' % url) return ', '.join(actions) show_actions.short_description = 'Actions' show_actions.allow_tags = True mixin = make_admin_obj_mixin('Sheet') mixin.add_obj_link('show_version', 'version') @admin.register(Sheet) class SheetAdmin(admin.ModelAdmin, mixin): list_display = ('id', 'name', 'show_version', 'updated', 'filename', 'show_filedate', 'show_actions') def show_actions(self, obj): actions = [] url = reverse('bseditor-edit-sheet', args=(obj.id, )) actions.append('<a href="%s">Edit</a>' % url) url = reverse('bseditor-preview-saved', args=(obj.id, ))