forked from saurabh/orbit4-5
member email validation, member can be created without an email
This commit is contained in:
parent
b9975fa7d5
commit
5c4ba2b0d5
|
@ -1,6 +1,9 @@
|
||||||
class Admin::MembersController < OrbitMemberController
|
class Admin::MembersController < OrbitMemberController
|
||||||
before_action :set_member_profile, only: [:show, :edit, :update]
|
before_action :set_member_profile, only: [:show, :edit, :update]
|
||||||
|
|
||||||
|
helper MemberHelper
|
||||||
|
helper OrbitBackendHelper
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@roles = Role.excludes(disabled: true)
|
@roles = Role.excludes(disabled: true)
|
||||||
page_num = params[:page] || 1
|
page_num = params[:page] || 1
|
||||||
|
|
|
@ -19,9 +19,7 @@ module AttributeFieldsHelper
|
||||||
@new_attribute = @attribute_value.nil?
|
@new_attribute = @attribute_value.nil?
|
||||||
@attribute_value = @attribute_value || @member.member_profile_field_values.build(member_profile_field: id)
|
@attribute_value = @attribute_value || @member.member_profile_field_values.build(member_profile_field: id)
|
||||||
@prefiled_value = @attribute_value.value rescue nil
|
@prefiled_value = @attribute_value.value rescue nil
|
||||||
@panel_setting = self.get_data
|
|
||||||
return instance_eval("render_#{markup}") #rescue ""
|
return instance_eval("render_#{markup}") #rescue ""
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -37,14 +35,14 @@ module AttributeFieldsHelper
|
||||||
# result = text_area_tag(get_field_name_base + key_field, value,@markup_options.merge({:placeholder=>place_holder,:for=>key}))
|
# result = text_area_tag(get_field_name_base + key_field, value,@markup_options.merge({:placeholder=>place_holder,:for=>key}))
|
||||||
result = text_field_tag(get_field_name_base + key_field, value,@markup_options.merge({:placeholder=>place_holder,:for=>key}))
|
result = text_field_tag(get_field_name_base + key_field, value,@markup_options.merge({:placeholder=>place_holder,:for=>key}))
|
||||||
|
|
||||||
add_ext= @attribute_value.address_ext[key] rescue {}
|
add_ext= @attribute_value.address_key[key] rescue {}
|
||||||
|
|
||||||
result << hidden_field_tag(get_basic_field_name_base+"[address_ext][#{key}][county]",add_ext["county"],:class=>"county_#{key}")
|
result << hidden_field_tag(get_basic_field_name_base+"[address_key][#{key}][county]",add_ext["county"],:class=>"county_#{key}")
|
||||||
result << hidden_field_tag(get_basic_field_name_base+"[address_ext][#{key}][street_address]",add_ext["street_address"],:class=>"street_address_#{key}")
|
result << hidden_field_tag(get_basic_field_name_base+"[address_key][#{key}][street_address]",add_ext["street_address"],:class=>"street_address_#{key}")
|
||||||
result << hidden_field_tag(get_basic_field_name_base+"[address_ext][#{key}][city]",add_ext["city"],:class=>"city_#{key}")
|
result << hidden_field_tag(get_basic_field_name_base+"[address_key][#{key}][city]",add_ext["city"],:class=>"city_#{key}")
|
||||||
result << hidden_field_tag(get_basic_field_name_base+"[address_ext][#{key}][zip]",add_ext["zip"],:class=>"zip_#{key}")
|
result << hidden_field_tag(get_basic_field_name_base+"[address_key][#{key}][zip]",add_ext["zip"],:class=>"zip_#{key}")
|
||||||
result << hidden_field_tag(get_basic_field_name_base+"[address_ext][#{key}][country]",add_ext["country"],:class=>"country_#{key}")
|
result << hidden_field_tag(get_basic_field_name_base+"[address_key][#{key}][country]",add_ext["country"],:class=>"country_#{key}")
|
||||||
result << hidden_field_tag(get_basic_field_name_base+"[address_ext][#{key}][indicator]",add_ext["indicator"],:class=>"indicator_#{key}")
|
result << hidden_field_tag(get_basic_field_name_base+"[address_key][#{key}][indicator]",add_ext["indicator"],:class=>"indicator_#{key}")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -58,7 +56,6 @@ module AttributeFieldsHelper
|
||||||
end
|
end
|
||||||
|
|
||||||
def render_date
|
def render_date
|
||||||
|
|
||||||
d = DateTime.now()
|
d = DateTime.now()
|
||||||
|
|
||||||
if date_is_range?
|
if date_is_range?
|
||||||
|
|
|
@ -9,7 +9,7 @@ module AttributeValuesHelper
|
||||||
date = get_date
|
date = get_date
|
||||||
end
|
end
|
||||||
|
|
||||||
# case self.attribute_field["typeC"]["format"]
|
# case self.member_profile_field["typeC"]["format"]
|
||||||
# when 'format1' # Y/M/D h:m
|
# when 'format1' # Y/M/D h:m
|
||||||
# date.strftime("%Y/%m/%d %H:%M")
|
# date.strftime("%Y/%m/%d %H:%M")
|
||||||
# when 'format2' # Y/M/D
|
# when 'format2' # Y/M/D
|
||||||
|
@ -80,7 +80,7 @@ module AttributeValuesHelper
|
||||||
end
|
end
|
||||||
@date = date.split('/')
|
@date = date.split('/')
|
||||||
|
|
||||||
case self.attribute_field["typeC"]["format"]
|
case self.member_profile_field["typeC"]["format"]
|
||||||
when 'format1' # Y/M/D h:m
|
when 'format1' # Y/M/D h:m
|
||||||
"/#{@date[1]}/#{@date[2]}"
|
"/#{@date[1]}/#{@date[2]}"
|
||||||
when 'format2' # Y/M/D
|
when 'format2' # Y/M/D
|
||||||
|
@ -97,11 +97,11 @@ module AttributeValuesHelper
|
||||||
case I18n.locale
|
case I18n.locale
|
||||||
when :zh_tw
|
when :zh_tw
|
||||||
case
|
case
|
||||||
when self.attribute_field["typeC"]["calendar"] == "west_calendar"
|
when self.member_profile_field["typeC"]["calendar"] == "west_calendar"
|
||||||
show_west_calender(from_to)
|
show_west_calender(from_to)
|
||||||
when self.attribute_field["typeC"]["calendar"] == "tw_calendar"
|
when self.member_profile_field["typeC"]["calendar"] == "tw_calendar"
|
||||||
show_minguo_calendar(from_to)
|
show_minguo_calendar(from_to)
|
||||||
end #case self.attribute_field["typeC"]["calendar"]
|
end #case self.member_profile_field["typeC"]["calendar"]
|
||||||
when :en
|
when :en
|
||||||
show_west_calender(from_to)
|
show_west_calender(from_to)
|
||||||
end
|
end
|
||||||
|
|
|
@ -17,7 +17,7 @@ class MemberProfile
|
||||||
field :position, type: Integer
|
field :position, type: Integer
|
||||||
|
|
||||||
VALID_EMAIL_FORMAT = /\A[^@\s]+@([^@.\s]+\.)+[^@.\s]+\z/
|
VALID_EMAIL_FORMAT = /\A[^@\s]+@([^@.\s]+\.)+[^@.\s]+\z/
|
||||||
validates :email, uniqueness: true, format: { with: VALID_EMAIL_FORMAT }
|
validates :email, uniqueness: true, format: { with: VALID_EMAIL_FORMAT }, if: :email_present?
|
||||||
validates :position, uniqueness: true
|
validates :position, uniqueness: true
|
||||||
|
|
||||||
has_one :user
|
has_one :user
|
||||||
|
@ -48,18 +48,42 @@ class MemberProfile
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def get_attribute_value(attribute_field)
|
||||||
|
attribute_values.find_by(attribute_field_id: attribute_field.id)
|
||||||
|
end
|
||||||
|
|
||||||
def get_attribute_values
|
def get_attribute_values
|
||||||
@attribute_values ||= self.member_profile_field_values rescue nil
|
@attribute_values ||= self.member_profile_field_values rescue nil
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_value_from_field_id(field_id)
|
def get_value_from_field_id(field_id)
|
||||||
values = get_attribute_values
|
values = get_attribute_values
|
||||||
value = values.detect {|value| value.attribute_field_id == field_id} rescue nil
|
value = values.detect {|value| value.member_profile_field_id == field_id} rescue nil
|
||||||
value ? value : nil
|
value ? value : nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self.get_member_list_attribute_field(field_key)
|
||||||
|
MemberProfileField.find_by(key: field_key)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.get_member_list_attribute_value(member_profile_id,field_id)
|
||||||
|
MemberProfileFieldValue.find_by(member_profile_id: member_profile_id, member_profile_field_id: field_id)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.get_role_member_data_by_sort(field_key, role_status_id)
|
||||||
|
a = Array.new
|
||||||
|
attribute_field_data = get_member_list_attribute_field(field_key)
|
||||||
|
self.where(role_status_ids: role_status_id).desc(:_id).collect{|t| a << [ get_member_list_attribute_value(t.id,attribute_field_data.id)['val'].to_i, t ] }
|
||||||
|
member_data = a.sort
|
||||||
|
member_data_tmp = member_data.collect {|v| v[1] }
|
||||||
|
end
|
||||||
|
|
||||||
def assign_default_position?
|
def assign_default_position?
|
||||||
self.position.nil? || self.parent_id_changed?
|
self.position.nil? || self.parent_id_changed?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def email_present?
|
||||||
|
self.email.present?
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -9,4 +9,150 @@ class MemberProfileFieldValue
|
||||||
|
|
||||||
belongs_to :member_profile_field
|
belongs_to :member_profile_field
|
||||||
belongs_to :member_profile
|
belongs_to :member_profile
|
||||||
|
|
||||||
|
before_save :check_key
|
||||||
|
before_save :data_proc
|
||||||
|
|
||||||
|
def value(index = nil)
|
||||||
|
site = Site.first
|
||||||
|
result = case self.member_profile_field.markup
|
||||||
|
when 'text_field','text_area'
|
||||||
|
if self.member_profile_field.add_more and (self.member_profile_field.markup == "text_field")
|
||||||
|
index.nil? ? self["val"] : self["val"][index]
|
||||||
|
# self.member_profile_field.get_data[:cross_lang] ? Hash[VALID_LOCALES.collect{|lang| [lang,self[lang.to_sym]]}] : self["val"] #if !self.member_profile_field.get_data[:cross_lang]
|
||||||
|
else
|
||||||
|
self.member_profile_field.get_data["cross_lang"] =="true" ? self["val"] : Hash[site.valid_locales.collect{|lang| [lang,self[lang.to_sym]]}]
|
||||||
|
end
|
||||||
|
when 'select','radio_button','address'
|
||||||
|
self["val"]
|
||||||
|
when 'date'
|
||||||
|
if !self["val"].blank? and !self["val"]['(1i)'].blank?
|
||||||
|
"#{self["val"]['(1i)']}/#{self["val"]['(2i)']}/#{self["val"]['(3i)']}"
|
||||||
|
else
|
||||||
|
self["val"]
|
||||||
|
end
|
||||||
|
when 'checkbox'
|
||||||
|
self["val"]
|
||||||
|
end #end of case self.member_profile_field.markup
|
||||||
|
end
|
||||||
|
|
||||||
|
def value=(value)
|
||||||
|
#save everything to temp_data waiting for futher process
|
||||||
|
self[:temp_data] = value
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def get_value_by_locale(locale,add_more_index=nil)
|
||||||
|
|
||||||
|
case self.member_profile_field.markup
|
||||||
|
when "text_field"
|
||||||
|
case self.member_profile_field.add_more
|
||||||
|
when true
|
||||||
|
if self.member_profile_field.locale
|
||||||
|
add_more_index.nil? ? self.value.collect{|t| t[locale.to_s]}.join(",") : self.value(add_more_index)[locale]
|
||||||
|
else
|
||||||
|
add_more_index.nil? ? self.value.join(",") : self.value(add_more_index)
|
||||||
|
end
|
||||||
|
|
||||||
|
when false
|
||||||
|
self.member_profile_field.locale ? self[locale.to_s] : self.value
|
||||||
|
end
|
||||||
|
|
||||||
|
when "select"
|
||||||
|
markup_values = self.member_profile_field.self_defined_markup_options? ? self.member_profile_field.markup_value : self.member_profile_field.markup_value
|
||||||
|
markup_values[self.value][locale.to_s] rescue 'NoData'
|
||||||
|
|
||||||
|
when "text_area"
|
||||||
|
self.member_profile_field.locale ? self[locale.to_s] : self.value
|
||||||
|
|
||||||
|
when "date"
|
||||||
|
if self.member_profile_field.date_is_range?
|
||||||
|
get_date_by_format(:from) + ' ~ ' + get_date_by_format(:to)
|
||||||
|
# self.value["from"] + ' ~ ' + self.value["to"]
|
||||||
|
else
|
||||||
|
get_date_by_format
|
||||||
|
# self.value
|
||||||
|
end
|
||||||
|
|
||||||
|
when "address"
|
||||||
|
self.value[locale.to_s]
|
||||||
|
|
||||||
|
when "radio_button"
|
||||||
|
markup_values = self.member_profile_field.markup_value
|
||||||
|
markup_values[self.value][locale.to_s]
|
||||||
|
|
||||||
|
when "checkbox"
|
||||||
|
markup_values = self.member_profile_field.markup_value
|
||||||
|
self.value.collect{|key| markup_values[key][locale.to_s]}.join(",")
|
||||||
|
|
||||||
|
when "date_durnation"
|
||||||
|
self.value
|
||||||
|
|
||||||
|
else
|
||||||
|
self.member_profile_field.locale ? self[locale.to_s] : self.value
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_date(item = nil)
|
||||||
|
case item
|
||||||
|
when :from
|
||||||
|
# data = self[:val]["from"]
|
||||||
|
data = self.value["from"]
|
||||||
|
when :to
|
||||||
|
# data = self[:val]["to"]
|
||||||
|
data = self.value["to"]
|
||||||
|
when nil
|
||||||
|
# data = self[:val]
|
||||||
|
data = self.value
|
||||||
|
end
|
||||||
|
|
||||||
|
# Date.new(data["(1i)"].to_i,data["(2i)"].to_i,data["(3i)"].to_i) rescue nil
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
protected
|
||||||
|
|
||||||
|
def unset_all_lang_values
|
||||||
|
VALID_LOCALES.each{|t| self.unset t}
|
||||||
|
end
|
||||||
|
|
||||||
|
def data_proc
|
||||||
|
unless self[:temp_data].nil?
|
||||||
|
case self.member_profile_field.markup
|
||||||
|
when "address"
|
||||||
|
self["val"] = self["temp_data"]
|
||||||
|
when 'text_field','text_area'
|
||||||
|
if self.member_profile_field.add_more
|
||||||
|
self["val"] = self["temp_data"]
|
||||||
|
else # if not add_more
|
||||||
|
if self.member_profile_field.can_muti_lang_input?
|
||||||
|
self[:temp_data].each do |key,val|
|
||||||
|
self[key] = val
|
||||||
|
end if(!self.member_profile_field.get_data[:cross_lang])
|
||||||
|
else
|
||||||
|
self["val"] = self[:temp_data]
|
||||||
|
end
|
||||||
|
end # of self.member_profile_field.add_more
|
||||||
|
|
||||||
|
when 'select','date','radio_button'
|
||||||
|
self["val"] = self[:temp_data]
|
||||||
|
when 'checkbox'
|
||||||
|
self["val"] = self[:temp_data].keys
|
||||||
|
end #end of case self.member_profile_field.markup
|
||||||
|
end # of self[:temp_data].nil?
|
||||||
|
self.unset('temp_data')
|
||||||
|
self.unset('temp')
|
||||||
|
end #of data_proc
|
||||||
|
|
||||||
|
def check_key
|
||||||
|
self.key = member_profile_field.key
|
||||||
|
end
|
||||||
|
|
||||||
|
def method_missing(*field)
|
||||||
|
if field.size < 1
|
||||||
|
self[field[0]]
|
||||||
|
else
|
||||||
|
self[(field[0].to_s.delete "=")] = field[1]
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
|
|
||||||
<% @attributes.each do |attribute| %>
|
|
||||||
<tr>
|
|
||||||
<td><%= attribute.key %></td>
|
|
||||||
<td>
|
|
||||||
<%= attribute.title %>
|
|
||||||
<div class="quick-edit">
|
|
||||||
<ul class="nav nav-pills">
|
|
||||||
<%= content_tag(:li, link_to(t(:edit),edit_admin_member_info_path(attribute))) if current_user.is_admin? %>
|
|
||||||
<%= content_tag(:li, link_to(t(:delete_),admin_member_info_path(attribute, :at=>params[:at]), :confirm => t(:sure?), :method => :delete, :class=>"text-error", :remote => true)) if current_user.is_admin? %>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><%= attribute.key %></td>
|
|
||||||
</tr>
|
|
||||||
<% end %>
|
|
|
@ -13,7 +13,21 @@
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<%= render :partial => "attributes",:collection=> @attributes%>
|
<% @attributes.each do |attribute| %>
|
||||||
|
<tr>
|
||||||
|
<td><%= attribute.key %></td>
|
||||||
|
<td>
|
||||||
|
<%= attribute.title %>
|
||||||
|
<div class="quick-edit">
|
||||||
|
<ul class="nav nav-pills">
|
||||||
|
<%= content_tag(:li, link_to(t(:edit),edit_admin_member_info_path(attribute))) if current_user.is_admin? %>
|
||||||
|
<%= content_tag(:li, link_to(t(:delete_),admin_member_info_path(attribute, :at=>params[:at]), :confirm => t(:sure?), :method => :delete, :class=>"text-error", :remote => true)) if current_user.is_admin? %>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td><%= attribute.key %></td>
|
||||||
|
</tr>
|
||||||
|
<% end %>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
%>
|
%>
|
||||||
<tr id="<%= dom_id member %>">
|
<tr id="<%= dom_id member %>">
|
||||||
<td class="<%= member_sex %>"></td>
|
<td class="<%= member_sex %>"></td>
|
||||||
<td><%= link_to member.position, '#', class: 'edit_position', 'data-user-id' => member.id %></td>
|
<td><%= link_to (member.position + 1), '#', class: 'edit_position', 'data-user-id' => member.id %></td>
|
||||||
<td><%= link_to member.name, admin_member_path(member) %></td>
|
<td><%= link_to member.name, admin_member_path(member) %></td>
|
||||||
<td><%= member.email %></td>
|
<td><%= member.email %></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -7,3 +7,76 @@
|
||||||
<% @form_index = @form_index +1 %>
|
<% @form_index = @form_index +1 %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<% content_for :page_specific_javascript do -%>
|
||||||
|
|
||||||
|
<% ( params[:id].blank? ? @fname = 'new_attribute_values' : @fname = 'attribute_values' ) %>
|
||||||
|
|
||||||
|
<!-- Text -->
|
||||||
|
<script id="template-text" type="text/x-tmpl">
|
||||||
|
<div class="input-append">
|
||||||
|
<input type="text" id="${roleType+'_text_'+appendIndex}" name="${'user[<%= @fname %>]['+nameNumber+'][value][]'}" class="input-medium" placeholder="">
|
||||||
|
<a href="#" class="btn remove-input">
|
||||||
|
<i class="icon-trash"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- Text Language -->
|
||||||
|
<script id="template-text-language" type="text/x-tmpl">
|
||||||
|
<div class="input-append">
|
||||||
|
<div class="tab-content">
|
||||||
|
|
||||||
|
<% @site_valid_locales.collect do |locale| %>
|
||||||
|
<% active = (locale == @site_in_use_locales.first ? "active" : "") %>
|
||||||
|
|
||||||
|
<div class="tab-pane fade <%= active %> in" id="${roleType+'_text_language_<%= locale %>_'+appendIndex}">
|
||||||
|
<input type="text" name="${'user[<%= @fname %>]['+nameNumber+'][value][][<%= locale %>]'}" placeholder="<%= I18nVariable.from_locale(locale) %>" value="">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="btn-group" data-toggle="buttons-radio">
|
||||||
|
<% @site_valid_locales.collect do |locale| %>
|
||||||
|
<% active = (locale == @site_in_use_locales.first ? "active" : "") %>
|
||||||
|
<a class="btn <%= active %>" href="${'#'+roleType+'_text_language_<%= locale %>_'+appendIndex}" data-toggle="tab"><%= I18nVariable.from_locale(locale) %></a>
|
||||||
|
<% end %>
|
||||||
|
<a href="#" class="btn remove-input"><i class="icon-trash"></i></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- Address -->
|
||||||
|
<script id="template-address" type="text/x-tmpl">
|
||||||
|
<div class="input-append">
|
||||||
|
<div class="tab-content">
|
||||||
|
<div class="tab-pane fade active in" id="${roleType+'_address_en_'+appendIndex}">
|
||||||
|
<input type="text" name="${'user[new_attribute_values]['+nameNumber+'][value][en]'}" placeholder="Address" value="">
|
||||||
|
<input type="hidden" id="${roleType+'_street_address_en_'+appendIndex}" name="${'user[new_attribute_values]['+nameNumber+'][address_ext][en][street_address]'}" value="">
|
||||||
|
<input type="hidden" id="${roleType+'_cityarea_en_'+appendIndex}" name="${'user[new_attribute_values]['+nameNumber+'][address_ext][en][county]'}" value="">
|
||||||
|
<input type="hidden" id="${roleType+'_city_en_'+appendIndex}" name="${'user[new_attribute_values]['+nameNumber+'][address_ext][en][city]'}" value="">
|
||||||
|
<input type="hidden" id="${roleType+'_zip_en_'+appendIndex}" name="${'user[new_attribute_values]['+nameNumber+'][address_ext][en][zip]'}" value="">
|
||||||
|
<input type="hidden" id="${roleType+'_county_en_'+appendIndex}" name="${'user[new_attribute_values]['+nameNumber+'][address_ext][en][country]'}" value="">
|
||||||
|
<input type="hidden" id="${roleType+'_indicator_en_'+appendIndex}" name="${'user[new_attribute_values]['+nameNumber+'][address_ext][en][indicator]'}" value="">
|
||||||
|
</div>
|
||||||
|
<div class="tab-pane fade" id="${roleType+'_address_zh_tw_'+appendIndex}">
|
||||||
|
<input type="text" name="${'user[new_attribute_values]['+nameNumber+'][value][zh_tw]'}" placeholder="地址" value="">
|
||||||
|
<input type="hidden" id="${roleType+'_street_address_zh_tw_'+appendIndex}" name="${'user[new_attribute_values]['+nameNumber+'][address_ext][zh_tw][street_address]'}" value="">
|
||||||
|
<input type="hidden" id="${roleType+'_cityarea_zh_tw_'+appendIndex}" name="${'user[new_attribute_values]['+nameNumber+'][address_ext][zh_tw][county]'}" value="">
|
||||||
|
<input type="hidden" id="${roleType+'_city_zh_tw_'+appendIndex}" name="${'user[new_attribute_values]['+nameNumber+'][address_ext][zh_tw][city]'}" value="">
|
||||||
|
<input type="hidden" id="${roleType+'_zip_zh_tw_'+appendIndex}" name="${'user[new_attribute_values]['+nameNumber+'][address_ext][zh_tw][zip]'}" value="">
|
||||||
|
<input type="hidden" id="${roleType+'_county_zh_tw_'+appendIndex}" name="${'user[new_attribute_values]['+nameNumber+'][address_ext][zh_tw][country]'}" value="">
|
||||||
|
<input type="hidden" id="${roleType+'_indicator_zh_tw_'+appendIndex}" name="${'user[new_attribute_values]['+nameNumber+'][address_ext][zh_tw][indicator]'}" value="">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="btn-group" data-toggle="buttons-radio">
|
||||||
|
<a class="btn active" href="${'#'+roleType+'_address_en_'+appendIndex}" data-toggle="tab">English</a>
|
||||||
|
<a class="btn" href="${'#'+roleType+'_address_zh_tw_'+appendIndex}" data-toggle="tab">Chinese</a>
|
||||||
|
<a class="btn" href="#address-field" role="button" data-toggle="modal"><i class="icon-edit"></i></a>
|
||||||
|
<a href="#" class="btn remove-input"><i class="icon-trash"></i></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<% end -%>
|
Loading…
Reference in New Issue