+
+ def attribute_editable? attr, *args
+ super && (attr.to_sym == :name ||
+ (attr.to_sym == :components and
+ (self.state == 'New' || self.state == 'Ready')))
+ end
+
+ def attributes_for_display
+ super.reject { |k,v| k == 'components' }
+ end
+
+ def self.creatable?
+ false
+ end