Commit Graph

124 Commits

Author SHA1 Message Date
Daniel Ternyak 206ed2e63a
adjust default proposal content 2021-04-13 23:55:08 -07:00
Daniel Ternyak 819c15ba9c
funded by zomg true by default 2021-03-19 01:04:26 -05:00
Daniel Ternyak 7f065b4163
setup 'FUNDING BY ZOMG' 2021-02-01 19:32:12 -06:00
Daniel Ternyak ed7a3343c9
KYC acceptance property and admin UI 2020-12-28 15:07:37 -06:00
Daniel Ternyak 5a15022987
ZF Grants 2.1 (#496)
* fix ccr pagination defaults

* add ccr admin tests

* add ccr user tests

* checkpoint

* fix tslint

* request changes discussion flow mvp

* admin - add discussion status

* backend - add live drafts

* admin - add live drafts

* frontend - add live drafts

* frontend - add edit discussion proposal

* fix tsc

* include DISCUSSION status in propsal listview

* do not make live draft on admin request changes

* hide live drafts from user proposal draft list

* fix backend tests

* add admin tests

* add user tests

* fix: liking, viewing discussion proposals, admin menu

* admin - update hints for live drafts

* fe - add better messaging when updating a proposal

* be - fix like test

* remove TODO comments

* add new email types

* fix storybook

* add revision tab story

* backend - implement proposal revisions

* frontend - implement proposal revisions

* update revision tab story

* fix lint

* remove set detection

* email proposal followers on revision

* restrict banner to team members only

* misc bug fixes

* update, add backend tests

* add milestone title change to revision history story

* fix milestones display in preview

* allow archived proposals to be queried

* implement archived proposal page

* fix tsc

* implement archived proposal get route

* move styling into less

* remove proposal archive parent id

* handle archived proposal status

* cleanup

* remove contributions, switch to USD, implement quarters

* use Qs to preserve formatting

* handle edit only kyc

* prevent ARCHIVED proposals from being sent to admin

* display latest revision first

* admin - proposal & ccr reject permanently

* backend - proposal & ccr reject permanently

* frontend - proposal & ccr reject permanently

* fix tsc

* use $ in milestone payout email

* introduce custom filters to proposal listview

* hide archive link on first revision

* upgrade packages

* add bech32 implementation

* add z address validation with tests

* fix tslint

* use local address validation

* fix tests, remove blockchain mock gets

* add additional bad addresses

* update briefs to include page break message

* remove contributions routes, menu entry

* disable countribution count admin stats

* remove matching and pretty print in finance

* fix tslint

* separate out rejected permanently proposals

* make removing proposals generic

* allow linked tabs to be ignored

* remove rejected permanently, bugfix

* update preview link to point to rejected tab

* implement rejected permanently tab, add tab message

* refactor variable

* fix tslint

* fix tslint

* send ccr reject permanently email on rejection

* fix preview message

* wire up proposal arbiter and rejected emails

* disable tip jar in proposal and profile

* sync ccr/proposal drafts on create form init

* check invites on submit modal open

* update team invite language

* update team text when edit

* fix ccr rejected permanently tag

* text changes, email preview fix

* display changes requested tag when in discussion with changes requested

* enable social share on open for discussion proposals, update language

* place sort below filter

* derive filter from query string

* use better filter names in query params

* fix tslint

* create snapshot of original proposal on first revision

* clear invites between edits, account for additional changes not tracked in revisions

* update tests

* fix test

* remove print

* SameSite Fixes (#150)

* QA Fixes 2 (#151)

* set filters as query strings on change

* remove rejected permanently tags

* add dollar sign in financials legend

* fix tsc

* Copy Touchups (#152)

* Email Fixes (#155)

* fix ZEC in milestone payout emails

* fix links in rejected permanently CCR/proposal emails

* Poll for Team and Invite Changes in Create Flow (#153)

* poll for team and invite changes in create flow

* fix tslint

Co-authored-by: Daniel Ternyak <dternyak@gmail.com>

* pretty print payouts by quarter (#156)

Co-authored-by: Daniel Ternyak <dternyak@gmail.com>

* Remove Blockchain Module (#154)

* remove blockchain route from backend, remove calls to node

* revert blockchain_get removal

* Add Tags to Proposal Cards (#157)

* add tag to proposals and dynamically set v1 card height

* listen on window resize

* make card height props optional

* set tag in bottom right, remove dynamic card resize, add dynamic tag resize

* cleanup

* cleanup

Co-authored-by: Daniel Ternyak <dternyak@gmail.com>

* Improve Frontend Address Validation (#158)

Co-authored-by: Daniel Ternyak <dternyak@gmail.com>

* Remove blockchain module (#162)

* remove blockchain route from backend, remove calls to node

* revert blockchain_get removal

* Remove Blockchain App (#160)

* remove blockchain app

* remove blockchain app from travis

Co-authored-by: Danny Skubak <skubakdj@gmail.com>

* Proposal Edit Fixes (#161)

* fe - display error if edit creation fails

* be - restrict live draft publish

Co-authored-by: Daniel Ternyak <dternyak@gmail.com>

* Restrict Arbiter Assignment (#159)

Co-authored-by: Daniel Ternyak <dternyak@gmail.com>

* Email Copy updates

* Remove Admin Financials Card

* Hookup 'proposal_approved_without_funding' to admin email example

* bump various package versions

* Update yarn.lock files

* Attach 'proposal_approved_without_funding' to backend example email

* bump package versions

Co-authored-by: Danny Skubak <skubakdj@gmail.com>
2020-04-07 21:56:32 -05:00
Daniel Ternyak 797c042629
Fix typos / copy (#109)
Update default proposal content
Create Guide section
2019-12-10 15:32:12 -06:00
Danny Skubak 96d0b9e30e Fix Misc Bugs (#106)
* consider all proposals to be staked

* allow proposal titles to wrap

* rejected -> changes requested

* allow empty strings as tip addresses
2019-12-09 16:00:01 -06:00
Daniel Ternyak 3311be8e98
CCRs (#86)
* CCRs API / Models boilerplate

* start on frontend

* backendy things

* Create CCR redux module, integrate API endpoints, create types

* Fix/Cleanup API

* Wire up CreateRequestDraftList

* bounty->target

* Add 'Create Request Flow' MVP

* cleanup

* Tweak filenames

* Simplify migrations

* fix migrations

* CCR Staking MVP

* tslint

* Get Pending Requests into Profile

* Remove staking requirement

* more staking related removals

* MVP Admin integration

* Make RFP when CCR is accepted

* Add pagination to CCRs in Admin
Improve styles for Proposals

* Hookup notifications
Adjust copy

* Simplify ccr->rfp relationship
Add admin approval email
Fixup copy

* Show Message on RFP Detail
Make Header CTAs change based on draft status
Adjust proposal card style

* Bugfix: Show header for non signed in users

* Add 'create a request' to intro

* Profile Created CCRs
RFP CCR attribution

* ignore

* CCR Price in USD  (#85)

* init profile tipjar backend

* init profile tipjar frontend

* fix lint

* implement tip jar block

* fix wrapping, hide tip block on self

* init backend proposal tipjar

* init frontend proposal tipjar

* add hide title, fix bug

* uncomment rate limit

* rename vars, use null check

* allow address and view key to be unset

* add api tests

* fix tsc errors

* fix lint

* fix CopyInput styling

* fix migrations

* hide tipping in proposal if address not set

* add tip address to create flow

* redesign campaign block

* fix typo

* init backend changes

* init admin changes

* init frontend changes

* fix backend tests

* update campaign block

* be - init rfp usd changes

* admin - init rfp usd changes

* fe - fully adapt api util functions to usd

* fe - init rfp usd changes

* adapt profile created to usd

* misc usd changes

* add tip jar to dedicated card

* fix tipjar bug

* use zf light logo

* switch to zf grants logo

* hide profile tip jar if address not set

* add comment, run prettier

* conditionally add info icon and tooltip to funding line

* admin - disallow decimals in RFPs

* fe - cover usd string edge case

* add Usd as rfp bounty type

* fix migration order

* fix email bug

* adapt CCRs to USD

* implement CCR preview

* fix tsc

* Copy Updates and UX Tweaks (#87)

* Add default structure to proposal content

* Landing page copy

* Hide contributors tab for v2 proposals

* Minor UX tweaks for Liking/Following/Tipping

* Copy for Tipping Tooltip, proposal explainer for review, and milestone day estimate notice.

* Fix header styles bug and remove commented out styles.

* Revert "like" / "unfollow" hyphenication

* Comment out unused tests related to staking
Increase PROPOSAL_TARGET_MAX in .env.example

* Comment out ccr approval email send until ready

* Adjust styles, copy.

* fix proposal prune test (#88)

* fix USD display in preview, fix non-unique key (#90)

* Pre-stepper explainer for CCRs.

* Tweak styles

* Default content for CCRs

* fix tsc

* CCR approval and rejection emails

* add back admin_approval_ccr email templates

* Link ccr author name to profile in RFPs

* copy tweaks

* copy tweak

* hookup mangle user command

* Fix/add endif in jinja

* fix tests

* review

* fix review
2019-12-05 19:01:02 -06:00
Danny Skubak 4a0e23e9c7 Price in Usd (#91)
* init profile tipjar backend

* init profile tipjar frontend

* fix lint

* implement tip jar block

* fix wrapping, hide tip block on self

* init backend proposal tipjar

* init frontend proposal tipjar

* add hide title, fix bug

* uncomment rate limit

* rename vars, use null check

* allow address and view key to be unset

* add api tests

* fix tsc errors

* fix lint

* fix CopyInput styling

* fix migrations

* hide tipping in proposal if address not set

* add tip address to create flow

* redesign campaign block

* fix typo

* init backend changes

* init admin changes

* init frontend changes

* fix backend tests

* update campaign block

* be - init rfp usd changes

* admin - init rfp usd changes

* fe - fully adapt api util functions to usd

* fe - init rfp usd changes

* adapt profile created to usd

* misc usd changes

* add tip jar to dedicated card

* fix tipjar bug

* use zf light logo

* switch to zf grants logo

* hide profile tip jar if address not set

* add comment, run prettier

* conditionally add info icon and tooltip to funding line

* admin - disallow decimals in RFPs

* fe - cover usd string edge case

* add Usd as rfp bounty type
2019-12-03 18:02:39 -06:00
Danny Skubak db49fbc7e1 Tip Jar Proposal (#65)
* init profile tipjar backend

* init profile tipjar frontend

* fix lint

* implement tip jar block

* fix wrapping, hide tip block on self

* init backend proposal tipjar

* init frontend proposal tipjar

* add hide title, fix bug

* uncomment rate limit

* rename vars, use null check

* allow address and view key to be unset

* add api tests

* fix tsc errors

* fix lint

* fix CopyInput styling

* fix migrations

* hide tipping in proposal if address not set

* add tip address to create flow
2019-11-20 15:37:26 -06:00
Danny Skubak 8cfec5de5d Remove Categories (#63)
* remove category from admin

* remove category from frontend, add likes to proposal card view

* make category nullable in backend, remove from views

* add db migration

* remove category from frontend rfp

* update tests

* remove category from admin proposal

* remove category from rfp put

* remove moment

* remove moment
2019-11-13 17:23:36 -06:00
Danny Skubak ed6d98ceec Milestone Estimate in Days (#59)
* init admin milestone estimate in days

* init frontend milestone estimate in days

* init backend milestone estimate in days

* fix bugs

* fix bugs

* fix tests

* add tests

* add milestone_deadline email to examples

* fix type errors

* fix tests

* remove comment

* temp prep for merge

* restore changes, update tests

* add db migration

* add tests and comments for set_v2_date_estimates
2019-11-13 16:38:17 -06:00
Danny Skubak 5f049d899b Add Signalling of Support (#41)
* init proposal subscribe be and fe

* add subscription email templates

* wire up subscription emails

* email subscribers on proposal milestone, update, cancel

* disallow subscriptions if email not verified

* update spelling, titles

* disallow proposal subscribe if user is team member

* hide subscribe if not signed in, is team member, canceled

* port follow from grant-base

* remove subscribed

* convert subscribed to follower

* backend - update tests

* frontend - fix typings

* finish follower port

* update comment

* fix email button display issues

* init liking backend

* init liking frontend

* fix lint

* add liking backend tests

* refactor like component
2019-10-24 12:32:00 -05:00
Danny Skubak 25e43a34ff Update Accepted Without Funding (#35)
* backend - init endpoints and model changes

* backend - add tests

* admin - add change to accepted with funding functionality

* backend - fix tests
2019-10-23 16:44:19 -05:00
Danny Skubak 5799ffab19 Proposal Subscription (#31)
* init proposal subscribe be and fe

* add subscription email templates

* wire up subscription emails

* email subscribers on proposal milestone, update, cancel

* disallow subscriptions if email not verified

* update spelling, titles

* disallow proposal subscribe if user is team member

* hide subscribe if not signed in, is team member, canceled

* port follow from grant-base

* remove subscribed

* convert subscribed to follower

* backend - update tests

* frontend - fix typings

* finish follower port

* update comment

* fix email button display issues

* remove loading on AuthButton to prevent two spinners
2019-10-23 16:34:10 -05:00
Danny Skubak 58eb8f2455 Make Accepted Proposals Live (#34)
* make accepted proposals live

* update tests
2019-10-17 17:25:12 -05:00
Danny Skubak fb6b9b5af7 Proposal Lifecycle & Crowdfunding (#23)
* add proposal versioning

* remove deadlines

* update proposal lifecycle for admin

* update proposal lifecycle for backend

* update proposal lifecycle for frontend

* fix tests

* remove acceptedWithFunding

* fix lint, remove commented code

* remove commented code

* refactor backend to provide isVersionTwo

* refactor backend to provide isVersionTwo

* Revert "refactor backend to provide isVersionTwo"

This reverts commit e3b9bc661081e482326f83fa6aa517cf6bdebe6c.

* use isVersionTwo in admin

* add acceptedWithFunding

* trigger ci

* remove "version"

* remove "version"

* remove rejected from campaign block
2019-10-16 22:43:20 -05:00
Daniel Ternyak 701a2f95a9
Proposal deadlines (#28)
* add proposal versioning

* remove deadlines

* remove acceptedWithFunding

* fix lint, remove commented code

* refactor backend to provide isVersionTwo

* refactor backend to provide isVersionTwo

* Revert "refactor backend to provide isVersionTwo"

This reverts commit e3b9bc661081e482326f83fa6aa517cf6bdebe6c.

* trigger ci

* remove "version"
2019-10-11 14:52:52 -05:00
Danny Skubak 746398c59b Proposal Versioning (#21)
* add proposal versioning

* refactor backend to provide isVersionTwo

* trigger ci

* remove "version"
2019-10-11 14:51:10 -05:00
Daniel Ternyak 36c150afcd
Proposal milestone date validation 2019-07-24 13:29:11 -05:00
AMStrix 8819ee3035 Rework Contribution Privacy (#456)
* rework contribution privacy
- add ProposalContribution.privacy
- remove ProposalContribution.no_refund
- anonymous contribution only if not logged in
- logged in contributions can be optionally attributed
- refunds can happen if a user has  a refund address

* admin: upgrade react-easy-state (had memory leak)

* be: filter users private contributions for others

* Adjust copy to be more accurate.

* Add copy for setting refund addresses (#458)
2019-06-11 21:49:14 -05:00
Daniel Ternyak b39e6098c7
Merge branch 'develop' into admin-notifications 2019-04-28 17:32:04 -05:00
Aaron 99af39ed87
quantize proposal funded property 2019-04-16 15:08:13 -05:00
Aaron 381722de74
admin notifications 2019-04-16 12:38:14 -05:00
William O'Beirne 339705207a
Default target to '0' (#413)
* Default proposal target to zero instead of None

* Add frontend validation and 1 ZEC minimum
2019-03-28 13:25:34 -04:00
Will O'Beirne d07c01a4bd
Fix proposal model functions, tests pass. 2019-03-19 13:01:11 -04:00
Will O'Beirne 53f6a186ee
More safety validation 2019-03-18 15:03:01 -04:00
Will O'Beirne 4511a1d6e8
Adjust merged in milestone validation 2019-03-18 14:53:15 -04:00
Will O'Beirne 824ba30fa5
Merge branch 'mixmasala-fix_negative_payout' into better-validation 2019-03-18 14:48:14 -04:00
Will O'Beirne adc2fd4d63
Stricter validation, truncate before db entry, env var proposal target limit 2019-03-18 14:35:08 -04:00
Masala 7703d274bd raise ValidationException on invalid payout percent 2019-03-15 19:19:03 -04:00
Masala db05d2b86f no negative payouts 2019-03-15 18:14:17 -04:00
Daniel Ternyak 495b50a9e9
Misc Fixes (#381)
* Fix Logging typo

* only allow consecutive milestone date estimates

* fix typo

* handle empty target

* validate max proposal brief size
2019-03-14 23:24:10 -05:00
Daniel Ternyak 9b542ab1f1
More webargs validation (#344) 2019-03-14 15:29:02 -05:00
AMStrix 46aa7cf6cf Limit Contribution Related Emails (#360)
* BE: limit contribution emails to CONFIRMED & one per user + add app context to EmailSender

* BE: handle EmailSender setup and start using flask request context
2019-03-14 12:46:09 -04:00
William O'Beirne 9d0591918e Require refund address or confirm donation (#354)
* Add API check to disallow unsetting refund address.

* Require either refund address to be set or explicit consent for a donation. Dont have them show up as refundable in admin.

* Show donations on financials page

* Continue after entry

* Consider no_refund when checking for duplicate contribution.

* Fix types.

* Add a filter for all contributions that are considered donations. Update financial query to include donations.

* Elaborate in message.
2019-03-13 18:36:24 -05:00
AMStrix 1ae519e251 Address TODOs (#349)
* todos: simple ones, removals & modifications to NOTE

* rem-todo: reduced markdown images are removed by sanitizer

* be todo: add user validation to create

* be todo: improve test_invide_api tests

* be todo: remove todo comment

* fe todo: set error messages on reducers

* fe todo: upgrade and enable react-helmet

* todos - remove uneeded

* fe todos: remove unecessary

* be: fix remaining staking contribution calculation
2019-03-13 16:39:50 -05:00
Aaron eb4767d4cc
Merge branch 'develop' into batch-emails
# Conflicts:
#	backend/grant/proposal/models.py
2019-03-12 20:14:51 -05:00
Aaron d1e2545b49
be: EmailSender Thread for pushing emails sends off the response thread 2019-03-12 20:12:07 -05:00
William O'Beirne e160380daa Prevent showing contribution instructions for canceled / expired proposals (#334) 2019-03-12 16:35:15 -05:00
William O'Beirne c6ad668d71 Better contribution error displays (#314)
* Handle blockchain_get failures better.

* tsc
2019-03-12 13:10:56 -04:00
William O'Beirne 9c127648c5
Merge branch 'develop' into expired-notif 2019-03-06 17:37:17 -05:00
Will O'Beirne a9ae245578
Dont add task for anon contributions 2019-03-06 16:39:30 -05:00
Will O'Beirne 1973db1330
Notify user if contribution expires. 2019-03-06 15:33:09 -05:00
AMStrix 1d2228a394 Flexible Matching/Bounties + KYC (#277)
* BE: proposal rfp opt in & proposal bounty

* admin: proposal rfp opt in display & modify bounty

* FE: proposal rfp opt in / proposal.contributionBounty

* fix github merge (so close)

* add status field to update_rfp

* handle only showing canel and refund popover correctly

* undo unneeded change

* BE: make sure rfp.bounty is None when it is set to '0' or null during create/update
2019-03-06 14:25:58 -06:00
Will O'Beirne 6b1a856145
Revert contribution ids to be incremental. 2019-03-06 11:16:28 -05:00
Daniel Ternyak e5426d8975
Merge branch 'develop' into random-ids 2019-03-04 19:23:43 -06:00
Will O'Beirne ae625cb3e1
Generate random ID for public facing entities. 2019-03-04 16:47:52 -05:00
Will O'Beirne 2cc5ade673
Sort homepage rfps by bounty. Fix admin views and some bounty logic. 2019-03-04 13:52:57 -05:00
Will O'Beirne 8a193756b3
Fix unsafe behavior in marshmallow class for contributions. 2019-02-25 15:04:33 -05:00