2017-08-13 14:48:16 +00:00
|
|
|
# -*- coding: utf-8 -*-
|
2017-08-11 18:32:02 +00:00
|
|
|
from django.contrib import admin
|
2017-11-19 01:57:29 +00:00
|
|
|
from django.conf import settings
|
2017-08-11 18:32:02 +00:00
|
|
|
|
2020-02-17 14:16:52 +00:00
|
|
|
from import_export import fields, resources
|
|
|
|
from import_export.admin import ImportExportMixin, ExportActionMixin
|
2020-02-16 23:58:49 +00:00
|
|
|
|
2017-11-10 02:15:09 +00:00
|
|
|
from core import models
|
2017-08-13 14:48:16 +00:00
|
|
|
|
|
|
|
|
2020-02-17 14:16:52 +00:00
|
|
|
class ImportExportResourceBase(resources.ModelResource):
|
2020-02-17 18:34:31 +00:00
|
|
|
id = fields.Field(attribute='id')
|
|
|
|
child = fields.Field(attribute='child_id', column_name='child_id')
|
2020-02-17 14:16:52 +00:00
|
|
|
child_first_name = fields.Field(
|
|
|
|
attribute='child__first_name', readonly=True)
|
|
|
|
child_last_name = fields.Field(attribute='child__last_name', readonly=True)
|
|
|
|
|
2020-02-17 18:34:31 +00:00
|
|
|
class Meta:
|
|
|
|
clean_model_instances = True
|
|
|
|
exclude = ('duration',)
|
|
|
|
|
2020-02-17 14:22:46 +00:00
|
|
|
|
2020-02-16 23:58:49 +00:00
|
|
|
class ChildImportExportResource(resources.ModelResource):
|
|
|
|
class Meta:
|
|
|
|
model = models.Child
|
|
|
|
exclude = ('picture', 'slug')
|
|
|
|
|
|
|
|
|
2017-11-10 02:15:09 +00:00
|
|
|
@admin.register(models.Child)
|
2020-02-17 14:16:52 +00:00
|
|
|
class ChildAdmin(ImportExportMixin, ExportActionMixin, admin.ModelAdmin):
|
2017-08-18 12:08:23 +00:00
|
|
|
list_display = ('first_name', 'last_name', 'birth_date', 'slug')
|
2017-08-13 20:15:57 +00:00
|
|
|
list_filter = ('last_name',)
|
2017-11-19 02:06:37 +00:00
|
|
|
search_fields = ('first_name', 'last_name', 'birth_date')
|
|
|
|
fields = ['first_name', 'last_name', 'birth_date']
|
2017-12-01 23:07:08 +00:00
|
|
|
if settings.BABY_BUDDY['ALLOW_UPLOADS']:
|
2017-11-19 01:57:29 +00:00
|
|
|
fields.append('picture')
|
2020-02-16 23:58:49 +00:00
|
|
|
resource_class = ChildImportExportResource
|
|
|
|
|
|
|
|
|
2020-02-17 14:16:52 +00:00
|
|
|
class DiaperChangeImportExportResource(ImportExportResourceBase):
|
2020-02-16 23:58:49 +00:00
|
|
|
class Meta:
|
|
|
|
model = models.DiaperChange
|
2017-08-13 14:48:16 +00:00
|
|
|
|
|
|
|
|
2017-11-10 02:15:09 +00:00
|
|
|
@admin.register(models.DiaperChange)
|
2020-02-17 14:22:46 +00:00
|
|
|
class DiaperChangeAdmin(ImportExportMixin, ExportActionMixin,
|
|
|
|
admin.ModelAdmin):
|
2017-08-16 14:29:53 +00:00
|
|
|
list_display = ('child', 'time', 'wet', 'solid', 'color')
|
|
|
|
list_filter = ('child', 'wet', 'solid', 'color')
|
|
|
|
search_fields = ('child__first_name', 'child__last_name',)
|
2020-02-16 23:58:49 +00:00
|
|
|
resource_class = DiaperChangeImportExportResource
|
|
|
|
|
|
|
|
|
2020-02-17 14:16:52 +00:00
|
|
|
class FeedingImportExportResource(ImportExportResourceBase):
|
2020-02-16 23:58:49 +00:00
|
|
|
class Meta:
|
|
|
|
model = models.Feeding
|
2017-08-13 19:51:25 +00:00
|
|
|
|
|
|
|
|
2017-11-10 02:15:09 +00:00
|
|
|
@admin.register(models.Feeding)
|
2020-02-17 14:16:52 +00:00
|
|
|
class FeedingAdmin(ImportExportMixin, ExportActionMixin, admin.ModelAdmin):
|
2017-08-16 22:07:25 +00:00
|
|
|
list_display = ('start', 'end', 'duration', 'child', 'type', 'method',
|
|
|
|
'amount')
|
2017-08-16 14:29:53 +00:00
|
|
|
list_filter = ('child', 'type', 'method',)
|
2017-08-16 22:07:25 +00:00
|
|
|
search_fields = ('child__first_name', 'child__last_name', 'type',
|
|
|
|
'method',)
|
2020-02-16 23:58:49 +00:00
|
|
|
resource_class = FeedingImportExportResource
|
|
|
|
|
|
|
|
|
2020-02-17 14:16:52 +00:00
|
|
|
class NoteImportExportResource(ImportExportResourceBase):
|
2020-02-16 23:58:49 +00:00
|
|
|
class Meta:
|
|
|
|
model = models.Note
|
2017-08-13 15:59:14 +00:00
|
|
|
|
|
|
|
|
2017-11-10 02:15:09 +00:00
|
|
|
@admin.register(models.Note)
|
2020-02-17 14:16:52 +00:00
|
|
|
class NoteAdmin(ImportExportMixin, ExportActionMixin, admin.ModelAdmin):
|
2017-08-16 14:29:53 +00:00
|
|
|
list_display = ('time', 'child', 'note',)
|
|
|
|
list_filter = ('child',)
|
|
|
|
search_fields = ('child__last_name',)
|
2020-02-16 23:58:49 +00:00
|
|
|
resource_class = NoteImportExportResource
|
|
|
|
|
|
|
|
|
2020-02-17 14:16:52 +00:00
|
|
|
class SleepImportExportResource(ImportExportResourceBase):
|
2020-02-16 23:58:49 +00:00
|
|
|
class Meta:
|
|
|
|
model = models.Sleep
|
2017-08-13 20:48:16 +00:00
|
|
|
|
|
|
|
|
2017-11-10 02:15:09 +00:00
|
|
|
@admin.register(models.Sleep)
|
2020-02-17 14:16:52 +00:00
|
|
|
class SleepAdmin(ImportExportMixin, ExportActionMixin, admin.ModelAdmin):
|
2017-11-04 11:59:28 +00:00
|
|
|
list_display = ('start', 'end', 'duration', 'child', 'nap')
|
2017-08-16 14:29:53 +00:00
|
|
|
list_filter = ('child',)
|
|
|
|
search_fields = ('child__first_name', 'child__last_name',)
|
2020-02-16 23:58:49 +00:00
|
|
|
resource_class = SleepImportExportResource
|
|
|
|
|
|
|
|
|
2020-02-17 14:16:52 +00:00
|
|
|
class TemperatureImportExportResource(ImportExportResourceBase):
|
2020-02-16 23:58:49 +00:00
|
|
|
class Meta:
|
|
|
|
model = models.Temperature
|
2017-08-13 19:05:44 +00:00
|
|
|
|
|
|
|
|
2019-05-17 04:33:26 +00:00
|
|
|
@admin.register(models.Temperature)
|
2020-02-17 14:16:52 +00:00
|
|
|
class TemperatureAdmin(ImportExportMixin, ExportActionMixin, admin.ModelAdmin):
|
2019-05-17 04:33:26 +00:00
|
|
|
list_display = ('child', 'temperature', 'time',)
|
|
|
|
list_filter = ('child',)
|
|
|
|
search_fields = ('child__first_name', 'child__last_name', 'temperature',)
|
2020-02-16 23:58:49 +00:00
|
|
|
resource_class = TemperatureImportExportResource
|
2019-05-17 04:33:26 +00:00
|
|
|
|
|
|
|
|
2017-11-10 02:15:09 +00:00
|
|
|
@admin.register(models.Timer)
|
2017-08-16 22:33:02 +00:00
|
|
|
class TimerAdmin(admin.ModelAdmin):
|
2020-01-31 00:24:30 +00:00
|
|
|
list_display = ('name', 'child', 'start', 'end', 'duration', 'active',
|
|
|
|
'user')
|
|
|
|
list_filter = ('child', 'active', 'user')
|
|
|
|
search_fields = ('child__first_name', 'child__last_name', 'name', 'user')
|
2017-08-16 22:33:02 +00:00
|
|
|
|
|
|
|
|
2020-02-17 14:16:52 +00:00
|
|
|
class TummyTimeImportExportResource(ImportExportResourceBase):
|
2020-02-16 23:58:49 +00:00
|
|
|
class Meta:
|
|
|
|
model = models.TummyTime
|
|
|
|
|
|
|
|
|
2017-11-10 02:15:09 +00:00
|
|
|
@admin.register(models.TummyTime)
|
2020-02-17 14:16:52 +00:00
|
|
|
class TummyTimeAdmin(ImportExportMixin, ExportActionMixin, admin.ModelAdmin):
|
2017-08-16 14:29:53 +00:00
|
|
|
list_display = ('start', 'end', 'duration', 'child', 'milestone',)
|
|
|
|
list_filter = ('child',)
|
|
|
|
search_fields = ('child__first_name', 'child__last_name', 'milestone',)
|
2020-02-16 23:58:49 +00:00
|
|
|
resource_class = TummyTimeImportExportResource
|
|
|
|
|
|
|
|
|
2020-02-17 14:16:52 +00:00
|
|
|
class WeightImportExportResource(ImportExportResourceBase):
|
2020-02-16 23:58:49 +00:00
|
|
|
class Meta:
|
|
|
|
model = models.Weight
|
2017-11-10 02:15:09 +00:00
|
|
|
|
|
|
|
|
|
|
|
@admin.register(models.Weight)
|
2020-02-17 14:16:52 +00:00
|
|
|
class WeightAdmin(ImportExportMixin, ExportActionMixin, admin.ModelAdmin):
|
2017-11-10 02:15:09 +00:00
|
|
|
list_display = ('child', 'weight', 'date',)
|
|
|
|
list_filter = ('child',)
|
|
|
|
search_fields = ('child__first_name', 'child__last_name', 'weight',)
|
2020-02-16 23:58:49 +00:00
|
|
|
resource_class = WeightImportExportResource
|