From 142c9f97aea6c4ffd0da9fbc3a04633349f2ca29 Mon Sep 17 00:00:00 2001 From: jorgepastorr Date: Thu, 2 May 2024 21:21:33 +0200 Subject: [PATCH] musician reload webapp options after save webappoption --- orchestra/contrib/musician/forms.py | 18 +++++++++--------- orchestra/contrib/musician/views.py | 6 ++++++ orchestra/contrib/webapps/backends/__init__.py | 4 ++-- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/orchestra/contrib/musician/forms.py b/orchestra/contrib/musician/forms.py index 9aab88ca..2ae82134 100644 --- a/orchestra/contrib/musician/forms.py +++ b/orchestra/contrib/musician/forms.py @@ -227,10 +227,17 @@ class WebappOptionForm(forms.ModelForm): super().__init__(*args, **kwargs) self.webapp = self.instance.webapp - target = 'this.id.replace("name", "value")' self.fields['name'].widget.attrs = DynamicHelpTextSelect(target, self.OPTIONS_HELP_TEXT).attrs - + + def save(self, commit=True): + instance = super().save(commit=False) + instance.webapp = self.webapp + if commit: + super().save(commit=True) + self.webapp.save() + return instance + class WebappOptionCreateForm(WebappOptionForm): @@ -244,13 +251,6 @@ class WebappOptionCreateForm(WebappOptionForm): choices[grupo] = (opciones[0], nueva_lista) self.fields['name'].widget.choices = choices - def save(self, commit=True): - instance = super().save(commit=False) - instance.webapp = self.webapp - if commit: - super().save(commit=True) - return instance - def clean(self): cleaned_data = super().clean() name = self.cleaned_data.get("name") diff --git a/orchestra/contrib/musician/views.py b/orchestra/contrib/musician/views.py index 9d17debd..7e65ca73 100644 --- a/orchestra/contrib/musician/views.py +++ b/orchestra/contrib/musician/views.py @@ -734,6 +734,12 @@ class WebappDeleteOptionView(CustomContextMixin, UserTokenRequiredMixin, DeleteV def get_success_url(self): return reverse_lazy("musician:webapp-detail", kwargs={"pk": self.kwargs["pk"]}) + def delete(self, request, *args, **kwargs): + object = self.get_object() + response = super().delete(request, *args, **kwargs) + object.webapp.save() + return response + class WebappUpdateOptionView(CustomContextMixin, UserTokenRequiredMixin, UpdateView): model = WebAppOption diff --git a/orchestra/contrib/webapps/backends/__init__.py b/orchestra/contrib/webapps/backends/__init__.py index 597db034..e4b27a92 100644 --- a/orchestra/contrib/webapps/backends/__init__.py +++ b/orchestra/contrib/webapps/backends/__init__.py @@ -42,8 +42,8 @@ class WebAppServiceMixin(object): # cambios de permisos en servidores nuevos perms = Template(textwrap.dedent("""\ {% if sftpuser %} - chown -R {{ sftpuser }}:{{ sftpuser }} {{ app_path }}/* {% else %} - chown -R {{ user }}:{{ group }} {{ app_path }}/* + chown -R {{ sftpuser }}:{{ sftpuser }} {{ app_path }} {% else %} + chown -R {{ user }}:{{ group }} {{ app_path }} {% endif %} """ ))