From 44883338965b4f88801ad70c0b4c85d82f2684d1 Mon Sep 17 00:00:00 2001 From: Michael Grosser Date: Mon, 2 May 2016 21:36:13 -0700 Subject: [PATCH] extract conditional rendering into hooks --- .../admin/deploy_groups/_fields.html.erb | 18 +-------------- app/views/admin/deploy_groups/index.html.erb | 8 ++----- app/views/admin/deploy_groups/show.html.erb | 22 +------------------ lib/samson/hooks.rb | 4 ++++ .../_deploy_group_form.html.erb | 15 +++++++++++++ .../_deploy_group_show.html.erb | 19 ++++++++++++++++ .../_deploy_group_table_cell.html.erb | 1 + .../_deploy_group_table_header.html.erb | 1 + .../lib/samson_kubernetes/samson_plugin.rb | 4 ++++ 9 files changed, 48 insertions(+), 44 deletions(-) create mode 100644 plugins/kubernetes/app/views/samson_kubernetes/_deploy_group_form.html.erb create mode 100644 plugins/kubernetes/app/views/samson_kubernetes/_deploy_group_show.html.erb create mode 100644 plugins/kubernetes/app/views/samson_kubernetes/_deploy_group_table_cell.html.erb create mode 100644 plugins/kubernetes/app/views/samson_kubernetes/_deploy_group_table_header.html.erb diff --git a/app/views/admin/deploy_groups/_fields.html.erb b/app/views/admin/deploy_groups/_fields.html.erb index 9b4fd7e368..b13534a808 100644 --- a/app/views/admin/deploy_groups/_fields.html.erb +++ b/app/views/admin/deploy_groups/_fields.html.erb @@ -20,21 +20,5 @@ - <% if Samson::Hooks.active_plugin?('kubernetes') %> - <%= form.fields_for :cluster_deploy_group, include_id: false do |cluster_form| %> -
- <%= cluster_form.label :kubernetes_cluster_id, "Kubernetes Cluster", class: "col-lg-2 control-label" %> -
- <%= cluster_form.collection_select(:kubernetes_cluster_id, Kubernetes::Cluster.all, :id, :name, { include_blank: true }, { class: 'form-control' }) %> -
-
- -
- <%= cluster_form.label :namespace, "Kubernetes Namespace", class: "col-lg-2 control-label" %> -
- <%= cluster_form.text_field :namespace, class: "form-control" %> -
-
- <% end %> - <% end %> + <%= Samson::Hooks.render_views(:deploy_group_form, self, form: form) %> diff --git a/app/views/admin/deploy_groups/index.html.erb b/app/views/admin/deploy_groups/index.html.erb index 223a7045bd..323e939a87 100644 --- a/app/views/admin/deploy_groups/index.html.erb +++ b/app/views/admin/deploy_groups/index.html.erb @@ -8,9 +8,7 @@ Name Environment $DEPLOY_GROUPS - <% if Samson::Hooks.active_plugin?('kubernetes') %> - Kubernetes Cluster - <% end %> + <%= Samson::Hooks.render_views(:deploy_group_table_header, self) %> Actions @@ -21,9 +19,7 @@ <%= deploy_group.name%> <%= deploy_group.environment.name %> <%= deploy_group.env_value %> - <% if Samson::Hooks.active_plugin?('kubernetes') %> - <%= link_to(deploy_group.kubernetes_cluster.name, admin_kubernetes_cluster_path(deploy_group.kubernetes_cluster)) if deploy_group.kubernetes_cluster %> - <% end %> + <%= Samson::Hooks.render_views(:deploy_group_table_cell, self, deploy_group: deploy_group) %> <%= link_to "Show", admin_deploy_group_path(deploy_group) %> | diff --git a/app/views/admin/deploy_groups/show.html.erb b/app/views/admin/deploy_groups/show.html.erb index a27017d54e..89729406c0 100644 --- a/app/views/admin/deploy_groups/show.html.erb +++ b/app/views/admin/deploy_groups/show.html.erb @@ -15,27 +15,7 @@ - <% if Samson::Hooks.active_plugin?('kubernetes') %> -
- -
-

- <% if @deploy_group.kubernetes_cluster %> - <%= link_to @deploy_group.kubernetes_cluster.name, [:admin, @deploy_group.kubernetes_cluster] %> - <% else %> - none - <% end %> -

-
-
- -
- -
-

<%= @deploy_group.kubernetes_namespace %>

-
-
- <% end %> + <%= Samson::Hooks.render_views(:deploy_group_show, self) %>
diff --git a/lib/samson/hooks.rb b/lib/samson/hooks.rb index d96abe08d3..62ee48ba04 100644 --- a/lib/samson/hooks.rb +++ b/lib/samson/hooks.rb @@ -7,6 +7,10 @@ class UserError < StandardError :stage_form, :stage_show, :project_form, + :deploy_group_show, + :deploy_group_form, + :deploy_group_table_header, + :deploy_group_table_cell, :deploys_header, :deploy_tab_nav, :deploy_tab_body, diff --git a/plugins/kubernetes/app/views/samson_kubernetes/_deploy_group_form.html.erb b/plugins/kubernetes/app/views/samson_kubernetes/_deploy_group_form.html.erb new file mode 100644 index 0000000000..5729aff218 --- /dev/null +++ b/plugins/kubernetes/app/views/samson_kubernetes/_deploy_group_form.html.erb @@ -0,0 +1,15 @@ +<%= form.fields_for :cluster_deploy_group, include_id: false do |cluster_form| %> +
+ <%= cluster_form.label :kubernetes_cluster_id, "Kubernetes Cluster", class: "col-lg-2 control-label" %> +
+ <%= cluster_form.collection_select(:kubernetes_cluster_id, Kubernetes::Cluster.all, :id, :name, { include_blank: true }, { class: 'form-control' }) %> +
+
+ +
+ <%= cluster_form.label :namespace, "Kubernetes Namespace", class: "col-lg-2 control-label" %> +
+ <%= cluster_form.text_field :namespace, class: "form-control" %> +
+
+<% end %> diff --git a/plugins/kubernetes/app/views/samson_kubernetes/_deploy_group_show.html.erb b/plugins/kubernetes/app/views/samson_kubernetes/_deploy_group_show.html.erb new file mode 100644 index 0000000000..fb178b5b94 --- /dev/null +++ b/plugins/kubernetes/app/views/samson_kubernetes/_deploy_group_show.html.erb @@ -0,0 +1,19 @@ +
+ +
+

+ <% if @deploy_group.kubernetes_cluster %> + <%= link_to @deploy_group.kubernetes_cluster.name, [:admin, @deploy_group.kubernetes_cluster] %> + <% else %> + none + <% end %> +

+
+
+ +
+ +
+

<%= @deploy_group.kubernetes_namespace %>

+
+
diff --git a/plugins/kubernetes/app/views/samson_kubernetes/_deploy_group_table_cell.html.erb b/plugins/kubernetes/app/views/samson_kubernetes/_deploy_group_table_cell.html.erb new file mode 100644 index 0000000000..4a986ff32b --- /dev/null +++ b/plugins/kubernetes/app/views/samson_kubernetes/_deploy_group_table_cell.html.erb @@ -0,0 +1 @@ +<%= link_to(deploy_group.kubernetes_cluster.name, admin_kubernetes_cluster_path(deploy_group.kubernetes_cluster)) if deploy_group.kubernetes_cluster %> diff --git a/plugins/kubernetes/app/views/samson_kubernetes/_deploy_group_table_header.html.erb b/plugins/kubernetes/app/views/samson_kubernetes/_deploy_group_table_header.html.erb new file mode 100644 index 0000000000..fff4e51793 --- /dev/null +++ b/plugins/kubernetes/app/views/samson_kubernetes/_deploy_group_table_header.html.erb @@ -0,0 +1 @@ +Kubernetes Cluster diff --git a/plugins/kubernetes/lib/samson_kubernetes/samson_plugin.rb b/plugins/kubernetes/lib/samson_kubernetes/samson_plugin.rb index 6842347dda..4cb84c7d65 100644 --- a/plugins/kubernetes/lib/samson_kubernetes/samson_plugin.rb +++ b/plugins/kubernetes/lib/samson_kubernetes/samson_plugin.rb @@ -13,6 +13,10 @@ class Engine < Rails::Engine Samson::Hooks.view :admin_menu, 'samson_kubernetes/admin_menu' Samson::Hooks.view :stage_form, "samson_kubernetes/stage_form" Samson::Hooks.view :stage_show, "samson_kubernetes/stage_show" +Samson::Hooks.view :deploy_group_show, "samson_kubernetes/deploy_group_show" +Samson::Hooks.view :deploy_group_form, "samson_kubernetes/deploy_group_form" +Samson::Hooks.view :deploy_group_table_header, "samson_kubernetes/deploy_group_table_header" +Samson::Hooks.view :deploy_group_table_cell, "samson_kubernetes/deploy_group_table_cell" Samson::Hooks.callback :deploy_group_permitted_params do { cluster_deploy_group_attributes: [:kubernetes_cluster_id, :namespace] }