active_scaffold 3.2.20 → 3.3.0.rc
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.
- data/CHANGELOG +19 -13
- data/README +66 -0
- data/app/assets/javascripts/jquery/active_scaffold.js +156 -113
- data/app/assets/javascripts/jquery/active_scaffold_chosen.js +11 -0
- data/app/assets/javascripts/jquery/date_picker_bridge.js.erb +0 -1
- data/app/assets/javascripts/jquery/jquery.editinplace.js +132 -128
- data/app/assets/javascripts/prototype/active_scaffold.js +68 -25
- data/{frontends/default/views/_horizontal_subform_footer.html.erb → app/assets/javascripts/prototype/active_scaffold_chosen.js} +0 -0
- data/app/assets/stylesheets/active_scaffold_colors.css.scss +8 -1
- data/app/assets/stylesheets/active_scaffold_layout.css +14 -8
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_add_existing_form.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_base_form.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_create_form.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_create_form_on_list.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_field_search.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_form.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_form_association.html.erb +8 -3
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_form_association_footer.html.erb +5 -4
- data/app/views/active_scaffold_overrides/_form_association_record.html.erb +85 -0
- data/app/views/active_scaffold_overrides/_form_attribute.html.erb +23 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_form_hidden_attribute.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_form_messages.html.erb +0 -0
- data/app/views/active_scaffold_overrides/_horizontal_subform.html.erb +12 -0
- data/app/views/active_scaffold_overrides/_horizontal_subform_footer.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_horizontal_subform_header.html.erb +3 -2
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_human_conditions.html.erb +0 -0
- data/app/views/active_scaffold_overrides/_list.html.erb +35 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_list_calculations.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_list_column_headings.html.erb +0 -0
- data/app/views/active_scaffold_overrides/_list_header.html.erb +8 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_list_inline_adapter.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_list_messages.html.erb +4 -4
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_list_pagination.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_list_pagination_links.html.erb +0 -0
- data/app/views/active_scaffold_overrides/_list_record.html.erb +30 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_list_with_header.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_messages.html.erb +0 -0
- data/app/views/active_scaffold_overrides/_refresh_list.js.erb +1 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_render_field.js.erb +9 -1
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_row.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_search.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_search_attribute.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_show.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_show_columns.html.erb +0 -0
- data/app/views/active_scaffold_overrides/_update_actions.html.erb +9 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_update_calculations.js.erb +0 -0
- data/app/views/active_scaffold_overrides/_update_column.js.erb +16 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_update_form.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/_update_messages.js.erb +0 -0
- data/app/views/active_scaffold_overrides/_vertical_subform.html.erb +8 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/action_confirmation.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/add_existing.js.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/add_existing_form.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/create.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/delete.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/destroy.js.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/edit_associated.js.erb +1 -1
- data/{frontends/default/views → app/views/active_scaffold_overrides}/field_search.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/form_messages.js.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/list.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/on_action_update.js.erb +3 -3
- data/{frontends/default/views → app/views/active_scaffold_overrides}/on_create.js.erb +1 -1
- data/{frontends/default/views → app/views/active_scaffold_overrides}/on_mark.js.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/on_update.js.erb +4 -4
- data/{frontends/default/views → app/views/active_scaffold_overrides}/render_field.js.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/row.js.erb +1 -1
- data/{frontends/default/views → app/views/active_scaffold_overrides}/search.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/show.html.erb +0 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/update.html.erb +1 -1
- data/app/views/active_scaffold_overrides/update_column.js.erb +26 -0
- data/{frontends/default/views → app/views/active_scaffold_overrides}/update_row.js.erb +0 -0
- data/config/locales/de.yml +1 -0
- data/config/locales/en.yml +1 -0
- data/config/locales/es.yml +1 -0
- data/config/locales/fr.yml +1 -0
- data/config/locales/hu.yml +1 -0
- data/config/locales/ja.yml +1 -0
- data/config/locales/ru.yml +1 -0
- data/lib/active_scaffold.rb +14 -26
- data/lib/active_scaffold/actions/core.rb +14 -11
- data/lib/active_scaffold/actions/create.rb +3 -3
- data/lib/active_scaffold/actions/delete.rb +3 -0
- data/lib/active_scaffold/actions/list.rb +9 -6
- data/lib/active_scaffold/actions/mark.rb +1 -1
- data/lib/active_scaffold/actions/nested.rb +8 -6
- data/lib/active_scaffold/actions/show.rb +6 -1
- data/lib/active_scaffold/actions/update.rb +39 -19
- data/lib/active_scaffold/active_record_permissions.rb +29 -12
- data/lib/active_scaffold/attribute_params.rb +14 -7
- data/lib/active_scaffold/bridges/calendar_date_select.rb +1 -1
- data/lib/active_scaffold/bridges/cancan/cancan_bridge.rb +1 -2
- data/lib/active_scaffold/bridges/carrierwave/list_ui.rb +1 -1
- data/lib/active_scaffold/bridges/chosen.rb +14 -0
- data/lib/active_scaffold/bridges/chosen/helpers.rb +48 -0
- data/lib/active_scaffold/bridges/date_picker/helper.rb +7 -6
- data/lib/active_scaffold/bridges/dragonfly/form_ui.rb +1 -1
- data/lib/active_scaffold/bridges/dragonfly/list_ui.rb +1 -1
- data/lib/active_scaffold/bridges/file_column.rb +1 -1
- data/lib/active_scaffold/bridges/file_column/as_file_column_bridge.rb +1 -1
- data/lib/active_scaffold/bridges/file_column/file_column_helpers.rb +2 -2
- data/lib/active_scaffold/bridges/file_column/list_ui.rb +4 -4
- data/lib/active_scaffold/bridges/paperclip.rb +1 -1
- data/lib/active_scaffold/bridges/paperclip/form_ui.rb +1 -1
- data/lib/active_scaffold/bridges/paperclip/list_ui.rb +1 -1
- data/lib/active_scaffold/bridges/paperclip/paperclip_bridge_helpers.rb +1 -1
- data/lib/active_scaffold/bridges/shared/date_bridge.rb +1 -1
- data/lib/active_scaffold/bridges/tiny_mce/helpers.rb +1 -1
- data/lib/active_scaffold/config/core.rb +9 -2
- data/lib/active_scaffold/config/list.rb +9 -13
- data/lib/active_scaffold/config/nested.rb +11 -2
- data/lib/active_scaffold/data_structures/action_columns.rb +19 -5
- data/lib/active_scaffold/data_structures/action_link.rb +9 -2
- data/lib/active_scaffold/data_structures/action_links.rb +5 -36
- data/lib/active_scaffold/data_structures/column.rb +21 -21
- data/lib/active_scaffold/data_structures/nested_info.rb +31 -44
- data/lib/active_scaffold/extensions/action_controller_rescueing.rb +1 -0
- data/lib/active_scaffold/extensions/action_view_rendering.rb +30 -36
- data/lib/active_scaffold/extensions/reverse_associations.rb +10 -6
- data/lib/active_scaffold/extensions/routing_mapper.rb +6 -5
- data/lib/active_scaffold/extensions/unsaved_associated.rb +1 -1
- data/lib/active_scaffold/finder.rb +18 -10
- data/lib/active_scaffold/helpers/association_helpers.rb +21 -2
- data/lib/active_scaffold/helpers/controller_helpers.rb +14 -16
- data/lib/active_scaffold/helpers/form_column_helpers.rb +161 -21
- data/lib/active_scaffold/helpers/id_helpers.rb +7 -7
- data/lib/active_scaffold/helpers/list_column_helpers.rb +42 -92
- data/lib/active_scaffold/helpers/search_column_helpers.rb +10 -3
- data/lib/active_scaffold/helpers/show_column_helpers.rb +4 -9
- data/lib/active_scaffold/helpers/view_helpers.rb +278 -78
- data/lib/active_scaffold/version.rb +2 -2
- data/lib/generators/active_scaffold_controller/templates/controller.rb +1 -1
- data/test/bridges/paperclip_test.rb +2 -2
- data/vendor/assets/javascripts/jquery-ui-timepicker-addon.js +1882 -1276
- metadata +79 -80
- data/README.md +0 -67
- data/frontends/default/views/_action_group.html.erb +0 -24
- data/frontends/default/views/_form_attribute.html.erb +0 -23
- data/frontends/default/views/_horizontal_subform.html.erb +0 -22
- data/frontends/default/views/_horizontal_subform_record.html.erb +0 -43
- data/frontends/default/views/_list.html.erb +0 -18
- data/frontends/default/views/_list_actions.html.erb +0 -15
- data/frontends/default/views/_list_header.html.erb +0 -10
- data/frontends/default/views/_list_record.html.erb +0 -13
- data/frontends/default/views/_list_record_columns.html.erb +0 -8
- data/frontends/default/views/_refresh_list.js.erb +0 -1
- data/frontends/default/views/_update_actions.html.erb +0 -9
- data/frontends/default/views/_vertical_subform.html.erb +0 -12
- data/frontends/default/views/_vertical_subform_record.html.erb +0 -43
- data/frontends/default/views/refresh_list.js.erb +0 -2
- data/frontends/default/views/update_column.js.erb +0 -15
- data/lib/active_scaffold/extensions/active_record_offset.rb +0 -12
- data/lib/active_scaffold/extensions/nil_id_in_url_params.rb +0 -7
|
File without changes
|
|
File without changes
|
data/{frontends/default/views → app/views/active_scaffold_overrides}/_search_attribute.html.erb
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<div class="active-scaffold-header">
|
|
2
|
+
<div class="actions">
|
|
3
|
+
<% active_scaffold_config.action_links.member.each do |link| -%>
|
|
4
|
+
<% next unless link.action == 'index' -%>
|
|
5
|
+
<% next if skip_action_link?(link, record) || !action_link_authorized?(link, record) -%>
|
|
6
|
+
<%= render_action_link(link, record, :authorized => true) -%>
|
|
7
|
+
<% end -%>
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
data/{frontends/default/views → app/views/active_scaffold_overrides}/_update_calculations.js.erb
RENAMED
|
File without changes
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<%
|
|
2
|
+
column = if update_column.is_a? ActiveScaffold::DataStructures::Column
|
|
3
|
+
update_column
|
|
4
|
+
else
|
|
5
|
+
active_scaffold_config.columns[update_column.to_sym]
|
|
6
|
+
end
|
|
7
|
+
@rendered ||= Set.new
|
|
8
|
+
return if @rendered.include? column.name
|
|
9
|
+
@rendered << column.name
|
|
10
|
+
-%>
|
|
11
|
+
<% if @record.authorized_for?(:crud_type => :read, :column => column.name) -%>
|
|
12
|
+
ActiveScaffold.replace_html('<%= row_id %> .<%= column.name %>-column','<%= escape_javascript(render_list_column(get_column_value(@record, column), column, @record)) %>');
|
|
13
|
+
<% end -%>
|
|
14
|
+
<% if column.update_columns && !column.update_columns.empty? %>
|
|
15
|
+
<%= render(:partial => 'update_column', :collection => column.update_columns & active_scaffold_config.list.columns.names, :locals => {:row_id => row_id})%>
|
|
16
|
+
<% end %>
|
|
File without changes
|
data/{frontends/default/views → app/views/active_scaffold_overrides}/_update_messages.js.erb
RENAMED
|
File without changes
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<div id="<%= sub_form_list_id(:association => column.name) %>">
|
|
2
|
+
<% associated.each_index do |index| %>
|
|
3
|
+
<div class="sub-form-record">
|
|
4
|
+
<% @record = associated[index] -%>
|
|
5
|
+
<%= render :partial => 'form_association_record', :locals => {:scope => column_scope(column, scope), :parent_record => parent_record, :column => column, :locked => show_blank_record && @record.new_record? && @record == associated.last, :index => index} %>
|
|
6
|
+
</div>
|
|
7
|
+
<% end -%>
|
|
8
|
+
</div>
|
data/{frontends/default/views → app/views/active_scaffold_overrides}/action_confirmation.html.erb
RENAMED
|
File without changes
|
|
File without changes
|
data/{frontends/default/views → app/views/active_scaffold_overrides}/add_existing_form.html.erb
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<%
|
|
2
|
-
associated_form = render :partial => "
|
|
2
|
+
associated_form = render :partial => "form_association_record", :locals => {:scope => @scope, :parent_record => @parent_record, :column => @column, :locked => @record.new_record? && @column.singular_association?}
|
|
3
3
|
options = {:singular => false}
|
|
4
4
|
if @column.singular_association?
|
|
5
5
|
options[:singular] = true
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/{frontends/default/views → app/views/active_scaffold_overrides}/on_action_update.js.erb
RENAMED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
<% if @record %>
|
|
3
3
|
<%= render :partial => 'update_messages' %>
|
|
4
4
|
<% row = escape_javascript(render(:partial => 'list_record', :locals => {:record => @record})) -%>
|
|
5
|
-
<% if @action_link.
|
|
6
|
-
ActiveScaffold.find_action_link('<%=
|
|
5
|
+
<% if @action_link.try(:position) %>
|
|
6
|
+
ActiveScaffold.find_action_link('<%= element_form_id(:action => action_name) %>').close('<%= row %>');
|
|
7
7
|
<% else %>
|
|
8
8
|
ActiveScaffold.update_row('<%= element_row_id(:action => :list, :id => @record.id) %>', '<%= row %>');
|
|
9
9
|
ActiveScaffold.scroll_to('<%= element_row_id(:action => :list, :id => @record.id) %>', true);
|
|
10
10
|
<% end %>
|
|
11
11
|
<%= render :partial => 'update_calculations', :formats => [:js] %>
|
|
12
12
|
<% else %>
|
|
13
|
-
<% if @action_link.
|
|
13
|
+
<% if @action_link.try(:position) %>
|
|
14
14
|
ActiveScaffold.find_action_link('<%= element_row_id(:action => action_name) %>').close();
|
|
15
15
|
<% end %>
|
|
16
16
|
<%= render :partial => 'refresh_list' %>
|
|
@@ -17,7 +17,7 @@ action_link.update_flash_messages('<%=escape_javascript(render(:partial => 'mess
|
|
|
17
17
|
<% elsif params[:parent_controller].nil? %>
|
|
18
18
|
<% new_row = render :partial => 'list_record', :locals => {:record => @record} %>
|
|
19
19
|
ActiveScaffold.create_record_row(action_link.scaffold(),'<%= escape_javascript(new_row) %>', <%= {:insert_at => insert_at}.to_json.html_safe %>);
|
|
20
|
-
<%= render :partial => 'update_calculations
|
|
20
|
+
<%= render :partial => 'update_calculations', :formats => [:js] %>
|
|
21
21
|
<% end %>
|
|
22
22
|
|
|
23
23
|
<% unless render_parent? %>
|
|
File without changes
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
try {
|
|
2
|
-
<% form_selector = "#{element_form_id(:action => :update)}" %>
|
|
2
|
+
<% form_selector = "#{element_form_id(:action => :update, :id => @record.id)}" %>
|
|
3
3
|
var action_link = ActiveScaffold.find_action_link('<%= form_selector %>');
|
|
4
4
|
action_link.update_flash_messages('<%= escape_javascript(render(:partial => 'messages')) %>');
|
|
5
5
|
<% if controller.send :successful? %>
|
|
6
6
|
<% if params[:dont_close] %>
|
|
7
7
|
<% row_selector = element_row_id(:action => :list, :id => @record.id) %>
|
|
8
8
|
ActiveScaffold.update_row('<%= row_selector %>', '<%= escape_javascript(render(:partial => 'list_record', :locals => {:record => @record})) %>');
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
action_link.target = $('#<%= row_selector %>');
|
|
10
|
+
<%= render :partial => 'update_calculations', :formats => [:js] %>
|
|
11
11
|
<% else %>
|
|
12
12
|
<% if render_parent? %>
|
|
13
13
|
<% if nested_singular_association? || render_parent_action == :row %>
|
|
@@ -19,7 +19,7 @@ action_link.update_flash_messages('<%= escape_javascript(render(:partial => 'mes
|
|
|
19
19
|
<%= render :partial => 'refresh_list' %>
|
|
20
20
|
<% else %>
|
|
21
21
|
action_link.close('<%= escape_javascript(render(:partial => 'list_record', :locals => {:record => @record})) %>');
|
|
22
|
-
<%= render :partial => 'update_calculations
|
|
22
|
+
<%= render :partial => 'update_calculations', :formats => [:js] %>
|
|
23
23
|
<% end %>
|
|
24
24
|
<% end %>
|
|
25
25
|
<% else %>
|
|
File without changes
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
ActiveScaffold.update_row('<%= element_row_id(:action => :list) %>', '<%= escape_javascript render(
|
|
1
|
+
ActiveScaffold.update_row('<%= element_row_id(:action => :list) %>', '<%= escape_javascript render('row', :record => @record) %>');
|
|
2
2
|
<%= render :partial => 'update_calculations', :formats => [:js] %>
|
|
File without changes
|
|
File without changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<div class="active-scaffold">
|
|
2
2
|
<div class="update-view <%= "#{id_from_controller params[:controller]}-view" %> view">
|
|
3
3
|
<% if active_scaffold_config.update.nested_links and active_scaffold_config.action_links.member.empty? -%>
|
|
4
|
-
<%= render :partial => 'update_actions', :locals => {:record => @record
|
|
4
|
+
<%= render :partial => 'update_actions', :locals => {:record => @record} %>
|
|
5
5
|
<% end -%>
|
|
6
6
|
<%= render :partial => 'update_form' -%>
|
|
7
7
|
</div>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<% @column_span_id ||= element_cell_id(:id => @record.id.to_s, :action => 'update_column', :name => @column.name) -%>
|
|
2
|
+
<% unless controller.send :successful? -%>
|
|
3
|
+
alert('<%= escape_javascript(@record.errors.full_messages.join("\n")) %>');
|
|
4
|
+
<% @record.reload -%>
|
|
5
|
+
<% end -%>
|
|
6
|
+
<% if @column.inplace_edit
|
|
7
|
+
ipe_update = @column.inplace_edit_update if controller.send :successful? -%>
|
|
8
|
+
<% case ipe_update
|
|
9
|
+
when :row -%>
|
|
10
|
+
ActiveScaffold.update_row('<%= element_row_id(:action => :list) %>', '<%= escape_javascript render('row', :record => @record) %>');
|
|
11
|
+
<% when :table -%>
|
|
12
|
+
ActiveScaffold.replace_html('<%= active_scaffold_content_id %>', '<%= escape_javascript(render('list')) %>');
|
|
13
|
+
<% else
|
|
14
|
+
formatted_value = get_column_value(@record, @column) -%>
|
|
15
|
+
ActiveScaffold.update_inplace_edit('<%= @column_span_id %>','<%= escape_javascript(formatted_value) %>', <%= column_empty?(formatted_value).to_json %>);
|
|
16
|
+
<% if ipe_update == :columns && @column.update_columns && !@column.update_columns.empty?
|
|
17
|
+
@rendered = Set.new([@column.name]) -%>
|
|
18
|
+
<%= render :partial => 'update_column', :collection => @column.update_columns & active_scaffold_config.list.columns.names, :locals => {:row_id => element_row_id(:action => :list, :id => @record.id)} %>
|
|
19
|
+
<% end %>
|
|
20
|
+
<% end -%>
|
|
21
|
+
<% else -%>
|
|
22
|
+
ActiveScaffold.replace_html('<%= @column_span_id %>','<%= escape_javascript(get_column_value(@record, @column)) %>');
|
|
23
|
+
<% end -%>
|
|
24
|
+
<% if @column.calculation? -%>
|
|
25
|
+
ActiveScaffold.replace_html('<%= active_scaffold_calculations_id(:column => @column) %>', '<%= escape_javascript(render_column_calculation(@column)) %>');
|
|
26
|
+
<% end -%>
|
|
File without changes
|
data/config/locales/de.yml
CHANGED
data/config/locales/en.yml
CHANGED
data/config/locales/es.yml
CHANGED
data/config/locales/fr.yml
CHANGED
|
@@ -50,6 +50,7 @@ fr:
|
|
|
50
50
|
refresh: 'Rafraîchir'
|
|
51
51
|
remove: 'Supprimer'
|
|
52
52
|
remove_file: 'Supprimer et remplacer le fichier'
|
|
53
|
+
replace_existing: 'Remplacer existant(e)'
|
|
53
54
|
replace_with_new: 'Remplacer avec le nouveau'
|
|
54
55
|
revisions_for_model: 'Révision pour %{model}'
|
|
55
56
|
reset: 'Annuler'
|
data/config/locales/hu.yml
CHANGED
data/config/locales/ja.yml
CHANGED
data/config/locales/ru.yml
CHANGED
data/lib/active_scaffold.rb
CHANGED
|
@@ -16,7 +16,6 @@ require 'active_scaffold/engine' unless defined? ACTIVE_SCAFFOLD_PLUGIN
|
|
|
16
16
|
require 'json' # for js_config
|
|
17
17
|
|
|
18
18
|
module ActiveScaffold
|
|
19
|
-
METHOD_CONVERSION = RUBY_VERSION < '1.9' ? :to_s : :to_sym
|
|
20
19
|
autoload :AttributeParams, 'active_scaffold/attribute_params'
|
|
21
20
|
autoload :Configurable, 'active_scaffold/configurable'
|
|
22
21
|
autoload :Constraints, 'active_scaffold/constraints'
|
|
@@ -163,6 +162,7 @@ module ActiveScaffold
|
|
|
163
162
|
|
|
164
163
|
module ClassMethods
|
|
165
164
|
def active_scaffold(model_id = nil, &block)
|
|
165
|
+
extend Prefixes
|
|
166
166
|
# initialize bridges here
|
|
167
167
|
ActiveScaffold::Bridges.run_all
|
|
168
168
|
|
|
@@ -173,16 +173,7 @@ module ActiveScaffold
|
|
|
173
173
|
@active_scaffold_config = ActiveScaffold::Config::Core.new(model_id)
|
|
174
174
|
@active_scaffold_config_block = block
|
|
175
175
|
self.links_for_associations
|
|
176
|
-
|
|
177
|
-
@active_scaffold_frontends = []
|
|
178
|
-
if active_scaffold_config.frontend.to_sym != :default
|
|
179
|
-
active_scaffold_custom_frontend_path = File.join(ActiveScaffold::Config::Core.plugin_directory, 'frontends', active_scaffold_config.frontend.to_s , 'views')
|
|
180
|
-
@active_scaffold_frontends << active_scaffold_custom_frontend_path
|
|
181
|
-
end
|
|
182
|
-
active_scaffold_default_frontend_path = File.join(ActiveScaffold::Config::Core.plugin_directory, 'frontends', 'default' , 'views')
|
|
183
|
-
@active_scaffold_frontends << active_scaffold_default_frontend_path
|
|
184
|
-
@active_scaffold_custom_paths = []
|
|
185
|
-
|
|
176
|
+
|
|
186
177
|
self.active_scaffold_superclasses_blocks.each {|superblock| self.active_scaffold_config.configure &superblock}
|
|
187
178
|
self.active_scaffold_config.sti_children = nil # reset sti_children if set in parent block
|
|
188
179
|
self.active_scaffold_config.configure &block if block_given?
|
|
@@ -212,12 +203,13 @@ module ActiveScaffold
|
|
|
212
203
|
end
|
|
213
204
|
end
|
|
214
205
|
end
|
|
215
|
-
self.append_view_path active_scaffold_paths
|
|
216
206
|
self._add_sti_create_links if self.active_scaffold_config.add_sti_create_links?
|
|
217
207
|
end
|
|
218
208
|
|
|
219
|
-
|
|
220
|
-
|
|
209
|
+
module Prefixes
|
|
210
|
+
def parent_prefixes
|
|
211
|
+
@parent_prefixes ||= super << 'active_scaffold_overrides'
|
|
212
|
+
end
|
|
221
213
|
end
|
|
222
214
|
|
|
223
215
|
# To be called after include action modules
|
|
@@ -265,7 +257,7 @@ module ActiveScaffold
|
|
|
265
257
|
controller = active_scaffold_controller_for_column(column, options)
|
|
266
258
|
|
|
267
259
|
unless controller.nil?
|
|
268
|
-
options.reverse_merge! :
|
|
260
|
+
options.reverse_merge! :position => :after, :type => :member, :controller => (controller == :polymorph ? controller : controller.controller_path), :column => column
|
|
269
261
|
options[:parameters] ||= {}
|
|
270
262
|
options[:parameters].reverse_merge! :association => column.association.name
|
|
271
263
|
if column.plural_association?
|
|
@@ -291,17 +283,13 @@ module ActiveScaffold
|
|
|
291
283
|
end
|
|
292
284
|
|
|
293
285
|
def add_active_scaffold_path(path)
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
@active_scaffold_paths = []
|
|
302
|
-
@active_scaffold_paths.concat @active_scaffold_custom_paths unless @active_scaffold_custom_paths.nil?
|
|
303
|
-
@active_scaffold_paths.concat @active_scaffold_frontends unless @active_scaffold_frontends.nil?
|
|
304
|
-
@active_scaffold_paths
|
|
286
|
+
as_path = File.join(ActiveScaffold::Config::Core.plugin_directory, 'app', 'views')
|
|
287
|
+
index = view_paths.find_index { |p| p.to_s == as_path }
|
|
288
|
+
if index
|
|
289
|
+
self.view_paths = view_paths[0..index-1] + Array(path) + view_paths[index..-1]
|
|
290
|
+
else
|
|
291
|
+
append_view_path path
|
|
292
|
+
end
|
|
305
293
|
end
|
|
306
294
|
|
|
307
295
|
def active_scaffold_config
|
|
@@ -11,7 +11,7 @@ module ActiveScaffold::Actions
|
|
|
11
11
|
base.helper_method :new_model
|
|
12
12
|
end
|
|
13
13
|
def render_field
|
|
14
|
-
if
|
|
14
|
+
if request.get?
|
|
15
15
|
render_field_for_inplace_editing
|
|
16
16
|
else
|
|
17
17
|
render_field_for_update_columns
|
|
@@ -28,16 +28,17 @@ module ActiveScaffold::Actions
|
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
def render_field_for_inplace_editing
|
|
31
|
-
@record = find_if_allowed(params[:id], :update)
|
|
31
|
+
@record = find_if_allowed(params[:id], :crud_type => :update, :column => params[:update_column])
|
|
32
32
|
render :inline => "<%= active_scaffold_input_for(active_scaffold_config.columns[params[:update_column].to_sym]) %>"
|
|
33
33
|
end
|
|
34
34
|
|
|
35
35
|
def render_field_for_update_columns
|
|
36
|
-
column = active_scaffold_config.columns[params
|
|
36
|
+
column = active_scaffold_config.columns[params.delete(:column)]
|
|
37
37
|
unless column.nil?
|
|
38
38
|
@source_id = params.delete(:source_id)
|
|
39
39
|
@columns = column.update_columns
|
|
40
|
-
@scope = params
|
|
40
|
+
@scope = params.delete(:scope)
|
|
41
|
+
@main_columns = active_scaffold_config.send(@scope ? :subform : (params[:id] ? :update : :create)).columns
|
|
41
42
|
|
|
42
43
|
if column.send_form_on_update_column
|
|
43
44
|
if @scope
|
|
@@ -50,10 +51,10 @@ module ActiveScaffold::Actions
|
|
|
50
51
|
id = params[:id]
|
|
51
52
|
end
|
|
52
53
|
@record = id ? find_if_allowed(id, :update) : new_model
|
|
53
|
-
@record = update_record_from_params(@record,
|
|
54
|
+
@record = update_record_from_params(@record, @main_columns, hash)
|
|
54
55
|
else
|
|
55
56
|
@record = new_model
|
|
56
|
-
value = column_value_from_param_value(@record, column, params
|
|
57
|
+
value = column_value_from_param_value(@record, column, params.delete(:value))
|
|
57
58
|
@record.send "#{column.name}=", value
|
|
58
59
|
end
|
|
59
60
|
|
|
@@ -157,11 +158,13 @@ module ActiveScaffold::Actions
|
|
|
157
158
|
def conditions_from_params
|
|
158
159
|
@conditions_from_params ||= begin
|
|
159
160
|
conditions = {}
|
|
160
|
-
params.
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
next
|
|
164
|
-
|
|
161
|
+
params.except(:controller, :action, :page, :sort, :sort_direction).each do |key, value|
|
|
162
|
+
column = active_scaffold_config.model.columns_hash[key.to_s]
|
|
163
|
+
key = key.to_sym
|
|
164
|
+
next unless column
|
|
165
|
+
next if active_scaffold_constraints[key]
|
|
166
|
+
next if nested? and nested.param_name == key
|
|
167
|
+
conditions[key] = column.type_cast(value)
|
|
165
168
|
end
|
|
166
169
|
conditions
|
|
167
170
|
end
|
|
@@ -34,7 +34,7 @@ module ActiveScaffold::Actions
|
|
|
34
34
|
def create_respond_to_html
|
|
35
35
|
if params[:iframe]=='true' # was this an iframe post ?
|
|
36
36
|
responds_to_parent do
|
|
37
|
-
render :action => 'on_create
|
|
37
|
+
render :action => 'on_create', :formats => [:js], :layout => false
|
|
38
38
|
end
|
|
39
39
|
else
|
|
40
40
|
if successful?
|
|
@@ -92,7 +92,7 @@ module ActiveScaffold::Actions
|
|
|
92
92
|
apply_constraints_to_record(@record, :allow_autosave => true)
|
|
93
93
|
create_association_with_parent(@record) if nested?
|
|
94
94
|
before_create_save(@record)
|
|
95
|
-
self.successful = [@record.valid?, @record.associated_valid?].all?
|
|
95
|
+
self.successful = [@record.valid?, @record.associated_valid?].all? # this syntax avoids a short-circuit
|
|
96
96
|
create_save(@record) unless options[:skip_save]
|
|
97
97
|
end
|
|
98
98
|
rescue ActiveRecord::ActiveRecordError => ex
|
|
@@ -122,7 +122,7 @@ module ActiveScaffold::Actions
|
|
|
122
122
|
end
|
|
123
123
|
|
|
124
124
|
def create_authorized?
|
|
125
|
-
(
|
|
125
|
+
!(nested? && (nested.readonly? || nested.readonly_through_association?)) && authorized_for?(:crud_type => :create)
|
|
126
126
|
end
|
|
127
127
|
private
|
|
128
128
|
def create_authorized_filter
|
|
@@ -62,6 +62,9 @@ module ActiveScaffold::Actions
|
|
|
62
62
|
def delete_authorized?(record = nil)
|
|
63
63
|
(!nested? || !nested.readonly?) && (record || self).send(:authorized_for?, :crud_type => :delete)
|
|
64
64
|
end
|
|
65
|
+
def delete_ignore?(record = nil)
|
|
66
|
+
(nested? && nested.readonly?) || !self.send(:authorized_for?, :crud_type => :delete)
|
|
67
|
+
end
|
|
65
68
|
private
|
|
66
69
|
def delete_authorized_filter
|
|
67
70
|
link = active_scaffold_config.delete.link || active_scaffold_config.delete.class.link
|