dashboard.gas_views
Copyright (C) 2021 Gitcoin Core
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.
dashboard.tip_views
Define the tip related views.
Copyright (C) 2021 Gitcoin Core
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.
send_tip
send_tip(request)
Handle the first stage of sending a tip.
receive_tip_v3
receive_tip_v3(request, key, txid, network)
Handle the receiving of a tip (the POST).
Returns: TemplateResponse: the UI with the tip confirmed.
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
send_tip_4
send_tip_4(request)
Handle the fourth stage of sending a tip (the POST).
Returns: JsonResponse: response with success state.
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
tipee_address
tipee_address(request, handle)
Return the address, if any, that someone would like to be tipped directly at.
Returns: list: The list of tipee address strings.
send_tip_3
send_tip_3(request)
Handle the third stage of sending a tip (the POST).
Returns: JsonResponse: response with success state.
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
send_tip_2
send_tip_2(request)
Handle the second stage of sending a tip.
TODO: * Convert this view-based logic to a django form.
Returns: JsonResponse: If submitting tip, return response with success state. TemplateResponse: Render the submission form.
dashboard.views
Copyright (C) 2021 Gitcoin Core
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.
record_bounty_activity
record_bounty_activity(bounty, user, event_name, interest=None, fulfillment=None)
Creates Activity object.
Args: bounty (dashboard.models.Bounty): Bounty user (string): User name event_name (string): Event name interest (dashboard.models.Interest): Interest
Raises: None
Returns: None
gh_login
gh_login(request)
Attempt to redirect the user to Github for authentication.
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
new_interest
new_interest(request, bounty_id)
Claim Work for a Bounty.
:request method: POST
Args: bounty_id (int): ID of the Bounty.
Returns: dict: The success key with a boolean value and accompanying error.
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
rating_modal
rating_modal(request, bounty_id, username)
Rating modal.
Args: pk (int): The primary key of the bounty to be rated.
Raises: Http404: The exception is raised if no associated Bounty is found.
Returns: TemplateResponse: The rate bounty view.
rating_capture
rating_capture(request)
Rating capture.
Args: pk (int): The primary key of the bounty to be rated.
Raises: Http404: The exception is raised if no associated Bounty is found.
Returns: TemplateResponse: The rate bounty capture modal.
unrated_bounties
unrated_bounties(request)
Rating capture.
Args: pk (int): The primary key of the bounty to be rated.
Raises: Http404: The exception is raised if no associated Bounty is found.
Returns: TemplateResponse: The rate bounty capture modal.
remove_interest
remove_interest(request, bounty_id)
Unclaim work from the Bounty.
Can only be called by someone who has started work
:request method: POST
post_id (int): ID of the Bounty.
Returns: dict: The success key with a boolean value and accompanying error.
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
extend_expiration
extend_expiration(request, bounty_id)
Extend expiration of the Bounty.
Can only be called by funder or staff of the bounty.
:request method: POST
post_id (int): ID of the Bounty.
Returns: dict: The success key with a boolean value and accompanying error.
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
cancel_reason
cancel_reason(request)
Add Cancellation Reason for Bounty during Cancellation
request method: POST
Params: pk (int): ID of the Bounty. canceled_bounty_reason (string): STRING with cancel reason
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
uninterested
uninterested(request, bounty_id, profile_id)
Remove party from given bounty
Can only be called by the bounty funder
:request method: GET
Args: bounty_id (int): ID of the Bounty profile_id (int): ID of the interested profile
Params: slashed (str): if the user will be slashed or not
Returns: dict: The success key with a boolean value and accompanying error.
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
onboard
onboard(request, flow=None)
Handle displaying the first time user experience flow.
users_directory
users_directory(request)
Handle displaying users directory page.
users_directory_elastic
users_directory_elastic(request)
Handle displaying users directory page.
users_fetch
users_fetch(request)
Handle displaying users.
get_user_bounties
get_user_bounties(request)
Get user open bounties.
Args: request (int): get user by id or use authenticated.
Variables:
Returns: json: array of bounties.
dashboard
dashboard(request)
Handle displaying the dashboard.
accept_bounty
accept_bounty(request)
Process the bounty.
Args: pk (int): The primary key of the bounty to be accepted.
Raises: Http404: The exception is raised if no associated Bounty is found.
Returns: TemplateResponse: The accept bounty view.
invoice
invoice(request)
invoice view.
Args: pk (int): The primary key of the bounty to be accepted.
Raises: Http404: The exception is raised if no associated Bounty is found.
Returns: TemplateResponse: The invoice view.
social_contribution_modal
social_contribution_modal(request)
Social Contributuion to the bounty.
Args: pk (int): The primary key of the bounty to be accepted.
Raises: Http404: The exception is raised if no associated Bounty is found.
Returns: TemplateResponse: The accept bounty view.
bulk_invite
bulk_invite(request)
Invite users with matching skills to a bounty.
Args: bounty_id (int): The primary key of the bounty to be accepted. skills (string): Comma separated list of matching keywords.
Raises: Http403: The exception is raised if the user is not authenticated or the args are missing. Http401: The exception is raised if the user is not a staff member.
Returns: Http200: Json response with {'status': 200, 'msg': 'email_sent'}.
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
social_contribution_email
social_contribution_email(request)
Social Contribution Email
Returns: JsonResponse: Success in sending email.
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
payout_bounty
payout_bounty(request)
Payout the bounty.
Args: pk (int): The primary key of the bounty to be accepted.
Raises: Http404: The exception is raised if no associated Bounty is found.
Returns: TemplateResponse: The accept bounty view.
bulk_payout_bounty
bulk_payout_bounty(request)
Payout the bounty.
Args: pk (int): The primary key of the bounty to be accepted.
Raises: Http404: The exception is raised if no associated Bounty is found.
Returns: TemplateResponse: The accept bounty view.
fulfill_bounty
fulfill_bounty(request)
Fulfill a bounty.
Parameters: pk (int): The primary key of the Bounty. standard_bounties_id (int): The standard bounties ID of the Bounty. network (str): The network of the Bounty. githubUsername (str): The Github Username of the referenced user.
Raises: Http404: The exception is raised if no associated Bounty is found.
Returns: TemplateResponse: The fulfill bounty view.
increase_bounty
increase_bounty(request)
Increase a bounty as the funder.
Args: pk (int): The primary key of the bounty to be increased.
Raises: Http404: The exception is raised if no associated Bounty is found.
Returns: TemplateResponse: The increase bounty view.
cancel_bounty
cancel_bounty(request)
Kill an expired bounty.
Args: pk (int): The primary key of the bounty to be cancelled.
Raises: Http404: The exception is raised if no associated Bounty is found.
Returns: TemplateResponse: The cancel bounty view.
bounty_invite_url
bounty_invite_url(request, invitecode)
Decode the bounty details and redirect to correct bounty
Args: invitecode (str): Unique invite code with bounty details and handle
Returns: django.template.response.TemplateResponse: The Bounty details template response.
bounty_details
bounty_details(request, ghuser='', ghrepo='', ghissue=0, stdbounties_id=None)
Display the bounty details.
Args: ghuser (str): The Github user. Defaults to an empty string. ghrepo (str): The Github repository. Defaults to an empty string. ghissue (int): The Github issue number. Defaults to: 0.
Raises: Exception: The exception is raised for any exceptions in the main query block.
Returns: django.template.response.TemplateResponse: The Bounty details template response.
quickstart
quickstart(request)
Display Quickstart Guide.
load_banners
load_banners(request)
Load profile banners
profile_details
profile_details(request, handle)
Display profile keywords.
Args: handle (str): The profile handle.
user_card
user_card(request, handle)
Display profile keywords.
Args: handle (str): The profile handle.
profile_keywords
profile_keywords(request, handle)
Display profile details.
Args: handle (str): The profile handle.
profile_quests
profile_quests(request, handle)
Display profile quest points details.
Args: handle (str): The profile handle.
profile_grants
profile_grants(request, handle)
Display profile grant contribution details.
Args: handle (str): The profile handle.
profile_activity
profile_activity(request, handle)
Display profile activity details.
Args: handle (str): The profile handle.
profile_spent
profile_spent(request, handle)
Display profile spent details.
Args: handle (str): The profile handle.
profile_ratings
profile_ratings(request, handle, attr)
Display profile ratings details.
Args: handle (str): The profile handle.
profile_earnings
profile_earnings(request, handle, direction='to')
Display profile earnings details.
Args: handle (str): The profile handle.
profile_viewers
profile_viewers(request, handle)
Display profile viewers details.
Args: handle (str): The profile handle.
profile_job_opportunity
profile_job_opportunity(request, handle)
Save profile job opportunity.
Args: handle (str): The profile handle.
profile_settings
profile_settings(request)
Toggle profile automatic backup flag.
Args: handle (str): The profile handle.
profile_backup
profile_backup(request)
Read the profile backup data.
Args: handle (str): The profile handle.
profile_tax_settings
profile_tax_settings(request, handle)
Save profile tax info (country location and address).
Args: handle (str): The profile handle.
profile_filter_activities
profile_filter_activities(activities, activity_name, activity_tabs)
A helper function to filter a ActivityQuerySet.
Args: activities (ActivityQuerySet): The ActivityQuerySet. activity_name (str): The activity_type to filter.
Returns: ActivityQuerySet: The filtered results.
profile
profile(request, handle, tab=None)
Display profile details.
Args: handle (str): The profile handle.
Variables: context (dict): The template context to be used for template rendering. profile (dashboard.models.Profile): The Profile object to be used. status (int): The status code of the response.
Returns: TemplateResponse: The profile templated view.
get_quickstart_video
get_quickstart_video(request)
Show quickstart video.
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
extend_issue_deadline
extend_issue_deadline(request)
Show quickstart video.
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
sync_web3
sync_web3(request)
Sync up web3 with the database.
This function has a few different uses. It is typically called from the
front end using the javascript sync_web3
function. The issueURL
is
passed in first, followed optionally by a bountydetails
argument.
Returns: JsonResponse: The JSON response following the web3 sync.
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
new_bounty
new_bounty(request)
Create a new bounty.
new_hackathon_bounty
new_hackathon_bounty(request, hackathon='')
Create a new hackathon bounty.
dashboard_sponsors
dashboard_sponsors(request, hackathon='', panel='prizes')
Handle rendering of HackathonEvents. Reuses the dashboard template.
hackathon
hackathon(request, hackathon='', panel='prizes')
Handle rendering of HackathonEvents. Reuses the dashboard template.
get_hackathons
get_hackathons(request)
Handle rendering all Hackathons.
board
board(request)
Handle the board view.
funder_dashboard_bounty_info
funder_dashboard_bounty_info(request, bounty_id)
Per-bounty JSON data for the user dashboard
funder_dashboard
funder_dashboard(request, bounty_type)
JSON data for the funder dashboard
contributor_dashboard
contributor_dashboard(request, bounty_type)
JSON data for the contributor dashboard
change_user_profile_banner
change_user_profile_banner(request)
Handle Profile Banner Uploads
create_bounty_v1
create_bounty_v1(request)
ETC-TODO - evaluate validity of duplicate / redundant data in models - wire in email (invite + successful creation)
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
cancel_bounty_v1
cancel_bounty_v1(request)
ETC-TODO - wire in email (invite + successful cancellation)
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
fulfill_bounty_v1
fulfill_bounty_v1(request)
ETC-TODO - wire in email (invite + successful fulfillment) - evalute BountyFulfillment unused fields
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
payout_bounty_v1
payout_bounty_v1(request, fulfillment_id)
ETC-TODO - wire in email (invite + successful payout)
{
amount:
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
reverse_proxy_rpc_v1
reverse_proxy_rpc_v1(request, tenant)
Proxy payout transaction to external node to bypass CORS restriction on browser.
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
close_bounty_v1
close_bounty_v1(request, bounty_id)
ETC-TODO - wire in email
csrf_exempt
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.