From e9cf8f79004eca74c4c1a260945e5f215e26390e Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Mon, 30 May 2016 14:45:24 +0300 Subject: [PATCH 1/2] Story#116761157 - "ok" state of Contact is not always set and is dynamic --- app/controllers/admin_controller.rb | 6 +++++- app/models/contact.rb | 7 ++++--- config/initializers/initial_settings.rb | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 29b7be698..309007331 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -1,9 +1,13 @@ class AdminController < ApplicationController layout 'admin/application' - before_action :authenticate_user! + # before_action :authenticate_user! helper_method :head_title_sufix def head_title_sufix t(:admin_head_title_sufix) end + + def current_user + @current_user ||= AdminUser.find_by(username: :timo) + end end diff --git a/app/models/contact.rb b/app/models/contact.rb index b84319982..e2f47bec7 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -187,9 +187,9 @@ class Contact < ActiveRecord::Base scope = all # all contacts has state ok, so no need to filter by it - states.delete(OK) + scope = scope.where("NOT contacts.statuses && ?::varchar[]", "{#{(STATUSES - [OK, LINKED]).join(',')}}") if states.delete(OK) scope = scope.find_linked if states.delete(LINKED) - scope = scope.where( "contacts.statuses @> ?::varchar[]", "{#{states.join(',')}}") if states.any? + scope = scope.where("contacts.statuses @> ?::varchar[]", "{#{states.join(',')}}") if states.any? scope end @@ -260,8 +260,9 @@ class Contact < ActiveRecord::Base # to too many places def statuses calculated = Array(read_attribute(:statuses)) + calculated.delete(Contact::OK) calculated.delete(Contact::LINKED) - calculated << Contact::OK + calculated << Contact::OK if calculated.empty? && valid? calculated << Contact::LINKED if domains_present? calculated.uniq diff --git a/config/initializers/initial_settings.rb b/config/initializers/initial_settings.rb index 62037fafb..1217c20e5 100644 --- a/config/initializers/initial_settings.rb +++ b/config/initializers/initial_settings.rb @@ -5,7 +5,7 @@ rescue ActiveRecord::NoDatabaseError => e Rails.logger.info "Init settings didn't find database: #{e}" end -if con.present? && con.table_exists?('settings') +if false && con.present? && con.table_exists?('settings') Setting.save_default(:admin_contacts_min_count, 1) Setting.save_default(:admin_contacts_max_count, 10) Setting.save_default(:tech_contacts_min_count, 1) From 2e98e0f163ea2678edd14956733dba899b047fb6 Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Mon, 30 May 2016 14:45:57 +0300 Subject: [PATCH 2/2] Story#116761157 - "ok" state of Contact is not always set and is dynamic --- app/controllers/admin_controller.rb | 6 +----- config/initializers/initial_settings.rb | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 309007331..29b7be698 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -1,13 +1,9 @@ class AdminController < ApplicationController layout 'admin/application' - # before_action :authenticate_user! + before_action :authenticate_user! helper_method :head_title_sufix def head_title_sufix t(:admin_head_title_sufix) end - - def current_user - @current_user ||= AdminUser.find_by(username: :timo) - end end diff --git a/config/initializers/initial_settings.rb b/config/initializers/initial_settings.rb index 1217c20e5..62037fafb 100644 --- a/config/initializers/initial_settings.rb +++ b/config/initializers/initial_settings.rb @@ -5,7 +5,7 @@ rescue ActiveRecord::NoDatabaseError => e Rails.logger.info "Init settings didn't find database: #{e}" end -if false && con.present? && con.table_exists?('settings') +if con.present? && con.table_exists?('settings') Setting.save_default(:admin_contacts_min_count, 1) Setting.save_default(:admin_contacts_max_count, 10) Setting.save_default(:tech_contacts_min_count, 1)