Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
414 commits
Select commit Hold shift + click to select a range
7b169be
Bump vue-router from 3.1.5 to 3.5.2
dependabot[bot] Jun 25, 2021
3cda427
Merge pull request #730 from texastribune/bump-queso-tools-2
ashley-hebler Jun 28, 2021
b07068f
update business membership copy
AndrewGibson27 Jul 6, 2021
f4a88c2
Merge pull request #746 from texastribune/biz-copy
AndrewGibson27 Jul 6, 2021
bd5b54e
Merge branch 'master' into biz-wall
AndrewGibson27 Jul 6, 2021
ebfbbec
update heading order
AndrewGibson27 Jul 6, 2021
7bceb67
update spacing
AndrewGibson27 Jul 6, 2021
933f628
Bump sentry-sdk from 1.1.0 to 1.2.0
dependabot[bot] Jul 7, 2021
036b81e
Merge pull request #747 from texastribune/dependabot/pip/sentry-sdk-1…
x110dc Jul 8, 2021
5ebda87
Bump sentry-sdk from 1.2.0 to 1.3.0
dependabot[bot] Jul 8, 2021
ecc2fbe
small style edits
AndrewGibson27 Jul 8, 2021
733cc49
Merge pull request #729 from texastribune/biz-wall
AndrewGibson27 Jul 9, 2021
2dfca98
Bump stripe from 2.58.0 to 2.59.0
dependabot[bot] Jul 12, 2021
ce725d9
Merge pull request #750 from texastribune/dependabot/pip/stripe-2.59.0
x110dc Jul 15, 2021
85fa875
Merge pull request #749 from texastribune/dependabot/pip/sentry-sdk-1…
x110dc Jul 15, 2021
d4ec50d
Bump stripe from 2.59.0 to 2.60.0
dependabot[bot] Jul 15, 2021
f5ef5a1
Bump slack-sdk from 3.7.0 to 3.8.0
dependabot[bot] Jul 16, 2021
734a63b
add link to business membership
AndrewGibson27 Jul 19, 2021
328608f
Merge pull request #751 from texastribune/dependabot/pip/stripe-2.60.0
x110dc Jul 29, 2021
d875377
Merge pull request #752 from texastribune/dependabot/pip/slack-sdk-3.8.0
x110dc Jul 29, 2021
8d4d51b
Bump black from 21.6b0 to 21.7b0
dependabot[bot] Jul 29, 2021
9d2201d
Bump sentry-sdk from 1.3.0 to 1.3.1
dependabot[bot] Jul 29, 2021
95a1675
Merge pull request #758 from texastribune/dependabot/pip/sentry-sdk-1…
x110dc Aug 5, 2021
62e7aad
Merge pull request #757 from texastribune/dependabot/pip/black-21.7b0
x110dc Aug 5, 2021
2ec779b
Bump path-parse from 1.0.6 to 1.0.7
dependabot[bot] Aug 11, 2021
c7cc839
Merge pull request #762 from texastribune/dependabot/npm_and_yarn/pat…
AndrewGibson27 Aug 16, 2021
6c1c308
Add latest queso-tools
ashley-hebler Aug 17, 2021
75f85f1
Merge pull request #765 from texastribune/bump-queso-tools-2
ashley-hebler Aug 17, 2021
2f1c8e7
use different image
x110dc Aug 20, 2021
7a350c8
rm comments
x110dc Aug 20, 2021
8df82da
rm comment
x110dc Aug 20, 2021
a7ce65c
Merge pull request #766 from texastribune/docker-node-python
Aug 20, 2021
637b7bf
Bump slack-sdk from 3.8.0 to 3.10.1
dependabot[bot] Aug 27, 2021
de570be
Bump black from 21.7b0 to 21.8b0
dependabot[bot] Aug 30, 2021
479c2a6
Merge pull request #769 from texastribune/dependabot/pip/black-21.8b0
x110dc Sep 2, 2021
a85c350
Merge pull request #768 from texastribune/dependabot/pip/slack-sdk-3.…
x110dc Sep 2, 2021
f9fca1a
Bump pytest from 6.2.4 to 6.2.5
dependabot[bot] Sep 2, 2021
989f06a
Add queso 2.2.4 for security patch
ashley-hebler Sep 3, 2021
5db9537
Merge pull request #774 from texastribune/bump-queso-2.2.4
ashley-hebler Sep 3, 2021
7668c0c
Bump vue-eslint-parser from 4.0.3 to 7.11.0
dependabot[bot] Sep 6, 2021
beff728
thermometer for FMD 2021
AndrewGibson27 Sep 7, 2021
93dbd65
Merge pull request #771 from texastribune/dependabot/pip/pytest-6.2.5
x110dc Sep 9, 2021
4d52242
Bump axios from 0.21.1 to 0.21.4
dependabot[bot] Sep 9, 2021
c54f37c
Merge pull request #778 from texastribune/dependabot/npm_and_yarn/axi…
AndrewGibson27 Sep 9, 2021
af935b5
update member goal to 500
AndrewGibson27 Sep 13, 2021
36e7988
Bump slack-sdk from 3.10.1 to 3.11.0
dependabot[bot] Sep 14, 2021
7f05369
Bump black from 21.8b0 to 21.9b0
dependabot[bot] Sep 14, 2021
d165a37
add match language
AndrewGibson27 Sep 15, 2021
a89852c
Merge pull request #776 from texastribune/thermometer
AndrewGibson27 Sep 15, 2021
cac0187
update README
AndrewGibson27 Sep 16, 2021
d46238f
Merge pull request #780 from texastribune/dependabot/pip/black-21.9b0
x110dc Sep 17, 2021
98b2219
Merge pull request #779 from texastribune/dependabot/pip/slack-sdk-3.…
x110dc Sep 17, 2021
3042860
Bump slack-sdk from 3.11.0 to 3.11.2
dependabot[bot] Sep 21, 2021
037507a
Bump sentry-sdk from 1.3.1 to 1.4.0
dependabot[bot] Sep 22, 2021
4ac8702
Merge pull request #783 from texastribune/dependabot/pip/slack-sdk-3.…
x110dc Sep 23, 2021
b69f711
Merge pull request #784 from texastribune/dependabot/pip/sentry-sdk-1…
x110dc Sep 23, 2021
4000448
Revert "FMD 2021"
ashley-hebler Sep 27, 2021
3876d30
Restore 2021 changes
ashley-hebler Sep 27, 2021
a4954fc
Merge pull request #786 from texastribune/revert-776-thermometer
ashley-hebler Sep 27, 2021
988855e
Bump sentry-sdk from 1.4.0 to 1.4.3
dependabot[bot] Sep 30, 2021
b1588e1
Merge pull request #788 from texastribune/dependabot/pip/sentry-sdk-1…
x110dc Oct 1, 2021
88eaf82
Bump pytz from 2021.1 to 2021.3
dependabot[bot] Oct 4, 2021
a352c5a
Merge pull request #789 from texastribune/dependabot/pip/pytz-2021.3
x110dc Oct 7, 2021
159d42e
Bump flake8 from 3.9.2 to 4.0.1
dependabot[bot] Oct 12, 2021
a93c444
Add id for jump link
ashley-hebler Oct 15, 2021
319eee6
Merge pull request #798 from texastribune/add-benefits-id
ashley-hebler Oct 15, 2021
ecbc224
Merge pull request #795 from texastribune/dependabot/pip/flake8-4.0.1
x110dc Oct 22, 2021
2471bef
Bump stripe from 2.60.0 to 2.61.0
dependabot[bot] Oct 22, 2021
5acf259
Bump queso-tools for security fix
ashley-hebler Oct 22, 2021
9eb061b
Merge pull request #800 from texastribune/dependabot/pip/stripe-2.61.0
matthewdylan Oct 25, 2021
a50cad5
Bump wtforms from 2.2.1 to 2.3.3
dependabot[bot] Oct 25, 2021
28b71be
Merge pull request #802 from texastribune/bump-queso-tools-2.2.5
ashley-hebler Oct 25, 2021
7798c78
adding email_validator
matthewdylan Oct 25, 2021
92b2486
Merge pull request #732 from texastribune/dependabot/pip/wtforms-2.3.3
matthewdylan Oct 25, 2021
c6b1d8a
Bump celery from 4.3.1 to 5.0.6
dependabot[bot] Oct 25, 2021
ca67b02
Bump redis from 2.10.6 to 3.5.3
dependabot[bot] Oct 25, 2021
79cee26
Bump flask from 1.0.2 to 2.0.2
dependabot[bot] Oct 25, 2021
025ac0e
Merge branch 'master' into dependabot/npm_and_yarn/vue-router-3.5.2
matthewdylan Oct 25, 2021
9f919a5
Merge pull request #734 from texastribune/dependabot/npm_and_yarn/vue…
matthewdylan Oct 25, 2021
6b34be2
Merge branch 'master' into dependabot/npm_and_yarn/vue-eslint-parser-…
matthewdylan Oct 25, 2021
e492d7f
fix prettier hook
matthewdylan Oct 25, 2021
8ba24ff
Bump auth0-js from 9.13.2 to 9.17.0
dependabot[bot] Oct 26, 2021
255670d
Update Appeal.vue
matthewdylan Oct 26, 2021
7174ca2
Use python-2 official docker image to fix build issue
Oct 26, 2021
122258b
upgrade eslint-plugin-vue as well
matthewdylan Oct 27, 2021
d495ee8
Merge pull request #775 from texastribune/dependabot/npm_and_yarn/vue…
matthewdylan Oct 27, 2021
4fc8b82
upgrade eslint-plugin-vue in package-lock as well
matthewdylan Oct 27, 2021
2f54981
Merge pull request #805 from texastribune/upgrade-eslint-plugin-vue
matthewdylan Oct 27, 2021
7d40617
Bump @babel/core from 7.8.4 to 7.15.8
dependabot[bot] Oct 27, 2021
0221705
Merge branch 'master' of github.com:texastribune/donations
Oct 27, 2021
e457cab
Merge pull request #806 from texastribune/fix-python-2-docker-builds
Oct 27, 2021
032f88e
Merge pull request #791 from texastribune/dependabot/pip/flask-2.0.2
matthewdylan Oct 27, 2021
3de10df
Merge pull request #738 from texastribune/dependabot/pip/redis-3.5.3
matthewdylan Oct 28, 2021
9885849
Bump celery from 4.3.1 to 5.0.6
dependabot[bot] Oct 28, 2021
9b22814
Merge pull request #804 from texastribune/dependabot/npm_and_yarn/bab…
ashley-hebler Oct 29, 2021
5c4f867
Bump @babel/cli from 7.12.10 to 7.15.7
dependabot[bot] Oct 29, 2021
96aee71
Bump @babel/runtime from 7.8.4 to 7.15.4
dependabot[bot] Oct 29, 2021
ab6068e
Merge pull request #773 from texastribune/dependabot/npm_and_yarn/bab…
ashley-hebler Oct 29, 2021
c277d1f
Merge pull request #781 from texastribune/dependabot/npm_and_yarn/bab…
ashley-hebler Oct 29, 2021
5a021ac
Bump black from 21.9b0 to 21.10b0
dependabot[bot] Nov 1, 2021
734af5b
Merge pull request #812 from texastribune/dependabot/pip/black-21.10b0
matthewdylan Nov 1, 2021
4d7df26
Merge branch 'dependabot/pip/celery-5.0.6' of https://github.com/texa…
matthewdylan Nov 1, 2021
a40400e
Update config.py
matthewdylan Nov 3, 2021
920a748
Merge pull request #803 from texastribune/dependabot/npm_and_yarn/aut…
ashley-hebler Nov 4, 2021
03ec988
Bump @texastribune/queso-ui from 9.4.2 to 10.3.0
dependabot[bot] Nov 4, 2021
8aeb0ef
updates to get celery5 working
matthewdylan Nov 4, 2021
103e613
Merge pull request #810 from texastribune/dependabot/npm_and_yarn/tex…
ashley-hebler Nov 4, 2021
6c3a63e
Bump @sentry/webpack-plugin from 1.10.0 to 1.18.3
dependabot[bot] Nov 4, 2021
520375a
missed 3 celery settings vars that need slight updates too
matthewdylan Nov 5, 2021
1f817fc
Merge pull request #813 from texastribune/update-celery-config-setup
matthewdylan Nov 5, 2021
f51fa90
Update requirements.txt
matthewdylan Nov 8, 2021
c523933
Merge branch 'texas' into update-to-texas
jonathanstegall Nov 9, 2021
1dcb2ef
Merge pull request #801 from texastribune/dependabot/npm_and_yarn/sen…
ashley-hebler Nov 10, 2021
c40edac
Revert "Merge pull request #813 from texastribune/update-celery-confi…
matthewdylan Nov 12, 2021
8eb60d1
Merge pull request #820 from texastribune/revert-update-celery-config…
matthewdylan Nov 12, 2021
75ded45
Remove informed membership as requested
ashley-hebler Nov 15, 2021
863ba74
Merge pull request #823 from texastribune/biz-updates
ashley-hebler Nov 16, 2021
67a3605
Bump stripe from 2.61.0 to 2.63.0
dependabot[bot] Nov 17, 2021
dd351eb
Merge pull request #824 from texastribune/dependabot/pip/stripe-2.63.0
x110dc Nov 18, 2021
d18f526
Bump black from 21.10b0 to 21.11b1
dependabot[bot] Nov 18, 2021
0374cf9
Merge branch 'texas' into update-to-texas
jonathanstegall Nov 24, 2021
80abbf0
Merge branch 'master' into update-to-texas
jonathanstegall Nov 24, 2021
16d3570
space
jonathanstegall Nov 24, 2021
a1e47cc
Add message about giving tuesday
ashley-hebler Nov 29, 2021
0e86ce8
Undo limiter change needed for debugging
ashley-hebler Nov 29, 2021
db04a42
Add copy edits
ashley-hebler Nov 29, 2021
ebe9d71
Merge pull request #829 from texastribune/giving-tuesday
ashley-hebler Nov 30, 2021
afbe02f
Revert "Add message about GivingTuesday (11/30/21)"
ashley-hebler Nov 30, 2021
aeba35a
Merge pull request #830 from texastribune/revert-829-giving-tuesday
ashley-hebler Dec 1, 2021
d9c4750
Merge pull request #827 from texastribune/dependabot/pip/black-21.11b1
x110dc Dec 2, 2021
060b616
Bump slack-sdk from 3.11.2 to 3.12.0
dependabot[bot] Dec 2, 2021
9287533
adding send notification when batch charge processing job begins
matthewdylan Dec 8, 2021
2b78977
use same msg for logging and slacking
matthewdylan Dec 8, 2021
3a4bf80
Merge pull request #831 from texastribune/dependabot/pip/slack-sdk-3.…
x110dc Dec 9, 2021
d1753db
Merge pull request #832 from texastribune/add-begin-batch-slack-notif…
matthewdylan Dec 9, 2021
f4ff63d
Update #ISupportTexasTribune tweets for donations page.
jbarrueta Dec 9, 2021
ae456b3
Add quotes around $$(pwd):/app
jbarrueta Dec 9, 2021
3e8a6ce
Change one of the tweets
jbarrueta Dec 10, 2021
bd28b45
Revert "Merge pull request #832 from texastribune/add-begin-batch-sla…
matthewdylan Dec 13, 2021
f2c6e45
reverting my last update to just call send_slack_message directly
matthewdylan Dec 13, 2021
ff55597
Run npm audit fix to patch json-schema
ashley-hebler Dec 13, 2021
9b3ae48
Merge pull request #835 from texastribune/switch-notification-channel…
matthewdylan Dec 14, 2021
4afca05
Merge pull request #836 from texastribune/fix-vuln
ashley-hebler Dec 14, 2021
45a75e5
Merge pull request #834 from texastribune/update-tweets
jbarrueta Dec 15, 2021
c418799
Try to fix failed email sends due to special chars
ashley-hebler Jan 9, 2022
be31554
Reformat to ensure consistency with Tribune styles
SimmonsRitchie Jan 10, 2022
bff7a8e
Refactor copyright year script into template
SimmonsRitchie Jan 10, 2022
9e364c6
Update copyright year to be dynamic
SimmonsRitchie Jan 10, 2022
4f0e8b6
Merge pull request #842 from texastribune/fix-batch-email
ashley-hebler Jan 11, 2022
20e24cc
Revert "Fix "failed to send email" for batch logs"
ashley-hebler Jan 12, 2022
538c3c1
Add encoding to each log instead
ashley-hebler Jan 12, 2022
ebfbe64
Merge pull request #845 from texastribune/revert-842-fix-batch-email
ashley-hebler Jan 12, 2022
13cfc20
Merge pull request #843 from texastribune/copyright-year
SimmonsRitchie Jan 12, 2022
92627f7
Amend support page benefits copy
erxclau Jan 13, 2022
bcfb8d0
Merge pull request #846 from texastribune/amend-support-page-copy
erxclau Jan 13, 2022
ba56e44
Safely log names with encoding added
ashley-hebler Jan 13, 2022
8043ad7
Remove variable in str just in case
ashley-hebler Jan 13, 2022
9d7f716
Remove variable in str just in case
ashley-hebler Jan 13, 2022
02aa13d
Merge pull request #847 from texastribune/fix-mail-3
ashley-hebler Jan 13, 2022
b208c61
Bump follow-redirects from 1.14.3 to 1.14.7
dependabot[bot] Jan 14, 2022
ff8ed96
Handle names with non-ascii characters
ashley-hebler Jan 18, 2022
db5b868
Merge pull request #848 from texastribune/dependabot/npm_and_yarn/fol…
SimmonsRitchie Jan 19, 2022
97d159d
Merge pull request #851 from texastribune/fix-mail-4
ashley-hebler Jan 24, 2022
ff021a7
Clarify how to view app locally
SimmonsRitchie Jan 25, 2022
30c8861
Clarify that local dev note pertains to Trib engineers
SimmonsRitchie Jan 25, 2022
36f5652
Merge pull request #853 from texastribune/readme-tweak
SimmonsRitchie Jan 25, 2022
4a66a24
Remove reference to newsletter and credit card details
SimmonsRitchie Feb 7, 2022
0756da2
Bump follow-redirects from 1.14.7 to 1.14.8
dependabot[bot] Feb 13, 2022
5525220
Remove credit card message
SimmonsRitchie Feb 15, 2022
d96cb6f
Remove credit card message
SimmonsRitchie Feb 15, 2022
a49baca
Remove obsolete imports
SimmonsRitchie Feb 15, 2022
20654a4
Tweak wording as requested by Kassie Kelly
SimmonsRitchie Feb 16, 2022
e46ca34
add listener for payout.paid and update opps with payout date
x110dc Feb 17, 2022
8bd7c4f
fix typo
x110dc Feb 17, 2022
50cbd1c
Merge pull request #862 from texastribune/payout-date
x110dc Feb 17, 2022
a8cbe70
bumping broker_connection_timeout to 60
matthewdylan Feb 17, 2022
f00da1c
Merge pull request #863 from texastribune/up-broker-connection-timeout
matthewdylan Feb 17, 2022
8df0033
Merge pull request #860 from texastribune/remove-msg
SimmonsRitchie Feb 18, 2022
632edce
Install newrelic python agent; wrap heroku web & celery startup commands
Feb 23, 2022
90690c5
Don't pin newrelic python package (try to fix docker build)
Feb 23, 2022
5a96ddf
Update README to include New Relic environment variables
Feb 23, 2022
d5b081a
Add optional newrelic environment variables to app.json
Feb 23, 2022
3bf4d67
Fuzzy pin newrelic python package to >=7.4
Feb 23, 2022
403484d
Merge pull request #866 from texastribune/integrate-new-relic
Feb 23, 2022
5e60489
Bump node-fetch from 2.6.6 to 2.6.7
dependabot[bot] Feb 23, 2022
3c5999d
Merge pull request #867 from texastribune/dependabot/npm_and_yarn/nod…
ashley-hebler Feb 23, 2022
72170d3
upgrade sentry
x110dc Feb 24, 2022
0050d01
Merge branch 'master' into dependabot/pip/celery-5.0.6
matthewdylan Feb 25, 2022
ac455b0
Bump queso tools for fewer dependencies
ashley-hebler Feb 25, 2022
2d47a9c
adding REDIS_BACKEND_HEALTH_CHECK_INTERVAL
matthewdylan Feb 25, 2022
d64b94c
Merge pull request #742 from texastribune/dependabot/pip/celery-5.0.6
matthewdylan Feb 25, 2022
a6bd821
Bump pytest from 6.2.5 to 7.0.1
dependabot[bot] Feb 25, 2022
6cfc718
bump celery to 5.2.3
matthewdylan Feb 25, 2022
5af0e5b
Merge pull request #871 from texastribune/celery-5.2.3-upgrade
matthewdylan Feb 25, 2022
3694544
Merge pull request #868 from texastribune/bump-queso-tools
ashley-hebler Feb 28, 2022
a362801
Bump ajv from 6.11.0 to 6.12.6
dependabot[bot] Feb 28, 2022
ea5cc6b
Merge pull request #859 from texastribune/dependabot/npm_and_yarn/fol…
ashley-hebler Feb 28, 2022
d46ed25
Merge pull request #858 from texastribune/dependabot/npm_and_yarn/ajv…
ashley-hebler Feb 28, 2022
3713334
Revert "Bump follow-redirects from 1.14.7 to 1.14.8"
ashley-hebler Mar 2, 2022
3f898e2
Revert "Bump ajv from 6.11.0 to 6.12.6"
ashley-hebler Mar 2, 2022
77f2f39
Revert "Bump queso-tools from 2.2.5 to 2.3.1"
ashley-hebler Mar 2, 2022
d7f154d
Merge pull request #873 from texastribune/revert-859-dependabot/npm_a…
ashley-hebler Mar 2, 2022
5903ae6
Merge pull request #874 from texastribune/revert-858-dependabot/npm_a…
ashley-hebler Mar 2, 2022
acfc27a
Merge pull request #875 from texastribune/revert-868-bump-queso-tools
ashley-hebler Mar 2, 2022
452e6ce
Hotfix: temp surface error context
ashley-hebler Mar 2, 2022
c2b6402
Merge pull request #870 from texastribune/dependabot/pip/pytest-7.0.1
x110dc Mar 3, 2022
cec52f2
Bump stripe from 2.63.0 to 2.67.0
dependabot[bot] Mar 3, 2022
3afba12
Revert "Revert "Bump queso-tools from 2.2.5 to 2.3.1""
ashley-hebler Mar 3, 2022
c97a42d
Revert "Revert "Bump ajv from 6.11.0 to 6.12.6""
ashley-hebler Mar 3, 2022
da6815b
Revert "Revert "Bump follow-redirects from 1.14.7 to 1.14.8""
ashley-hebler Mar 3, 2022
fa24e46
Merge pull request #877 from texastribune/revert-875-revert-868-bump-…
ashley-hebler Mar 3, 2022
67ab267
Merge pull request #879 from texastribune/revert-873-revert-859-depen…
ashley-hebler Mar 3, 2022
9748570
Merge pull request #878 from texastribune/revert-874-revert-858-depen…
ashley-hebler Mar 3, 2022
6a11cd0
Lint README
erxclau Mar 3, 2022
119de96
Bump various dependencies
erxclau Mar 3, 2022
bc9bbe7
Bump webpack-assets-manifest
erxclau Mar 3, 2022
48d4db4
Merge pull request #880 from texastribune/npm-dep-bump
erxclau Mar 7, 2022
70c2158
Bump vue-js-modal
erxclau Mar 7, 2022
f7fd823
Bump dompurify
erxclau Mar 8, 2022
6782019
Bump webpack-cli and eslint
erxclau Mar 8, 2022
ec83b3d
Merge pull request #886 from texastribune/npm-dep-bump
erxclau Mar 9, 2022
22afaf5
Bump babel-loader from 8.0.6 to 8.2.3
dependabot[bot] Mar 9, 2022
975d0e1
Merge branch 'master' into dependabot/npm_and_yarn/babel-loader-8.2.3
erxclau Mar 9, 2022
ffa4036
Merge pull request #887 from texastribune/dependabot/npm_and_yarn/bab…
erxclau Mar 9, 2022
14d7f24
Merge pull request #876 from texastribune/dependabot/pip/stripe-2.67.0
x110dc Mar 18, 2022
a1182c7
Bump pydantic from 1.8.2 to 1.9.0
dependabot[bot] Mar 18, 2022
4603d58
Merge pull request #890 from texastribune/dependabot/pip/pydantic-1.9.0
x110dc Mar 18, 2022
cb6c3b2
bumping flask-wtf to 0.15.1
matthewdylan Mar 28, 2022
da31ab1
Merge pull request #895 from texastribune/bumping-flask-wtf
matthewdylan Mar 30, 2022
683e7d0
Fix env var resolution for webpack build
SimmonsRitchie Mar 31, 2022
eb63ac3
Disable eslint destructuring rule
SimmonsRitchie Mar 31, 2022
2c827d9
Merge pull request #898 from texastribune/fix-sentry
SimmonsRitchie Apr 1, 2022
61f9310
Include campaign id in slack message
erxclau Apr 5, 2022
786c712
Add campaign id to slack format test
erxclau Apr 5, 2022
949d3ea
Merge pull request #902 from texastribune/slack-campaign-id
erxclau Apr 11, 2022
ddcdd2b
Add new tier of circle membership
ashley-hebler Apr 1, 2022
880380f
Merge branch 'texas' into update-to-texas
jonathanstegall Apr 13, 2022
46d3d0c
code from texas version: this will cause conflicts so we'll have to a…
jonathanstegall Apr 13, 2022
8d88f91
Add requested changes
ashley-hebler Apr 13, 2022
577f5a9
Make walls groups conditional-after feedback
ashley-hebler Apr 13, 2022
6fc0ca2
Add copy edits
ashley-hebler Apr 13, 2022
097e7eb
Make template hack a little less brittle
ashley-hebler Apr 14, 2022
e344023
Merge pull request #900 from texastribune/add-new-circle
ashley-hebler Apr 14, 2022
6798933
sping membership drive 2022 updates
matthewdylan Apr 26, 2022
eac66b6
remove bad code
matthewdylan Apr 27, 2022
157a049
Merge pull request #914 from texastribune/thermometer-springmd-22
matthewdylan Apr 27, 2022
f0e97be
Hot editorial fixes
matthewdylan Apr 27, 2022
576c30f
Merge branch 'master' into update-to-texas
jonathanstegall Apr 29, 2022
2729409
don't need bundles
jonathanstegall Apr 29, 2022
f590032
merge stuff
jonathanstegall May 3, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
APP=checkout
NS=texastribune

DOCKER_ENV_FILE?=env-docker
LOG_LEVEL?=INFO

interactive: build backing
-docker rm -f ${APP}
-docker volume rm ${APP}_node_modules-vol
-docker volume create --name ${APP}_node_modules-vol
docker run \
--volume=${APP}_node_modules-vol:/app/node_modules \
--volume="$$(pwd):/app" \
--rm --interactive --tty \
--env-file=${DOCKER_ENV_FILE} \
--publish=80:5000 \
--link=rabbitmq:rabbitmq \
--link=redis:redis \
--name=${APP} ${NS}/${APP}:dev bash

down:
docker rm -f ${APP} rabbitmq redis

build:
docker build -f Dockerfile --tag=${NS}/${APP}:dev .

clean:
-docker stop ${APP} && docker rm ${APP}
-docker stop redis && docker rm redis
-docker stop rabbitmq && docker rm rabbitmq

backing:
-docker rm -f rabbitmq redis
docker run --detach --name rabbitmq --publish=15672:15672 rabbitmq:management
docker run --detach --name redis redis

test: build
docker run \
--workdir=/app \
--rm \
--entrypoint=python \
texastribune/checkout:dev /usr/local/bin/py.test /app/tests.py --cov=/app

reconcile-email:
docker build --tag=sf-py2 -f Dockerfile.py2 .
docker run --env-file=${DOCKER_ENV_FILE} --rm --interactive --tty --name=py2 sf-py2

restart:
-pkill celery
-pkill python
C_FORCE_ROOT=True celery -A app.celery worker --without-heartbeat --without-gossip --without-mingle --loglevel=${LOG_LEVEL} &
python3 app.py & npm run dev

celery-restart:
-pkill celery
C_FORCE_ROOT=True celery -A app.celery worker --without-heartbeat --without-gossip --without-mingle --loglevel=${LOG_LEVEL} &
51 changes: 27 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ Software to collect donations for nonprofits. It integrates with Saleforce, Stri
Donations
=========

Software to collect donations for nonprofits. It integrates with Saleforce, Stripe, Amazon Pay, Slack and Sentry.

- Python running Flask
- supports single and recurring donations
- easily deployed on Heroku
Expand All @@ -49,18 +51,27 @@ You should also install [`pre-commit`](https://pre-commit.com/#install), which w

Requirements
------------

Python 3.6+
See requirements.txt and dev-requirements.txt for specific Python packages and versions.

Environment
-----------

| Variable | Example |
|-----------------------------|-----------------------------------------------:|
| `FLASK_SECRET_KEY` | b'f;\xeb\x9bT2\xcd\xdb\xe1#z\xfb\xab\xf8(\x03'|
| `PUBLISHABLE_KEY` | pk_test_12345 |
| `SECRET_KEY` | sk_test_12335 |
| `LOG_LEVEL` | DEBUG |
| `AUTH0_PORTAL_M2M_CLIENT_ID`| string |
| `AUTH0_PORTAL_M2M_CLIENT_SECRET`| string |
| `AUTH0_DOMAIN` | domain.com |
| `AUTH0_PORTAL_AUDIENCE` | foobarbaz |
| `AUTH0_PORTAL_CLIENT_ID` | stringstringstring |
| `PUBLISHABLE_KEY` | pk_test_12345 |
| `SECRET_KEY` | sk_test_12335 |
| `ENABLE_PORTAL` | True |
| `PORTAL_API_DOMAIN` | <https://foo.bar/api> |
| `PORTAL_CAMPAIGN_ID` | stringstringstring |
| `SALESFORCE_HOST` | test.salesforce.com |
| `SALESFORCE_CLIENT_ID` | |
| `SALESFORCE_CLIENT_SECRET` | |
Expand All @@ -70,37 +81,36 @@ Environment
| `SALESFORCE_API_VERSION` | v43.0 |
| `CELERY_BROKER_URL` | amqp://guest:guest@rabbitmq:5672/ |
| `CELERY_RESULT_BACKEND` | redis://redis:6379/0 |
| `FLASK_SECRET_KEY` | b'f;\xeb\x9bT2\xcd\xdb\xe1#z\xfb\xab\xf8(\x03' |
| `CELERY_ALWAYS_EAGER` | False |
| `CELERY_TASK_SERIALIZER` | json |
| `ENABLE_SENTRY` | True |
| `ENABLE_SENTRY_RELEASE` | True |
| `SENTRY_ENVIRONMENT` | test |
| `SENTRY_DSN` | https://user:pass@sentry/7?timeout=10 |
| `SENTRY_DSN` | <https://user:pass@sentry/7?timeout=10> |
| `SENTRY_AUTH_TOKEN` | |
| `SENTRY_ORG` | your-org |
| `SENTRY_PROJECT` | donations |
| `ENABLE_SENTRY_RELEASE` | True |
| `ENABLE_SLACK` | False |
| `SLACK_API_KEY` | |
| `SLACK_CHANNEL` | #donations |
| `DEFAULT_MAIL_SENDER` | foo@bar.org |
| `MAIL_SERVER` | mail.server.com |
| `MAIL_USERNAME` | |
| `MAIL_PASSWORD` | |
| `MAIL_PORT` | 25 |
| `MAIL_USE_TLS` | True |
| `DEFAULT_MAIL_SENDER` | foo@bar.org |
| `ACCOUNTING_MAIL_RECIPIENT` | foo@bar.org |
| `BUSINESS_MEMBER_RECIPIENT` | foo@bar.org |
| `CIRCLE_FAILURE_RECIPIENT` | foo@bar.org |
| `REDIS_URL` | redis://redis:6379 |
| `REDIS_TLS_URL` | redis://redis:6379 |
| `REPORT_URI` | https://foo.bar |
| `ENABLE_PORTAL` | True |
| `PORTAL_API_DOMAIN` | https://foo.bar/api |
| `PORTAL_CAMPAIGN_ID` | stringstringstring |
| `REPORT_URI` | <https://foo.bar> |
| `RECAPTCHA_SECRET_KEY` | stringstringstring |
| `RECAPTCHA_SITE_KEY` | stringstringstring |
| `BAD_ACTOR_API_URL` | https://foo.bar.api |
| `BAD_ACTOR_NOTIFICATION_URL`| https://foo.bar.api |
| `AUTH0_PORTAL_M2M_CLIENT_ID`| string |
| `AUTH0_PORTAL_M2M_CLIENT_SECRET`| string |
| `BAD_ACTOR_API_URL` | <https://foo.bar.api> |
| `BAD_ACTOR_NOTIFICATION_URL`| <https://foo.bar.api> |
| `NEW_RELIC_APP_NAME`| donations-prod |
| `NEW_RELIC_LICENSE_KEY`| [auto-generated by Heroku newrelic add-on] |
| `NEW_RELIC_LOG`| [auto-generated by Heroku newrelic add-on] |

Running the Project
-------------------
Expand All @@ -109,20 +119,13 @@ Run `make backing`. This will start RabbitMQ and Redis.
Run `make`. This will drop you into the Flask app.
Run `make restart`. You can interact with the app at `localhost:80`. This command will also build CSS and JS in watch mode and allow you to make test transactions.

```
```sh
C_FORCE_ROOT=True celery -A app.celery worker --loglevel=INFO &
celery beat --app app.celery &
# gunicorn app:app --log-file=- --bind=0.0.0.0:5000 --access-logfile=-
```

Front end
-------------------
The easiest way to develop is by running `make restart`. Other more granular commands:

+ `npm run js:dev`: Build JS and put Webpack in watch mode
+ `npm run ds-tasks-watch`: Build CSS and icons in watch mode
+ `npm run dev`: Run above two commands together
+ `npm run lint`: Run ESLint
NOTE: If you are a Tribune engineer, you may need to use `local.texastribune.org/donate` in order to sign in to your account or otherwise interact with the account page.

Running tests
-------------
Expand Down
9 changes: 9 additions & 0 deletions app.json
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,15 @@
"MWS_SECRET_KEY": {
"required": true
},
"NEW_RELIC_APP_NAME": {
"required": false
},
"NEW_RELIC_LICENSE_KEY": {
"required": false
},
"NEW_RELIC_LOG": {
"required": false
},
"PAPERTRAIL_API_TOKEN": {
"required": true
},
Expand Down
37 changes: 36 additions & 1 deletion app.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
CancelForm,
FinishForm,
)
from npsp import RDO, Account, Affiliation, Contact, Opportunity
from npsp import RDO, Account, Affiliation, Contact, Opportunity, SalesforceConnection
from util import (
clean,
notify_slack,
Expand Down Expand Up @@ -2192,6 +2192,39 @@ def customer_source_updated(event):
logging.info("card details updated")


@celery.task(name="app.payout_paid")
def payout_paid(event):

payout_id = event["data"]["object"]["id"]
# get the date of the payout
payout_date = event["data"]["object"]["arrival_date"]
# payout_date = stripe.Payout.retrieve(payout_id).arrival_date
payout_date = datetime.utcfromtimestamp(payout_date).strftime("%Y-%m-%d")

# get all of the charges in the payout
txn_list = []
txns = stripe.BalanceTransaction.list(payout=payout_id, type="charge", limit=100)
for txn in txns.auto_paging_iter():
txn_list.append(txn)

# format those ids for query
charge_ids = [t.source for t in txn_list]
charge_ids = ", ".join(["'{}'".format(value) for value in charge_ids])
query = (
f"SELECT Id FROM Opportunity WHERE Stripe_Transaction_ID__c IN ({charge_ids})"
)
logging.info(query)

# get the Opportunity Ids that go with those charges
sfc = SalesforceConnection()
opps_to_update = sfc.query(query)
opps_to_update = [o["Id"] for o in opps_to_update]

# set the payout date on those opportunities
response = sfc.update_payout_dates(opps_to_update, payout_date)
logging.debug(response)


@celery.task(name="app.authorization_notification")
def authorization_notification(payload):

Expand Down Expand Up @@ -2326,6 +2359,8 @@ def stripehook():

if event.type == "customer.source.updated":
customer_source_updated.delay(event)
if event.type == "payout.paid":
payout_paid.delay(event)

# TODO change this to debug later
app.logger.info(event)
Expand Down
26 changes: 25 additions & 1 deletion batch.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,16 +94,40 @@ def charge_cards():

log.it("---Processing charges...")

log.it(f"Found {len(opportunities)} opportunities available to process.")
processing_msg = f"Found {len(opportunities)} opportunities available to process."
log.it(processing_msg)
send_slack_message(
{
"channel": "#stripe",
"text": processing_msg,
"icon_emoji": ":moneybag:",
}
)

for opportunity in opportunities:
# texas does not check the payment type here, but we want to
if not opportunity.stripe_customer_id or opportunity.payment_type != "Stripe":
continue
amount = amount_to_charge(opportunity)
<<<<<<< HEAD
log.it(
f"---- Charging ${amount} to {opportunity.stripe_customer_id} ({opportunity.name})"
)
=======
try:
entry_name = opportunity.name
# replaces non-ascii characters with "?" - See PR #851
encoded_name = entry_name.encode("ascii", "replace")
decoded_name = encoded_name.decode("ascii")
log.it(
f"---- Charging ${amount} to {opportunity.stripe_customer} ({decoded_name})"
)
except:
log.it(
f"---- Charging ${amount} to {opportunity.stripe_customer} ({opportunity.name})"
)
logging.warn(f"Could not encode {opportunity.name}")
>>>>>>> texas
try:
charge(opportunity)
except ChargeException as e:
Expand Down
40 changes: 39 additions & 1 deletion charges.py
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,14 @@ def charge(opportunity):
logging.info(
f"---- Charging ${amount} to {opportunity.stripe_customer_id} ({opportunity.name})"
)
if opportunity.stage_name != "Pledged": # this is probably an insufficient check for quarantining
raise Exception(f"Opportunity {opportunity.id} is not Pledged")
if opportunity.quarantined:
logging.info("---- Skipping because it's quarantined")
raise QuarantinedException(f"Opportunity {opportunity.id} is quarantined")

opportunity.stage_name = "In Process"
opportunity.save()

if opportunity.stage_name == "Pledged":
opportunity.stage_name = "In Process"
Expand Down Expand Up @@ -299,7 +307,7 @@ def charge(opportunity):

reason = e.user_message

if isinstance(e, stripe.error.CardError):
if isinstance(e, stripe.error.CardError):
logging.info(f"The card has been declined")
logging.info(f"Decline code: {e.json_body.get('decline_code', '')}")

Expand Down Expand Up @@ -365,3 +373,33 @@ def charge(opportunity):

opportunity.stage_name = "Closed Won"
opportunity.save()
raise ChargeException(opportunity, reason)

if card_charge.status != "succeeded":
logging.error("Charge failed. Check Stripe logs.")
raise ChargeException(opportunity, "charge failed")

# There's a lot going on here. Up to this point the donor selected an
# amount (say $100) and decided if they wanted to pay our processing
# fees. We recorded those two bits of information in the opportunity or the
# RDO. Now we're actually charging the card so we have new information:
# what the actual processing fees. So we we move stuff around. The
# original amount the donor selected was stored in the "amount" field of
# the opportunity or the RDO. That amount gets moved to "donor selected
# amount" on the opportunity. Now the amount field on the opportunity will
# represeent the gross amount (the point of this whole thing) and the
# amount minus processing fees gets stored on the opportunity field in "net
# amount". We didn't know that amount up until the charge took place
# because Amex.
balance_transaction = stripe.BalanceTransaction.retrieve(
card_charge.balance_transaction
)
opportunity.donor_selected_amount = opportunity.amount
opportunity.net_amount = balance_transaction.net / 100
opportunity.amount = amount # gross
gross = card_charge.amount / 100

opportunity.stripe_card = card_charge.source.id
opportunity.stripe_transaction_id = card_charge.id
opportunity.stage_name = "Closed Won"
opportunity.save()
2 changes: 1 addition & 1 deletion config.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ def bool_env(val):
}
}
REDIS_URL = os.getenv("REDIS_URL")
REDIS_TLS_URL = os.getenv("REDIS_URL") # this doesn't work with our Celery yet
REDIS_BACKEND_HEALTH_CHECK_INTERVAL = 5

######
# SMTP
Expand Down
Loading