from django.contrib import admin
+from django.conf.urls.defaults import patterns
+from django.views.generic.simple import direct_to_template
+from django.http import HttpResponse
+from django.shortcuts import redirect
+from django.contrib import messages
+
+
+from feincms.translations import admin_translationinline, short_language_code
+
from cloudcms import models
class ApplicationAdmin(admin.ModelAdmin):
- raw_id_fields = ('logo', )
+ raw_id_fields = ('logo', 'favicon')
+
+
+class ClientVersionSourceAdminInline(admin.StackedInline):
+ model = models.ClientVersionSource
+ raw_id_fields = ('logo',)
+ extra = 1
+
+
+class ClientAdmin(admin.ModelAdmin):
+ inlines = [ClientVersionSourceAdminInline]
+
+
+ServiceTranslationInline = admin_translationinline(models.ServiceTranslation,
+ prepopulated_fields={'slug': ('title',)})
+
+class ServiceAdmin(admin.ModelAdmin):
+ inlines = [ServiceTranslationInline]
admin.site.register(models.Application, ApplicationAdmin)
+admin.site.register(models.Client, ClientAdmin)
+admin.site.register(models.Service, ServiceAdmin)
+
+
+from cloudcms.forms import RstZipImportForm
+
+def import_from_sphinx(request):
+ if not request.user.is_superuser:
+ return HttpResponse(status=401)
+
+ context = {}
+ form = RstZipImportForm()
+
+ if request.GET.get('form_saved'):
+ context['save_log'] = request.session.get('save_log')
+ else:
+ if request.session.get('save_log'):
+ del request.session['save_log']
+
+ if request.method == 'POST':
+ form = RstZipImportForm(request.POST, request.FILES)
+ if form.is_valid():
+ try:
+ saved, log = form.save(request.user)
+ if saved:
+ messages.add_message(request, messages.INFO, 'Form saved')
+ request.session['save_log'] = log.replace("\n", "<br />")
+ return redirect('/cmsmanage/rstimport/' + '?form_saved=1')
+ else:
+ messages.add_message(request, messages.ERROR, 'Form failed')
+ context['save_log'] = log.replace("\n", "<br />")
+ except Exception, e:
+ context['save_log'] = e
+
+ else:
+ context['error'] = True
+
+ context['form'] = form
+
+ return direct_to_template(request, 'cms/admin_import_guide_faq.html', context)
+
+sphinx_import = admin.site.admin_view(import_from_sphinx)