diff --git a/Pearlception/app/controllers/dashboard_controller.rb b/Pearlception/app/controllers/dashboard_controller.rb index 2d4b600..9276b51 100644 --- a/Pearlception/app/controllers/dashboard_controller.rb +++ b/Pearlception/app/controllers/dashboard_controller.rb @@ -2,7 +2,34 @@ class DashboardController < ApplicationController before_filter :deny_to_visitors def index +<<<<<<< HEAD @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 + +>>>>>>> 66dfc7d12c7a612332c9b8de8f32df39a0d362ce end def deny_to_visitors diff --git a/Pearlception/app/models/user.rb b/Pearlception/app/models/user.rb index 486d2eb..1c27f7e 100644 --- a/Pearlception/app/models/user.rb +++ b/Pearlception/app/models/user.rb @@ -5,10 +5,12 @@ class User < ApplicationRecord # :confirmable, :lockable, :timeoutable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable - + def after_database_authentication if !self.admin Apartment::Tenant.switch!(Company.find(self.company_id).company_name.gsub(/'/,'').gsub(/\s/,'')) + else + Apartment::Tenant.switch! end end end diff --git a/Pearlception/app/views/dashboard/index.html.erb b/Pearlception/app/views/dashboard/index.html.erb index 4cbdef9..21783b8 100644 --- a/Pearlception/app/views/dashboard/index.html.erb +++ b/Pearlception/app/views/dashboard/index.html.erb @@ -87,142 +87,177 @@ <% if current_user.admin? %>

Recent Results From All Companies

+ +
+ + <% ((Company.pluck :company_name) - ["IVA"]).each do |company_name| %> +
+ +
" class="panel-collapse collapse <%= (@results[company_name.gsub(/'/,'').gsub(/\s/,'')][:active] && @results[company_name.gsub(/'/,'').gsub(/\s/,'')][:name] == company_name.gsub(/'/,'').gsub(/\s/,'') ) ? "in" : ""%>"> +
+
+ +
+
+ + + + + + + + + + + + +
+ +
+ <% @results[company_name.gsub(/'/,'').gsub(/\s/,'')][:results].each_slice(1) do |row| %> + + <% row.each do |result| + run = result#Run.find(result.id) %> + + + + + + + + + + + + + + + + + + + + + + <% end %> + + <% end %> + + +
Run DateLocationHarvest TimeSupplierDistributorTotal ProcessedOtherOyster Info
+ <%= run.runDate %> + + <%= run.location ? run.location : "" %> + + <%= "" %> + + + <%= run.supplier ? run.supplier : "" %> + + <%= run.distributor ? run.distributor : "" %> + + "result" + + <%= run.other ? run.other : "" %> + + <%= link_to "Show", oysters_index_path( :result_id => result.id, :page_num => params[:page]), :class => "btn btn-primary" %> +
+
+ +
+
+ <%= paginate @results[company_name.gsub(/'/,'').gsub(/\s/,'')][:results] , params: {company: company_name.gsub(/'/,'').gsub(/\s/,'')} %>
+ <%= page_entries_info @results[company_name.gsub(/'/,'').gsub(/\s/,'')][:results] %> +
+
+
+
+
+ + <% end %> +
<% else %>

Recent Results

- <% end %> -
- -
-
- - <% if current_user.admin? %> - +
+
Company
+
+
+ + + + + + + + + + + + +
+
+ <% @results.each_slice(1) do |row| %> + + <% row.each do |result| + run = Run.find(result.id) %> + + + + + + + + + + + + + + + + + + + + + + <% end %> + <% end %> - - - - - - - - - - + + +
Run DateLocationHarvest TimeSupplierDistributorTotal ProcessedOtherOyster Info
+ <%= run.runDate %> + + <%= run.location ? run.location : "" %> + + <%= "" %> + + + <%= run.supplier ? run.supplier : "" %> + + <%= run.distributor ? run.distributor : "" %> + + "result" + + <%= run.other ? run.other : "" %> + + <%= link_to "Show", oysters_index_path( :result_id => result.id, :page_num => params[:page]), :class => "btn btn-primary" %> +
Run DateLocationHarvest TimeSupplierDistributorTotal ProcessedOtherOyster Info
+
+
+
+ <%= paginate @results %>
+ <%= page_entries_info @results %>
-
- - <% if current_user.admin? %> - <% @results.each_slice(1) do |row| %> - - <% row.each do |result| - run = Run.find(result.id) - #company = Company.find(run.company_id) - %> +
+ <% end %> - - - <%= #company.company_name - "Fake Industries" %> - - - - - <%= run.runDate %> - - - - - <%= run.location ? run.location : "" %> - - - - - <%= "" %> - - - - - - <%= run.supplier ? run.supplier : "" %> - - - - - <%= run.distributor ? run.distributor : "" %> - - - - - <%= result.total %> - - - - - <%= run.other ? run.other : "" %> - - - <%= link_to "Show", oysters_index_path( :result_id => result.id, :page_num => params[:page]), :class => "btn btn-primary" %> - - <% end %> - - <% end %> - <% else %> - <% @results.each_slice(1) do |row| %> - - <% row.each do |result| - run = Run.find(result.id) %> - - - <%= run.runDate %> - - - - - <%= run.location ? run.location : "" %> - - - - - <%= "" %> - - - - - - <%= run.supplier ? run.supplier : "" %> - - - - - <%= run.distributor ? run.distributor : "" %> - - - - - <%= result.total %> - - - - - <%= run.other ? run.other : "" %> - - - <%= link_to "Show", oysters_index_path( :result_id => result.id, :page_num => params[:page]), :class => "btn btn-primary" %> - - <% end %> - - <% end %> - <% end %> - -
- - -
-
- <%= paginate @results %>
- <%= page_entries_info @results %> -
-
diff --git a/Pearlception/config/database.yml b/Pearlception/config/database.yml index 60cdd74..bb97a66 100644 --- a/Pearlception/config/database.yml +++ b/Pearlception/config/database.yml @@ -31,8 +31,13 @@ stats_test: development: <<: *default database: Pearlception_development +<<<<<<< HEAD username: <%= ENV['DEV_DB_USER']%> password: <%= ENV['DEV_DB_PASS']%> +======= + username: bmv + password: 1156244terps! +>>>>>>> 66dfc7d12c7a612332c9b8de8f32df39a0d362ce # Warning: The database defined as "test" will be erased and # re-generated from your development database when you run "rake". @@ -40,8 +45,13 @@ development: test: <<: *default database: Pearlception_test +<<<<<<< HEAD username: <%= ENV['DEV_DB_USER']%> password: <%= ENV['DEV_DB_PASS']%> +======= + username: bmv + password: 1156244terps! +>>>>>>> 66dfc7d12c7a612332c9b8de8f32df39a0d362ce # As with config/secrets.yml, you never want to store sensitive information, # like your database password, in your source code. If your source code is diff --git a/Pearlception/config/initializers/apartment.rb b/Pearlception/config/initializers/apartment.rb index 73051b9..dc08608 100644 --- a/Pearlception/config/initializers/apartment.rb +++ b/Pearlception/config/initializers/apartment.rb @@ -47,32 +47,13 @@ Apartment.configure do |config| # end # end # - + names = (Company.pluck :company_name) - ["IVA"] - #client = Mysql2::Client.new( - # :adapter => "mysql2", - # :host => ENV['STATS_DB_URL'], - # :username => ENV['STATS_DB_USER'], - # :password => ENV['STATS_DB_PASS'] - #) - names.map!{|tenant| tenant.gsub(/'/,'').gsub(/\s/,'')} - #names.each { - # |tenant| - # binding.pry - # if ENV['RAILS_ENV'] == "production" - # client.query("CREATE DATABASE IF NOT EXISTS #{tenant};") - # else - # client.query("CREATE DATABASE IF NOT EXISTS #{tenant};") - # end - #} - # client.close config.tenant_names = names - #names = (Company.pluck :company_name) - ["IVA"] -# # ==> PostgreSQL only options # Specifies whether to use PostgreSQL schemas or create a new database per Tenant. diff --git a/migrate.rb b/migrate.rb new file mode 100644 index 0000000..a60ee60 --- /dev/null +++ b/migrate.rb @@ -0,0 +1,40 @@ +#Script to migrate things to the bmv server from a csv file + +require 'mysql2' +require 'csv' + + +class Run + + attr_accessor :id, :run_date, :location, :harvest_time, :supplier, :distributor, :other, :machine_id + + def initialize(id, run_date, location, harvest_time, supplier, distributor, other, machine_id) + @id = id + @run_date = run_date + @location = location + @harvest_time = harvest_time + @supplier = supplier + @distributor = distributor + @other = other + @machine_id = machine_id + end + +end + +client = Mysql2::Client.new( + #INSERT LOGIN INFO HERE + ) +runs = [] +CSV.foreach("#{ARGV[0]}") do |row| + runs.push(Run.new(*row)) unless row[0] == "run_id" +end +runs.each do |run| + puts run.inspect + query = "INSERT INTO runs (id, runDate, location, harvest_time, supplier, distributor, + other, machine_id, created_at, updated_at) + VALUES + (#{run.id},NOW(), \"UMD\" ,\"#{run.location}\",\"#{run.supplier}\", + \"#{run.distributor}\",\"\",1,NOW(),NOW());" + res = client.query(query) + puts res +end