Skip to content
Snippets Groups Projects
Commit 44fd1fa2 authored by Mateus Rambo Strey's avatar Mateus Rambo Strey
Browse files

some visual fixes

parent 2a51ada5
No related branches found
No related tags found
No related merge requests found
...@@ -137,7 +137,7 @@ header { ...@@ -137,7 +137,7 @@ header {
// search // search
.search-input { .search-input {
margin-top: 40px; margin-top: 40px;
margin-bottom: 5px; margin-bottom: 22px;
text-align: right; text-align: right;
// text input // text input
......
...@@ -4,11 +4,16 @@ class ApplicationController < ActionController::Base ...@@ -4,11 +4,16 @@ class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception. # Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead. # For APIs, you may want to use :null_session instead.
protect_from_forgery with: :null_session protect_from_forgery with: :null_session
before_action :count_learning_objects
before_action :configure_permitted_parameters, if: :devise_controller? before_action :configure_permitted_parameters, if: :devise_controller?
before_action :set_current_user_collections, if: :user_signed_in? before_action :set_current_user_collections, if: :user_signed_in?
protected protected
def count_learning_objects
@learning_object_count = learning_object_repository.count_all
end
def set_current_user_collections def set_current_user_collections
@user_collections = collection_repository.all Collections::UserContext.new(current_user) @user_collections = collection_repository.all Collections::UserContext.new(current_user)
end end
......
...@@ -4,10 +4,9 @@ class SearchController < ApplicationController ...@@ -4,10 +4,9 @@ class SearchController < ApplicationController
def index def index
@types = learning_object_repository.types @types = learning_object_repository.types
@subjects = ['Arte', 'Biologia', 'Ciências', 'Educação Física', 'Filosofia', 'Física', 'Geografia', 'História', 'Matemática', 'Português', 'Química', 'Sociologia'] @subjects = Subject.default_list
# 'Ensino Infantil' and 'Ensino Superior' will only exist after creation of new learning objects or update of the old ones @school_levels = ['Educação Infantil', 'Ensino Fundamental', 'Ensino Médio']
@school_levels = ['Ensino Infantil', 'Ensino Fundamental Inicial', 'Ensino Fundamental', 'Ensino Fundamental Final', 'Ensino Médio', 'Ensino Superior', 'Ensino Profissionalizante']
end end
def fetch def fetch
......
...@@ -13,4 +13,8 @@ class Subject ...@@ -13,4 +13,8 @@ class Subject
def subject_repository def subject_repository
Portalmec::Application.repository.for :subject Portalmec::Application.repository.for :subject
end end
def self.default_list
['Arte', 'Biologia', 'Ciências', 'Educação Física', 'Filosofia', 'Física', 'Geografia', 'História', 'Matemática', 'Português', 'Química', 'Sociologia']
end
end end
...@@ -13,7 +13,7 @@ module OrientDb ...@@ -13,7 +13,7 @@ module OrientDb
def increment_views(user, learning_object) def increment_views(user, learning_object)
values = {date: sanitize_orientdb_values(Time.now)} values = {date: sanitize_orientdb_values(Time.now)}
# If doesn't exist edges from user and learning object, create it and increment attribute # If doesn't exist edges from user and learning object, create it and increment attribute
if !edge_exists? "Views", user.rid, learning_object.id if !edge_exists? "Views", user.rid, learning_object.id
create_and_set_edge "Views", user.rid, learning_object.id, values create_and_set_edge "Views", user.rid, learning_object.id, values
learning_object.views = learning_object.views + 1 learning_object.views = learning_object.views + 1
...@@ -30,7 +30,7 @@ module OrientDb ...@@ -30,7 +30,7 @@ module OrientDb
def download(user, learning_object) def download(user, learning_object)
download_edge_class = 'Downloads' download_edge_class = 'Downloads'
values = {date: sanitize_orientdb_values(Time.now)} values = {date: sanitize_orientdb_values(Time.now)}
create_and_set_edge download_edge_class, user.rid, learning_object.id, values create_and_set_edge download_edge_class, user.rid, learning_object.id, values
learning_object.downloads = learning_object.downloads + 1 learning_object.downloads = learning_object.downloads + 1
end end
...@@ -57,7 +57,7 @@ module OrientDb ...@@ -57,7 +57,7 @@ module OrientDb
if !liked? user, learning_object if !liked? user, learning_object
# The properties of edge. In this case, only date for edge 'Likes' # The properties of edge. In this case, only date for edge 'Likes'
values = {date: sanitize_orientdb_values(Time.now)} values = {date: sanitize_orientdb_values(Time.now)}
create_and_set_edge like_edge_class, user.rid, learning_object.id, values create_and_set_edge like_edge_class, user.rid, learning_object.id, values
learning_object.likes = learning_object.likes + 1 learning_object.likes = learning_object.likes + 1
end end
...@@ -234,9 +234,12 @@ module OrientDb ...@@ -234,9 +234,12 @@ module OrientDb
'score DESC' 'score DESC'
end end
query = "SELECT FROM LearningObject WHERE [name, description] LUCENE '#{qry}'" query = "SELECT FROM LearningObject WHERE [name, description, author] LUCENE '#{qry}'"
query = query + " AND out('IsAbout') CONTAINS (name in ['" + params[:subject].join("','") + "'])" unless params[:subject].blank? query += " AND out('IsAbout') CONTAINS (name in ['" + params[:subject].join("','") + "'])" unless params[:subject].blank?
query = query + " AND out('IsAbout') CONTAINS (name in ['" + params[:school_level].join("','") + "'])" unless params[:school_level].blank? unless params[:school_level].blank?
params[:school_level] << 'Ensino Fundamental Inicial' << 'Ensino Fundamental Final' if params[:school_level].include? 'Ensino Fundamental'
query += " AND out('IsAbout') CONTAINS (name in ['" + params[:school_level].join("','") + "'])"
end
query = "SELECT * FROM (" + query + ") WHERE " + fetch_types(params[:type]) unless params[:type].blank? query = "SELECT * FROM (" + query + ") WHERE " + fetch_types(params[:type]) unless params[:type].blank?
query = "SELECT * FROM (" + query + ") WHERE " + fetch_year(params[:year]) unless params[:year].blank? query = "SELECT * FROM (" + query + ") WHERE " + fetch_year(params[:year]) unless params[:year].blank?
query = "SELECT * FROM (" + query + ") ORDER BY #{order}" query = "SELECT * FROM (" + query + ") ORDER BY #{order}"
...@@ -281,6 +284,17 @@ module OrientDb ...@@ -281,6 +284,17 @@ module OrientDb
qry qry
end end
def count_all
Rails.cache.fetch('learning_object/count_all', expires_in: 6.hours) do
result = connection.query 'SELECT COUNT(*) as count FROM LearningObject', limit: 1
result[0]["count"]
end
end
def count_likes(learning_object)
get_in_edges_count "Likes", learning_object.id
end
def count_likes(learning_object) def count_likes(learning_object)
get_in_edges_count "Likes", learning_object.id get_in_edges_count "Likes", learning_object.id
end end
......
<%= content_for(:body_attributes) do %> data-no-turbolink <% end %> <%= content_for(:body_attributes) do %> data-no-turbolink <% end %>
<div class="row"> <div class="row">
<div class="col-sm-3 search-sidebar" id="menu-left"> <div class="col-sm-3 search-sidebar" id="menu-left">
<!-- <h2>Busca Avançada</h2> -->
<div class="media filters"> <div class="media filters">
<div class="media-left"> <div class="media-left">
<%= image_tag 'icons/filter.png', width:'40px', height:'40px' %> <%= image_tag 'icons/filter.png', width:'40px', height:'40px' %>
...@@ -22,239 +21,12 @@ ...@@ -22,239 +21,12 @@
<% end %> <% end %>
</div> </div>
<!-- <div class="dropdown-element">
<h4 class="dropdown">Arte<span class="caret caret-align-right"/></h4>
<div>
<select class="select-tag-container filter-subject" multiple="multiple">
<option value="Pinturas">Conjuntos</option>
<option value="Historia">História Da Arte</option>
</select>
</div>
<h4 class="dropdown">Biologia<span class="caret caret-align-right"/></h4>
<div>
<select class="select-tag-container filter-subject" multiple="multiple">
<option value="">Todos</option>
<option value="Plantas">Plantas</option>
<option value="">...</option>
<option value="">...</option>
</select>
</div>
<h4 class="dropdown">Ciências<span class="caret caret-align-right"/></h4>
<div>
<select class="select-tag-container filter-subject" multiple="multiple">
<option value="">Todos</option>
<optgroup label="Básico">
<option value="">...</option>
<option value="">...</option>
</optgroup>
<optgroup label="Avançada">
<option value="">...</option>
</optgroup>
</select>
</div>
<h4 class="dropdown">Educação Física<span class="caret caret-align-right"/></h4>
<div>
<select class="select-tag-container filter-subject" multiple="multiple">
<option value="">Todos</option>
<optgroup label="Básico">
<option value="">...</option>
<option value="">...</option>
</optgroup>
<optgroup label="Avançada">
<option value="">...</option>
</optgroup>
</select>
</div>
<h4 class="dropdown">Ensino Religioso<span class="caret caret-align-right"/></h4>
<div>
<select class="select-tag-container filter-subject" multiple="multiple">
<option value="">Todos</option>
<optgroup label="Básico">
<option value="">...</option>
<option value="">...</option>
</optgroup>
<optgroup label="Avançada">
<option value="">...</option>
</optgroup>
</select>
</div>
<h4 class="dropdown">Física<span class="caret caret-align-right"/></h4>
<div>
<select class="select-tag-container filter-subject" multiple="multiple">
<option value="">Todos</option>
<optgroup label="Básico">
<option value="">...</option>
<option value="">...</option>
</optgroup>
<optgroup label="Avançada">
<option value="">...</option>
</optgroup>
</select>
</div>
<h4 class="dropdown">Filosofia<span class="caret caret-align-right"/></h4>
<div>
<select class="select-tag-container filter-subject" multiple="multiple">
<option value="">Todos</option>
<optgroup label="Básico">
<option value="">...</option>
<option value="">...</option>
</optgroup>
<optgroup label="Avançada">
<option value="">...</option>
</optgroup>
</select>
</div>
<h4 class="dropdown">Geografia<span class="caret caret-align-right"/></h4>
<div>
<select class="select-tag-container filter-subject" multiple="multiple">
<option value="">Todos</option>
<optgroup label="Básico">
<option value="">...</option>
<option value="">...</option>
</optgroup>
<optgroup label="Avançada">
<option value="">...</option>
</optgroup>
</select>
</div>
<h4 class="dropdown">História<span class="caret caret-align-right"/></h4>
<div>
<select class="select-tag-container filter-subject" multiple="multiple">
<option value="">Todos</option>
<optgroup label="Básico">
<option value="">História do Brasil</option>
<option value="">...</option>
</optgroup>
<optgroup label="Avançada">
<option value="">...</option>
</optgroup>
</select>
</div>
<h4 class="dropdown"> Língua estrangeira moderna <span class="caret caret-align-right"/></h4>
<div>
<select class="select-tag-container filter-subject" multiple="multiple">
<option value="">Todos</option>
<optgroup label="Básico">
<option value="">...</option>
<option value="">...</option>
</optgroup>
<optgroup label="Avançada">
<option value="">...</option>
</optgroup>
</select>
</div>
<h4 class="dropdown">Língua Portuguesa<span class="caret caret-align-right"/></h4>
<div>
<select class="select-tag-container filter-subject" multiple="multiple">
<option value="">Todos</option>
<optgroup label="Básico">
<option value="">...</option>
<option value="">...</option>
</optgroup>
<optgroup label="Avançada">
<option value="">...</option>
</optgroup>
</select>
</div>
<h4 class="dropdown">Matemática<span class="caret caret-align-right"/></h4>
<div>
<select class="select-tag-container filter-subject" multiple="multiple">
<option value="Conjunto">Conjuntos</option>
<option value="Soma">Soma</option>
<option value="Algebra">Álgebra</option>
</select>
</div>
<h4 class="dropdown">Química<span class="caret caret-align-right"/></h4>
<div>
<select class="select-tag-container filter-subject" multiple="multiple">
<option value="">..</option>
<option value="">..</option>
<option value="">..</option>
</select>
</div>
<h4 class="dropdown">Sociologia<span class="caret caret-align-right"/></h4>
<div>
<select class="select-tag-container filter-subject" multiple="multiple">
<option value="">..</option>
<option value="">..</option>
<option value="">..</option>
</select>
</div>
</div> -->
<!--fim materias -->
<% unless @types.blank? %> <% unless @types.blank? %>
<h3 class="dropdown open">Conteúdo<span class="caret caret-align-right"/></h3><!--Tipo 1--> <h3 class="dropdown open">Conteúdo<span class="caret caret-align-right"/></h3><!--Tipo 1-->
<div class="dropdown-element"> <div class="dropdown-element">
<% @types.each do |type| %> <% @types.each do |type| %>
<label class="label-checkbox"><input value="<%= type %>" name="filter-type" type="checkbox"> <%= type %></label><br/> <label class="label-checkbox"><input value="<%= type %>" name="filter-type" type="checkbox"> <%= type %></label><br/>
<% end %> <% end %>
<!-- <table class="tipo1" style="width:100%">
<tr>
<td><p>Mídia</p></td>
<td></td>
</tr>
<tr>
<td><input value="Fotos" name="filter-type" type="checkbox"> Fotos</td>
<td><input value="Imagens" name="filter-type" type="checkbox"> Imagens</td>
</tr>
<tr>
<td><input value="Áudio" name="filter-type" type="checkbox"> Áudio</td>
<td><input value="Vídeos" name="filter-type" type="checkbox"> Vídeos</td>
</tr>
<tr>
<td><input value="Apresentações Multimídia" name="filter-type" type="checkbox"> Apresentações Multimídia</td>
<td><input value="Apps" name="filter-type" type="checkbox"> Apps</td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td><p>Textos</p></td>
<td></td>
</tr>
<tr>
<td><input value="Anais" name="filter-type" type="checkbox"> Anais</td>
<td><input value="Artigos Web" name="filter-type" type="checkbox"> Artigos Web</td>
</tr>
<tr>
<td><input value="Capítulos de Livros" name="filter-type" type="checkbox"> Capítulos de Livros</td>
<td><input value="Dissertações" name="filter-type" type="checkbox"> Dissertações</td>
</tr>
<tr>
<td><input value="Livros" name="filter-type" type="checkbox"> Livros</td>
<td><input value="Monografias" name="filter-type" type="checkbox"> Monografias</td>
</tr>
<tr>
<td><input value="Periódicos" name="filter-type" type="checkbox"> Periódicos</td>
<td><input value="Revistas" name="filter-type" type="checkbox"> Revistas</td>
</tr>
<tr>
<td><input value="Teses" name="filter-type" type="checkbox"> Teses</td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td><p>Outros</p></td>
<td></td>
</tr>
<tr>
<td><input value="Planos de Aula" name="filter-type" type="checkbox"> Planos de Aula</td>
</tr>
</table> -->
</div> </div>
<% end %> <% end %>
...@@ -266,54 +38,7 @@ ...@@ -266,54 +38,7 @@
<% end %> <% end %>
</div> </div>
</div> </div>
<!-- fim div class="nestedAccordion"-->
<!-- <div class="nestedAccordion">
<h3 class="dropdown">Ano de Publicação<span class="caret caret-align-right"/></h3>
<div class="dropdown-element">
<form id="filter-year">
<input type="radio" name="year" value="single" checked>Ano:<br/>
<input type="text" name="singleYear" size="8">
<br/>
<input type="radio" name="year" value="range">Intervalo:<br/>
<input type="text" name="startYear" size="8"> - <input type="text" name="endYear" size="8">
<br/><br/>
<button type="submit" class="btn btn-default">Pesquisar</button>
</form>
</div>
<h3 class="dropdown">Pesquisa Avançada<span class="caret caret-align-right"/></h3>
<form method="get" class="regex">
<div class="dropdown-element">
<table style="width:100%">
<tr>
<td>Todas estas palavras:</td>
<td><input type="text" name="all" ></td>
</tr>
<tr>
<td>A frase exata:</td>
<td><input type="text" name="exact" ></td>
</tr>
<tr>
<td>Qualquer uma destas palavras:</td>
<td><input type="text" name="any"></td>
</tr>
<tr>
<td>Nenhuma destas palavras:</td>
<td><input type="text" name="none"></td>
</tr>
<tr>
<td></td>
<td align="right"><br>
<button type="submit" class="btn btn-default regex-submit">Pesquisar</button>
</td>
</tr>
</table>
</div>
</form>
</div>-->
</div> </div>
<!--/span col sm-4-->
<!-- search results --> <!-- search results -->
<div class="col-sm-9"> <div class="col-sm-9">
...@@ -326,7 +51,7 @@ ...@@ -326,7 +51,7 @@
<div class="col-sm-6" style="text-align: right"> <div class="col-sm-6" style="text-align: right">
<form method="get"> <form method="get">
<input type="hidden" name="qry" value="<%= params["qry"] %>"> <input type="hidden" name="qry" value="<%= params["qry"] %>">
<label class="result-info">ordenar por </label>
<select class="order sort-dropdown" name="order"> <select class="order sort-dropdown" name="order">
<option value="">relevância</option> <option value="">relevância</option>
<option value="author">autores</option> <option value="author">autores</option>
......
...@@ -37,17 +37,12 @@ ...@@ -37,17 +37,12 @@
<div class="search-input"> <div class="search-input">
<form action="/search" method="get"> <form action="/search" method="get">
<div class="input-group" id="search"> <div class="input-group" id="search">
<input type="text" placeholder="buscar" class="form-control" name="query" id="main_search"> <input type="text" placeholder="buscar em <%= number_with_delimiter(@learning_object_count, delimiter: ".") %> objetos educacionais" class="form-control" name="query" id="main_search">
<div class="input-group-btn"> <div class="input-group-btn">
<button class="btn btn-default" type="submit"><i class="glyphicon glyphicon-search"></i></button> <button class="btn btn-default" type="submit"><i class="glyphicon glyphicon-search"></i></button>
</div> </div>
</div> </div>
</form> </form>
<%= link_to 'busca avançada', search_path, class: 'search-label' %>
</div> </div>
</div> </div>
...@@ -119,4 +114,4 @@ ...@@ -119,4 +114,4 @@
</div> </div>
</div> </div>
</div> </div>
</header> </header>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment