survey_says 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (180) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +65 -0
  3. data/Rakefile +39 -0
  4. data/app/assets/images/survey_says/sprites.png +0 -0
  5. data/app/assets/javascripts/bootstrap.js.coffee +21 -0
  6. data/app/assets/javascripts/survey_says/answer_form.js +42 -0
  7. data/app/assets/javascripts/survey_says.js +2 -0
  8. data/app/assets/stylesheets/survey_says/bootstrap.css +356 -0
  9. data/app/assets/stylesheets/survey_says/general.css.erb +138 -0
  10. data/app/assets/stylesheets/survey_says/sprite.css.erb +1 -0
  11. data/app/assets/stylesheets/survey_says.css +1 -0
  12. data/app/controllers/survey_admin/answers_controller.rb +64 -0
  13. data/app/controllers/survey_admin/base_controller.rb +15 -0
  14. data/app/controllers/survey_admin/questionnaires_controller.rb +44 -0
  15. data/app/controllers/survey_admin/questions_controller.rb +61 -0
  16. data/app/controllers/survey_admin/survey_properties_controller.rb +50 -0
  17. data/app/helpers/survey_admin/answers_helper.rb +2 -0
  18. data/app/helpers/survey_admin/questionnaires_helper.rb +2 -0
  19. data/app/helpers/survey_admin/questions_helper.rb +2 -0
  20. data/app/helpers/survey_admin/survey_properties_helper.rb +2 -0
  21. data/app/models/answer.rb +21 -0
  22. data/app/models/question.rb +11 -0
  23. data/app/models/questionnaire.rb +3 -0
  24. data/app/models/score.rb +12 -0
  25. data/app/models/survey_image.rb +29 -0
  26. data/app/models/survey_property.rb +5 -0
  27. data/app/models/user_answer.rb +6 -0
  28. data/app/views/layouts/survey_admin.html.erb +39 -0
  29. data/app/views/survey_admin/answers/_form.html.erb +49 -0
  30. data/app/views/survey_admin/answers/_score.html.erb +13 -0
  31. data/app/views/survey_admin/answers/_survey_image.html.erb +10 -0
  32. data/app/views/survey_admin/answers/edit.html.erb +12 -0
  33. data/app/views/survey_admin/answers/index.html.erb +61 -0
  34. data/app/views/survey_admin/answers/new.html.erb +8 -0
  35. data/app/views/survey_admin/answers/show.html.erb +38 -0
  36. data/app/views/survey_admin/questionnaires/_form.html.erb +8 -0
  37. data/app/views/survey_admin/questionnaires/edit.html.erb +11 -0
  38. data/app/views/survey_admin/questionnaires/index.html.erb +18 -0
  39. data/app/views/survey_admin/questionnaires/new.html.erb +8 -0
  40. data/app/views/survey_admin/questionnaires/show.html.erb +17 -0
  41. data/app/views/survey_admin/questions/_answer.html.erb +13 -0
  42. data/app/views/survey_admin/questions/_form.html.erb +52 -0
  43. data/app/views/survey_admin/questions/edit.html.erb +11 -0
  44. data/app/views/survey_admin/questions/index.html.erb +30 -0
  45. data/app/views/survey_admin/questions/new.html.erb +10 -0
  46. data/app/views/survey_admin/questions/show.html.erb +29 -0
  47. data/app/views/survey_admin/survey_properties/_form.html.erb +8 -0
  48. data/app/views/survey_admin/survey_properties/edit.html.erb +11 -0
  49. data/app/views/survey_admin/survey_properties/index.html.erb +19 -0
  50. data/app/views/survey_admin/survey_properties/new.html.erb +8 -0
  51. data/app/views/survey_admin/survey_properties/show.html.erb +12 -0
  52. data/config/routes.rb +17 -0
  53. data/db/development.sqlite3 +0 -0
  54. data/db/migrate/20111208181247_create_questions.rb +11 -0
  55. data/db/migrate/20111208181414_create_answers.rb +14 -0
  56. data/db/migrate/20111208181429_create_survey_properties.rb +9 -0
  57. data/db/migrate/20111208181449_create_scores.rb +15 -0
  58. data/db/migrate/20111211175518_create_user_answers.rb +12 -0
  59. data/db/migrate/20111211175604_create_questionnaires.rb +8 -0
  60. data/db/migrate/20111211180011_add_questionaire_id_to_questions.rb +7 -0
  61. data/db/migrate/20111213185612_create_survey_images.rb +15 -0
  62. data/lib/generators/survey_models_generator.rb +32 -0
  63. data/lib/generators/survey_says_generator.rb +60 -0
  64. data/lib/survey_says/acts_as_survey_says.rb +59 -0
  65. data/lib/survey_says/core_ext.rb +0 -0
  66. data/lib/survey_says/engine.rb +4 -0
  67. data/lib/survey_says/version.rb +3 -0
  68. data/lib/survey_says.rb +7 -0
  69. data/lib/tasks/survey_says_tasks.rake +4 -0
  70. data/test/acts_as_survey_test.rb +87 -0
  71. data/test/dummy/Rakefile +7 -0
  72. data/test/dummy/app/assets/javascripts/application.js +12 -0
  73. data/test/dummy/app/assets/stylesheets/application.css +10 -0
  74. data/test/dummy/app/controllers/application_controller.rb +3 -0
  75. data/test/dummy/app/helpers/application_helper.rb +2 -0
  76. data/test/dummy/app/helpers/error_messages_helper.rb +23 -0
  77. data/test/dummy/app/helpers/layout_helper.rb +22 -0
  78. data/test/dummy/app/views/layouts/application.html.erb +19 -0
  79. data/test/dummy/config/application.rb +45 -0
  80. data/test/dummy/config/boot.rb +10 -0
  81. data/test/dummy/config/database.yml +25 -0
  82. data/test/dummy/config/environment.rb +5 -0
  83. data/test/dummy/config/environments/development.rb +39 -0
  84. data/test/dummy/config/environments/production.rb +69 -0
  85. data/test/dummy/config/environments/test.rb +48 -0
  86. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  87. data/test/dummy/config/initializers/inflections.rb +10 -0
  88. data/test/dummy/config/initializers/mime_types.rb +5 -0
  89. data/test/dummy/config/initializers/secret_token.rb +7 -0
  90. data/test/dummy/config/initializers/session_store.rb +8 -0
  91. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  92. data/test/dummy/config/locales/en.yml +5 -0
  93. data/test/dummy/config/routes.rb +58 -0
  94. data/test/dummy/config.ru +4 -0
  95. data/test/dummy/db/development.sqlite3 +0 -0
  96. data/test/dummy/db/migrate/20111010112000_create_users.rb +7 -0
  97. data/test/dummy/db/schema.rb +82 -0
  98. data/test/dummy/db/test.sqlite3 +0 -0
  99. data/test/dummy/log/development.log +11108 -0
  100. data/test/dummy/log/test.log +12731 -0
  101. data/test/dummy/public/404.html +26 -0
  102. data/test/dummy/public/422.html +26 -0
  103. data/test/dummy/public/500.html +26 -0
  104. data/test/dummy/public/assets/products/1/large/image01.jpg +0 -0
  105. data/test/dummy/public/assets/products/1/mini/image01.jpg +0 -0
  106. data/test/dummy/public/assets/products/1/original/image01.jpg +0 -0
  107. data/test/dummy/public/assets/products/1/product/image01.jpg +0 -0
  108. data/test/dummy/public/assets/products/1/small/image01.jpg +0 -0
  109. data/test/dummy/public/assets/products/2/large/delete.png +0 -0
  110. data/test/dummy/public/assets/products/2/mini/delete.png +0 -0
  111. data/test/dummy/public/assets/products/2/original/delete.png +0 -0
  112. data/test/dummy/public/assets/products/2/product/delete.png +0 -0
  113. data/test/dummy/public/assets/products/2/small/delete.png +0 -0
  114. data/test/dummy/public/favicon.ico +0 -0
  115. data/test/dummy/public/stylesheets/application.css +83 -0
  116. data/test/dummy/script/rails +6 -0
  117. data/test/dummy/tmp/cache/assets/BF8/2D0/sprockets%2F061365584f62ff829333e404d3566614 +0 -0
  118. data/test/dummy/tmp/cache/assets/C17/0E0/sprockets%2F976726a8626e66694980f590bc387807 +0 -0
  119. data/test/dummy/tmp/cache/assets/C4B/B20/sprockets%2F75e3756ba610340b7d9e0501e2738815 +0 -0
  120. data/test/dummy/tmp/cache/assets/C74/4F0/sprockets%2F2b3933c1c8b63193cbf460019680641c +0 -0
  121. data/test/dummy/tmp/cache/assets/C8B/250/sprockets%2F1a17d2874364d2e99677211577ccbd29 +0 -0
  122. data/test/dummy/tmp/cache/assets/CBA/690/sprockets%2F4b4be759f94f48654023ccf82558c202 +0 -0
  123. data/test/dummy/tmp/cache/assets/CD1/FA0/sprockets%2F887d02a66c0be114c4d845e0e31b5046 +0 -0
  124. data/test/dummy/tmp/cache/assets/CDE/2F0/sprockets%2F01f7a04861b8d5c6ff5259b931b513a8 +0 -0
  125. data/test/dummy/tmp/cache/assets/CDE/990/sprockets%2Fd076ad241795a6dce56456d661c3c540 +0 -0
  126. data/test/dummy/tmp/cache/assets/CE8/960/sprockets%2F055e1879b589151f8c914fd4d2faa451 +0 -0
  127. data/test/dummy/tmp/cache/assets/CEA/E30/sprockets%2F3b6e44c89e8821a8ade264ba89536306 +0 -0
  128. data/test/dummy/tmp/cache/assets/CFB/EC0/sprockets%2F7b68fde8e3e0b2496451649499a339fd +0 -0
  129. data/test/dummy/tmp/cache/assets/D0A/650/sprockets%2F3892c73640ba239ad055eb70adc7d376 +0 -0
  130. data/test/dummy/tmp/cache/assets/D1A/400/sprockets%2F3db3e35d06c8ee7eea759a5561609176 +0 -0
  131. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  132. data/test/dummy/tmp/cache/assets/D35/7F0/sprockets%2Fb0bf073fb61c9ab736703d17e7223d7c +0 -0
  133. data/test/dummy/tmp/cache/assets/D39/260/sprockets%2F1c93edd8921f9c9dd8f9b391a8576996 +0 -0
  134. data/test/dummy/tmp/cache/assets/D44/8F0/sprockets%2Fd4882ae3d2b7e5c4a792a962b96d0c53 +0 -0
  135. data/test/dummy/tmp/cache/assets/D45/380/sprockets%2Fdcec95a29ee086a4283091e0671cee84 +0 -0
  136. data/test/dummy/tmp/cache/assets/D4F/990/sprockets%2F448cea593d65f06453fd58c813be85ec +0 -0
  137. data/test/dummy/tmp/cache/assets/D54/ED0/sprockets%2F71c9fa01091d432b131da3bb73faf3d4 +0 -0
  138. data/test/dummy/tmp/cache/assets/D5C/B80/sprockets%2F25fb254ba6af4c046abe0d457470b6b4 +0 -0
  139. data/test/dummy/tmp/cache/assets/D5F/B70/sprockets%2F7df07cffaafc819374564f89a9779d33 +0 -0
  140. data/test/dummy/tmp/cache/assets/D6A/A80/sprockets%2F65d4f0c9709bb65e6f0d20c4d33f6bd0 +0 -0
  141. data/test/dummy/tmp/cache/assets/D7D/470/sprockets%2Fc4f8c42e5a8d6a013a72e1e4dee99879 +0 -0
  142. data/test/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384 +0 -0
  143. data/test/dummy/tmp/cache/assets/D90/570/sprockets%2Fc28a3557e8dc87e9666afd75e7a578fa +0 -0
  144. data/test/dummy/tmp/cache/assets/D9F/AA0/sprockets%2F5faefd4c3b0d325d6046fc76bc634f93 +0 -0
  145. data/test/dummy/tmp/cache/assets/DA9/CA0/sprockets%2F65298b70d60c89a7fc08cea4dee62f2d +0 -0
  146. data/test/dummy/tmp/cache/assets/DE4/230/sprockets%2F2edbb30dab2c30af6660456f54aca6cb +0 -0
  147. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  148. data/test/dummy/tmp/cache/assets/E06/600/sprockets%2Fe4ef2dbc6691ad7f906b8cbca636e45d +0 -0
  149. data/test/dummy/tmp/cache/assets/E23/5C0/sprockets%2Ffdb40ef1a5e8bbeda0c5732a545cc8f3 +0 -0
  150. data/test/dummy/tmp/cache/assets/E36/A40/sprockets%2Fbb57cff6dedd610b280b8fbfd9285b5f +0 -0
  151. data/test/factories/answers.rb +6 -0
  152. data/test/factories/questionnaires.rb +3 -0
  153. data/test/factories/questions.rb +12 -0
  154. data/test/factories/scores.rb +5 -0
  155. data/test/factories/survey_images.rb +9 -0
  156. data/test/factories/survey_properties.rb +3 -0
  157. data/test/factories/user_answers.rb +4 -0
  158. data/test/factories/users.rb +3 -0
  159. data/test/fixtures/answers.yml +13 -0
  160. data/test/fixtures/questionnaires.yml +7 -0
  161. data/test/fixtures/questions.yml +11 -0
  162. data/test/fixtures/scores.yml +11 -0
  163. data/test/fixtures/survey_images.yml +19 -0
  164. data/test/fixtures/survey_properties.yml +7 -0
  165. data/test/fixtures/user_answers.yml +9 -0
  166. data/test/functional/survey_admin/answers_controller_test.rb +71 -0
  167. data/test/functional/survey_admin/questionnaires_controller_test.rb +52 -0
  168. data/test/functional/survey_admin/questions_controller_test.rb +61 -0
  169. data/test/functional/survey_admin/survey_properties_controller_test.rb +59 -0
  170. data/test/integration/navigation_test.rb +10 -0
  171. data/test/survey_says_test.rb +7 -0
  172. data/test/test_helper.rb +16 -0
  173. data/test/unit/answer_test.rb +12 -0
  174. data/test/unit/question_test.rb +7 -0
  175. data/test/unit/questionaire_test.rb +7 -0
  176. data/test/unit/score_test.rb +7 -0
  177. data/test/unit/survey_image_test.rb +7 -0
  178. data/test/unit/survey_property_test.rb +7 -0
  179. data/test/unit/user_answer_test.rb +7 -0
  180. metadata +420 -0
@@ -0,0 +1,138 @@
1
+ html, body {
2
+ height:100%;
3
+ min-height:100%;
4
+ }
5
+
6
+ html, body {
7
+ background-color: #4B7399;
8
+ font-family: Verdana, Helvetica, Arial;
9
+ font-size: 14px;
10
+ }
11
+
12
+ a img {
13
+ border: none;
14
+ }
15
+
16
+ a {
17
+ color: #0000FF;
18
+ }
19
+
20
+ .clear {
21
+ clear: both;
22
+ height: 0;
23
+ overflow: hidden;
24
+ }
25
+
26
+ #container {
27
+ width: 1040px;
28
+ margin: 0 auto;
29
+ background-color: #FFF;
30
+ padding: 10px 20px;
31
+ border: solid 1px black;
32
+ margin-top: 5px;
33
+ }
34
+ #main-container {
35
+ width: 800px;
36
+ background-color: #FFF;
37
+ margin-right: 5px;
38
+ float:left;
39
+ display:inline;
40
+ }
41
+ #right-container {
42
+ width: 230px;
43
+ border: solid 1px #eee;
44
+ background-color: #FFF;
45
+ float:left;
46
+ display:inline;
47
+ -moz-border-radius:6px;
48
+ -webkit-border-radius:6px;
49
+ }
50
+ #flash_notice, #flash_error, #flash_alert {
51
+ padding: 5px 8px;
52
+ margin: 10px 0;
53
+ }
54
+
55
+ #flash_notice {
56
+ background-color: #CFC;
57
+ border: solid 1px #6C6;
58
+ }
59
+
60
+ #flash_error, #flash_alert {
61
+ background-color: #FCC;
62
+ border: solid 1px #C66;
63
+ }
64
+
65
+ .error_messages {
66
+ width: 400px;
67
+ border: 2px solid #CF0000;
68
+ padding: 0px;
69
+ padding-bottom: 12px;
70
+ margin-bottom: 20px;
71
+ background-color: #f0f0f0;
72
+ font-size: 12px;
73
+ }
74
+
75
+ .error_messages h2 {
76
+ text-align: left;
77
+ font-weight: bold;
78
+ padding: 5px 10px;
79
+ font-size: 12px;
80
+ margin: 0;
81
+ background-color: #c00;
82
+ color: #fff;
83
+ }
84
+
85
+ .error_messages p {
86
+ margin: 8px 10px;
87
+ }
88
+
89
+ .error_messages ul {
90
+ margin: 0;
91
+ }
92
+
93
+ .field_with_errors {
94
+ display: inline;
95
+ }
96
+
97
+ form .field, form .actions {
98
+ margin: 10px 0;
99
+ }
100
+
101
+ form label {
102
+ display: block;
103
+ }
104
+ textarea {
105
+ height:50px;
106
+ width:330px;
107
+ }
108
+
109
+ .span-10 {
110
+ width:390px;
111
+ margin-right:10px;
112
+ float: left;
113
+ display:inline;
114
+ }
115
+
116
+ .clearfix:before, .clearfix:after { content: ""; display: table; }
117
+ .clearfix:after { clear: both; }
118
+ .clearfix { zoom: 1; }
119
+
120
+ ul {
121
+ list-style-type: none;
122
+ padding: 0;
123
+ margin-left: 0;
124
+ }
125
+ label {
126
+ font-weight: bold;
127
+ }
128
+
129
+ .answer-div {
130
+ background:#F6F6F6;
131
+ border:solid #EEE 2px;
132
+ padding:5px;
133
+ margin-bottom: 20px;
134
+
135
+ }
136
+ table .no-divider td {
137
+ border-top:solid #fff 0px;
138
+ }
@@ -0,0 +1 @@
1
+ .ss_sprite{display:inline; overflow:hidden; height:18px; padding-left:18px; padding-bottom:5px; background-repeat:no-repeat; background-image:url( '<%= asset_path 'survey_says/sprites.png' %>'); }.ss_accept{background-position:0px 0px}.ss_add{background-position:0px -19px}.ss_anchor{background-position:0px -37px}.ss_application{background-position:0px -55px}.ss_application_add{background-position:0px -73px}.ss_application_cascade{background-position:0px -91px}.ss_application_delete{background-position:0px -109px}.ss_application_double{background-position:0px -127px}.ss_application_edit{background-position:0px -145px}.ss_application_error{background-position:0px -163px}.ss_application_form{background-position:0px -181px}.ss_application_form_add{background-position:0px -199px}.ss_application_form_delete{background-position:0px -217px}.ss_application_form_edit{background-position:0px -235px}.ss_application_form_magnify{background-position:0px -253px}.ss_application_get{background-position:0px -271px}.ss_application_go{background-position:0px -289px}.ss_application_home{background-position:0px -307px}.ss_application_key{background-position:0px -325px}.ss_application_lightning{background-position:0px -343px}.ss_application_link{background-position:0px -361px}.ss_application_osx{background-position:0px -379px}.ss_application_osx_terminal{background-position:0px -397px}.ss_application_put{background-position:0px -415px}.ss_application_side_boxes{background-position:0px -433px}.ss_application_side_contract{background-position:0px -451px}.ss_application_side_expand{background-position:0px -469px}.ss_application_side_list{background-position:0px -487px}.ss_application_side_tree{background-position:0px -505px}.ss_application_split{background-position:0px -523px}.ss_application_tile_horizontal{background-position:0px -541px}.ss_application_tile_vertical{background-position:0px -559px}.ss_application_view_columns{background-position:0px -577px}.ss_application_view_detail{background-position:0px -595px}.ss_application_view_gallery{background-position:0px -613px}.ss_application_view_icons{background-position:0px -631px}.ss_application_view_list{background-position:0px -649px}.ss_application_view_tile{background-position:0px -667px}.ss_application_xp{background-position:0px -685px}.ss_application_xp_terminal{background-position:0px -703px}.ss_arrow_branch{background-position:0px -721px}.ss_arrow_divide{background-position:0px -739px}.ss_arrow_down{background-position:0px -757px}.ss_arrow_in{background-position:0px -775px}.ss_arrow_inout{background-position:0px -793px}.ss_arrow_join{background-position:0px -811px}.ss_arrow_left{background-position:0px -829px}.ss_arrow_merge{background-position:0px -847px}.ss_arrow_out{background-position:0px -865px}.ss_arrow_redo{background-position:0px -883px}.ss_arrow_refresh{background-position:0px -901px}.ss_arrow_refresh_small{background-position:0px -919px}.ss_arrow_right{background-position:0px -937px}.ss_arrow_rotate_anticlockwise{background-position:0px -955px}.ss_arrow_rotate_clockwise{background-position:0px -973px}.ss_arrow_switch{background-position:0px -991px}.ss_arrow_turn_left{background-position:0px -1009px}.ss_arrow_turn_right{background-position:0px -1027px}.ss_arrow_undo{background-position:0px -1045px}.ss_arrow_up{background-position:0px -1063px}.ss_asterisk_orange{background-position:0px -1081px}.ss_asterisk_yellow{background-position:0px -1099px}.ss_attach{background-position:0px -1117px}.ss_award_star_add{background-position:0px -1135px}.ss_award_star_bronze_1{background-position:0px -1153px}.ss_award_star_bronze_2{background-position:0px -1171px}.ss_award_star_bronze_3{background-position:0px -1189px}.ss_award_star_delete{background-position:0px -1207px}.ss_award_star_gold_1{background-position:0px -1225px}.ss_award_star_gold_2{background-position:0px -1243px}.ss_award_star_gold_3{background-position:0px -1261px}.ss_award_star_silver_1{background-position:0px -1279px}.ss_award_star_silver_2{background-position:0px -1297px}.ss_award_star_silver_3{background-position:0px -1315px}.ss_basket{background-position:0px -1333px}.ss_basket_add{background-position:0px -1351px}.ss_basket_delete{background-position:0px -1369px}.ss_basket_edit{background-position:0px -1387px}.ss_basket_error{background-position:0px -1405px}.ss_basket_go{background-position:0px -1423px}.ss_basket_put{background-position:0px -1441px}.ss_basket_remove{background-position:0px -1459px}.ss_bell{background-position:0px -1477px}.ss_bell_add{background-position:0px -1495px}.ss_bell_delete{background-position:0px -1513px}.ss_bell_error{background-position:0px -1531px}.ss_bell_go{background-position:0px -1549px}.ss_bell_link{background-position:0px -1567px}.ss_bin{background-position:0px -1585px}.ss_bin_closed{background-position:0px -1603px}.ss_bin_empty{background-position:0px -1621px}.ss_bomb{background-position:0px -1639px}.ss_book{background-position:0px -1657px}.ss_book_add{background-position:0px -1675px}.ss_book_addresses{background-position:0px -1693px}.ss_book_delete{background-position:0px -1711px}.ss_book_edit{background-position:0px -1729px}.ss_book_error{background-position:0px -1747px}.ss_book_go{background-position:0px -1765px}.ss_book_key{background-position:0px -1783px}.ss_book_link{background-position:0px -1801px}.ss_book_next{background-position:0px -1819px}.ss_book_open{background-position:0px -1837px}.ss_book_previous{background-position:0px -1855px}.ss_box{background-position:0px -1873px}.ss_brick{background-position:0px -1891px}.ss_brick_add{background-position:0px -1909px}.ss_brick_delete{background-position:0px -1927px}.ss_brick_edit{background-position:0px -1945px}.ss_brick_error{background-position:0px -1963px}.ss_brick_go{background-position:0px -1981px}.ss_brick_link{background-position:0px -1999px}.ss_bricks{background-position:0px -2017px}.ss_briefcase{background-position:0px -2035px}.ss_bug{background-position:0px -2053px}.ss_bug_add{background-position:0px -2071px}.ss_bug_delete{background-position:0px -2089px}.ss_bug_edit{background-position:0px -2107px}.ss_bug_error{background-position:0px -2125px}.ss_bug_go{background-position:0px -2143px}.ss_bug_link{background-position:0px -2161px}.ss_building{background-position:0px -2179px}.ss_building_add{background-position:0px -2197px}.ss_building_delete{background-position:0px -2215px}.ss_building_edit{background-position:0px -2233px}.ss_building_error{background-position:0px -2251px}.ss_building_go{background-position:0px -2269px}.ss_building_key{background-position:0px -2287px}.ss_building_link{background-position:0px -2305px}.ss_bullet_add{background-position:0px -2323px}.ss_bullet_arrow_bottom{background-position:0px -2341px}.ss_bullet_arrow_down{background-position:0px -2359px}.ss_bullet_arrow_top{background-position:0px -2377px}.ss_bullet_arrow_up{background-position:0px -2395px}.ss_bullet_black{background-position:0px -2413px}.ss_bullet_blue{background-position:0px -2431px}.ss_bullet_delete{background-position:0px -2449px}.ss_bullet_disk{background-position:0px -2467px}.ss_bullet_error{background-position:0px -2485px}.ss_bullet_feed{background-position:0px -2503px}.ss_bullet_go{background-position:0px -2521px}.ss_bullet_green{background-position:0px -2539px}.ss_bullet_key{background-position:0px -2557px}.ss_bullet_orange{background-position:0px -2575px}.ss_bullet_picture{background-position:0px -2593px}.ss_bullet_pink{background-position:0px -2611px}.ss_bullet_purple{background-position:0px -2629px}.ss_bullet_red{background-position:0px -2647px}.ss_bullet_star{background-position:0px -2665px}.ss_bullet_toggle_minus{background-position:0px -2683px}.ss_bullet_toggle_plus{background-position:0px -2701px}.ss_bullet_white{background-position:0px -2719px}.ss_bullet_wrench{background-position:0px -2737px}.ss_bullet_yellow{background-position:0px -2755px}.ss_cake{background-position:0px -2773px}.ss_calculator{background-position:0px -2791px}.ss_calculator_add{background-position:0px -2809px}.ss_calculator_delete{background-position:0px -2827px}.ss_calculator_edit{background-position:0px -2845px}.ss_calculator_error{background-position:0px -2863px}.ss_calculator_link{background-position:0px -2881px}.ss_calendar{background-position:0px -2899px}.ss_calendar_add{background-position:0px -2917px}.ss_calendar_delete{background-position:0px -2935px}.ss_calendar_edit{background-position:0px -2953px}.ss_calendar_link{background-position:0px -2971px}.ss_calendar_view_day{background-position:0px -2989px}.ss_calendar_view_month{background-position:0px -3007px}.ss_calendar_view_week{background-position:0px -3025px}.ss_camera{background-position:0px -3043px}.ss_camera_add{background-position:0px -3061px}.ss_camera_delete{background-position:0px -3079px}.ss_camera_edit{background-position:0px -3097px}.ss_camera_error{background-position:0px -3115px}.ss_camera_go{background-position:0px -3133px}.ss_camera_link{background-position:0px -3151px}.ss_camera_small{background-position:0px -3169px}.ss_cancel{background-position:0px -3187px}.ss_car{background-position:0px -3205px}.ss_car_add{background-position:0px -3223px}.ss_car_delete{background-position:0px -3241px}.ss_cart{background-position:0px -3259px}.ss_cart_add{background-position:0px -3277px}.ss_cart_delete{background-position:0px -3295px}.ss_cart_edit{background-position:0px -3313px}.ss_cart_error{background-position:0px -3331px}.ss_cart_go{background-position:0px -3349px}.ss_cart_put{background-position:0px -3367px}.ss_cart_remove{background-position:0px -3385px}.ss_cd{background-position:0px -3403px}.ss_cd_add{background-position:0px -3421px}.ss_cd_burn{background-position:0px -3439px}.ss_cd_delete{background-position:0px -3457px}.ss_cd_edit{background-position:0px -3475px}.ss_cd_eject{background-position:0px -3493px}.ss_cd_go{background-position:0px -3511px}.ss_chart_bar{background-position:0px -3529px}.ss_chart_bar_add{background-position:0px -3547px}.ss_chart_bar_delete{background-position:0px -3565px}.ss_chart_bar_edit{background-position:0px -3583px}.ss_chart_bar_error{background-position:0px -3601px}.ss_chart_bar_link{background-position:0px -3619px}.ss_chart_curve{background-position:0px -3637px}.ss_chart_curve_add{background-position:0px -3655px}.ss_chart_curve_delete{background-position:0px -3673px}.ss_chart_curve_edit{background-position:0px -3691px}.ss_chart_curve_error{background-position:0px -3709px}.ss_chart_curve_go{background-position:0px -3727px}.ss_chart_curve_link{background-position:0px -3745px}.ss_chart_line{background-position:0px -3763px}.ss_chart_line_add{background-position:0px -3781px}.ss_chart_line_delete{background-position:0px -3799px}.ss_chart_line_edit{background-position:0px -3817px}.ss_chart_line_error{background-position:0px -3835px}.ss_chart_line_link{background-position:0px -3853px}.ss_chart_organisation{background-position:0px -3871px}.ss_chart_organisation_add{background-position:0px -3889px}.ss_chart_organisation_delete{background-position:0px -3907px}.ss_chart_pie{background-position:0px -3925px}.ss_chart_pie_add{background-position:0px -3943px}.ss_chart_pie_delete{background-position:0px -3961px}.ss_chart_pie_edit{background-position:0px -3979px}.ss_chart_pie_error{background-position:0px -3997px}.ss_chart_pie_link{background-position:0px -4015px}.ss_clock{background-position:0px -4033px}.ss_clock_add{background-position:0px -4051px}.ss_clock_delete{background-position:0px -4069px}.ss_clock_edit{background-position:0px -4087px}.ss_clock_error{background-position:0px -4105px}.ss_clock_go{background-position:0px -4123px}.ss_clock_link{background-position:0px -4141px}.ss_clock_pause{background-position:0px -4159px}.ss_clock_play{background-position:0px -4177px}.ss_clock_red{background-position:0px -4195px}.ss_clock_stop{background-position:0px -4213px}.ss_cog{background-position:0px -4231px}.ss_cog_add{background-position:0px -4249px}.ss_cog_delete{background-position:0px -4267px}.ss_cog_edit{background-position:0px -4285px}.ss_cog_error{background-position:0px -4303px}.ss_cog_go{background-position:0px -4321px}.ss_coins{background-position:0px -4339px}.ss_coins_add{background-position:0px -4357px}.ss_coins_delete{background-position:0px -4375px}.ss_color_swatch{background-position:0px -4393px}.ss_color_wheel{background-position:0px -4411px}.ss_comment{background-position:0px -4429px}.ss_comment_add{background-position:0px -4447px}.ss_comment_delete{background-position:0px -4465px}.ss_comment_edit{background-position:0px -4483px}.ss_comments{background-position:0px -4501px}.ss_comments_add{background-position:0px -4519px}.ss_comments_delete{background-position:0px -4537px}.ss_compress{background-position:0px -4555px}.ss_computer{background-position:0px -4573px}.ss_computer_add{background-position:0px -4591px}.ss_computer_delete{background-position:0px -4609px}.ss_computer_edit{background-position:0px -4627px}.ss_computer_error{background-position:0px -4645px}.ss_computer_go{background-position:0px -4663px}.ss_computer_key{background-position:0px -4681px}.ss_computer_link{background-position:0px -4699px}.ss_connect{background-position:0px -4717px}.ss_contrast{background-position:0px -4735px}.ss_contrast_decrease{background-position:0px -4753px}.ss_contrast_high{background-position:0px -4771px}.ss_contrast_increase{background-position:0px -4789px}.ss_contrast_low{background-position:0px -4807px}.ss_control_eject{background-position:0px -4825px}.ss_control_eject_blue{background-position:0px -4843px}.ss_control_end{background-position:0px -4861px}.ss_control_end_blue{background-position:0px -4879px}.ss_control_equalizer{background-position:0px -4897px}.ss_control_equalizer_blue{background-position:0px -4915px}.ss_control_fastforward{background-position:0px -4933px}.ss_control_fastforward_blue{background-position:0px -4951px}.ss_control_pause{background-position:0px -4969px}.ss_control_pause_blue{background-position:0px -4987px}.ss_control_play{background-position:0px -5005px}.ss_control_play_blue{background-position:0px -5023px}.ss_control_repeat{background-position:0px -5041px}.ss_control_repeat_blue{background-position:0px -5059px}.ss_control_rewind{background-position:0px -5077px}.ss_control_rewind_blue{background-position:0px -5095px}.ss_control_start{background-position:0px -5113px}.ss_control_start_blue{background-position:0px -5131px}.ss_control_stop{background-position:0px -5149px}.ss_control_stop_blue{background-position:0px -5167px}.ss_controller{background-position:0px -5185px}.ss_controller_add{background-position:0px -5203px}.ss_controller_delete{background-position:0px -5221px}.ss_controller_error{background-position:0px -5239px}.ss_creditcards{background-position:0px -5257px}.ss_cross{background-position:0px -5275px}.ss_css{background-position:0px -5293px}.ss_css_add{background-position:0px -5311px}.ss_css_delete{background-position:0px -5329px}.ss_css_go{background-position:0px -5347px}.ss_css_valid{background-position:0px -5365px}.ss_cup{background-position:0px -5383px}.ss_cup_add{background-position:0px -5401px}.ss_cup_delete{background-position:0px -5419px}.ss_cup_edit{background-position:0px -5437px}.ss_cup_error{background-position:0px -5455px}.ss_cup_go{background-position:0px -5473px}.ss_cup_key{background-position:0px -5491px}.ss_cup_link{background-position:0px -5509px}.ss_cursor{background-position:0px -5527px}.ss_cut{background-position:0px -5545px}.ss_cut_red{background-position:0px -5563px}.ss_database{background-position:0px -5581px}.ss_database_add{background-position:0px -5599px}.ss_database_connect{background-position:0px -5617px}.ss_database_delete{background-position:0px -5635px}.ss_database_edit{background-position:0px -5653px}.ss_database_error{background-position:0px -5671px}.ss_database_gear{background-position:0px -5689px}.ss_database_go{background-position:0px -5707px}.ss_database_key{background-position:0px -5725px}.ss_database_lightning{background-position:0px -5743px}.ss_database_link{background-position:0px -5761px}.ss_database_refresh{background-position:0px -5779px}.ss_database_save{background-position:0px -5797px}.ss_database_table{background-position:0px -5815px}.ss_date{background-position:0px -5833px}.ss_date_add{background-position:0px -5851px}.ss_date_delete{background-position:0px -5869px}.ss_date_edit{background-position:0px -5887px}.ss_date_error{background-position:0px -5905px}.ss_date_go{background-position:0px -5923px}.ss_date_link{background-position:0px -5941px}.ss_date_magnify{background-position:0px -5959px}.ss_date_next{background-position:0px -5977px}.ss_date_previous{background-position:0px -5995px}.ss_delete{background-position:0px -6013px}.ss_disconnect{background-position:0px -6031px}.ss_disk{background-position:0px -6049px}.ss_disk_multiple{background-position:0px -6067px}.ss_door{background-position:0px -6085px}.ss_door_in{background-position:0px -6103px}.ss_door_open{background-position:0px -6121px}.ss_door_out{background-position:0px -6139px}.ss_drink{background-position:0px -6157px}.ss_drink_empty{background-position:0px -6175px}.ss_drive{background-position:0px -6193px}.ss_drive_add{background-position:0px -6211px}.ss_drive_burn{background-position:0px -6229px}.ss_drive_cd{background-position:0px -6247px}.ss_drive_cd_empty{background-position:0px -6265px}.ss_drive_delete{background-position:0px -6283px}.ss_drive_disk{background-position:0px -6301px}.ss_drive_edit{background-position:0px -6319px}.ss_drive_error{background-position:0px -6337px}.ss_drive_go{background-position:0px -6355px}.ss_drive_key{background-position:0px -6373px}.ss_drive_link{background-position:0px -6391px}.ss_drive_magnify{background-position:0px -6409px}.ss_drive_network{background-position:0px -6427px}.ss_drive_rename{background-position:0px -6445px}.ss_drive_user{background-position:0px -6463px}.ss_drive_web{background-position:0px -6481px}.ss_dvd{background-position:0px -6499px}.ss_dvd_add{background-position:0px -6517px}.ss_dvd_delete{background-position:0px -6535px}.ss_dvd_edit{background-position:0px -6553px}.ss_dvd_error{background-position:0px -6571px}.ss_dvd_go{background-position:0px -6589px}.ss_dvd_key{background-position:0px -6607px}.ss_dvd_link{background-position:0px -6625px}.ss_email{background-position:0px -6643px}.ss_email_add{background-position:0px -6661px}.ss_email_attach{background-position:0px -6679px}.ss_email_delete{background-position:0px -6697px}.ss_email_edit{background-position:0px -6715px}.ss_email_error{background-position:0px -6733px}.ss_email_go{background-position:0px -6751px}.ss_email_link{background-position:0px -6769px}.ss_email_open{background-position:0px -6787px}.ss_email_open_image{background-position:0px -6805px}.ss_emoticon_evilgrin{background-position:0px -6823px}.ss_emoticon_grin{background-position:0px -6841px}.ss_emoticon_happy{background-position:0px -6859px}.ss_emoticon_smile{background-position:0px -6877px}.ss_emoticon_surprised{background-position:0px -6895px}.ss_emoticon_tongue{background-position:0px -6913px}.ss_emoticon_unhappy{background-position:0px -6931px}.ss_emoticon_waii{background-position:0px -6949px}.ss_emoticon_wink{background-position:0px -6967px}.ss_error{background-position:0px -6985px}.ss_error_add{background-position:0px -7003px}.ss_error_delete{background-position:0px -7021px}.ss_error_go{background-position:0px -7039px}.ss_exclamation{background-position:0px -7057px}.ss_eye{background-position:0px -7075px}.ss_feed{background-position:0px -7093px}.ss_feed_add{background-position:0px -7111px}.ss_feed_delete{background-position:0px -7129px}.ss_feed_disk{background-position:0px -7147px}.ss_feed_edit{background-position:0px -7165px}.ss_feed_error{background-position:0px -7183px}.ss_feed_go{background-position:0px -7201px}.ss_feed_key{background-position:0px -7219px}.ss_feed_link{background-position:0px -7237px}.ss_feed_magnify{background-position:0px -7255px}.ss_female{background-position:0px -7273px}.ss_film{background-position:0px -7291px}.ss_film_add{background-position:0px -7309px}.ss_film_delete{background-position:0px -7327px}.ss_film_edit{background-position:0px -7345px}.ss_film_error{background-position:0px -7363px}.ss_film_go{background-position:0px -7381px}.ss_film_key{background-position:0px -7399px}.ss_film_link{background-position:0px -7417px}.ss_film_save{background-position:0px -7435px}.ss_find{background-position:0px -7453px}.ss_flag_blue{background-position:0px -7471px}.ss_flag_green{background-position:0px -7489px}.ss_flag_orange{background-position:0px -7507px}.ss_flag_pink{background-position:0px -7525px}.ss_flag_purple{background-position:0px -7543px}.ss_flag_red{background-position:0px -7561px}.ss_flag_yellow{background-position:0px -7579px}.ss_folder{background-position:0px -7597px}.ss_folder_add{background-position:0px -7615px}.ss_folder_bell{background-position:0px -7633px}.ss_folder_brick{background-position:0px -7651px}.ss_folder_bug{background-position:0px -7669px}.ss_folder_camera{background-position:0px -7687px}.ss_folder_database{background-position:0px -7705px}.ss_folder_delete{background-position:0px -7723px}.ss_folder_edit{background-position:0px -7741px}.ss_folder_error{background-position:0px -7759px}.ss_folder_explore{background-position:0px -7777px}.ss_folder_feed{background-position:0px -7795px}.ss_folder_find{background-position:0px -7813px}.ss_folder_go{background-position:0px -7831px}.ss_folder_heart{background-position:0px -7849px}.ss_folder_image{background-position:0px -7867px}.ss_folder_key{background-position:0px -7885px}.ss_folder_lightbulb{background-position:0px -7903px}.ss_folder_link{background-position:0px -7921px}.ss_folder_magnify{background-position:0px -7939px}.ss_folder_page{background-position:0px -7957px}.ss_folder_page_white{background-position:0px -7975px}.ss_folder_palette{background-position:0px -7993px}.ss_folder_picture{background-position:0px -8011px}.ss_folder_star{background-position:0px -8029px}.ss_folder_table{background-position:0px -8047px}.ss_folder_user{background-position:0px -8065px}.ss_folder_wrench{background-position:0px -8083px}.ss_font{background-position:0px -8101px}.ss_font_add{background-position:0px -8119px}.ss_font_delete{background-position:0px -8137px}.ss_font_go{background-position:0px -8155px}.ss_group{background-position:0px -8173px}.ss_group_add{background-position:0px -8191px}.ss_group_delete{background-position:0px -8209px}.ss_group_edit{background-position:0px -8227px}.ss_group_error{background-position:0px -8245px}.ss_group_gear{background-position:0px -8263px}.ss_group_go{background-position:0px -8281px}.ss_group_key{background-position:0px -8299px}.ss_group_link{background-position:0px -8317px}.ss_heart{background-position:0px -8335px}.ss_heart_add{background-position:0px -8353px}.ss_heart_delete{background-position:0px -8371px}.ss_help{background-position:0px -8389px}.ss_hourglass{background-position:0px -8407px}.ss_hourglass_add{background-position:0px -8425px}.ss_hourglass_delete{background-position:0px -8443px}.ss_hourglass_go{background-position:0px -8461px}.ss_hourglass_link{background-position:0px -8479px}.ss_house{background-position:0px -8497px}.ss_house_go{background-position:0px -8515px}.ss_house_link{background-position:0px -8533px}.ss_html{background-position:0px -8551px}.ss_html_add{background-position:0px -8569px}.ss_html_delete{background-position:0px -8587px}.ss_html_go{background-position:0px -8605px}.ss_html_valid{background-position:0px -8623px}.ss_image{background-position:0px -8641px}.ss_image_add{background-position:0px -8659px}.ss_image_delete{background-position:0px -8677px}.ss_image_edit{background-position:0px -8695px}.ss_image_link{background-position:0px -8713px}.ss_images{background-position:0px -8731px}.ss_information{background-position:0px -8749px}.ss_ipod{background-position:0px -8767px}.ss_ipod_cast{background-position:0px -8785px}.ss_ipod_cast_add{background-position:0px -8803px}.ss_ipod_cast_delete{background-position:0px -8821px}.ss_ipod_sound{background-position:0px -8839px}.ss_joystick{background-position:0px -8857px}.ss_joystick_add{background-position:0px -8875px}.ss_joystick_delete{background-position:0px -8893px}.ss_joystick_error{background-position:0px -8911px}.ss_key{background-position:0px -8929px}.ss_key_add{background-position:0px -8947px}.ss_key_delete{background-position:0px -8965px}.ss_key_go{background-position:0px -8983px}.ss_keyboard{background-position:0px -9001px}.ss_keyboard_add{background-position:0px -9019px}.ss_keyboard_delete{background-position:0px -9037px}.ss_keyboard_magnify{background-position:0px -9055px}.ss_layers{background-position:0px -9073px}.ss_layout{background-position:0px -9091px}.ss_layout_add{background-position:0px -9109px}.ss_layout_content{background-position:0px -9127px}.ss_layout_delete{background-position:0px -9145px}.ss_layout_edit{background-position:0px -9163px}.ss_layout_error{background-position:0px -9181px}.ss_layout_header{background-position:0px -9199px}.ss_layout_link{background-position:0px -9217px}.ss_layout_sidebar{background-position:0px -9235px}.ss_lightbulb{background-position:0px -9253px}.ss_lightbulb_add{background-position:0px -9271px}.ss_lightbulb_delete{background-position:0px -9289px}.ss_lightbulb_off{background-position:0px -9307px}.ss_lightning{background-position:0px -9325px}.ss_lightning_add{background-position:0px -9343px}.ss_lightning_delete{background-position:0px -9361px}.ss_lightning_go{background-position:0px -9379px}.ss_link{background-position:0px -9397px}.ss_link_add{background-position:0px -9415px}.ss_link_break{background-position:0px -9433px}.ss_link_delete{background-position:0px -9451px}.ss_link_edit{background-position:0px -9469px}.ss_link_error{background-position:0px -9487px}.ss_link_go{background-position:0px -9505px}.ss_lock{background-position:0px -9523px}.ss_lock_add{background-position:0px -9541px}.ss_lock_break{background-position:0px -9559px}.ss_lock_delete{background-position:0px -9577px}.ss_lock_edit{background-position:0px -9595px}.ss_lock_go{background-position:0px -9613px}.ss_lock_open{background-position:0px -9631px}.ss_lorry{background-position:0px -9649px}.ss_lorry_add{background-position:0px -9667px}.ss_lorry_delete{background-position:0px -9685px}.ss_lorry_error{background-position:0px -9703px}.ss_lorry_flatbed{background-position:0px -9721px}.ss_lorry_go{background-position:0px -9739px}.ss_lorry_link{background-position:0px -9757px}.ss_magifier_zoom_out{background-position:0px -9775px}.ss_magnifier{background-position:0px -9793px}.ss_magnifier_zoom_in{background-position:0px -9811px}.ss_male{background-position:0px -9829px}.ss_map{background-position:0px -9847px}.ss_map_add{background-position:0px -9865px}.ss_map_delete{background-position:0px -9883px}.ss_map_edit{background-position:0px -9901px}.ss_map_go{background-position:0px -9919px}.ss_map_magnify{background-position:0px -9937px}.ss_medal_bronze_1{background-position:0px -9955px}.ss_medal_bronze_2{background-position:0px -9973px}.ss_medal_bronze_3{background-position:0px -9991px}.ss_medal_bronze_add{background-position:0px -10009px}.ss_medal_bronze_delete{background-position:0px -10027px}.ss_medal_gold_1{background-position:0px -10045px}.ss_medal_gold_2{background-position:0px -10063px}.ss_medal_gold_3{background-position:0px -10081px}.ss_medal_gold_add{background-position:0px -10099px}.ss_medal_gold_delete{background-position:0px -10117px}.ss_medal_silver_1{background-position:0px -10135px}.ss_medal_silver_2{background-position:0px -10153px}.ss_medal_silver_3{background-position:0px -10171px}.ss_medal_silver_add{background-position:0px -10189px}.ss_medal_silver_delete{background-position:0px -10207px}.ss_money{background-position:0px -10225px}.ss_money_add{background-position:0px -10243px}.ss_money_delete{background-position:0px -10261px}.ss_money_dollar{background-position:0px -10279px}.ss_money_euro{background-position:0px -10297px}.ss_money_pound{background-position:0px -10315px}.ss_money_yen{background-position:0px -10333px}.ss_monitor{background-position:0px -10351px}.ss_monitor_add{background-position:0px -10369px}.ss_monitor_delete{background-position:0px -10387px}.ss_monitor_edit{background-position:0px -10405px}.ss_monitor_error{background-position:0px -10423px}.ss_monitor_go{background-position:0px -10441px}.ss_monitor_lightning{background-position:0px -10459px}.ss_monitor_link{background-position:0px -10477px}.ss_mouse{background-position:0px -10495px}.ss_mouse_add{background-position:0px -10513px}.ss_mouse_delete{background-position:0px -10531px}.ss_mouse_error{background-position:0px -10549px}.ss_music{background-position:0px -10567px}.ss_new{background-position:0px -10585px}.ss_newspaper{background-position:0px -10603px}.ss_newspaper_add{background-position:0px -10621px}.ss_newspaper_delete{background-position:0px -10639px}.ss_newspaper_go{background-position:0px -10657px}.ss_newspaper_link{background-position:0px -10675px}.ss_note{background-position:0px -10693px}.ss_note_add{background-position:0px -10711px}.ss_note_delete{background-position:0px -10729px}.ss_note_edit{background-position:0px -10747px}.ss_note_error{background-position:0px -10765px}.ss_note_go{background-position:0px -10783px}.ss_overlays{background-position:0px -10801px}.ss_package{background-position:0px -10819px}.ss_package_add{background-position:0px -10837px}.ss_package_delete{background-position:0px -10855px}.ss_package_go{background-position:0px -10873px}.ss_package_green{background-position:0px -10891px}.ss_package_link{background-position:0px -10909px}.ss_page{background-position:0px -10927px}.ss_page_add{background-position:0px -10945px}.ss_page_attach{background-position:0px -10963px}.ss_page_code{background-position:0px -10981px}.ss_page_copy{background-position:0px -10999px}.ss_page_delete{background-position:0px -11017px}.ss_page_edit{background-position:0px -11035px}.ss_page_error{background-position:0px -11053px}.ss_page_excel{background-position:0px -11071px}.ss_page_find{background-position:0px -11089px}.ss_page_gear{background-position:0px -11107px}.ss_page_go{background-position:0px -11125px}.ss_page_green{background-position:0px -11143px}.ss_page_key{background-position:0px -11161px}.ss_page_lightning{background-position:0px -11179px}.ss_page_link{background-position:0px -11197px}.ss_page_paintbrush{background-position:0px -11215px}.ss_page_paste{background-position:0px -11233px}.ss_page_red{background-position:0px -11251px}.ss_page_refresh{background-position:0px -11269px}.ss_page_save{background-position:0px -11287px}.ss_page_white{background-position:0px -11305px}.ss_page_white_acrobat{background-position:0px -11323px}.ss_page_white_actionscript{background-position:0px -11341px}.ss_page_white_add{background-position:0px -11359px}.ss_page_white_c{background-position:0px -11377px}.ss_page_white_camera{background-position:0px -11395px}.ss_page_white_cd{background-position:0px -11413px}.ss_page_white_code{background-position:0px -11431px}.ss_page_white_code_red{background-position:0px -11449px}.ss_page_white_coldfusion{background-position:0px -11467px}.ss_page_white_compressed{background-position:0px -11485px}.ss_page_white_copy{background-position:0px -11503px}.ss_page_white_cplusplus{background-position:0px -11521px}.ss_page_white_csharp{background-position:0px -11539px}.ss_page_white_cup{background-position:0px -11557px}.ss_page_white_database{background-position:0px -11575px}.ss_page_white_delete{background-position:0px -11593px}.ss_page_white_dvd{background-position:0px -11611px}.ss_page_white_edit{background-position:0px -11629px}.ss_page_white_error{background-position:0px -11647px}.ss_page_white_excel{background-position:0px -11665px}.ss_page_white_find{background-position:0px -11683px}.ss_page_white_flash{background-position:0px -11701px}.ss_page_white_freehand{background-position:0px -11719px}.ss_page_white_gear{background-position:0px -11737px}.ss_page_white_get{background-position:0px -11755px}.ss_page_white_go{background-position:0px -11773px}.ss_page_white_h{background-position:0px -11791px}.ss_page_white_horizontal{background-position:0px -11809px}.ss_page_white_key{background-position:0px -11827px}.ss_page_white_lightning{background-position:0px -11845px}.ss_page_white_link{background-position:0px -11863px}.ss_page_white_magnify{background-position:0px -11881px}.ss_page_white_medal{background-position:0px -11899px}.ss_page_white_office{background-position:0px -11917px}.ss_page_white_paint{background-position:0px -11935px}.ss_page_white_paintbrush{background-position:0px -11953px}.ss_page_white_paste{background-position:0px -11971px}.ss_page_white_php{background-position:0px -11989px}.ss_page_white_picture{background-position:0px -12007px}.ss_page_white_powerpoint{background-position:0px -12025px}.ss_page_white_put{background-position:0px -12043px}.ss_page_white_ruby{background-position:0px -12061px}.ss_page_white_stack{background-position:0px -12079px}.ss_page_white_star{background-position:0px -12097px}.ss_page_white_swoosh{background-position:0px -12115px}.ss_page_white_text{background-position:0px -12133px}.ss_page_white_text_width{background-position:0px -12151px}.ss_page_white_tux{background-position:0px -12169px}.ss_page_white_vector{background-position:0px -12187px}.ss_page_white_visualstudio{background-position:0px -12205px}.ss_page_white_width{background-position:0px -12223px}.ss_page_white_word{background-position:0px -12241px}.ss_page_white_world{background-position:0px -12259px}.ss_page_white_wrench{background-position:0px -12277px}.ss_page_white_zip{background-position:0px -12295px}.ss_page_word{background-position:0px -12313px}.ss_page_world{background-position:0px -12331px}.ss_paintbrush{background-position:0px -12349px}.ss_paintcan{background-position:0px -12367px}.ss_palette{background-position:0px -12385px}.ss_paste_plain{background-position:0px -12403px}.ss_paste_word{background-position:0px -12421px}.ss_pencil{background-position:0px -12439px}.ss_pencil_add{background-position:0px -12457px}.ss_pencil_delete{background-position:0px -12475px}.ss_pencil_go{background-position:0px -12493px}.ss_phone{background-position:0px -12511px}.ss_phone_add{background-position:0px -12529px}.ss_phone_delete{background-position:0px -12547px}.ss_phone_sound{background-position:0px -12565px}.ss_photo{background-position:0px -12583px}.ss_photo_add{background-position:0px -12601px}.ss_photo_delete{background-position:0px -12619px}.ss_photo_link{background-position:0px -12637px}.ss_photos{background-position:0px -12655px}.ss_picture{background-position:0px -12673px}.ss_picture_add{background-position:0px -12691px}.ss_picture_delete{background-position:0px -12709px}.ss_picture_edit{background-position:0px -12727px}.ss_picture_empty{background-position:0px -12745px}.ss_picture_error{background-position:0px -12763px}.ss_picture_go{background-position:0px -12781px}.ss_picture_key{background-position:0px -12799px}.ss_picture_link{background-position:0px -12817px}.ss_picture_save{background-position:0px -12835px}.ss_pictures{background-position:0px -12853px}.ss_pilcrow{background-position:0px -12871px}.ss_pill{background-position:0px -12889px}.ss_pill_add{background-position:0px -12907px}.ss_pill_delete{background-position:0px -12925px}.ss_pill_go{background-position:0px -12943px}.ss_plugin{background-position:0px -12961px}.ss_plugin_add{background-position:0px -12979px}.ss_plugin_delete{background-position:0px -12997px}.ss_plugin_disabled{background-position:0px -13015px}.ss_plugin_edit{background-position:0px -13033px}.ss_plugin_error{background-position:0px -13051px}.ss_plugin_go{background-position:0px -13069px}.ss_plugin_link{background-position:0px -13087px}.ss_printer{background-position:0px -13105px}.ss_printer_add{background-position:0px -13123px}.ss_printer_delete{background-position:0px -13141px}.ss_printer_empty{background-position:0px -13159px}.ss_printer_error{background-position:0px -13177px}.ss_rainbow{background-position:0px -13195px}.ss_report{background-position:0px -13213px}.ss_report_add{background-position:0px -13231px}.ss_report_delete{background-position:0px -13249px}.ss_report_disk{background-position:0px -13267px}.ss_report_edit{background-position:0px -13285px}.ss_report_go{background-position:0px -13303px}.ss_report_key{background-position:0px -13321px}.ss_report_link{background-position:0px -13339px}.ss_report_magnify{background-position:0px -13357px}.ss_report_picture{background-position:0px -13375px}.ss_report_user{background-position:0px -13393px}.ss_report_word{background-position:0px -13411px}.ss_resultset_first{background-position:0px -13429px}.ss_resultset_last{background-position:0px -13447px}.ss_resultset_next{background-position:0px -13465px}.ss_resultset_previous{background-position:0px -13483px}.ss_rosette{background-position:0px -13501px}.ss_rss{background-position:0px -13519px}.ss_rss_add{background-position:0px -13537px}.ss_rss_delete{background-position:0px -13555px}.ss_rss_go{background-position:0px -13573px}.ss_rss_valid{background-position:0px -13591px}.ss_ruby{background-position:0px -13609px}.ss_ruby_add{background-position:0px -13627px}.ss_ruby_delete{background-position:0px -13645px}.ss_ruby_gear{background-position:0px -13663px}.ss_ruby_get{background-position:0px -13681px}.ss_ruby_go{background-position:0px -13699px}.ss_ruby_key{background-position:0px -13717px}.ss_ruby_link{background-position:0px -13735px}.ss_ruby_put{background-position:0px -13753px}.ss_script{background-position:0px -13771px}.ss_script_add{background-position:0px -13789px}.ss_script_code{background-position:0px -13807px}.ss_script_code_red{background-position:0px -13825px}.ss_script_delete{background-position:0px -13843px}.ss_script_edit{background-position:0px -13861px}.ss_script_error{background-position:0px -13879px}.ss_script_gear{background-position:0px -13897px}.ss_script_go{background-position:0px -13915px}.ss_script_key{background-position:0px -13933px}.ss_script_lightning{background-position:0px -13951px}.ss_script_link{background-position:0px -13969px}.ss_script_palette{background-position:0px -13987px}.ss_script_save{background-position:0px -14005px}.ss_server{background-position:0px -14023px}.ss_server_add{background-position:0px -14041px}.ss_server_chart{background-position:0px -14059px}.ss_server_compressed{background-position:0px -14077px}.ss_server_connect{background-position:0px -14095px}.ss_server_database{background-position:0px -14113px}.ss_server_delete{background-position:0px -14131px}.ss_server_edit{background-position:0px -14149px}.ss_server_error{background-position:0px -14167px}.ss_server_go{background-position:0px -14185px}.ss_server_key{background-position:0px -14203px}.ss_server_lightning{background-position:0px -14221px}.ss_server_link{background-position:0px -14239px}.ss_server_uncompressed{background-position:0px -14257px}.ss_shading{background-position:0px -14275px}.ss_shape_align_bottom{background-position:0px -14293px}.ss_shape_align_center{background-position:0px -14311px}.ss_shape_align_left{background-position:0px -14329px}.ss_shape_align_middle{background-position:0px -14347px}.ss_shape_align_right{background-position:0px -14365px}.ss_shape_align_top{background-position:0px -14383px}.ss_shape_flip_horizontal{background-position:0px -14401px}.ss_shape_flip_vertical{background-position:0px -14419px}.ss_shape_group{background-position:0px -14437px}.ss_shape_handles{background-position:0px -14455px}.ss_shape_move_back{background-position:0px -14473px}.ss_shape_move_backwards{background-position:0px -14491px}.ss_shape_move_forwards{background-position:0px -14509px}.ss_shape_move_front{background-position:0px -14527px}.ss_shape_rotate_anticlockwise{background-position:0px -14545px}.ss_shape_rotate_clockwise{background-position:0px -14563px}.ss_shape_square{background-position:0px -14581px}.ss_shape_square_add{background-position:0px -14599px}.ss_shape_square_delete{background-position:0px -14617px}.ss_shape_square_edit{background-position:0px -14635px}.ss_shape_square_error{background-position:0px -14653px}.ss_shape_square_go{background-position:0px -14671px}.ss_shape_square_key{background-position:0px -14689px}.ss_shape_square_link{background-position:0px -14707px}.ss_shape_ungroup{background-position:0px -14725px}.ss_shield{background-position:0px -14743px}.ss_shield_add{background-position:0px -14761px}.ss_shield_delete{background-position:0px -14779px}.ss_shield_go{background-position:0px -14797px}.ss_sitemap{background-position:0px -14815px}.ss_sitemap_color{background-position:0px -14833px}.ss_sound{background-position:0px -14851px}.ss_sound_add{background-position:0px -14869px}.ss_sound_delete{background-position:0px -14887px}.ss_sound_low{background-position:0px -14905px}.ss_sound_mute{background-position:0px -14923px}.ss_sound_none{background-position:0px -14941px}.ss_spellcheck{background-position:0px -14959px}.ss_sport_8ball{background-position:0px -14977px}.ss_sport_basketball{background-position:0px -14995px}.ss_sport_football{background-position:0px -15013px}.ss_sport_golf{background-position:0px -15031px}.ss_sport_raquet{background-position:0px -15049px}.ss_sport_shuttlecock{background-position:0px -15067px}.ss_sport_soccer{background-position:0px -15085px}.ss_sport_tennis{background-position:0px -15103px}.ss_star{background-position:0px -15121px}.ss_status_away{background-position:0px -15139px}.ss_status_busy{background-position:0px -15157px}.ss_status_offline{background-position:0px -15175px}.ss_status_online{background-position:0px -15193px}.ss_stop{background-position:0px -15211px}.ss_style{background-position:0px -15229px}.ss_style_add{background-position:0px -15247px}.ss_style_delete{background-position:0px -15265px}.ss_style_edit{background-position:0px -15283px}.ss_style_go{background-position:0px -15301px}.ss_sum{background-position:0px -15319px}.ss_tab{background-position:0px -15337px}.ss_tab_add{background-position:0px -15355px}.ss_tab_delete{background-position:0px -15373px}.ss_tab_edit{background-position:0px -15391px}.ss_tab_go{background-position:0px -15409px}.ss_table{background-position:0px -15427px}.ss_table_add{background-position:0px -15445px}.ss_table_delete{background-position:0px -15463px}.ss_table_edit{background-position:0px -15481px}.ss_table_error{background-position:0px -15499px}.ss_table_gear{background-position:0px -15517px}.ss_table_go{background-position:0px -15535px}.ss_table_key{background-position:0px -15553px}.ss_table_lightning{background-position:0px -15571px}.ss_table_link{background-position:0px -15589px}.ss_table_multiple{background-position:0px -15607px}.ss_table_refresh{background-position:0px -15625px}.ss_table_relationship{background-position:0px -15643px}.ss_table_row_delete{background-position:0px -15661px}.ss_table_row_insert{background-position:0px -15679px}.ss_table_save{background-position:0px -15697px}.ss_table_sort{background-position:0px -15715px}.ss_tag{background-position:0px -15733px}.ss_tag_blue{background-position:0px -15751px}.ss_tag_blue_add{background-position:0px -15769px}.ss_tag_blue_delete{background-position:0px -15787px}.ss_tag_blue_edit{background-position:0px -15805px}.ss_tag_green{background-position:0px -15823px}.ss_tag_orange{background-position:0px -15841px}.ss_tag_pink{background-position:0px -15859px}.ss_tag_purple{background-position:0px -15877px}.ss_tag_red{background-position:0px -15895px}.ss_tag_yellow{background-position:0px -15913px}.ss_telephone{background-position:0px -15931px}.ss_telephone_add{background-position:0px -15949px}.ss_telephone_delete{background-position:0px -15967px}.ss_telephone_edit{background-position:0px -15985px}.ss_telephone_error{background-position:0px -16003px}.ss_telephone_go{background-position:0px -16021px}.ss_telephone_key{background-position:0px -16039px}.ss_telephone_link{background-position:0px -16057px}.ss_television{background-position:0px -16075px}.ss_television_add{background-position:0px -16093px}.ss_television_delete{background-position:0px -16111px}.ss_text_align_center{background-position:0px -16129px}.ss_text_align_justify{background-position:0px -16147px}.ss_text_align_left{background-position:0px -16165px}.ss_text_align_right{background-position:0px -16183px}.ss_text_allcaps{background-position:0px -16201px}.ss_text_bold{background-position:0px -16219px}.ss_text_columns{background-position:0px -16237px}.ss_text_dropcaps{background-position:0px -16255px}.ss_text_heading_1{background-position:0px -16273px}.ss_text_heading_2{background-position:0px -16291px}.ss_text_heading_3{background-position:0px -16309px}.ss_text_heading_4{background-position:0px -16327px}.ss_text_heading_5{background-position:0px -16345px}.ss_text_heading_6{background-position:0px -16363px}.ss_text_horizontalrule{background-position:0px -16381px}.ss_text_indent{background-position:0px -16399px}.ss_text_indent_remove{background-position:0px -16417px}.ss_text_italic{background-position:0px -16435px}.ss_text_kerning{background-position:0px -16453px}.ss_text_letter_omega{background-position:0px -16471px}.ss_text_letterspacing{background-position:0px -16489px}.ss_text_linespacing{background-position:0px -16507px}.ss_text_list_bullets{background-position:0px -16525px}.ss_text_list_numbers{background-position:0px -16543px}.ss_text_lowercase{background-position:0px -16561px}.ss_text_padding_bottom{background-position:0px -16579px}.ss_text_padding_left{background-position:0px -16597px}.ss_text_padding_right{background-position:0px -16615px}.ss_text_padding_top{background-position:0px -16633px}.ss_text_replace{background-position:0px -16651px}.ss_text_signature{background-position:0px -16669px}.ss_text_smallcaps{background-position:0px -16687px}.ss_text_strikethrough{background-position:0px -16705px}.ss_text_subscript{background-position:0px -16723px}.ss_text_superscript{background-position:0px -16741px}.ss_text_underline{background-position:0px -16759px}.ss_text_uppercase{background-position:0px -16777px}.ss_textfield{background-position:0px -16795px}.ss_textfield_add{background-position:0px -16813px}.ss_textfield_delete{background-position:0px -16831px}.ss_textfield_key{background-position:0px -16849px}.ss_textfield_rename{background-position:0px -16867px}.ss_thumb_down{background-position:0px -16885px}.ss_thumb_up{background-position:0px -16903px}.ss_tick{background-position:0px -16921px}.ss_time{background-position:0px -16939px}.ss_time_add{background-position:0px -16957px}.ss_time_delete{background-position:0px -16975px}.ss_time_go{background-position:0px -16993px}.ss_timeline_marker{background-position:0px -17011px}.ss_transmit{background-position:0px -17029px}.ss_transmit_add{background-position:0px -17047px}.ss_transmit_blue{background-position:0px -17065px}.ss_transmit_delete{background-position:0px -17083px}.ss_transmit_edit{background-position:0px -17101px}.ss_transmit_error{background-position:0px -17119px}.ss_transmit_go{background-position:0px -17137px}.ss_tux{background-position:0px -17155px}.ss_user{background-position:0px -17173px}.ss_user_add{background-position:0px -17191px}.ss_user_comment{background-position:0px -17209px}.ss_user_delete{background-position:0px -17227px}.ss_user_edit{background-position:0px -17245px}.ss_user_female{background-position:0px -17263px}.ss_user_go{background-position:0px -17281px}.ss_user_gray{background-position:0px -17299px}.ss_user_green{background-position:0px -17317px}.ss_user_orange{background-position:0px -17335px}.ss_user_red{background-position:0px -17353px}.ss_user_suit{background-position:0px -17371px}.ss_vcard{background-position:0px -17389px}.ss_vcard_add{background-position:0px -17407px}.ss_vcard_delete{background-position:0px -17425px}.ss_vcard_edit{background-position:0px -17443px}.ss_vector{background-position:0px -17461px}.ss_vector_add{background-position:0px -17479px}.ss_vector_delete{background-position:0px -17497px}.ss_wand{background-position:0px -17515px}.ss_weather_clouds{background-position:0px -17533px}.ss_weather_cloudy{background-position:0px -17551px}.ss_weather_lightning{background-position:0px -17569px}.ss_weather_rain{background-position:0px -17587px}.ss_weather_snow{background-position:0px -17605px}.ss_weather_sun{background-position:0px -17623px}.ss_webcam{background-position:0px -17641px}.ss_webcam_add{background-position:0px -17659px}.ss_webcam_delete{background-position:0px -17677px}.ss_webcam_error{background-position:0px -17695px}.ss_world{background-position:0px -17713px}.ss_world_add{background-position:0px -17731px}.ss_world_delete{background-position:0px -17749px}.ss_world_edit{background-position:0px -17767px}.ss_world_go{background-position:0px -17785px}.ss_world_link{background-position:0px -17803px}.ss_wrench{background-position:0px -17821px}.ss_wrench_orange{background-position:0px -17839px}.ss_xhtml{background-position:0px -17857px}.ss_xhtml_add{background-position:0px -17875px}.ss_xhtml_delete{background-position:0px -17893px}.ss_xhtml_go{background-position:0px -17911px}.ss_xhtml_valid{background-position:0px -17929px}.ss_zoom{background-position:0px -17947px}.ss_zoom_in{background-position:0px -17965px}.ss_zoom_out{background-position:0px -17983px}
@@ -0,0 +1 @@
1
+ //= require_tree ./survey_says
@@ -0,0 +1,64 @@
1
+ class SurveyAdmin::AnswersController < SurveyAdmin::BaseController
2
+ helper_method :survey_properties
3
+
4
+ def index
5
+ @question = Question.find(params[:question_id])
6
+ @answers = @question.answers.all
7
+ end
8
+
9
+ def show
10
+ @answer = Answer.find(params[:id])
11
+ end
12
+
13
+ def new
14
+ @question = Question.find(params[:question_id])
15
+ @answer = @question.answers.new
16
+ @survey_image = @answer.survey_images.build
17
+ form_info
18
+ end
19
+
20
+ def create
21
+ @question = Question.find(params[:question_id])
22
+ @answer = @question.answers.new(params[:answer])
23
+ if @answer.save
24
+ redirect_to [:survey_admin, @answer.question, @answer], :notice => "Successfully created answer."
25
+ else
26
+ @survey_image = @answer.survey_images.build
27
+ form_info
28
+ render :new
29
+ end
30
+ end
31
+
32
+ def edit
33
+ @answer = Answer.find(params[:id])
34
+ @survey_image = @answer.survey_images.empty? ? @answer.survey_images.build : @answer.survey_images.first
35
+ form_info
36
+ end
37
+
38
+ def update
39
+ @answer = Answer.find(params[:id])
40
+ if @answer.update_attributes(params[:answer])
41
+ redirect_to [:survey_admin, @answer.question, @answer], :notice => "Successfully updated answer."
42
+ else
43
+ @survey_image = @answer.survey_images.empty? ? @answer.survey_images.build : @answer.survey_images.first
44
+ form_info
45
+ render :edit
46
+ end
47
+ end
48
+
49
+ def destroy
50
+ @answer = Answer.find(params[:id])
51
+ @answer.active = false
52
+ @answer.save
53
+ redirect_to survey_admin_question_answers_url(@answer.question), :notice => "Successfully inactivated answer."
54
+ end
55
+
56
+ private
57
+ def survey_properties
58
+ @survey_properties ||= SurveyProperty.all.map{|sp| [sp.name, sp.id]}
59
+ end
60
+
61
+ def form_info
62
+
63
+ end
64
+ end
@@ -0,0 +1,15 @@
1
+ class SurveyAdmin::BaseController < ApplicationController
2
+ layout 'survey_admin'
3
+ before_filter :require_survey_admin
4
+
5
+ private
6
+
7
+ def require_survey_admin
8
+ true
9
+ #redirect_to login_url and return unless survey_admin?
10
+ end
11
+
12
+ def survey_admin?
13
+ current_user && current_user.survey_admin?
14
+ end
15
+ end
@@ -0,0 +1,44 @@
1
+ class SurveyAdmin::QuestionnairesController < SurveyAdmin::BaseController
2
+ def index
3
+ @questionnaires = Questionnaire.all
4
+ end
5
+
6
+ def show
7
+ @questionnaire = Questionnaire.includes(:questions).find(params[:id])
8
+ end
9
+
10
+ def new
11
+ @questionnaire = Questionnaire.new
12
+ form_info
13
+ end
14
+
15
+ def create
16
+ @questionnaire = Questionnaire.new(params[:questionnaire])
17
+ if @questionnaire.save
18
+ redirect_to [:survey_admin, @questionnaire], :notice => "Successfully created questionnaire."
19
+ else
20
+ form_info
21
+ render :new
22
+ end
23
+ end
24
+
25
+ def edit
26
+ @questionnaire = Questionnaire.find(params[:id])
27
+ form_info
28
+ end
29
+
30
+ def update
31
+ @questionnaire = Questionnaire.find(params[:id])
32
+ if @questionnaire.update_attributes(params[:questionnaire])
33
+ redirect_to [:survey_admin, @questionnaire], :notice => "Successfully updated questionnaire."
34
+ else
35
+ form_info
36
+ render :edit
37
+ end
38
+ end
39
+
40
+ private
41
+ def form_info
42
+
43
+ end
44
+ end
@@ -0,0 +1,61 @@
1
+ class SurveyAdmin::QuestionsController < SurveyAdmin::BaseController
2
+ helper_method :questionnaire_options
3
+
4
+ def index
5
+ @questions = Question.all
6
+ end
7
+
8
+ def show
9
+ @question = Question.includes(:answers).find(params[:id])
10
+ end
11
+
12
+ def new
13
+ form_info
14
+ @question = Question.new
15
+ #@question.answers.build# = Question.new
16
+ end
17
+
18
+ def create
19
+ @question = Question.new(params[:question])
20
+ if @question.save
21
+ flash[:notice] = "Successfully created question."
22
+ redirect_to survey_admin_question_answers_url(@question)
23
+ else
24
+ form_info
25
+ render :action => 'new'
26
+ end
27
+ end
28
+
29
+ def edit
30
+ form_info
31
+ @question = Question.find(params[:id])
32
+ end
33
+
34
+ def update
35
+ @question = Question.find(params[:id])
36
+ if @question.update_attributes(params[:question])
37
+ flash[:notice] = "Successfully updated question."
38
+ redirect_to survey_admin_question_answers_url(@question)
39
+ else
40
+ form_info
41
+ render :action => 'edit'
42
+ end
43
+ end
44
+
45
+ def destroy
46
+ @question = Question.find(params[:id])
47
+ @question.active = false
48
+ @question.save
49
+ flash[:notice] = "Successfully inactivated."
50
+ redirect_to survey_admin_questions_url
51
+ end
52
+
53
+ private
54
+ def questionnaire_options
55
+ @questionnaire_options ||= Questionnaire.all.map{|q| [q.name, q.id]}
56
+ end
57
+
58
+ def form_info
59
+
60
+ end
61
+ end
@@ -0,0 +1,50 @@
1
+ class SurveyAdmin::SurveyPropertiesController < SurveyAdmin::BaseController
2
+ def index
3
+ @survey_properties = SurveyProperty.all
4
+ end
5
+
6
+ def show
7
+ @survey_property = SurveyProperty.find(params[:id])
8
+ end
9
+
10
+ def new
11
+ @survey_property = SurveyProperty.new
12
+ form_info
13
+ end
14
+
15
+ def create
16
+ @survey_property = SurveyProperty.new(params[:survey_property])
17
+ if @survey_property.save
18
+ redirect_to [:survey_admin, @survey_property], :notice => "Successfully created survey property."
19
+ else
20
+ form_info
21
+ render :new
22
+ end
23
+ end
24
+
25
+ def edit
26
+ @survey_property = SurveyProperty.find(params[:id])
27
+ form_info
28
+ end
29
+
30
+ def update
31
+ @survey_property = SurveyProperty.find(params[:id])
32
+ if @survey_property.update_attributes(params[:survey_property])
33
+ redirect_to [:survey_admin, @survey_property], :notice => "Successfully updated survey property."
34
+ else
35
+ form_info
36
+ render :edit
37
+ end
38
+ end
39
+
40
+ def destroy
41
+ @survey_property = SurveyProperty.find(params[:id])
42
+ @survey_property.destroy
43
+ redirect_to survey_admin_survey_properties_url, :notice => "Successfully destroyed survey property."
44
+ end
45
+
46
+ private
47
+ def form_info
48
+
49
+ end
50
+ end
@@ -0,0 +1,2 @@
1
+ module SurveyAdmin::AnswersHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ module SurveyAdmin::QuestionnairesHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ module SurveyAdmin::QuestionsHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ module SurveyAdmin::SurveyPropertiesHelper
2
+ end
@@ -0,0 +1,21 @@
1
+ class Answer < ActiveRecord::Base
2
+ belongs_to :question
3
+ has_many :scores
4
+ has_many :survey_images,:as => :imageable,
5
+ :order => :position,
6
+ :dependent => :destroy
7
+
8
+ validates :question_id, :presence => true
9
+ validates :details, :presence => true
10
+
11
+ accepts_nested_attributes_for :scores, :reject_if => proc { |attributes| attributes['value'].blank? }
12
+ accepts_nested_attributes_for :survey_images, :reject_if => proc { |attributes| attributes['photo'].nil? }
13
+
14
+ def display_position
15
+ position ? position.to_s : '*'
16
+ end
17
+
18
+ def image(s = :small)
19
+ survey_images.first ? survey_images.first.photo.url(:small) : ''
20
+ end
21
+ end
@@ -0,0 +1,11 @@
1
+ class Question < ActiveRecord::Base
2
+ has_many :answers, :order => 'answers.position ASC'
3
+ has_many :active_answers, :class_name => 'Answer',
4
+ :conditions => ["answers.active = ?", true],
5
+ :order => 'answers.position ASC'
6
+ belongs_to :questionnaire
7
+
8
+ validates :details, :presence => true
9
+
10
+ accepts_nested_attributes_for :answers, :reject_if => proc { |attributes| attributes['details'].blank? }
11
+ end
@@ -0,0 +1,3 @@
1
+ class Questionnaire < ActiveRecord::Base
2
+ has_many :questions
3
+ end
@@ -0,0 +1,12 @@
1
+ class Score < ActiveRecord::Base
2
+ belongs_to :answer
3
+ belongs_to :survey_property
4
+
5
+ validates :value, :presence => true
6
+ validates :survey_property_id, :presence => true,
7
+ :uniqueness => {
8
+ :scope => :answer_id,
9
+ :message => "should have one score per property"
10
+ }
11
+ #validates :answer_id, :presence => true
12
+ end
@@ -0,0 +1,29 @@
1
+ class SurveyImage < ActiveRecord::Base
2
+ belongs_to :imageable, :polymorphic => true
3
+
4
+ has_attached_file :photo, PAPERCLIP_STORAGE_OPTS ## this constant is in /config/environments/*.rb
5
+
6
+ #image_tag @product.photo.url(:small)
7
+ validates_attachment_presence :photo
8
+ validates_attachment_size :photo, :less_than => 5.megabytes
9
+ validates_attachment_content_type :photo, :content_type => ['image/jpeg', 'image/png']
10
+
11
+ validates :imageable_type, :presence => true
12
+ #validates :imageable_id, :presence => true
13
+ validate :validate_photo
14
+
15
+ default_scope :order => 'position'
16
+
17
+ # save the w,h of the original image (from which others can be calculated)
18
+ MAIN_LOGO = 'logo'
19
+
20
+ # if there are errors from the plugin, then add a more meaningful message
21
+ def validate_photo
22
+ unless photo.errors.empty?
23
+ # uncomment this to get rid of the less-than-useful interrim messages
24
+ # errors.clear
25
+ errors.add :attachment, "Paperclip returned errors for file '#{photo_file_name}' - check ImageMagick installation or image source file."
26
+ false
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,5 @@
1
+ class SurveyProperty < ActiveRecord::Base
2
+ has_many :scores
3
+
4
+ validates :name, :presence => true
5
+ end
@@ -0,0 +1,6 @@
1
+ class UserAnswer < ActiveRecord::Base
2
+
3
+ belongs_to :user
4
+ belongs_to :answer
5
+
6
+ end
@@ -0,0 +1,39 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= content_for?(:title) ? yield(:title) : "Survey Says" %></title>
5
+ <%= stylesheet_link_tag "survey_says" %>
6
+ <%= javascript_include_tag "survey_says" %>
7
+ <%= csrf_meta_tag %>
8
+ <%= yield(:head) %>
9
+ </head>
10
+ <body>
11
+ <div id="container">
12
+ <div id="main-container">
13
+ <% flash.each do |name, msg| %>
14
+ <%= content_tag :div, msg, :id => "flash_#{name}" %>
15
+ <% end %>
16
+ <%#= content_tag :h1, yield(:title) if show_title? %>
17
+ <%= yield %>
18
+ </div>
19
+ <div id="right-container">
20
+ <ul style='padding:10px;'>
21
+ <li style='margin-bottom:10px;'><%= link_to "Questionnaires", survey_admin_questionnaires_path() %></li>
22
+ <li style='margin-bottom:10px;'><%= link_to "Questions", survey_admin_questions_path() %></li>
23
+ <% if @question.try(:id) || @answer.try(:id) %>
24
+ <li style='margin-bottom:10px;'>
25
+ <%= link_to "Answers", survey_admin_question_answers_path(@question) %>
26
+ </li>
27
+ <% elsif @answer.try(:id) %>
28
+ <li style='margin-bottom:10px;'>
29
+ <%= link_to "Answers", survey_admin_question_answers_path(@answer.question) %>
30
+ </li>
31
+ <% end %>
32
+
33
+ <%= link_to 'Properties', survey_admin_survey_properties_url %>
34
+ </ul>
35
+ </div>
36
+ <div class='clearfix'></div>
37
+ </div>
38
+ </body>
39
+ </html>