diff --git a/.gitignore b/.gitignore index decbcede3..d2946aadd 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,5 @@ # Do not commit one. Instead, download the latest from https://github.com/internetee/style-guide. .rubocop.yml /lib/tasks/mock.rake - .DS_Store -/node_modules \ No newline at end of file +/node_modules diff --git a/Dockerfile b/Dockerfile index 3d065e5bb..b3d32624d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,11 @@ FROM internetee/ruby:3.0-buster +RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4EB27DB2A3B88B8B +RUN apt-get update && apt-get install -y --no-install-recommends \ + git \ + postgresql-client \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + RUN mkdir -p /opt/webapps/app/tmp/pids WORKDIR /opt/webapps/app COPY Gemfile Gemfile.lock ./ diff --git a/app/models/concerns/email_verifable.rb b/app/models/concerns/email_verifable.rb index dec2582af..1973e0628 100644 --- a/app/models/concerns/email_verifable.rb +++ b/app/models/concerns/email_verifable.rb @@ -3,6 +3,22 @@ module EmailVerifable included do scope :recently_not_validated, -> { where.not(id: ValidationEvent.validated_ids_by(name)) } + + after_save :verify_email, if: :email_changed? + end + + def remove_force_delete + domains.each do |domain| + contact_emails_valid?(domain) ? domain.cancel_force_delete : domain.schedule_force_delete + end + end + + def contact_emails_valid?(domain) + domain.contacts.each do |c| + return false unless c.need_to_lift_force_delete? + end + + domain.registrant.need_to_lift_force_delete? end def email_verification_failed?