diff --git a/app/controllers/clients_controller.rb b/app/controllers/clients_controller.rb new file mode 100644 index 0000000..6cf35fb --- /dev/null +++ b/app/controllers/clients_controller.rb @@ -0,0 +1,17 @@ +class ClientsController < ApplicationController + before_action :set_client, only: :show + + # GET /clients + def index + @clients = Client.all + end + + # GET /clients/1 + def show; end + + private + + def set_client + @client = Client.find(params[:id]) + end +end diff --git a/app/views/clients/_client.html.erb b/app/views/clients/_client.html.erb new file mode 100644 index 0000000..6b4f6cd --- /dev/null +++ b/app/views/clients/_client.html.erb @@ -0,0 +1,7 @@ +<tr> + <td><%= link_to client.name, client %></td> + <td><%= client.uname %></td> + <td><%= client.auto_prune %></td> + <td><%= client.file_retention %></td> + <td><%= client.job_retention %></td> +</tr> diff --git a/app/views/clients/index.html.erb b/app/views/clients/index.html.erb new file mode 100644 index 0000000..5730c5e --- /dev/null +++ b/app/views/clients/index.html.erb @@ -0,0 +1,19 @@ +<h1>My Hosts</h1> + +<div class="table-responsive"> + <table class="table table-striped table-bordered table-condensed"> + <thead> + <tr> + <th>Name</th> + <th>Uname</th> + <th>AutoPrune</th> + <th>FileRetention</th> + <th>JobRetention</th> + </tr> + </thead> + + <tbody> + <%= render partial: 'client', collection: @clients %> + </tbody> + </table> +</div> diff --git a/app/views/clients/show.html.erb b/app/views/clients/show.html.erb new file mode 100644 index 0000000..329bdc7 --- /dev/null +++ b/app/views/clients/show.html.erb @@ -0,0 +1,29 @@ +<p id="notice"><%= notice %></p> + + +<div class="table-responsive"> + <table class="table table-striped table-bordered table-condensed"> + <tr> + <td>Name</td> + <td><%= @client.name %></td> + </tr> + <tr> + <td>Uname</td> + <td><%= @client.uname %></td> + </tr> + <tr> + <td>Auto Prune</td> + <td><%= @client.auto_prune %></td> + </tr> + <tr> + <td>File Retention</td> + <td><%= @client.file_retention %></td> + </tr> + <tr> + <td>Job Retention</td> + <td><%= @client.job_retention %></td> + </tr> + </table> +</div> + +<%= link_to 'Back', clients_path %> diff --git a/app/views/shared/_nav.html.erb b/app/views/shared/_nav.html.erb index 902d0f8..e736f56 100644 --- a/app/views/shared/_nav.html.erb +++ b/app/views/shared/_nav.html.erb @@ -1,29 +1,29 @@ <!-- Fixed navbar --> <nav class="navbar navbar-inverse navbar-fixed-top"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="/">Base</a> </div> <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav"> - <li class="active"><a href="/domains">Domains</a></li> + <li class="active"><a href="/clients">Clients</a></li> <li><a href="/contact">Contact</a></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Profile <span class="caret"></span></a> <ul class="dropdown-menu"> <li><a href="#">Logout</a></li> <li class="divider"></li> <li class="dropdown-header">Profile</li> <li><a href="#">Edit</a></li> </ul> </li> </ul> </div><!--/.nav-collapse --> </div> </nav> diff --git a/config/routes.rb b/config/routes.rb index 1daf9a4..d56c812 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,2 +1,5 @@ Rails.application.routes.draw do + resources :clients, only: [:index, :show] + + root 'clients#index' end diff --git a/spec/routing/client_routing_spec.rb b/spec/routing/client_routing_spec.rb new file mode 100644 index 0000000..728caae --- /dev/null +++ b/spec/routing/client_routing_spec.rb @@ -0,0 +1,16 @@ +require 'spec_helper' + +describe ClientsController do + it 'routes /clients' do + expect(get('/clients')).to route_to(controller: 'clients', action: 'index') + end + + it 'routes GET /' do + expect(get('/')).to route_to(controller: 'clients', action: 'index') + end + + it 'routes GET /clients/1' do + expect(get('/clients/1')).to route_to(controller: 'clients', action: 'show', id: '1') + end +end +