[openstreetmap/openstreetmap-website] Add microcosms to the website (#2390)

Brian DeRocher notifications at github.com
Sun Oct 13 17:04:56 UTC 2019


Microcosms is a feature to support (local) groups of mappers and the events they participate in.

All of this code is tested using cucumber.  To test run bundle install; bundle exec rake cucumber.
You can view, comment on, or merge this pull request online at:

  https://github.com/openstreetmap/openstreetmap-website/pull/2390

-- Commit Summary --

  * add cucumber-rails and generate the installation
  * Add microcosm model and controller.
  * regular users should not be able to edit the microcosm
  * move method
  * Add a list of all microcosms.
  * Allow user to join microcosm.  Use friendly_id instead of show_by_key.  Replace microcosm.key with microcosm.slug.
  * Replace singular links with a list of links.
  * Users may join microcosms multiple times, but only once per role.
  * reorder
  * add location to microcosm
  * Administrators can create and edit microcosms.
  * remove useless step definition
  * move "new" link to the header
  * Organizers can edit their microcosms.  Admin can promote members to organizers (first admin).
  * Add events.
  * row layout
  * make event form like user account form
  * Promote users from the microcosm members page, not the microcosm page, so we can display users better.
  * Put members on cards
  * Create show_events page and put link to "new event" over there.  Join button is available to non-signed in users which should redirect to login.
  * User can rsvp
  * Allow user to cancel their intention to attend an event.
  * Not all members are organizers
  * Add attendees of an event, reformat some dates
  * Add links to microcosm
  * Add diary entries of members of the microcosm
  * Add sample map of location for event.
  * Add sample directions
  * Allow :role field for microcosm_member form submission.  Gets the last test passing.
  * Enable organizer to promote a member.
  * Add Design.md.

-- File Changes --

    A Design.md (1)
    M Gemfile (6)
    M Gemfile.lock (37)
    M app/abilities/ability.rb (9)
    A app/assets/images/dc_library.png (0)
    A app/assets/images/microcosm_dc.png (0)
    A app/assets/javascripts/event_attendances.coffee (3)
    A app/assets/javascripts/events.coffee (3)
    A app/assets/javascripts/microcosm_member.coffee (3)
    A app/assets/javascripts/microcosms.coffee (3)
    A app/assets/stylesheets/event_attendances.scss (3)
    A app/assets/stylesheets/events.scss (3)
    A app/assets/stylesheets/microcosm_member.scss (3)
    A app/assets/stylesheets/microcosms.scss (3)
    M app/controllers/application_controller.rb (1)
    A app/controllers/event_attendances_controller.rb (48)
    A app/controllers/events_controller.rb (57)
    A app/controllers/microcosm_member_controller.rb (39)
    A app/controllers/microcosms_controller.rb (61)
    A app/helpers/event_attendances_helper.rb (2)
    A app/helpers/events_helper.rb (2)
    A app/helpers/microcosm_member_helper.rb (2)
    A app/helpers/microcosms_helper.rb (2)
    A app/models/application_record.rb (4)
    A app/models/event.rb (22)
    A app/models/event_attendance.rb (16)
    A app/models/microcosm.rb (43)
    A app/models/microcosm_link.rb (15)
    A app/models/microcosm_member.rb (30)
    A app/views/events/_form.html.erb (46)
    A app/views/events/edit.html.erb (0)
    A app/views/events/index.html.erb (32)
    A app/views/events/new.html.erb (3)
    A app/views/events/show.html.erb (76)
    M app/views/layouts/_header.html.erb (1)
    A app/views/microcosm_member/_form.html.erb (20)
    A app/views/microcosm_member/edit.html.erb (3)
    A app/views/microcosms/_form.html.erb (70)
    A app/views/microcosms/edit.html.erb (3)
    A app/views/microcosms/index.html.erb (28)
    A app/views/microcosms/new.html.erb (5)
    A app/views/microcosms/show.html.erb (115)
    A app/views/microcosms/show_events.html.erb (21)
    A app/views/microcosms/show_members.html.erb (25)
    A config/cucumber.yml (9)
    A config/initializers/friendly_id.rb (107)
    M config/locales/en.yml (9)
    M config/routes.rb (8)
    A db/migrate/20190826032448_create_microcosms.rb (13)
    A db/migrate/20190831122812_create_microcosm_members.rb (11)
    A db/migrate/20190901143302_create_friendly_id_slugs.rb (21)
    A db/migrate/20190901151436_add_slug_to_microcosms.rb (19)
    A db/migrate/20190901163613_remove_key_from_microsoms.rb (5)
    A db/migrate/20190902200639_create_microcosm_links.rb (11)
    A db/migrate/20190902234710_remove_facebook_and_twitter_from_microsoms.rb (6)
    A db/migrate/20190903023243_role_in_microcosm_should_be_unique.rb (14)
    A db/migrate/20190903030453_add_location_to_microcosms.rb (11)
    A db/migrate/20190905160802_create_events.rb (13)
    A db/migrate/20190905224243_create_event_attendances.rb (11)
    M db/structure.sql (391)
    A features/admin.feature (36)
    A features/member.feature (27)
    A features/organizer.feature (49)
    A features/step_definitions/.gitkeep (0)
    A features/step_definitions/about_spec.rb (175)
    A features/support/env.rb (61)
    A features/visitor_about.feature (53)
    A lib/tasks/cucumber.rake (76)
    A script/cucumber (11)
    A test/controllers/event_attendances_controller_test.rb (7)
    A test/controllers/events_controller_test.rb (7)
    A test/controllers/microcosm_member_controller_test.rb (7)
    A test/controllers/microcosms_controller_test.rb (7)
    A test/factories/event_attendances.rb (7)
    A test/factories/events.rb (9)
    A test/factories/microcosm_links.rb (7)
    A test/factories/microcosm_members.rb (7)
    A test/factories/microcosms.rb (9)
    A test/models/event_attendance_test.rb (7)
    A test/models/event_test.rb (7)
    A test/models/microcosm_link_test.rb (7)
    A test/models/microcosm_member_test.rb (7)
    A test/models/microcosm_test.rb (7)

-- Patch Links --

https://github.com/openstreetmap/openstreetmap-website/pull/2390.patch
https://github.com/openstreetmap/openstreetmap-website/pull/2390.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/pull/2390
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/rails-dev/attachments/20191013/ab6db842/attachment.html>


More information about the rails-dev mailing list