diff --git a/app/builders/learning_object_builder.rb b/app/builders/learning_object_builder.rb index e494291a7d981a88c53460dcae78e2e62df2edd0..840711e9cab1c55cf794389abdab1521c8c9f339 100644 --- a/app/builders/learning_object_builder.rb +++ b/app/builders/learning_object_builder.rb @@ -7,7 +7,7 @@ class LearningObjectBuilder # def self.build(objects = []) lo = [] - objects = [objects] if objects.class == String + objects = [objects] if objects.class == String || objects.class == Hash objects.each do |object| unless object['rid'].blank? o = Rails.cache.fetch(cache_key(object['rid'], object['last_modified'])) unless object['last_modified'].blank? @@ -31,15 +31,15 @@ class LearningObjectBuilder # cache object when build lo = Rails.cache.fetch(cache_key(args['@rid'], args['last_modified']), expires_in: 12.hours) do obj = LearningObject.new( - id: args['@rid'], - name: args['name'], - description: args['description'], - thumbnail: (args['thumbnail'] or ''), - id_dspace: args['id_dspace'], - type: args['type'], - bitstreams: args['bitstreams'], - last_modified: args['last_modified'], - metadata: JSON.parse(args['metadata']) + id: args['@rid'], + name: args['name'], + description: args['description'], + thumbnail: (args['thumbnail'] or ''), + id_dspace: args['id_dspace'], + type: args['type'], + bitstreams: args['bitstreams'], + last_modified: args['last_modified'], + metadata: JSON.parse(args['metadata']) ) obj.created_at = DateTime.strptime(args['created_at'], "%Y-%m-%d %H:%M:%S") unless args['created_at'].nil? obj.last_modified = DateTime.strptime(args['last_modified'], "%Y-%m-%d %H:%M:%S") unless args['last_modified'].nil? diff --git a/app/controllers/learning_objects_controller.rb b/app/controllers/learning_objects_controller.rb index 7d813085d557f243edc4b552fede99d4e433f2e7..f2288acb2cf378597270251ed189ffa6d6213261 100644 --- a/app/controllers/learning_objects_controller.rb +++ b/app/controllers/learning_objects_controller.rb @@ -1,7 +1,7 @@ class LearningObjectsController < ApplicationController before_action :set_learning_object, only: [:show, :edit, :update, :destroy, :like, :bookmarks, :collections] after_action :increment_learning_object_views, only: [:show] - before_action :authenticate_user!, except: [:index, :show, :like] + before_action :authenticate_user!, except: [:index, :show] before_action :set_complaint_messages, only: :show # GET /learning_objects diff --git a/app/repositories/orient_db/collection_repository.rb b/app/repositories/orient_db/collection_repository.rb index c1d6f2636feb0d61517fd756da61cb0bdb2d611f..a64af220cbdac2fe35f088e27a26d983472b0167 100644 --- a/app/repositories/orient_db/collection_repository.rb +++ b/app/repositories/orient_db/collection_repository.rb @@ -13,7 +13,7 @@ module OrientDb end connection.command sprintf('update %s REMOVE learning_objects', collection.id) - connection.command sprintf("update %s ADD learning_objects = [%s] SET last_modified='#{Time.now()}'", collection.id, collection.learning_objects.map(&:id).join(',')) + connection.command sprintf("update %s ADD learning_objects = [%s] SET last_modified='%s'", collection.id, collection.learning_objects.map(&:id).join(','), Time.now()) end def get_number_of_collections @@ -46,8 +46,8 @@ module OrientDb ## # Select all collections in context def all(context = Collections::PublicContext.new) - query = sprintf("select * from %s where name<>'Bookmarks'", context.from) - query += sprintf("and privacy = '%s'", context.privacy) unless context.privacy.blank? + query = sprintf("select * from %s where name<>'Bookmarks' ", context.from) + query += sprintf(" and privacy = '%s'", context.privacy) unless context.privacy.blank? build_objects connection.query(query) end diff --git a/app/repositories/orient_db/learning_object_repository.rb b/app/repositories/orient_db/learning_object_repository.rb index 96eb55b717ea2c4eb741e6ad30f304d42a7bc9ec..524422f8673cf22fcb7b894caf87cdd0aa975052 100644 --- a/app/repositories/orient_db/learning_object_repository.rb +++ b/app/repositories/orient_db/learning_object_repository.rb @@ -17,7 +17,7 @@ module OrientDb if !edge_exists? "Views", user.rid, learning_object.id create_and_set_edge "Views", user.rid, learning_object.id, values learning_object.views = learning_object.views + 1 - # If exists, update the date property of view + # If exists, update the date property of view else edge = get_edges "Views", "in", learning_object.id edge = edge.first @@ -132,16 +132,8 @@ module OrientDb build_object result.first end - ## - # This method return all learning objects of +user+ scope. - # - # No users have objects. - # Learning Object submission was not implemented yet. - # For now, an empty array is returned. def all(user) - #result = select_by_property(odb_class, "p_id", user.id) - #build_objects result - [] + build_objects(get_edges_end('PublishedBy', 'out', user.rid) || []) end def all_by_score_from_offset_to_limit(offset, limit) @@ -305,19 +297,19 @@ module OrientDb def max_likes Rails.cache.fetch('max_likes', expires_in: 6.hours) do - get_max_from_edge("Likes","in") + get_max_from_edge("Likes", "in") end end def max_views Rails.cache.fetch('max_views', expires_in: 6.hours) do - get_max_from_edge("Views","in") + get_max_from_edge("Views", "in") end end def max_downloads Rails.cache.fetch('max_downloads', expires_in: 6.hours) do - get_max_from_edge("Downloads","in") + get_max_from_edge("Downloads", "in") end end diff --git a/app/views/welcome/collection.html.erb b/app/views/welcome/collection.html.erb deleted file mode 100644 index c8d1afb594127908b3cd8312488fa5bb4113aab2..0000000000000000000000000000000000000000 --- a/app/views/welcome/collection.html.erb +++ /dev/null @@ -1,73 +0,0 @@ - - -<nav class="navigation navbar-default "><br/> -<div class="container-fluid"> - <div class="navbar-right"> - <%= link_to 'http://www.fnde.gov.br/' do %> - <%= image_tag 'icons/collection-download.png', style: 'width: auto; height: 40px; margin-right: 20px;' %><span style="margin-right: 30px;"><button class="but but-shadow but-rc">Editar Coleção</button></span> - <% end %> - </div> - <div class="navbar-header"> - <%= image_tag image_path("icons/collection.png"), class: "logo-image",size: "90x66" %> - <ul class="nav navbar-nav navbar-right"><h1> <b>Coleção 1</b></h1> <br/> - <%= image_tag image_path("icons/square.png"), class: "logo-image",size: "20x20" %> 200 itens</ul> - </div> -</div> -<br/></nav> -<nav class="navigation navbar-inverse "> - <div class="container-fluid"> - <a class="navbar-brand" href="#"><font color="FFFFFF">x arquivo(s) selecionado(s)</font></a> - <ul class="nav navbar-nav navbar-right"> - <li class="set-align"><a href="#"><span class="left-edge"><%= image_tag image_path("icons/Download_01.png"), class: "logo-image",size: "35x35" %></span><font color="FFFFFF"> Salvar no <br>computador</font></br></a></li> - <li class="set-align"><a href="#"><span class="left-edge"><%= image_tag image_path("icons/Copiar_Seleção.png"), class: "logo-image",size: "35x35" %></span><font color="FFFFFF"> Copiar <br>para</font></br></a></li> - <li class="set-align"><a href="#"><span class="left-edge"><%= image_tag image_path("icons/Mover_Seleção.png"), class: "logo-image",size: "35x35" %></span><font color="FFFFFF"> Mover <br>para</font></br></a></li> - <li class="set-align"><a href="#"><span class="left-edge"><%= image_tag image_path("icons/Remover_da_Coleção_Seleção.png"), class: "logo-image",size: "35x35" %></span><font color="FFFFFF"> Remover da <br>coleção</font></br></a></li> - </ul> - </div> -</nav> - -<div class="row mainpage-subjects"> - <br/> - <div class="col-md-4"> - <div class="thumb"> - <input type="checkbox" class="chk " checked="checked" name="" value="0" /> - <%= image_tag image_path('learning-object-preview.png'), class: "logo" %>Obj1 - </div><br/> - <div class="thumb"> - <input type="checkbox" class="chk " checked="checked" name="" value="0" /> - <%= image_tag image_path('learning-object-preview.png'), class: "logo" %>Obj4 - </div><br/> - <div class="thumb"> - <input type="checkbox" class="chk " checked="checked" name="" value="0" /> - <%= image_tag image_path('learning-object-preview.png'), class: "logo" %>Obj7 - </div> - </div> - <div class="col-md-4"> - <div class="thumb"> - <input type="checkbox" class="chk " checked="checked" name="" value="0" /> - <%= image_tag image_path('learning-object-preview.png'), class: "logo" %>Obj2 - </div><br/> - <div class="thumb"> - <input type="checkbox" class="chk " checked="checked" name="" value="0" /> - <%= image_tag image_path('learning-object-preview.png'), class: "logo" %>Obj5 - </div><br/> - <div class="thumb"> - <input type="checkbox" class="chk " checked="checked" name="" value="0" /> - <%= image_tag image_path('learning-object-preview.png'), class: "logo" %>Obj8 - </div> - </div> - <div class="col-md-4"> - <div class="thumb"> - <input type="checkbox" class="chk " checked="checked" name="" value="0" /> - <%= image_tag image_path('learning-object-preview.png'), class: "logo" %>Obj3 - </div><br/> - <div class="thumb"> - <input type="checkbox" class="chk " checked="checked" name="" value="0" /> - <%= image_tag image_path('learning-object-preview.png'), class: "logo" %>Obj6 - </div><br/> - <div class="thumb"> - <input type="checkbox" class="chk " checked="checked" name="" value="0" /> - <%= image_tag image_path('learning-object-preview.png'), class: "logo" %>Obj9 - </div> - </div> -</div> diff --git a/config/initializers/repositories/repositories.rb b/config/initializers/repositories/repositories.rb index f7d3c35d3a535fbda79aab1fc23ca0e80bc2451b..8938e4a2a3ad7aabef8a236e7e80a69b6a7cd4b0 100644 --- a/config/initializers/repositories/repositories.rb +++ b/config/initializers/repositories/repositories.rb @@ -33,23 +33,27 @@ Repository::Environments.create :development do |repository| end Repository::Environments.create :test do |repository| - repository.register :carousel, ActiveRecord::CarouselRepository.new - repository.register :complaint, OrientDb::ComplaintRepository.new(OrientDb::Client.instance) repository.register :learning_object, OrientDb::LearningObjectRepository.new(OrientDb::Client.instance) repository.register :mainPage, OrientDb::MainPageRepository.new(OrientDb::Client.instance) repository.register :user, UserRepositoryProxy.new(OrientDb::UserRepository.new(OrientDb::Client.instance)) repository.register :subject, OrientDb::SubjectRepository.new(OrientDb::Client.instance) + repository.register :institution, OrientDb::InstitutionRepository.new(OrientDb::Client.instance) + repository.register :subject, OrientDb::SubjectRepository.new(OrientDb::Client.instance) repository.register :attribute, OrientDb::AttributeRepository.new(OrientDb::Client.instance) repository.register :collection, OrientDb::CollectionRepository.new(OrientDb::Client.instance) + repository.register :carousel, ActiveRecord::CarouselRepository.new + repository.register :complaint, OrientDb::ComplaintRepository.new(OrientDb::Client.instance) end Repository::Environments.create :production do |repository| - repository.register :carousel, ActiveRecord::CarouselRepository.new - repository.register :complaint, OrientDb::ComplaintRepository.new(OrientDb::Client.instance) repository.register :learning_object, OrientDb::LearningObjectRepository.new(OrientDb::Client.instance) repository.register :mainPage, OrientDb::MainPageRepository.new(OrientDb::Client.instance) repository.register :user, UserRepositoryProxy.new(OrientDb::UserRepository.new(OrientDb::Client.instance)) repository.register :subject, OrientDb::SubjectRepository.new(OrientDb::Client.instance) + repository.register :institution, OrientDb::InstitutionRepository.new(OrientDb::Client.instance) + repository.register :subject, OrientDb::SubjectRepository.new(OrientDb::Client.instance) repository.register :attribute, OrientDb::AttributeRepository.new(OrientDb::Client.instance) repository.register :collection, OrientDb::CollectionRepository.new(OrientDb::Client.instance) + repository.register :carousel, ActiveRecord::CarouselRepository.new + repository.register :complaint, OrientDb::ComplaintRepository.new(OrientDb::Client.instance) end diff --git a/config/routes.rb b/config/routes.rb index 987b61e4ce300c1a7afd4769f6ca3349289ebd77..eedad4187f98b92e4f00fcdebbd5c4cddd21586d 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -9,9 +9,10 @@ Rails.application.routes.draw do namespace :management do root 'welcome#index' - resource :complaints resources :institutions + resources :highlights + resources :carousels resources :statistics do collection do @@ -31,13 +32,13 @@ Rails.application.routes.draw do get :admins end end - resources :highlights - resources :carousels mount Sidekiq::Web, at: '/sidekiq' end root 'welcome#index' + resources :subjects, only: [:index, :show] + resources :institutions resources :learning_objects do member do @@ -47,7 +48,6 @@ Rails.application.routes.draw do end end - resources :institutions resources :collections do member do # add a learning object for some collection @@ -58,9 +58,6 @@ Rails.application.routes.draw do end end - resources :subjects, only: [:index, :show] - #resources :complaints, only: [:create, :destroy] - resources :users, only: [:show] do collection do get :me