From 7283fdfaefe3542d1349e0971d224c0d0c0aefbb Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Tue, 2 Sep 2014 00:37:36 -0400 Subject: [PATCH] update slice prefix in slice name field when site is changed slice create page --- planetstack/core/admin.py | 6 ++++++ .../templates/admin/core/slice/change_form.html | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/planetstack/core/admin.py b/planetstack/core/admin.py index 62aa96a..9e88581 100644 --- a/planetstack/core/admin.py +++ b/planetstack/core/admin.py @@ -755,13 +755,19 @@ class SliceAdmin(PlanetStackBaseAdmin): for node in Node.objects.all(): deployment_nodes.append( (node.deployment.id, node.id, node.name) ) + sites = {} + for site in Site.objects.all(): + sites[site.id] = site.login_base + context["deployment_nodes"] = deployment_nodes + context["sites"] = sites return super(SliceAdmin, self).render_change_form(request, context, add, change, form_url, obj) def formfield_for_foreignkey(self, db_field, request, **kwargs): if db_field.name == 'site': kwargs['queryset'] = Site.select_by_user(request.user) + kwargs['widget'] = forms.Select(attrs={'onChange': "update_slice_name(this, $($(this).closest('div')[0]).find('.field-name input')[0].id)"}) return super(SliceAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs) diff --git a/planetstack/templates/admin/core/slice/change_form.html b/planetstack/templates/admin/core/slice/change_form.html index c94b580..e97364b 100644 --- a/planetstack/templates/admin/core/slice/change_form.html +++ b/planetstack/templates/admin/core/slice/change_form.html @@ -8,6 +8,13 @@ deployment_nodes = [ {% endfor %} ]; +sites = [ +{% for s in sites %} + [{{ s.0 }}, {{ s.1 }}], +{% endfor %} +]; + + function update_nodes(deployment_select, node_select_id) { deployment_id = $(deployment_select).val(); html = "\n"; @@ -20,6 +27,15 @@ function update_nodes(deployment_select, node_select_id) { //console.log(html); $("#"+node_select_id).empty().append(html); } + +function update_slice_prefix(site_select, slice_name_id) { + site_id = $(site_select).val(); + slice_prefix=""; + if (site_id in sites) { + slice_prefix=sites[site_id]+"_"; + } + $("#"+slice_name_id).val(slice_prefix); +} {% endblock %} -- 2.43.0