droom 0.0.1 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. data/README.md +2 -2
  2. data/app/assets/images/droom/Untitled-1.png +0 -0
  3. data/app/assets/images/droom/acceptance.png +0 -0
  4. data/app/assets/images/droom/add.png +0 -0
  5. data/app/assets/images/droom/asterisk.png +0 -0
  6. data/app/assets/images/droom/asterisk_up.png +0 -0
  7. data/app/assets/images/droom/checkboxes.png +0 -0
  8. data/app/assets/images/droom/clear.png +0 -0
  9. data/app/assets/images/droom/cog.png +0 -0
  10. data/app/assets/images/droom/copy.png +0 -0
  11. data/app/assets/images/droom/copy_to_dropbox.png +0 -0
  12. data/app/assets/images/droom/crosses.png +0 -0
  13. data/app/assets/images/droom/dark_scrap_icons.png +0 -0
  14. data/app/assets/images/droom/defilter.png +0 -0
  15. data/app/assets/images/droom/delete.png +0 -0
  16. data/app/assets/images/droom/dropbox.png +0 -0
  17. data/app/assets/images/droom/dropbox_button.png +0 -0
  18. data/app/assets/images/droom/dropbox_button_small.png +0 -0
  19. data/app/assets/images/droom/edit.png +0 -0
  20. data/app/assets/images/droom/expand.png +0 -0
  21. data/app/assets/images/droom/expander.png +0 -0
  22. data/app/assets/images/droom/folder.png +0 -0
  23. data/app/assets/images/droom/image_box.png +0 -0
  24. data/app/assets/images/droom/in_dropbox.png +0 -0
  25. data/app/assets/images/droom/integration_buttons.png +0 -0
  26. data/app/assets/images/droom/leftright.png +0 -0
  27. data/app/assets/images/droom/manage.png +0 -0
  28. data/app/assets/images/droom/medium_object_icons.png +0 -0
  29. data/app/assets/images/droom/object_icons.png +0 -0
  30. data/app/assets/images/droom/playable.png +0 -0
  31. data/app/assets/images/droom/revoke.png +0 -0
  32. data/app/assets/images/droom/scrap_icons.png +0 -0
  33. data/app/assets/images/droom/search.png +0 -0
  34. data/app/assets/images/droom/small_asterisk.png +0 -0
  35. data/app/assets/images/droom/small_cog.png +0 -0
  36. data/app/assets/images/droom/small_download.png +0 -0
  37. data/app/assets/images/droom/small_image_box.png +0 -0
  38. data/app/assets/images/droom/smalladd.png +0 -0
  39. data/app/assets/images/droom/smallarrows.png +0 -0
  40. data/app/assets/images/droom/smallcopy.png +0 -0
  41. data/app/assets/images/droom/smalldelete.png +0 -0
  42. data/app/assets/images/droom/smalldownload.png +0 -0
  43. data/app/assets/images/droom/smalledit.png +0 -0
  44. data/app/assets/images/droom/smallmanage.png +0 -0
  45. data/app/assets/images/droom/star.png +0 -0
  46. data/app/assets/images/droom/symbols.png +0 -0
  47. data/app/assets/images/droom/tinyarrows.png +0 -0
  48. data/app/assets/images/droom/to_dropbox.png +0 -0
  49. data/app/assets/images/droom/twisty.png +0 -0
  50. data/app/assets/images/droom/youtube_icon.png +0 -0
  51. data/app/assets/javascripts/droom.js.coffee +62 -65
  52. data/app/assets/javascripts/droom/actions.js.coffee +492 -0
  53. data/app/assets/javascripts/droom/ajax.js.coffee +84 -0
  54. data/app/assets/javascripts/droom/{lib/extensions.js.coffee → extensions.js.coffee} +22 -15
  55. data/app/assets/javascripts/droom/lib/ZeroClipboard.js +334 -0
  56. data/app/assets/javascripts/droom/lib/ZeroClipboard.swf +0 -0
  57. data/app/assets/javascripts/droom/lib/ZeroClipboard10.swf +0 -0
  58. data/app/assets/javascripts/droom/map.js.coffee +124 -86
  59. data/app/assets/javascripts/droom/popups.js.coffee +252 -0
  60. data/app/assets/javascripts/droom/stream.js.coffee +92 -0
  61. data/app/assets/javascripts/droom/utilities.js.coffee +120 -0
  62. data/app/assets/javascripts/droom/widgets.js.coffee +1209 -0
  63. data/app/assets/stylesheets/_definitions.css.sass +189 -0
  64. data/app/assets/stylesheets/droom.css.sass +1429 -376
  65. data/app/assets/stylesheets/lib/_kalendae.css.sass +2 -5
  66. data/app/assets/stylesheets/lib/_popups.css.sass +86 -0
  67. data/app/assets/stylesheets/lib/_toolbar.css.sass +17 -11
  68. data/app/controllers/droom/agenda_categories_controller.rb +24 -0
  69. data/app/controllers/droom/calendars_controller.rb +29 -0
  70. data/app/controllers/droom/confirmations_controller.rb +38 -0
  71. data/app/controllers/droom/dashboard_controller.rb +2 -0
  72. data/app/controllers/droom/documents_controller.rb +42 -51
  73. data/app/controllers/droom/dropbox_tokens_controller.rb +61 -0
  74. data/app/controllers/droom/engine_controller.rb +8 -23
  75. data/app/controllers/droom/events_controller.rb +39 -27
  76. data/app/controllers/droom/folders_controller.rb +106 -0
  77. data/app/controllers/droom/group_invitations_controller.rb +15 -7
  78. data/app/controllers/droom/groups_controller.rb +4 -4
  79. data/app/controllers/droom/invitations_controller.rb +37 -9
  80. data/app/controllers/droom/memberships_controller.rb +5 -3
  81. data/app/controllers/droom/organisations_controller.rb +53 -0
  82. data/app/controllers/droom/people_controller.rb +46 -27
  83. data/app/controllers/droom/preferences_controller.rb +34 -0
  84. data/app/controllers/droom/scraps_controller.rb +77 -0
  85. data/app/controllers/droom/search_controller.rb +66 -0
  86. data/app/controllers/droom/suggestions_controller.rb +22 -35
  87. data/app/controllers/droom/users_controller.rb +69 -0
  88. data/app/controllers/droom/venues_controller.rb +1 -2
  89. data/app/controllers/droom/youtube_controller.rb +22 -0
  90. data/app/helpers/droom/droom_helper.rb +93 -5
  91. data/app/models/droom/agenda_category.rb +8 -1
  92. data/app/models/droom/calendar.rb +19 -0
  93. data/app/models/droom/category.rb +4 -6
  94. data/app/models/droom/document.rb +103 -64
  95. data/app/models/droom/document_attachment.rb +13 -47
  96. data/app/models/droom/dropbox_document.rb +41 -0
  97. data/app/models/droom/dropbox_token.rb +29 -0
  98. data/app/models/droom/event.rb +125 -90
  99. data/app/models/droom/folder.rb +134 -0
  100. data/app/models/droom/group.rb +68 -27
  101. data/app/models/droom/group_invitation.rb +12 -3
  102. data/app/models/droom/invitation.rb +50 -8
  103. data/app/models/droom/mailing_list_membership.rb +128 -0
  104. data/app/models/droom/membership.rb +71 -9
  105. data/app/models/droom/organisation.rb +22 -0
  106. data/app/models/droom/page.rb +3 -3
  107. data/app/models/droom/person.rb +180 -166
  108. data/app/models/droom/personal_folder.rb +31 -0
  109. data/app/models/droom/preference.rb +35 -0
  110. data/app/models/droom/recurrence_rule.rb +1 -1
  111. data/app/models/droom/scrap.rb +110 -0
  112. data/app/models/droom/tag.rb +120 -0
  113. data/app/models/droom/tagging.rb +13 -0
  114. data/app/models/droom/user.rb +211 -0
  115. data/app/models/droom/user_action_observer.rb +12 -0
  116. data/app/models/droom/venue.rb +56 -39
  117. data/app/views/cropper/uploads/_crop.html.haml +46 -0
  118. data/app/views/devise/mailer/confirmation_instructions.en.html.haml +24 -0
  119. data/app/views/devise/mailer/reset_password_instructions.en.html.haml +21 -0
  120. data/app/views/devise/passwords/edit.html.haml +31 -0
  121. data/app/views/devise/passwords/new.html.haml +21 -0
  122. data/app/views/devise/sessions/new.html.haml +33 -0
  123. data/app/views/droom/agenda_categories/_form.html.haml +22 -0
  124. data/app/views/droom/agenda_categories/new.html.haml +6 -0
  125. data/app/views/droom/calendars/_action_menu.html.haml +6 -0
  126. data/app/views/droom/calendars/index.html.haml +12 -0
  127. data/app/views/droom/calendars/show.rss.builder +0 -0
  128. data/app/views/droom/confirmations/show.html.haml +40 -0
  129. data/app/views/droom/dashboard/_calendar.html.haml +1 -0
  130. data/app/views/droom/dashboard/_folders.html.haml +5 -0
  131. data/app/views/droom/dashboard/_future_events.html.haml +18 -0
  132. data/app/views/droom/dashboard/_invitations.html.haml +1 -0
  133. data/app/views/droom/dashboard/_past_events.haml +14 -0
  134. data/app/views/droom/dashboard/_quicksearch.html.haml +6 -0
  135. data/app/views/droom/dashboard/_stream.html.haml +9 -0
  136. data/app/views/droom/dashboard/index.html.haml +5 -3
  137. data/app/views/droom/documents/_action_menu.html.haml +7 -0
  138. data/app/views/droom/documents/_documents.html.haml +5 -0
  139. data/app/views/droom/documents/_documents_list.html.haml +6 -6
  140. data/app/views/droom/documents/_documents_table.html.haml +29 -10
  141. data/app/views/droom/documents/_form.html.haml +3 -7
  142. data/app/views/droom/documents/_listing.html.haml +5 -6
  143. data/app/views/droom/documents/_pagination.html.haml +8 -0
  144. data/app/views/droom/documents/_search_result.html.haml +14 -0
  145. data/app/views/droom/documents/_suggested.html.haml +0 -5
  146. data/app/views/droom/documents/_table_document.html.haml +2 -8
  147. data/app/views/droom/documents/edit.html.haml +7 -1
  148. data/app/views/droom/documents/index.html.haml +10 -27
  149. data/app/views/droom/documents/new.html.haml +10 -1
  150. data/app/views/droom/dropbox_tokens/new.html.haml +6 -0
  151. data/app/views/droom/events/_action_menu.html.haml +15 -0
  152. data/app/views/droom/events/_event.html.haml +67 -57
  153. data/app/views/droom/events/_form.html.haml +15 -4
  154. data/app/views/droom/events/_invitations.html.haml +4 -19
  155. data/app/views/droom/events/_search_result.html.haml +19 -0
  156. data/app/views/droom/events/_views.html.haml +2 -2
  157. data/app/views/droom/events/edit.html.haml +7 -1
  158. data/app/views/droom/events/index.html.haml +27 -10
  159. data/app/views/droom/events/index.rss.builder +1 -1
  160. data/app/views/droom/events/new.html.haml +6 -1
  161. data/app/views/droom/events/show.html.haml +5 -1
  162. data/app/views/droom/folders/_action_menu.html.haml +14 -0
  163. data/app/views/droom/folders/_attachments.html.haml +3 -0
  164. data/app/views/droom/folders/_contents.html.haml +6 -0
  165. data/app/views/droom/folders/_folder.html.haml +20 -0
  166. data/app/views/droom/folders/_folders.html.haml +2 -0
  167. data/app/views/droom/folders/_form.html.haml +18 -0
  168. data/app/views/droom/folders/edit.html.haml +6 -0
  169. data/app/views/droom/folders/index.html.haml +32 -0
  170. data/app/views/droom/folders/new.html.haml +6 -0
  171. data/app/views/droom/folders/show.html.haml +1 -0
  172. data/app/views/droom/group_invitations/_form.html.haml +15 -4
  173. data/app/views/droom/group_invitations/new.html.haml +6 -1
  174. data/app/views/droom/groups/_action_menu.haml +11 -0
  175. data/app/views/droom/groups/_form.html.haml +10 -11
  176. data/app/views/droom/groups/_group.html.haml +9 -10
  177. data/app/views/droom/groups/_groups.html.haml +2 -3
  178. data/app/views/droom/groups/_search_result.html.haml +16 -0
  179. data/app/views/droom/groups/_suggested.html.haml +7 -0
  180. data/app/views/droom/groups/edit.html.haml +7 -1
  181. data/app/views/droom/groups/index.html.haml +6 -3
  182. data/app/views/droom/groups/new.html.haml +7 -0
  183. data/app/views/droom/groups/show.html.haml +1 -1
  184. data/app/views/droom/invitations/_created.html.haml +1 -1
  185. data/app/views/droom/invitations/_form.html.haml +9 -5
  186. data/app/views/droom/invitations/_invitation.html.haml +9 -0
  187. data/app/views/droom/invitations/_invitations.html.haml +8 -0
  188. data/app/views/droom/invitations/new.html.haml +6 -1
  189. data/app/views/droom/memberships/_member.html.haml +1 -1
  190. data/app/views/droom/memberships/_membership_toggle.html.haml +10 -0
  191. data/app/views/droom/memberships/new.html.haml +10 -0
  192. data/app/views/droom/organisations/_action_menu.html.haml +7 -0
  193. data/app/views/droom/organisations/_form.html.haml +25 -0
  194. data/app/views/droom/organisations/_organisation.html.haml +23 -0
  195. data/app/views/droom/organisations/_organisations.html.haml +2 -0
  196. data/app/views/droom/organisations/_suggested.html.haml +7 -0
  197. data/app/views/droom/organisations/edit.html.haml +6 -0
  198. data/app/views/droom/organisations/index.html.haml +20 -0
  199. data/app/views/droom/organisations/new.html.haml +6 -0
  200. data/app/views/droom/organisations/show.html.haml +1 -0
  201. data/app/views/droom/pages/_full_page.html.haml +1 -1
  202. data/app/views/droom/pages/index.html.haml +1 -1
  203. data/app/views/droom/panels/_account.html.haml +16 -0
  204. data/app/views/droom/panels/_admin.html.haml +23 -0
  205. data/app/views/droom/panels/_devices.html.haml +19 -0
  206. data/app/views/droom/panels/_dropbox.html.haml +17 -0
  207. data/app/views/droom/panels/_email.html.haml +16 -0
  208. data/app/views/droom/panels/_keywords.html.haml +3 -0
  209. data/app/views/droom/panels/_networks.html.haml +3 -0
  210. data/app/views/droom/panels/_readers.html.haml +18 -0
  211. data/app/views/droom/panels/_rss.html.haml +10 -0
  212. data/app/views/droom/panels/_search.html.haml +16 -0
  213. data/app/views/droom/panels/_vcal.html.haml +3 -0
  214. data/app/views/droom/people/_action_menu.html.haml +22 -0
  215. data/app/views/droom/people/_form.html.haml +69 -39
  216. data/app/views/droom/people/_listing.html.haml +19 -0
  217. data/app/views/droom/people/_memberships.html.haml +24 -0
  218. data/app/views/droom/people/_people.html.haml +5 -29
  219. data/app/views/droom/people/_person.html.haml +30 -32
  220. data/app/views/droom/people/_search_result.html.haml +14 -0
  221. data/app/views/droom/people/_suggested.html.haml +10 -5
  222. data/app/views/droom/people/edit.html.haml +9 -1
  223. data/app/views/droom/people/index.html.haml +6 -9
  224. data/app/views/droom/people/new.html.haml +6 -1
  225. data/app/views/droom/people/show.html.haml +1 -1
  226. data/app/views/droom/preferences/_checkbox.html.haml +7 -0
  227. data/app/views/droom/preferences/_radio_set.html.haml +9 -0
  228. data/app/views/droom/scraps/_action_menu.html.haml +9 -0
  229. data/app/views/droom/scraps/_caption.html.haml +9 -0
  230. data/app/views/droom/scraps/_credit.html.haml +10 -0
  231. data/app/views/droom/scraps/_form.html.haml +77 -0
  232. data/app/views/droom/scraps/_heading.html.haml +16 -0
  233. data/app/views/droom/scraps/_scrap.html.haml +17 -0
  234. data/app/views/droom/scraps/_search_result.html.haml +5 -0
  235. data/app/views/droom/scraps/_stream.html.haml +4 -0
  236. data/app/views/droom/scraps/_suggested.html.haml +5 -0
  237. data/app/views/droom/scraps/_thumb.html.haml +5 -0
  238. data/app/views/droom/scraps/edit.html.haml +2 -0
  239. data/app/views/droom/scraps/full/_document.html.haml +6 -0
  240. data/app/views/droom/scraps/full/_event.html.haml +20 -0
  241. data/app/views/droom/scraps/full/_image.html.haml +4 -0
  242. data/app/views/droom/scraps/full/_link.html.haml +5 -0
  243. data/app/views/droom/scraps/full/_quote.html.haml +8 -0
  244. data/app/views/droom/scraps/full/_text.html.haml +4 -0
  245. data/app/views/droom/scraps/full/_video.html.haml +4 -0
  246. data/app/views/droom/scraps/index.atom.builder +26 -0
  247. data/app/views/droom/scraps/index.html.haml +15 -0
  248. data/app/views/droom/scraps/new.html.haml +2 -0
  249. data/app/views/droom/scraps/show.html.haml +4 -0
  250. data/app/views/droom/scraps/thumbs/_document.html.haml +9 -0
  251. data/app/views/droom/scraps/thumbs/_event.html.haml +17 -0
  252. data/app/views/droom/scraps/thumbs/_image.html.haml +6 -0
  253. data/app/views/droom/scraps/thumbs/_link.html.haml +10 -0
  254. data/app/views/droom/scraps/thumbs/_quote.html.haml +8 -0
  255. data/app/views/droom/scraps/thumbs/_text.html.haml +8 -0
  256. data/app/views/droom/scraps/thumbs/_video.html.haml +6 -0
  257. data/app/views/droom/shared/_controls.html.haml +5 -3
  258. data/app/views/droom/shared/_excerpt.html.haml +2 -0
  259. data/app/views/droom/shared/_navigation.html.haml +4 -4
  260. data/app/views/droom/shared/_panels.html.haml +4 -0
  261. data/app/views/droom/shared/_quicklinks.html.haml +5 -0
  262. data/app/views/droom/shared/_search_form.html.haml +2 -1
  263. data/app/views/droom/shared/_search_results.html.haml +9 -0
  264. data/app/views/droom/shared/_suggestions.html.haml +13 -9
  265. data/app/views/droom/shared/_title_excerpt.haml +2 -0
  266. data/app/views/droom/shared/search.html.haml +18 -0
  267. data/app/views/droom/users/_confirmation.html.haml +2 -0
  268. data/app/views/droom/users/_dropbox_status.html.haml +2 -0
  269. data/app/views/droom/users/_form.html.haml +34 -0
  270. data/app/views/droom/users/_user.html.haml +2 -0
  271. data/app/views/droom/users/_user_or_person.html.haml +63 -0
  272. data/app/views/droom/users/_users_table.html.haml +17 -0
  273. data/app/views/droom/users/edit.html.haml +10 -0
  274. data/app/views/droom/users/index.html.haml +42 -0
  275. data/app/views/droom/users/unwelcome.en.html.haml +17 -0
  276. data/app/views/droom/venues/_search_result.html.haml +17 -0
  277. data/app/views/droom/youtube/show.html.haml +12 -0
  278. data/app/views/kaminari/_paginator.html.haml +16 -0
  279. data/app/views/layouts/droom/application.html.haml +17 -17
  280. data/app/views/layouts/droom/email.html.haml +59 -0
  281. data/config/cucumber.yml +8 -0
  282. data/config/initializers/devise.rb +240 -0
  283. data/config/locales/devise.en.yml +58 -0
  284. data/config/locales/en.yml +203 -32
  285. data/config/routes.rb +55 -16
  286. data/config/sunspot.yml +17 -0
  287. data/db/migrate/20121120115447_tags.rb +18 -0
  288. data/db/migrate/20130116155331_dropbox_tokens.rb +9 -0
  289. data/db/migrate/20130118103540_folders.rb +47 -0
  290. data/db/migrate/20130124113715_preferences.rb +10 -0
  291. data/db/migrate/20130125132427_users_in_droom.rb +58 -0
  292. data/db/migrate/20130129142307_mobile_phones.rb +7 -0
  293. data/db/migrate/20130130120124_folder_ancestry_to_parents.rb +7 -0
  294. data/db/migrate/20130131161430_mailing_lists.rb +37 -0
  295. data/db/migrate/20130207091903_preference_uuids.rb +5 -0
  296. data/db/migrate/20130207123614_stream.rb +13 -0
  297. data/db/migrate/20130208035113_access_token_secret.rb +5 -0
  298. data/db/migrate/20130214145014_person_image.rb +9 -0
  299. data/db/migrate/20130217152644_devise_confirmable.rb +13 -0
  300. data/db/migrate/20130225095328_create_droom_calendars.rb +20 -0
  301. data/db/migrate/20130226092944_give_scraps_document.rb +5 -0
  302. data/db/migrate/20130228083509_privateness.rb +9 -0
  303. data/db/migrate/20130228134143_store_metadata.rb +5 -0
  304. data/db/migrate/20130305150648_folders_nicely.rb +6 -0
  305. data/db/migrate/20130305151936_niceties.rb +7 -0
  306. data/db/migrate/20130308103807_create_droom_dropbox_documents.rb +11 -0
  307. data/db/migrate/20130308154552_dropbox_documents_changed.rb +5 -0
  308. data/db/migrate/20130326135738_user_titles.rb +5 -0
  309. data/lib/droom.rb +189 -22
  310. data/lib/droom/engine.rb +6 -1
  311. data/lib/droom/folders.rb +106 -0
  312. data/lib/droom/lazy_hash.rb +73 -0
  313. data/lib/droom/{helpers.rb → model_helpers.rb} +1 -1
  314. data/lib/droom/monkeys.rb +21 -2
  315. data/lib/droom/routing.rb +13 -0
  316. data/lib/droom/searchability.rb +25 -0
  317. data/lib/droom/taggability.rb +60 -0
  318. data/lib/droom/title_case.rb +101 -0
  319. data/lib/droom/user_config.rb +67 -0
  320. data/lib/droom/validators.rb +6 -0
  321. data/lib/droom/version.rb +1 -1
  322. data/lib/generators/droom/install/templates/droom_initializer.rb +0 -1
  323. data/lib/tasks/cucumber.rake +65 -0
  324. data/spec/datasets/calendar_events_dataset.rb +44 -0
  325. data/spec/datasets/calendar_pages_dataset.rb +8 -0
  326. data/spec/datasets/calendar_sites_dataset.rb +6 -0
  327. data/spec/datasets/calendars_dataset.rb +34 -0
  328. data/spec/datasets/documents_dataset.rb +28 -0
  329. data/spec/datasets/recurrence_dataset.rb +7 -0
  330. data/spec/dummy/README.rdoc +261 -0
  331. data/spec/dummy/Rakefile +7 -0
  332. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  333. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  334. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  335. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  336. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  337. data/spec/dummy/config.ru +4 -0
  338. data/spec/dummy/config/application.rb +65 -0
  339. data/spec/dummy/config/boot.rb +10 -0
  340. data/spec/dummy/config/database.yml +21 -0
  341. data/spec/dummy/config/environment.rb +5 -0
  342. data/spec/dummy/config/environments/development.rb +38 -0
  343. data/spec/dummy/config/environments/production.rb +67 -0
  344. data/spec/dummy/config/environments/test.rb +38 -0
  345. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  346. data/spec/dummy/config/initializers/inflections.rb +15 -0
  347. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  348. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  349. data/spec/dummy/config/initializers/session_store.rb +8 -0
  350. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  351. data/spec/dummy/config/locales/en.yml +7 -0
  352. data/spec/dummy/config/routes.rb +3 -0
  353. data/spec/dummy/config/sunspot.yml +17 -0
  354. data/spec/dummy/db/migrate/20120911070124_create_droom_data.droom.rb +135 -0
  355. data/spec/dummy/db/migrate/20120921094604_agenda_sections.droom.rb +14 -0
  356. data/spec/dummy/db/migrate/20120921094605_add_postal_address_to_people.droom.rb +11 -0
  357. data/spec/dummy/db/migrate/20121102064845_give_groups_descriptions.droom.rb +6 -0
  358. data/spec/dummy/db/migrate/20121102064846_more_names.droom.rb +6 -0
  359. data/spec/dummy/db/migrate/20121102064847_event_agenda_sections.droom.rb +14 -0
  360. data/spec/dummy/db/migrate/20121102064848_create_group_invitations.droom.rb +11 -0
  361. data/spec/dummy/db/migrate/20121102064849_give_people_positions.droom.rb +6 -0
  362. data/spec/dummy/db/migrate/20121102064850_help_pages.droom.rb +14 -0
  363. data/spec/dummy/db/migrate/20121102064851_category_slugs.droom.rb +6 -0
  364. data/spec/dummy/db/migrate/20121102064852_document_links.droom.rb +15 -0
  365. data/spec/dummy/db/migrate/20121102064853_people_visibility.droom.rb +8 -0
  366. data/spec/dummy/db/migrate/20121102094820_shy_people.droom.rb +6 -0
  367. data/spec/dummy/db/migrate/20121102095927_visibility_defaults.droom.rb +10 -0
  368. data/spec/dummy/db/migrate/20130121122352_tags.droom.rb +19 -0
  369. data/spec/dummy/db/migrate/20130121122353_dropbox.droom.rb +10 -0
  370. data/spec/dummy/db/migrate/20130121122354_folders.droom.rb +48 -0
  371. data/spec/dummy/db/migrate/20130128142902_memberships_expire.droom.rb +6 -0
  372. data/spec/dummy/db/migrate/20130128142903_give_documents_extracted_text.droom.rb +6 -0
  373. data/spec/dummy/db/migrate/20130128142904_preferences.droom.rb +11 -0
  374. data/spec/dummy/db/migrate/20130128142905_users_in_droom.droom.rb +59 -0
  375. data/spec/dummy/db/migrate/20130130120631_folder_ancestry_to_parents.droom.rb +8 -0
  376. data/spec/dummy/db/migrate/20130201103737_mobile_phones.droom.rb +8 -0
  377. data/spec/dummy/db/migrate/20130201103738_mailing_lists.droom.rb +38 -0
  378. data/spec/dummy/db/schema.rb +327 -0
  379. data/spec/dummy/log/sunspot-solr-test.log.1 +222 -0
  380. data/spec/dummy/public/404.html +26 -0
  381. data/spec/dummy/public/422.html +26 -0
  382. data/spec/dummy/public/500.html +25 -0
  383. data/spec/dummy/public/favicon.ico +0 -0
  384. data/spec/dummy/public/system/droom/documents/files/000/000/001/original/frog.png +0 -0
  385. data/spec/dummy/public/system/droom/documents/files/000/000/001/original/rat.png +0 -0
  386. data/spec/dummy/script/rails +6 -0
  387. data/spec/dummy/solr/conf/admin-extra.html +31 -0
  388. data/spec/dummy/solr/conf/elevate.xml +36 -0
  389. data/spec/dummy/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  390. data/spec/dummy/solr/conf/protwords.txt +21 -0
  391. data/spec/dummy/solr/conf/schema.xml +238 -0
  392. data/spec/dummy/solr/conf/scripts.conf +24 -0
  393. data/spec/dummy/solr/conf/solrconfig.xml +934 -0
  394. data/spec/dummy/solr/conf/spellings.txt +2 -0
  395. data/spec/dummy/solr/conf/stopwords.txt +58 -0
  396. data/spec/dummy/solr/conf/synonyms.txt +31 -0
  397. data/spec/dummy/solr/data/development/index/segments.gen +0 -0
  398. data/spec/dummy/solr/data/development/index/segments_1 +0 -0
  399. data/spec/dummy/solr/data/development/spellchecker/segments.gen +0 -0
  400. data/spec/dummy/solr/data/development/spellchecker/segments_1 +0 -0
  401. data/spec/dummy/solr/data/test/index/segments.gen +0 -0
  402. data/spec/dummy/solr/data/test/index/segments_3nu +0 -0
  403. data/spec/dummy/solr/data/test/spellchecker/segments.gen +0 -0
  404. data/spec/dummy/solr/data/test/spellchecker/segments_1 +0 -0
  405. data/spec/dummy/webdav/1/group/rat.png +0 -0
  406. data/spec/dummy/webdav/1/unattached/rat.png +0 -0
  407. data/spec/dummy/webdav/group/rat.png +0 -0
  408. data/spec/dummy/webdav/unattached/rat.png +0 -0
  409. data/spec/dummy/webdav/unattached/rat_v1.png +0 -0
  410. data/spec/factories/agenda_categories.rb +5 -0
  411. data/spec/factories/categories.rb +5 -0
  412. data/spec/factories/documents.rb +16 -0
  413. data/spec/factories/events.rb +41 -0
  414. data/spec/factories/folders.rb +5 -0
  415. data/spec/factories/groups.rb +6 -0
  416. data/spec/factories/memberships.rb +5 -0
  417. data/spec/factories/people.rb +16 -0
  418. data/spec/factories/recurrence_rules.rb +25 -0
  419. data/spec/factories/user.rb +6 -0
  420. data/spec/fixtures/dummy.ics +59 -0
  421. data/spec/fixtures/images/frog.png +0 -0
  422. data/spec/fixtures/images/rat.png +0 -0
  423. data/spec/fixtures/ny.ics +36 -0
  424. data/spec/lib/droom/folders_spec.rb +46 -0
  425. data/spec/lib/droom/lazy_hash_spec.rb +33 -0
  426. data/spec/models/droom/agenda_category_spec.rb +15 -0
  427. data/spec/models/droom/document_spec.rb +76 -0
  428. data/spec/models/droom/event_spec.rb +154 -0
  429. data/spec/models/droom/folder_spec.rb +5 -0
  430. data/spec/models/droom/ical_spec.rb +62 -0
  431. data/spec/models/droom/mailing_list_membership_spec.rb +81 -0
  432. data/spec/models/droom/membership_spec.rb +22 -0
  433. data/spec/models/droom/person_spec.rb +72 -0
  434. data/spec/models/droom/recurrence_rule_spec.rb +81 -0
  435. data/spec/models/droom/user_spec.rb +27 -0
  436. data/spec/models/droom/visibility_spec.rb +6 -0
  437. data/spec/spec_helper.rb +119 -0
  438. data/spec/support/matchers/content_type_matcher.rb +17 -0
  439. metadata +591 -36
  440. data/app/assets/javascripts/droom/calendar.js.coffee +0 -121
  441. data/app/assets/javascripts/droom/drag_sort.js.coffee +0 -22
  442. data/app/assets/javascripts/droom/forms.js.coffee +0 -746
  443. data/app/assets/javascripts/droom/sort.js.coffee +0 -126
  444. data/app/assets/javascripts/droom/suggester.js.coffee +0 -230
  445. data/app/controllers/droom/document_attachments_controller.rb +0 -19
  446. data/app/models/droom/document_link.rb +0 -31
  447. data/app/models/droom/personal_document.rb +0 -98
  448. data/app/views/droom/dashboard/_marginalia.html.haml +0 -3
  449. data/app/views/droom/dashboard/_my_future_events.html.haml +0 -9
  450. data/app/views/droom/dashboard/_my_group_documents.html.haml +0 -6
  451. data/app/views/droom/dashboard/_my_past_events.haml +0 -6
  452. data/app/views/droom/documents/_event_document_form.html.haml +0 -15
  453. data/app/views/droom/errors/bang.html.haml +0 -12
  454. data/app/views/droom/errors/not_allowed.html.haml +0 -12
  455. data/app/views/droom/errors/not_found.html.haml +0 -12
  456. data/app/views/droom/events/_attachment.html.haml +0 -1
  457. data/app/views/droom/events/_attachment_list.html.haml +0 -4
  458. data/app/views/droom/invitations/_attending_people.html.haml +0 -8
  459. data/config/initializers/dav.rb +0 -2
@@ -0,0 +1,14 @@
1
+ # This migration comes from droom (originally 20120917095804)
2
+ class AgendaSections < ActiveRecord::Migration
3
+ def change
4
+ create_table :droom_agenda_sections do |t|
5
+ t.string :name
6
+ t.text :description
7
+ t.integer :event_id
8
+ t.integer :created_by_id
9
+ t.timestamps
10
+ end
11
+
12
+ add_column :droom_document_attachments, :agenda_section_id, :integer
13
+ end
14
+ end
@@ -0,0 +1,11 @@
1
+ # This migration comes from droom (originally 20120918121352)
2
+ class AddPostalAddressToPeople < ActiveRecord::Migration
3
+ def change
4
+ add_column :droom_people, :post_line1, :string
5
+ add_column :droom_people, :post_line2, :string
6
+ add_column :droom_people, :post_city, :string
7
+ add_column :droom_people, :post_region, :string
8
+ add_column :droom_people, :post_country, :string
9
+ add_column :droom_people, :post_code, :string
10
+ end
11
+ end
@@ -0,0 +1,6 @@
1
+ # This migration comes from droom (originally 20121009075049)
2
+ class GiveGroupsDescriptions < ActiveRecord::Migration
3
+ def change
4
+ add_column :droom_groups, :description, :text
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ # This migration comes from droom (originally 20121009105244)
2
+ class MoreNames < ActiveRecord::Migration
3
+ def change
4
+ add_column :droom_people, :forename, :string
5
+ end
6
+ end
@@ -0,0 +1,14 @@
1
+ # This migration comes from droom (originally 20121009145944)
2
+ class EventAgendaSections < ActiveRecord::Migration
3
+ def change
4
+ remove_column :droom_agenda_sections, :event_id
5
+ rename_table :droom_agenda_sections, :droom_categories
6
+ rename_column :droom_document_attachments, :agenda_section_id, :category_id
7
+ create_table :droom_agenda_categories do |t|
8
+ t.integer :event_id
9
+ t.integer :category_id
10
+ t.integer :created_by_id
11
+ t.timestamps
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,11 @@
1
+ # This migration comes from droom (originally 20121011091230)
2
+ class CreateGroupInvitations < ActiveRecord::Migration
3
+ def change
4
+ create_table :droom_group_invitations do |t|
5
+ t.integer :group_id
6
+ t.integer :event_id
7
+ t.integer :created_by_id
8
+ end
9
+ add_column :droom_invitations, :group_invitation_id, :integer
10
+ end
11
+ end
@@ -0,0 +1,6 @@
1
+ # This migration comes from droom (originally 20121012144720)
2
+ class GivePeoplePositions < ActiveRecord::Migration
3
+ def change
4
+ add_column :droom_people, :position, :integer, :default => 1
5
+ end
6
+ end
@@ -0,0 +1,14 @@
1
+ # This migration comes from droom (originally 20121012154558)
2
+ class HelpPages < ActiveRecord::Migration
3
+ def change
4
+ create_table :droom_pages do |t|
5
+ t.column :title, :string
6
+ t.column :slug, :string
7
+ t.column :summary, :text
8
+ t.column :body, :text
9
+ t.column :rendered_body, :text
10
+ t.column :video_id, :string
11
+ t.timestamps
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,6 @@
1
+ # This migration comes from droom (originally 20121012163201)
2
+ class CategorySlugs < ActiveRecord::Migration
3
+ def change
4
+ add_column :droom_categories, :slug, :string
5
+ end
6
+ end
@@ -0,0 +1,15 @@
1
+ # This migration comes from droom (originally 20121101160102)
2
+ class DocumentLinks < ActiveRecord::Migration
3
+ def change
4
+ create_table :droom_document_links do |t|
5
+ t.integer :person_id
6
+ t.integer :document_attachment_id
7
+ t.timestamps
8
+ end
9
+ add_index :droom_document_links, :person_id
10
+ add_index :droom_document_links, :document_attachment_id
11
+
12
+ add_column :droom_personal_documents, :document_link_id, :integer
13
+ add_index :droom_personal_documents, :document_link_id
14
+ end
15
+ end
@@ -0,0 +1,8 @@
1
+ # This migration comes from droom (originally 20121101181247)
2
+ class PeopleVisibility < ActiveRecord::Migration
3
+ def change
4
+ add_column :droom_people, :public, :boolean
5
+ add_column :droom_people, :private, :boolean
6
+ add_index :droom_people, :public
7
+ end
8
+ end
@@ -0,0 +1,6 @@
1
+ # This migration comes from droom (originally 20121102094738)
2
+ class ShyPeople < ActiveRecord::Migration
3
+ def change
4
+ rename_column :droom_people, :private, :shy
5
+ end
6
+ end
@@ -0,0 +1,10 @@
1
+ # This migration comes from droom (originally 20121102095856)
2
+ class VisibilityDefaults < ActiveRecord::Migration
3
+ def change
4
+ rename_column :droom_documents, :private, :secret
5
+ change_column_default :droom_people, :shy, false
6
+ change_column_default :droom_people, :public, false
7
+ change_column_default :droom_documents, :secret, false
8
+ change_column_default :droom_documents, :public, false
9
+ end
10
+ end
@@ -0,0 +1,19 @@
1
+ # This migration comes from droom (originally 20121120115447)
2
+ class Tags < ActiveRecord::Migration
3
+ def change
4
+ create_table :droom_tags do |t|
5
+ t.column :name, :string
6
+ t.column :parent_id, :integer
7
+ t.column :created_by_id, :integer
8
+ t.timestamps
9
+ end
10
+
11
+ create_table :droom_taggings do |t|
12
+ t.column :tag_id, :integer
13
+ t.column :taggee_id, :integer
14
+ t.column :taggee_type, :string
15
+ t.column :created_by_id, :integer
16
+ t.timestamps
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,10 @@
1
+ # This migration comes from droom (originally 20130116155331)
2
+ class Dropbox < ActiveRecord::Migration
3
+ def change
4
+ create_table :droom_dropbox_tokens do |t|
5
+ t.column :created_by_id, :integer
6
+ t.column :access_token, :string
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,48 @@
1
+ # This migration comes from droom (originally 20130118103540)
2
+ class Folders < ActiveRecord::Migration
3
+ def change
4
+ create_table :droom_folders do |t|
5
+ t.string :slug
6
+ t.string :holder_type
7
+ t.string :holder_id
8
+ t.string :ancestry
9
+ t.boolean :public, :default => 0
10
+ t.integer :created_by_id
11
+ t.timestamps
12
+ end
13
+ add_index :droom_folders, :ancestry
14
+
15
+ create_table :droom_personal_folders do |t|
16
+ t.integer :folder_id
17
+ t.integer :person_id
18
+ t.timestamps
19
+ end
20
+
21
+ add_column :droom_documents, :folder_id, :integer
22
+ add_index :droom_documents, :folder_id
23
+
24
+ add_column :droom_personal_documents, :personal_folder_id, :integer
25
+ add_index :droom_personal_documents, :personal_folder_id
26
+
27
+ # folders will be lazy-loaded when they are needed, so:
28
+ # transmute document-attachments into document->folder->holder associations
29
+ # taking care to create agenda_category buckets as required.
30
+
31
+ # Droom::DocumentAttachment.all.each do |da|
32
+ # if da.category
33
+ # da.attachee.find_or_create_agenda_category(da.category).receive_document(da.document)
34
+ # else
35
+ # da.attachee.receive_document da.document
36
+ # end
37
+ # end
38
+ #
39
+ # # trigger the creation of personal folders from invitations and memberships
40
+ #
41
+ # Droom::Invitation.all.map(&:link_folder)
42
+ # Droom::Membership.all.map(&:link_folder)
43
+
44
+ # drop_table :document_links
45
+ # drop_table :document_attachments
46
+ end
47
+
48
+ end
@@ -0,0 +1,6 @@
1
+ # This migration comes from droom (originally 20121220145827)
2
+ class MembershipsExpire < ActiveRecord::Migration
3
+ def change
4
+ add_column :droom_memberships, :expires, :datetime
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ # This migration comes from droom (originally 20130121140158)
2
+ class GiveDocumentsExtractedText < ActiveRecord::Migration
3
+ def change
4
+ add_column :droom_documents, :extracted_text, :text
5
+ end
6
+ end
@@ -0,0 +1,11 @@
1
+ # This migration comes from droom (originally 20130124113715)
2
+ class Preferences < ActiveRecord::Migration
3
+ def change
4
+ create_table :droom_preferences do |t|
5
+ t.integer :created_by_id
6
+ t.string :key
7
+ t.string :value
8
+ t.timestamps
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,59 @@
1
+ # This migration comes from droom (originally 20130125132427)
2
+ class UsersInDroom < ActiveRecord::Migration
3
+ def change
4
+ if ActiveRecord::Base.connection.table_exists? 'users'
5
+ rename_table :users, :droom_users
6
+
7
+ else
8
+ create_table(:droom_users) do |t|
9
+ t.string :name
10
+ t.string :forename
11
+ t.boolean :admin, :default => false
12
+ t.datetime :activated_at
13
+ t.datetime :invited_at
14
+ t.datetime :invited_by_id
15
+ t.datetime :reminded_at
16
+
17
+ ## Database authenticatable
18
+ t.string :email, :null => false, :default => ""
19
+ t.string :encrypted_password, :null => false, :default => ""
20
+
21
+ ## Recoverable
22
+ t.string :reset_password_token
23
+ t.datetime :reset_password_sent_at
24
+
25
+ ## Rememberable
26
+ t.datetime :remember_created_at
27
+
28
+ ## Trackable
29
+ t.integer :sign_in_count, :default => 0
30
+ t.datetime :current_sign_in_at
31
+ t.datetime :last_sign_in_at
32
+ t.string :current_sign_in_ip
33
+ t.string :last_sign_in_ip
34
+
35
+ ## Confirmable
36
+ # t.string :confirmation_token
37
+ # t.datetime :confirmed_at
38
+ # t.datetime :confirmation_sent_at
39
+ # t.string :unconfirmed_email # Only if using reconfirmable
40
+
41
+ ## Lockable
42
+ # t.integer :failed_attempts, :default => 0 # Only if lock strategy is :failed_attempts
43
+ # t.string :unlock_token # Only if unlock strategy is :email or :both
44
+ # t.datetime :locked_at
45
+
46
+ ## Token authenticatable
47
+ t.string :authentication_token
48
+
49
+ ## Encryptable
50
+ t.string :password_salt
51
+
52
+ t.timestamps
53
+ end
54
+ add_index :droom_users, :email, :unique => true
55
+ add_index :droom_users, :reset_password_token, :unique => true
56
+
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,8 @@
1
+ # This migration comes from droom (originally 20130130120124)
2
+ class FolderAncestryToParents < ActiveRecord::Migration
3
+ def change
4
+ change_column :droom_folders, :ancestry, :integer
5
+ rename_column :droom_folders, :ancestry, :parent_id
6
+ remove_index :droom_folders, :ancestry
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ # This migration comes from droom (originally 20130129142307)
2
+ class MobilePhones < ActiveRecord::Migration
3
+ def change
4
+ add_column :droom_people, :mobile, :string
5
+ add_column :droom_people, :dob, :datetime
6
+ add_column :droom_people, :female, :boolean
7
+ end
8
+ end
@@ -0,0 +1,38 @@
1
+ # This migration comes from droom (originally 20130131161430)
2
+ class MailingLists < ActiveRecord::Migration
3
+ def change
4
+ # One option for mailing list configuration is to point mailman at this table.
5
+ # The other, much more likely, is to define a mailman_production environment
6
+ # and point it at your existing mailman database.
7
+ #
8
+ create_table :droom_mailing_list_memberships do |t|
9
+ t.integer :membership_id
10
+ t.string :address
11
+ t.string :listname
12
+ t.string :hide # These should all be enum(Y,N) really
13
+ t.string :nomail # since we're mimicking a cranky old
14
+ t.string :ack # mailman table, but this should work.
15
+ t.string :not_metoo #
16
+ t.string :digest #
17
+ t.string :plain #
18
+ t.string :one_last_digest #
19
+ t.string :password
20
+ t.string :lang
21
+ t.string :name
22
+ t.integer :user_options
23
+ t.integer :delivery_status
24
+ t.string :topics_userinterest
25
+ t.string :topics_userinterest
26
+ t.datetime :delivery_status_timestamp
27
+ t.string :bi_cookie
28
+ t.string :bi_score
29
+ t.string :bi_noticesleft
30
+ t.date :bi_lastnotice
31
+ t.date :bi_date
32
+ end
33
+ add_index :droom_mailing_list_memberships, :membership_id
34
+ add_index :droom_mailing_list_memberships, [:address, :listname]
35
+
36
+ add_column :droom_groups, :mailing_list_name, :string
37
+ end
38
+ end
@@ -0,0 +1,327 @@
1
+ # encoding: UTF-8
2
+ # This file is auto-generated from the current state of the database. Instead
3
+ # of editing this file, please use the migrations feature of Active Record to
4
+ # incrementally modify your database, and then regenerate this schema definition.
5
+ #
6
+ # Note that this schema.rb definition is the authoritative source for your
7
+ # database schema. If you need to create the application database on another
8
+ # system, you should be using db:schema:load, not running all the migrations
9
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
11
+ #
12
+ # It's strongly recommended to check this file into your version control system.
13
+
14
+ ActiveRecord::Schema.define(:version => 20130201103738) do
15
+
16
+ create_table "droom_agenda_categories", :force => true do |t|
17
+ t.integer "event_id"
18
+ t.integer "category_id"
19
+ t.integer "created_by_id"
20
+ t.datetime "created_at", :null => false
21
+ t.datetime "updated_at", :null => false
22
+ end
23
+
24
+ create_table "droom_categories", :force => true do |t|
25
+ t.string "name"
26
+ t.text "description"
27
+ t.integer "created_by_id"
28
+ t.datetime "created_at", :null => false
29
+ t.datetime "updated_at", :null => false
30
+ t.string "slug"
31
+ end
32
+
33
+ create_table "droom_documents", :force => true do |t|
34
+ t.string "name"
35
+ t.text "description"
36
+ t.integer "version"
37
+ t.string "file_file_name"
38
+ t.string "file_content_type"
39
+ t.integer "file_file_size"
40
+ t.datetime "file_updated_at"
41
+ t.string "file_fingerprint"
42
+ t.integer "created_by_id"
43
+ t.boolean "public", :default => false
44
+ t.boolean "secret", :default => false
45
+ t.datetime "created_at", :null => false
46
+ t.datetime "updated_at", :null => false
47
+ t.integer "folder_id"
48
+ t.text "extracted_text"
49
+ end
50
+
51
+ add_index "droom_documents", ["folder_id"], :name => "index_droom_documents_on_folder_id"
52
+
53
+ create_table "droom_dropbox_tokens", :force => true do |t|
54
+ t.integer "created_by_id"
55
+ t.string "access_token"
56
+ t.datetime "created_at", :null => false
57
+ t.datetime "updated_at", :null => false
58
+ end
59
+
60
+ create_table "droom_event_sets", :force => true do |t|
61
+ t.string "name"
62
+ t.integer "created_by_id"
63
+ t.datetime "created_at", :null => false
64
+ t.datetime "updated_at", :null => false
65
+ end
66
+
67
+ create_table "droom_events", :force => true do |t|
68
+ t.datetime "start"
69
+ t.datetime "finish"
70
+ t.string "name"
71
+ t.string "slug"
72
+ t.text "description"
73
+ t.string "url"
74
+ t.integer "venue_id"
75
+ t.integer "event_set_id"
76
+ t.integer "created_by_id"
77
+ t.string "uuid"
78
+ t.boolean "all_day"
79
+ t.integer "master_id"
80
+ t.boolean "private"
81
+ t.boolean "public"
82
+ t.datetime "created_at", :null => false
83
+ t.datetime "updated_at", :null => false
84
+ end
85
+
86
+ add_index "droom_events", ["event_set_id"], :name => "index_droom_events_on_event_set_id"
87
+ add_index "droom_events", ["master_id"], :name => "index_droom_events_on_master_id"
88
+ add_index "droom_events", ["public"], :name => "index_droom_events_on_public"
89
+
90
+ create_table "droom_folders", :force => true do |t|
91
+ t.string "slug"
92
+ t.string "holder_type"
93
+ t.string "holder_id"
94
+ t.integer "parent_id"
95
+ t.boolean "public", :default => false
96
+ t.integer "created_by_id"
97
+ t.datetime "created_at", :null => false
98
+ t.datetime "updated_at", :null => false
99
+ end
100
+
101
+ create_table "droom_group_invitations", :force => true do |t|
102
+ t.integer "group_id"
103
+ t.integer "event_id"
104
+ t.integer "created_by_id"
105
+ end
106
+
107
+ create_table "droom_groups", :force => true do |t|
108
+ t.string "name"
109
+ t.string "slug"
110
+ t.integer "leader_id"
111
+ t.integer "created_by_id"
112
+ t.datetime "created_at", :null => false
113
+ t.datetime "updated_at", :null => false
114
+ t.text "description"
115
+ t.string "mailing_list_name"
116
+ end
117
+
118
+ create_table "droom_invitations", :force => true do |t|
119
+ t.integer "person_id"
120
+ t.integer "event_id"
121
+ t.integer "created_by_id"
122
+ t.datetime "created_at", :null => false
123
+ t.datetime "updated_at", :null => false
124
+ t.integer "group_invitation_id"
125
+ end
126
+
127
+ add_index "droom_invitations", ["event_id"], :name => "index_droom_invitations_on_event_id"
128
+ add_index "droom_invitations", ["person_id"], :name => "index_droom_invitations_on_person_id"
129
+
130
+ create_table "droom_mailing_list_memberships", :force => true do |t|
131
+ t.integer "membership_id"
132
+ t.string "address"
133
+ t.string "listname"
134
+ t.string "hide"
135
+ t.string "nomail"
136
+ t.string "ack"
137
+ t.string "not_metoo"
138
+ t.string "digest"
139
+ t.string "plain"
140
+ t.string "one_last_digest"
141
+ t.string "password"
142
+ t.string "lang"
143
+ t.string "name"
144
+ t.integer "user_options"
145
+ t.integer "delivery_status"
146
+ t.string "topics_userinterest"
147
+ t.datetime "delivery_status_timestamp"
148
+ t.string "bi_cookie"
149
+ t.string "bi_score"
150
+ t.string "bi_noticesleft"
151
+ t.date "bi_lastnotice"
152
+ t.date "bi_date"
153
+ end
154
+
155
+ add_index "droom_mailing_list_memberships", ["address", "listname"], :name => "index_droom_mailing_list_memberships_on_address_and_listname"
156
+ add_index "droom_mailing_list_memberships", ["membership_id"], :name => "index_droom_mailing_list_memberships_on_membership_id"
157
+
158
+ create_table "droom_memberships", :force => true do |t|
159
+ t.integer "person_id"
160
+ t.integer "group_id"
161
+ t.integer "created_by_id"
162
+ t.datetime "created_at", :null => false
163
+ t.datetime "updated_at", :null => false
164
+ t.datetime "expires"
165
+ end
166
+
167
+ add_index "droom_memberships", ["group_id"], :name => "index_droom_memberships_on_group_id"
168
+ add_index "droom_memberships", ["person_id"], :name => "index_droom_memberships_on_person_id"
169
+
170
+ create_table "droom_pages", :force => true do |t|
171
+ t.string "title"
172
+ t.string "slug"
173
+ t.text "summary"
174
+ t.text "body"
175
+ t.text "rendered_body"
176
+ t.string "video_id"
177
+ t.datetime "created_at", :null => false
178
+ t.datetime "updated_at", :null => false
179
+ end
180
+
181
+ create_table "droom_people", :force => true do |t|
182
+ t.string "name"
183
+ t.string "title"
184
+ t.string "email"
185
+ t.string "phone"
186
+ t.text "description"
187
+ t.string "image_file_name"
188
+ t.string "image_content_type"
189
+ t.integer "image_file_size"
190
+ t.datetime "image_updated_at"
191
+ t.integer "user_id"
192
+ t.integer "created_by_id"
193
+ t.datetime "created_at", :null => false
194
+ t.datetime "updated_at", :null => false
195
+ t.string "post_line1"
196
+ t.string "post_line2"
197
+ t.string "post_city"
198
+ t.string "post_region"
199
+ t.string "post_country"
200
+ t.string "post_code"
201
+ t.string "forename"
202
+ t.integer "position", :default => 1
203
+ t.boolean "public", :default => false
204
+ t.boolean "shy", :default => false
205
+ t.string "mobile"
206
+ t.datetime "dob"
207
+ t.boolean "female"
208
+ end
209
+
210
+ add_index "droom_people", ["email"], :name => "index_droom_people_on_email"
211
+ add_index "droom_people", ["public"], :name => "index_droom_people_on_public"
212
+ add_index "droom_people", ["user_id"], :name => "index_droom_people_on_user_id"
213
+
214
+ create_table "droom_personal_documents", :force => true do |t|
215
+ t.integer "document_attachment_id"
216
+ t.integer "person_id"
217
+ t.integer "version"
218
+ t.string "file_file_name"
219
+ t.string "file_content_type"
220
+ t.integer "file_file_size"
221
+ t.datetime "file_updated_at"
222
+ t.string "file_fingerprint"
223
+ t.datetime "created_at", :null => false
224
+ t.datetime "updated_at", :null => false
225
+ t.integer "document_link_id"
226
+ t.integer "personal_folder_id"
227
+ end
228
+
229
+ add_index "droom_personal_documents", ["document_attachment_id"], :name => "index_droom_personal_documents_on_document_attachment_id"
230
+ add_index "droom_personal_documents", ["document_link_id"], :name => "index_droom_personal_documents_on_document_link_id"
231
+ add_index "droom_personal_documents", ["person_id"], :name => "index_droom_personal_documents_on_person_id"
232
+ add_index "droom_personal_documents", ["personal_folder_id"], :name => "index_droom_personal_documents_on_personal_folder_id"
233
+
234
+ create_table "droom_personal_folders", :force => true do |t|
235
+ t.integer "folder_id"
236
+ t.integer "person_id"
237
+ t.datetime "created_at", :null => false
238
+ t.datetime "updated_at", :null => false
239
+ end
240
+
241
+ create_table "droom_preferences", :force => true do |t|
242
+ t.integer "created_by_id"
243
+ t.string "key"
244
+ t.string "value"
245
+ t.datetime "created_at", :null => false
246
+ t.datetime "updated_at", :null => false
247
+ end
248
+
249
+ create_table "droom_recurrence_rules", :force => true do |t|
250
+ t.integer "event_id"
251
+ t.boolean "active", :default => false
252
+ t.string "period"
253
+ t.string "basis"
254
+ t.integer "interval", :default => 1
255
+ t.datetime "limiting_date"
256
+ t.integer "limiting_count"
257
+ t.integer "created_by_id"
258
+ t.datetime "created_at", :null => false
259
+ t.datetime "updated_at", :null => false
260
+ end
261
+
262
+ add_index "droom_recurrence_rules", ["event_id"], :name => "index_droom_recurrence_rules_on_event_id"
263
+
264
+ create_table "droom_taggings", :force => true do |t|
265
+ t.integer "tag_id"
266
+ t.integer "taggee_id"
267
+ t.string "taggee_type"
268
+ t.integer "created_by_id"
269
+ t.datetime "created_at", :null => false
270
+ t.datetime "updated_at", :null => false
271
+ end
272
+
273
+ create_table "droom_tags", :force => true do |t|
274
+ t.string "name"
275
+ t.integer "parent_id"
276
+ t.integer "created_by_id"
277
+ t.datetime "created_at", :null => false
278
+ t.datetime "updated_at", :null => false
279
+ end
280
+
281
+ create_table "droom_users", :force => true do |t|
282
+ t.string "name"
283
+ t.string "forename"
284
+ t.boolean "admin", :default => false
285
+ t.datetime "activated_at"
286
+ t.datetime "invited_at"
287
+ t.datetime "invited_by_id"
288
+ t.datetime "reminded_at"
289
+ t.string "email", :default => "", :null => false
290
+ t.string "encrypted_password", :default => "", :null => false
291
+ t.string "reset_password_token"
292
+ t.datetime "reset_password_sent_at"
293
+ t.datetime "remember_created_at"
294
+ t.integer "sign_in_count", :default => 0
295
+ t.datetime "current_sign_in_at"
296
+ t.datetime "last_sign_in_at"
297
+ t.string "current_sign_in_ip"
298
+ t.string "last_sign_in_ip"
299
+ t.string "authentication_token"
300
+ t.string "password_salt"
301
+ t.datetime "created_at", :null => false
302
+ t.datetime "updated_at", :null => false
303
+ end
304
+
305
+ add_index "droom_users", ["email"], :name => "index_droom_users_on_email", :unique => true
306
+ add_index "droom_users", ["reset_password_token"], :name => "index_droom_users_on_reset_password_token", :unique => true
307
+
308
+ create_table "droom_venues", :force => true do |t|
309
+ t.string "name"
310
+ t.text "description"
311
+ t.string "post_line1"
312
+ t.string "post_line2"
313
+ t.string "post_city"
314
+ t.string "post_region"
315
+ t.string "post_country"
316
+ t.string "post_code"
317
+ t.string "url"
318
+ t.decimal "lat", :precision => 15, :scale => 10
319
+ t.decimal "lng", :precision => 15, :scale => 10
320
+ t.boolean "prepend_article"
321
+ t.datetime "created_at", :null => false
322
+ t.datetime "updated_at", :null => false
323
+ end
324
+
325
+ add_index "droom_venues", ["lat", "lng"], :name => "index_droom_venues_on_lat_and_lng"
326
+
327
+ end