Merge pull request #18740 from edx/pwnage101/add-partner-reporting-model-admin
Add ModelAdmin for UserRetirementPartnerReportingStatus
This commit is contained in:
@@ -3,7 +3,7 @@ Django admin configuration pages for the user_api app
|
||||
"""
|
||||
from django.contrib import admin
|
||||
|
||||
from .models import RetirementState, UserRetirementStatus, UserRetirementRequest
|
||||
from .models import UserRetirementPartnerReportingStatus, RetirementState, UserRetirementStatus, UserRetirementRequest
|
||||
|
||||
|
||||
@admin.register(RetirementState)
|
||||
@@ -22,7 +22,7 @@ class RetirementStateAdmin(admin.ModelAdmin):
|
||||
@admin.register(UserRetirementStatus)
|
||||
class UserRetirementStatusAdmin(admin.ModelAdmin):
|
||||
"""
|
||||
Admin interface for the UserRetirementStatusAdmin model.
|
||||
Admin interface for the UserRetirementStatus model.
|
||||
"""
|
||||
list_display = ('user', 'original_username', 'current_state', 'modified')
|
||||
list_filter = ('current_state',)
|
||||
@@ -36,10 +36,54 @@ class UserRetirementStatusAdmin(admin.ModelAdmin):
|
||||
@admin.register(UserRetirementRequest)
|
||||
class UserRetirementRequestAdmin(admin.ModelAdmin):
|
||||
"""
|
||||
Admin interface for the UserRetirementRequestAdmin model.
|
||||
Admin interface for the UserRetirementRequest model.
|
||||
"""
|
||||
list_display = ('user', 'created')
|
||||
raw_id_fields = ('user',)
|
||||
|
||||
class Meta(object):
|
||||
model = UserRetirementRequest
|
||||
|
||||
|
||||
@admin.register(UserRetirementPartnerReportingStatus)
|
||||
class UserRetirementPartnerReportingStatusAdmin(admin.ModelAdmin):
|
||||
"""
|
||||
Admin interface for the UserRetirementPartnerReportingStatus model.
|
||||
"""
|
||||
list_display = (
|
||||
'user_id', # See user_id() below.
|
||||
'original_username',
|
||||
'is_being_processed',
|
||||
'modified',
|
||||
)
|
||||
list_filter = ('is_being_processed',)
|
||||
raw_id_fields = ('user',)
|
||||
search_fields = ('user__id', 'original_username', 'original_email', 'original_name')
|
||||
actions = [
|
||||
'reset_state', # See reset_state() below.
|
||||
]
|
||||
|
||||
class Meta(object):
|
||||
model = UserRetirementPartnerReportingStatus
|
||||
|
||||
def user_id(self, obj):
|
||||
"""
|
||||
List display for the user_id field.
|
||||
|
||||
This is an alternative to listing the "user" field directly, since that would print the retired (hashed)
|
||||
username which isn't super helpful.
|
||||
"""
|
||||
return obj.user.id
|
||||
|
||||
def reset_state(self, request, queryset):
|
||||
"""
|
||||
Action callback for bulk resetting is_being_processed to False (0).
|
||||
"""
|
||||
rows_updated = queryset.update(is_being_processed=0)
|
||||
if rows_updated == 1:
|
||||
message_bit = "one user was"
|
||||
else:
|
||||
message_bit = "%s users were" % rows_updated
|
||||
self.message_user(request, "%s successfully reset." % message_bit)
|
||||
|
||||
reset_state.short_description = 'Reset is_being_processed to False'
|
||||
|
||||
Reference in New Issue
Block a user