summaryrefslogtreecommitdiffstats
path: root/core/admin.py
diff options
context:
space:
mode:
authorSam Wenham <sam@wenhams.co.uk>2019-02-23 15:30:58 +0000
committerSam Wenham <sam@wenhams.co.uk>2019-02-23 15:30:58 +0000
commita1f02e575f6c379fd1a66cbfdefe8b9f29800297 (patch)
tree5f9f1791ea31f765974087ae879f248f3a3c18be /core/admin.py
parentf58b1db9208b5a7509699b2a34f70fb275fb8b65 (diff)
downloadtroggle-a1f02e575f6c379fd1a66cbfdefe8b9f29800297.tar.gz
troggle-a1f02e575f6c379fd1a66cbfdefe8b9f29800297.tar.bz2
troggle-a1f02e575f6c379fd1a66cbfdefe8b9f29800297.zip
Prevent troggle adding the menu if there is one in the file
Add a Docker compose file to bring up a dev troggle easily Various PEP improvments
Diffstat (limited to 'core/admin.py')
-rw-r--r--core/admin.py21
1 files changed, 19 insertions, 2 deletions
diff --git a/core/admin.py b/core/admin.py
index 305613c..a8ce55f 100644
--- a/core/admin.py
+++ b/core/admin.py
@@ -18,41 +18,50 @@ class TroggleModelAdmin(admin.ModelAdmin):
class Media:
js = ('jquery/jquery.min.js','js/QM_helper.js')
+
class RoleInline(admin.TabularInline):
model = SurvexPersonRole
extra = 4
+
class SurvexBlockAdmin(TroggleModelAdmin):
inlines = (RoleInline,)
+
class ScannedImageInline(admin.TabularInline):
model = ScannedImage
extra = 4
+
class OtherCaveInline(admin.TabularInline):
model = OtherCaveName
extra = 1
+
class SurveyAdmin(TroggleModelAdmin):
inlines = (ScannedImageInline,)
search_fields = ('expedition__year','wallet_number')
+
class QMsFoundInline(admin.TabularInline):
model=QM
fk_name='found_by'
fields=('number','grade','location_description','comment')#need to add foreignkey to cave part
extra=1
+
class PhotoInline(admin.TabularInline):
model = DPhoto
exclude = ['is_mugshot' ]
extra = 1
+
class PersonTripInline(admin.TabularInline):
model = PersonTrip
raw_id_fields = ('personexpedition',)
extra = 1
+
#class LogbookEntryAdmin(VersionAdmin):
class LogbookEntryAdmin(TroggleModelAdmin):
prepopulated_fields = {'slug':("title",)}
@@ -72,17 +81,18 @@ class LogbookEntryAdmin(TroggleModelAdmin):
def export_logbook_entries_as_txt(modeladmin, request, queryset):
response=downloadLogbook(request=request, queryset=queryset, extension='txt')
return response
-
-
+
class PersonExpeditionInline(admin.TabularInline):
model = PersonExpedition
extra = 1
+
class PersonAdmin(TroggleModelAdmin):
search_fields = ('first_name','last_name')
inlines = (PersonExpeditionInline,)
+
class QMAdmin(TroggleModelAdmin):
search_fields = ('found_by__cave__kataster_number','number','found_by__date')
list_display = ('__unicode__','grade','found_by','ticked_off_by')
@@ -91,17 +101,21 @@ class QMAdmin(TroggleModelAdmin):
list_per_page = 20
raw_id_fields=('found_by','ticked_off_by')
+
class PersonExpeditionAdmin(TroggleModelAdmin):
search_fields = ('person__first_name','expedition__year')
+
class CaveAdmin(TroggleModelAdmin):
search_fields = ('official_name','kataster_number','unofficial_number')
inlines = (OtherCaveInline,)
extra = 4
+
class EntranceAdmin(TroggleModelAdmin):
search_fields = ('caveandentrance__cave__kataster_number',)
+
admin.site.register(DPhoto)
admin.site.register(Cave, CaveAdmin)
admin.site.register(Area)
@@ -125,17 +139,20 @@ admin.site.register(SurvexStation)
admin.site.register(SurvexScansFolder)
admin.site.register(SurvexScanSingle)
+
def export_as_json(modeladmin, request, queryset):
response = HttpResponse(mimetype="text/json")
response['Content-Disposition'] = 'attachment; filename=troggle_output.json'
serializers.serialize("json", queryset, stream=response)
return response
+
def export_as_xml(modeladmin, request, queryset):
response = HttpResponse(mimetype="text/xml")
response['Content-Disposition'] = 'attachment; filename=troggle_output.xml'
serializers.serialize("xml", queryset, stream=response)
return response
+
#admin.site.add_action(export_as_xml)
#admin.site.add_action(export_as_json)