Skip to content

Add admin role / admin panel #321

@unsay

Description

@unsay

By adding an admin role, we can do away with the HTTP auth and improve the UX around administrative functions.

This may be superseded by using ActiveAdmin or the like.

Closed reference issues:

High level plan

  • Move existing /admin panel to /admin/legacy. See Migrate existing /admin panel to /admin/legacy #329
  • Setup ActiveAdmin v3 at /admin. See Add ActiveAdmin v3 #333
  • Upgrade ActiveAdmin to v4 beta (will require gem/asset pipeline changes)
    • The initial goal is minimal parity with legacy functionality. It doesn't have to be pretty or comprehensive, just functional
  • Add more robust admin coverage to new admin panel
    • This includes all the nice to have requests (linked above, plus others)

Legacy Admin sections

✅ Config

  • URL: /admin/config
  • What does it do? It has two checkboxes to manage the config of the current event
    1. Allow users to create new sessions for current event
    2. Display schedule to the public

✅ Sessions

  • URL: admin/sessions
  • What does it do? CRUD operations for sessions (delete allowed)

Markdown Contents

  • URL: /admin/markdown-contents
  • What does it do? CRUD operations for Markdown Content (no delete)
    • There's only 1 MarkdownContent record in prod, homepage-summary, which is shown in the sidebar on the main homepage.
    • This could probably just be hardcoded, and the model could be removed entirely.

✅ Events

  • URL: /admin/events
  • What does it do? Standard CRUD operations for events (no delete)

✅ Event Timeslots

  • URLs:
    • /admin/events/:event_id/timeslots for index
    • /admin/timeslots/:timeslot_id for create or edit
  • What does it do? CRUD operations for event timeslots (no delete)

✅ Event Rooms

  • URLs:
    • /admin/events/:event_id for index
    • /admin/events/:event_id/rooms for create or edit
  • What does it do?: CRUD operations for event rooms (no delete)

Presenters

  • URL: admin/presenters
  • What does it do? CRUD operations for presenters (no delete) PLUS export and export_all operations
    • export exports presenter emails for only the current event
    • export_all exports presenters emails for all events

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions