admin.py 1.9 KB

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