diff --git a/app/models/archive_category.rb b/app/models/archive_category.rb index 78e7abc..2ff21e8 100644 --- a/app/models/archive_category.rb +++ b/app/models/archive_category.rb @@ -2,4 +2,33 @@ class ArchiveCategory include Mongoid::Document field :category_id, type: String field :sort_number, type: Integer + after_initialize do |record| + if(!record.new_record? && record.sort_number.class != Fixnum) + record.sort_number = 0 + record.save + elsif(!record.new_record?) + @category = Category.find(record.category_id) rescue nil + if !@category.nil? + @sort_number = @category.sort_number rescue nil + if !@sort_number.nil? + record.sort_number = @sort_number + record.save + end + else + record.destroy + end + end + end + after_save do |record| + @category = Category.find(record.category_id) rescue nil + if !@category.nil? + @sort_number = record.sort_number rescue nil + if !@sort_number.nil? + if !@category.attributes[:sort_number].nil? + @category.sort_number = @sort_number + @category.save + end + end + end + end end \ No newline at end of file diff --git a/app/models/archive_sort_order.rb b/app/models/archive_sort_order.rb index a6563bb..4e27dfe 100644 --- a/app/models/archive_sort_order.rb +++ b/app/models/archive_sort_order.rb @@ -1,4 +1,31 @@ class ArchiveSortOrder include Mongoid::Document field :sort_order, :type => Boolean # true => desc , false => asc + after_initialize do |record| + if(!record.new_record? && record.sort_order.class != FalseClass && record.sort_order.class != TrueClass) + record.sort_order = true + record.save + elsif(!record.new_record?) + @module_app = ModuleApp.where(:key=>'archive').first + if !@module_app.nil? + @asc = @module_app.asc rescue nil + if !@asc.nil? + record.sort_order = @asc + record.save + end + end + end + end + after_save do |record| + @module_app = ModuleApp.where(:key=>'archive').first + if !@module_app.nil? + @sort_order = record.sort_order rescue nil + if !@asc.nil? + if !@module_app.attributes[:asc].nil? + @module_app.asc = @sort_order + @module_app.save + end + end + end + end end \ No newline at end of file diff --git a/app/views/admin/archive_files/categories_order.html.erb b/app/views/admin/archive_files/categories_order.html.erb index 1e2a939..277fd25 100644 --- a/app/views/admin/archive_files/categories_order.html.erb +++ b/app/views/admin/archive_files/categories_order.html.erb @@ -41,6 +41,7 @@ $('.category_sort_number_form').ready(function(){ <% @cats.each do |cat| %> + <% next if cat[0].nil?%> <% all_locales.each_with_index do |locale,index| %>