recettes/recette/admin.py

54 lines
1.4 KiB
Python
Raw Normal View History

2018-05-26 16:01:04 +02:00
from django import forms
from django.contrib import admin
from .models import Composition, Ingredient, Recette, Unite
2018-06-01 20:47:57 +02:00
@admin.register(Ingredient)
class IngredientAdmin(admin.ModelAdmin):
search_fields = ['nom']
2018-05-27 11:48:40 +02:00
class IngredientInline(admin.TabularInline):
model = Recette.ingredients.through
2018-06-01 20:47:57 +02:00
autocomplete_fields = ['ingredient']
2018-05-27 11:48:40 +02:00
2018-05-26 16:01:04 +02:00
class RecetteForm(forms.ModelForm):
photo = forms.ImageField(
label="Photo",
widget=forms.ClearableFileInput(attrs={'capture': True, 'accept': "image/*"}),
required=False
)
2018-10-14 18:15:25 +02:00
photo_instr = forms.ImageField(
label="Photo des instructions",
widget=forms.ClearableFileInput(attrs={'capture': True, 'accept': "image/*"}),
required=False
)
2018-05-26 16:01:04 +02:00
class Meta:
model = Recette
fields = '__all__'
@admin.register(Recette)
class RecetteAdmin(admin.ModelAdmin):
2018-10-14 20:25:16 +02:00
list_display = ['nom', 'has_photo', 'has_photo_instr']
2018-05-26 16:01:04 +02:00
form = RecetteForm
2018-10-28 12:03:29 +01:00
save_on_top = True
2018-05-27 11:48:40 +02:00
inlines = [IngredientInline]
2018-05-26 16:01:04 +02:00
2018-10-14 20:25:16 +02:00
def has_photo(self, obj):
return bool(obj.photo)
has_photo.short_description = "Avec photo"
has_photo.boolean = True
def has_photo_instr(self, obj):
return bool(obj.photo_instr)
has_photo_instr.short_description = "Avec photo instructions"
has_photo_instr.boolean = True
2018-05-26 16:01:04 +02:00
admin.site.register(Composition)
admin.site.register(Unite)