chiditarod / dogtag Goto Github PK
View Code? Open in Web Editor NEWRacer registration and management application for the CHIditarod. Integrates with Stripe and Classy.
Home Page: http://chiditarod.org
License: GNU General Public License v3.0
Racer registration and management application for the CHIditarod. Integrates with Stripe and Classy.
Home Page: http://chiditarod.org
License: GNU General Public License v3.0
We think a repro for this case is:
This email address is already used
in sidekiqWorkers::ClassyCreateFundraisingTeam
{"team_id"=>1054}
400: {"error":{"email_address":["This email address is already used."]}}
/app/lib/classy_client.rb:164:in `wrapper'
/app/lib/classy_client.rb:137:in `block in post'
/app/lib/classy_client.rb:124:in `with_token'
/app/lib/classy_client.rb:135:in `post'
/app/lib/classy_client.rb:57:in `create_member'
/app/lib/classy_user.rb:34:in `link_user_to_classy!'
/app/app/workers/workers/classy_create_fundraising_team.rb:47:in `run'
/app/app/workers/workers/common.rb:29:in `perform'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/processor.rb:196:in `execute_job'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/processor.rb:164:in `block (2 levels) in process'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/middleware/chain.rb:138:in `block in invoke'
/app/vendor/bundle/ruby/2.7.0/gems/rollbar-3.3.0/lib/rollbar/plugins/sidekiq/plugin.rb:11:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/middleware/chain.rb:140:in `block in invoke'
/app/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-8.3.0/lib/new_relic/agent/instrumentation/sidekiq.rb:35:in `block in call'
/app/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-8.3.0/lib/new_relic/agent/instrumentation/controller_instrumentation.rb:377:in `perform_action_with_newrelic_trace'
/app/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-8.3.0/lib/new_relic/agent/instrumentation/sidekiq.rb:30:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/middleware/chain.rb:140:in `block in invoke'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-failures-1.0.1/lib/sidekiq/failures/middleware.rb:9:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/middleware/chain.rb:140:in `block in invoke'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/middleware/chain.rb:143:in `invoke'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/processor.rb:163:in `block in process'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/job_retry.rb:112:in `local'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/rails.rb:14:in `block in call'
/app/vendor/bundle/ruby/2.7.0/gems/activesupport-5.0.7.2/lib/active_support/execution_wrapper.rb:85:in `wrap'
/app/vendor/bundle/ruby/2.7.0/gems/activesupport-5.0.7.2/lib/active_support/reloader.rb:68:in `block in wrap'
/app/vendor/bundle/ruby/2.7.0/gems/activesupport-5.0.7.2/lib/active_support/execution_wrapper.rb:85:in `wrap'
/app/vendor/bundle/ruby/2.7.0/gems/activesupport-5.0.7.2/lib/active_support/reloader.rb:67:in `wrap'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/rails.rb:13:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/processor.rb:257:in `stats'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/job_logger.rb:13:in `call'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/job_retry.rb:79:in `global'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/processor.rb:124:in `block in dispatch'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/logger.rb:11:in `with'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/job_logger.rb:33:in `prepare'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/processor.rb:123:in `dispatch'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/processor.rb:162:in `process'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/processor.rb:78:in `process_one'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/processor.rb:68:in `run'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/util.rb:43:in `watchdog'
/app/vendor/bundle/ruby/2.7.0/gems/sidekiq-6.3.1/lib/sidekiq/util.rb:52:in `block in safe_thread'
Automatically email users who have created team(s) for a race when the following events occur:
Here are examples of what this field can contain.
Single field:
"racer-type"
Multiple Fields:
"racer-type,private-comments"
In order to be able to better predict the rate of Racer Registrations across the reg period, can a column be added to the .csv output that shows the date on which the registration was completed successfully? If this can be added retroactively to past years, that would be great; if not, starting with 2023 will make a huge difference.
Please and thank you and MUSH!!
When attempting to save a valid form, the following error message appears:
translation missing: en.could_not_save_questions
I have tried to do this at least 20 times.
When the stats for past races was removed from the rendering (in #87), the useful link to show the registered teams effectively disappeared. This makes it impossible for a refunder to access the teams to refund once the race has happened, since the formerly-displayed link is no longer visible.
The route they need still works, but it should be easy to find and use.
Tasks:
The application should be able to boot up without requiring the 2 stripe env vars in order to boot.
For example, running rake db:migrate
currently requires stripe environment variables. This feels unnecessary.
Rake should succeed without 'STRIPE_PUBLISHABLE_KEY' and 'STRIPE_SECRET_KEY' env vars. Right now if you initiate rake without them, the code fails immediately.
$ RAILS_ENV=development be bin/rails db:migrate
...
ArgumentError: Must provide 'STRIPE_PUBLISHABLE_KEY' and 'STRIPE_SECRET_KEY' environment variables to use Stripe
Right now it's a hack in app/controllers/questions_controller.rb
:
# This is a hack to get around strong parameters.
# These are the names of the parameter keys in the Race's jsonschema.
# todo: figure out how to calculate this dynamically.
HACK_PARAMS = [
:'racer-type', :'primary-inspiration', :'secondary-inspiration', :'twitter', :'buddies', :'private-comments', :'explain-theme',
:'agree-to-core-philosophy', :'agree-to-rules', :'agree-to-sabotage', :'agree-to-cart-deposit', :'agree-to-cart-food-poundage',
:'agree-not-a-donation', :'agree-to-orientation', :'flame-effects', :'fundraising', :'party-bus-interest', :'party-bus-seats'
]
The javascript filter search fields on the admin list view only filter the rendered results, not the entire database set. The pagination in place limits the rows returned, so the JS filtering can only filter on those returned rows.
Solution:
For some reason, DogTag created two teams in my dogPen with the same name and description. User is unable to delete the duplicated team.
As a dogtag user, I have a custom referral link that I can share. And when someone uses the referral link to register their team, the owner of the referral gets a percentage discount refunded, and the registering user gets a percentage discount on their registration payments.
Please adjust the registration close time to February 15, 11:59:59 PM, CT
Example email received after registering on https://dogtag-staging.herokuapp.com:
dogtag ::: Chiditarod registration BoT
Thanks for signing up at dogtag.chiditarod.org . <------ Customize this to match
Your login email is: [email protected]
Please write down your password.
If you haven't already created and registered your team(s) head on over to dogtag.chiditarod.org to get started!
heart,
dogtag bot
It would be helpful to have trending data that shows the pattern of when racers are registering.
Time of day not necessary, but the date trend so we can easily see how a given year's reg numbers are lining up to prior years.
Failures:
1) RequirementsController [logged in] #update on invalid id returns 404
Failure/Error: expect(response.status).to eq(404)
expected: 404
got: 400
(compared using ==)
# ./spec/controllers/requirements_controller_spec.rb:91:in `block (5 levels) in <top (required)>'
Finished in 1 minute 30.22 seconds (files took 2.67 seconds to load)
551 examples, 1 failure, 29 pending
Failed examples:
rspec ./spec/controllers/requirements_controller_spec.rb:90 # RequirementsController [logged in] #update on invalid id returns 404
Randomized with seed 63575
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.