diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index faf56d5..8053f18 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -135,3 +135,16 @@ footer { footer ul, footer h3 , footer li { margin:10px; } + +a, a:visited { + color:blue; + text-decoration:none; +} + +a:hover { + color:red; + background-color:yellow; + text-decoration:underline; +} + + diff --git a/app/controllers/domains_controller.rb b/app/controllers/domains_controller.rb index 7ce2ea7..e872502 100644 --- a/app/controllers/domains_controller.rb +++ b/app/controllers/domains_controller.rb @@ -36,8 +36,21 @@ class DomainsController < ApplicationController # PATCH/PUT /domains/1 or /domains/1.json def update + pre_domain_name = @domain.domain respond_to do |format| if @domain.update(domain_params) + # now we need to update the credentials and virtuals + + @domain.credentials.each do |credential| + credential.email.sub! pre_domain_name, @domain.domain + credential.save + end + + @domain.virtuals.each do |virtual| + virtual.email.sub! pre_domain_name, @domain.domain + virtual.save + end + format.html { redirect_to domain_url(@domain), notice: "Domain was successfully updated." } format.json { render :show, status: :ok, location: @domain } else diff --git a/app/models/domain.rb b/app/models/domain.rb index fd47f47..7480315 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -5,6 +5,7 @@ class Domain < ApplicationRecord has_many :virtuals, dependent: :destroy validates :domain, presence: true validates :domain, uniqueness: true + validates :domain, format: { with: /\A(((?!-))(xn--|_)?[a-z0-9-]{0,61}[a-z0-9]{1,1}\.)*(xn--)?([a-z0-9][a-z0-9\-]{0,60}|[a-z0-9-]{1,30}\.[a-z]{2,})\z/, message: "domain not valid" } private def create_abuse_postmaster diff --git a/app/views/domains/_form.html.erb b/app/views/domains/_form.html.erb index 4dd9f60..85b516f 100644 --- a/app/views/domains/_form.html.erb +++ b/app/views/domains/_form.html.erb @@ -12,11 +12,13 @@ <% end %>