fix issue #430
This commit is contained in:
parent
bc63cd8acf
commit
acd46f1c10
@ -45,9 +45,11 @@ module Locomotive
|
||||
self.send((type || self.content_type).label_field_name.to_sym)
|
||||
end
|
||||
|
||||
value.respond_to?(:to_label) ? value.to_label : value
|
||||
value.respond_to?(:to_label) ? value.to_label : value.to_s
|
||||
end
|
||||
|
||||
alias :to_label :_label
|
||||
|
||||
def translated?
|
||||
if self.respond_to?(:"#{self._label_field_name}_translations")
|
||||
self.send(:"#{self._label_field_name}_translations").key?(::Mongoid::Fields::I18n.locale.to_s) #rescue false
|
||||
|
@ -83,10 +83,10 @@ module Locomotive
|
||||
def class_name_to_content_type(class_name)
|
||||
self.class.class_name_to_content_type(class_name, self.site)
|
||||
end
|
||||
|
||||
|
||||
def label_field_id=(value)
|
||||
# update the label_field_name if the label_field_id is changed
|
||||
new_label_field_name = self.entries_custom_fields.where(:_id =>value).first.try(:name)
|
||||
new_label_field_name = self.entries_custom_fields.where(:_id => value).first.try(:name)
|
||||
self.label_field_name = new_label_field_name
|
||||
super(value)
|
||||
end
|
||||
|
@ -22,6 +22,7 @@ module CustomFields
|
||||
module Types
|
||||
|
||||
module File
|
||||
|
||||
class FileUploader < ::CarrierWave::Uploader::Base
|
||||
|
||||
# Set correct paths
|
||||
@ -34,6 +35,7 @@ module CustomFields
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
@ -34,6 +34,7 @@ describe Locomotive::ContentEntry do
|
||||
content_entry.should_not be_valid
|
||||
content_entry.errors[:_slug].should == ["can't be blank"]
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
context 'setting the slug' do
|
||||
@ -187,12 +188,24 @@ describe Locomotive::ContentEntry do
|
||||
|
||||
end
|
||||
|
||||
describe '#requirements' do
|
||||
describe '#label' do
|
||||
|
||||
it 'has public access to the highlighted field value' do
|
||||
it 'has a label based on the value of the first field' do
|
||||
build_content_entry._label.should == 'Locomotive'
|
||||
end
|
||||
|
||||
it 'uses the to_label method if the value of the label field defined it' do
|
||||
entry = build_content_entry(:_label_field_name => 'with_to_label')
|
||||
entry.stubs(:with_to_label).returns(mock('with_to_label', :to_label => 'acme'))
|
||||
entry._label.should == 'acme'
|
||||
end
|
||||
|
||||
it 'uses the to_s method at last if the label field did not define the to_label method' do
|
||||
entry = build_content_entry(:_label_field_name => 'not_a_string')
|
||||
entry.stubs(:not_a_string).returns(mock('not_a_string', :to_s => 'not_a_string'))
|
||||
entry._label.should == 'not_a_string'
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
describe '#public_submission' do
|
||||
|
Loading…
Reference in New Issue
Block a user