Page Menu
Home
GRNET
Search
Configure Global Search
Log In
Files
F1325801
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Mon, Dec 8, 4:29 PM
Size
3 KB
Mime Type
text/x-diff
Expires
Wed, Dec 10, 4:29 PM (1 d, 13 h)
Engine
blob
Format
Raw Data
Handle
306408
Attached To
rARCHIVING archiving
View Options
diff --git a/app/controllers/admin/base_controller.rb b/app/controllers/admin/base_controller.rb
new file mode 100644
index 0000000..835b2df
--- /dev/null
+++ b/app/controllers/admin/base_controller.rb
@@ -0,0 +1,24 @@
+class Admin::BaseController < ApplicationController
+ before_action :require_admin
+
+ def index
+ @client_ids = Client.pluck(:ClientId)
+ get_charts
+ render 'admin/index'
+ end
+
+ protected
+
+ def get_charts
+ days_ago = params.fetch(:days_back, 7).to_i rescue 7
+ @job_status = ChartGenerator.job_statuses(@client_ids, days_ago)
+ @job_stats = ChartGenerator.job_stats(@client_ids, days_ago - 1)
+ end
+
+ def require_admin
+ return if current_user.try(:admin?)
+
+ flash[:alert] = 'You need to log in first'
+ redirect_to root_path
+ end
+end
diff --git a/app/views/admin/index.html.erb b/app/views/admin/index.html.erb
new file mode 100644
index 0000000..be1cc05
--- /dev/null
+++ b/app/views/admin/index.html.erb
@@ -0,0 +1,3 @@
+<h1>BaaS</h1>
+
+<%= render partial: 'clients/client_graphs', locals: { path: admin_path } %>
diff --git a/app/views/shared/_nav.html.erb b/app/views/shared/_nav.html.erb
index 148beee..fefa4ff 100644
--- a/app/views/shared/_nav.html.erb
+++ b/app/views/shared/_nav.html.erb
@@ -1,29 +1,34 @@
<!-- 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="/">Baas</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<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>
+ <ul class="nav navbar-nav navbar-right">
+ <% if current_user.admin? %>
+ <li><%= link_to 'Admin', admin_path %></li>
+ <% end %>
+ </ul>
</div><!--/.nav-collapse -->
</div>
</nav>
diff --git a/config/routes.rb b/config/routes.rb
index b2d7f87..d8f978d 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -1,24 +1,28 @@
Rails.application.routes.draw do
+ root 'clients#index'
+
resources :clients, only: [:index, :show]
resources :hosts, only: [:new, :create, :show, :edit, :update, :destroy] do
member do
post :submit_config
get :restore
post :run_restore
delete :revoke
end
resources :jobs, only: [:new, :create, :show, :edit, :update, :destroy] do
member do
patch :toggle_enable
post :backup_now
end
end
resources :filesets, only: [:show, :new, :create, :destroy]
resources :schedules, only: [:show, :new, :edit, :create, :update, :destroy]
end
- root 'clients#index'
+ namespace :admin do
+ get '/' => 'base#index'
+ end
end
Event Timeline
Log In to Comment