active_scaffold 3.2.20 → 3.3.0.rc
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -1,10 +0,0 @@
|
|
1
|
-
<% action_links = active_scaffold_config.action_links.collection
|
2
|
-
unless action_links.empty? -%>
|
3
|
-
<div class="actions">
|
4
|
-
<%= render :partial => 'action_group', :locals => {:action_links => action_links,
|
5
|
-
:url_options => params_for,
|
6
|
-
:traverse_options => nested? ? {:reverse => true} : {}} %>
|
7
|
-
<%= loading_indicator_tag(:action => :table) %>
|
8
|
-
</div>
|
9
|
-
<% end %>
|
10
|
-
<h2><%= active_scaffold_config.list.user.label %></h2>
|
@@ -1,13 +0,0 @@
|
|
1
|
-
<%
|
2
|
-
record = list_record if list_record # compat with render :partial :collection
|
3
|
-
columns ||= list_columns
|
4
|
-
tr_class = cycle("", "even-record") + ' ' + list_row_class(record)
|
5
|
-
url_options = params_for(:action => :list, :id => record.id)
|
6
|
-
action_links ||= active_scaffold_config.action_links.member
|
7
|
-
-%>
|
8
|
-
|
9
|
-
<tr class="record <%= tr_class %>" id="<%= element_row_id(:action => :list, :id => record.id) %>" data-refresh="<%= url_for(params_for(:action => :row, :id => record.id, :_method => :get)).html_safe %>">
|
10
|
-
<%= render :partial => 'list_record_columns', :locals => {:record => record, :columns => columns} %>
|
11
|
-
<%= render :partial => 'list_actions', :locals => {:record => record, :url_options => url_options, :action_links => action_links} unless action_links.empty? %>
|
12
|
-
<%= render_nested_view(action_links, url_options, record) unless @nested_auto_open.nil? %>
|
13
|
-
</tr>
|
@@ -1,8 +0,0 @@
|
|
1
|
-
<% columns.each do |column| %>
|
2
|
-
<% authorized = record.authorized_for?(:crud_type => :read, :column => column.name) -%>
|
3
|
-
<% column_value = authorized ? get_column_value(record, column) : active_scaffold_config.list.empty_field_text -%>
|
4
|
-
|
5
|
-
<%= content_tag :td, column_attributes(column, record).merge(:class => column_class(column, column_value, record)) do %>
|
6
|
-
<%= authorized ? render_list_column(column_value, column, record) : column_value %>
|
7
|
-
<% end %>
|
8
|
-
<% end -%>
|
@@ -1 +0,0 @@
|
|
1
|
-
ActiveScaffold.replace_html('<%= active_scaffold_content_id %>', '<%= escape_javascript(render(:partial => 'list', :layout => false)) %>');
|
@@ -1,9 +0,0 @@
|
|
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) -%>
|
6
|
-
<%= record.authorized_for?(:crud_type => link.crud_type, :action => link.action) ? render_action_link(link, url_options, record) : "<a class='disabled'>#{link.label}</a>" -%>
|
7
|
-
<% end -%>
|
8
|
-
</div>
|
9
|
-
</div>
|
@@ -1,12 +0,0 @@
|
|
1
|
-
<div id="<%= sub_form_list_id(:association => column.name) %>">
|
2
|
-
<% associated.each_index do |index| %>
|
3
|
-
<% @record = associated[index] -%>
|
4
|
-
<% if @record.errors.count -%>
|
5
|
-
<div class="association-record-errors" id="<%= element_messages_id :action => @record.class.name.underscore, :id => "#{parent_record.id}-#{index}" %>">
|
6
|
-
<%= active_scaffold_error_messages_for :record, :object_name => @record.class.model_name.human.downcase %>
|
7
|
-
</div>
|
8
|
-
<% end %>
|
9
|
-
<%= render :partial => 'vertical_subform_record', :locals => {:scope => column_scope(column, scope), :parent_record => parent_record, :column => column, :locked => show_blank_record && @record.new_record? && @record == associated.last} %>
|
10
|
-
<% end -%>
|
11
|
-
</div>
|
12
|
-
<%= render :partial => 'form_association_footer', :locals => {:parent_record => parent_record, :column => column, :associated => associated, :scope => scope} -%>
|
@@ -1,43 +0,0 @@
|
|
1
|
-
<%
|
2
|
-
record_column = column
|
3
|
-
readonly = (@record.readonly? or not @record.authorized_for?(:crud_type => :update))
|
4
|
-
crud_type = @record.new_record? ? :create : (readonly ? :read : :update)
|
5
|
-
show_actions = false
|
6
|
-
config = active_scaffold_config_for(@record.class)
|
7
|
-
options = active_scaffold_input_options(config.columns[@record.class.primary_key], scope)
|
8
|
-
tr_id = "association-#{options[:id]}"
|
9
|
-
-%>
|
10
|
-
<ol id="<%= tr_id %>" class="association-record <%= 'association-record-new' if @record.new_record? -%> <%= 'locked' if locked -%>">
|
11
|
-
<% config.subform.columns.each :for => @record.class, :crud_type => :read, :flatten => true do |column| %>
|
12
|
-
<%
|
13
|
-
next unless in_subform?(column, parent_record)
|
14
|
-
show_actions = true
|
15
|
-
column = column.clone
|
16
|
-
column.form_ui ||= :select if column.association
|
17
|
-
|
18
|
-
col_class = ['form-element']
|
19
|
-
col_class << 'required' if column.required?
|
20
|
-
col_class << column.css_class unless column.css_class.nil?
|
21
|
-
col_class << 'hidden' if column_renders_as(column) == :hidden
|
22
|
-
-%>
|
23
|
-
<li class="<%= col_class.join(' ') %>">
|
24
|
-
<% unless readonly and not @record.new_record? or not @record.authorized_for?(:crud_type => crud_type, :column => column.name) -%>
|
25
|
-
<%= render :partial => form_partial_for_column(column), :locals => { :column => column, :scope => scope } -%>
|
26
|
-
<% else -%>
|
27
|
-
<%= content_tag :span, get_column_value(@record, column), active_scaffold_input_options(column, scope).except(:name) -%>
|
28
|
-
<% end -%>
|
29
|
-
</li>
|
30
|
-
<% end -%>
|
31
|
-
<% if show_actions -%>
|
32
|
-
<li class="actions">
|
33
|
-
<% if record_column.plural_association? and (@record.authorized_for?(:crud_type => :delete) or not [:destroy, :delete_all].include?(record_column.association.options[:dependent])) %>
|
34
|
-
<% destroy_id = "#{options[:id]}-destroy" %>
|
35
|
-
<%= link_to as_(:remove), '#', :class => 'destroy', :id => destroy_id , :onclick => "ActiveScaffold.delete_subform_record(\"#{tr_id}\"); return false;", :style=> "display: none;" %>
|
36
|
-
<%= javascript_tag("ActiveScaffold.show('#{destroy_id}');") if !locked %>
|
37
|
-
<% end %>
|
38
|
-
<% unless @record.new_record? %>
|
39
|
-
<input type="hidden" name="<%= options[:name] -%>" id="<%= options[:id] -%>" value="<%= @record.id -%>" />
|
40
|
-
<% end -%>
|
41
|
-
</li>
|
42
|
-
<% end -%>
|
43
|
-
</ol>
|
@@ -1,15 +0,0 @@
|
|
1
|
-
<% @column_span_id ||= element_cell_id(:id => @record.id.to_s, :action => 'update_column', :name => params[:column]) %>
|
2
|
-
<% unless controller.send :successful? %>
|
3
|
-
alert('<%= escape_javascript(@record.errors.full_messages.join("\n")) %>');
|
4
|
-
<% @record.reload %>
|
5
|
-
<% end %>
|
6
|
-
<% column = active_scaffold_config.columns[params[:column]] %>
|
7
|
-
<% formatted_value = get_column_value(@record, column) %>
|
8
|
-
<% if column.inplace_edit %>
|
9
|
-
ActiveScaffold.update_inplace_edit('<%= @column_span_id %>','<%= escape_javascript(formatted_value) %>', <%= column_empty?(formatted_value).to_json %>);
|
10
|
-
<% else %>
|
11
|
-
ActiveScaffold.replace_html('<%= @column_span_id %>','<%= escape_javascript(formatted_value) %>');
|
12
|
-
<% end %>
|
13
|
-
<% if column.calculation? %>
|
14
|
-
ActiveScaffold.replace_html('<%= active_scaffold_calculations_id(:column => column) %>', '<%= escape_javascript(render_column_calculation(column)) %>');
|
15
|
-
<% end %>
|
@@ -1,12 +0,0 @@
|
|
1
|
-
# Bugfix: Team.offset(1).limit(1) throws an error
|
2
|
-
ActiveRecord::Base.instance_eval do
|
3
|
-
def offset(*args, &block)
|
4
|
-
scoped.__send__(:offset, *args, &block)
|
5
|
-
rescue NoMethodError
|
6
|
-
if scoped.nil?
|
7
|
-
'depends on :allow_nil'
|
8
|
-
else
|
9
|
-
raise
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|