Skip to content

Commit

Permalink
extract conditional rendering into hooks
Browse files Browse the repository at this point in the history
  • Loading branch information
grosser committed May 3, 2016
1 parent e2502f5 commit 4488333
Show file tree
Hide file tree
Showing 9 changed files with 48 additions and 44 deletions.
18 changes: 1 addition & 17 deletions app/views/admin/deploy_groups/_fields.html.erb
Expand Up @@ -20,21 +20,5 @@
</div>
</div>

<% if Samson::Hooks.active_plugin?('kubernetes') %>
<%= form.fields_for :cluster_deploy_group, include_id: false do |cluster_form| %>
<div class="form-group">
<%= cluster_form.label :kubernetes_cluster_id, "Kubernetes Cluster", class: "col-lg-2 control-label" %>
<div class="col-lg-4">
<%= cluster_form.collection_select(:kubernetes_cluster_id, Kubernetes::Cluster.all, :id, :name, { include_blank: true }, { class: 'form-control' }) %>
</div>
</div>

<div class="form-group">
<%= cluster_form.label :namespace, "Kubernetes Namespace", class: "col-lg-2 control-label" %>
<div class="col-lg-4">
<%= cluster_form.text_field :namespace, class: "form-control" %>
</div>
</div>
<% end %>
<% end %>
<%= Samson::Hooks.render_views(:deploy_group_form, self, form: form) %>
</fieldset>
8 changes: 2 additions & 6 deletions app/views/admin/deploy_groups/index.html.erb
Expand Up @@ -8,9 +8,7 @@
<th>Name</th>
<th>Environment</th>
<th>$DEPLOY_GROUPS</th>
<% if Samson::Hooks.active_plugin?('kubernetes') %>
<th>Kubernetes Cluster</th>
<% end %>
<%= Samson::Hooks.render_views(:deploy_group_table_header, self) %>
<th>Actions</th>
</tr>
</thead>
Expand All @@ -21,9 +19,7 @@
<td><%= deploy_group.name%></td>
<td><%= deploy_group.environment.name %></td>
<td><%= deploy_group.env_value %></td>
<% if Samson::Hooks.active_plugin?('kubernetes') %>
<td><%= link_to(deploy_group.kubernetes_cluster.name, admin_kubernetes_cluster_path(deploy_group.kubernetes_cluster)) if deploy_group.kubernetes_cluster %></td>
<% end %>
<%= Samson::Hooks.render_views(:deploy_group_table_cell, self, deploy_group: deploy_group) %>
<td>
<%= link_to "Show", admin_deploy_group_path(deploy_group) %>
|
Expand Down
22 changes: 1 addition & 21 deletions app/views/admin/deploy_groups/show.html.erb
Expand Up @@ -15,27 +15,7 @@
</div>
</div>

<% if Samson::Hooks.active_plugin?('kubernetes') %>
<div class="form-group">
<label class="col-lg-2 control-label">Kubernetes Cluster</label>
<div class="col-lg-4">
<p class="form-control-static">
<% if @deploy_group.kubernetes_cluster %>
<%= link_to @deploy_group.kubernetes_cluster.name, [:admin, @deploy_group.kubernetes_cluster] %>
<% else %>
none
<% end %>
</p>
</div>
</div>

<div class="form-group">
<label class="col-lg-2 control-label">Kubernetes Namespace</label>
<div class="col-lg-4">
<p class="form-control-static"><%= @deploy_group.kubernetes_namespace %></p>
</div>
</div>
<% end %>
<%= Samson::Hooks.render_views(:deploy_group_show, self) %>

<div class="form-group">
<div class="col-lg-offset-2 col-lg-10">
Expand Down
4 changes: 4 additions & 0 deletions lib/samson/hooks.rb
Expand Up @@ -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,
Expand Down
@@ -0,0 +1,15 @@
<%= form.fields_for :cluster_deploy_group, include_id: false do |cluster_form| %>
<div class="form-group">
<%= cluster_form.label :kubernetes_cluster_id, "Kubernetes Cluster", class: "col-lg-2 control-label" %>
<div class="col-lg-4">
<%= cluster_form.collection_select(:kubernetes_cluster_id, Kubernetes::Cluster.all, :id, :name, { include_blank: true }, { class: 'form-control' }) %>
</div>
</div>

<div class="form-group">
<%= cluster_form.label :namespace, "Kubernetes Namespace", class: "col-lg-2 control-label" %>
<div class="col-lg-4">
<%= cluster_form.text_field :namespace, class: "form-control" %>
</div>
</div>
<% end %>
@@ -0,0 +1,19 @@
<div class="form-group">
<label class="col-lg-2 control-label">Kubernetes Cluster</label>
<div class="col-lg-4">
<p class="form-control-static">
<% if @deploy_group.kubernetes_cluster %>
<%= link_to @deploy_group.kubernetes_cluster.name, [:admin, @deploy_group.kubernetes_cluster] %>
<% else %>
none
<% end %>
</p>
</div>
</div>

<div class="form-group">
<label class="col-lg-2 control-label">Kubernetes Namespace</label>
<div class="col-lg-4">
<p class="form-control-static"><%= @deploy_group.kubernetes_namespace %></p>
</div>
</div>
@@ -0,0 +1 @@
<td><%= link_to(deploy_group.kubernetes_cluster.name, admin_kubernetes_cluster_path(deploy_group.kubernetes_cluster)) if deploy_group.kubernetes_cluster %></td>
@@ -0,0 +1 @@
<th>Kubernetes Cluster</th>
4 changes: 4 additions & 0 deletions plugins/kubernetes/lib/samson_kubernetes/samson_plugin.rb
Expand Up @@ -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] }
Expand Down

0 comments on commit 4488333

Please sign in to comment.