This commit is contained in:
cole m alban 2017-03-03 09:57:31 -05:00
commit 6c2d6f4918
6 changed files with 2643 additions and 137 deletions

View File

@ -2,7 +2,29 @@ class DashboardController < ApplicationController
before_filter :deny_to_visitors before_filter :deny_to_visitors
def index def index
@results = Result.page(params[:page]).per(5) #This is a temporary fix until runs and results models are properly discussed with bobby
#@results = Result.page(params[:page]).per(5)
if current_user.admin?
puts params
@results = Hash.new
names = (Company.pluck :company_name) - ["IVA"]
names.map!{|tenant| tenant.gsub(/'/,'').gsub(/\s/,'')}
names.each do
|name|
Apartment::Tenant.switch!(name.gsub(/'/,'').gsub(/\s/,''))
if params[:company] == name
@results[name.gsub(/'/,'').gsub(/\s/,'')] = {results: Run.page(params[:page]).per(5), active: true, name: name}
else
@results[name.gsub(/'/,'').gsub(/\s/,'')] = {results: Run.page(params[:page]).per(5), active: false}
end
end
#binding.pry
Apartment::Tenant.switch!
else
@results = Run.page(params[:page]).per(5)
end
end end

View File

@ -5,9 +5,7 @@ class SessionsController < Devise::RegistrationsController
#end #end
def create def create
binding.pry
resource = warden.authenticate!(:scope => :user) resource = warden.authenticate!(:scope => :user)
binding.pry
sign_in(:user, resource) sign_in(:user, resource)
if !current_user.admin if !current_user.admin
Apartment::Tenant.switch!(Company.find(current_user.company_id).company_name.gsub(/'/,'').gsub(/\s/,'')) Apartment::Tenant.switch!(Company.find(current_user.company_id).company_name.gsub(/'/,'').gsub(/\s/,''))

View File

@ -7,7 +7,6 @@ class Company < ApplicationRecord
private private
def create_tenant def create_tenant
binding.pry
if company_name != "IVA" if company_name != "IVA"
Apartment::Tenant.create(company_name.gsub(/'/,'').gsub(/\s/,'')) Apartment::Tenant.create(company_name.gsub(/'/,'').gsub(/\s/,''))
Apartment::Tenant.switch! Apartment::Tenant.switch!

View File

@ -9,6 +9,8 @@ class User < ApplicationRecord
def after_database_authentication def after_database_authentication
if !self.admin if !self.admin
Apartment::Tenant.switch!(Company.find(self.company_id).company_name.gsub(/'/,'').gsub(/\s/,'')) Apartment::Tenant.switch!(Company.find(self.company_id).company_name.gsub(/'/,'').gsub(/\s/,''))
else
Apartment::Tenant.switch!
end end
end end
end end

View File

@ -88,17 +88,24 @@
<% if current_user.admin? %> <% if current_user.admin? %>
<h2 class="sub-header">Recent Results From All Companies</h2> <h2 class="sub-header">Recent Results From All Companies</h2>
<% else %>
<h2 class="sub-header">Recent Results</h2> <div class="panel-group" id="accordion">
<% end %> <span hidden><%= @i = 1 %></span>
<% ((Company.pluck :company_name) - ["IVA"]).each do |company_name| %>
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title text-center">
<a data-toggle="collapse" data-parent="#accordion" href="#collapse<%="#{@i}"%>">
<%= company_name %> </a>
</h3>
</div>
<div id="collapse<%="#{@i}"%>" class="panel-collapse collapse <%= (@results[company_name.gsub(/'/,'').gsub(/\s/,'')][:active] && @results[company_name.gsub(/'/,'').gsub(/\s/,'')][:name] == company_name.gsub(/'/,'').gsub(/\s/,'') ) ? "in" : ""%>">
<div class="panel-body">
<div class="table-responsive panel panel-primary"> <div class="table-responsive panel panel-primary">
<table class="table table-striped"> <table class="table table-striped">
<div class="panel-heading"> <div class="panel-heading">
<thead> <thead>
<tr> <tr>
<% if current_user.admin? %>
<th>Company</th>
<% end %>
<th>Run Date</th> <th>Run Date</th>
<th>Location</th> <th>Location</th>
<th>Harvest Time</th> <th>Harvest Time</th>
@ -111,21 +118,12 @@
</thead> </thead>
</div> </div>
<div class="panel-body"> <div class="panel-body">
<span hidden><%= Apartment::Tenant.switch!(company_name.gsub(/'/,'').gsub(/\s/,'')) %></span>
<tbody> <tbody>
<% if current_user.admin? %> <% @results[company_name.gsub(/'/,'').gsub(/\s/,'')][:results].each_slice(1) do |row| %>
<% @results.each_slice(1) do |row| %>
<tr> <tr>
<% row.each do |result| <% row.each do |result|
run = Run.find(result.id) run = result#Run.find(result.id) %>
#company = Company.find(run.company_id)
%>
<!-- company name -->
<td>
<%= #company.company_name
"Fake Industries" %>
</td>
<!-- run date --> <!-- run date -->
<td> <td>
<%= run.runDate %> <%= run.runDate %>
@ -154,7 +152,7 @@
<!-- total processed --> <!-- total processed -->
<td> <td>
<%= result.total %> "result"
</td> </td>
<!-- other --> <!-- other -->
@ -167,7 +165,43 @@
<% end %> <% end %>
</tr> </tr>
<% end %> <% end %>
</tbody>
</div>
</table>
</div>
<div class="center-block">
<div class="col-sm-6 col-sm-offset-3 panel panel-primary" align="center">
<%= paginate @results[company_name.gsub(/'/,'').gsub(/\s/,'')][:results] , params: {company: company_name.gsub(/'/,'').gsub(/\s/,'')} %></br>
<%= page_entries_info @results[company_name.gsub(/'/,'').gsub(/\s/,'')][:results] %>
</div>
</div>
</div>
</div>
</div>
<span hidden><%= @i = @i + 1%></span>
<% end %>
</div>
<% else %> <% else %>
<h2 class="sub-header">Recent Results</h2>
<div class="table-responsive panel panel-primary">
<table class="table table-striped">
<div class="panel-heading">
<thead>
<tr>
<th>Run Date</th>
<th>Location</th>
<th>Harvest Time</th>
<th>Supplier</th>
<th>Distributor</th>
<th>Total Processed</th>
<th>Other</th>
<th>Oyster Info</th>
</tr>
</thead>
</div>
<div class="panel-body">
<tbody>
<% @results.each_slice(1) do |row| %> <% @results.each_slice(1) do |row| %>
<tr> <tr>
<% row.each do |result| <% row.each do |result|
@ -200,7 +234,7 @@
<!-- total processed --> <!-- total processed -->
<td> <td>
<%= result.total %> "result"
</td> </td>
<!-- other --> <!-- other -->
@ -213,7 +247,6 @@
<% end %> <% end %>
</tr> </tr>
<% end %> <% end %>
<% end %>
</tbody> </tbody>
</div> </div>
</table> </table>
@ -224,6 +257,8 @@
<%= page_entries_info @results %> <%= page_entries_info @results %>
</div> </div>
</div> </div>
<% end %>
</div> </div>
</div> </div>
</div> </div>

2450
Pearlception/nohup.out Normal file

File diff suppressed because it is too large Load Diff