add info field
This commit is contained in:
		
							parent
							
								
									e68c52bc00
								
							
						
					
					
						commit
						7d3c535e01
					
				| 
						 | 
				
			
			@ -8,6 +8,9 @@ class Admin::InfosController < ApplicationController
 | 
			
		|||
  
 | 
			
		||||
  def index
 | 
			
		||||
    @attributes = Info.all.entries
 | 
			
		||||
	
 | 
			
		||||
    @roles = Role.excludes('disabled' => true)
 | 
			
		||||
	 
 | 
			
		||||
    render :template => 'admin/attributes/index'
 | 
			
		||||
  end
 | 
			
		||||
  
 | 
			
		||||
| 
						 | 
				
			
			@ -22,7 +25,7 @@ class Admin::InfosController < ApplicationController
 | 
			
		|||
  
 | 
			
		||||
  def edit
 | 
			
		||||
    @attribute = Info.find(params[:id])
 | 
			
		||||
    @attribute_fields_upper_object = [@attribute]
 | 
			
		||||
    # @attribute_fields_upper_object = [@attribute]
 | 
			
		||||
    render :template => 'admin/attributes/edit'
 | 
			
		||||
  end
 | 
			
		||||
  
 | 
			
		||||
| 
						 | 
				
			
			@ -49,10 +52,20 @@ class Admin::InfosController < ApplicationController
 | 
			
		|||
  end
 | 
			
		||||
  
 | 
			
		||||
  def add_attribute_field
 | 
			
		||||
	
 | 
			
		||||
    attribute = Info.find(params[:info_id]) rescue nil
 | 
			
		||||
    @attribute_field_counter = attribute.attribute_fields.count
 | 
			
		||||
    @attribute_field = attribute.attribute_fields.build
 | 
			
		||||
    @attribute_field.save
 | 
			
		||||
	
 | 
			
		||||
    @attribute_field[:af_count] = @attribute_field_counter
 | 
			
		||||
	
 | 
			
		||||
    @attribute = Info.find(params[:info_id])
 | 
			
		||||
	
 | 
			
		||||
	respond_to do |format|
 | 
			
		||||
      format.js  { render 'admin/attributes/add_attribute_field' }
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
  end
 | 
			
		||||
  
 | 
			
		||||
  protected
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,6 +4,7 @@ class AttributeField
 | 
			
		|||
  include ::AttributeFieldsHelper
 | 
			
		||||
 | 
			
		||||
  field :key
 | 
			
		||||
  field :af_count
 | 
			
		||||
  field :markup ,:default=>"text_field"
 | 
			
		||||
  field :option_list ,:type => Hash,:default => {}
 | 
			
		||||
  field :markup_options,:type => Hash
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
$('<%= j render :partial => 'shared/attribute_field/attribute_field', :collection => [@attribute_field] %>').appendTo('#attribute_field_list').hide().fadeIn();
 | 
			
		||||
| 
						 | 
				
			
			@ -19,12 +19,13 @@
 | 
			
		|||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
						
 | 
			
		||||
                        <% @attribute_fields_upper_object.each do |attribute|%>
 | 
			
		||||
                            <div class="map-block back attributes">
 | 
			
		||||
                                <h4><span><%=  attribute.title+ t(:attributes)%></span></h4>
 | 
			
		||||
                                <%= render :partial=>"shared/attribute_field/attribute_field",:collection=>attribute.attribute_fields%>
 | 
			
		||||
                            </div>
 | 
			
		||||
                        <% end %>
 | 
			
		||||
						<div class="map-block back attributes">
 | 
			
		||||
							<h4><span><%=  @attribute.title+ t(:attributes)%></span></h4>
 | 
			
		||||
							<div id="attribute_field_list">
 | 
			
		||||
							<%= render :partial=>"shared/attribute_field/attribute_field",:collection=>@attribute.attribute_fields%>
 | 
			
		||||
							</div>
 | 
			
		||||
						</div>
 | 
			
		||||
						
 | 
			
		||||
                    </div>
 | 
			
		||||
            <div class="form-actions form-fixed pagination-right">
 | 
			
		||||
                <%= link_to content_tag(:i,t(:add_attribute_field),:class=>"icon-plus icon-white"),admin_info_add_attribute_field_path(@attribute),:class=>"btn btn-primary",:remote => true%>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,24 +1,29 @@
 | 
			
		|||
  <div class="form-horizontal">
 | 
			
		||||
  <%
 | 
			
		||||
	attribute_field.af_count ? @af_counter = attribute_field_counter + attribute_field.af_count : @af_counter = attribute_field_counter
 | 
			
		||||
  %>
 | 
			
		||||
  <%= @af_counter %>
 | 
			
		||||
  <%#= attribute_field_counter %>
 | 
			
		||||
      <legend>
 | 
			
		||||
          <button class="onoff pull-right <%= attribute_field.disabled ?  'disabled' : ''%>">ON</button>
 | 
			
		||||
          <%= hidden_field "info[attribute_fields][#{attribute_field_counter}]","disabled",:value=>attribute_field.disabled,:class=>"attribute_field_disabled"%>
 | 
			
		||||
          <%= hidden_field "info[attribute_fields][#{attribute_field_counter}]","to_delete",:value=>false,:class=>"attribute_field_to_delete"%>
 | 
			
		||||
          <%= hidden_field "info[attribute_fields][#{@af_counter}]","disabled",:value=>attribute_field.disabled,:class=>"attribute_field_disabled"%>
 | 
			
		||||
          <%= hidden_field "info[attribute_fields][#{@af_counter}]","to_delete",:value=>false,:class=>"attribute_field_to_delete"%>
 | 
			
		||||
          <a class="btn btn-small pull-right btn-danger remove_attribute" href="#"><i class="icon-trash icon-large"></i> <%= t(:delete_)%></a>
 | 
			
		||||
          <div class="clear">
 | 
			
		||||
              <div class="control-group pull-left">
 | 
			
		||||
                  <label class="control-label" for="key"><%= t(:key) %></label>
 | 
			
		||||
                  <div class="multipleInput">
 | 
			
		||||
                      <div class="controls">
 | 
			
		||||
                        <%= text_field "info[attribute_fields][#{attribute_field_counter}]","key",:value=>attribute_field.key%>
 | 
			
		||||
                        <%= text_field "info[attribute_fields][#{@af_counter}]","key",:value=>attribute_field.key%>
 | 
			
		||||
                      </div>
 | 
			
		||||
                  </div>
 | 
			
		||||
              </div>
 | 
			
		||||
              <%= render :partial=>"shared/attribute_field/placeholder_block",:locals=>{:values=>attribute_field.title_translations,:class_ext=>"pull-left",:label_ext=>t(:name),:field_name=>"info[attribute_fields][#{attribute_field_counter}][title_translations]"}%>
 | 
			
		||||
              <%= render :partial=>"shared/attribute_field/placeholder_block",:locals=>{:values=>attribute_field.title_translations,:class_ext=>"pull-left",:label_ext=>t(:name),:field_name=>"info[attribute_fields][#{@af_counter}][title_translations]"}%>
 | 
			
		||||
              <div class="control-group pull-left">
 | 
			
		||||
                  <label class="control-label" for=""><%= t(:type)%></label>
 | 
			
		||||
                  <div class="controls">
 | 
			
		||||
                      <%#= select_tag "info[attribute_fields][#{attribute_field_counter}][markup]" do %>
 | 
			
		||||
                       <select class="dataType" name=<%= "info[attribute_fields][#{attribute_field_counter}][markup]"%>>
 | 
			
		||||
                      <%#= select_tag "info[attribute_fields][#{@af_counter}][markup]" do %>
 | 
			
		||||
                       <select class="dataType" name=<%= "info[attribute_fields][#{@af_counter}][markup]"%>>
 | 
			
		||||
                        <%LIST[:markups].each do |key,val|%>
 | 
			
		||||
                             <option  value="<%= key %>" <%= attribute_field.markup == key ?  'selected="selected"' : '' %> ref="<%=val["panel"]%>"><%=t("lists.markups."+key)%></option >
 | 
			
		||||
                        <% end %>
 | 
			
		||||
| 
						 | 
				
			
			@ -33,25 +38,25 @@
 | 
			
		|||
                  <label class="control-label"><%= t(:options)%></label>
 | 
			
		||||
                  <div class="controls">
 | 
			
		||||
                      <label class="checkbox inline">
 | 
			
		||||
                            <%= check_box_tag("info[attribute_fields][#{attribute_field_counter}][typeA][cross_lang]","true",attribute_field["typeA"]["cross_lang"]) %>
 | 
			
		||||
                            <%= check_box_tag("info[attribute_fields][#{@af_counter}][typeA][cross_lang]","true",attribute_field["typeA"]["cross_lang"]) %>
 | 
			
		||||
                            <%=  t(:cross_lang)%>
 | 
			
		||||
                      </label>
 | 
			
		||||
                      <label class="checkbox inline">
 | 
			
		||||
                          <%= check_box_tag("info[attribute_fields][#{attribute_field_counter}][typeA][add_more]","true",attribute_field["typeA"]["add_more"]) %>
 | 
			
		||||
                          <%= check_box_tag("info[attribute_fields][#{@af_counter}][typeA][add_more]","true",attribute_field["typeA"]["add_more"]) %>
 | 
			
		||||
                          <%= t(:add_more)%>
 | 
			
		||||
                      </label>
 | 
			
		||||
                  </div>
 | 
			
		||||
              </div>
 | 
			
		||||
              <%= render :partial=>"shared/attribute_field/placeholder_block",:locals=>{:values=>attribute_field["typeA"]["placeholder"],:field_name=>"info[attribute_fields][#{attribute_field_counter}][typeA][placeholder]"}%>
 | 
			
		||||
              <%= render :partial=>"shared/attribute_field/placeholder_block",:locals=>{:values=>attribute_field["typeA"]["placeholder"],:field_name=>"info[attribute_fields][#{@af_counter}][typeA][placeholder]"}%>
 | 
			
		||||
          <% end %>
 | 
			
		||||
 | 
			
		||||
          <%= content_tag :div,:class=>show_type_panel(attribute_field,"typeB") do %>
 | 
			
		||||
              <%= render :partial=>"shared/attribute_field/placeholder_block",:locals=>{:label_ext=>t(:initial),:values=>attribute_field["typeB"]["initial"],:field_name=>"info[attribute_fields][#{attribute_field_counter}][typeB][initial]"}%>
 | 
			
		||||
              <%= render :partial=>"shared/attribute_field/placeholder_block",:locals=>{:label_ext=>t(:initial),:values=>attribute_field["typeB"]["initial"],:field_name=>"info[attribute_fields][#{@af_counter}][typeB][initial]"}%>
 | 
			
		||||
 | 
			
		||||
              <% if attribute_field.self_defined_markup_options?%>
 | 
			
		||||
                <%= render :partial=>"shared/attribute_field/list_block",:locals=>{:values=>attribute_field["option_list"],:field_name=> "info[attribute_fields][#{attribute_field_counter}][attribute][role][statuses]"} %>
 | 
			
		||||
                <%= render :partial=>"shared/attribute_field/list_block",:locals=>{:values=>attribute_field["option_list"],:field_name=> "info[attribute_fields][#{@af_counter}][attribute][role][statuses]"} %>
 | 
			
		||||
              <%else #normal list%>
 | 
			
		||||
                  <%= render :partial=>"shared/attribute_field/list_block",:locals=>{:values=>attribute_field["option_list"],:field_name=> "info[attribute_fields][#{attribute_field_counter}][typeB][option_list]"} %>
 | 
			
		||||
                  <%= render :partial=>"shared/attribute_field/list_block",:locals=>{:values=>attribute_field["option_list"],:field_name=> "info[attribute_fields][#{@af_counter}][typeB][option_list]"} %>
 | 
			
		||||
              <% end #of self_defined_markup_options?%>
 | 
			
		||||
              
 | 
			
		||||
          <% end %>
 | 
			
		||||
| 
						 | 
				
			
			@ -59,17 +64,17 @@
 | 
			
		|||
              <div class="control-group">
 | 
			
		||||
                  <label class="control-label"><%= t("date.format")%></label>
 | 
			
		||||
                  <div class="controls">
 | 
			
		||||
                        <%= select "info[attribute_fields][#{attribute_field_counter}][typeC]","format",Admin::AttributeValuesViewHelper::OPT,:class=>"dataType",:selected=>attribute_field["typeC"]["format"] %>
 | 
			
		||||
                        <%= select "info[attribute_fields][#{@af_counter}][typeC]","format",Admin::AttributeValuesViewHelper::OPT,:class=>"dataType",:selected=>attribute_field["typeC"]["format"] %>
 | 
			
		||||
                  </div>
 | 
			
		||||
              </div>
 | 
			
		||||
              <div class="control-group">
 | 
			
		||||
                  <label class="control-label"><%= t("date.range")%></label>
 | 
			
		||||
                  <div class="controls">
 | 
			
		||||
                      <label class="radio inline">
 | 
			
		||||
                          <%= radio_button("info[attribute_fields][#{attribute_field_counter}][typeC]", "is_range", "false",:checked => (!attribute_field.date_is_range? ? true : false)) %><%= t(:yes_)%>
 | 
			
		||||
                          <%= radio_button("info[attribute_fields][#{@af_counter}][typeC]", "is_range", "false",:checked => (!attribute_field.date_is_range? ? true : false)) %><%= t(:yes_)%>
 | 
			
		||||
                      </label>
 | 
			
		||||
                      <label class="radio inline">
 | 
			
		||||
                        <%= radio_button("info[attribute_fields][#{attribute_field_counter}][typeC]", "is_range", "true",:checked => (attribute_field.date_is_range? ? true : false)) %><%= t(:no_)%>
 | 
			
		||||
                        <%= radio_button("info[attribute_fields][#{@af_counter}][typeC]", "is_range", "true",:checked => (attribute_field.date_is_range? ? true : false)) %><%= t(:no_)%>
 | 
			
		||||
                      </label>
 | 
			
		||||
                  </div>
 | 
			
		||||
              </div>
 | 
			
		||||
| 
						 | 
				
			
			@ -77,10 +82,10 @@
 | 
			
		|||
                  <label class="control-label"><%= t("date.calendar")%></label>
 | 
			
		||||
                  <div class="controls">
 | 
			
		||||
                      <label class="radio inline">
 | 
			
		||||
                          <%= radio_button("info[attribute_fields][#{attribute_field_counter}][typeC]", "calendar", "west_calendar",:checked =>(attribute_field["typeC"]["calendar"]== "west_calendar" ? true : false)) %><%= t("date.west_calendar")%>
 | 
			
		||||
                          <%= radio_button("info[attribute_fields][#{@af_counter}][typeC]", "calendar", "west_calendar",:checked =>(attribute_field["typeC"]["calendar"]== "west_calendar" ? true : false)) %><%= t("date.west_calendar")%>
 | 
			
		||||
                      </label>
 | 
			
		||||
                      <label class="radio inline">
 | 
			
		||||
                          <%= radio_button("info[attribute_fields][#{attribute_field_counter}][typeC]", "calendar", "tw_calendar",:checked =>(attribute_field["typeC"]["calendar"]== "tw_calendar" ? true : false)) %><%= t("date.tw_calendar")%>
 | 
			
		||||
                          <%= radio_button("info[attribute_fields][#{@af_counter}][typeC]", "calendar", "tw_calendar",:checked =>(attribute_field["typeC"]["calendar"]== "tw_calendar" ? true : false)) %><%= t("date.tw_calendar")%>
 | 
			
		||||
                      </label>
 | 
			
		||||
                  </div>
 | 
			
		||||
              </div>
 | 
			
		||||
| 
						 | 
				
			
			@ -90,16 +95,16 @@
 | 
			
		|||
                  <label class="control-label"><%= t(:options)%></label>
 | 
			
		||||
                  <div class="controls">
 | 
			
		||||
                      <label class="checkbox inline">
 | 
			
		||||
                        <%= check_box_tag("info[attribute_fields][#{attribute_field_counter}][typeD][cross_lang]","true",attribute_field["typeD"]["cross_lang"]) %>
 | 
			
		||||
                        <%= check_box_tag("info[attribute_fields][#{@af_counter}][typeD][cross_lang]","true",attribute_field["typeD"]["cross_lang"]) %>
 | 
			
		||||
                        <%= t(:cross_lang)%>
 | 
			
		||||
                      </label>
 | 
			
		||||
                  </div>
 | 
			
		||||
              </div>
 | 
			
		||||
              <%= render :partial=>"shared/attribute_field/placeholder_block",:locals=>{:field_name=>"info[attribute_fields][#{attribute_field_counter}][typeD][placeholder]",:values=>attribute_field["typeD"]["placeholder"]} %>
 | 
			
		||||
              <%= render :partial=>"shared/attribute_field/placeholder_block",:locals=>{:field_name=>"info[attribute_fields][#{@af_counter}][typeD][placeholder]",:values=>attribute_field["typeD"]["placeholder"]} %>
 | 
			
		||||
          <% end %>
 | 
			
		||||
          <%= content_tag :div,:class=>show_type_panel(attribute_field,"typeE") do%>
 | 
			
		||||
              <%= render :partial=>"shared/attribute_field/list_block",:locals=>{:field_name=>"info[attribute_fields][#{attribute_field_counter}][typeE][option_list]",:values=>attribute_field["option_list"]}%>
 | 
			
		||||
              <%= render :partial=>"shared/attribute_field/list_block",:locals=>{:field_name=>"info[attribute_fields][#{@af_counter}][typeE][option_list]",:values=>attribute_field["option_list"]}%>
 | 
			
		||||
          <% end %>
 | 
			
		||||
      </div>
 | 
			
		||||
      <%= hidden_field "info[attribute_fields][#{attribute_field_counter}]","id",:value=>attribute_field.id%>
 | 
			
		||||
      <%= hidden_field "info[attribute_fields][#{@af_counter}]","id",:value=>attribute_field.id%>
 | 
			
		||||
  </div>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue