class ClassFlagAdmin(admin.ModelAdmin): list_display = ('flag_type', 'subject', 'comment', 'created_by', 'modified_by') readonly_fields = [ 'modified_by', 'modified_time', 'created_by', 'created_time' ] search_fields = default_user_search('modified_by') + default_user_search( 'created_by') + [ 'flag_type__name', 'flag_type__id', 'subject__id', 'subject__title', 'subject__parent_program__url', 'comment' ] list_filter = ['subject__parent_program', 'flag_type']
class TransferAdmin(admin.ModelAdmin): def option_description(self, obj): if obj.option: return obj.option.description else: return u'--' def formfield_for_foreignkey(self, db_field, request, **kwargs): if db_field.name == "line_item": kwargs["queryset"] = LineItemType.objects.all().select_related( 'program') return super(TransferAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs) list_display = [ 'id', 'line_item', 'user', 'timestamp', 'source', 'destination', 'amount_dec', 'option_description' ] list_filter = ['source', 'destination', 'line_item__program'] list_select_related = [ 'source', 'destination', 'line_item', 'option', 'user', 'line_item__program' ] search_fields = default_user_search() + [ 'source__name', 'destination__name', 'line_item__text', '=transaction_id' ] raw_id_fields = [ 'paid_in' ] # it's too expensive to iterate over all Transfers to create the dropdown menu
class UserAvailabilityAdmin(admin.ModelAdmin): def parent_program(obj): #because 'event__program' for some reason doesn't want to work... return obj.event.program list_display = ['id', 'user', 'event', parent_program] list_filter = ['event__program', ] search_fields = default_user_search() ordering = ['-event__program', 'user__username', 'event__start']
class TeacherInfoAdmin(UserInfoAdmin): list_display = [ 'id', 'user', 'graduation_year', 'from_here', 'college', 'is_graduate_student' ] search_fields = default_user_search() + ['college'] list_filter = ('from_here', 'is_graduate_student', 'graduation_year')
class PermissionAdmin(admin.ModelAdmin): list_display = [ 'id', 'user', 'role', 'permission_type', 'program', 'start_date', 'end_date' ] search_fields = default_user_search() + ['permission_type', 'program__url'] list_filter = ['permission_type', 'program', 'role'] date_hierarchy = 'start_date' actions = ['expire', 'renew'] def expire(self, request, queryset): rows_updated = queryset.update(end_date=datetime.datetime.now()) if rows_updated == 1: message_bit = "1 permission was" else: message_bit = "%s permissions were" % rows_updated self.message_user(request, "%s successfully expired." % message_bit) expire.short_description = "Expire permissions" def renew(self, request, queryset): rows_updated = queryset.update(end_date=None) if rows_updated == 1: message_bit = "1 permission was" else: message_bit = "%s permissions were" % rows_updated self.message_user(request, "%s successfully expired." % message_bit) renew.short_description = "Renew permissions"
class SubjectAdmin(admin.ModelAdmin): list_display = ('category', 'id', 'title', 'parent_program', 'pretty_teachers') list_display_links = ('title', ) search_fields = default_user_search('teachers') + [ 'class_info', 'title', 'id' ] exclude = ('teachers', ) readonly_fields = ('timestamp', ) list_filter = ('parent_program', 'category') inlines = (SectionInline, ) fieldsets = ( (None, { 'fields': ('title', 'parent_program', 'timestamp', 'category', 'class_info', 'message_for_directors', 'directors_notes', 'purchase_requests') }), ('Registration Info', { 'classes': ('collapse', ), 'fields': (('grade_min', 'grade_max'), 'allow_lateness', 'prereqs', 'hardness_rating') }), ('Scheduling Info', { 'classes': ('collapse', ), 'fields': ('requested_room', 'requested_special_resources', ('allowable_class_size_ranges', 'optimal_class_size_range'), ('class_size_min', 'class_size_optimal', 'class_size_max', 'session_count')) }), ('Advanced', { 'fields': ('schedule', 'custom_form_data') }), )
class VolunteerOfferAdmin(admin.ModelAdmin): def program(obj): return obj.request.program list_display = ('id', 'user', 'email', 'name', 'request', program, 'confirmed') list_filter = ('request__program', ) search_fields = default_user_search() + ['email', 'name']
class FinancialAidRequestAdmin(admin.ModelAdmin): list_display = ('user', 'approved', 'reduced_lunch', 'program', 'household_income', 'extra_explaination') search_fields = default_user_search() + ['id', 'program__url'] list_filter = ['program'] inlines = [ FinancialAidGrantInline, ]
class Admin_SplashInfo(admin.ModelAdmin): list_display = ( 'student', 'program', ) search_fields = default_user_search('student') list_filter = [ 'program', ]
class Admin_StudentAppReview(admin.ModelAdmin): list_display = ( 'reviewer', 'date', 'score', 'comments', ) search_fields = default_user_search('reviewer') list_filter = ('date', )
class FinancialAidGrantAdmin(admin.ModelAdmin): list_display = [ 'id', 'request', 'user', 'program', 'finalized', 'amount_max_dec', 'percent' ] list_filter = ['request__program'] search_fields = default_user_search('request__user') actions = [ finalize_finaid_grants, ]
class RecordAdmin(admin.ModelAdmin): list_display = [ 'id', 'user', 'event', 'program', 'time', ] list_filter = ['event', 'program', 'time'] search_fields = default_user_search() date_hierarchy = 'time'
class QuasiStaticDataAdmin(VersionAdmin): search_fields = default_user_search('author') + [ 'title', 'name', 'keywords', 'description', 'url' ] list_display = [ 'nav_category', 'title', 'url', 'disabled', 'create_date', 'author' ] list_filter = [ 'nav_category', ] date_hierarchy = 'create_date'
class GradeChangeRequestAdmin(admin.ModelAdmin): list_display = ['requesting_student', 'claimed_grade', 'approved','acknowledged_by','acknowledged_time', 'created'] readonly_fields = ['grade_before_request', 'requesting_student','acknowledged_by','acknowledged_time','claimed_grade'] search_fields = default_user_search('requesting_student') list_filter = ('created','approved',) def save_model(self, request, obj, form, change): if getattr(obj, 'acknowledged_by', None) is None: obj.acknowledged_by = request.user if getattr(obj, 'acknowledged_time', None) is None and getattr(request.POST, 'approved', None) is True: obj.acknowledged_time = datetime.datetime.now() obj.save()
class RegistrationProfileAdmin(admin.ModelAdmin): list_display = ('id', 'user', 'contact_user', 'contact_guardian', 'contact_emergency', 'program', 'last_ts') search_fields = default_user_search() + [ 'contact_user__first_name', 'contact_user__last_name', 'contact_guardian__first_name', 'contact_guardian__last_name', 'contact_emergency__first_name', 'contact_emergency__last_name' ] list_filter = ('program', ) date_hierarchy = 'last_ts' def lookup_allowed(self, key, value): return True
class Admin_StudentAppResponse(admin.ModelAdmin): list_display = ( 'question', 'response', 'complete', ) readonly_fields = ('question', ) list_display_links = list_display search_fields = default_user_search('question__studentapplication__user') list_filter = ( 'question__subject__parent_program', 'question__program', )
class StudentRegistrationAdmin(admin.ModelAdmin): list_display = ( 'id', 'section', 'user', 'relationship', 'start_date', 'end_date', ) actions = [expire_student_registrations, renew_student_registrations] search_fields = default_user_search() + [ 'id', 'section__id', 'section__parent_class__title', 'section__parent_class__id' ] list_filter = ['section__parent_class__parent_program', 'relationship'] date_hierarchy = 'start_date'
class StudentSubjectInterestAdmin(admin.ModelAdmin): list_display = ( 'id', 'subject', 'user', 'start_date', 'end_date', ) actions = [ expire_student_registrations, ] search_fields = default_user_search() + [ 'id', 'subject__id', 'subject__title' ] list_filter = [ 'subject__parent_program', ] date_hierarchy = 'start_date'
class MessageRequestAdmin(admin.ModelAdmin): list_display = ('subject', 'creator', 'sender', 'recipients', 'processed_by') list_filter = ('processed_by', ) search_fields = default_user_search('creator') + ['subject', 'sender'] date_hierarchy = 'processed_by'
class PrintRequestAdmin(admin.ModelAdmin): list_display = ['user', 'printer', 'time_requested', 'time_executed'] list_filter = ['printer', 'time_requested', 'time_executed'] date_hierarchy = 'time_requested' search_fields = default_user_search()
class StudentInfoAdmin(UserInfoAdmin): list_display = ['id', 'user', 'graduation_year', 'getSchool'] list_filter = ['graduation_year', 'studentrep'] search_fields = default_user_search()
class UserInfoAdmin(admin.ModelAdmin): search_fields = default_user_search()
class ContactInfoAdmin(admin.ModelAdmin): list_display = ['id', 'user', 'e_mail', 'phone_day', 'address_postal'] search_fields = default_user_search() + ['e_mail']
class FormAdmin(admin.ModelAdmin): list_display = ['title', 'date_created', 'created_by', num_fields] search_fields = default_user_search('created_by') + [ 'title', 'description' ] date_hierarchy = 'date_created'
class EducatorInfoAdmin(UserInfoAdmin): search_fields = default_user_search() list_display = ['id', 'user', 'position', 'getSchool']
class UserForwarderAdmin(admin.ModelAdmin): list_display = ('source', 'target') search_fields = default_user_search('source') + default_user_search('target')
class GuardianInfoAdmin(UserInfoAdmin): list_display = ['id', 'user', 'year_finished', 'num_kids'] search_fields = default_user_search()
class TeacherBioAdmin(admin.ModelAdmin): list_display = ('user', 'program', 'slugbio') search_fields = default_user_search() + ['slugbio', 'bio']
class StudentAppAdmin(admin.ModelAdmin): list_display = ('user', 'program', 'done') search_fields = default_user_search() list_filter = ('program', )