From 73d5f3635763239bb2178b23a88d80a715619d26 Mon Sep 17 00:00:00 2001 From: Andrew Tomaka Date: Tue, 13 Oct 2015 16:38:33 -0400 Subject: [PATCH] Add listing and showing of old versions --- app/assets/javascripts/admin/versions.coffee | 3 ++ app/assets/stylesheets/admin/versions.scss | 3 ++ app/controllers/admin/cards_controller.rb | 2 + app/controllers/admin/versions_controller.rb | 16 ++++++++ app/helpers/admin/versions_helper.rb | 2 + app/views/admin/cards/edit.html.slim | 2 + app/views/admin/cards/show.html.slim | 42 ++++++++++++++++++++ app/views/admin/versions/_list.html.slim | 16 ++++++++ app/views/admin/versions/show.html.slim | 0 config/routes.rb | 1 + 10 files changed, 87 insertions(+) create mode 100644 app/assets/javascripts/admin/versions.coffee create mode 100644 app/assets/stylesheets/admin/versions.scss create mode 100644 app/controllers/admin/versions_controller.rb create mode 100644 app/helpers/admin/versions_helper.rb create mode 100644 app/views/admin/cards/show.html.slim create mode 100644 app/views/admin/versions/_list.html.slim create mode 100644 app/views/admin/versions/show.html.slim diff --git a/app/assets/javascripts/admin/versions.coffee b/app/assets/javascripts/admin/versions.coffee new file mode 100644 index 0000000..24f83d1 --- /dev/null +++ b/app/assets/javascripts/admin/versions.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/stylesheets/admin/versions.scss b/app/assets/stylesheets/admin/versions.scss new file mode 100644 index 0000000..222d135 --- /dev/null +++ b/app/assets/stylesheets/admin/versions.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the Admin::Versions controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/admin/cards_controller.rb b/app/controllers/admin/cards_controller.rb index ce1de73..eb20739 100644 --- a/app/controllers/admin/cards_controller.rb +++ b/app/controllers/admin/cards_controller.rb @@ -32,6 +32,8 @@ class Admin::CardsController < Admin::BaseController def edit authorize @card + + @versions = @card.versions end def update diff --git a/app/controllers/admin/versions_controller.rb b/app/controllers/admin/versions_controller.rb new file mode 100644 index 0000000..83ec1c9 --- /dev/null +++ b/app/controllers/admin/versions_controller.rb @@ -0,0 +1,16 @@ +class Admin::VersionsController < Admin::BaseController + before_action :set_version, only: [:show] + + def show + type = @version.class.to_s.underscore + instance_variable_set('@' + type, @version) + + render "admin/#{type.pluralize}/show" + end + + private + + def set_version + @version = PaperTrail::Version.find(params[:id]).reify + end +end diff --git a/app/helpers/admin/versions_helper.rb b/app/helpers/admin/versions_helper.rb new file mode 100644 index 0000000..40b273c --- /dev/null +++ b/app/helpers/admin/versions_helper.rb @@ -0,0 +1,2 @@ +module Admin::VersionsHelper +end diff --git a/app/views/admin/cards/edit.html.slim b/app/views/admin/cards/edit.html.slim index fbedb45..9312321 100644 --- a/app/views/admin/cards/edit.html.slim +++ b/app/views/admin/cards/edit.html.slim @@ -1 +1,3 @@ == render 'form' + +== render 'admin/versions/list', versions: @versions diff --git a/app/views/admin/cards/show.html.slim b/app/views/admin/cards/show.html.slim new file mode 100644 index 0000000..9708e90 --- /dev/null +++ b/app/views/admin/cards/show.html.slim @@ -0,0 +1,42 @@ +.row + .col-md-4 + strong Game ID Number: + = @card.gameid + .col-md-4 + strong Title: + = @card.title + .col-md-4 + strong Character: + = @card.character.name +.row + .col-md-4 + strong Rarity: + = @card.rarity.name + .col-md-4 + strong Type: + = @card.type.name + .col-md-4 + strong Awaken Type: + = @card.awaken_type.name +.row + .col-md-6 + strong Leader Skill: + = @card.leader_skill.description + .col-md-6 + strong Passive Skill: + = @card.passive_skill.name +.row + .col-md-12 + strong Super Attack: + = "#{@card.super_attack.name} - #{@card.super_attack.description}" +.row + .col-md-6 + strong Dokkan Card: + - if @card.dokkan_card + = @card.dokkan_card.full_name +.row + .col-md-12 + strong Links: + ul + - @card.links.each do |link| + li= link.name diff --git a/app/views/admin/versions/_list.html.slim b/app/views/admin/versions/_list.html.slim new file mode 100644 index 0000000..803b0cf --- /dev/null +++ b/app/views/admin/versions/_list.html.slim @@ -0,0 +1,16 @@ +.row + .col-md-12 + table.table.table-striped.table-hover + thead + tr + th ID + th Event + th Date + th Modified By + tbody + - versions.each do |version| + tr + td= link_to version.id, admin_version_path(version) + td= version.event + td= version.created_at + td= User.find(version.version_author).nickname diff --git a/app/views/admin/versions/show.html.slim b/app/views/admin/versions/show.html.slim new file mode 100644 index 0000000..e69de29 diff --git a/config/routes.rb b/config/routes.rb index be64e71..7b91c03 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -22,6 +22,7 @@ Rails.application.routes.draw do resources :super_attacks resources :types resources :users, except: [:new, :create] + resources :versions, only: [:show] end namespace :api do