You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
161 lines
4.7 KiB
161 lines
4.7 KiB
# from django.contrib import admin
|
|
# from django.utils.translation import gettext_lazy as _
|
|
# from dj_category.admin import BaseCategoryAdmin
|
|
# from ajaxdatatable.admin import AjaxDatatable
|
|
# from django.http import JsonResponse
|
|
# from django.urls import path
|
|
# from django.db.models import Q
|
|
# from django.utils.safestring import mark_safe
|
|
# from django.forms.widgets import RadioSelect
|
|
|
|
# from apps.hadis.models import *
|
|
# from django import forms
|
|
# from utils.json_editor_field import JsonEditorWidget
|
|
|
|
# # Define color choices
|
|
# COLOR_CHOICES = [
|
|
# ('red', _('Red')),
|
|
# ('blue', _('Blue')),
|
|
# ('green', _('Green')),
|
|
# ('yellow', _('Yellow')),
|
|
# ('orange', _('Orange')),
|
|
# ('purple', _('Purple')),
|
|
# ('pink', _('Pink')),
|
|
# ('brown', _('Brown')),
|
|
# ('gray', _('Gray')),
|
|
# ('black', _('Black')),
|
|
# ]
|
|
|
|
# class ColorRadioSelect(RadioSelect):
|
|
# template_name = 'admin/widgets/color_radio.html'
|
|
# option_template_name = 'admin/widgets/color_radio_option.html'
|
|
|
|
|
|
# def get_links_schema():
|
|
# return {
|
|
# 'type': "array",
|
|
# 'format': 'table',
|
|
# 'title': ' ',
|
|
# 'items': {
|
|
# 'type': 'object',
|
|
# 'title': str(_('Link')),
|
|
# 'properties': {
|
|
# 'text': {'type': 'string', "format": "textarea",'title': str(_('text'))},
|
|
# 'link': {'type': 'string', "format": "textarea", 'title': str(_('link'))},
|
|
# }
|
|
# }
|
|
# }
|
|
|
|
# class HadisOverviewForm(forms.ModelForm):
|
|
# status_color = forms.ChoiceField(
|
|
# choices=COLOR_CHOICES,
|
|
# widget=ColorRadioSelect(),
|
|
# required=False
|
|
# )
|
|
|
|
# class Meta:
|
|
# model = HadisOverview
|
|
# fields = '__all__'
|
|
# widgets = {
|
|
# 'links': JsonEditorWidget(attrs={'schema': get_links_schema}),
|
|
# }
|
|
|
|
|
|
|
|
|
|
|
|
# @admin.register(HadisTag)
|
|
# class HadisTagAdmin(AjaxDatatable):
|
|
# list_display = ['title', 'status']
|
|
# search_fields = ['title']
|
|
|
|
|
|
# class ReferenceImageInline(admin.TabularInline):
|
|
# model = ReferenceImage
|
|
# extra = 1
|
|
# verbose_name_plural = _('Reference Images')
|
|
# fields = ('thumbnail', 'priority')
|
|
|
|
|
|
# @admin.register(HadisReference)
|
|
# class HadisReferenceAdmin(AjaxDatatable):
|
|
# list_display = ['hadis', 'book', 'created_at']
|
|
# list_filter = ['book']
|
|
# search_fields = ['hadis__title', 'hadis__number', 'description']
|
|
# autocomplete_fields = ['hadis', 'book']
|
|
# readonly_fields = ['created_at']
|
|
# inlines = [ReferenceImageInline]
|
|
# fieldsets = (
|
|
# (None, {
|
|
# 'fields': ('hadis', 'book', 'description')
|
|
# }),
|
|
# )
|
|
|
|
|
|
|
|
|
|
# @admin.register(HadisOverview)
|
|
# class HadisOverviewAdmin(AjaxDatatable):
|
|
# change_form_template = 'admin/hadisowerview_change_form.html'
|
|
# form = HadisOverviewForm
|
|
# ordering = ['hadis__number']
|
|
# list_display = ['hadis', 'status', 'created_at']
|
|
# search_fields = ['hadis__title', 'hadis__number', 'status_text',]
|
|
# autocomplete_fields = ['hadis', 'tags']
|
|
# fieldsets = (
|
|
# (None, {
|
|
# 'fields': ('hadis', 'status', 'status_color', 'status_text')
|
|
# }),
|
|
# (_('Reference Information'), {
|
|
# 'fields': ('address', 'share_link',),
|
|
# }),
|
|
# (_('Additional Information'), {
|
|
# 'fields': ('links', 'tags', 'created_at'),
|
|
# 'classes': ('collapse',),
|
|
# }),
|
|
# )
|
|
|
|
|
|
# class HadisOverviewInline(admin.StackedInline):
|
|
# change_form_template = 'admin/hadisowerview_change_form.html'
|
|
# form = HadisOverviewForm
|
|
# model = HadisOverview
|
|
# autocomplete_fields = ['tags', ]
|
|
# can_delete = False
|
|
# verbose_name_plural = _('Hadis Overview')
|
|
# fieldsets = (
|
|
# (None, {
|
|
# 'fields': ('status', 'status_color', 'status_text', 'address', 'share_link', 'links', 'tags',),
|
|
# }),
|
|
# )
|
|
# extra = 1
|
|
# min_num = 1
|
|
|
|
|
|
# @admin.register(Hadis)
|
|
# class HadisAdmin(AjaxDatatable):
|
|
# # form = HadisForm
|
|
# list_display = ['number', 'title', 'category', 'status', 'created_at']
|
|
# list_filter = ['status', 'category']
|
|
# search_fields = ['title', 'text', 'number']
|
|
# readonly_fields = ['created_at', 'updated_at']
|
|
# autocomplete_fields = ['category']
|
|
# inlines = [HadisOverviewInline]
|
|
# fieldsets = (
|
|
# (None, {
|
|
# 'fields': ('number', 'title', 'category', 'status')
|
|
# }),
|
|
# (_('Content'), {
|
|
# 'fields': ('text', 'translation'),
|
|
# 'classes': ('collapse',),
|
|
# }),
|
|
# )
|
|
|
|
|
|
# def get_form(self, request, obj=None, **kwargs):
|
|
# form = super().get_form(request, obj, **kwargs)
|
|
# if obj is None:
|
|
# form.base_fields['category'].widget.can_add_related = False
|
|
|
|
# return form
|
|
|