property_hire/app/views/shared/attribute_field/_list_block.html.erb

62 lines
4.2 KiB
Plaintext

<% temp_field_name = field_name.gsub /\[\D*\]$/,'[temp]'%>
<% flag = (field_name.split(/\[.*\](?=\[)/)[-1][1...-1] != 'member_relations') %>
<div class="control-group" style="<%= 'display: flex;' if !flag %>">
<% if flag %>
<%= hidden_field_tag "#{temp_field_name}[count]",((values.keys.collect{|t| t.to_i}.max rescue nil) || 0 ),:class=>"list_count"%>
<%= hidden_field_tag "#{temp_field_name}[name]",field_name,:class=>"field_name"%>
<label class="control-label muted" for=""><%= t(:options)%></label>
<% else %>
<div>
<label class="control-label muted"><%= t('list.mode')%></label>
<div class="member_related">
<br>
<label class="control-label muted"><%= t('list.related')%></label>
</div>
</div>
<% end %>
<div class="controls add-input" style="<%= 'margin-left: 1em;' if !flag %>">
<div class="add-target single">
<% if flag %>
<%if values.blank? %>
<%= content_tag :div,:class=>"input-append" do%>
<% @site_in_use_locales.each do |locale| %>
<% last = (locale == @site_in_use_locales.last ? true : false) %>
<% p_value = value[locale.to_s] rescue nil%>
<%= text_field("#{field_name}[0]", locale,:placeholder=>t(locale).to_s,:class=>"input-medium",:data=>{:type=>"option_lang_0_#{locale}"}) %>
<% if last %>
<a href="#" class="btn remove-input"> <i class="icon-trash"></i> </a>
<% end %>
<% end %>
<% end %>
<%else%>
<%values.each do |index,value|%>
<%= content_tag :div,:class=>"input-append" do%>
<% @site_in_use_locales.each do |locale| %>
<% last = (locale == @site_in_use_locales.last ? true : false) %>
<% p_value = value[locale.to_s] rescue nil%>
<%= text_field("#{field_name}[#{index}]", locale,:value=>p_value,:placeholder=>t(locale).to_s,:class=>"input-medium", :data=>{:type=>"option_lang_#{index}_#{locale}"}) %>
<% if last %>
<a href="#" class="btn remove-input"> <i class="icon-trash"></i> </a>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
<% else %>
<%= content_tag :div,:class=>"input-append" do %>
<%= (hidden_field_tag "#{field_name}[0][_id]",values[0].id.to_s) if !values.blank? %>
<%= select_tag "#{field_name}[0][mode]", options_for_select([[t('list.passive'),'passive'],[t('list.active'),'active']],:selected => (values[0]['mode'] rescue nil)),:onChange => 'hidden_option(this)',:class=>'member_relations_opt' %>
<% relates = values.blank? ? [nil] : values[0]['related'] %>
<% relates = [nil] if relates.nil? %>
<div class="member_related">
<% Array(relates).each do |related|%>
<%= select_tag "#{field_name}[0][related][]", options_for_select(Role.all.desc(:created_at).map{|v1| [v1.title,v1.attribute_fields.sort_by{|v| v.key.to_i}.select{|v| v.id.to_s != id}.map{|v| ["&nbsp;&nbsp;#{v.title}".html_safe,v.id]}]}.flatten(2),:disabled=>Role.all.map{|v| v.title},:selected=> related), :class => 'member-relations-related' %>
<% end %>
</div>
<% end %>
<% end %>
</div>
<p class="add-btn"> <a href="#" class="member-relations-add trigger btn btn-mini btn-primary"><i class="icons-plus"></i> <%= t(:add) %></a> </p>
</div>
</div>