diff options
author | Jiri Tomasek <jtomasek@redhat.com> | 2015-02-26 14:30:06 +0100 |
---|---|---|
committer | Jiri Tomasek <jtomasek@redhat.com> | 2015-03-03 11:13:23 +0100 |
commit | 1ec94e28738cdf643368f8a5ccaff265122e4e78 (patch) | |
tree | 71496c84ff3013f8102b4e05c842e748024568cf | |
parent | 53340993938de23ac747fa8aecf38b2be41e79da (diff) | |
download | tuskar-ui-1ec94e28738cdf643368f8a5ccaff265122e4e78.tar.gz |
Sync common parameters across roles when updating plan
Change-Id: I68b0d4d49001af4913bf6823c55ec96f368dbe22
-rw-r--r-- | tuskar_ui/infrastructure/parameters/forms.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tuskar_ui/infrastructure/parameters/forms.py b/tuskar_ui/infrastructure/parameters/forms.py index 1ee021f3..1992785c 100644 --- a/tuskar_ui/infrastructure/parameters/forms.py +++ b/tuskar_ui/infrastructure/parameters/forms.py @@ -125,6 +125,7 @@ class AdvancedEditServiceConfig(ServiceConfig): def handle(self, request, data): plan = api.tuskar.Plan.get_the_plan(self.request) + data = self._sync_common_params_across_roles(plan, data) try: plan.patch(request, plan.uuid, data) @@ -140,6 +141,16 @@ class AdvancedEditServiceConfig(ServiceConfig): _("Service configuration updated.")) return True + @staticmethod + def _sync_common_params_across_roles(plan, parameters_dict): + for (p_key, p_value) in parameters_dict.iteritems(): + for role in plan.role_list: + role_parameter_key = (role.parameter_prefix + + api.tuskar.strip_prefix(p_key)) + if role_parameter_key in parameters_dict: + parameters_dict[role_parameter_key] = p_value + return parameters_dict + class SimpleEditServiceConfig(horizon.forms.SelfHandlingForm): virt_type = django.forms.ChoiceField( |