#3844 - card_programmer#create_card (NoMethodError) "undefined method `valid_password?' for nil:NilClass

A NoMethodError occurred in card_programmer#create_card:

 undefined method `valid_password?' for nil:NilClass
 app/controllers/card_programmer_controller.rb:36:in `authenticate_person!'


-------------------------------
Request:
-------------------------------

 * URL        : https://www.bikelink.org/card_programmer/create_card.json
 * HTTP Method: POST
 * IP address : 172.56.168.195
 * Parameters : {"email"=>"jessica.j.montanino@gmail.cm", "password"=>"[FILTERED]", "card"=>{"number"=>"75370", "card_model_id"=>"1"}, "initial_add_value"=>"2000", "controller"=>"card_programmer", "action"=>"create_card", "format"=>"json"}
 * Timestamp  : 2024-09-20 19:56:03 UTC
 * Server : www-8.internal.bikelink.org
   * Rails root : /var/www/bikelink
 * Process: 169336

-------------------------------
Session:
-------------------------------

 * session id: [FILTERED]
 * data: {}

-------------------------------
Environment:
-------------------------------

 * CONTENT_LENGTH                                          : 436
   * CONTENT_TYPE                                            : multipart/form-data; boundary=----boundary
   * GATEWAY_INTERFACE                                       : CGI/1.2
   * HTTP_ACCEPT                                             : */*
   * HTTP_CONNECTION                                         : close
   * HTTP_HOST                                               : www.bikelink.org
   * HTTP_VERSION                                            : HTTP/1.0
   * HTTP_X_AMZN_TRACE_ID                                    : Root=1-66edd352-6a7d76fe0a2ec12334132b41
   * HTTP_X_FORWARDED_FOR                                    : 172.56.168.195, 172.56.168.195
   * HTTP_X_FORWARDED_PORT                                   : 443
   * HTTP_X_FORWARDED_PROTO                                  : https
   * ORIGINAL_FULLPATH                                       : /card_programmer/create_card.json
   * ORIGINAL_SCRIPT_NAME                                    :
   * PATH_INFO                                               : /card_programmer/create_card.json
   * QUERY_STRING                                            :
   * REMOTE_ADDR                                             : 127.0.0.1
   * REQUEST_METHOD                                          : POST
   * REQUEST_PATH                                            : /card_programmer/create_card.json
   * REQUEST_URI                                             : /card_programmer/create_card.json
   * ROUTES_13640_SCRIPT_NAME                                :
   * SCRIPT_NAME                                             :
   * SERVER_NAME                                             : www.bikelink.org
   * SERVER_PORT                                             : 443
   * SERVER_PROTOCOL                                         : HTTP/1.0
   * SERVER_SOFTWARE                                         : puma 6.4.0 The Eagle of Durango
   * action_controller.instance                              : #<CardProgrammerController:0x00007a6e75c2c7a8>
   * action_dispatch.authenticated_encrypted_cookie_salt     : [FILTERED]
   * action_dispatch.backtrace_cleaner                       : #<Rails::BacktraceCleaner:0x000057f27c5a3b58>
   * action_dispatch.content_security_policy                 :
   * action_dispatch.content_security_policy_nonce_directives:
   * action_dispatch.content_security_policy_nonce_generator :
   * action_dispatch.content_security_policy_report_only     : false
   * action_dispatch.cookies                                 : #<ActionDispatch::Cookies::CookieJar:0x00007a6e75eaf598>
   * action_dispatch.cookies_digest                          :
   * action_dispatch.cookies_rotations                       : #<ActiveSupport::Messages::RotationConfiguration:0x000057f278ecaac8>
   * action_dispatch.cookies_same_site_protection            : #<Proc:0x000057f28018cfe8 /var/www/bikelink/vendor/bundle/ruby/3.0.0/gems/railties-6.1.7.6/lib/rails/application.rb:636>
   * action_dispatch.cookies_serializer                      : json
   * action_dispatch.encrypted_cookie_cipher                 : [FILTERED]
   * action_dispatch.encrypted_cookie_salt                   : [FILTERED]
   * action_dispatch.encrypted_signed_cookie_salt            : [FILTERED]
   * action_dispatch.http_auth_salt                          : [FILTERED]
   * action_dispatch.key_generator                           : #<ActiveSupport::CachingKeyGenerator:0x000057f280d3f598>
   * action_dispatch.logger                                  : #<ActiveSupport::Logger:0x000057f27be201b0>
   * action_dispatch.parameter_filter                        : [:confirm_password, :credit_card_number, :password, :passw, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn]
   * action_dispatch.permissions_policy                      :
   * action_dispatch.redirect_filter                         : []
   * action_dispatch.remote_ip                               : 172.56.168.195
   * action_dispatch.request.content_type                    : multipart/form-data
   * action_dispatch.request.formats                         : [#<Mime::Type:0x000057f278eb5c68 @synonyms=["text/x-json", "application/jsonrequest"], @symbol=:json, @string="application/json", @hash=406809024092648995>]
   * action_dispatch.request.parameters                      : {"email"=>"jessica.j.montanino@gmail.cm", "password"=>"[FILTERED]", "card"=>{"number"=>"75370", "card_model_id"=>"1"}, "initial_add_value"=>"2000", "controller"=>"card_programmer", "action"=>"create_card", "format"=>"json"}
   * action_dispatch.request.path_parameters                 : {:controller=>"card_programmer", :action=>"create_card", :format=>"json"}
   * action_dispatch.request.query_parameters                : {}
   * action_dispatch.request.request_parameters              : {"email"=>"jessica.j.montanino@gmail.cm", "password"=>"[FILTERED]", "card"=>{"number"=>"75370", "card_model_id"=>"1"}, "initial_add_value"=>"2000"}
   * action_dispatch.request.unsigned_session_cookie         : {}
   * action_dispatch.request_id                              : a13f8584-d2fd-46ce-b4f6-1023d782387a
   * action_dispatch.routes                                  : #<ActionDispatch::Routing::RouteSet:0x000057f27958c118>
   * action_dispatch.secret_key_base                         : [FILTERED]
   * action_dispatch.show_detailed_exceptions                : false
   * action_dispatch.show_exceptions                         : true
   * action_dispatch.signed_cookie_digest                    :
   * action_dispatch.signed_cookie_salt                      : [FILTERED]
   * action_dispatch.use_authenticated_cookie_encryption     : [FILTERED]
   * action_dispatch.use_cookies_with_metadata               : true
   * newrelic.transaction_started                            : true
   * puma.config                                             : #<Puma::Configuration:0x000057f27839c048>
   * puma.request_body_wait                                  : 0.013628959655761719
   * puma.socket                                             : #<UNIXSocket:0x00007a6e75b5f578>
   * rack.after_reply                                        : []
   * rack.errors                                             : #<IO:0x000057f277205848>
   * rack.hijack                                             : #<Puma::Client:0x00007a6e75b5f550>
   * rack.hijack?                                            : true
   * rack.input                                              : #<StringIO:0x00007a6e75b5f168>
   * rack.multiprocess                                       : true
   * rack.multithread                                        : true
   * rack.request.cookie_hash                                : {}
   * rack.request.form_hash                                  : {"email"=>"jessica.j.montanino@gmail.cm", "password"=>"[FILTERED]", "card"=>{"number"=>"75370", "card_model_id"=>"1"}, "initial_add_value"=>"2000"}
   * rack.request.form_input                                 : #<StringIO:0x00007a6e75b5f168>
   * rack.request.query_hash                                 : {}
   * rack.request.query_string                               :
   * rack.run_once                                           : false
   * rack.session                                            : #<ActionDispatch::Request::Session:0x00007a6e75c2efd0>
   * rack.session.options                                    : #<ActionDispatch::Request::Session::Options:0x00007a6e75c2ef80>
   * rack.tempfiles                                          : []
   * rack.url_scheme                                         : https
   * rack.version                                            : [1, 6]
   * warden                                                  : Warden::Proxy:27832020 @config={:default_scope=>:person, :scope_defaults=>{}, :default_strategies=>{:person=>[:two_factor_authenticatable, :two_factor_authenticatable, :rememberable]}, :intercept_401=>false, :failure_app=>#<Devise::Delegator:0x000057f27e9c9f78>}

-------------------------------
Backtrace:
-------------------------------

 app/controllers/card_programmer_controller.rb:36:in `authenticate_person!'
 app/controllers/application_controller.rb:45:in `process_action'
Reload