admin.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. from django.contrib import admin
  2. from expenses.models import (
  3. OnlineSource,
  4. PhysicalSource,
  5. Category,
  6. Expense,
  7. MultiplePaymentExepense,
  8. )
  9. class OnlineSourceAdmin(admin.ModelAdmin):
  10. list_display = ["name", "url", "created_at", "modified_at"]
  11. readonly_fields = ["created_at", "modified_at"]
  12. list_filter = ["name"]
  13. search_fields = ["name", "url"]
  14. date_hierarchy = "created_at"
  15. class PhysicalSourceAdmin(admin.ModelAdmin):
  16. list_display = ["name", "latitude", "longitude", "created_at", "modified_at"]
  17. readonly_fields = ["created_at", "modified_at"]
  18. list_filter = ["name"]
  19. search_fields = ["name"]
  20. date_hierarchy = "created_at"
  21. class CategoryAdmin(admin.ModelAdmin):
  22. list_display = ["name", "type", "created_at", "modified_at"]
  23. readonly_fields = ["created_at", "modified_at"]
  24. date_hierarchy = "created_at"
  25. class ExpenseAdmin(admin.ModelAdmin):
  26. list_display = [
  27. "name",
  28. "date",
  29. "amount",
  30. "category",
  31. "source",
  32. "created_at",
  33. "modified_at",
  34. ]
  35. readonly_fields = ["created_at", "modified_at"]
  36. date_hierarchy = "date"
  37. class MultiplePaymentExepenseAdmin(admin.ModelAdmin):
  38. list_display = [
  39. "name",
  40. "first_payment_date",
  41. "amount",
  42. "number_of_payment",
  43. "payments",
  44. "category",
  45. "source",
  46. "created_at",
  47. "modified_at",
  48. ]
  49. readonly_fields = ["created_at", "modified_at"]
  50. date_hierarchy = "first_payment_date"
  51. admin.site.register(OnlineSource, OnlineSourceAdmin)
  52. admin.site.register(PhysicalSource, PhysicalSourceAdmin)
  53. admin.site.register(Category, CategoryAdmin)
  54. admin.site.register(Expense, ExpenseAdmin)
  55. admin.site.register(MultiplePaymentExepense, MultiplePaymentExepenseAdmin)