Skip to content

Commit 07fa40b

Browse files
committed
Template name and visibility cannot be edited if the template is used by others
Signed-off-by: U039b <esther@pts-project.org>
1 parent 68788de commit 07fa40b

2 files changed

Lines changed: 14 additions & 2 deletions

File tree

colander/core/views/export_feeds_views.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from django.contrib.auth.decorators import login_required
22
from django.contrib.auth.mixins import LoginRequiredMixin
33
from django.core.cache import cache
4-
from django.forms.widgets import RadioSelect, Textarea
4+
from django.forms.widgets import RadioSelect, Textarea, HiddenInput
55
from django.http import HttpResponse, JsonResponse
66
from django.shortcuts import redirect, render
77
from 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
182194
def feed_template_live_editor_view(request, pk):

colander/templates/pages/feeds/template.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ <h2>{% translate "New template" %}</h2>
1919
<div class="row justify-content-center">
2020
<div class="col-md-6">
2121
{{ form.name|as_crispy_field }}
22-
{{ form.description|as_crispy_field }}
2322
{{ form.visibility|as_crispy_field }}
23+
{{ form.description|as_crispy_field }}
2424
{% if is_editing %}
2525
<button class="btn btn-primary" type="submit" name="save_feed">{% translate "Update" %}</button>
2626
{% else %}

0 commit comments

Comments
 (0)