Пример #1
0
    search_fields = ('name', 'issuer__name')
    readonly_fields = ('created_by', 'created_at', 'created_by', 'entity_id', 'slug')
    raw_id_fields = ('issuer',)
    filter_horizontal = ('pathways',)
    fieldsets = (
        ('Metadata', {
            'fields': ('is_active', 'created_by', 'created_at', 'entity_id', 'slug'),
            'classes': ('collapse',)
        }),
        (None, {
            'fields': ('name', 'description', 'issuer', 'pathways')
        }),
    )
    inlines = [RecipientGroupMembershipInline]

badgr_admin.register(RecipientGroup, RecipientGroupAdmin)


class RecipientProfileAdmin(ModelAdmin):
    list_display = ( 'public', 'recipient_identifier', 'display_name', 'entity_id')
    search_fields = ('recipient_identifier', 'display_name',)
    raw_id_fields = ('badge_user',)
    readonly_fields = ('created_by', 'created_at', 'entity_id', 'slug')
    fieldsets = (
        ('Metadata', {
            'fields': ('is_active', 'created_by', 'created_at', 'entity_id', 'slug',),
            'classes': ('collapse',)
        }),
        (None, {
            'fields': ('public', 'recipient_identifier', 'display_name', 'badge_user')
        }),
Пример #2
0
from django.contrib.admin import ModelAdmin
from mainsite.admin import badgr_admin
from .models import Saml2Configuration, Saml2Account


class Saml2ConfigurationModelAdmin(ModelAdmin):
    model = Saml2Configuration
    readonly_fields = ('acs_url', 'sp_metadata_url')
    fields = (
        'metadata_conf_url',
        'cached_metadata',
        'slug',
        'acs_url',
        'sp_metadata_url',
        'use_signed_authn_request',
    )


badgr_admin.register(Saml2Configuration, Saml2ConfigurationModelAdmin)


class Saml2AccountModelAdmin(ModelAdmin):
    raw_id_fields = ('user', )
    model = Saml2Account


badgr_admin.register(Saml2Account, Saml2AccountModelAdmin)
Пример #3
0
                    name='Superuser')
                if not request.user.has_perm(
                        u'badgeuser.has_institution_scope'):
                    form_field.queryset = form_field.queryset.exclude(
                        name='Instellings Admin')
                    if not request.user.has_perm(
                            u'badgeuser.has_faculty_scope'):
                        form_field.queryset = form_field.queryset.exclude(
                            name='Faculteits Admin')
        return form_field

    def faculties(self, obj):
        return [f.name for f in obj.faculty.all()]


badgr_admin.register(BadgeUser, BadgeUserAdmin)


class BadgeUserProxyAdmin(BadgeUserAdmin):
    actions = ['delete_selected']
    readonly_fields = ('entity_id', 'date_joined', 'last_login', 'username',
                       'entity_id', 'agreed_terms_version')
    list_display = ('email', 'first_name', 'last_name', 'is_active',
                    'is_staff', 'entity_id', 'date_joined', 'faculties')
    list_filter = ('is_active', 'is_staff', 'is_superuser', 'date_joined',
                   'last_login')
    fieldsets = (
        ('Metadata', {
            'fields': (
                'entity_id',
                'username',
Пример #4
0
                    admin_list_linkify('institution', 'name'))
    list_filter = ('is_active', 'is_staff', 'is_superuser', 'date_joined', 'last_login')
    search_fields = ('email', 'first_name', 'last_name', 'username', 'entity_id')
    fieldsets = (
        ('Metadata', {'fields': ('entity_id', 'username', 'date_joined',), 'classes': ('collapse',)}),
        (None, {'fields': ('email', 'first_name', 'last_name')}),
        ('Access', {'fields': ('is_active', 'is_staff', 'password')}),
        ('Permissions', {'fields': ('groups',)}),
    )
    filter_horizontal = ('groups', 'user_permissions', 'faculty',)
    inlines = [
        EmailAddressInline,
    ]


badgr_admin.register(BadgeUser, BadgeUserAdmin)


class EmailAddressVariantAdmin(ModelAdmin):
    search_fields = ('canonical_email', 'email',)
    list_display = ('email', 'canonical_email',)
    raw_id_fields = ('canonical_email',)


badgr_admin.register(EmailAddressVariant, EmailAddressVariantAdmin)


class TermsInlineForm(ModelForm):
    class Meta:
        model = Terms
        fields = ('terms_type', 'version', 'entity_id')
Пример #5
0
from django import forms
from django.contrib import admin
from mainsite.admin import badgr_admin

from .models import Theme, get_current_templates


class ThemeForm(forms.ModelForm):

    class Meta:
        model = Theme
        fields = '__all__'

    def __init__(self, *args, **kwargs):
        super(ThemeForm, self).__init__(*args, **kwargs)
        self.fields['terms_and_conditions_template'].widget = forms.Select(choices=get_current_templates())
        self.fields['terms_and_conditions_template_en'].widget = forms.Select(choices=get_current_templates())


class ThemeAdmin(admin.ModelAdmin):
    form = ThemeForm


badgr_admin.register(Theme, ThemeAdmin)
Пример #6
0
    raw_id_fields = ('issuer', )
    filter_horizontal = ('pathways', )
    fieldsets = (
        ('Metadata', {
            'fields':
            ('is_active', 'created_by', 'created_at', 'entity_id', 'slug'),
            'classes': ('collapse', )
        }),
        (None, {
            'fields': ('name', 'description', 'issuer', 'pathways')
        }),
    )
    inlines = [RecipientGroupMembershipInline]


badgr_admin.register(RecipientGroup, RecipientGroupAdmin)


class RecipientProfileAdmin(ModelAdmin):
    list_display = ('public', 'recipient_identifier', 'display_name',
                    'entity_id')
    search_fields = (
        'recipient_identifier',
        'display_name',
    )
    raw_id_fields = ('badge_user', )
    readonly_fields = ('created_by', 'created_at', 'entity_id', 'slug')
    fieldsets = (
        ('Metadata', {
            'fields': (
                'is_active',
Пример #7
0
###
#
# Local Issuer/Badges
#
###


class LocalIssuerAdmin(IssuerAdmin):
    readonly_fields = ('created_at',)
    fieldsets = (
        ('Metadata', {'fields': ('created_at',), 'classes': ("collapse",)}),
        (None, {'fields': ('image', 'name', 'slug', 'created_by')}),
        ('JSON', {'fields': ('json',)}),
    )
badgr_admin.register(LocalIssuer, LocalIssuerAdmin)


class LocalBadgeClassAdmin(BadgeClassAdmin):
    readonly_fields = ('created_at',)
badgr_admin.register(LocalBadgeClass, LocalBadgeClassAdmin)


class LocalBadgeInstanceAdmin(ModelAdmin):
    readonly_fields = ('created_at', 'created_by', 'image', )
    list_display = ('badge_image', 'recipient_identifier', 'badgeclass', 'issuer')
    list_display_links = ('badge_image', 'recipient_identifier', )
    list_filter = ('created_at',)
    search_fields = ('badgeclass__name', 'issuer__name')
    fieldsets = (
        ('Metadata', {'fields': ('created_by', 'created_at',), 'classes': ()}),
Пример #8
0
    def login_backoff(self, obj):
        out = []
        for email in obj.all_verified_recipient_identifiers:
            cache_key = backoff_cache_key(username=email)
            backoff = cache.get(cache_key)
            if backoff is not None:
                out.append("<div><strong>{email}</strong>: <span>{until}</span> <span>({count} attempts)</span></div>".format(
                    email=email,
                    until=backoff.get('until').astimezone(timezone.get_current_timezone()).strftime("%Y-%m-%d %H:%M:%S"),
                    count=backoff.get('count')
                ))
        if len(out):
            return "".join(out)
    login_backoff.allow_tags = True

badgr_admin.register(BadgeUser, BadgeUserAdmin)


class EmailAddressVariantAdmin(ModelAdmin):
    search_fields = ('canonical_email', 'email',)
    list_display = ('email', 'canonical_email',)
    raw_id_fields = ('canonical_email',)

badgr_admin.register(EmailAddressVariant, EmailAddressVariantAdmin)


class TermsVersionAdmin(ModelAdmin):
    list_display = ('version','created_at','is_active')
    readonly_fields = ('created_at','created_by','updated_at','updated_by', 'latest_terms_version')
    fieldsets = (
        ('Metadata', {
Пример #9
0
from mainsite.admin import badgr_admin
from .models import (BackpackCollection, )


###
#
# Collection
#
###


class CollectionInstanceInline(TabularInline):
    model = BackpackCollection.assertions.through
    extra = 0
    raw_id_fields = ('badgeinstance',)


class CollectionAdmin(ModelAdmin):
    list_display = ('created_by', 'name', 'entity_id', )
    search_fields = ('created_by__email', 'name', 'entity_id')
    fieldsets = (
        (None, {'fields': ('created_by', 'name', 'entity_id', 'description', 'share_hash')}),
    )
    readonly_fields = ('created_by', 'entity_id')
    inlines = [
        CollectionInstanceInline,
    ]
    pass
badgr_admin.register(BackpackCollection, CollectionAdmin)
Пример #10
0
from staff.models import InstitutionStaff, FacultyStaff, IssuerStaff, BadgeClassStaff


class InstitutionStaffAdmin(ModelAdmin):

    list_display = ('user', admin_list_linkify('institution', 'name'), 'may_create',
                    'may_read', 'may_update', 'may_delete', 'may_award', 'may_sign', 'may_administrate_users')


class FacultyStaffAdmin(ModelAdmin):

    list_display = ('user', admin_list_linkify('faculty', 'name'), 'may_create', 'may_read', 'may_update',
                    'may_delete', 'may_award', 'may_sign', 'may_administrate_users')


class IssuerStaffAdmin(ModelAdmin):

    list_display = ('user', admin_list_linkify('issuer', 'name'), 'may_create', 'may_read', 'may_update',
                    'may_delete', 'may_award', 'may_sign', 'may_administrate_users')


class BadgeclassStaffAdmin(ModelAdmin):

    list_display = ('user', admin_list_linkify('badgeclass', 'name'), 'may_create', 'may_read', 'may_update',
                    'may_delete', 'may_award', 'may_sign', 'may_administrate_users')


badgr_admin.register(InstitutionStaff, InstitutionStaffAdmin)
badgr_admin.register(FacultyStaff, FacultyStaffAdmin)
badgr_admin.register(IssuerStaff, IssuerStaffAdmin)
badgr_admin.register(BadgeClassStaff, BadgeclassStaffAdmin)
Пример #11
0
from django.contrib import admin
from ims.models import IMSArchive, LTIApp, LTITenant
from mainsite.admin import badgr_admin


class IMSArchiveAdmin(admin.ModelAdmin):
    list_display = ('__str__', 'created_at', 'metadata_tag')


class LTIAppAdmin(admin.ModelAdmin):
    list_display = ('__str__', 'description', 'privacy_level', 'created_at',
                    'modified_at')


class LTITenantAdmin(admin.ModelAdmin):
    list_display = ('__str__', 'client_key', 'client_secret',
                    'get_lti_config_url', 'created_at', 'modified_at')
    prepopulated_fields = {'slug': ('organization', )}


badgr_admin.register(IMSArchive, IMSArchiveAdmin)
badgr_admin.register(LTIApp, LTIAppAdmin)
badgr_admin.register(LTITenant, LTITenantAdmin)
Пример #12
0
    readonly_fields = ('created_at', )
    fieldsets = (
        ('Metadata', {
            'fields': ('created_at', ),
            'classes': ("collapse", )
        }),
        (None, {
            'fields': ('image', 'name', 'slug', 'created_by')
        }),
        ('JSON', {
            'fields': ('json', )
        }),
    )


badgr_admin.register(LocalIssuer, LocalIssuerAdmin)


class LocalBadgeClassAdmin(BadgeClassAdmin):
    readonly_fields = ('created_at', )


badgr_admin.register(LocalBadgeClass, LocalBadgeClassAdmin)


class LocalBadgeInstanceAdmin(ModelAdmin):
    readonly_fields = (
        'created_at',
        'created_by',
        'image',
    )
Пример #13
0
        ('JSON', {
            'fields': ('json', )
        }),
    )

    def img(self, obj):
        try:
            return u'<img src="{}" width="32"/>'.format(obj.image.url)
        except ValueError:
            return obj.image

    img.short_description = 'Image'
    img.allow_tags = True


badgr_admin.register(Issuer, IssuerAdmin)


class BadgeClassAdmin(ModelAdmin):
    readonly_fields = ('created_at', 'created_by')
    list_display = ('badge_image', 'name', 'slug', 'issuer')
    list_display_links = ('badge_image', 'name')
    list_filter = ('created_at', )
    search_fields = (
        'name',
        'slug',
        'issuer__name',
    )
    fieldsets = (
        ('Metadata', {
            'fields': (
Пример #14
0
# Created by [email protected] on 5/11/16.
import basic_models
from django.contrib.admin import ModelAdmin, TabularInline
from mainsite.admin import badgr_admin
from pathway.models import Pathway, PathwayElement, PathwayElementBadge


class PathwayAdmin(ModelAdmin):
    list_display = ('name', 'issuer', 'jsonld_id')
    pass


badgr_admin.register(Pathway, PathwayAdmin)


class PathwayElementBadgeInline(TabularInline):
    model = PathwayElementBadge
    extra = 0
    fields = ('element', 'badgeclass', 'ordering')
    raw_id_fields = ('badgeclass', 'element')


class PathwayElementAdmin(ModelAdmin):
    list_display = ('name', 'slug', 'pathway_name', 'issuer', 'is_active',
                    'created_at')
    list_filter = ('is_active', 'created_at')
    search_fields = (
        'name',
        'slug',
        'description',
    )
Пример #15
0
from django.contrib.admin import ModelAdmin
from mainsite.admin import badgr_admin

from .models import BadgeUser


class BadgeUserAdmin(ModelAdmin):
    readonly_fields = ('date_joined', 'last_login', 'username', )
    list_display = ('email', 'first_name', 'last_name', 'is_active', 'is_staff', 'last_login', 'date_joined')
    list_filter = ('is_active', 'is_staff', 'is_superuser', 'date_joined', 'last_login')
    search_fields = ('email', 'first_name', 'last_name', 'username')
    fieldsets = (
        ('Metadata', {'fields': ('username', 'last_login', 'date_joined',), 'classes': ('collapse',)}),
        (None, {'fields': ('email', 'first_name', 'last_name', )}),
        ('Access', {'fields': ('is_active', 'is_staff', 'is_superuser', 'password')}),
        ('Permissions', {'fields': ('groups','user_permissions')}),
    )
    pass

badgr_admin.register(BadgeUser, BadgeUserAdmin)
Пример #16
0
    def login_backoff(self, obj):
        out = []
        for email in obj.all_recipient_identifiers:
            cache_key = backoff_cache_key(username=email)
            backoff = cache.get(cache_key)
            if backoff is not None:
                out.append("<div><strong>{email}</strong>: <span>{until}</span> <span>({count} attempts)</span></div>".format(
                    email=email,
                    until=backoff.get('until').astimezone(timezone.get_current_timezone()).strftime("%Y-%m-%d %H:%M:%S"),
                    count=backoff.get('count')
                ))
        if len(out):
            return "".join(out)
    login_backoff.allow_tags = True

badgr_admin.register(BadgeUser, BadgeUserAdmin)


class EmailAddressVariantAdmin(ModelAdmin):
    search_fields = ('canonical_email', 'email',)
    list_display = ('email', 'canonical_email',)
    raw_id_fields = ('canonical_email',)

badgr_admin.register(EmailAddressVariant, EmailAddressVariantAdmin)


class TermsVersionAdmin(ModelAdmin):
    list_display = ('version','created_at','is_active')
    readonly_fields = ('created_at','created_by','updated_at','updated_by', 'latest_terms_version')
    fieldsets = (
        ('Metadata', {
Пример #17
0
            backoff = cache.get(cache_key)
            if backoff is not None:
                out.append(
                    "<div><strong>{email}</strong>: <span>{until}</span> <span>({count} attempts)</span></div>"
                    .format(email=email,
                            until=backoff.get('until').astimezone(
                                timezone.get_current_timezone()).strftime(
                                    "%Y-%m-%d %H:%M:%S"),
                            count=backoff.get('count')))
        if len(out):
            return "".join(out)

    login_backoff.allow_tags = True


badgr_admin.register(BadgeUser, BadgeUserAdmin)


class EmailAddressVariantAdmin(ModelAdmin):
    search_fields = (
        'canonical_email',
        'email',
    )
    list_display = (
        'email',
        'canonical_email',
    )
    raw_id_fields = ('canonical_email', )


badgr_admin.register(EmailAddressVariant, EmailAddressVariantAdmin)
Пример #18
0
from django.contrib import admin
from lti_edu.models import LtiPayload, StudentsEnrolled, LtiClient, ResourceLinkBadge
from mainsite.admin import badgr_admin
from mainsite.utils import admin_list_linkify


@admin.register(LtiPayload)
class LtiPayloadAdmin(admin.ModelAdmin):
    list_display = ['date_created', 'data']


badgr_admin.register(LtiPayload, LtiPayloadAdmin)


@admin.register(ResourceLinkBadge)
class ResourceLinkBadgeAdmin(admin.ModelAdmin):
    list_display = ['date_created', 'resource_link', 'issuer', 'badge_class']


badgr_admin.register(ResourceLinkBadge, ResourceLinkBadgeAdmin)


@admin.register(StudentsEnrolled)
class StudentsEnrolledAdmin(admin.ModelAdmin):
    list_display = ('date_created', 'date_consent_given',
                    'date_awarded', 'badge_instance',
                    admin_list_linkify('badge_class', 'name'),
                    admin_list_linkify('user', 'full_name'))


badgr_admin.register(StudentsEnrolled, StudentsEnrolledAdmin)
Пример #19
0
    list_filter = ('is_active', 'is_staff', 'is_superuser', 'date_joined',
                   'last_login')
    search_fields = ('email', 'first_name', 'last_name', 'username')
    fieldsets = (
        ('Metadata', {
            'fields': (
                'username',
                'last_login',
                'date_joined',
            ),
            'classes': ('collapse', )
        }),
        (None, {
            'fields': (
                'email',
                'first_name',
                'last_name',
            )
        }),
        ('Access', {
            'fields': ('is_active', 'is_staff', 'is_superuser', 'password')
        }),
        ('Permissions', {
            'fields': ('groups', 'user_permissions')
        }),
    )
    pass


badgr_admin.register(BadgeUser, BadgeUserAdmin)
Пример #20
0
from externaltools.models import ExternalTool, ExternalToolLaunchpoint
from mainsite.admin import badgr_admin


class LaunchpointInline(TabularInline):
    model = ExternalToolLaunchpoint
    extra = 0
    fields = ('launchpoint', 'label', 'launch_url', 'icon_url')


class ExternalToolAdmin(ModelAdmin):
    readonly_fields = ('created_at', 'created_by', 'updated_at', 'updated_by',
                       'entity_id')
    list_display = ('name', 'entity_id', 'config_url', 'created_at')
    list_filter = ('created_at', )
    search_fields = ('name', 'config_url', 'xml_config', 'client_id')
    fieldsets = (('Metadata', {
        'fields':
        ('created_by', 'created_at', 'updated_by', 'updated_at', 'entity_id'),
        'classes': ("collapse", )
    }), (None, {
        'fields': ('is_active', 'requires_user_activation', 'name',
                   'config_url', 'client_id', 'client_secret')
    }), ('Config', {
        'fields': ('xml_config', )
    }))
    inlines = [LaunchpointInline]


badgr_admin.register(ExternalTool, ExternalToolAdmin)
Пример #21
0
# Created by [email protected] on 5/11/16.
import basic_models
from django.contrib.admin import ModelAdmin, TabularInline
from mainsite.admin import badgr_admin
from pathway.models import Pathway, PathwayElement, PathwayElementBadge


class PathwayAdmin(ModelAdmin):
    list_display = ('name', 'issuer', 'jsonld_id')
    pass

badgr_admin.register(Pathway, PathwayAdmin)


class PathwayElementBadgeInline(TabularInline):
    model = PathwayElementBadge
    extra = 0
    fields = ('element', 'badgeclass', 'ordering')
    raw_id_fields = ('badgeclass', 'element')


class PathwayElementAdmin(ModelAdmin):
    list_display = ('name', 'slug', 'pathway_name', 'issuer', 'is_active', 'created_at')
    list_filter = ('is_active', 'created_at')
    search_fields = ('name', 'slug', 'description',)
    readonly_fields = ('created_by', 'created_at', 'updated_by', 'slug')
    raw_id_fields = ('completion_badgeclass', 'pathway', 'parent_element')
    fieldsets = (
        ('Metadata', {
            'fields': ('is_active', 'created_by', 'created_at', 'updated_by', 'slug'),
            'classes': ('collapse',)
Пример #22
0
    def formfield_for_foreignkey(self, db_field, request, **kwargs):
        if db_field.name == "faculty":
            if not request.user.is_superuser:
                if request.user.has_perm('badgeuser.has_institution_scope'):
                    kwargs["queryset"] = Faculty.objects.filter(
                        institution=request.user.institution)
                elif request.user.has_perm('badgeuser.has_faculty_scope'):
                    kwargs["queryset"] = request.user.faculty.get_queryset()
                else:
                    kwargs["queryset"] = Faculty.objects.none()
        return super(IssuerAdmin,
                     self).formfield_for_foreignkey(db_field, request,
                                                    **kwargs)


badgr_admin.register(Issuer, IssuerAdmin)


class BadgeClassAlignmentInline(TabularInline):
    model = BadgeClassAlignment
    extra = 0
    fields = ('target_name', 'target_url', 'target_description',
              'target_framework', 'target_code')


class BadgeClassTagInline(TabularInline):
    model = BadgeClassTag
    extra = 0
    fields = ('name', )

Пример #23
0
class ExternalToolInline(TabularInline):
    model = ExternalToolUserActivation
    fk_name = 'user'
    fields = ('externaltool',)
    extra = 0


class BadgeUserAdmin(ModelAdmin):
    readonly_fields = ('entity_id', 'date_joined', 'last_login', 'username', 'entity_id',)
    list_display = ('email', 'first_name', 'last_name', 'is_active', 'is_staff', 'entity_id', 'date_joined')
    list_filter = ('is_active', 'is_staff', 'is_superuser', 'date_joined', 'last_login')
    search_fields = ('email', 'first_name', 'last_name', 'username', 'entity_id')
    fieldsets = (
        ('Metadata', {'fields': ('entity_id', 'username', 'date_joined',), 'classes': ('collapse',)}),
        (None, {'fields': ('email', 'first_name', 'last_name', 'badgrapp')}),
        ('Access', {'fields': ('is_active', 'is_staff', 'is_superuser', 'password')}),
        ('Permissions', {'fields': ('groups', 'user_permissions')}),
    )
    inlines = [
        ExternalToolInline
    ]

badgr_admin.register(BadgeUser, BadgeUserAdmin)


class EmailAddressVariantAdmin(ModelAdmin):
    search_fields = ('canonical_email', 'email',)
    list_display = ('email', 'canonical_email',)
    raw_id_fields = ('canonical_email',)

badgr_admin.register(EmailAddressVariant, EmailAddressVariantAdmin)
Пример #24
0
# Collection
#
###


class CollectionInstanceInline(TabularInline):
    model = BackpackCollection.assertions.through
    extra = 0
    raw_id_fields = ('badgeinstance', )


class CollectionAdmin(ModelAdmin):
    list_display = (
        'created_by',
        'name',
        'entity_id',
    )
    search_fields = ('created_by__email', 'name', 'entity_id')
    fieldsets = ((None, {
        'fields':
        ('created_by', 'name', 'entity_id', 'description', 'share_hash')
    }), )
    readonly_fields = ('created_by', 'entity_id')
    inlines = [
        CollectionInstanceInline,
    ]
    pass


badgr_admin.register(BackpackCollection, CollectionAdmin)
Пример #25
0
from django.contrib import admin
from mainsite.admin import badgr_admin
from .models import Institution, Faculty
from badgeuser.admin import TermsInline
from mainsite.utils import admin_list_linkify


class InstitutionAdmin(admin.ModelAdmin):
    readonly_fields = ('entity_id', 'created_by', 'updated_by')
    list_display = ('name_english', 'name_dutch', 'identifier', 'brin')

    inlines = [TermsInline]


class FacultyAdmin(admin.ModelAdmin):

    list_display = ('name_english', 'name_dutch')
    readonly_fields = ('entity_id', 'created_by', 'updated_by', 'institution')
    list_display = ('name_english', 'entity_id',
                    admin_list_linkify('institution', 'name'))


badgr_admin.register(Institution, InstitutionAdmin)
badgr_admin.register(Faculty, FacultyAdmin)
Пример #26
0
class LaunchpointInline(TabularInline):
    model = ExternalToolLaunchpoint
    extra = 0
    fields = ('launchpoint', 'label', 'launch_url', 'icon_url')


class ExternalToolAdmin(ModelAdmin):
    readonly_fields = ('created_at', 'created_by', 'updated_at', 'updated_by', 'entity_id')
    list_display = ('name', 'entity_id', 'config_url', 'created_at')
    list_filter = ('created_at',)
    search_fields = ('name', 'config_url', 'xml_config', 'client_id')
    fieldsets = (
        ('Metadata', {
            'fields': ('created_by', 'created_at', 'updated_by', 'updated_at', 'entity_id'),
            'classes': ("collapse",)
        }),
        (None, {
            'fields': ('is_active', 'requires_user_activation', 'name', 'config_url', 'client_id', 'client_secret')
        }),
        ('Config', {
            'fields': ('xml_config',)
        })
    )
    inlines = [
        LaunchpointInline
    ]


badgr_admin.register(ExternalTool, ExternalToolAdmin)
Пример #27
0
    def img(self, obj):
        try:
            return u'<img src="{}" width="32"/>'.format(obj.image.url)
        except ValueError:
            return obj.image
    img.short_description = 'Image'
    img.allow_tags = True

    def redirect_badgeclasses(self, request, obj):
        return HttpResponseRedirect(
            reverse('admin:issuer_badgeclass_changelist') + '?issuer__id={}'.format(obj.id)
        )
    redirect_badgeclasses.label = "BadgeClasses"
    redirect_badgeclasses.short_description = "See this issuer's defined BadgeClasses"

badgr_admin.register(Issuer, IssuerAdmin)


class BadgeClassAlignmentInline(TabularInline):
    model = BadgeClassAlignment
    extra = 0
    fields = ('target_name','target_url','target_description', 'target_framework','target_code')


class BadgeClassTagInline(TabularInline):
    model = BadgeClassTag
    extra = 0
    fields = ('name',)


class BadgeClassExtensionInline(TabularInline):