2013-05-18 14:40:18 +00:00
|
|
|
import os
|
2013-05-14 12:59:12 +00:00
|
|
|
|
|
|
|
|
from django.conf import settings
|
2013-05-18 12:36:14 +00:00
|
|
|
from django.forms.models import modelform_factory
|
2013-05-18 13:43:44 +00:00
|
|
|
from django.views import generic
|
2013-05-18 14:40:18 +00:00
|
|
|
from django.db import models
|
2013-05-14 12:59:12 +00:00
|
|
|
|
|
|
|
|
from braces.views import LoginRequiredMixin, StaffuserRequiredMixin
|
2013-05-18 08:47:53 +00:00
|
|
|
|
2013-05-14 12:59:12 +00:00
|
|
|
from .utils import get_admin2s
|
|
|
|
|
|
2013-05-14 14:56:29 +00:00
|
|
|
ADMIN2_THEME_DIRECTORY = getattr(settings, "ADMIN2_THEME_DIRECTORY", "admin2/bootstrap")
|
2013-05-14 12:59:12 +00:00
|
|
|
|
2013-05-18 14:40:18 +00:00
|
|
|
class Admin2Mixin(object):
|
2013-05-18 15:08:03 +00:00
|
|
|
modeladmin = None
|
|
|
|
|
|
2013-05-18 12:36:14 +00:00
|
|
|
def get_template_names(self):
|
2013-05-18 14:40:18 +00:00
|
|
|
return [os.path.join(ADMIN2_THEME_DIRECTORY, self.default_template_name)]
|
2013-05-18 12:36:14 +00:00
|
|
|
|
|
|
|
|
def get_model(self):
|
2013-05-18 13:43:44 +00:00
|
|
|
return self.model
|
2013-05-18 12:36:14 +00:00
|
|
|
|
|
|
|
|
def get_queryset(self):
|
|
|
|
|
return self.get_model()._default_manager.all()
|
|
|
|
|
|
2013-05-18 14:40:18 +00:00
|
|
|
def get_form_class(self):
|
|
|
|
|
if self.form_class is not None:
|
|
|
|
|
return self.form_class
|
|
|
|
|
return modelform_factory(self.get_model())
|
2013-05-18 12:36:14 +00:00
|
|
|
|
|
|
|
|
|
2013-05-18 14:40:18 +00:00
|
|
|
class IndexView(Admin2Mixin, generic.ListView):
|
|
|
|
|
default_template_name = "index.html"
|
2013-05-18 12:36:14 +00:00
|
|
|
|
|
|
|
|
def get_queryset(self):
|
2013-05-18 14:40:18 +00:00
|
|
|
return get_admin2s()
|
2013-05-17 22:15:45 +00:00
|
|
|
|
|
|
|
|
|
2013-05-18 14:40:18 +00:00
|
|
|
class ModelListView(Admin2Mixin, generic.ListView):
|
|
|
|
|
default_template_name = "model_list.html"
|
2013-05-17 22:15:45 +00:00
|
|
|
|
|
|
|
|
|
2013-05-18 14:40:18 +00:00
|
|
|
class ModelDetailView(Admin2Mixin, generic.DetailView):
|
|
|
|
|
default_template_name = "model_detail.html"
|
2013-05-18 13:43:44 +00:00
|
|
|
|
2013-05-18 12:36:14 +00:00
|
|
|
|
2013-05-18 14:40:18 +00:00
|
|
|
class ModelEditFormView(Admin2Mixin, generic.UpdateView):
|
|
|
|
|
form_class = None
|
|
|
|
|
success_url = "../../"
|
|
|
|
|
default_template_name = "model_edit_form.html"
|
2013-05-18 07:06:40 +00:00
|
|
|
|
2013-05-18 12:36:14 +00:00
|
|
|
|
2013-05-18 14:40:18 +00:00
|
|
|
class ModelAddFormView(Admin2Mixin, generic.CreateView):
|
2013-05-18 12:36:14 +00:00
|
|
|
form_class = None
|
|
|
|
|
success_url = "../"
|
2013-05-18 14:40:18 +00:00
|
|
|
default_template_name = "model_add_form.html"
|
2013-05-18 12:36:14 +00:00
|
|
|
|
2013-05-17 22:15:45 +00:00
|
|
|
|
2013-05-18 14:40:18 +00:00
|
|
|
class ModelDeleteView(Admin2Mixin, generic.DeleteView):
|
2013-05-18 12:36:14 +00:00
|
|
|
success_url = "../../"
|
2013-05-18 14:40:18 +00:00
|
|
|
default_template_name = "model_delete.html"
|