# You should have received a copy of the GNU Affero General Public License # along with Inboxen. If not, see <http://www.gnu.org/licenses/>. ## from django.contrib import admin from django.contrib.auth import get_user_model from django.db.models import Q from blog import models from inboxen.admin import site class BlogAdmin(admin.ModelAdmin): list_display = ("subject", "author", "date", "published") readonly_fields = ("rendered_body", "date", "modified") def published(self, obj): return not obj.draft published.short_description = "Published?" published.boolean = True def formfield_for_foreignkey(self, db_field, request, **kwargs): if db_field.name == 'author': kwargs["initial"] = request.user.id kwargs["queryset"] = get_user_model().objects.filter(Q(is_staff=True) | Q(is_superuser=True)) return super(BlogAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs) site.register(models.BlogPost, BlogAdmin)
from tickets import models from inboxen.admin import site class ResponseInline(admin.TabularInline): model = models.Response extra = 0 readonly_fields = ("render_body", "date",) def formfield_for_foreignkey(self, db_field, request, **kwargs): if db_field.name == 'author': kwargs["initial"] = request.user.id kwargs["queryset"] = get_user_model().objects.filter(Q(is_staff=True) | Q(is_superuser=True)) return super(ResponseInline, self).formfield_for_foreignkey(db_field, request, **kwargs) class QuestionAdmin(admin.ModelAdmin): actions = None list_display = ("subject", "author", "status") inlines = (ResponseInline,) readonly_fields = ("date", "last_modified", "render_body") def get_readonly_fields(self, request, obj=None): if obj is not None: return self.readonly_fields + ("author", "body", "subject") return self.readonly_fields site.register(models.Question, QuestionAdmin)
from django.contrib.auth import get_user_model from django.db.models import Q from termsofservice import models from inboxen.admin import site class TOSAdmin(admin.ModelAdmin): list_display = ("published", "last_modified") readonly_fields = ("rendered_text", "last_modified", "diff") exclude = ("diff", ) def get_readonly_fields(self, request, obj=None): if obj is not None and obj.published: return self.readonly_fields + ("text", ) return self.readonly_fields class StaffProfileAdmin(admin.ModelAdmin): readonly_fields = ("rendered_bio", ) def formfield_for_foreignkey(self, db_field, request, **kwargs): if db_field.name == 'user': kwargs["initial"] = request.user.id kwargs["queryset"] = get_user_model().objects.filter(Q(is_staff=True) | Q(is_superuser=True)) return super(StaffProfileAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs) site.register(models.TOS, TOSAdmin) site.register(models.StaffProfile, StaffProfileAdmin)