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)
|
self.send((type || self.content_type).label_field_name.to_sym)
|
||||||
end
|
end
|
||||||
|
|
||||||
value.respond_to?(:to_label) ? value.to_label : value
|
value.respond_to?(:to_label) ? value.to_label : value.to_s
|
||||||
end
|
end
|
||||||
|
|
||||||
|
alias :to_label :_label
|
||||||
|
|
||||||
def translated?
|
def translated?
|
||||||
if self.respond_to?(:"#{self._label_field_name}_translations")
|
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
|
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)
|
def class_name_to_content_type(class_name)
|
||||||
self.class.class_name_to_content_type(class_name, self.site)
|
self.class.class_name_to_content_type(class_name, self.site)
|
||||||
end
|
end
|
||||||
|
|
||||||
def label_field_id=(value)
|
def label_field_id=(value)
|
||||||
# update the label_field_name if the label_field_id is changed
|
# 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
|
self.label_field_name = new_label_field_name
|
||||||
super(value)
|
super(value)
|
||||||
end
|
end
|
||||||
|
@ -22,6 +22,7 @@ module CustomFields
|
|||||||
module Types
|
module Types
|
||||||
|
|
||||||
module File
|
module File
|
||||||
|
|
||||||
class FileUploader < ::CarrierWave::Uploader::Base
|
class FileUploader < ::CarrierWave::Uploader::Base
|
||||||
|
|
||||||
# Set correct paths
|
# Set correct paths
|
||||||
@ -34,6 +35,7 @@ module CustomFields
|
|||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -34,6 +34,7 @@ describe Locomotive::ContentEntry do
|
|||||||
content_entry.should_not be_valid
|
content_entry.should_not be_valid
|
||||||
content_entry.errors[:_slug].should == ["can't be blank"]
|
content_entry.errors[:_slug].should == ["can't be blank"]
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'setting the slug' do
|
context 'setting the slug' do
|
||||||
@ -187,12 +188,24 @@ describe Locomotive::ContentEntry do
|
|||||||
|
|
||||||
end
|
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'
|
build_content_entry._label.should == 'Locomotive'
|
||||||
end
|
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
|
end
|
||||||
|
|
||||||
describe '#public_submission' do
|
describe '#public_submission' do
|
||||||
|
Loading…
Reference in New Issue
Block a user