active_scaffold_duplicate 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -7
- data/lib/active_scaffold/actions/duplicate.rb +1 -1
- data/lib/active_scaffold/config/duplicate.rb +8 -0
- data/lib/active_scaffold_duplicate/version.rb +1 -1
- metadata +43 -74
- data/app/views/active_scaffold_overrides/clone.js.erb~ +0 -24
- data/lib/active_scaffold/actions/clone.rb~ +0 -57
- data/lib/active_scaffold/config/clone.rb~ +0 -43
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
5
|
-
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: e4c83e3e8df52f374b82158bf8d27afe2517b7b4
|
4
|
+
data.tar.gz: 275b7ee042053a1f5932de8648b155bc703e4fba
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 599ef982c477f94cec9391e4e7bd6935cf5618a68a844f92ca179c73c2351fac169f53fad74366ee67a3b1583e2dcf025392c3dfd6ba27aa1dd1cb9a8a405b5c
|
7
|
+
data.tar.gz: 1f428230fbb35f186741bb286d550c16a1a9ab95fc3f4904495efdbf3b0ed35bcab5e55d395acc51367f5a5a1701d1579fee63f8bea0248b5cc669ad8177c626
|
@@ -7,6 +7,7 @@ module ActiveScaffold::Config
|
|
7
7
|
self.method = self.class.method
|
8
8
|
self.link = self.class.link.clone
|
9
9
|
self.action_after_clone = self.class.action_after_clone
|
10
|
+
self.action_view = self.class.action_view
|
10
11
|
self.refresh_list = self.class.refresh_list
|
11
12
|
end
|
12
13
|
|
@@ -18,6 +19,10 @@ module ActiveScaffold::Config
|
|
18
19
|
cattr_accessor :action_after_clone
|
19
20
|
@@action_after_clone = nil
|
20
21
|
|
22
|
+
# which view render when method is :get (used as respond_to_action argument)
|
23
|
+
cattr_accessor :action_view
|
24
|
+
@@action_view = :new
|
25
|
+
|
21
26
|
# whether we should refresh list after clone or not
|
22
27
|
cattr_accessor :refresh_list
|
23
28
|
@@refresh_list = false
|
@@ -38,6 +43,9 @@ module ActiveScaffold::Config
|
|
38
43
|
# which action render after clone with post
|
39
44
|
attr_accessor :action_after_clone
|
40
45
|
|
46
|
+
# which view render when method is :get (used as respond_to_action argument)
|
47
|
+
attr_accessor :action_view
|
48
|
+
|
41
49
|
# whether we should refresh list after clone or not
|
42
50
|
attr_accessor :refresh_list
|
43
51
|
end
|
metadata
CHANGED
@@ -1,111 +1,80 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_scaffold_duplicate
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Sergio Cambra
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
requirement:
|
16
|
-
requirements:
|
17
|
-
-
|
18
|
-
-
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: "0"
|
21
|
-
version_requirements: *id001
|
22
|
-
prerelease: false
|
23
|
-
type: :development
|
24
|
-
name: shoulda
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
27
|
-
requirements:
|
28
|
-
- - ~>
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
version: 1.0.0
|
31
|
-
version_requirements: *id002
|
32
|
-
prerelease: false
|
33
|
-
type: :development
|
34
|
-
name: bundler
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- *id003
|
39
|
-
version_requirements: *id004
|
40
|
-
prerelease: false
|
41
|
-
type: :development
|
42
|
-
name: rcov
|
43
|
-
- !ruby/object:Gem::Dependency
|
44
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
45
|
-
requirements:
|
46
|
-
- - ">="
|
47
|
-
- !ruby/object:Gem::Version
|
11
|
+
date: 2015-12-31 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: active_scaffold
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
48
19
|
version: 3.3.0.rc
|
49
|
-
version_requirements: *id005
|
50
|
-
prerelease: false
|
51
20
|
type: :runtime
|
52
|
-
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 3.3.0.rc
|
53
27
|
description: Clone records using a method from model in ActiveScaffold
|
54
28
|
email: activescaffold@googlegroups.com
|
55
29
|
executables: []
|
56
|
-
|
57
30
|
extensions: []
|
58
|
-
|
59
|
-
|
31
|
+
extra_rdoc_files:
|
32
|
+
- LICENSE.txt
|
33
|
+
- README.textile
|
34
|
+
files:
|
60
35
|
- LICENSE.txt
|
61
36
|
- README.textile
|
62
|
-
files:
|
63
37
|
- app/views/active_scaffold_overrides/duplicate.js.erb
|
64
|
-
- app/views/active_scaffold_overrides/clone.js.erb~
|
65
38
|
- app/views/active_scaffold_overrides/duplicate.js.erb~
|
66
|
-
-
|
39
|
+
- config/locales/en.yml
|
40
|
+
- config/locales/es.yml
|
67
41
|
- lib/active_scaffold/actions/duplicate.rb
|
68
42
|
- lib/active_scaffold/actions/duplicate.rb~
|
69
|
-
- lib/active_scaffold/config/clone.rb~
|
70
43
|
- lib/active_scaffold/config/duplicate.rb
|
71
44
|
- lib/active_scaffold/config/duplicate.rb~
|
72
45
|
- lib/active_scaffold/helpers/duplicate_helpers.rb
|
46
|
+
- lib/active_scaffold_clone.rb~
|
47
|
+
- lib/active_scaffold_duplicate.rb
|
48
|
+
- lib/active_scaffold_duplicate.rb~
|
73
49
|
- lib/active_scaffold_duplicate/config/core.rb
|
74
50
|
- lib/active_scaffold_duplicate/config/core.rb~
|
75
|
-
- lib/active_scaffold_duplicate/version.rb
|
76
|
-
- lib/active_scaffold_duplicate/engine.rb
|
77
51
|
- lib/active_scaffold_duplicate/core.rb~
|
78
|
-
- lib/active_scaffold_duplicate/
|
52
|
+
- lib/active_scaffold_duplicate/engine.rb
|
79
53
|
- lib/active_scaffold_duplicate/engine.rb~
|
80
|
-
- lib/active_scaffold_duplicate.rb
|
81
|
-
- lib/active_scaffold_duplicate.rb~
|
82
|
-
- lib/active_scaffold_clone.rb~
|
83
|
-
- config/locales/es.yml
|
84
|
-
- config/locales/en.yml
|
85
|
-
- LICENSE.txt
|
86
|
-
- README.textile
|
54
|
+
- lib/active_scaffold_duplicate/version.rb
|
55
|
+
- lib/active_scaffold_duplicate/version.rb~
|
87
56
|
homepage: http://github.com/activescaffold/active_scaffold_duplicate
|
88
|
-
licenses:
|
57
|
+
licenses:
|
89
58
|
- MIT
|
90
59
|
metadata: {}
|
91
|
-
|
92
60
|
post_install_message:
|
93
61
|
rdoc_options: []
|
94
|
-
|
95
|
-
require_paths:
|
62
|
+
require_paths:
|
96
63
|
- lib
|
97
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
98
|
-
requirements:
|
99
|
-
-
|
100
|
-
|
101
|
-
|
102
|
-
|
64
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - '>='
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '0'
|
103
74
|
requirements: []
|
104
|
-
|
105
75
|
rubyforge_project:
|
106
|
-
rubygems_version: 2.
|
76
|
+
rubygems_version: 2.4.5
|
107
77
|
signing_key:
|
108
78
|
specification_version: 4
|
109
79
|
summary: Clone record gem for Activescaffold
|
110
80
|
test_files: []
|
111
|
-
|
@@ -1,24 +0,0 @@
|
|
1
|
-
try {
|
2
|
-
<% link_selector = "#{element_form_id(:action => :clone)}"
|
3
|
-
insert_at ||= :top %>
|
4
|
-
var action_link = ActiveScaffold.find_action_link('<%= link_selector%>');
|
5
|
-
action_link.update_flash_messages('<%=escape_javascript(render(:partial => 'messages'))%>');
|
6
|
-
<% if controller.send :successful? %>
|
7
|
-
<% if (active_scaffold_config.clone.refresh_list) %>
|
8
|
-
<%= render :partial => 'refresh_list' %>
|
9
|
-
<% else %>
|
10
|
-
<% new_row = render :partial => 'list_record', :locals => {:record => @record} %>
|
11
|
-
ActiveScaffold.create_record_row(action_link.scaffold(),'<%= escape_javascript(new_row) %>', <%= {:insert_at => insert_at}.to_json.html_safe %>);
|
12
|
-
<%= render :partial => 'update_calculations', :formats => [:js] %>
|
13
|
-
<% end %>
|
14
|
-
|
15
|
-
action_link.close();
|
16
|
-
<% if (active_scaffold_config.clone.action_after_clone) %>
|
17
|
-
var link = ActiveScaffold.find_action_link('<%= action_link_id active_scaffold_config.clone.action_after_clone, @record.id %>');
|
18
|
-
if (link) (function() { link.open() })<%= '.defer' if ActiveScaffold.js_framework == :prototype %>();
|
19
|
-
<% end %>
|
20
|
-
<% else %>
|
21
|
-
ActiveScaffold.replace('<%= form_selector %>','<%= escape_javascript(render(:partial => 'create_form', :locals => {:xhr => true})) %>');
|
22
|
-
ActiveScaffold.scroll_to('<%= form_selector %>', true);
|
23
|
-
<% end %>
|
24
|
-
} catch (e) { alert('RJS error:\n\n' + e.toString());}
|
@@ -1,57 +0,0 @@
|
|
1
|
-
module ActiveScaffold::Actions
|
2
|
-
module Clone
|
3
|
-
def self.included(base)
|
4
|
-
base.before_filter :clone_authorized_filter, :only => :clone
|
5
|
-
end
|
6
|
-
|
7
|
-
def clone
|
8
|
-
old_record = find_if_allowed(params[:id], :read)
|
9
|
-
@record = old_record.send(active_scaffold_config.clone.method)
|
10
|
-
self.successful = @record.persisted?
|
11
|
-
respond_to_action(:clone)
|
12
|
-
end
|
13
|
-
|
14
|
-
protected
|
15
|
-
def clone_authorized?
|
16
|
-
authorized_for?(:crud_type => :create, :action => :clone)
|
17
|
-
end
|
18
|
-
|
19
|
-
def clone_respond_to_html
|
20
|
-
if successful?
|
21
|
-
flash[:info] = as_(:created_model, :model => @record.to_label)
|
22
|
-
if action = active_scaffold_config.clone.action_after_clone
|
23
|
-
redirect_to params_for(:action => action, :id => @record.id)
|
24
|
-
else
|
25
|
-
return_to_main
|
26
|
-
end
|
27
|
-
else
|
28
|
-
return_to_main
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
def clone_respond_to_js
|
33
|
-
render :action => 'clone'
|
34
|
-
end
|
35
|
-
|
36
|
-
def clone_respond_to_xml
|
37
|
-
render :xml => response_object.to_xml(:only => active_scaffold_config.create.columns.names), :content_type => Mime::XML, :status => response_status, :location => response_location
|
38
|
-
end
|
39
|
-
|
40
|
-
def clone_respond_to_json
|
41
|
-
render :text => response_object.to_json(:only => active_scaffold_config.create.columns.names), :content_type => Mime::JSON, :status => response_status, :location => response_location
|
42
|
-
end
|
43
|
-
|
44
|
-
def clone_respond_to_yaml
|
45
|
-
render :text => Hash.from_xml(response_object.to_xml(:only => active_scaffold_config.create.columns.names)).to_yaml, :content_type => Mime::YAML, :status => response_status, :location => response_location
|
46
|
-
end
|
47
|
-
|
48
|
-
private
|
49
|
-
def clone_authorized_filter
|
50
|
-
link = active_scaffold_config.clone.link || active_scaffold_config.clone.class.link
|
51
|
-
raise ActiveScaffold::ActionNotAllowed unless self.send(link.security_method)
|
52
|
-
end
|
53
|
-
def clone_formats
|
54
|
-
(default_formats + active_scaffold_config.formats + active_scaffold_config.clone.formats).uniq
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
module ActiveScaffold::Config
|
2
|
-
class Clone < Base
|
3
|
-
self.crud_type = :create
|
4
|
-
|
5
|
-
def initialize(core_config)
|
6
|
-
@core = core_config
|
7
|
-
self.method = self.class.method
|
8
|
-
self.link = self.class.link.clone
|
9
|
-
self.action_after_clone = self.class.action_after_clone
|
10
|
-
end
|
11
|
-
|
12
|
-
# the method to clone records
|
13
|
-
cattr_accessor :method
|
14
|
-
@@method = :dup
|
15
|
-
|
16
|
-
# which action render after clone
|
17
|
-
cattr_accessor :action_after_clone
|
18
|
-
@@action_after_clone = nil
|
19
|
-
|
20
|
-
# whether we should refresh list after clone or not
|
21
|
-
cattr_accessor :refresh_list
|
22
|
-
@@refresh_list = false
|
23
|
-
|
24
|
-
# the ActionLink for this action
|
25
|
-
cattr_accessor :link
|
26
|
-
@@link = ActiveScaffold::DataStructures::ActionLink.new('clone', :type => :member, :method => :post, :position => false, :security_method => :clone_authorized?, :ignore_method => :clone_ignore?)
|
27
|
-
|
28
|
-
# instance-level configuration
|
29
|
-
# ----------------------------
|
30
|
-
|
31
|
-
# the ActionLink for this action
|
32
|
-
attr_accessor :link
|
33
|
-
|
34
|
-
# the method to clone records
|
35
|
-
attr_accessor :method
|
36
|
-
|
37
|
-
# which action render after clone
|
38
|
-
attr_accessor :action_after_clone
|
39
|
-
|
40
|
-
# whether we should refresh list after clone or not
|
41
|
-
attr_accessor :refresh_list
|
42
|
-
end
|
43
|
-
end
|