From be26ae3059965cf025744be09c4a25bb25ee071d Mon Sep 17 00:00:00 2001 From: waynegerard Date: Sat, 19 May 2012 13:51:41 -0700 Subject: [PATCH 1/2] Added a setter method for label_field_id in content_types.rb model. Should resolve issue where label_field_name was not being updated properly through the UI. Fix for issue #398. --- app/models/locomotive/content_type.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/models/locomotive/content_type.rb b/app/models/locomotive/content_type.rb index 95dc78ca..f4f6d6b7 100644 --- a/app/models/locomotive/content_type.rb +++ b/app/models/locomotive/content_type.rb @@ -83,6 +83,13 @@ 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.find(value).name rescue nil + self.label_field_name = new_label_field_name + super(value) + end def label_field_name=(value) # mandatory if we allow the API to set the label field name without an id of the field From 2fa81112fcb1adcb2ee3a55c59565ff92195ac24 Mon Sep 17 00:00:00 2001 From: waynegerard Date: Tue, 22 May 2012 18:27:38 -0700 Subject: [PATCH 2/2] Removing inline rescue in favor of where/try combination for label ID in setter method. Thanks @mariovisic\! --- app/models/locomotive/content_type.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/locomotive/content_type.rb b/app/models/locomotive/content_type.rb index f4f6d6b7..c013cf81 100644 --- a/app/models/locomotive/content_type.rb +++ b/app/models/locomotive/content_type.rb @@ -86,7 +86,7 @@ module Locomotive 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.find(value).name rescue nil + 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