Incompatibilidade entre os plugins Cakeday, Data-Explorer e Animated Avatar

Olá @piffy :slight_smile:

Para sua informação, instalei o Animated Avatars no meu site de teste (junto com o Cakeday :cake:) e acho que consigo replicar este erro. :+1:

  • Instale e ative ambos os plugins
  • Use código bacana no console Rails [1] para definir a data de ingresso do usuário de teste como um ano atrás hoje
  • Acesse /cakeday/anniversaries/today
  • Erro 500
Message (4 copies reported)

ActiveModel::MissingAttributeError (missing attribute: admin)
app/models/concerns/roleable.rb:14:in `staff?'
lib/plugin/instance.rb:297:in `public_send'
lib/plugin/instance.rb:297:in `block (2 levels) in add_to_class'
(eval):8:in `_fast_attributes'
app/controllers/application_controller.rb:521:in `serialize_data'
app/controllers/application_controller.rb:414:in `block in with_resolved_locale'
app/controllers/application_controller.rb:414:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/middleware/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:366:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:228:in `call'

Backtrace

activemodel (7.0.3.1) lib/active_model/attribute.rb:226:in `value'
activemodel (7.0.3.1) lib/active_model/attribute_set/builder.rb:43:in `fetch_value'
activerecord (7.0.3.1) lib/active_record/attribute_methods/read.rb:38:in `_read_attribute'
activemodel (7.0.3.1) lib/active_model/attribute_methods.rb:277:in `admin'
app/models/concerns/roleable.rb:14:in `staff?'
plugins/discourse-animated-avatars/plugin.rb:90:in `block (2 levels) in activate!'
lib/plugin/instance.rb:297:in `public_send'
lib/plugin/instance.rb:297:in `block (2 levels) in add_to_class'
activesupport (7.0.3.1) lib/active_support/core_ext/object/try.rb:15:in `public_send'
activesupport (7.0.3.1) lib/active_support/core_ext/object/try.rb:15:in `try'

Pensei que poderia tentar uma maneira mais fácil e fazer o mesmo nos aniversários para evitar mexer no console Rails, mas /cakeday/birthdays/today pareceu funcionar bem.


  1. user = User.where(username: ‘Test_Three’)
    user.update(created_at: “2022-01-11 00:00:00.00000”) ↩︎

2 curtidas