diff --git a/app/models/exported_plan.rb b/app/models/exported_plan.rb index 44b0e3a..e4e88cb 100644 --- a/app/models/exported_plan.rb +++ b/app/models/exported_plan.rb @@ -1,5 +1,6 @@ class ExportedPlan < ActiveRecord::Base include GlobalHelpers + include SettingsTemplateHelper # TODO: REMOVE AND HANDLE ATTRIBUTE SECURITY IN THE CONTROLLER! attr_accessible :plan_id, :user_id, :format, :user, :plan, :as => [:default, :admin] @@ -122,11 +123,15 @@ end def as_txt - output = "#{self.plan.project.title}\n\n#{self.plan.version.phase.title}\n" - output += "\nDetails:\n\n" - attrs = self.plan.settings(:export)[:value]['fields'][:admin].collect{|f| f.to_s} - attrs.each do |attr| - output += attr + ": " + self.send(attr) + "\n" + output = "#{self.plan.title}\n\n#{self.plan.template.title}\n" + output += "\n"+_('Details')+"\n\n" + puts 'admin_details: '+self.admin_details.inspect + + self.admin_details.each do |at| + value = self.send(at) + if value.present? + output += admin_field_t(at.to_s) + ": " + value + "\n" + end end self.sections.each do |section| @@ -137,14 +142,18 @@ output += "\n* #{qtext}" answer = self.plan.answer(question.id, false) - if answer.nil? || answer.text.nil? then + if answer.nil? output += _('Question not answered.')+ "\n" else - output += answer.options.collect {|o| o.text}.join("\n") - if question.option_comment_display == true then - output += "\n#{sanitize_text(answer.text)}\n" + q_format = question.question_format + if q_format.title == _('Check box') || q_format.title == _('Multi select box') || + q_format.title == _('Radio buttons') || q_format.title == _('Dropdown') + output += answer.options.collect {|o| o.text}.join("\n") + if question.option_comment_display + output += "\n#{sanitize_text(answer.text)}\n" + end else - output += "\n" + output += "\n#{sanitize_text(answer.text)}\n" end end end