class FinancialAidEmailAuditAdmin(admin.ModelAdmin): """Admin for FinancialAidEmailAudit""" model = FinancialAidEmailAudit readonly_fields = get_field_names(FinancialAidEmailAudit) def has_add_permission(self, *args, **kwargs): # pylint: disable=unused-argument, arguments-differ return False def has_delete_permission(self, *args, **kwargs): # pylint: disable=unused-argument, signature-differs return False
class OrderAuditAdmin(admin.ModelAdmin): """Admin for OrderAudit""" model = OrderAudit readonly_fields = get_field_names(OrderAudit) def has_add_permission(self, request): return False def has_delete_permission(self, request, obj=None): return False
class ReceiptAdmin(admin.ModelAdmin): """Admin for Receipt""" model = Receipt readonly_fields = get_field_names(Receipt) def has_add_permission(self, request): return False def has_delete_permission(self, request, obj=None): return False
class CouponInvoiceAuditAdmin(admin.ModelAdmin): """Admin for CouponInvoiceAudit""" model = CouponInvoiceAudit readonly_fields = get_field_names(CouponInvoiceAudit) def has_add_permission(self, request): return False def has_delete_permission(self, request, obj=None): return False
class UserCouponAdmin(admin.ModelAdmin): """Admin for UserCoupon""" model = UserCoupon readonly_fields = get_field_names(UserCoupon) def save_model(self, request, obj, form, change): """ Saves object and logs change to object """ obj.save_and_log(request.user)
def test_get_field_names(self): """ Assert that get_field_names does not include related fields """ assert set(get_field_names(Order)) == { 'user', 'status', 'total_price_paid', 'created_at', 'modified_at', }
class LineAdmin(admin.ModelAdmin): """Admin for Line""" model = Line readonly_fields = get_field_names(Line) def has_add_permission(self, request): return False def has_delete_permission(self, request, obj=None): return False
def compile_model_data(model_cls, data, **additional_data): """ Compiles a dictionary of data that will be set on a model object """ model_data = {} field_names = get_field_names(model_cls) # If default values have been specified, set them on the model data dict if model_cls in MODEL_DEFAULTS: model_data.update(MODEL_DEFAULTS[model_cls]) # For all keys that match valid model fields, update the model data dict model_data.update(filter_dict_by_key_set(data, field_names)) # For any other data that has been specifically passed in, update the model data dict if additional_data: model_data.update(additional_data) return model_data
class ProctoredExamGradeAuditAdmin(admin.ModelAdmin): """Admin for ProctoredExamGradeAudit""" model = models.ProctoredExamGradeAudit readonly_fields = get_field_names(models.ProctoredExamGradeAudit) list_display = ( 'id', 'proctored_exam_grade', ) ordering = ( 'proctored_exam_grade', 'id', ) list_filter = ('proctored_exam_grade__course__title', ) def has_add_permission(self, *args, **kwargs): # pylint: disable=unused-argument, arguments-differ return False def has_delete_permission(self, *args, **kwargs): # pylint: disable=unused-argument, arguments-differ return False
class FinalGradeAuditAdmin(admin.ModelAdmin): """Admin for FinalGradeAudit""" model = models.FinalGradeAudit readonly_fields = get_field_names(models.FinalGradeAudit) list_display = ( 'id', 'final_grade', ) ordering = ( 'final_grade', 'id', ) list_filter = ('final_grade__course_run__edx_course_key', ) def has_add_permission(self, *args, **kwargs): # pylint: disable=unused-argument, arguments-differ return False def has_delete_permission(self, *args, **kwargs): # pylint: disable=unused-argument, arguments-differ return False
class OrderAdmin(admin.ModelAdmin): """Admin for Order""" model = Order list_filter = ('status', ) list_display = ( 'id', 'user', 'status', 'created_at', 'course_key', ) search_fields = ( 'user__username', 'user__email', ) readonly_fields = [ name for name in get_field_names(Order) if name != 'status' ] def course_key(self, obj): """ returns first course key associated with order """ line = obj.line_set.first() return line.course_key def has_add_permission(self, request): return False def has_delete_permission(self, request, obj=None): return False def save_model(self, request, obj, form, change): """ Saves object and logs change to object """ obj.save_and_log(request.user)