Project

General

Profile

Bug #19541

UserMailNotification records are not set up properly when a mail notification is added.

Added by Shimon Shtein over 1 year ago. Updated 2 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Rails
Target version:
Difficulty:
Triaged:
Bugzilla link:
Team Backlog:
Fixed in Releases:
Found in Releases:

Description

When assigning one-to-many associations we should use after(:create) hook to add those associations properly.

Associated revisions

Revision 7b085199 (diff)
Added by Shimon Shtein over 1 year ago

Fixes #19541 - properly mark user <-> mail_notification relation

Mark `:inverse_of` on `User` and `UserMailNotification` objects
so the relation properties would be set automatically, even for
new in-memory instances.

History

#1 Updated by The Foreman Bot over 1 year ago

  • Status changed from New to Ready For Testing
  • Pull request https://github.com/theforeman/foreman/pull/4531 added

#2 Updated by Ivan Necas over 1 year ago

  • Target version set to 1.13.3

#3 Updated by Shimon Shtein over 1 year ago

  • Subject changed from Fix user factory's :with_mail_notification trait to UserMailNotification records are not set up properly when a mail notification is added.

When using new in-memory objects, the association objects are not set up correctly without :inverse_of option.

to reproduce:

User.new(:login => 'zzz', :mail_notifications => [MailNotification.new]).user_mail_notifications.first.user

This statement will return nil, but should return a reference to the newly created user.
This happens due to the fact that inverse_of is not set.
After setting proper inverse_of, Active Record will point UserMailNotification#user property to the newly created user in this example.

#4 Updated by Dominic Cleal over 1 year ago

  • Category set to Rails

#5 Updated by Shimon Shtein over 1 year ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100

#6 Updated by Marek Hulán over 1 year ago

  • Legacy Backlogs Release (now unused) set to 240

Also available in: Atom PDF