Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor of grantclr to make the round_num an actual int + add a subround/customer field #7685

Merged
merged 14 commits into from
Nov 20, 2020

Conversation

owocki
Copy link
Contributor

@owocki owocki commented Oct 15, 2020

Description

what do you all think about changing the round num to be 7 for these grants https://bits.owocki.com/z8uY64nB
and then making a ‘subround_slug’ field that contains the info about which category/detail it is for. i worry that were not using the fields correctly here, and its going to byte us ( get it!!!) when we try to do an infra-tech round for round 8.

Refers/Fixes

slack https://gitcoincore.slack.com/archives/G01AL7XRCF2/p1602783199004000

Testing

not tested fully; this needs to be finished up & tested

@owocki
Copy link
Contributor Author

owocki commented Oct 15, 2020

@apbendi @thelostone-mc do you all think this is a worthwhile effort?

the migrations run on this, and i edited some code paths.. but we'd need to fully test it + clean it up before moving forward fully

@owocki owocki changed the title WIP refactor of grantclr to make the round_num an actual int + add a subround field WIP refactor of grantclr to make the round_num an actual int + add a subround/customer field Oct 15, 2020
@thelostone-mc
Copy link
Member

@owocki i do see a few todo here! is that something where you still need to throw in code ?

@owocki
Copy link
Contributor Author

owocki commented Oct 29, 2020

yes there is still work to be done.

it'd be great if people would respond to my questions about whether i'm on the right track before i put in the effort to continue rewriting this.

@apbendi @thelostone-mc do you all think this is a worthwhile effort?

i was gating on the response to this, but from slack it seems like at least you aditya think its a good idea.

@@ -118,7 +118,10 @@ def active_clrs_sum(self):


class GrantCLR(SuperModel):
round_num = models.CharField(max_length=15, help_text="CLR Round Number")

customer_name = models.PositiveIntegerField(help_text="CLR Round Number")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@owocki what is the need for customer name?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is for if we need to do a custom round for zcash, matic, filecoin etc.

path('clr/<slug:round_num>', clr_grants, name='clr_grants'),
path('clr/<slug:round_num>/', clr_grants, name='clr_grants'),
path('clr/<int:round_num>', clr_grants, name='clr_grants'),
path('clr/<int:round_num>/<str:sub_round_slug>', clr_grants, name='clr_grants'),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why would you have round num and slug ?
Is this to group all the clr for round 8 under clr/8/...?

For custom CLR like matic / zcash
I'm not sure if this makes sense

I'd lean towards

  • keeping how it was
  • keeping both

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

round num = 7
slug = community, infra tech, or dapp tech

there can be multiple slugs in the same round.

"""CLR grants explorer."""

try:
clr_round = GrantCLR.objects.get(round_num__icontains=round_num)
clr_round = GrantCLR.objects.get(round_num=round_num, sub_round_slug=sub_round_slug)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if sub_round_slug is empty -> you would get more than one result!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed.

@chibie
Copy link
Contributor

chibie commented Nov 11, 2020

@thelostone-mc @owocki i can take this up given some more clarity

how does this affect filecoin, matic, zcash clr?

if,

round num = 7
slug = community, infra tech, or dapp tech

will filecoin/matic/zcash be slug?

update: got the answer from @owocki 's comment above... filecoin/matic/zcash are values in customer_name . since they don't have categories then sub_round_slug defaults to all

i can make the necessary FE changes for merge and test.

@chibie chibie self-assigned this Nov 11, 2020
@owocki
Copy link
Contributor Author

owocki commented Nov 12, 2020

pls make sure this goes into the grantsround8 branch that @thelostone-mc is creating; not master. probably shouldnt go out ntil grants round8 does

@thelostone-mc
Copy link
Member

Okay i synced up with kevin on slack

we have 3 identifiers for constructing URL

  • round_num : int (compulsory)
  • customer_name: string (optional)
  • sub_round_slug: string (optional)

If customer_name is set , sub_round_slug is not set
URL :/clr/<customer_name>/<round_num>

If customer_name is not set, sub_round_slug is set
URL: /clr/<round_num>/<sub_round_slug>

If customer_name is not set, sub_round_slug is not set
URL: /clr/<round_num>

If customer_name is set, sub_round_slug is set
URL : /clr/<customer_name>/<round_num>/<sub_round_slug>

@chibie chibie changed the title WIP refactor of grantclr to make the round_num an actual int + add a subround/customer field refactor of grantclr to make the round_num an actual int + add a subround/customer field Nov 13, 2020
@chibie chibie marked this pull request as ready for review November 13, 2020 01:28
'sub_round_slug': sub_round_slug,
'customer_name': customer_name
}
clr_round = GrantCLR.objects.get(**params)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@chibie love me some **splat!

@thelostone-mc thelostone-mc changed the base branch from master to grants-round-8 November 17, 2020 06:10
@thelostone-mc
Copy link
Member

thelostone-mc commented Nov 17, 2020

@chibie looks there are a few conflicts! could you fix them up ?

migrations would need to be recreated
Also with round_num being created. this will break
https://github.com/gitcoinco/web/blob/master/app/grants/views.py#L2278

just update round_num to be 0 !
All CLR created by pledges have to be set to the same round_num and the admin will have to change it before launches

@chibie
Copy link
Contributor

chibie commented Nov 19, 2020

@chibie looks there are a few conflicts! could you fix them up ?

migrations would need to be recreated
Also with round_num being created. this will break
https://github.com/gitcoinco/web/blob/master/app/grants/views.py#L2278

just update round_num to be 0 !
All CLR created by pledges have to be set to the same round_num and the admin will have to change it before launches

@thelostone-mc are you saying round_num = 'plegde' should be round_num = 0 ?

maybe sub_round_slug should be 'pledge' ?

@thelostone-mc
Copy link
Member

@chibie that works for me

@chibie
Copy link
Contributor

chibie commented Nov 19, 2020

@thelostone-mc all set here!

@thelostone-mc thelostone-mc merged commit bbfdb7a into grants-round-8 Nov 20, 2020
thelostone-mc added a commit that referenced this pull request Dec 1, 2020
* setup json grants endpoint and view

* add remove from cart

* add model fields

* add styles

* template changes

* links on cat

* grant edition

* Kevin fix multigrant (#7870)

* n:n matching rounds <> grants

* add migration

* chore: tiny fixes

Co-authored-by: owocki <[email protected]>

* fix(grant): validate twitter handle for /grants/new (#7890)

* fix(grant): validate twitter handle for /grants/new

* fix(grants): validate twitter handle in /new

* fix broken grant creation + add region support

* Idena Integration (#7646)

* Added basic setups

* Implemented rest of flow

* Import refactoring

* Compress new image

* Removed Idena from soon section

* Typo

* Redesign idena trust section

* Check for idena uniques

* Applied review suggestion

* Added idena disconnect button

* Moved idena_token from database to redis

* Moved idena_nonce from database to redis

* Moved idena_status and is_idena_verified to db from redis

* Added update_idena_status command

* Added recheck button

* Added daily cronjob for update idena status

* Added idena to post data

* Added idena to clr calculation

* Added idena to trust bounes

* Typo

* Some tweaks

* Recreated migration

Co-authored-by: Aditya Anand M C <[email protected]>

* recreate migration

* Add Saturation Documentation (#7887)

* add quick documentation on saturation methods.

* add saturation documentation migration

Co-authored-by: Aditya Anand M C <[email protected]>

* set default prediction curve

* another fix

* save grant

* saving grant is killing me

* was a comma...

* fix quill render

* add editable fields

* video in description

* refactor of grantclr to make the round_num an actual int + add a subround/customer field (#7685)

* WIP refactor

* linter

* adds customer field

* fix: help texts in model fields

* fix(views): sub_round_slug default should be 'all'

* attempt at frontend todos

* feat: make customer_name & sub_round_slug optional

- add unique_together constraint

* feat: more params to clr_grants view and /clr urls

* feat: implement new clr params in frontend

* feat: new migration

* feat: add new clr params in card info

* update pledge grant creation

* merge migrations

Co-authored-by: Chibuotu Amadi <[email protected]>

* add new endpoint for grant cancellation (#7912)

* cancel grant

* zkSync refactor (#7899)

* Initial setup and cleanup for zksync refactor

* zkSync CheckoutManager now implemented and working

* Handle unsupported tokens and update fee estimate accordingly

* Support fee estimation, delete old zksync code, pass data to parent with events

* Add zkSync modal with all required functionality

* Add zksync balance check, warn user if closing window after checkout started

* Bump zksync version

* Add missing grant_type field to default Rinkeby grants, update zksync gas estimate (#7915)

* fix for grants without type

* Add ActiveCLR Navigations (#7877)

* Add custom display text and owner to model

* Include active_clr rounds in context data

* Update the sidebar with active_clr links

* Add active CLRs  on grants top

* Fix spacing

* Make banner clickable

* Fix sidebar activerounds link

* Reorder sidebar

* Fix indent

* Redo migrations

* Use gitcoin icon as default

* Fix indent

* Hide sidenav if no active CLR rounds

* fix: use sub_round_slug in active_clr_round display

* new migration

* use sub_round_slug in sidebar_search

* indent code

* chore: update help text

* fix issue

* update help text

* improve display of clr round text

Co-authored-by: Chibuotu Amadi <[email protected]>
Co-authored-by: Aditya Anand M C <[email protected]>

* chore(grants): estimate clr via celery (#7913)

* chore: move predict_clr to celery task

* keep predict_clr login in clr.py; house keeping

* update clr print statements with sub_round_slug

* add debug comment to predict_clr task

* move print statements to predict_clr celery; use passed args

* review feedback

* add missing 'self' argument to predict_clr task

Co-authored-by: Aditya Anand M C <[email protected]>

* ui: redo collection UI #7750 (#7929)

* Make Grant Banner/Bacgkround image customizable (#7855)

* Fix reverse url issue by checking if params exist

* Fix typo

* Create model  and register in Admin

* Display custom routing policy

* Add comment to model class and fix display in admin

* Fix incorrect variable spelling

* Redo Migrations

* Create new model and add further model docs

* Removed trailing comma

* recreate migration

Co-authored-by: Aditya Anand M C <[email protected]>

* fix styles and model repr

* Implement new contributions flow (#7891)

* Implement new flow

* backend wiring

* update banner button styling

* minor fix

Co-authored-by: Aditya Anand M C <[email protected]>

* Check if query params exists before attempting to access elements / Grants auto fill (#7898)

* Check if query params exists before attempting to access elements

* Uncomment block

* Rewrite to use URLSearchParams

* add image upload to details edit

* fix code

* bump eslint optional-chaining support and fix lint errors

* remove prints

* Refactor And Improve The Trust Bonus Tab (#7934)

* Replace the Ad-hoc Trust Bonus UI with a single Vue App

* Remove the trust bonus template and replace it with a
  new one that uses Vue top to bottom
* Create a re-usable Vue component for active trust service
  rows, with events for callbacks, and slots for overriding
  any given component of the UI as needed
* Create individual Vue components for each of the modal views
  required by certain trust services, including refactoring the
  BrightID implementation to use Vue
* Cleanup copy and design of the POAP modal
* Convert the new Idena row to use the Vue component

* Rip all SMS verification code out of the cart

* Show Trust Bonus message in cart based on all services

* Send a single email for all grant  items in cart (#7880)

* Send a single email for all items in cart

Don't send an email for negative grant contribution as well as wait for grant processing task to complete before sending

Remove old code

Remove space

Remove unused import

Update with new templates

Co-authored-by: Miguel Angel Gordián <[email protected]>

* Ensure styles are the same

* Remove chord

* Update thank_you_for_supporting.txt

* Fix sync helper to use new api

Co-authored-by: Miguel Angel Gordián <[email protected]>

* bump travis node version

* Generate collection thumbnail (#7587)

* Genrate collection thumbnail

* Fix tuple error on grant url

* Update avatar for collection thumbs

* #7822

* travis npm cache false

* travis syntax

* compress image and upload logo

* add "maximize your grant" blog link to new grant email (#7945)

* Grants checkout POST request + tx validator updates (#7942)

* Some cleanup/prep before updating POST requests

* Saves and deletes JSON store for standard checkout

* Working POST requests with validation for L1 and L2 checkout

* Various validator changes and setup + upgrade zksync-checkout version + enforce from address

* Add migration for updating checkout_type field

* Add checkout_type support, fix beforeunload handler, bump zksync-checkout version

* Set checkout_type on contribution creation

* Remove unused grant checks and unused zksync-recovery code

* Validator properly validates zkSync transactions

* a/b test of sort order (#7941)

* #7792

* redo mig + fix indent

Co-authored-by: Aditya Anand M C <[email protected]>

* add twitter verification

* missing migration

* quick view

* fix styles and bugs

* Fixing idena verified badge (#7946)

* fix broken UI

* show my items only if user is logged in

* update text in did you know

* update helptext + make background_image in GRPolicy

* add policy name in GRPolicy

* update grant cancel text

* split button into 2 lines

* round off decimals

* remove current/past sponsors

* fix broke CLR URL in UI

* ensure rectangular CLR banner gets applied on landing

* fix banner image + append / to url

* clear error on successfull submit

* hide prediction curve when grant is not part of CLR

* title styles

* fix UI error

* enable tabs

* styles for tx tab

* show only active grant types in UI

* back link

* fix rerender rich description

* Fix incorrect donation summary values (#7952)

* make label clickable

* add idle grants

* validation

* fix edit grants bug

* add browser validation

* strict validation

* hide follow on logout

* fix checker for landing

* post_data fix for grants round 8

* update grant count

* broken addToCart URL

* fix grant edit flow

* chore: show view collection instead on add to cart in explorer

* ensure logged in user sees fav + add to collection

* fix broken code

* Fix display of some collections (#7960)

* revert: multiple contrib -> 1 email change

* Fixes grants 8 (#7962)

* Fix checkIsCurator function

* Fix removeCollection function due to bad object construction

* Remove mandatory @ and validate twitter urls

* add is on team for cart

* change card state from sidebar

* small clr styles

* fix(grants): backend twitter validation (#7961)

* revert: multiple contrib -> 1 email change

* fix: twitter validation

* validate twitter handle in grant edit
* add missing '@' symbol

* fix if logic

* improve backend validation

* fix spacing

* fix indentation

* return response; save username in db

Co-authored-by: Aditya Anand M C <[email protected]>

* add back sidecart to details

* add compressor to grants creation

* Bump zksync version, prevent user from clicking standard checkout button twice (#7972)

* Open Idena download link in a new tab (#7973)

* Fix twitter profile verification error (#7974)

* fix thumbail and grant preview on mini collections view (#7975)

* unify styles

* fix broken ts

* fix twitter username validation in frontend (#7976)

* fix edit grants not working (#7977)

* remove logo watcher

* collections card images css

* Email & other fixes (#7964)

* quest_of_the_day return 0 if length is 0
  * Returns an IndexError otherwise

* fix: remove <br/>
  * the buttons need to be placed sideways

* Minor ui fix

* Replace Slack icon to Discord invite in emails' footer

* update gr8 twitter cards (#7980)

* eslint

Co-authored-by: Aditya Anand M C <[email protected]>
Co-authored-by: owocki <[email protected]>
Co-authored-by: Chibuotu Amadi <[email protected]>
Co-authored-by: Rhonin <[email protected]>
Co-authored-by: fronk <[email protected]>
Co-authored-by: Matt <[email protected]>
Co-authored-by: Abdulhakeem Adetunji Mustapha <[email protected]>
Co-authored-by: Miguel Angel Gordián <[email protected]>
Co-authored-by: Ben DiFrancesco <[email protected]>
Co-authored-by: corydickson <[email protected]>
Co-authored-by: Angela Gilhotra <[email protected]>
Co-authored-by: Dan Lipert <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants