admin.py 2.2 KB

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