2016-08-10 20:23:17 +00:00
|
|
|
from django.contrib import admin
|
2016-10-04 20:36:08 +00:00
|
|
|
from guardian.admin import GuardedModelAdmin
|
2017-07-21 20:48:01 +00:00
|
|
|
|
|
|
|
from app.models import Preset
|
2017-11-06 18:45:14 +00:00
|
|
|
from .models import Project, Task, ImageUpload, Setting, Theme
|
2017-11-06 22:43:47 +00:00
|
|
|
from django import forms
|
|
|
|
from codemirror2.widgets import CodeMirrorEditor
|
2016-10-04 20:36:08 +00:00
|
|
|
|
2016-10-12 22:18:37 +00:00
|
|
|
admin.site.register(Project, GuardedModelAdmin)
|
2017-07-10 17:32:36 +00:00
|
|
|
|
|
|
|
class TaskAdmin(admin.ModelAdmin):
|
|
|
|
def has_add_permission(self, request):
|
|
|
|
return False
|
|
|
|
admin.site.register(Task, TaskAdmin)
|
2016-10-13 20:28:32 +00:00
|
|
|
|
|
|
|
class ImageUploadAdmin(admin.ModelAdmin):
|
|
|
|
readonly_fields = ('image',)
|
|
|
|
admin.site.register(ImageUpload, ImageUploadAdmin)
|
2017-07-21 20:48:01 +00:00
|
|
|
|
|
|
|
admin.site.register(Preset, admin.ModelAdmin)
|
|
|
|
|
2017-11-06 18:45:14 +00:00
|
|
|
|
|
|
|
class SettingAdmin(admin.ModelAdmin):
|
2017-11-06 22:43:47 +00:00
|
|
|
|
|
|
|
|
2017-11-06 18:45:14 +00:00
|
|
|
def has_add_permission(self, request):
|
|
|
|
# if there's already an entry, do not allow adding
|
|
|
|
count = Setting.objects.all().count()
|
|
|
|
return count == 0
|
|
|
|
|
|
|
|
admin.site.register(Setting, SettingAdmin)
|
2017-11-06 22:43:47 +00:00
|
|
|
|
|
|
|
|
|
|
|
class ThemeModelForm(forms.ModelForm):
|
|
|
|
css = forms.CharField(help_text="Enter custom CSS",
|
|
|
|
required=False,
|
|
|
|
widget=CodeMirrorEditor(options={'mode': 'css', 'lineNumbers': True}))
|
|
|
|
html_before_header = forms.CharField(help_text="HTML that will be displayed above site header",
|
|
|
|
required=False,
|
|
|
|
widget=CodeMirrorEditor(options={'mode': 'xml', 'lineNumbers': True}))
|
|
|
|
html_after_header = forms.CharField(help_text="HTML that will be displayed after site header",
|
|
|
|
required=False,
|
|
|
|
widget=CodeMirrorEditor(options={'mode': 'xml', 'lineNumbers': True}))
|
|
|
|
html_after_body = forms.CharField(help_text="HTML that will be displayed after the </body> tag",
|
|
|
|
required=False,
|
|
|
|
widget=CodeMirrorEditor(options={'mode': 'xml', 'lineNumbers': True}))
|
2017-11-07 16:54:01 +00:00
|
|
|
html_footer = forms.CharField(help_text="HTML that will be displayed in the footer. You can also use the special tags:"
|
|
|
|
"<p class='help'>{ORGANIZATION}: show a link to your organization.</p>"
|
|
|
|
"<p class='help'>{YEAR}: show current year</p>",
|
2017-11-06 22:43:47 +00:00
|
|
|
required=False,
|
|
|
|
widget=CodeMirrorEditor(options={'mode': 'xml', 'lineNumbers': True}))
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
model = Theme
|
|
|
|
fields = '__all__'
|
|
|
|
|
|
|
|
|
|
|
|
class ThemeAdmin(admin.ModelAdmin):
|
|
|
|
form = ThemeModelForm
|
|
|
|
|
2017-11-07 21:48:27 +00:00
|
|
|
|
2017-11-06 22:43:47 +00:00
|
|
|
admin.site.register(Theme, ThemeAdmin)
|