prevent the personal plugin from being deleted by rake of the user that not using sync
This commit is contained in:
parent
985d4303df
commit
afa1740f91
|
@ -3,6 +3,8 @@ module NtnuSyncPlugin
|
|||
def self.sync_journal_papers(query_result, user)
|
||||
puts "Journal Paper for user: #{user.user_name}"
|
||||
journal_papers = query_result.select { |data| data['ER_ACCOUNT'] == user.user_name && data['EI_SN'] == '20100421092921000' }
|
||||
return if journal_papers.count == 0
|
||||
JournalPaper.where(member_profile_id: user.member_profile_id).destroy
|
||||
journal_papers.each do |journal_paper|
|
||||
j_data = JSON.parse(journal_paper['JDATA'])
|
||||
jp = JournalPaper.new
|
||||
|
@ -47,6 +49,8 @@ module NtnuSyncPlugin
|
|||
def self.sync_conference_papers(query_result, user)
|
||||
puts "Conference Paper for user: #{user.user_name}"
|
||||
conference_papers = query_result.select { |data| data['ER_ACCOUNT'] == user.user_name && data['EI_SN'] == '20100504082700357' }
|
||||
return if conference_papers.count == 0
|
||||
WritingConference.where(member_profile_id: user.member_profile_id).destroy
|
||||
conference_papers.each do |conference_paper|
|
||||
j_data = JSON.parse(conference_paper['JDATA'])
|
||||
wc = WritingConference.new
|
||||
|
@ -106,6 +110,8 @@ module NtnuSyncPlugin
|
|||
def self.sync_projects(query_result, user)
|
||||
puts "Projects for user: #{user.user_name}"
|
||||
projects = query_result.select { |data| data['ER_ACCOUNT'] == user.user_name && data['EI_SN'] == '20101113165022345' }
|
||||
return if projects.count == 0
|
||||
Project.where(member_profile_id: user.member_profile_id).destroy
|
||||
projects.each do |project|
|
||||
j_data = JSON.parse(project['JDATA'])
|
||||
pj = Project.new
|
||||
|
@ -161,9 +167,7 @@ module NtnuSyncPlugin
|
|||
puts "Academic treatise books for user: #{user.user_name}"
|
||||
book_type = BookType.where('title.en' => 'academic treatise books')
|
||||
books = query_result.select { |data| data['ER_ACCOUNT'] == user.user_name && data['EI_SN'] == '20101113154035616' }
|
||||
|
||||
return if books.empty?
|
||||
|
||||
books.each do |book|
|
||||
j_data = JSON.parse(book['JDATA'])
|
||||
bk = Book.new
|
||||
|
@ -215,9 +219,7 @@ module NtnuSyncPlugin
|
|||
puts "Academic book chapters for user: #{user.user_name}"
|
||||
book_type = BookType.where('title.en' => 'academic book chapters')
|
||||
books = query_result.select { |data| data['ER_ACCOUNT'] == user.user_name && data['EI_SN'] == '20101113154120441' }
|
||||
|
||||
return if books.empty?
|
||||
|
||||
books.each do |book|
|
||||
j_data = JSON.parse(book['JDATA'])
|
||||
bk = Book.new
|
||||
|
@ -273,9 +275,7 @@ module NtnuSyncPlugin
|
|||
puts "Officially published university textbooks for user: #{user.user_name}"
|
||||
book_type = BookType.where('title.en' => 'officially published university textbooks')
|
||||
books = query_result.select { |data| data['ER_ACCOUNT'] == user.user_name && data['EI_SN'] == '20101117102418434' }
|
||||
|
||||
return if books.empty?
|
||||
|
||||
books.each do |book|
|
||||
j_data = JSON.parse(book['JDATA'])
|
||||
bk = Book.new
|
||||
|
@ -327,9 +327,7 @@ module NtnuSyncPlugin
|
|||
puts "Other authored works for user: #{user.user_name}"
|
||||
book_type = BookType.where('title.en' => 'other authored works')
|
||||
books = query_result.select { |data| data['ER_ACCOUNT'] == user.user_name && data['EI_SN'] == '20101117111154107' }
|
||||
|
||||
return if books.empty?
|
||||
|
||||
books.each do |book|
|
||||
j_data = JSON.parse(book['JDATA'])
|
||||
bk = Book.new
|
||||
|
@ -438,13 +436,6 @@ namespace :sync_ntnu_personal_plugins do
|
|||
query_result.each do |data|
|
||||
available_accounts.add data["ER_ACCOUNT"]
|
||||
end
|
||||
|
||||
# Remove Old JournalPaper, xxx, ...
|
||||
JournalPaper.destroy_all
|
||||
WritingConference.destroy_all
|
||||
Project.destroy_all
|
||||
Book.destroy_all
|
||||
|
||||
# Create book types
|
||||
NtnuSyncPlugin.define_book_types
|
||||
|
||||
|
@ -455,6 +446,17 @@ namespace :sync_ntnu_personal_plugins do
|
|||
NtnuSyncPlugin.sync_journal_papers(query_result, user)
|
||||
NtnuSyncPlugin.sync_conference_papers(query_result, user)
|
||||
NtnuSyncPlugin.sync_projects(query_result, user)
|
||||
books_for_user = query_result.select do |data|
|
||||
tmp = (data['ER_ACCOUNT'] == user.user_name)
|
||||
tmp1 = (data['EI_SN'] == '20101113154035616')
|
||||
tmp2 = (data['EI_SN'] == '20101113154120441')
|
||||
tmp3 = (data['EI_SN'] == '20101117102418434')
|
||||
tmp4 = (data['EI_SN'] == '20101117111154107')
|
||||
tmp && (tmp1 || tmp2 || tmp3 || tmp4)
|
||||
end
|
||||
if books_for_user.count != 0
|
||||
Book.where(member_profile_id: user.member_profile_id,:pages=>nil).destroy
|
||||
end
|
||||
NtnuSyncPlugin.sync_academic_treatise_books(query_result, user)
|
||||
NtnuSyncPlugin.sync_academic_book_chapters(query_result, user)
|
||||
NtnuSyncPlugin.sync_officially_published_university_textbooks(query_result, user)
|
||||
|
|
Loading…
Reference in New Issue