voip announcement

This commit is contained in:
javad committed 2026-09-28 19:37:19 +03:30
1 parent 38b1cf06df
commit c7993aae44
18 files changed
+679 -151

No files matched your search

+20 -1
View File
@@ -1,4 +1,5 @@
from django.contrib import admin
from django import forms
from .models import PageTitle, ProductionSeedState, SiteBranding, VoipConfiguration
@@ -31,9 +32,27 @@ class SiteBrandingAdmin(admin.ModelAdmin):
@admin.register(VoipConfiguration)
class VoipConfigurationAdmin(admin.ModelAdmin):
fields = ("voip_call_url", "updated_at")
fields = ("voip_call_url", "announcement_url", "announcement_id", "announcement_api_key", "clear_announcement_api_key", "announcement_delay_minutes", "updated_at")
readonly_fields = ("updated_at",)
class ConfigurationForm(forms.ModelForm):
announcement_api_key = forms.CharField(
required=False, widget=forms.PasswordInput,
help_text="برای حفظ کلید فعلی خالی بگذارید؛ برای تغییر، کلید جدید را وارد کنید.",
)
clear_announcement_api_key = forms.BooleanField(required=False, label="حذف کلید فعلی")
class Meta:
model = VoipConfiguration
fields = "__all__"
def clean_announcement_api_key(self):
if self.data.get("clear_announcement_api_key"):
return ""
return self.cleaned_data["announcement_api_key"] or (self.instance.announcement_api_key if self.instance.pk else "")
form = ConfigurationForm
def has_add_permission(self, request):
return not VoipConfiguration.objects.exists()