Update paper_trail, show ticket price with currency in versions

This commit is contained in:
Stella Rouzi 2018-04-07 14:07:38 +03:00 committed by James Mason
parent c4eac5ec3b
commit d01d15ba5e
5 changed files with 49 additions and 32 deletions

View file

@ -323,9 +323,8 @@ GEM
rack-openid (~> 1.3.1)
open4 (1.3.4)
orm_adapter (0.5.0)
paper_trail (5.2.1)
activerecord (>= 3.0, < 6.0)
activesupport (>= 3.0, < 6.0)
paper_trail (9.0.0)
activerecord (>= 4.2, < 5.3)
request_store (~> 1.1)
parallel (1.12.0)
parser (2.4.0.2)
@ -433,7 +432,8 @@ GEM
json
redcarpet (3.2.3)
referer-parser (0.3.0)
request_store (1.1.0)
request_store (1.4.1)
rack (>= 1.4)
responders (2.4.0)
actionpack (>= 4.2.0, < 5.3)
railties (>= 4.2.0, < 5.3)

View file

@ -305,7 +305,7 @@ class Event < ApplicationRecord
def set_week
self.week = created_at.strftime('%W')
without_versioning do
paper_trail.without_versioning do
save!
end
end

View file

@ -77,7 +77,7 @@ class Registration < ApplicationRecord
def set_week
self.week = created_at.strftime('%W')
without_versioning do
paper_trail.without_versioning do
save!
end
end

View file

@ -1,8 +1,10 @@
- object = current_or_last_object_state(version.item_type, version.item_id)
:ruby
object = current_or_last_object_state(version.item_type, version.item_id)
- unless version.item_type == 'Role' || version.item_type == 'UsersRole'
- conference = Conference.find_by(id: version.conference_id)
- conference_short_title = conference.try(:short_title) || current_or_last_object_state('Conference', version.conference_id).try(:short_title) || ' '
unless version.item_type == 'Role' || version.item_type == 'UsersRole'
conference = Conference.find_by(id: version.conference_id)
conference_short_title = conference.try(:short_title) || current_or_last_object_state('Conference', version.conference_id).try(:short_title) || ' '
end
- case version.item_type
- when 'Organization'

View file

@ -10,10 +10,13 @@
%thead
%tr
%th Updated Attribute
- if version.event != 'create'
%th Previous Value
- if version.event != 'destroy'
%th New Value
%th{ class: "#{'hidden' if version.event == 'create'}" }
Prevous Value
%th{ class: "#{'hidden' if version.event == 'destroy'}" }
New Value
- if can? :revert_attribute, version
%th Action
%tbody
@ -21,26 +24,35 @@
- version.changeset.reject{ |_, values| values[0].blank? && values[1].blank? }.each do |attribute, values|
%tr
%td= attribute
- if version.event != 'create'
%td
/ If the attribute is an associated model, show the value of the record it corresponds to, not just the ID.
/ Eg. when the version is of an Event, if the attribute is event_type_id it shows
/ Workshop (ID: 116) instead of just 116
- if attribute.include?('_id')
- model_name = attribute.chomp('_id').camelize
- if version.event != 'create'
%td
- associated_object = current_or_last_object_state(model_name, values[0])
= associated_object.try(:title) || associated_object.try(:name)
= values[0].blank? ? '-' : "(ID: #{values[0]})"
- else
= values[0].blank? ? '-' : values[0]
- if attribute == 'price_cents'
= "(#{humanized_money_with_symbol previous_version.try(:price)})"
%td
- if attribute.include?('_id')
- model_name = attribute.chomp('_id').camelize
- associated_object = current_or_last_object_state(model_name, values[1])
= associated_object.try(:title) || associated_object.try(:name)
= (values[1].blank? ? '-' : "(ID: #{values[1]})")
- else
- if version.event != 'create'
%td= values[0].blank? ? '-' : values[0]
%td= values[1].blank? ? '-' : values[1]
= values[1].blank? ? '-' : values[1]
- if attribute == 'price_cents'
= "(#{humanized_money_with_symbol version_item.try(:price)})"
- if can? :revert_attribute, version
%td= link_to 'Revert', admin_revision_history_revert_attribute_path(id: version.id, attribute: attribute), class: 'btn btn-sm btn-primary', data: { confirm: "Are you sure you want to revert #{attribute}?" }
@ -49,11 +61,14 @@
%tr
%td= attribute
%td
- if attribute.include?('_id')
- model_name = attribute.chomp('_id').camelize
%td
- associated_object = current_or_last_object_state(model_name, value)
= associated_object.try(:title) || associated_object.try(:name)
= value.blank? ? '-' : "(ID: #{value})"
- else
%td= value.blank? ? '-' : value
= value.blank? ? '-' : value
- if attribute == 'price_cents'
= "(#{humanized_money_with_symbol version_item.try(:price)})"