newsletter 3.2.22.0 → 3.2.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/app/models/newsletter/area.rb +1 -1
- data/app/models/newsletter/design.rb +1 -1
- data/app/models/newsletter/element.rb +1 -1
- data/app/models/newsletter/field.rb +3 -1
- data/app/views/newsletter/designs/_newsletter_area.html.erb +1 -12
- data/lib/deleteable.rb +8 -0
- data/lib/newsletter/version.rb +1 -1
- data/newsletter.gemspec +1 -1
- data/spec/test_app/spec/features/newsletter/design_spec.rb +9 -0
- data/spec/test_app/spec/features/newsletter/element_spec.rb +21 -0
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a03ff50b471d3693c1d8e8cf7f4da0e044cf4c8b
|
4
|
+
data.tar.gz: 7895bbee35cac571cd1f210ba3038cce4f04fa76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c151d3ba497f8af462c5d3649c6bfb1e30ae1d03221bcacb03c4d8b992d080ad368ad475a079542346a4df3776ca1f030cfe19444ce0a18f5dbb20b23f29bd55
|
7
|
+
data.tar.gz: 70cfa08ba67446e0b55527a822ca73e6067d03d520975154b08b493798157669d132aa7f329d08adfe297c7e85da2541aedef37d6c48d703fc758efbeb9779b4
|
data/README.md
CHANGED
@@ -16,7 +16,7 @@ Online Documentation
|
|
16
16
|
Requirements
|
17
17
|
------------
|
18
18
|
|
19
|
-
* Rails 3.2.x (currently tested against rails 3.2.
|
19
|
+
* Rails 3.2.x (currently tested against rails 3.2.25)
|
20
20
|
* Ruby 2.1.5 (currently tested against 2.1.5, we have also tested against 1.9.3 - but it is no longer supported by ruby devs)
|
21
21
|
* [Bundler](http://bundler.io)
|
22
22
|
|
@@ -15,7 +15,7 @@ module ::Newsletter
|
|
15
15
|
belongs_to :updated_by, :class_name => 'User'
|
16
16
|
after_create :write_design
|
17
17
|
|
18
|
-
accepts_nested_attributes_for :areas
|
18
|
+
accepts_nested_attributes_for :areas, allow_destroy: true
|
19
19
|
|
20
20
|
attr_accessible :name, :description, :html_text, :areas_attributes,
|
21
21
|
:stylesheet_text
|
@@ -20,7 +20,7 @@ module Newsletter
|
|
20
20
|
|
21
21
|
validates_presence_of :name
|
22
22
|
|
23
|
-
accepts_nested_attributes_for :fields
|
23
|
+
accepts_nested_attributes_for :fields, allow_destroy: true
|
24
24
|
|
25
25
|
attr_protected :id
|
26
26
|
#FIXME: make this work with deletable or convert to auditable, and extend it to access destroyed records
|
@@ -15,6 +15,8 @@ module Newsletter
|
|
15
15
|
has_many :field_values, :class_name => 'Newsletter::FieldValue'
|
16
16
|
belongs_to :updated_by, :class_name => 'User'
|
17
17
|
|
18
|
+
attr_accessor :_destroy
|
19
|
+
|
18
20
|
acts_as_list :scope => :element, :column => :sequence
|
19
21
|
|
20
22
|
validates_presence_of :name
|
@@ -28,7 +30,7 @@ module Newsletter
|
|
28
30
|
field.id]).nil? }
|
29
31
|
=end
|
30
32
|
attr_accessible :name, :type, :element_id, :label, :sequence, :is_required,
|
31
|
-
:description, :updated_by
|
33
|
+
:description, :updated_by, :_destroy
|
32
34
|
|
33
35
|
include Deleteable
|
34
36
|
|
@@ -1,17 +1,6 @@
|
|
1
1
|
<% div_for area do %>
|
2
2
|
<% fields_for 'design[area_attributes][]', area do |naf| %>
|
3
3
|
<%= naf.text_field :name, :index => nil %>
|
4
|
-
|
5
|
-
<%= link_to_function "Remove", "$(this).up('.area').remove()", :class => 'button' %><br/>
|
6
|
-
<% else %>
|
7
|
-
<%= link_to_function "Remove", "$(this).next('.should_destroy').value = 1; $(this).hide();"+
|
8
|
-
"$('area_restore_#{area.id}').show()", :class => 'button',
|
9
|
-
:id => "area_remove_#{area.id}" %>
|
10
|
-
<%= link_to_function "Restore", "$(this).next('.should_destroy').value = 0; $(this).hide();"+
|
11
|
-
"$('area_remove_#{area.id}').show()", :class => 'button',
|
12
|
-
:id => "area_restore_#{area.id}", :style => 'display:none' %><br/>
|
13
|
-
<%= naf.hidden_field :id, :index => nil %>
|
14
|
-
<%= naf.hidden_field :should_destroy, :index => nil, :class => 'should_destroy' %>
|
15
|
-
<% end %>
|
4
|
+
<%= naff.link_to_remove "Remove", {class: 'button', style: 'margin-left: 130px;'} %>
|
16
5
|
<% end %>
|
17
6
|
<% end %>
|
data/lib/deleteable.rb
CHANGED
@@ -11,6 +11,14 @@ module Deleteable
|
|
11
11
|
!deleted_at.nil?
|
12
12
|
end
|
13
13
|
|
14
|
+
def destroy(hard_delete=false)
|
15
|
+
if !hard_delete && self.class.column_names.include?('deleted_at')
|
16
|
+
delete
|
17
|
+
else
|
18
|
+
super
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
14
22
|
def delete
|
15
23
|
update_attribute(:deleted_at,Time.now)
|
16
24
|
end
|
data/lib/newsletter/version.rb
CHANGED
data/newsletter.gemspec
CHANGED
@@ -28,7 +28,7 @@ Gem::Specification.new do |gem|
|
|
28
28
|
gem.add_dependency 'rack-protection', '=2.0.1'
|
29
29
|
gem.add_dependency "jquery-rails", "~>3.1"
|
30
30
|
gem.add_dependency "jquery-ui-rails", "~>5.0"
|
31
|
-
gem.add_dependency "mini_magick", "
|
31
|
+
gem.add_dependency "mini_magick", "=4.9.4"
|
32
32
|
gem.add_dependency "will_paginate", "~>3.0"
|
33
33
|
gem.add_dependency 'carrierwave', "~>0.10"
|
34
34
|
gem.add_dependency "dynamic_form", "~>1.1"
|
@@ -147,6 +147,15 @@ EOT
|
|
147
147
|
expect(@nice_image_field.label).to eq "Nice Image"
|
148
148
|
click_link "Back to Design"
|
149
149
|
end
|
150
|
+
and_it "can delete an area" do
|
151
|
+
area = @design.areas.first
|
152
|
+
within(:css, "#area_#{area.id}") do
|
153
|
+
click_link "Remove"
|
154
|
+
end
|
155
|
+
click_button "Submit"
|
156
|
+
expect(Newsletter::Area.find_by_id(area.id)).to be_nil
|
157
|
+
expect(Newsletter::Area.deleted.find_by_id(area.id)).not_to be_nil
|
158
|
+
end
|
150
159
|
and_it "soft deletes designs" do
|
151
160
|
click_link "View All"
|
152
161
|
click_link "Delete"
|
@@ -35,6 +35,27 @@ RSpec.describe 'Element management', type: :feature do
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
+
it "removes a field from an element", js: true do
|
39
|
+
visit "/newsletter/designs/#{@design.id}/edit"
|
40
|
+
Debugging::wait_until_success do
|
41
|
+
click_link "Manage Elements", match: :first
|
42
|
+
end
|
43
|
+
element = @design.elements.first
|
44
|
+
Debugging::wait_until_success do
|
45
|
+
within(:css, "#element_#{element.id}") do
|
46
|
+
click_link "Edit"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
field = element.fields.first
|
50
|
+
field_id = "field_#{field.type.split(/:+/).last.downcase}_#{field.id}"
|
51
|
+
find(:css, "##{field_id} a").click() # click Remove for the field
|
52
|
+
click_button "Submit"
|
53
|
+
Debugging::wait_until_success do
|
54
|
+
Newsletter::Field.deleted.find_by_id(field.id).present?
|
55
|
+
Newsletter::Field.find_by_id(field.id).blank?
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
38
59
|
it "has javascript on the editor" do
|
39
60
|
visit "/newsletters/#{@newsletter.id}/editor"
|
40
61
|
expect(page.body).to include('<script')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: newsletter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.25.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lone Star Internet
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2019-08-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -71,16 +71,16 @@ dependencies:
|
|
71
71
|
name: mini_magick
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
|
-
- -
|
74
|
+
- - '='
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
76
|
+
version: 4.9.4
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
|
-
- -
|
81
|
+
- - '='
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version:
|
83
|
+
version: 4.9.4
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
85
|
name: will_paginate
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|