Class: DcPoll
- Inherits:
-
Object
- Object
- DcPoll
- Includes:
- Mongoid::Document, Mongoid::Timestamps
- Defined in:
- app/models/dc_poll.rb
Overview
Schema information
Collection name: dc_poll : Polls
_id BSON::ObjectId _id
created_at Time created_at
updated_at Time updated_at
name String Unique poll name
title String Title for the poll
sub_text String Short description of the poll
pre_display String pre_display
operation String Operation performed on submit
parameters String Aditional parameters for operation
display String Select how fields are positioned on form
css String CSS specific to this poll
form String You can specified input items by providing form acording to rules of drgCMS form.
valid_from DateTime Pole is valid from
valid_to DateTime Pole is valid to
captcha_type String Catpcha type name if captcha is used
active Mongoid::Boolean active
created_by BSON::ObjectId created_by
updated_by BSON::ObjectId updated_by
dc_poll_items Embedded:DcPollItem Items for this poll
DcPoll documents are used for different questionaries and formulars which can be accessed independent or connected with DcPage documents. Entry fields can be defined as DcSimpleItem embedded structure or as DRG CMS form YAML style entered into form field.
Instance Method Summary collapse
-
#save_results(data) ⇒ Object
Save poll results to DcPollResults collection.
Instance Method Details
#save_results(data) ⇒ Object
Save poll results to DcPollResults collection
Params: data : Hash : Records hash (params)
85 86 87 88 89 90 91 92 93 94 |
# File 'app/models/dc_poll.rb', line 85 def save_results(data) h = {} items = self.form.blank? ? self.dc_poll_items : YAML.load(self.form.gsub(' ',' ')) items.each do |item| next if %w(hidden_field submit_tag link_to comment).include?(item.type) next if item.try(:options).match('hidden') h[ item['name'] ] = data[ item['name'] ] end DcPollResult.create(dc_poll_id: self.id, data: h.to_yaml) end |