diff --git a/app/assets/javascripts/application/collections.coffee b/app/assets/javascripts/application/collections.coffee index 5bb2856ea4cfd8adb7186c7e59aaf1ce285b19c5..1b1645ce35a6329a224a684bb300fb857f31f848 100644 --- a/app/assets/javascripts/application/collections.coffee +++ b/app/assets/javascripts/application/collections.coffee @@ -69,6 +69,8 @@ $(document).on 'submit', '#collections-modal-form', (evt, params) -> if (data.type == "move") url = '/collections/' + encodeURIComponent(data.collection_id) + '/learning_objects/' + encodeURIComponent(data.learning_objects_ids.join()) $.ajax {method: "DELETE", url: url, data: data } + $(document).trigger 'flash_notice', {text: 'Operação efetuada com sucesso!', type: 'notice'} + $(document).trigger('clear_collections') location.reload(true) if !(refreshable_type.indexOf(data.type) < 0) $('#collections-modal').modal('hide') return @@ -78,6 +80,8 @@ $(document).on 'submit', '#collections-modal-form', (evt, params) -> # if $('.collection-show-page').val() != undefined # array with selected objects ids selected_objects = [] +$ -> + selected_objects = [] # valid types of operations in collections permitted_types = ['add', 'download', 'copy', 'move', 'remove'] @@ -119,8 +123,9 @@ $(document).on 'click', '.collection-button', -> if permitted_types[index] == 'remove' url = '/collections/' + encodeURIComponent(collection) + '/learning_objects/' + encodeURIComponent(selected_objects.join()) - $.ajax { method: 'DELETE', url: url } if confirm('Você tem certeza?') - location.reload(true) + if confirm('Você tem certeza?') + $.ajax { method: 'DELETE', url: url } + location.reload(true) else $(document).trigger('open_collections_modal', [collection: collection, type: permitted_types[index], learning_object: selected_objects ]) if !!(~index) diff --git a/app/assets/javascripts/application/columns.js b/app/assets/javascripts/application/columns.js index 9a24c897df0bacefd95b1242da0fa49b05f05403..4a5ec01014bdf8bde0a5d3959bf5f9e3d8dc78ad 100644 --- a/app/assets/javascripts/application/columns.js +++ b/app/assets/javascripts/application/columns.js @@ -1,24 +1,46 @@ $(document).ready(function() { - $(".learning-object-columns").each(function() { - var html = '', - i = 1; + $(document).trigger('create-learning-object-columns'); +}); - $("> div", this).each(function () { - if (i == 2) { - html = '<div class="col-md-6"><div class="row"><div class="col-md-3"> </div><div class="col-md-6">'; - // TODO: find a way to not remove wrapper div - html += $(this).clone().wrap('<div>').parent().html(); - html += '</div><div class="col-md-3"> </div></div></div>'; - $(this).replaceWith(html); +$(document).on('create-learning-object-columns', function() { + $parents = $(".learning-object-columns"); - i = 0; - } - else { - $(this).wrap('<div class="col-md-3"></div>'); + // small screen = 2 columns + if ($(window).width() < 1000) { + $parents.each(function() { + var html = '', + i = 1, + even = false; - i += 1; - } + $("> div", this).each(function () { + append = (even) ? ' style="text-align: -webkit-right; text-align: -moz-right;"' : ''; + even = !(even); + $(this).wrap('<div class="col-sm-6"' + append +'></div>'); + }); }); - }); + } + // bigger screen = 3 columns hack + else { + $parents.each(function() { + var html = '', + i = 1; + + $("> div", this).each(function () { + if (i == 2) { + html = '<div class="col-md-6"><div class="row"><div class="col-md-3"> </div><div class="col-md-6">'; + // TODO: find a way to not remove wrapper div + html += $(this).clone().wrap('<div>').parent().html(); + html += '</div><div class="col-md-3"> </div></div></div>'; + $(this).replaceWith(html); + i = 0; + } + else { + $(this).wrap('<div class="col-md-3"></div>'); + + i += 1; + } + }); + }); + } }); diff --git a/app/assets/javascripts/application/notice.coffee b/app/assets/javascripts/application/notice.coffee new file mode 100644 index 0000000000000000000000000000000000000000..1049f85e4ca15be3f61745bd4530dbad8116ef62 --- /dev/null +++ b/app/assets/javascripts/application/notice.coffee @@ -0,0 +1,11 @@ +# flash notice () +$(document).on 'flash_notice', (e, params) -> + text = params.text + type = params.type + alert_type = if (type == 'alert') then 'alert-danger alert-dismissible' else 'alert-info' + + html = '<div class="alert '+ alert_type + '" role="alert"> + <button type="button" class="close" data-dismiss="alert" aria-label="Fechar"> + <span aria-hidden="true">×</span></button>' + text + '</div>' + + $('#content').prepend($(html)) diff --git a/app/builders/builder.rb b/app/builders/builder.rb index 00973be93271e30449ed922505f78ba80a388da8..2235e8b8dfc591a1f91f9eff0c9831c67b57fb50 100644 --- a/app/builders/builder.rb +++ b/app/builders/builder.rb @@ -3,7 +3,9 @@ class Builder protected def self.cache_key(rid, last_modified) + last_modified = Time.at(0).to_s if last_modified.nil? + rid + '/' + last_modified end -end \ No newline at end of file +end diff --git a/app/controllers/management/users_controller.rb b/app/controllers/management/users_controller.rb index 8419c88f8c9c85c0801ae385ed8472acca5e4e93..d223f2f71cba133a87bd1d3a1207b1b5dda04bb3 100644 --- a/app/controllers/management/users_controller.rb +++ b/app/controllers/management/users_controller.rb @@ -76,7 +76,9 @@ class Management::UsersController < ManagementController @curators = Array.new @users = User.includes(:roles).all @users.all.each do |user| - @curators << user if user.roles[0].name == "curator" + if !user.roles[0].nil? + @curators << user if user.roles[0].name == "curator" || [] + end end end @@ -84,7 +86,9 @@ class Management::UsersController < ManagementController @admins = Array.new @users = User.includes(:roles).all @users.all.each do |user| - @admins << user if user.roles[0].name == "admin" + if !user.roles[0].nil? + @admins << user if user.roles[0].name == "admin" || [] + end end end diff --git a/app/views/collections/show.html.erb b/app/views/collections/show.html.erb index 17b645d8fd4d9ca70a283969e0a7abe52b1d2ab6..06a2cdf90b953349e02f4d2da88b3843ff14c341 100644 --- a/app/views/collections/show.html.erb +++ b/app/views/collections/show.html.erb @@ -58,11 +58,11 @@ </div> </nav> -<div class="row learning-object-columns"> - <br/> - - <% @collection.learning_objects.each do |learning_object| %> +<div class= "row"> + <div class="learning-object-columns"> + <br/> + <% @collection.learning_objects.each do |learning_object| %> <%= render learning_object, orientation: 'vertical' %> - <% end %> - + <% end %> + </div> </div> diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 72ee6642ab35f9b70022629ac42abfabb25dd7ea..e978812d1ecdb3c7bb0d72e11ec698f9153cb484 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -28,7 +28,9 @@ </div> <% end %> - <%= yield %> + <div id="content"> + <%= yield %> + </div> </div> <%= render 'shared/application/footer' %> diff --git a/app/views/learning_objects/show.html.erb b/app/views/learning_objects/show.html.erb index d19b273e1fa18b977bb6221bb5deddfa4e090fdb..eb976e03fbb6cf36d87a7bcba72b386d60fe47f2 100644 --- a/app/views/learning_objects/show.html.erb +++ b/app/views/learning_objects/show.html.erb @@ -35,7 +35,7 @@ <div class="rating-panel"> <% if user_signed_in? %> <div class="actions"> - <div class="col-md-3 action"> + <div class="col-sm-3 action"> <%= link_to like_learning_object_path(id: @learning_object.id), class: 'vote',method: :post, remote: true do %> <% if @liked %> <%= image_tag "icons/Curtir_02.png", alt: "Descurtir" %> @@ -45,19 +45,19 @@ <h6>curtir objeto</h6> <% end %> </div> - <div class="col-md-3 action"> + <div class="col-sm-3 action"> <a href="<%= @learning_object.get_retrievelink %>"> <%= image_tag "icons/download.png", alt: "Download do objeto" %> <h6>salvar no computador</h6> </a> </div> - <div class="col-md-3 action"> + <div class="col-sm-3 action"> <a tabindex="0" class="add_to_collection" role="button" data-toggle="popover" data-placement="left" title="Adicionar as coleções" data-loid="<%= @learning_object.id %>" data-poload="/learning_objects/<%= ERB::Util.url_encode(@learning_object.id) %>/collections.json"> <%= image_tag "icons/collection-add.png", alt: "Adicionar à coleção" %> <h6>adicionar à coleção</h6> </a> </div> - <div class="col-md-3 action"> + <div class="col-sm-3 action"> <%= render 'complaints/complaints_button' %> </div> </div> diff --git a/app/views/shared/management/_nav_menu.html.erb b/app/views/shared/management/_nav_menu.html.erb index abdab651f9847ef7ffccaf280de3d3fa6d9f3c05..91e1b4206b675da9cbeeb7ca00451b64926105bd 100644 --- a/app/views/shared/management/_nav_menu.html.erb +++ b/app/views/shared/management/_nav_menu.html.erb @@ -25,4 +25,8 @@ <li><%= link_to "Denúncias", management_complaints_path, class: 'ls-ico-bullhorn' %> <li> </ul> + + <li> <%= link_to "Voltar ao Portal", root_path %> </li> + + </nav>