Created
October 1, 2011 17:18
-
-
Save clyfe/1256348 to your computer and use it in GitHub Desktop.
diferentiate create/update subform columns
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<thead> | |
<tr> | |
<% | |
readonly = (@record.readonly? or not @record.authorized_for?(:crud_type => :update)) | |
crud_type = @record.new_record? ? :create : (readonly ? :read : :update) | |
config = active_scaffold_config_for(record.class) | |
columns = @record.new_record? ? config.create.columns : config.update.columns | |
columns.each :for => record.class, :crud_type => crud_type, :flatten => true do |column| | |
hidden = column_renders_as(column) == :hidden | |
next unless in_subform?(column, parent_record) | |
-%> | |
<th class="<%= "#{'required' if column.required?} #{'hidden' if hidden}" %>"><label><%= column.label unless hidden %></label></th> | |
<% end -%> | |
</tr> | |
</thead> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<% | |
record_column = column | |
readonly = (@record.readonly? or not @record.authorized_for?(:crud_type => :update)) | |
crud_type = @record.new_record? ? :create : (readonly ? :read : :update) | |
show_actions = false | |
config = active_scaffold_config_for(@record.class) | |
options = active_scaffold_input_options(config.columns[@record.class.primary_key], scope) | |
tr_id = "association-#{options[:id]}" | |
%> | |
<tr id="<%= tr_id %>" class="association-record <%= 'association-record-new' if @record.new_record? -%> <%= 'locked' if locked -%>"> | |
<% columns = @record.new_record? ? config.create : config.update %> | |
<% columns.columns.each :for => @record.class, :crud_type => crud_type, :flatten => true do |column| %> | |
<% | |
next unless in_subform?(column, parent_record) | |
show_actions = true | |
column = column.clone | |
column.form_ui ||= :select if column.association | |
-%> | |
<td<%= ' class="hidden"'.html_safe if column_renders_as(column) == :hidden %>> | |
<% unless readonly and not @record.new_record? or not @record.authorized_for?(:crud_type => crud_type, :column => column.name) -%> | |
<%= render :partial => form_partial_for_column(column), :locals => { :column => column, :scope => scope } -%> | |
<% else -%> | |
<p><%= get_column_value(@record, column) -%></p> | |
<% end -%> | |
</td> | |
<% end -%> | |
<% if show_actions -%> | |
<td class="actions"> | |
<% if record_column.plural_association? and (@record.authorized_for?(:crud_type => :delete) or not [:destroy, :delete_all].include?(record_column.association.options[:dependent])) %> | |
<% destroy_id = "#{options[:id]}-destroy" %> | |
<%= link_to as_(:remove), '#', :class => 'destroy', :id => destroy_id , :onclick => "ActiveScaffold.delete_subform_record(\"#{tr_id}\"); return false;", :style=> "display: none;" %> | |
<%= javascript_tag("ActiveScaffold.show('#{destroy_id}');") if !locked %> | |
<% end %> | |
<% unless @record.new_record? %> | |
<input type="hidden" name="<%= options[:name] -%>" id="<%= options[:id] -%>" value="<%= @record.id -%>" /> | |
<% end -%> | |
</td> | |
<% end -%> | |
</tr> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment