Skip to content
Robin Dunlop edited this page May 24, 2014 · 1 revision

Routes

These are the routes which are used for data gathering and presentation.

Initial Landing page:

/ - Redirects to the appropriate alternate page, in the correct language, depending on the user's state:

  • If they are not priviledged, shows the user their registration information
  • If they have any priviledges, it shows the judging summary menu, including links to whatever they are priviledged to
  • If they are not signed in, sends them to registrants_path, which redirects them to sign-in

Normal Registrant Pages

Registration Information:

/users/:id/regitstrants/:CRUD - Allows creation of new registrants, payment, and displaying of summary, etc.

Registrant Expenses:

/registrants/:registrant_id/registrant_expense_items - Allows creation/deletion of items the registrant wants to pay for

Standard Skill Routines:

/standard_skill_entries - Display a list of all of the available Standard Skill Entries

/registrants/:registrant_id/standard_skill_routines/:CRUD - Allows creation/management of entries for a Standard Skill Routine (currently unused)

Songs:

/registrants/:registrant_id/songs - lists music associated with events, and creation of new songs

/songs/:song_id/* - Paths to attach file to Song via Amazon S3

Payments:

/users/:user_id/payments - List Payments and Refunds that have been made against any registrant for this user

/payments/new - Start a new payment for this user

paymenst/create - Create the payment, from here, the user has to then go to paypal to pay for the item

/payments/notification - Paypal will call this endpoint to inform us of payment receipt. This updates our DB.

/payments/success - The page that the user is sent to upon successful completion of paypal payment.

/users/:id/payments - List all of the payments and refunds that are applied to my registrants

Info:

/registrants/all - List all of the registered Registrants, including ID, Name, Country

/registrants/empty_waiver - Display a Waiver of Liability without any information filled in

/registrants/:id/waiver - Display a waiver of liability with the registrant information already filled in.

/event_configuration/:id/logo - Displays the logo for the site, from the database.

/welcome/help - Feedback Form, and description of the "Additional Registrant Access" system

Normal Judge Pages

Judging Info:

/events/judging - Shows a summary of all judging events, and links to the various pages that are of interest

Payment Admin Pages

/payments/summary - lists all of the paymenst received/not-received as well as totals and links to drill down into details

/expense_items/:expense_item_id/details - Lists all of the entries which were paid/unpaid against the specified expense_item

Award Printing Pages

/registrant_groups/:CRUD - Allow creation of groups of Registrants, and then printing of their awards as a group. Useful when attempting to consolidate awards for teams.

/registrant_groups/:registrant_group_id/address_labels - A PDF page of mailing labels for each of the registrants in a registrant_group

/registant_groups/list - list all of the members of a registrant group, for distribution to team captains for verification.

Should have Combined Competitions access

Should have Award Labels access

======= No more inheritance above this line

Event Planner Pages

/events/summary - Display a summary of the number of registrants, and sign-ups per event

/event_categories/:id/sign_ups - Display a detailed list of everyone signed up for the Event Category (e.g. MUni Downhill - Beginner)

/events/:id/sign_ups - Display the sign-ups for all of the event_categories for an event

Race Official

/competitions/:id/lane_assignments/:CRUD - Allow management of Lane Assignments for a competition. For use when importing Track Racing Data from an E-Timer which shows only Lane Assignments.

Any 'Judge'

Any Judge can perform this? Add a role which is specific for this?

/judges/:judge_id/distance_attempts - Entry system for entry of distance attempts (for high/long jump).

/judges/:judge_id/scores - Main page where Judge can view/enter/update scores as they judge the event. /judges/:judge_id/competitors/:id/scores/new - create a new score entry for the competitor /judges/:judge_id/competitors/:id/scores/:id/edit - update a score entry for the competitor

/judges/:judge_id/street_scores/ - Allows Easy entry of paper-recorded Street Scores. Calculates results based on Competition Configuration.

Chief Judge Pages

All Event Planner Pages AND...

Competitor Sign-Up/Assignment Management

/competitions/:id/competitors / add - Show all of the Signed-up competitors, and allow easy management of turning those people into Competitors.

/competitions/:id/competitors/:CRUD - Manage Competitors in a Competition.

/competitions/:id/competitors/add_all - Add all Registrants (even those not signed up for this competition). Useful for NAUCC, when we have High/Long not-signed-up people.

/competitions/:id/competitors/delete_all - Remove all Competitors

/competitors/:id/members/:CRUD - Manage the members in a Competitor

Competitor Results Management

/printing/race_recording/blank - Print a blank Race Recording sheet, for filling out at various types of events

/printing/race_recording/instructions - Track & Field instructions

/printing/competitions/:id/announcer - Print the competitor list, including name and Club

Result Recording Sheets

/printing/competitions/:Id/heat_recording - Print the signed-up competitor list, in a format for recording Heat/Lane Assignments

/printing/competitions/:id/two_attempt_recording - Print the signed-up competitor list, in a format for recording 2 attempt times (Could be Start times, or finish times, depending on the event)

Result Data Entry

/users/:user_id/competitions/:id/import_results/* - Allow importing of results into a temporary staging table for review. Allows import of CSV and LIF formats. Also cross-references LaneAssignments if using LIF.

/users/:user_id/competitions/:id/import_results/data_entry - Easy to use form for entering a single piece of data at a time. For use when transcribing from printed sheets into the database.

/users/:user_id/competitions/:id/import_results/publish_to_competition - Create Any missing Competitors, and then create TimeResults or ExternalResults for a competition from the imported data.

Should have External Results Management here

/competitions/:id/time_results - Display and Manage Time Results which have been imported/entered. These results are ranked according to the Competition Rules.

/printing/competitions/:id/results - Print the competitors, and their resulting Placings for this competition. For use when posting.

Result Display

/competitions/:id/scores - Displays the Competition results, as well as the data supporting those results.

/competitions/:id/export_scores - Export the scores into a CSV for download. (Note: only works for High/Long and Freestyle)

/printing/events/:id/results - Print all of the Competitions, and their results. For use when posting.

/competitions/:id/time_results/final_candidates - List the best finishers for the given time results, for determining who is in the "Final" heat for a Competition, irrespective of Age Group.

Other

/competitions/:id/judges/* - Allows viewing and assigning roles for judges. (Race Official, Technical/Presentation). Allows copying judges from another Competition.

/competitions/:id/set_places - Manually call the Set Places routine (this should always be updated, and never be needed)

/competitions/:id/lock - Lock an event, no longer allowing changes to competitors/results

Admin Pages

All race Official Pages AND...

All Chief Judge Pages AND...

/songs/list - admin page which lists all songs for all users and allows downloading them

/age_group_types/:CRUD - Create an Age Group, which describes the way that a set of registrants will be split apart for competition purposes.

/age_group_entries/:CRUD - Manage Age Group ENtries in an Age Group Type. fields include min-age/max-age, Required Wheel Size, Gender, Description.

/standard_skill_routines/download_file - Download all of the configured standard skill routines into a .txt file (for import into UCP, I think)

/registrants/bag_labels - Prints a PDF of ID/Name/Country for sticking on Registration packets?

/registrants/email - Ability to send an E-mail to All Users, Unpaid Users, etc

/registrant/:id/undelete - Be able to undelete a registrant

/registrant/:id/reg_fee - Be Able to override the current registration period for a particular registrant (allow them to pay Early-Bird pricing)

/users/:id/award_labels/ - Allows Creation of Award Labels for any Reg/Group/Competition. Note: these results are stored by user.

All Abilities necessary to Create/Update/Modify Registrant data (name/address/events/expense_items/songs)

/competitions/:id/external_results - Display and Manage External Results which have been imported/entered. These results are pre-ranked and require no calculations.

Super Admin Pages

All Admin Pages AND...

Role Management

/permissions/index and /permissions/set_role - Lists and manages the assignment of roles to users within the system.

/event_configuration/test_mode_role - Allows users to easily change their permissions (for use when testing)

/judges/chief - display the chief judges assigned to each event

Competition Management

/combined_competitions/:CRUD /combined_competitions/:id/combined_competition_entries/:CRUD - Allow configuration of a Combined Competition (like Overall Track)

/combined_competitions/:id - Shows the results of the combined Competition (who is in first, etc).

/events/create_chief / destroy_chief - Allows creation of Chief Judge for an event

/events/competitions/new - Ability to create a new Competition, including the scoring and printing options. (complex rules about Experts/Age Groups/etc)

/competitions/:id/:RUD - Allow modification of a Competition, including sources etc. (same as Create action)

Competition Result Data Management

/competitions/:id/destroy_results - Remove all of the data used for creating these results. Useful when doing imports?

This should not be Super-Admin

/users/:user_id/competition/:competition_id/two_attempt_entries - Easy to use interface for Entering 2-attempt Time-Based Data. After this is entered and checked, it must be "Imported".

Payment Management

/payments/:CRUD - Ability to create an arbitrary payment (this page will be going away)

payments/fake_complete - TEST_MODE feature which allows us to pretend that we've received a response from Paypal.

/refunds/:id - view the details of a refund

/payment_adjustments/list - Show all Payments and Refunds

/payment_adjustments/* - Various pages for marking items as paid, or refunding items.

Basic Data-Setup Pages

/event_configurations/:CRUD - The Basic settings for the site, including Convention Name, Dates, and critical configuration option selections.

/expense_groups/:CRUD - CRUD of Expense Groups

/expense_items/:CRUD - CRUD of Expense Items, which can be included in a registration, free, paid for, limited, etc.

/registration_periods/:CRUD - CRUD of Registration Periods. Specify when the cost of registration increases, and the price for Competitors and Non-Competitors.

/categories/:CRUD - CRUD of Categories. Each Category contains a list of Events, and is used for logical/visual grouping/visual separation of events.

/events/:CRUD - CRUD of Events offered for competitors. includes event_category management.

/events/:event_id/event_categories - List and Create an Event Category. Allows specifying what the different major choices are available for a user to sign up for this event.

/events/:event_id/event_choices - List and Create an Event Choice. Allows specifying the additional details to be gathered when a user signs up for an event

/event_choices/:CRUD - Manage a specific Event Choice, includes specifying whether the choice is optional, or must have a value.

/event_categories/:CRUD - Manage a specific Event Category, includes specifying the range of registrants allowed to choose this event category.

Standard Skill Data

/standard_skill_entries/upload - Upload a set of Standard Skill Entries (for use by registrants when creating their routines)

Export data pages

/admin/export/index - list all export data routines

/admin/export/download_events.xls - Get all registrants and their signed up data in an Excel document.

/admin/export/download_payment_details - List all of the payment details for a given Expense Item (in Excel?)

/rails_admin - Attempt to refrain from using the shell by using rails_admin instead.

Registrant Printing Pages

/registrants/show_all.pdf - Generates all of the Registration Summaries into a single PDF, for printing.

Standard Skill Scoring routes (not-maintained):

                         ompetitor_standard_scores POST   (/:locale)/judges/:judge_id/competitors/:competitor_id/standard_scores(.:format)                           standard_scores#create
               new_judge_competitor_standard_score GET    (/:locale)/judges/:judge_id/competitors/:competitor_id/standard_scores/new(.:format)                       standard_scores#new
                             judge_standard_scores GET    (/:locale)/judges/:judge_id/standard_scores(.:format)                                                      standard_scores#index

NOT INTERESTING (and Devise-mostly):

                                       welcome_confirm GET    (/:locale)/welcome/confirm(.:format)                                                                       welcome#confirm
                                      new_user_session GET    (/:locale)/users/sign_in(.:format)                                                                         devise/sessions#new
                                          user_session POST   (/:locale)/users/sign_in(.:format)                                                                         devise/sessions#create
                                  destroy_user_session DELETE (/:locale)/users/sign_out(.:format)                                                                        devise/sessions#destroy
                                         user_password POST   (/:locale)/users/password(.:format)                                                                        devise/passwords#create
                                     new_user_password GET    (/:locale)/users/password/new(.:format)                                                                    devise/passwords#new
                                    edit_user_password GET    (/:locale)/users/password/edit(.:format)                                                                   devise/passwords#edit
                                                       PATCH  (/:locale)/users/password(.:format)                                                                        devise/passwords#update
                                                       PUT    (/:locale)/users/password(.:format)                                                                        devise/passwords#update
                              cancel_user_registration GET    (/:locale)/users/cancel(.:format)                                                                          registrations#cancel
                                     user_registration POST   (/:locale)/users(.:format)                                                                                 registrations#create
                                 new_user_registration GET    (/:locale)/users/sign_up(.:format)                                                                         registrations#new
                                edit_user_registration GET    (/:locale)/users/edit(.:format)                                                                            registrations#edit
                                                       PATCH  (/:locale)/users(.:format)                                                                                 registrations#update
                                                       PUT    (/:locale)/users(.:format)                                                                                 registrations#update
                                                       DELETE (/:locale)/users(.:format)                                                                                 registrations#destroy
                                     user_confirmation POST   (/:locale)/users/confirmation(.:format)                                                                    devise/confirmations#create
                                 new_user_confirmation GET    (/:locale)/users/confirmation/new(.:format)                                                                devise/confirmations#new
                                                       GET    (/:locale)/users/confirmation(.:format)                                                                    devise/confirmations#show
       invitations_user_additional_registrant_accesses GET    (/:locale)/users/:user_id/additional_registrant_accesses/invitations(.:format)                             additional_registrant_accesses#invitations
                   user_additional_registrant_accesses GET    (/:locale)/users/:user_id/additional_registrant_accesses(.:format)                                         additional_registrant_accesses#index
                                                       POST   (/:locale)/users/:user_id/additional_registrant_accesses(.:format)                                         additional_registrant_accesses#create
                 new_user_additional_registrant_access GET    (/:locale)/users/:user_id/additional_registrant_accesses/new(.:format)                                     additional_registrant_accesses#new
accept_readonly_additional_registrant_access PUT    (/:locale)/additional_registrant_accesses/:id/accept_readonly(.:format)                                    additional_registrant_accesses#accept_readonly
                  decline_additional_registrant_access DELETE (/:locale)/additional_registrant_accesses/:id/decline(.:format)                                            additional_