[MediaWiki-commits] [Gerrit] operations/puppet[production]: puppettable: Eliminate most uses of instance_id
Andrew Bogott has submitted this change and it was merged. Change subject: puppettable: Eliminate most uses of instance_id .. puppettable: Eliminate most uses of instance_id We were passing this all over just so we would have the right URL to return to from our modals. Returning to the referrer works ok and lets us simplify and generalize the code quite a bit. Change-Id: If7493dbe0617cea612446f6b3c037fc14f02eecf --- M modules/openstack/files/liberty/horizon/puppettab/puppet_tables.py M modules/openstack/files/liberty/horizon/puppettab/tab.py M modules/openstack/files/liberty/horizon/puppettab/urls.py M modules/openstack/files/liberty/horizon/puppettab/views.py 4 files changed, 12 insertions(+), 24 deletions(-) Approvals: Andrew Bogott: Looks good to me, approved jenkins-bot: Verified diff --git a/modules/openstack/files/liberty/horizon/puppettab/puppet_tables.py b/modules/openstack/files/liberty/horizon/puppettab/puppet_tables.py index ad5f99c..d2e2a51 100644 --- a/modules/openstack/files/liberty/horizon/puppettab/puppet_tables.py +++ b/modules/openstack/files/liberty/horizon/puppettab/puppet_tables.py @@ -71,7 +71,6 @@ kwargs = { 'fqdn': datum.fqdn, 'tenantid': datum.tenant_id, -'instanceid': datum.instance_id, 'roleid': datum.name, } return urlresolvers.reverse(url, kwargs=kwargs) @@ -92,7 +91,6 @@ kwargs = { 'fqdn': datum.fqdn, 'tenantid': datum.tenant_id, -'instanceid': datum.instance_id, 'roleid': datum.name, } return urlresolvers.reverse(url, kwargs=kwargs) diff --git a/modules/openstack/files/liberty/horizon/puppettab/tab.py b/modules/openstack/files/liberty/horizon/puppettab/tab.py index 2cab719..8278d13 100644 --- a/modules/openstack/files/liberty/horizon/puppettab/tab.py +++ b/modules/openstack/files/liberty/horizon/puppettab/tab.py @@ -64,7 +64,6 @@ kwargs = { 'fqdn': fqdn, 'tenantid': instance.tenant_id, -'instanceid': instance.id, } context['edithieraurl'] = urlresolvers.reverse(url, kwargs=kwargs) diff --git a/modules/openstack/files/liberty/horizon/puppettab/urls.py b/modules/openstack/files/liberty/horizon/puppettab/urls.py index 936a5a7..d1e5b8f 100644 --- a/modules/openstack/files/liberty/horizon/puppettab/urls.py +++ b/modules/openstack/files/liberty/horizon/puppettab/urls.py @@ -21,12 +21,12 @@ '', url(r'^$', panel.IndexView.as_view(), name='index'), url(r'^(?P[^/]+)/(?P[^/]+)/' -'(?P[^/]+)/(?P[^/]+)/applypuppetrole$', +'(?P[^/]+)/applypuppetrole$', views.ApplyRoleView.as_view(), name='applypuppetrole'), url(r'^(?P[^/]+)/(?P[^/]+)/' -'(?P[^/]+)/(?P[^/]+)/removepuppetrole$', +'(?P[^/]+)/removepuppetrole$', views.RemoveRoleView.as_view(), name='removepuppetrole'), url(r'^(?P[^/]+)/(?P[^/]+)/' -'(?P[^/]+)/edithiera$', +'edithiera$', views.EditHieraView.as_view(), name='edithiera'), ) diff --git a/modules/openstack/files/liberty/horizon/puppettab/views.py b/modules/openstack/files/liberty/horizon/puppettab/views.py index b1d0f1e..47b1e79 100644 --- a/modules/openstack/files/liberty/horizon/puppettab/views.py +++ b/modules/openstack/files/liberty/horizon/puppettab/views.py @@ -16,6 +16,7 @@ import logging from django.core import urlresolvers +from django.core.validators import URLValidator from django.utils.safestring import mark_safe from django.utils.translation import ugettext_lazy as _ @@ -62,15 +63,16 @@ urlkwargs = { 'fqdn': self.fqdn, 'tenantid': self.tenant_id, -'instanceid': self.instance_id, } context['submit_url'] = urlresolvers.reverse(self.submit_url, kwargs=urlkwargs) return context def get_success_url(self): -success_url = "horizon:project:instances:detail" -return urlresolvers.reverse(success_url, args=[self.instance_id]) +validate = URLValidator() +refer = self.request.META.get('HTTP_REFERER', '/') +validate(refer) +return refer def get_fqdn(self): return self.kwargs['fqdn'] @@ -78,14 +80,10 @@ def get_tenant_id(self): return self.kwargs['tenantid'] -def get_instance_id(self): -return self.kwargs['instanceid'] - def get_initial(self): initial = {} self.fqdn = self.get_fqdn() self.tenant_id = self.get_tenant_id() -self.instance_id = self.get_instance_id() self.hieradata = puppet_config(self.fqdn, self.tenant_id) initial['hieradata'] = self.hieradata.hiera initial['fqdn'] = self.fqdn @@ -105,7 +103,6 @@ urlkwargs = { 'fqdn': self.fqdn,
[MediaWiki-commits] [Gerrit] operations/puppet[production]: puppettable: Eliminate most uses of instance_id
Andrew Bogott has uploaded a new change for review. https://gerrit.wikimedia.org/r/310148 Change subject: puppettable: Eliminate most uses of instance_id .. puppettable: Eliminate most uses of instance_id We were passing this all over just so we would have the right URL to return to from our modals. Returning to the referrer works ok and lets us simplify and generalize the code quite a bit. Change-Id: If7493dbe0617cea612446f6b3c037fc14f02eecf --- M modules/openstack/files/liberty/horizon/puppettab/puppet_tables.py M modules/openstack/files/liberty/horizon/puppettab/tab.py M modules/openstack/files/liberty/horizon/puppettab/urls.py M modules/openstack/files/liberty/horizon/puppettab/views.py 4 files changed, 12 insertions(+), 24 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/operations/puppet refs/changes/48/310148/1 diff --git a/modules/openstack/files/liberty/horizon/puppettab/puppet_tables.py b/modules/openstack/files/liberty/horizon/puppettab/puppet_tables.py index ad5f99c..d2e2a51 100644 --- a/modules/openstack/files/liberty/horizon/puppettab/puppet_tables.py +++ b/modules/openstack/files/liberty/horizon/puppettab/puppet_tables.py @@ -71,7 +71,6 @@ kwargs = { 'fqdn': datum.fqdn, 'tenantid': datum.tenant_id, -'instanceid': datum.instance_id, 'roleid': datum.name, } return urlresolvers.reverse(url, kwargs=kwargs) @@ -92,7 +91,6 @@ kwargs = { 'fqdn': datum.fqdn, 'tenantid': datum.tenant_id, -'instanceid': datum.instance_id, 'roleid': datum.name, } return urlresolvers.reverse(url, kwargs=kwargs) diff --git a/modules/openstack/files/liberty/horizon/puppettab/tab.py b/modules/openstack/files/liberty/horizon/puppettab/tab.py index 2cab719..8278d13 100644 --- a/modules/openstack/files/liberty/horizon/puppettab/tab.py +++ b/modules/openstack/files/liberty/horizon/puppettab/tab.py @@ -64,7 +64,6 @@ kwargs = { 'fqdn': fqdn, 'tenantid': instance.tenant_id, -'instanceid': instance.id, } context['edithieraurl'] = urlresolvers.reverse(url, kwargs=kwargs) diff --git a/modules/openstack/files/liberty/horizon/puppettab/urls.py b/modules/openstack/files/liberty/horizon/puppettab/urls.py index 936a5a7..d1e5b8f 100644 --- a/modules/openstack/files/liberty/horizon/puppettab/urls.py +++ b/modules/openstack/files/liberty/horizon/puppettab/urls.py @@ -21,12 +21,12 @@ '', url(r'^$', panel.IndexView.as_view(), name='index'), url(r'^(?P[^/]+)/(?P[^/]+)/' -'(?P[^/]+)/(?P[^/]+)/applypuppetrole$', +'(?P[^/]+)/applypuppetrole$', views.ApplyRoleView.as_view(), name='applypuppetrole'), url(r'^(?P[^/]+)/(?P[^/]+)/' -'(?P[^/]+)/(?P[^/]+)/removepuppetrole$', +'(?P[^/]+)/removepuppetrole$', views.RemoveRoleView.as_view(), name='removepuppetrole'), url(r'^(?P[^/]+)/(?P[^/]+)/' -'(?P[^/]+)/edithiera$', +'edithiera$', views.EditHieraView.as_view(), name='edithiera'), ) diff --git a/modules/openstack/files/liberty/horizon/puppettab/views.py b/modules/openstack/files/liberty/horizon/puppettab/views.py index b1d0f1e..47b1e79 100644 --- a/modules/openstack/files/liberty/horizon/puppettab/views.py +++ b/modules/openstack/files/liberty/horizon/puppettab/views.py @@ -16,6 +16,7 @@ import logging from django.core import urlresolvers +from django.core.validators import URLValidator from django.utils.safestring import mark_safe from django.utils.translation import ugettext_lazy as _ @@ -62,15 +63,16 @@ urlkwargs = { 'fqdn': self.fqdn, 'tenantid': self.tenant_id, -'instanceid': self.instance_id, } context['submit_url'] = urlresolvers.reverse(self.submit_url, kwargs=urlkwargs) return context def get_success_url(self): -success_url = "horizon:project:instances:detail" -return urlresolvers.reverse(success_url, args=[self.instance_id]) +validate = URLValidator() +refer = self.request.META.get('HTTP_REFERER', '/') +validate(refer) +return refer def get_fqdn(self): return self.kwargs['fqdn'] @@ -78,14 +80,10 @@ def get_tenant_id(self): return self.kwargs['tenantid'] -def get_instance_id(self): -return self.kwargs['instanceid'] - def get_initial(self): initial = {} self.fqdn = self.get_fqdn() self.tenant_id = self.get_tenant_id() -self.instance_id = self.get_instance_id() self.hieradata = puppet_config(self.fqdn, self.tenant_id) initial['hieradata'] = self.hieradata.hiera initial['fqdn'] = self.fqdn @@ -105,7 +103,6 @@ urlkwargs = {