diff --git a/app/controllers/learning_objects_controller.rb b/app/controllers/learning_objects_controller.rb index 2c463af5a3cbfcb046d10e10bd1d3f2abffc838e..90547b9f3daae7405281c27b8c98f77af2e3a6c9 100644 --- a/app/controllers/learning_objects_controller.rb +++ b/app/controllers/learning_objects_controller.rb @@ -4,7 +4,6 @@ class LearningObjectsController < ApplicationController include Reportable before_action :authenticate_user!, except: [:index, :show] - before_action :set_learning_object, only: [:show, :edit, :update, :destroy, :like, :bookmarks, :collections, :upload, :upload_link, :download] @@ -21,7 +20,7 @@ class LearningObjectsController < ApplicationController def new @learning_object = LearningObject.new @school_levels = ['Educação Infantil', 'Ensino Fundamental', 'Ensino Médio'] - @subjects = Topic.all.map{|x| x.name}.uniq + @subjects = Topic.defaults @types = LearningObject.default_types @languages = Language.all end diff --git a/app/models/topic.rb b/app/models/topic.rb index deb70dd632a7b3783cd437e452a425cebd474794..75c0c3a8b8d4bf2b00ae9401dfa0413bbd4b86e0 100644 --- a/app/models/topic.rb +++ b/app/models/topic.rb @@ -10,10 +10,5 @@ class Topic < ActiveRecord::Base validates_presence_of :name validates_uniqueness_of :name - def self.default_list - ['Artes', 'Biologia', 'Ciências', 'Educação FÃsica', 'Filosofia', - 'FÃsica', 'Geografia', 'História', 'Matemática', 'LÃngua Portuguesa', 'QuÃmica', 'Sociologia'].map do |topic| - Topic.find_by_name(topic) - end - end + scope :defaults, -> { where(default: true) } end diff --git a/db/migrate/20160217122253_create_default_column_for_topics.rb b/db/migrate/20160217122253_create_default_column_for_topics.rb new file mode 100644 index 0000000000000000000000000000000000000000..e638dabac04930835e3496dafe329d73b1b9ba87 --- /dev/null +++ b/db/migrate/20160217122253_create_default_column_for_topics.rb @@ -0,0 +1,5 @@ +class CreateDefaultColumnForTopics < ActiveRecord::Migration + def change + add_column :topics, :default, :boolean, default: false + end +end diff --git a/lib/tasks/topics.rake b/lib/tasks/topics.rake new file mode 100644 index 0000000000000000000000000000000000000000..a38e55318e994d168a64501b7fff3dbf297e8113 --- /dev/null +++ b/lib/tasks/topics.rake @@ -0,0 +1,15 @@ +namespace :topics do + + desc "Define defaults topics" + task :define_defaults => :environment do + ['Artes', 'Biologia', 'Ciências', 'Educação FÃsica', 'Filosofia', + 'FÃsica', 'Geografia', 'História', 'Matemática', 'LÃngua Portuguesa', 'QuÃmica', 'Sociologia'].map do |name| + t = Topic.find_by_name(name) + if t.class == Topic + t.default = true + t.save + end + end + end + +end