greeting_card/app/models/greeting_card_email.rb

36 lines
1.2 KiB
Ruby
Raw Permalink Normal View History

2024-12-02 00:35:08 +00:00
class GreetingCardEmail
include Mongoid::Document
include Mongoid::Timestamps
field :category_id
field :year, type: Integer
field :sending_time, type: DateTime
field :is_sent, :type => Boolean, :default => false
belongs_to :member_profile
belongs_to :email, dependent: :destroy
belongs_to :greeting_card_record, dependent: :destroy, index: true
index({category_id: 1, year: -1, sending_time: -1, member_profile_id: 1}, { unique: false, background: true })
def email_sent(mails, flag)
if flag # Generate next record when email is sent
new_sending_time = self.sending_time + 1.year
new_email_record = self.dup
new_record = self.greeting_card_record.dup
new_email_record.year += 1
new_email_record.sending_time = new_sending_time
new_record.sending_time = new_sending_time
new_email = self.email.dup
new_email.mail_sentdate = new_sending_time
new_email.template_data["model_id"] = new_email_record.id
new_email.save
new_record.email_id = new_email.id
new_email_record.email_id = new_email.id
new_email_record.greeting_card_record = new_record
new_record.save
new_email_record.save
self.update(is_sent: true)
end
end
end