コード例 #1
0
ファイル: admin.py プロジェクト: javipus/gitcoinco-web
 def response_change(self, request, obj):
     from django.shortcuts import redirect
     if "_reject_kudos" in request.POST:
         from marketing.mails import notify_kudos_rejected
         notify_kudos_rejected(obj)
         self.message_user(request, f"Notified user of rejection")
         return redirect(
             '/_administrationkudos/tokenrequest/?approved=f&rejection_reason='
         )
     if "_change_owner" in request.POST or request.POST.get(
             '_change_owner_mint_kudos', False):
         obj.to_address = '0x6239FF1040E412491557a7a02b2CBcC5aE85dc8F'
         obj.save()
         self.message_user(request, f"Changed owner to gitcoin")
     if "_mint_kudos" in request.POST or request.POST.get(
             '_change_owner_mint_kudos', False):
         from kudos.tasks import mint_token_request
         try:
             obj.rejection_reason = 'n/a'
             obj.save()
             mint_token_request.delay(obj.id)
             self.message_user(request, f"Mint/sync submitted to chain")
         except Exception as e:
             self.message_user(request, str(e))
         return redirect(
             '/_administrationkudos/tokenrequest/?approved=f&rejection_reason='
         )
     return redirect(obj.admin_url)
コード例 #2
0
    def response_change(self, request, obj):
        if "_mint_kudos" in request.POST:
            from kudos.tasks import mint_token_request
            try:
                mint_token_request.delay(obj.id)
                self.message_user(request, f"Mint/sync submitted to chain")
            except Exception as e:
                self.message_user(request, str(e))

        if "_change_owner" in request.POST:
            obj.to_address = '0x6239FF1040E412491557a7a02b2CBcC5aE85dc8F'
            obj.save()
            self.message_user(request, f"Changed owner to gitcoin")
        return super().response_change(request, obj)
コード例 #3
0
ファイル: views.py プロジェクト: ririen/gitcoin
def newkudos(request):
    context = {
        'active':
        'newkudos',
        'msg':
        None,
        'nav':
        'kudos',
        'title':
        "Mint new Kudos",
        'avatar_url':
        request.build_absolute_uri(
            static('v2/images/twitter_cards/tw_cards-06.png')),
    }

    if not request.user.is_authenticated:
        login_redirect = redirect('/login/github/?next=' +
                                  request.get_full_path())
        return login_redirect

    if request.POST:
        required_fields = [
            'name', 'description', 'priceFinney', 'artist', 'platform',
            'numClonesAllowed', 'tags', 'to_address'
        ]
        validation_passed = True
        for key in required_fields:
            if not request.POST.get(key):
                context['msg'] = str(
                    _('You must provide the following fields: ')) + key
                validation_passed = False
        if validation_passed:
            #upload to s3
            img = request.FILES.get('photo')
            session = boto3.Session(
                aws_access_key_id=settings.AWS_ACCESS_KEY_ID,
                aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY,
            )

            s3 = session.resource('s3')
            key = f'media/uploads/{uuid.uuid4()}_{img.name}'
            response = s3.Bucket(settings.MEDIA_BUCKET).put_object(
                Key=key,
                Body=img,
                ACL='public-read',
                ContentType='image/svg+xml')
            artwork_url = f'https://{settings.MEDIA_BUCKET}.s3-us-west-2.amazonaws.com/{key}'

            # save / send email
            obj = TokenRequest.objects.create(
                profile=request.user.profile,
                name=request.POST['name'],
                description=request.POST['description'],
                priceFinney=request.POST['priceFinney'],
                artist=request.POST['artist'],
                bounty_url=request.POST['bounty_url'],
                platform=request.POST['platform'],
                numClonesAllowed=request.POST['numClonesAllowed'],
                tags=request.POST['tags'].split(","),
                to_address=request.POST['to_address'],
                artwork_url=artwork_url,
                network='xdai',
                approved=False,
                metadata={
                    'ip': get_ip(request),
                    'email': request.POST.get('email'),
                    'pay_gas': request.POST.get('pay_gas', 0),
                })
            new_kudos_request(obj)

            context['msg'] = str(
                _('Your Kudos has been submitted and will be listed within 2 business days if it is accepted.'
                  ))

            if request.user.is_staff:
                if request.POST.get('mint_and_sync'):
                    from kudos.tasks import mint_token_request
                    mint_token_request.delay(obj.id)
                    context['msg'] = str(_('Kudos mint/sync submitted'))

    return TemplateResponse(request, 'newkudos.html', context)