diff --git a/app/assets/stylesheets/my_styles.scss b/app/assets/stylesheets/my_styles.scss index 2285dbc..1e183a6 100644 --- a/app/assets/stylesheets/my_styles.scss +++ b/app/assets/stylesheets/my_styles.scss @@ -598,3 +598,7 @@ a.black #f0f0f0 10px ); } + +.pkgcard.highlight { + border: 5px solid red; +} \ No newline at end of file diff --git a/app/controllers/packages_controller.rb b/app/controllers/packages_controller.rb index 785595b..8d04530 100644 --- a/app/controllers/packages_controller.rb +++ b/app/controllers/packages_controller.rb @@ -18,6 +18,12 @@ class PackagesController < ApplicationController def details @package = Package.find_by(name: params[:name]) + # Highlight a certain screenshot (by ID). This is used by the logs.slim + # view to link to a certain screenshot of a package. + if params[:highlight] + @highlight_id = params[:highlight].to_i + end + if @package.nil? @packagename = params[:name] render 'notfound', status: 404 @@ -177,7 +183,7 @@ class PackagesController < ApplicationController # Check if the user is allowed to change this screenshot # - Is this the user's own screenshot? (anonymous) if (@screenshot.user == current_user) || (can? :destroy, @screenshot) - auditlog "Screenshot #{@screenshot} deleted", + auditlog "Screenshot #{@screenshot.id} deleted", package: @screenshot.package @screenshot.destroy flash['notice'] = "Screenshot deleted." diff --git a/app/views/my/logs.slim b/app/views/my/logs.slim index 56c4d0b..dc2d293 100644 --- a/app/views/my/logs.slim +++ b/app/views/my/logs.slim @@ -29,12 +29,12 @@ td #{log.section} td - if log.package - = log.package.name + = link_to log.package.name, log.package - else ' - td - if log.screenshot - = log.screenshot.id + = link_to log.screenshot.id, package_path(log.package, highlight: log.screenshot.id) - else ' - td diff --git a/app/views/packages/details.slim b/app/views/packages/details.slim index 8e4ebbe..87f10db 100644 --- a/app/views/packages/details.slim +++ b/app/views/packages/details.slim @@ -15,7 +15,10 @@ = render(partial: 'packages/paginator', locals: {items: @screenshots}) .grid-x.grid-margin-x.medium-up-1.large-up-2 data-equalizer=true data-equalize-on="medium" - @screenshots.each do |screenshot| - div class=("cell pkgcard" + (screenshot.approved ? " approved" : " unapproved")) data-equalizer-watch=true + - @divclasses = %W(cell pkgcard) + - @divclasses << (screenshot.approved ? "approved" : "unapproved") + - @divclasses << 'highlight' if screenshot.id == @highlight_id + div class=(@divclasses.join(' ')) data-equalizer-watch=true a.black href =url_for(screenshot.simage_url(:large)) rel='fancybox-thumb' title=screenshot.caption data-fancybox='gallery' data-caption=screenshot_caption(screenshot) .image.image-with-zoom-icon = small_img(screenshot, cls: '')