Move setting availability to sync method
This commit is contained in:
parent
cd164bc3eb
commit
25deefced1
3 changed files with 25 additions and 9 deletions
|
|
@ -181,13 +181,9 @@ class ArticlesController < ApplicationController
|
|||
has_error = true
|
||||
end
|
||||
# Update articles
|
||||
@updated_articles.map{|a| a.save or has_error=true }
|
||||
@updated_articles.each {|a| a.save or has_error=true }
|
||||
# Add new articles
|
||||
@new_articles.each do |article|
|
||||
article.availability = true if @supplier.shared_sync_method == 'all_available'
|
||||
article.availability = false if @supplier.shared_sync_method == 'all_unavailable'
|
||||
article.save or has_error=true
|
||||
end
|
||||
@new_articles.each {|a| a.save or has_error=true }
|
||||
|
||||
raise ActiveRecord::Rollback if has_error
|
||||
end
|
||||
|
|
|
|||
|
|
@ -52,11 +52,16 @@ class Supplier < ApplicationRecord
|
|||
end
|
||||
end
|
||||
# Find any new articles, unless the import is manual
|
||||
unless shared_sync_method == 'import'
|
||||
if ['all_available', 'all_unavailable'].include?(shared_sync_method)
|
||||
# build new articles
|
||||
shared_supplier
|
||||
.shared_articles
|
||||
.where.not(id: existing_articles.to_a)
|
||||
.find_each { |new_shared_article| new_articles << new_shared_article.build_new_article(self) }
|
||||
# make them unavailable when desired
|
||||
if shared_sync_method == 'all_unavailable'
|
||||
new_articles.each {|new_article| new_article.availability = false }
|
||||
end
|
||||
end
|
||||
return [updated_article_pairs, outlisted_articles, new_articles]
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue