From 09ff7e82f133fbe3ee39b18a268e7bbe46acea94 Mon Sep 17 00:00:00 2001 From: vabene1111 Date: Tue, 17 Mar 2020 16:16:04 +0100 Subject: [PATCH] django admin cleanup --- .idea/recipes.iml | 2 +- cookbook/admin.py | 110 ++++++++++++++++++++++++++++++++++++++++++--- cookbook/models.py | 6 +++ 3 files changed, 112 insertions(+), 6 deletions(-) diff --git a/.idea/recipes.iml b/.idea/recipes.iml index 23bc88ff7..a8c515d0c 100644 --- a/.idea/recipes.iml +++ b/.idea/recipes.iml @@ -16,7 +16,7 @@ - + diff --git a/cookbook/admin.py b/cookbook/admin.py index f4f70e8fc..b1b09233c 100644 --- a/cookbook/admin.py +++ b/cookbook/admin.py @@ -2,10 +2,110 @@ from django.contrib import admin from .models import * -admin.site.register(Recipe) +def get_user_name(user): + if (name := f"{user.first_name} {user.last_name}") == "": + return name + else: + return user.username + + +class UserPreferenceAdmin(admin.ModelAdmin): + list_display = ('name', 'theme', 'nav_color') + + @staticmethod + def name(obj): + return get_user_name(obj.user) + + +admin.site.register(UserPreference, UserPreferenceAdmin) + + +class StorageAdmin(admin.ModelAdmin): + list_display = ('name', 'method') + + +admin.site.register(Storage, StorageAdmin) + + +class SyncAdmin(admin.ModelAdmin): + list_display = ('storage', 'path', 'active', 'last_checked') + + +admin.site.register(Sync, SyncAdmin) + + +class SyncLogAdmin(admin.ModelAdmin): + list_display = ('sync', 'status', 'msg', 'created_at') + + +admin.site.register(SyncLog, SyncLogAdmin) + admin.site.register(Keyword) -admin.site.register(Sync) -admin.site.register(SyncLog) -admin.site.register(RecipeImport) -admin.site.register(Storage) + +class RecipeAdmin(admin.ModelAdmin): + list_display = ('name', 'internal', 'created_by', 'storage') + + @staticmethod + def created_by(obj): + return get_user_name(obj.created_by) + + +admin.site.register(Recipe, RecipeAdmin) + +admin.site.register(Unit) +admin.site.register(Ingredient) + + +class RecipeIngredientAdmin(admin.ModelAdmin): + list_display = ('recipe', 'ingredient', 'amount', 'unit') + + +admin.site.register(RecipeIngredient, RecipeIngredientAdmin) + + +class CommentAdmin(admin.ModelAdmin): + list_display = ('recipe', 'name', 'created_at') + + @staticmethod + def name(obj): + return get_user_name(obj.created_by) + + +admin.site.register(Comment) + + +class RecipeImportAdmin(admin.ModelAdmin): + list_display = ('name', 'storage', 'file_path') + + +admin.site.register(RecipeImport, RecipeImportAdmin) + + +class RecipeBookAdmin(admin.ModelAdmin): + list_display = ('name', 'user') + + @staticmethod + def user(obj): + return get_user_name(obj.user) + + +admin.site.register(RecipeBook, RecipeBookAdmin) + + +class RecipeBookEntryAdmin(admin.ModelAdmin): + list_display = ('book', 'recipe') + + +admin.site.register(RecipeBookEntry, RecipeBookEntryAdmin) + + +class MealPlanAdmin(admin.ModelAdmin): + list_display = ('user', 'recipe', 'meal', 'date') + + @staticmethod + def user(obj): + return get_user_name(obj.user) + + +admin.site.register(MealPlan, MealPlanAdmin) diff --git a/cookbook/models.py b/cookbook/models.py index ea2332d94..a3111263a 100644 --- a/cookbook/models.py +++ b/cookbook/models.py @@ -28,6 +28,9 @@ class UserPreference(models.Model): theme = models.CharField(choices=THEMES, max_length=128, default=FLATLY) nav_color = models.CharField(choices=COLORS, max_length=128, default=PRIMARY) + def __str__(self): + return self.user + class Storage(models.Model): DROPBOX = 'DB' @@ -64,6 +67,9 @@ class SyncLog(models.Model): msg = models.TextField(default="") created_at = models.DateTimeField(auto_now_add=True) + def __str__(self): + return f"{self.created_at}:{self.sync} - {self.status}" + class Keyword(models.Model): name = models.CharField(max_length=64, unique=True)