From ad71b5cc9d20449ee1cf5e93313443fd5cea2a21 Mon Sep 17 00:00:00 2001 From: Owocki Date: Sun, 3 Feb 2019 08:13:14 -0700 Subject: [PATCH 01/18] fix for eth_dollar being messed up https://gitcoincore.slack.com/archives/CBDTKB59A/p1549069056026300 --- app/assets/v2/images/eth_dollar.png | Bin 0 -> 6864 bytes app/grants/templates/grants/detail/index.html | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 app/assets/v2/images/eth_dollar.png diff --git a/app/assets/v2/images/eth_dollar.png b/app/assets/v2/images/eth_dollar.png new file mode 100644 index 0000000000000000000000000000000000000000..89147a7197d3e093434f758c6092357db3920350 GIT binary patch literal 6864 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 Grant Logo
- +

$25K CLR Matching Available – Contribute Today!

From 29650c027027071bed98b08886d816aa92e1a13b Mon Sep 17 00:00:00 2001 From: Owocki Date: Mon, 4 Feb 2019 10:56:46 -0500 Subject: [PATCH 02/18] staked kudo --- app/assets/v2/images/kudos/staked_kudos.svg | 967 ++++++++++++++++++++ app/kudos/kudos.yaml | 10 + 2 files changed, 977 insertions(+) create mode 100644 app/assets/v2/images/kudos/staked_kudos.svg diff --git a/app/assets/v2/images/kudos/staked_kudos.svg b/app/assets/v2/images/kudos/staked_kudos.svg new file mode 100644 index 00000000000..d4e04dc26dc --- /dev/null +++ b/app/assets/v2/images/kudos/staked_kudos.svg @@ -0,0 +1,967 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/kudos/kudos.yaml b/app/kudos/kudos.yaml index 5b58ab691cc..2ee1d7fe49a 100644 --- a/app/kudos/kudos.yaml +++ b/app/kudos/kudos.yaml @@ -2900,6 +2900,16 @@ - open source - sorcery image: open_sourceress.svg +- name: staker_kudo + description: Bufficorns understand the importance of making a stand. Staking is how true Bufficorns prove their commitment! + priceFinney: 50 + numClonesAllowed: 1000 + tags: + - ethdenver 2019 + - staker + image: staked_kudos.svg + + From c535da9a3e16b98ce9a3f449982beb6935d2b71c Mon Sep 17 00:00:00 2001 From: Owocki Date: Mon, 4 Feb 2019 13:41:12 -0500 Subject: [PATCH 03/18] https://sentry.gitcoin.co/gitcoin/gitcoin-prod-backend/issues/3360/ --- app/grants/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/grants/models.py b/app/grants/models.py index c0832198df3..81f340fa0e9 100644 --- a/app/grants/models.py +++ b/app/grants/models.py @@ -216,7 +216,7 @@ def contract(self): """Return grants contract.""" from dashboard.utils import get_web3 web3 = get_web3(self.network) - grant_contract = web3.eth.contract(self.contract_address, abi=self.abi) + grant_contract = web3.eth.contract(Web3.toChecksumAddress(self.contract_address), abi=self.abi) return grant_contract From d74a9d9afe735511412c042d11e051d0c281c9d5 Mon Sep 17 00:00:00 2001 From: Owocki Date: Mon, 4 Feb 2019 13:44:16 -0500 Subject: [PATCH 04/18] make it so that subminer is not blocked if one process fails --- app/grants/management/commands/subminer.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/grants/management/commands/subminer.py b/app/grants/management/commands/subminer.py index f7c7f0c202e..4f4a5ee1ccf 100644 --- a/app/grants/management/commands/subminer.py +++ b/app/grants/management/commands/subminer.py @@ -129,4 +129,7 @@ def handle(self, *args, **options): logger.info(" - %d has %d subs ready for execution", grant.pk, subs.count()) for subscription in subs: - process_subscription(subscription, live) + try: + process_subscription(subscription, live) + except Exception as e: + logger.exception(e) From 94793aa92c1b171e64a9a48354411d828da6d7f7 Mon Sep 17 00:00:00 2001 From: Owocki Date: Mon, 4 Feb 2019 17:51:08 -0500 Subject: [PATCH 05/18] grant request from scott https://gitcoincore.slack.com/archives/CAXQ7PT60/p1549319840139300?thread_ts=1549306624.133600&cid=CAXQ7PT60 --- app/grants/models.py | 2 +- app/grants/templates/grants/card/front.html | 4 ++-- app/grants/templates/grants/detail/index.html | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/grants/models.py b/app/grants/models.py index 81f340fa0e9..b238ff7ef44 100644 --- a/app/grants/models.py +++ b/app/grants/models.py @@ -196,7 +196,7 @@ def __str__(self): def percentage_done(self): """Return the percentage of token received based on the token goal.""" - return ((self.monthly_amount_subscribed / self.amount_goal) * 100) + return ((self.amount_received / self.amount_goal) * 100) @property def abi(self): diff --git a/app/grants/templates/grants/card/front.html b/app/grants/templates/grants/card/front.html index cfa4d8bd95c..7b1e1ddbe6a 100644 --- a/app/grants/templates/grants/card/front.html +++ b/app/grants/templates/grants/card/front.html @@ -43,8 +43,8 @@

-
{{ grant.monthly_amount_subscribed|floatformat:2|intcomma }} DAI
-
{% trans 'Monthly Funded' %}
+
{{ grant.amount_received|floatformat:2|intcomma }} DAI
+
{% trans 'Funded' %}
{{ grant.amount_goal|floatformat:2|intcomma }} DAI
diff --git a/app/grants/templates/grants/detail/index.html b/app/grants/templates/grants/detail/index.html index 4332dddc29b..b94f3581bf0 100644 --- a/app/grants/templates/grants/detail/index.html +++ b/app/grants/templates/grants/detail/index.html @@ -170,8 +170,8 @@

- {{ grant.monthly_amount_subscribed|floatformat:2|intcomma }} DAI -

Monthly Funding

+ {{ grant.amount_received|floatformat:2|intcomma }} DAI +

Total Funding

{{ grant.amount_goal|floatformat:2|intcomma }} DAI @@ -180,7 +180,7 @@

- {% trans 'Total Funding Received: '%} {{ grant.amount_received }} + {% trans 'Monthly Recurring Funding: '%} {{ grant.monthly_amount_subscribed }}

{% if grant_is_inactive %} From 8acb458f16221d66a1adeecbc4d16ffe4f779d06 Mon Sep 17 00:00:00 2001 From: Owocki Date: Tue, 5 Feb 2019 15:18:14 -0500 Subject: [PATCH 06/18] recipient funding address --- app/grants/templates/grants/detail/index.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/grants/templates/grants/detail/index.html b/app/grants/templates/grants/detail/index.html index b94f3581bf0..08579504b6f 100644 --- a/app/grants/templates/grants/detail/index.html +++ b/app/grants/templates/grants/detail/index.html @@ -113,12 +113,12 @@

{{ grant.reference_url }} -
- - - {{ grant.admin_address }} - {% endif %} +
+ + + {{ grant.admin_address }} +
{% if is_admin and not grant_is_inactive %} From 2b5e1244f44975a621e7a6a0e7e7799343ebde84 Mon Sep 17 00:00:00 2001 From: Owocki Date: Tue, 5 Feb 2019 15:24:52 -0500 Subject: [PATCH 07/18] hack to handle WETH --- app/economy/utils.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/economy/utils.py b/app/economy/utils.py index 4399f2fdc50..c53f4771555 100644 --- a/app/economy/utils.py +++ b/app/economy/utils.py @@ -47,6 +47,13 @@ def convert_amount(from_amount, from_currency, to_currency, timestamp=None): float: The amount in to_currency. """ + + # hack to handle WETH + if from_currency == 'WETH': + from_currency = 'ETH' + if to_currency == 'WETH': + to_currency = 'ETH' + if timestamp: conversion_rate = ConversionRate.objects.filter( from_currency=from_currency, From d685ff4f3d4957956a4d6a35b07ebd11f552e904 Mon Sep 17 00:00:00 2001 From: Owocki Date: Tue, 5 Feb 2019 15:43:20 -0500 Subject: [PATCH 08/18] let the subminer handle the case where a tx is taking too long to confirm --- app/grants/management/commands/subminer.py | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/app/grants/management/commands/subminer.py b/app/grants/management/commands/subminer.py index 4f4a5ee1ccf..6f3e392ac64 100644 --- a/app/grants/management/commands/subminer.py +++ b/app/grants/management/commands/subminer.py @@ -35,6 +35,7 @@ logger = logging.getLogger(__name__) SLEEP_TIME = 20 +MAX_COUNTER = 30 def process_subscription(subscription, live): @@ -66,14 +67,29 @@ def process_subscription(subscription, live): try: if live: logger.info(" -- *executing* ") + counter = 0 while not has_tx_mined(subscription.new_approve_tx_id, subscription.grant.network): time.sleep(SLEEP_TIME) - logger.info(f" -- *waiting {SLEEP_TIME} seconds*") + logger.info(f" -- *waiting {SLEEP_TIME} seconds for {subscription.new_approve_tx_id} to mine*") + counter += 1 + if counter > MAX_COUNTER: + raise Exception(f"waited more than {MAX_COUNTER} times for tx to mine") + txid = subscription.do_execute_subscription_via_web3() logger.info(" -- *waiting for mine* (txid %s) ", txid) - while not has_tx_mined(txid, subscription.grant.network): + + override = False + counter = 0 + while not has_tx_mined(txid, subscription.grant.network) and not override: time.sleep(SLEEP_TIME) - logger.info(f" -- *waiting {SLEEP_TIME} seconds*") + logger.info(f" -- *waiting {SLEEP_TIME} seconds for {txid} to mine*") + counter += 1 + if counter > MAX_COUNTER: + override = True + # force the subminer to continue on; this tx is taking too long. + # an admin will have to look at this later and determine what went wrong + # KO 2019/02/06 + status, __ = get_tx_status(txid, subscription.grant.network, timezone.now()) if status != 'success': error = f"tx status from RPC is {status} not success, txid: {txid}" From bb4e843a118e0000e66812c8fc22147c94dd6f95 Mon Sep 17 00:00:00 2001 From: Owocki Date: Tue, 5 Feb 2019 15:51:25 -0500 Subject: [PATCH 09/18] https://gitcoincore.slack.com/archives/CAXQ7PT60/p1549398377158800 --- app/grants/templates/grants/detail/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/grants/templates/grants/detail/index.html b/app/grants/templates/grants/detail/index.html index 08579504b6f..3ce7ca45118 100644 --- a/app/grants/templates/grants/detail/index.html +++ b/app/grants/templates/grants/detail/index.html @@ -147,7 +147,7 @@

Contract Owner Address

- + From f5d66878dd030603174d41b219821f8a4d3a5219 Mon Sep 17 00:00:00 2001 From: Owocki Date: Wed, 6 Feb 2019 10:33:18 -0500 Subject: [PATCH 10/18] new kudos --- app/assets/v2/images/kudos/livestreamer.svg | 531 ++++++++++++++++++++ app/kudos/kudos.yaml | 8 + 2 files changed, 539 insertions(+) create mode 100644 app/assets/v2/images/kudos/livestreamer.svg diff --git a/app/assets/v2/images/kudos/livestreamer.svg b/app/assets/v2/images/kudos/livestreamer.svg new file mode 100644 index 00000000000..827c8feb7fa --- /dev/null +++ b/app/assets/v2/images/kudos/livestreamer.svg @@ -0,0 +1,531 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/kudos/kudos.yaml b/app/kudos/kudos.yaml index 2ee1d7fe49a..8002a6c5a1e 100644 --- a/app/kudos/kudos.yaml +++ b/app/kudos/kudos.yaml @@ -2908,6 +2908,14 @@ - ethdenver 2019 - staker image: staked_kudos.svg +- name: livestreamer + description: This Kudos is specially made for members of the Gitcoin community who have presented on the Gitcoin weekly livestream (Fridays at 5pm EST) + priceFinney: 100 + numClonesAllowed: 100 + tags: + - gitcoin + - livestream + image: livestreamer.svg From df5707334ccb7eae76cd041efdeb4ff25ca0b65a Mon Sep 17 00:00:00 2001 From: Owocki Date: Thu, 7 Feb 2019 10:10:07 -0700 Subject: [PATCH 11/18] new kudos --- app/assets/v2/images/kudos/vaporwave.svg | 10 ++++++++++ app/kudos/kudos.yaml | 11 +++++++++++ 2 files changed, 21 insertions(+) create mode 100644 app/assets/v2/images/kudos/vaporwave.svg diff --git a/app/assets/v2/images/kudos/vaporwave.svg b/app/assets/v2/images/kudos/vaporwave.svg new file mode 100644 index 00000000000..f512421bd93 --- /dev/null +++ b/app/assets/v2/images/kudos/vaporwave.svg @@ -0,0 +1,10 @@ + + + + Vaporwave + Created with Sketch. + + + + + \ No newline at end of file diff --git a/app/kudos/kudos.yaml b/app/kudos/kudos.yaml index 8002a6c5a1e..ed375480d6c 100644 --- a/app/kudos/kudos.yaml +++ b/app/kudos/kudos.yaml @@ -2916,6 +2916,17 @@ - gitcoin - livestream image: livestreamer.svg +- name: vaporwave + description: Vaporwave is a microgenre of electronic music and an Internet meme that emerged in the early 2010s. Ethereum is a blockchain that emerged in the blockchain space in the mid 2010s. Whats not to love about either, or both? + priceFinney: 35 + numClonesAllowed: 350 + tags: + - gitcoin + - bender + image: vaporwave.svg + to_address: '0xdf9B0d723776972C5cAe27FDb4F3Ea827A5Cf283' + artist: joe_bender + From 7d372710615687f684d9f853b3cc77b676f1b563 Mon Sep 17 00:00:00 2001 From: Owocki Date: Fri, 8 Feb 2019 11:01:20 -0700 Subject: [PATCH 12/18] roundup email --- app/retail/emails.py | 46 ++++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/app/retail/emails.py b/app/retail/emails.py index 400ec8294e7..42ff39fce54 100644 --- a/app/retail/emails.py +++ b/app/retail/emails.py @@ -842,26 +842,29 @@ def render_start_work_applicant_expired(interest, bounty): return response_html, response_txt, subject + + # ROUNDUP_EMAIL def render_new_bounty_roundup(to_email): from dashboard.models import Bounty - subject = "Gitcoin Is Matching $25K In Contributions To OSS!" - new_kudos_pks = [1352, 1349, 1336] + subject = "Last Week of CLR Matching | Glen Weyl Joins Livestream" + new_kudos_pks = [1404, 1401, 1368] new_kudos_size_px = 150 intro = '''

Hi Gitcoiners,

-Today, we're launching a Radical Experiment. -From February 1st to February 15th, we'll be matching any contributions you make to these 20 Ethereum projects with $25,000 in funding. Because we are -using Liberal Radicalism as the mechanism, it's possible a small contribution can lead to large amounts of funding allocated to projects in the space. +This week marks the last week of our Radical Experiment for funding ETH 2.0 projects. +For one more week (until February 15th), we'll be matching any contributions you make to these 20 Ethereum projects with $25,000 in funding. +Because we are using Liberal Radicalism as the mechanism, small contributions (even $5!) can go a long way.

-Donations of $5 or more will be matched via Constrained Capital Liberal Radicalism (CLR), so act today! Head to the Gitcoin Grants Explorer to participate. +To continue the discussion, we're hosting Glen Weyl, author of Radical Markets, on the Gitcoin Livestream today. Join us at 5PM ET today +and add any questions you have to the Slido with code D842!

-

A Week Of New Kudos!

+

Happy Kudos Friday!

''' + "".join([f"" for pk in new_kudos_pks]) + ''' @@ -880,34 +883,34 @@ def render_new_bounty_roundup(to_email): ''' highlights = [{ - 'who': 'jerry40', + 'who': 'luiserebii', 'who_link': True, - 'what': 'Worked with Diginex on geewallet!', - 'link': 'https://gitcoin.co/issue/diginex/geewallet/54/2205', + 'what': 'Completed work on a Plasma bounty!', + 'link': 'https://gitcoin.co/issue/plasma-group/plasma-core/60/2266', 'link_copy': 'View more', }, { - 'who': 'johnlenin00', + 'who': 'dbrettrobertson', 'who_link': True, 'what': 'Helped with Core Dev call notes!', - 'link': 'https://gitcoin.co/issue/status-im/pm/12/2175', + 'link': 'https://gitcoin.co/issue/ethereum/pm/75/2242', 'link_copy': 'View more', }, { - 'who': 'mukulverm4', + 'who': 'lazaridis-com', 'who_link': True, - 'what': 'Worked with HERCone who is hiring!', - 'link': 'https://gitcoin.co/issue/HERCone/herc-edge-login/142/2190', + 'what': 'Completed work on a Goerli bounty.', + 'link': 'https://gitcoin.co/issue/goerli/parity-goerli/46/2210', 'link_copy': 'View more', }, ] bounties_spec = [{ - 'url': 'https://github.com/plasma-group/plasma-contracts/issues/46', - 'primer': 'Plasma! Plasma! Plasma!', + 'url': 'https://github.com/trailofbits/manticore/issues/1343', + 'primer': 'Work with Trail of Bits on manticore!', }, { - 'url': 'https://github.com/status-im/status-react/issues/7045', - 'primer': 'Status is still BUIDLing!', + 'url': 'https://github.com/dannovikov/crypto-lending/issues/1', + 'primer': 'Help build a Multi-Sig ETH Wallet.', }, { - 'url': 'https://github.com/plasma-group/plasma-contracts/issues/40', - 'primer': 'And more work on Plasma.', + 'url': 'https://github.com/textileio/textile-explore/issues/1', + 'primer': 'Build a Flickr import/export tool.', }, ] num_leadboard_items = 5 @@ -972,6 +975,7 @@ def render_new_bounty_roundup(to_email): return response_html, response_txt, subject + # DJANGO REQUESTS From b9f8b5d14f88a7c7f358e310e126b3bd9daba79b Mon Sep 17 00:00:00 2001 From: Owocki Date: Fri, 8 Feb 2019 11:27:35 -0700 Subject: [PATCH 13/18] new kudos --- app/assets/v2/images/kudos/hummingbird.svg | 55 ++++++++++++ app/assets/v2/images/kudos/solidity.svg | 88 ++++++++++++++++++ .../v2/images/kudos/the_journey_begins.svg | 31 +++++++ app/assets/v2/images/kudos/vyper.svg | 90 +++++++++++++++++++ app/kudos/kudos.yaml | 46 ++++++++++ 5 files changed, 310 insertions(+) create mode 100644 app/assets/v2/images/kudos/hummingbird.svg create mode 100644 app/assets/v2/images/kudos/solidity.svg create mode 100644 app/assets/v2/images/kudos/the_journey_begins.svg create mode 100644 app/assets/v2/images/kudos/vyper.svg diff --git a/app/assets/v2/images/kudos/hummingbird.svg b/app/assets/v2/images/kudos/hummingbird.svg new file mode 100644 index 00000000000..1af631efafe --- /dev/null +++ b/app/assets/v2/images/kudos/hummingbird.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/v2/images/kudos/solidity.svg b/app/assets/v2/images/kudos/solidity.svg new file mode 100644 index 00000000000..d073eaf3a33 --- /dev/null +++ b/app/assets/v2/images/kudos/solidity.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/v2/images/kudos/the_journey_begins.svg b/app/assets/v2/images/kudos/the_journey_begins.svg new file mode 100644 index 00000000000..e63769436eb --- /dev/null +++ b/app/assets/v2/images/kudos/the_journey_begins.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + diff --git a/app/assets/v2/images/kudos/vyper.svg b/app/assets/v2/images/kudos/vyper.svg new file mode 100644 index 00000000000..1614935baf9 --- /dev/null +++ b/app/assets/v2/images/kudos/vyper.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + diff --git a/app/kudos/kudos.yaml b/app/kudos/kudos.yaml index ed375480d6c..ad3967d2c7b 100644 --- a/app/kudos/kudos.yaml +++ b/app/kudos/kudos.yaml @@ -2926,6 +2926,52 @@ image: vaporwave.svg to_address: '0xdf9B0d723776972C5cAe27FDb4F3Ea827A5Cf283' artist: joe_bender +- name: vyper_pro + description: Awarded for a having a notable portfolio of Vyper content, or contributing to the Vyper languge itself. + priceFinney: 200 + numClonesAllowed: 100 + tags: + - Vyper + - Ethereum + - Serenity + - Programming + image: vyper.svg + to_address: '0x4dA2e85D64bEcE663CCaB06E89B970b6b077f22F' + artist: mladen +- name: solidity_pro + description: Awarded for a having a notable portfolio of Solidity content, or contributing to the Solidity languge itself. + priceFinney: 200 + numClonesAllowed: 100 + tags: + - Solidity + - Ethereum + - Serenity + - Programming + image: solidity.svg + to_address: '0x4dA2e85D64bEcE663CCaB06E89B970b6b077f22F' + artist: mladen +- name: hummingbird_love_(TheHeadspace.net) + description: You embody Love, Speed, and Determination. When it comes to code you are as nimble as a hummingbird. + priceFinney: 20 + numClonesAllowed: 200 + tags: + - EthDenver + - The Headspace + image: hummingbird.svg + to_address: '0x96706EB471F875a9a41442f358d3B34ba02F868b' + artist: the_headspace +- name: the_journey_begins(TheHeadspace.net) + description: You spin up DAPPS on the weekend, just for fun. + priceFinney: 1 + numClonesAllowed: 100 + tags: + - ethereum + - hacker + - hackathon + - eth + image: the_journey_begins.svg + to_address: '0x96706EB471F875a9a41442f358d3B34ba02F868b' + artist: the_headspace From eadad7ce5ec7af7e5e0a1eec746ee52ca2e63fc2 Mon Sep 17 00:00:00 2001 From: Owocki Date: Fri, 8 Feb 2019 12:06:35 -0700 Subject: [PATCH 14/18] new kudos --- app/assets/v2/images/kudos/hummingbird.svg | 65 +++---------------- .../v2/images/kudos/the_journey_begins.svg | 41 +++--------- 2 files changed, 20 insertions(+), 86 deletions(-) diff --git a/app/assets/v2/images/kudos/hummingbird.svg b/app/assets/v2/images/kudos/hummingbird.svg index 1af631efafe..d766fcc8012 100644 --- a/app/assets/v2/images/kudos/hummingbird.svg +++ b/app/assets/v2/images/kudos/hummingbird.svg @@ -1,55 +1,10 @@ - - - - - - - - - - - - - - - - - - - - - + + + + hummingbird + Created with Sketch. + + + + + \ No newline at end of file diff --git a/app/assets/v2/images/kudos/the_journey_begins.svg b/app/assets/v2/images/kudos/the_journey_begins.svg index e63769436eb..e9a1aece8ea 100644 --- a/app/assets/v2/images/kudos/the_journey_begins.svg +++ b/app/assets/v2/images/kudos/the_journey_begins.svg @@ -1,31 +1,10 @@ - - - - - - - - - - - - - - - + + + + the_journey_begins + Created with Sketch. + + + + + \ No newline at end of file From 72f3622811ea7c0e842ca90d855e1c594fdabc22 Mon Sep 17 00:00:00 2001 From: Owocki Date: Fri, 8 Feb 2019 14:16:32 -0700 Subject: [PATCH 15/18] error email so i dont have to keep writing it --- app/dashboard/admin.py | 3 +-- app/grants/admin.py | 25 ++++++++++++++++++++++++- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/app/dashboard/admin.py b/app/dashboard/admin.py index acc64bc97f4..45910ed066d 100644 --- a/app/dashboard/admin.py +++ b/app/dashboard/admin.py @@ -24,7 +24,7 @@ from .models import ( Activity, BlockedUser, Bounty, BountyFulfillment, BountySyncRequest, CoinRedemption, CoinRedemptionRequest, - Interest, LabsResearch, Profile, SearchHistory, Subscription, Tip, TokenApproval, Tool, ToolVote, UserAction, + Interest, LabsResearch, Profile, SearchHistory, Tip, TokenApproval, Tool, ToolVote, UserAction, ) @@ -154,7 +154,6 @@ def network_link(self, instance): admin.site.register(SearchHistory, SearchHistoryAdmin) admin.site.register(Activity, ActivityAdmin) -admin.site.register(Subscription, GeneralAdmin) admin.site.register(BlockedUser, GeneralAdmin) admin.site.register(UserAction, UserActionAdmin) admin.site.register(Interest, InterestAdmin) diff --git a/app/grants/admin.py b/app/grants/admin.py index 410dd88aa50..1e0bb420367 100644 --- a/app/grants/admin.py +++ b/app/grants/admin.py @@ -46,7 +46,7 @@ class GrantAdmin(GeneralAdmin): 'logo_svg_asset', 'logo_asset', 'created_on', 'modified_on', 'token_address', 'contract_address', 'deploy_tx_id', 'cancel_tx_id', 'token_symbol', 'network', 'amount_goal', 'amount_received', 'team_member_list', - 'subscriptions_links', 'contributions_links', 'link', + 'subscriptions_links', 'contributions_links', 'link', ] # Custom Avatars @@ -102,11 +102,13 @@ def contributions_links(self, instance): logo_asset.short_description = 'Logo Image Asset' + class SubscriptionAdmin(GeneralAdmin): """Define the Subscription administration layout.""" raw_id_fields = ['grant', 'contributor_profile'] readonly_fields = [ 'contributions_links', + 'error_email_copy', ] def contributions_links(self, instance): @@ -119,6 +121,27 @@ def contributions_links(self, instance): return mark_safe("
".join(eles)) + def error_email_copy(self, instance): + if not instance.error: + return '' + reason = "you dont have enough of a balance of DAI in your account" + amount = int(instance.amount_per_period) + html = f""" + + """ + + return mark_safe(html) + + class ContributionAdmin(GeneralAdmin): """Define the Contribution administration layout.""" From 17fc13f2332145cad437afeecf1dc16288446541 Mon Sep 17 00:00:00 2001 From: Owocki Date: Sat, 9 Feb 2019 15:50:34 -0700 Subject: [PATCH 16/18] wrong img url --- app/kudos/kudos.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/kudos/kudos.yaml b/app/kudos/kudos.yaml index ad3967d2c7b..c8dead14d57 100644 --- a/app/kudos/kudos.yaml +++ b/app/kudos/kudos.yaml @@ -2665,7 +2665,7 @@ - ethdenver 2019 - shill colorado - 14ers - image: shill_colorado.svg + image: shill_colorado_ethdenver_2019.svg - name: skale_labs_ethdenver_2019 description: Being bold and daring isn’t foreign to Bufficorns. Jumping in frozen lakes in the middle of winter is the perfect way to blow off some steam with friends from Skale Labs. priceFinney: 100 From 4d3787aa4bdf7afba90240a1b2bdd9cdcf1ac2b5 Mon Sep 17 00:00:00 2001 From: Owocki Date: Sat, 9 Feb 2019 16:08:46 -0700 Subject: [PATCH 17/18] kudos updates --- app/kudos/kudos.yaml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/app/kudos/kudos.yaml b/app/kudos/kudos.yaml index c8dead14d57..f7377140cbb 100644 --- a/app/kudos/kudos.yaml +++ b/app/kudos/kudos.yaml @@ -2961,14 +2961,12 @@ to_address: '0x96706EB471F875a9a41442f358d3B34ba02F868b' artist: the_headspace - name: the_journey_begins(TheHeadspace.net) - description: You spin up DAPPS on the weekend, just for fun. - priceFinney: 1 - numClonesAllowed: 100 + description: You are well on your way to becoming the best, look within and find your strength. + priceFinney: 20 + numClonesAllowed: 200 tags: - - ethereum - - hacker - - hackathon - - eth + - EthDenver + - The Headspace image: the_journey_begins.svg to_address: '0x96706EB471F875a9a41442f358d3B34ba02F868b' artist: the_headspace From 0046d4d3e0689ca76cc41fe3fcb68bea31a37fce Mon Sep 17 00:00:00 2001 From: Owocki Date: Sat, 9 Feb 2019 16:28:43 -0700 Subject: [PATCH 18/18] debug script --- scripts/debug/migrate_dupe_profile.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/debug/migrate_dupe_profile.py b/scripts/debug/migrate_dupe_profile.py index 464271b9472..0259810dada 100644 --- a/scripts/debug/migrate_dupe_profile.py +++ b/scripts/debug/migrate_dupe_profile.py @@ -6,6 +6,10 @@ old_profile = Profile.objects.get(handle__iexact=old_username) new_profile = Profile.objects.get(handle__iexact=new_username) +user = old_profile.user +user.username = new_username +user.save() + new_profile.user = old_profile.user old_profile.user = None old_profile.save()