mirror of
https://github.com/django-helpdesk/django-helpdesk.git
synced 2025-02-02 11:30:02 +01:00
fix(kb): no db
This commit is contained in:
parent
909b7a5533
commit
347a70e497
@ -1,10 +1,13 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from helpdesk.models import Queue, Ticket, FollowUp, PreSetReply, KBCategory
|
from helpdesk.models import Queue, Ticket, FollowUp, PreSetReply
|
||||||
from helpdesk.models import EscalationExclusion, EmailTemplate, KBItem
|
from helpdesk.models import EscalationExclusion, EmailTemplate
|
||||||
from helpdesk.models import TicketChange, KBIAttachment, FollowUpAttachment, IgnoreEmail
|
from helpdesk.models import TicketChange, KBIAttachment, FollowUpAttachment, IgnoreEmail
|
||||||
from helpdesk.models import CustomField
|
from helpdesk.models import CustomField
|
||||||
|
from helpdesk import settings as helpdesk_settings
|
||||||
|
if helpdesk_settings.HELPDESK_KB_ENABLED:
|
||||||
|
from helpdesk.models import KBCategory
|
||||||
|
from helpdesk.models import KBItem
|
||||||
|
|
||||||
@admin.register(Queue)
|
@admin.register(Queue)
|
||||||
class QueueAdmin(admin.ModelAdmin):
|
class QueueAdmin(admin.ModelAdmin):
|
||||||
@ -68,14 +71,19 @@ class FollowUpAdmin(admin.ModelAdmin):
|
|||||||
ticket_get_ticket_for_url.short_description = _('Slug')
|
ticket_get_ticket_for_url.short_description = _('Slug')
|
||||||
|
|
||||||
|
|
||||||
@admin.register(KBItem)
|
if helpdesk_settings.HELPDESK_KB_ENABLED:
|
||||||
class KBItemAdmin(admin.ModelAdmin):
|
@admin.register(KBItem)
|
||||||
|
class KBItemAdmin(admin.ModelAdmin):
|
||||||
list_display = ('category', 'title', 'last_updated', 'team', 'order', 'enabled')
|
list_display = ('category', 'title', 'last_updated', 'team', 'order', 'enabled')
|
||||||
inlines = [KBIAttachmentInline]
|
inlines = [KBIAttachmentInline]
|
||||||
readonly_fields = ('voted_by', 'downvoted_by')
|
readonly_fields = ('voted_by', 'downvoted_by')
|
||||||
|
|
||||||
list_display_links = ('title',)
|
list_display_links = ('title',)
|
||||||
|
|
||||||
|
@admin.register(KBCategory)
|
||||||
|
class KBCategoryAdmin(admin.ModelAdmin):
|
||||||
|
list_display = ('name', 'title', 'slug', 'public')
|
||||||
|
|
||||||
|
|
||||||
@admin.register(CustomField)
|
@admin.register(CustomField)
|
||||||
class CustomFieldAdmin(admin.ModelAdmin):
|
class CustomFieldAdmin(admin.ModelAdmin):
|
||||||
@ -93,10 +101,5 @@ class IgnoreEmailAdmin(admin.ModelAdmin):
|
|||||||
list_display = ('name', 'queue_list', 'email_address', 'keep_in_mailbox')
|
list_display = ('name', 'queue_list', 'email_address', 'keep_in_mailbox')
|
||||||
|
|
||||||
|
|
||||||
@admin.register(KBCategory)
|
|
||||||
class KBCategoryAdmin(admin.ModelAdmin):
|
|
||||||
list_display = ('name', 'title', 'slug', 'public')
|
|
||||||
|
|
||||||
|
|
||||||
admin.site.register(PreSetReply)
|
admin.site.register(PreSetReply)
|
||||||
admin.site.register(EscalationExclusion)
|
admin.site.register(EscalationExclusion)
|
||||||
|
@ -18,9 +18,13 @@ from django.utils import timezone
|
|||||||
|
|
||||||
from helpdesk.lib import safe_template_context, process_attachments
|
from helpdesk.lib import safe_template_context, process_attachments
|
||||||
from helpdesk.models import (Ticket, Queue, FollowUp, IgnoreEmail, TicketCC,
|
from helpdesk.models import (Ticket, Queue, FollowUp, IgnoreEmail, TicketCC,
|
||||||
CustomField, TicketCustomFieldValue, TicketDependency, UserSettings, KBItem)
|
CustomField, TicketCustomFieldValue, TicketDependency, UserSettings)
|
||||||
from helpdesk import settings as helpdesk_settings
|
from helpdesk import settings as helpdesk_settings
|
||||||
|
|
||||||
|
|
||||||
|
if helpdesk_settings.HELPDESK_KB_ENABLED:
|
||||||
|
from helpdesk.models import (KBItem)
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
User = get_user_model()
|
User = get_user_model()
|
||||||
|
|
||||||
@ -231,6 +235,7 @@ class AbstractTicketForm(CustomFieldMixin, forms.Form):
|
|||||||
|
|
||||||
def __init__(self, kbcategory=None, *args, **kwargs):
|
def __init__(self, kbcategory=None, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
if helpdesk_settings.HELPDESK_KB_ENABLED:
|
||||||
if kbcategory:
|
if kbcategory:
|
||||||
self.fields['kbitem'] = forms.ChoiceField(
|
self.fields['kbitem'] = forms.ChoiceField(
|
||||||
widget=forms.Select(attrs={'class': 'form-control'}),
|
widget=forms.Select(attrs={'class': 'form-control'}),
|
||||||
|
@ -1275,8 +1275,8 @@ class EmailTemplate(models.Model):
|
|||||||
verbose_name = _('e-mail template')
|
verbose_name = _('e-mail template')
|
||||||
verbose_name_plural = _('e-mail templates')
|
verbose_name_plural = _('e-mail templates')
|
||||||
|
|
||||||
|
if helpdesk_settings.HELPDESK_KB_ENABLED:
|
||||||
class KBCategory(models.Model):
|
class KBCategory(models.Model):
|
||||||
"""
|
"""
|
||||||
Lets help users help themselves: the Knowledge Base is a categorised
|
Lets help users help themselves: the Knowledge Base is a categorised
|
||||||
listing of questions & answers.
|
listing of questions & answers.
|
||||||
@ -1326,7 +1326,7 @@ class KBCategory(models.Model):
|
|||||||
return reverse('helpdesk:kb_category', kwargs={'slug': self.slug})
|
return reverse('helpdesk:kb_category', kwargs={'slug': self.slug})
|
||||||
|
|
||||||
|
|
||||||
class KBItem(models.Model):
|
class KBItem(models.Model):
|
||||||
"""
|
"""
|
||||||
An item within the knowledgebase. Very straightforward question/answer
|
An item within the knowledgebase. Very straightforward question/answer
|
||||||
style system.
|
style system.
|
||||||
|
@ -14,7 +14,13 @@ from django.views.generic import TemplateView
|
|||||||
|
|
||||||
from helpdesk.decorators import helpdesk_staff_member_required, protect_view
|
from helpdesk.decorators import helpdesk_staff_member_required, protect_view
|
||||||
from helpdesk import settings as helpdesk_settings
|
from helpdesk import settings as helpdesk_settings
|
||||||
from helpdesk.views import feeds, staff, public, kb, login
|
from helpdesk.views import feeds, staff, public, login
|
||||||
|
from helpdesk import settings as helpdesk_settings
|
||||||
|
|
||||||
|
|
||||||
|
if helpdesk_settings.HELPDESK_KB_ENABLED:
|
||||||
|
from helpdesk.views import kb
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# TODO: why is it imported? due to some side-effect or by mistake?
|
# TODO: why is it imported? due to some side-effect or by mistake?
|
||||||
import helpdesk.tasks # NOQA
|
import helpdesk.tasks # NOQA
|
||||||
|
@ -50,9 +50,12 @@ from helpdesk.lib import (
|
|||||||
)
|
)
|
||||||
from helpdesk.models import (
|
from helpdesk.models import (
|
||||||
Ticket, Queue, FollowUp, TicketChange, PreSetReply, FollowUpAttachment, SavedSearch,
|
Ticket, Queue, FollowUp, TicketChange, PreSetReply, FollowUpAttachment, SavedSearch,
|
||||||
IgnoreEmail, TicketCC, TicketDependency, UserSettings, KBItem, CustomField, TicketCustomFieldValue,
|
IgnoreEmail, TicketCC, TicketDependency, UserSettings, CustomField, TicketCustomFieldValue,
|
||||||
)
|
)
|
||||||
from helpdesk import settings as helpdesk_settings
|
from helpdesk import settings as helpdesk_settings
|
||||||
|
if helpdesk_settings.HELPDESK_KB_ENABLED:
|
||||||
|
from helpdesk.models import (KBItem)
|
||||||
|
|
||||||
import helpdesk.views.abstract_views as abstract_views
|
import helpdesk.views.abstract_views as abstract_views
|
||||||
from helpdesk.views.permissions import MustBeStaffMixin
|
from helpdesk.views.permissions import MustBeStaffMixin
|
||||||
from ..lib import format_time_spent
|
from ..lib import format_time_spent
|
||||||
|
Loading…
Reference in New Issue
Block a user