11from django .contrib .auth .decorators import login_required
22from django .contrib .auth .mixins import LoginRequiredMixin
33from django .core .cache import cache
4- from django .forms .widgets import RadioSelect , Textarea
4+ from django .forms .widgets import RadioSelect , Textarea , HiddenInput
55from django .http import HttpResponse , JsonResponse
66from django .shortcuts import redirect , render
77from django .utils .safestring import mark_safe
@@ -149,6 +149,7 @@ def get_context_data(self, **kwargs):
149149 ctx ['templates' ] = self .request .user .available_templates
150150 ctx ['active_case' ] = self .active_case
151151 ctx ['is_editing' ] = False
152+ ctx ['is_used' ] = False
152153 return ctx
153154
154155 def form_valid (self , form ):
@@ -175,8 +176,19 @@ def get_context_data(self, **kwargs):
175176 ctx ['templates' ] = self .request .user .available_templates
176177 ctx ['active_case' ] = self .active_case
177178 ctx ['is_editing' ] = True
179+ ctx ['is_used' ] = len (self .get_object ().used_by ()) > 0
178180 return ctx
179181
182+ def get_form (self , form_class = None ):
183+ form = super (FeedTemplateUpdateView , self ).get_form (form_class )
184+ form .fields ['description' ].widget = Textarea (attrs = {'rows' : 2 , 'cols' : 20 })
185+ if len (self .get_object ().used_by ()) > 0 :
186+ form .fields ['visibility' ].widget = HiddenInput (
187+ attrs = {'name' : 'visibility' , 'value' : self .get_object ().visibility }
188+ )
189+ form .fields ['name' ].widget .attrs ['readonly' ] = 'readonly'
190+ return form
191+
180192
181193@login_required
182194def feed_template_live_editor_view (request , pk ):
0 commit comments