droom 0.4.3 → 0.5.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/app/assets/images/droom/admin_menu.png +0 -0
- data/app/assets/images/droom/applications_menu.png +0 -0
- data/app/assets/images/droom/arrows_small.png +0 -0
- data/app/assets/images/droom/config_menu.png +0 -0
- data/app/assets/images/droom/dropdown.png +0 -0
- data/app/assets/images/droom/menu/asterisk.png +0 -0
- data/app/assets/images/droom/{smalladd.png → menu/smalladd.png} +0 -0
- data/app/assets/images/droom/{small_asterisk.png → menu/smallasterisk.png} +0 -0
- data/app/assets/images/droom/{smalldelete.png → menu/smalldelete.png} +0 -0
- data/app/assets/images/droom/{smalldownload.png → menu/smalldownload.png} +0 -0
- data/app/assets/images/droom/{smalledit.png → menu/smalledit.png} +0 -0
- data/app/assets/images/droom/message.png +0 -0
- data/app/assets/images/droom/missing/scrap.jpg +0 -0
- data/app/assets/images/droom/missing/scrap.png +0 -0
- data/app/assets/images/droom/missing/thumb.png +0 -0
- data/app/assets/images/droom/missing/user.png +0 -0
- data/app/assets/images/droom/object_icons.png +0 -0
- data/app/assets/images/droom/panel/add.png +0 -0
- data/app/assets/images/droom/panel/edit.png +0 -0
- data/app/assets/images/droom/panel/manage.png +0 -0
- data/app/assets/images/droom/pointer_upwards.png +0 -0
- data/app/assets/images/droom/search_menu.png +0 -0
- data/app/assets/images/droom/setter.png +0 -0
- data/app/assets/images/droom/small_icons.png +0 -0
- data/app/assets/images/droom/stream/closer.png +0 -0
- data/app/assets/images/droom/stream/next.png +0 -0
- data/app/assets/images/droom/stream/prev.png +0 -0
- data/app/assets/images/droom/stream/previous.png +0 -0
- data/app/assets/images/droom/subscribe.png +0 -0
- data/app/assets/javascripts/droom.js.coffee +23 -13
- data/app/assets/javascripts/droom/actions.js.coffee +104 -10
- data/app/assets/javascripts/droom/ajax.js.coffee +36 -24
- data/app/assets/javascripts/droom/extensions.js.coffee +13 -0
- data/app/assets/javascripts/droom/lib/jquery.datepicker.js +1026 -0
- data/app/assets/javascripts/droom/lib/jquery.deserialize.js +142 -0
- data/app/assets/javascripts/droom/lib/jquery_ujs.js +416 -0
- data/app/assets/javascripts/droom/lib/swipe.js +568 -0
- data/app/assets/javascripts/droom/lib/underscore.js +1276 -0
- data/app/assets/javascripts/droom/popups.js.coffee +98 -37
- data/app/assets/javascripts/droom/stream.js.coffee +119 -77
- data/app/assets/javascripts/droom/utilities.js.coffee +25 -3
- data/app/assets/javascripts/droom/widgets.js.coffee +318 -253
- data/app/assets/stylesheets/droom.css.sass +482 -955
- data/app/assets/stylesheets/droom/_mixins.css.sass +12 -42
- data/app/assets/stylesheets/droom/_popups.css.sass +28 -11
- data/app/assets/stylesheets/droom/_stream.css.sass +375 -0
- data/app/assets/stylesheets/droom/_toolbar.css.sass +0 -6
- data/app/assets/stylesheets/droom/_variables.css.sass +4 -2
- data/app/controllers/droom/agenda_categories_controller.rb +6 -14
- data/app/controllers/droom/api/api_controller.rb +56 -0
- data/app/controllers/droom/api/events_controller.rb +74 -0
- data/app/controllers/droom/api/users_controller.rb +92 -0
- data/app/controllers/droom/api/venues_controller.rb +71 -0
- data/app/controllers/droom/calendars_controller.rb +4 -10
- data/app/controllers/droom/{user_confirmations_controller.rb → confirmations_controller.rb} +8 -7
- data/app/controllers/droom/dashboard_controller.rb +2 -19
- data/app/controllers/droom/documents_controller.rb +12 -60
- data/app/controllers/droom/dropbox_tokens_controller.rb +3 -4
- data/app/controllers/droom/engine_controller.rb +39 -11
- data/app/controllers/droom/events_controller.rb +62 -84
- data/app/controllers/droom/folders_controller.rb +30 -40
- data/app/controllers/droom/group_invitations_controller.rb +6 -23
- data/app/controllers/droom/group_permissions_controller.rb +26 -0
- data/app/controllers/droom/groups_controller.rb +10 -14
- data/app/controllers/droom/invitations_controller.rb +7 -25
- data/app/controllers/droom/memberships_controller.rb +13 -18
- data/app/controllers/droom/organisations_controller.rb +6 -25
- data/app/controllers/droom/permissions_controller.rb +50 -0
- data/app/controllers/droom/preferences_controller.rb +9 -10
- data/app/controllers/droom/scraps_controller.rb +23 -26
- data/app/controllers/droom/services_controller.rb +50 -0
- data/app/controllers/droom/suggestions_controller.rb +6 -4
- data/app/controllers/droom/users/confirmations_controller.rb +24 -0
- data/app/controllers/droom/users/passwords_controller.rb +39 -0
- data/app/controllers/droom/users/sessions_controller.rb +7 -0
- data/app/controllers/droom/users_controller.rb +60 -38
- data/app/controllers/droom/venues_controller.rb +8 -15
- data/app/controllers/droom/youtube_controller.rb +1 -1
- data/app/helpers/droom/droom_helper.rb +22 -17
- data/app/models/droom/ability.rb +81 -0
- data/app/models/droom/agenda_category.rb +0 -1
- data/app/models/droom/calendar.rb +12 -7
- data/app/models/droom/category.rb +4 -10
- data/app/models/droom/concerns/slugged.rb +21 -0
- data/app/models/droom/document.rb +15 -17
- data/app/models/droom/dropbox_document.rb +3 -6
- data/app/models/droom/dropbox_token.rb +2 -3
- data/app/models/droom/event.rb +117 -163
- data/app/models/droom/event_type.rb +25 -0
- data/app/models/droom/folder.rb +36 -48
- data/app/models/droom/group.rb +35 -27
- data/app/models/droom/group_invitation.rb +7 -10
- data/app/models/droom/group_permission.rb +29 -0
- data/app/models/droom/invitation.rb +14 -23
- data/app/models/droom/mailing_list_membership.rb +0 -1
- data/app/models/droom/membership.rb +32 -31
- data/app/models/droom/organisation.rb +6 -3
- data/app/models/droom/permission.rb +19 -0
- data/app/models/droom/personal_folder.rb +9 -21
- data/app/models/droom/preference.rb +1 -2
- data/app/models/droom/scrap.rb +31 -26
- data/app/models/droom/service.rb +31 -0
- data/app/models/droom/tag.rb +10 -9
- data/app/models/droom/tagging.rb +1 -1
- data/app/models/droom/user.rb +453 -130
- data/app/models/droom/user_permission.rb +8 -0
- data/app/models/droom/venue.rb +21 -32
- data/app/serializers/droom/user_serializer.rb +45 -0
- data/app/serializers/droom/venue_serializer.rb +5 -0
- data/app/views/droom/dashboard/_documents.html.haml +1 -1
- data/app/views/droom/dashboard/_folders.html.haml +1 -1
- data/app/views/droom/dashboard/_future_events.html.haml +10 -8
- data/app/views/droom/dashboard/_groups.html.haml +1 -1
- data/app/views/droom/dashboard/_past_events.haml +19 -12
- data/app/views/droom/dashboard/_stream.html.haml +2 -2
- data/app/views/droom/{users/_extra_columns.html.haml → dashboard/_welcome.html.haml} +0 -0
- data/app/views/droom/dashboard/index.html.haml +3 -0
- data/app/views/droom/documents/_document.html.haml +0 -2
- data/app/views/droom/documents/_documents.html.haml +1 -1
- data/app/views/droom/documents/_documents_list.html.haml +1 -1
- data/app/views/droom/documents/_documents_table.html.haml +1 -1
- data/app/views/droom/documents/_form.html.haml +8 -5
- data/app/views/droom/documents/_listing.html.haml +4 -2
- data/app/views/droom/documents/index.html.haml +13 -7
- data/app/views/droom/documents/new.html.haml +1 -4
- data/app/views/droom/events/_action_menu.html.haml +2 -2
- data/app/views/droom/events/_attachments.html.haml +8 -0
- data/app/views/droom/events/_calendar.html.haml +4 -8
- data/app/views/droom/events/_event.html.haml +44 -63
- data/app/views/droom/events/_event_line.html.haml +1 -1
- data/app/views/droom/events/_events.html.haml +18 -2
- data/app/views/droom/events/_form.html.haml +26 -19
- data/app/views/droom/events/_invitations.html.haml +7 -3
- data/app/views/droom/events/_scrap_events.html.haml +8 -0
- data/app/views/droom/events/_suggested.html.haml +4 -1
- data/app/views/droom/events/calendar.html.haml +8 -0
- data/app/views/droom/events/index.html.haml +24 -26
- data/app/views/droom/events/show.html.haml +6 -6
- data/app/views/droom/folders/_contents.html.haml +34 -4
- data/app/views/droom/folders/_folder.html.haml +7 -2
- data/app/views/droom/folders/_form.html.haml +11 -8
- data/app/views/droom/folders/index.html.haml +19 -22
- data/app/views/droom/group_invitations/_attending_groups.html.haml +1 -1
- data/app/views/droom/group_permissions/_toggle.html.haml +18 -0
- data/app/views/droom/groups/_action_menu.haml +0 -2
- data/app/views/droom/groups/_created.html.haml +0 -1
- data/app/views/droom/groups/_form.html.haml +3 -0
- data/app/views/droom/groups/_group.html.haml +10 -8
- data/app/views/droom/groups/_groups.html.haml +1 -1
- data/app/views/droom/groups/_search_result.html.haml +1 -1
- data/app/views/droom/groups/_suggested.html.haml +1 -1
- data/app/views/droom/groups/index.html.haml +15 -16
- data/app/views/droom/invitations/_form.html.haml +1 -1
- data/app/views/droom/invitations/_invitation.html.haml +1 -1
- data/app/views/droom/invitations/_invitations.html.haml +4 -4
- data/app/views/droom/memberships/_button.html.haml +5 -5
- data/app/views/droom/memberships/_form.html.haml +26 -7
- data/app/views/droom/memberships/_member.html.haml +1 -1
- data/app/views/droom/memberships/{_membership_toggle.html.haml → _toggle.html.haml} +4 -4
- data/app/views/droom/memberships/index.html.haml +9 -0
- data/app/views/droom/organisations/_action_menu.html.haml +1 -1
- data/app/views/droom/organisations/_organisation.html.haml +2 -2
- data/app/views/droom/organisations/_suggested.html.haml +1 -1
- data/app/views/droom/organisations/index.html.haml +11 -11
- data/app/views/droom/panels/_admin.html.haml +2 -2
- data/app/views/droom/panels/_configuration.html.haml +28 -0
- data/app/views/droom/panels/_devices.html.haml +2 -4
- data/app/views/droom/panels/_search.html.haml +9 -0
- data/app/views/droom/permissions/_action_menu.html.haml +10 -0
- data/app/views/droom/permissions/_created.html.haml +3 -0
- data/app/views/droom/permissions/_form.html.haml +17 -0
- data/app/views/droom/permissions/edit.html.haml +7 -0
- data/app/views/droom/permissions/new.html.haml +8 -0
- data/app/views/droom/permissions/show.html.haml +4 -0
- data/app/views/droom/preferences/_checkbox.html.haml +4 -2
- data/app/views/droom/scraps/_caption.html.haml +0 -2
- data/app/views/droom/scraps/_credit.html.haml +1 -1
- data/app/views/droom/scraps/_form.html.haml +68 -69
- data/app/views/droom/scraps/_preload.html.haml +4 -0
- data/app/views/droom/scraps/_stream.html.haml +11 -3
- data/app/views/droom/scraps/_thumb.html.haml +33 -1
- data/app/views/droom/scraps/edit.html.haml +6 -1
- data/app/views/droom/scraps/full/_document.html.haml +4 -3
- data/app/views/droom/scraps/full/_event.html.haml +17 -16
- data/app/views/droom/scraps/full/_image.html.haml +1 -2
- data/app/views/droom/scraps/full/_link.html.haml +4 -3
- data/app/views/droom/scraps/full/_quote.html.haml +4 -7
- data/app/views/droom/scraps/full/_text.html.haml +3 -2
- data/app/views/droom/scraps/full/_video.html.haml +2 -2
- data/app/views/droom/scraps/new.html.haml +6 -1
- data/app/views/droom/scraps/show.html.haml +4 -3
- data/app/views/droom/services/_action_menu.html.haml +12 -0
- data/app/views/droom/services/_created.html.haml +3 -0
- data/app/views/droom/services/_form.html.haml +18 -0
- data/app/views/droom/services/_services.html.haml +44 -0
- data/app/views/droom/services/edit.html.haml +7 -0
- data/app/views/droom/services/index.html.haml +5 -0
- data/app/views/droom/{people → services}/new.html.haml +4 -3
- data/app/views/droom/services/show.html.haml +4 -0
- data/app/views/droom/shared/_controls.html.haml +2 -2
- data/app/views/droom/shared/_navigation.html.haml +2 -2
- data/app/views/droom/shared/_toolbar.html.haml +1 -1
- data/app/views/droom/suggestions/index.html.haml +1 -0
- data/app/views/droom/users/_action_menu.html.haml +21 -0
- data/app/views/droom/users/_suggested.html.haml +14 -0
- data/app/views/droom/users/_user.html.haml +2 -2
- data/app/views/droom/users/_users.html.haml +7 -0
- data/app/views/droom/users/_users_table.html.haml +21 -22
- data/app/views/droom/users/admin.html.haml +10 -0
- data/app/views/droom/users/confirmations/_after_confirmation.html.haml +2 -0
- data/app/views/droom/users/confirmations/_password_required.html.haml +30 -0
- data/app/views/droom/users/confirmations/failure.en.html.haml +22 -0
- data/app/views/droom/users/confirmations/show.html.haml +13 -0
- data/app/views/droom/users/edit.html.haml +2 -10
- data/app/views/droom/users/edit/_details.html.haml +13 -0
- data/app/views/droom/users/edit/_memberships.html.haml +13 -0
- data/app/views/droom/users/edit/_password_fields.html.haml +16 -0
- data/app/views/droom/users/edit/_preferences.html.haml +37 -0
- data/app/views/droom/users/edit/_profile.html.haml +26 -0
- data/app/views/droom/users/edit/_user_fields.html.haml +66 -0
- data/app/views/droom/users/index.html.haml +6 -32
- data/app/views/droom/users/new.html.haml +3 -0
- data/app/views/droom/users/passwords/completed.html.haml +13 -0
- data/app/views/{devise → droom/users}/passwords/edit.html.haml +10 -4
- data/app/views/{devise → droom/users}/passwords/new.html.haml +4 -3
- data/app/views/droom/users/passwords/show.html.haml +6 -0
- data/app/views/droom/users/show.html.haml +2 -0
- data/app/views/droom/users/show/_listed.html.haml +46 -0
- data/app/views/droom/users/show/_profile.html.haml +33 -0
- data/app/views/droom/users/show/_tabled.html.haml +28 -0
- data/config/initializers/chronic.rb +2 -0
- data/config/initializers/devise.rb +35 -2
- data/config/initializers/paperclip.rb +11 -6
- data/config/locales/devise.en.yml +1 -1
- data/config/locales/en.yml +198 -103
- data/config/routes.rb +37 -45
- data/db/migrate/20130207123614_stream.rb +5 -1
- data/db/migrate/20130225095328_create_droom_calendars.rb +0 -1
- data/db/migrate/20130627065459_permissions.rb +34 -0
- data/db/migrate/20130627071938_users_take_over.rb +38 -0
- data/db/migrate/20130627073759_user_properties.rb +34 -0
- data/db/migrate/20130627080021_no_more_people.rb +11 -0
- data/db/migrate/20130701122935_directory_groups.rb +8 -0
- data/db/migrate/20130701123152_remove_old_access_control.rb +16 -0
- data/db/migrate/20130729102857_more_scrap_data.rb +12 -0
- data/db/migrate/20130904080340_international_names.rb +17 -0
- data/db/migrate/20130904080341_honours.rb +5 -0
- data/db/migrate/20131124082222_simple_addresses.rb +25 -0
- data/db/migrate/20131201093351_event_time_zone.rb +5 -0
- data/db/migrate/20131217060311_session_revocable.rb +5 -0
- data/db/migrate/20131219180311_event_types.rb +15 -0
- data/lib/devise/strategies/cookie_authenticatable.rb +46 -0
- data/lib/droom.rb +48 -33
- data/lib/droom/auth_cookie.rb +82 -0
- data/lib/droom/cropper.rb +24 -0
- data/lib/droom/engine.rb +20 -2
- data/lib/droom/folders.rb +6 -6
- data/lib/droom/lazy_hash.rb +11 -1
- data/lib/droom/monkeys.rb +6 -6
- data/lib/droom/taggability.rb +1 -1
- data/lib/droom/validators.rb +1 -1
- data/lib/droom/version.rb +1 -1
- data/lib/generators/droom/install/templates/droom_initializer.rb +10 -2
- data/lib/paperclip/geometry_transformation.rb +80 -0
- data/lib/paperclip/validators/attachment_height_validator.rb +89 -0
- data/lib/paperclip/validators/attachment_width_validator.rb +89 -0
- data/lib/paperclip_processors/offset_thumbnail.rb +85 -0
- data/spec/dummy/config/application.rb +0 -7
- data/spec/dummy/config/environments/development.rb +1 -10
- data/spec/dummy/config/environments/production.rb +1 -0
- data/spec/dummy/config/environments/test.rb +2 -7
- data/spec/dummy/db/migrate/20130130120631_folder_ancestry_to_parents.droom.rb +1 -1
- data/spec/dummy/db/migrate/20130724124758_dropbox_tokens.droom.rb +10 -0
- data/spec/dummy/db/migrate/20130724124759_preference_uuids.droom.rb +6 -0
- data/spec/dummy/db/migrate/20130724124760_stream.droom.rb +14 -0
- data/spec/dummy/db/migrate/20130724124761_access_token_secret.droom.rb +6 -0
- data/spec/dummy/db/migrate/20130724124762_person_image.droom.rb +10 -0
- data/spec/dummy/db/migrate/20130724124763_devise_confirmable.droom.rb +14 -0
- data/spec/dummy/db/migrate/20130724124764_create_droom_calendars.droom.rb +20 -0
- data/spec/dummy/db/migrate/20130724124765_give_scraps_document.droom.rb +6 -0
- data/spec/dummy/db/migrate/20130724124766_privateness.droom.rb +10 -0
- data/spec/dummy/db/migrate/20130724124767_store_metadata.droom.rb +6 -0
- data/spec/dummy/db/migrate/20130724124768_folders_nicely.droom.rb +7 -0
- data/spec/dummy/db/migrate/20130724124769_niceties.droom.rb +8 -0
- data/spec/dummy/db/migrate/20130724124770_create_droom_dropbox_documents.droom.rb +12 -0
- data/spec/dummy/db/migrate/20130724124771_dropbox_documents_changed.droom.rb +6 -0
- data/spec/dummy/db/migrate/20130724124772_user_titles.droom.rb +6 -0
- data/spec/dummy/db/migrate/20130724124773_permissions.droom.rb +35 -0
- data/spec/dummy/db/migrate/20130724124774_users_take_over.droom.rb +39 -0
- data/spec/dummy/db/migrate/20130724124775_user_properties.droom.rb +35 -0
- data/spec/dummy/db/migrate/20130724124776_no_more_people.droom.rb +12 -0
- data/spec/dummy/db/migrate/20130724124777_directory_groups.droom.rb +9 -0
- data/spec/dummy/db/migrate/20130724124778_remove_old_access_control.droom.rb +17 -0
- data/spec/dummy/db/schema.rb +217 -140
- data/spec/factories/documents.rb +0 -5
- data/spec/factories/events.rb +0 -9
- data/spec/factories/user.rb +4 -2
- data/spec/lib/droom/folders_spec.rb +8 -8
- data/spec/models/droom/document_spec.rb +6 -43
- data/spec/models/droom/event_spec.rb +0 -34
- data/spec/models/droom/mailing_list_membership_spec.rb +4 -4
- data/spec/models/droom/membership_spec.rb +2 -2
- data/spec/spec_helper.rb +1 -10
- metadata +322 -282
- data/app/assets/images/droom/Untitled-1.png +0 -0
- data/app/assets/images/droom/asterisk.png +0 -0
- data/app/assets/images/droom/smallmanage.png +0 -0
- data/app/assets/javascripts/droom/lib/kalendae.js +0 -1692
- data/app/assets/stylesheets/lib/_kalendae.css.sass +0 -139
- data/app/controllers/droom/pages_controller.rb +0 -61
- data/app/controllers/droom/people_controller.rb +0 -111
- data/app/models/droom/document_attachment.rb +0 -37
- data/app/models/droom/page.rb +0 -26
- data/app/models/droom/person.rb +0 -309
- data/app/models/droom/recurrence_rule.rb +0 -82
- data/app/models/droom/user_action_observer.rb +0 -12
- data/app/views/devise/confirmations/failure.en.html.haml +0 -20
- data/app/views/devise/confirmations/show.html.haml +0 -19
- data/app/views/droom/confirmations/show.html.haml +0 -40
- data/app/views/droom/documents/_document_line.html.haml +0 -2
- data/app/views/droom/events/_created.html.haml +0 -2
- data/app/views/droom/folders/_attachments.html.haml +0 -3
- data/app/views/droom/pages/_contents.html.haml +0 -10
- data/app/views/droom/pages/_form.html.haml +0 -36
- data/app/views/droom/pages/_full_page.html.haml +0 -17
- data/app/views/droom/pages/_page.html.haml +0 -5
- data/app/views/droom/pages/_pages.html.haml +0 -2
- data/app/views/droom/pages/admin.html.haml +0 -24
- data/app/views/droom/pages/edit.html.haml +0 -1
- data/app/views/droom/pages/index.html.haml +0 -10
- data/app/views/droom/pages/new.html.haml +0 -4
- data/app/views/droom/pages/show.html.haml +0 -5
- data/app/views/droom/panels/_account.html.haml +0 -16
- data/app/views/droom/panels/_readers.html.haml +0 -18
- data/app/views/droom/panels/_suggestions.html.haml +0 -15
- data/app/views/droom/people/_action_menu.html.haml +0 -22
- data/app/views/droom/people/_created.html.haml +0 -6
- data/app/views/droom/people/_form.html.haml +0 -66
- data/app/views/droom/people/_listing.html.haml +0 -19
- data/app/views/droom/people/_memberships.html.haml +0 -24
- data/app/views/droom/people/_people.html.haml +0 -5
- data/app/views/droom/people/_person.html.haml +0 -32
- data/app/views/droom/people/_search_result.html.haml +0 -14
- data/app/views/droom/people/_suggested.html.haml +0 -14
- data/app/views/droom/people/edit.html.haml +0 -9
- data/app/views/droom/people/index.html.haml +0 -8
- data/app/views/droom/people/show.html.haml +0 -31
- data/app/views/droom/scraps/_heading.html.haml +0 -16
- data/app/views/droom/scraps/thumbs/_document.html.haml +0 -9
- data/app/views/droom/scraps/thumbs/_event.html.haml +0 -17
- data/app/views/droom/scraps/thumbs/_image.html.haml +0 -6
- data/app/views/droom/scraps/thumbs/_link.html.haml +0 -10
- data/app/views/droom/scraps/thumbs/_quote.html.haml +0 -8
- data/app/views/droom/scraps/thumbs/_text.html.haml +0 -8
- data/app/views/droom/scraps/thumbs/_video.html.haml +0 -6
- data/app/views/droom/users/_extra_columns_header.html.haml +0 -0
- data/app/views/droom/users/_extra_columns_note.html.haml +0 -0
- data/app/views/droom/users/_form.html.haml +0 -14
- data/app/views/droom/users/_password_fields.html.haml +0 -15
- data/app/views/droom/users/_user_or_person.html.haml +0 -72
- data/app/views/kaminari/_paginator.html.haml +0 -16
- data/lib/droom/dav_resource.rb +0 -36
- data/lib/droom/model_helpers.rb +0 -25
- data/lib/droom/routing.rb +0 -13
- data/spec/datasets/calendar_events_dataset.rb +0 -44
- data/spec/datasets/calendar_pages_dataset.rb +0 -8
- data/spec/datasets/calendar_sites_dataset.rb +0 -6
- data/spec/datasets/calendars_dataset.rb +0 -34
- data/spec/datasets/documents_dataset.rb +0 -28
- data/spec/datasets/recurrence_dataset.rb +0 -7
- data/spec/dummy/config/sunspot.yml +0 -17
- data/spec/dummy/log/dav.log +0 -1
- data/spec/dummy/log/development.log +0 -2
- data/spec/dummy/log/test.log +0 -1
- data/spec/dummy/solr/conf/admin-extra.html +0 -31
- data/spec/dummy/solr/conf/elevate.xml +0 -36
- data/spec/dummy/solr/conf/mapping-ISOLatin1Accent.txt +0 -246
- data/spec/dummy/solr/conf/protwords.txt +0 -21
- data/spec/dummy/solr/conf/schema.xml +0 -238
- data/spec/dummy/solr/conf/scripts.conf +0 -24
- data/spec/dummy/solr/conf/solrconfig.xml +0 -934
- data/spec/dummy/solr/conf/spellings.txt +0 -2
- data/spec/dummy/solr/conf/stopwords.txt +0 -58
- data/spec/dummy/solr/conf/synonyms.txt +0 -31
- data/spec/dummy/solr/data/development/index/segments.gen +0 -0
- data/spec/dummy/solr/data/development/index/segments_1 +0 -0
- data/spec/dummy/solr/data/development/spellchecker/segments.gen +0 -0
- data/spec/dummy/solr/data/development/spellchecker/segments_1 +0 -0
- data/spec/dummy/solr/data/test/index/segments.gen +0 -0
- data/spec/dummy/solr/data/test/index/segments_3nu +0 -0
- data/spec/dummy/solr/data/test/spellchecker/segments.gen +0 -0
- data/spec/dummy/solr/data/test/spellchecker/segments_1 +0 -0
- data/spec/factories/recurrence_rules.rb +0 -25
- data/spec/models/droom/person_spec.rb +0 -72
- data/spec/models/droom/recurrence_rule_spec.rb +0 -81
@@ -18,14 +18,8 @@
|
|
18
18
|
header
|
19
19
|
display: block
|
20
20
|
float: left
|
21
|
-
background: #eee
|
22
21
|
position: relative
|
23
22
|
z-index: 1
|
24
|
-
background-image: linear-gradient(bottom, rgb(238, 238, 238) 0%, rgb(255, 255, 255) 100%)
|
25
|
-
background-image: -o-linear-gradient(bottom, rgb(238, 238, 238) 0%, rgb(255, 255, 255) 100%)
|
26
|
-
background-image: -moz-linear-gradient(bottom, rgb(238, 238, 238) 0%, rgb(255, 255, 255) 100%)
|
27
|
-
background-image: -webkit-linear-gradient(bottom, rgb(238, 238, 238) 0%, rgb(255, 255, 255) 100%)
|
28
|
-
background-image: -ms-linear-gradient(bottom, rgb(238, 238, 238) 0%, rgb(255, 255, 255) 100%)
|
29
23
|
font-size: 0
|
30
24
|
|
31
25
|
.commands
|
@@ -1,3 +1,4 @@
|
|
1
|
+
$coolgrey00: #f7f5f3
|
1
2
|
$coolgrey0: #f2f0ed
|
2
3
|
$coolgrey1: #e2e1dd
|
3
4
|
$coolgrey2: #d6d6d4
|
@@ -12,9 +13,10 @@ $coolgrey10: #616265
|
|
12
13
|
$coolgrey11: #4d4e53
|
13
14
|
$black6: #52555f
|
14
15
|
$rubine: #d1005d
|
15
|
-
$blue: #
|
16
|
+
$blue: #2c91c9
|
16
17
|
$green: #74b87a
|
17
18
|
$warmred: #ff625b
|
19
|
+
$reddish: #d34a4a
|
18
20
|
$darkred: #b92a23
|
19
21
|
$purple: #a27ec3
|
20
22
|
$red: #ed1c24
|
@@ -28,7 +30,7 @@ $palest: #f2f0ed !default
|
|
28
30
|
$page: #ffffff
|
29
31
|
$text: $dark
|
30
32
|
$link: $red
|
31
|
-
$hover: $
|
33
|
+
$hover: $reddish
|
32
34
|
$active: #8c8d8e
|
33
35
|
$visited: $link
|
34
36
|
$input: $dark
|
@@ -2,23 +2,15 @@ module Droom
|
|
2
2
|
class AgendaCategoriesController < Droom::EngineController
|
3
3
|
respond_to :html, :js
|
4
4
|
layout :no_layout_if_pjax
|
5
|
-
before_filter :get_event
|
6
|
-
before_filter :get_agenda_category, :only => [:destroy, :edit, :update]
|
7
|
-
before_filter :build_agenda_category, :only => [:new, :create]
|
8
5
|
|
9
|
-
|
10
|
-
|
11
|
-
def get_event
|
12
|
-
@event = Droom::Event.find(params[:event_id])
|
13
|
-
end
|
6
|
+
load_and_authorize_resource :event
|
7
|
+
load_and_authorize_resource :agenda_category, :through => :event
|
14
8
|
|
15
|
-
|
16
|
-
|
9
|
+
protected
|
10
|
+
|
11
|
+
def agenda_category_parameters
|
12
|
+
params.require(:agenda_category).permit(:event_id, :category_id)
|
17
13
|
end
|
18
14
|
|
19
|
-
def build_agenda_category
|
20
|
-
@agenda_category = @event.agenda_categories.build(params[:agenda_category])
|
21
|
-
end
|
22
|
-
|
23
15
|
end
|
24
16
|
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module Droom::Api
|
2
|
+
class ApiController < Droom::EngineController
|
3
|
+
|
4
|
+
respond_to :json
|
5
|
+
before_filter :set_access_control_headers
|
6
|
+
skip_before_filter :authenticate_user!
|
7
|
+
skip_before_filter :require_data_room_permission
|
8
|
+
skip_before_action :verify_authenticity_token
|
9
|
+
|
10
|
+
rescue_from "ActiveRecord::RecordNotFound", with: :not_found
|
11
|
+
rescue_from "Droom::Error", with: :blew_up
|
12
|
+
|
13
|
+
def current_ability
|
14
|
+
@current_ability ||= Droom::Ability.new(current_user)
|
15
|
+
end
|
16
|
+
|
17
|
+
protected
|
18
|
+
|
19
|
+
def assert_local_request
|
20
|
+
raise CanCan::AccessDenied if (Rails.env.production? || Rails.env.staging?) && (request.host != 'localhost' || request.port != Settings.api_port)
|
21
|
+
end
|
22
|
+
|
23
|
+
def not_found(exception)
|
24
|
+
render json: { errors: exception.message }.to_json, status: :not_found
|
25
|
+
end
|
26
|
+
|
27
|
+
def not_allowed(exception)
|
28
|
+
render json: { errors: "You do not have permission to access that resource" }.to_json, status: :forbidden
|
29
|
+
end
|
30
|
+
|
31
|
+
def blew_up(exception)
|
32
|
+
render json: { errors: exception.message }.to_json, status: :internal_server_error
|
33
|
+
end
|
34
|
+
|
35
|
+
def echo_auth
|
36
|
+
Rails.logger.warn "??? token_and_options: #{ActionController::HttpAuthentication::Token.token_and_options(request).inspect}"
|
37
|
+
Rails.logger.warn " token auth header is #{request.headers["HTTP_AUTHORIZATION"]}"
|
38
|
+
end
|
39
|
+
|
40
|
+
def echo_user_status
|
41
|
+
Rails.logger.warn ">>> user_signed_in? is #{user_signed_in?.inspect}"
|
42
|
+
if user_signed_in?
|
43
|
+
Rails.logger.warn " current_user is #{current_user.inspect}"
|
44
|
+
Rails.logger.warn " permissions: is #{current_user.permission_codes.inspect}"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def name_from_controller
|
49
|
+
params[:controller].sub("Controller", "").underscore.split('/').last
|
50
|
+
end
|
51
|
+
|
52
|
+
def api_controller?
|
53
|
+
true
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
module Droom::Api
|
2
|
+
class EventsController < Droom::Api::ApiController
|
3
|
+
|
4
|
+
before_filter :get_events, only: [:index]
|
5
|
+
before_filter :find_or_create_event, only: [:create]
|
6
|
+
load_and_authorize_resource find_by: :uuid, class: "Droom::Event"
|
7
|
+
|
8
|
+
def index
|
9
|
+
render json: @events
|
10
|
+
end
|
11
|
+
|
12
|
+
def show
|
13
|
+
render json: @event
|
14
|
+
end
|
15
|
+
|
16
|
+
def update
|
17
|
+
@event.update_attributes(event_params)
|
18
|
+
render json: @event
|
19
|
+
end
|
20
|
+
|
21
|
+
def create
|
22
|
+
if @event && @event.persisted?
|
23
|
+
render json: @event
|
24
|
+
else
|
25
|
+
render json: {
|
26
|
+
errors: @event.errors.to_a
|
27
|
+
}
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def destroy
|
32
|
+
@event.destroy
|
33
|
+
head :ok
|
34
|
+
end
|
35
|
+
|
36
|
+
protected
|
37
|
+
|
38
|
+
def find_or_create_event
|
39
|
+
if params[:event]
|
40
|
+
if params[:event][:uid].present?
|
41
|
+
@event = Droom::User.where(uid: params[:event][:uid]).first
|
42
|
+
end
|
43
|
+
if params[:event][:email].present?
|
44
|
+
@event ||= Droom::User.where(email: params[:event][:email]).first
|
45
|
+
end
|
46
|
+
end
|
47
|
+
@event ||= Droom::User.create(event_params)
|
48
|
+
end
|
49
|
+
|
50
|
+
def get_events
|
51
|
+
events = Droom::User.in_name_order
|
52
|
+
|
53
|
+
if params[:q].present?
|
54
|
+
@fragments = params[:q].split(/\s+/)
|
55
|
+
@fragments.each { |frag| events = events.matching(frag) }
|
56
|
+
end
|
57
|
+
|
58
|
+
@events = events
|
59
|
+
|
60
|
+
# @show = params[:show] || 20
|
61
|
+
# @page = params[:page] || 1
|
62
|
+
# if @show == 'all'
|
63
|
+
# @events = events
|
64
|
+
# else
|
65
|
+
# @events = events.page(@page).per(@show)
|
66
|
+
# end
|
67
|
+
end
|
68
|
+
|
69
|
+
def event_params
|
70
|
+
params.require(:event).permit(:name, :description, :event_set_id, :calendar_id, :all_day, :url, :start, :finish, :timezone, :venue_id, :venue_name)
|
71
|
+
end
|
72
|
+
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
module Droom::Api
|
2
|
+
class UsersController < Droom::Api::ApiController
|
3
|
+
|
4
|
+
before_filter :assert_local_request
|
5
|
+
|
6
|
+
before_filter :get_users, only: [:index]
|
7
|
+
before_filter :find_or_create_user, only: [:create]
|
8
|
+
load_resource find_by: :uid, class: "Droom::User"
|
9
|
+
|
10
|
+
def index
|
11
|
+
render json: @users
|
12
|
+
end
|
13
|
+
|
14
|
+
def show
|
15
|
+
render json: @user
|
16
|
+
end
|
17
|
+
|
18
|
+
# This is a almost always a preliminary call at the initial auth stage,
|
19
|
+
# so the client is not yet setting auth headers. We look for a token in params too.
|
20
|
+
#
|
21
|
+
def authenticate
|
22
|
+
token = params[:tok]
|
23
|
+
if @user = Droom::User.find_by(authentication_token: token)
|
24
|
+
render json: @user
|
25
|
+
else
|
26
|
+
head :unauthorized
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
# deauth is used to achieve single-sign-out. It changes the auth token and session id
|
31
|
+
# so that neither the data room session cookie nor the domain auth cookie can identify a user.
|
32
|
+
#
|
33
|
+
def deauthenticate
|
34
|
+
token = params[:tok]
|
35
|
+
if @user = Droom::User.find_by(authentication_token: token)
|
36
|
+
@user.clear_session_id!
|
37
|
+
@user.reset_authentication_token!
|
38
|
+
render json: @user
|
39
|
+
else
|
40
|
+
head :unauthorized
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def update
|
45
|
+
@user.update_attributes(user_params)
|
46
|
+
render json: @user
|
47
|
+
end
|
48
|
+
|
49
|
+
def create
|
50
|
+
if @user && @user.persisted?
|
51
|
+
render json: @user
|
52
|
+
else
|
53
|
+
render json: { errors: @user.errors.to_a }
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def destroy
|
58
|
+
@user.destroy
|
59
|
+
head :ok
|
60
|
+
end
|
61
|
+
|
62
|
+
protected
|
63
|
+
|
64
|
+
def find_or_create_user
|
65
|
+
if params[:user]
|
66
|
+
if params[:user][:uid].present?
|
67
|
+
@user = Droom::User.where(uid: params[:user][:uid]).first
|
68
|
+
end
|
69
|
+
if params[:user][:email].present?
|
70
|
+
@user ||= Droom::User.where(email: params[:user][:email]).first
|
71
|
+
end
|
72
|
+
end
|
73
|
+
params = user_params
|
74
|
+
@user ||= Droom::User.create(user_params)
|
75
|
+
end
|
76
|
+
|
77
|
+
def get_users
|
78
|
+
@users = Droom::User.in_name_order
|
79
|
+
@users = @users.where(person_uid: params[:person_uid]) if params[:person_uid].present?
|
80
|
+
@users = @users.matching_in_col(:family_name, params[:name_q]) if params[:name_q].present?
|
81
|
+
@users = @users.matching_in_col(:email, params[:email_q]) if params[:email_q].present?
|
82
|
+
@users = @users.matching(params[:q]) if params[:q].present?
|
83
|
+
@users = @users.limit(params[:limit]) if params[:limit].present?
|
84
|
+
@users
|
85
|
+
end
|
86
|
+
|
87
|
+
def user_params
|
88
|
+
params.require(:user).permit(:uid, :person_uid, :title, :family_name, :given_name, :chinese_name, :honours, :email, :phone, :description, :address, :post_code, :country_code, :mobile, :organisation_id, :female, :defer_confirmation, :send_confirmation, :password, :password_confirmation, :confirmed, :confirmed_at, :image)
|
89
|
+
end
|
90
|
+
|
91
|
+
end
|
92
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
module Droom::Api
|
2
|
+
class VenuesController < Droom::Api::ApiController
|
3
|
+
before_filter :get_venues, only: [:index]
|
4
|
+
before_filter :find_or_create_venue, only: [:create]
|
5
|
+
load_resource find_by: :slug, class: "Droom::Venue"
|
6
|
+
# after_filter :set_pagination_headers, only: [:index]
|
7
|
+
|
8
|
+
def index
|
9
|
+
render json: @venues
|
10
|
+
end
|
11
|
+
|
12
|
+
def show
|
13
|
+
render json: @venue
|
14
|
+
end
|
15
|
+
|
16
|
+
def update
|
17
|
+
@venue.update_attributes(venue_params)
|
18
|
+
render json: @venue
|
19
|
+
end
|
20
|
+
|
21
|
+
def create
|
22
|
+
render json: @venue
|
23
|
+
end
|
24
|
+
|
25
|
+
def destroy
|
26
|
+
@venue.destroy
|
27
|
+
head :ok
|
28
|
+
end
|
29
|
+
|
30
|
+
protected
|
31
|
+
|
32
|
+
def find_or_create_venue
|
33
|
+
if params[:venue]
|
34
|
+
if params[:venue][:slug].present?
|
35
|
+
@venue = Droom::Venue.where(slug: params[:venue][:slug]).first
|
36
|
+
end
|
37
|
+
if params[:venue][:name].present?
|
38
|
+
@venue ||= Droom::Venue.where(name: params[:venue][:name]).first
|
39
|
+
end
|
40
|
+
end
|
41
|
+
@venue ||= Droom::Venue.create(venue_params)
|
42
|
+
end
|
43
|
+
|
44
|
+
def build_venue
|
45
|
+
@venue = Droom::Venue.new
|
46
|
+
end
|
47
|
+
|
48
|
+
def get_venues
|
49
|
+
venues = Droom::Venue.in_name_order
|
50
|
+
|
51
|
+
if params[:q].present?
|
52
|
+
@fragments = params[:q].split(/\s+/)
|
53
|
+
@fragments.each { |frag| venues = venues.matching(frag) }
|
54
|
+
end
|
55
|
+
@venues = venues
|
56
|
+
|
57
|
+
# @show = params[:show] || 20
|
58
|
+
# @page = params[:page] || 1
|
59
|
+
# if @show == 'all'
|
60
|
+
# @venues = venues
|
61
|
+
# else
|
62
|
+
# @venues = venues.page(@page).per(@show)
|
63
|
+
# end
|
64
|
+
end
|
65
|
+
|
66
|
+
def venue_params
|
67
|
+
params.require(:venue).permit(:name, :lat, :lng, :address, :post_code, :country_code)
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
71
|
+
end
|
@@ -3,10 +3,7 @@ module Droom
|
|
3
3
|
respond_to :html, :json, :rss, :ics
|
4
4
|
layout :no_layout_if_pjax
|
5
5
|
|
6
|
-
|
7
|
-
before_filter :get_calendar, :only => :show
|
8
|
-
before_filter :get_calendars, :only => :index
|
9
|
-
before_filter :require_admin!, :except => :show
|
6
|
+
load_and_authorize_resource
|
10
7
|
|
11
8
|
def show
|
12
9
|
respond_with @calendar
|
@@ -17,13 +14,10 @@ module Droom
|
|
17
14
|
end
|
18
15
|
|
19
16
|
protected
|
20
|
-
|
21
|
-
def
|
22
|
-
|
17
|
+
|
18
|
+
def calendar_parameters
|
19
|
+
params.require(:calendar).permit(:events_private, :documents_private)
|
23
20
|
end
|
24
21
|
|
25
|
-
def get_calendar
|
26
|
-
@calendar = Droom::Calendar.find(params[:id])
|
27
|
-
end
|
28
22
|
end
|
29
23
|
end
|
@@ -1,13 +1,16 @@
|
|
1
1
|
module Droom
|
2
|
-
class
|
2
|
+
class ConfirmationsController < Devise::ConfirmationsController
|
3
3
|
|
4
4
|
# If user not yet confirmed, show password form (rather than just confirming, as is normal)
|
5
5
|
# If already confirmed, allow devise to do whatever a devise does.
|
6
6
|
#
|
7
7
|
def show
|
8
|
-
if self.resource = resource_class.
|
9
|
-
|
10
|
-
|
8
|
+
if self.resource = resource_class.confirm_by_token(params[:confirmation_token])
|
9
|
+
if resource.confirmed?
|
10
|
+
redirect_to after_sign_in_path_for(resource)
|
11
|
+
else
|
12
|
+
render
|
13
|
+
end
|
11
14
|
elsif user_signed_in?
|
12
15
|
redirect_to after_sign_in_path_for(current_user)
|
13
16
|
else
|
@@ -46,9 +49,7 @@ module Droom
|
|
46
49
|
protected
|
47
50
|
|
48
51
|
def permitted_params
|
49
|
-
params
|
50
|
-
# for rails 4
|
51
|
-
#params.require(:user).permit(:first_name, :last_name, :password, :password_confirmation)
|
52
|
+
params.require(:user).permit(:family_name, :given_name, :chinese_name, :password, :password_confirmation)
|
52
53
|
end
|
53
54
|
|
54
55
|
end
|
@@ -1,29 +1,12 @@
|
|
1
1
|
module Droom
|
2
2
|
class DashboardController < Droom::EngineController
|
3
3
|
respond_to :html, :js
|
4
|
-
layout :
|
5
|
-
|
6
|
-
before_filter :authenticate_user!
|
4
|
+
layout :no_layout_if_pjax
|
5
|
+
skip_authorization_check
|
7
6
|
|
8
7
|
def index
|
9
|
-
@panel = session[:panel] || "search"
|
10
|
-
session[:panel] = nil
|
11
|
-
render
|
12
|
-
end
|
13
|
-
|
14
|
-
def page
|
15
8
|
|
16
9
|
end
|
17
10
|
|
18
|
-
protected
|
19
|
-
|
20
|
-
def normal_unless_pjax
|
21
|
-
if request.headers['X-PJAX']
|
22
|
-
false
|
23
|
-
else
|
24
|
-
Droom.layout
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
11
|
end
|
29
12
|
end
|