Skip to content
Snippets Groups Projects
Commit c0c4fc05 authored by Arnaud Levy's avatar Arnaud Levy
Browse files

à tester

parent 9bc77a3c
No related branches found
No related tags found
No related merge requests found
......@@ -27,10 +27,6 @@ class Server::WebsitesController < Server::ApplicationController
def update
@website.update(website_params)
@website.recursive_dependencies.each do |dependency|
next unless dependency.respond_to?(:university_id)
dependency.update_column :university_id, @website.university_id
end
redirect_to server_website_path(@website), notice: t('admin.successfully_updated_html', model: @website.to_s)
end
......
......@@ -81,6 +81,7 @@ class Communication::Website < ApplicationRecord
validates :default_image, size: { less_than: 5.megabytes }
before_validation :sanitize_fields
after_save :manage_university_change
scope :ordered, -> { order(:name) }
scope :in_production, -> { where(in_production: true) }
......@@ -155,4 +156,21 @@ class Communication::Website < ApplicationRecord
self.repository = Osuny::Sanitizer.sanitize(self.repository, 'string')
self.url = Osuny::Sanitizer.sanitize(self.url, 'string')
end
def manage_university_change
if saved_change_to_university_id?
recursive_dependencies.each do |dependency|
reconnect_dependency dependency
end
end
end
def reconnect_dependency(dependency)
return unless dependency.respond_to?(:university_id)
# vérifier par les connexions qu'un objet indirect n'est pas utilisé dans un autre website
return if dependency.connections.where.not(website: self).any?
# il faut si l'objet est une person déconnecter le user éventuellement associé.
dependency.update_column :user_id, nil if dependency.is_a? University::Person
dependency.update_column :university_id, university_id
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment