This repository has been archived by the owner on Feb 8, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 309
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4221 from gratipay/relax-open-work-requirement
Relax open work requirement
- 2133
- 2132
- 2131
- 2130
- 2129
- 2128
- 2127
- 2126
- 2125
- 2124
- 2123
- 2122
- 2121
- 2120
- 2119
- 2118
- 2117
- 2116
- 2115
- 2114
- 2113
- 2112
- 2111
- 2110
- 2109
- 2108
- 2107
- 2106
- 2105
- 2104
- 2103
- 2102
- 2101
- 2100
- 2099
- 2098
- 2097
- 2096
- 2095
- 2094
- 2093
- 2092
- 2091
- 2090
- 2089
- 2088
- 2087
- 2086
- 2085
- 2084
- 2083
- 2082
- 2081
- 2080
- 2079
- 2078
- 2077
- 2076
- 2075
- 2074
- 2073
- 2072
- 2071
- 2070
- 2069
- 2068
- 2067
- 2066
- 2065
- 2064
- 2063
- 2062
- 2061
- 2060
- 2059
- 2058
- 2057
- 2056
- 2055
- 2054
- 2053
- 2052
- 2051
- 2050
- 2049
- 2048
- 2047
- 2046
- 2045
- 2044
- 2043
- 2042
- 2041
- 2040
- 2039
- 2038
- 2037
- 2036
- 2035
- 2034
- 2033
- 2032
- 2031
- 2030
- 2029
- 2028
- 2027
- 2026
- 2025
- 2024
- 2023
- 2022
- 2021
- 2020
- 2019
- 2018
Showing
28 changed files
with
893 additions
and
1,158 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--https://github.com/gratipay/gratipay.com/pull/4214 | ||
|
||
BEGIN; | ||
ALTER TABLE teams DROP COLUMN todo_url; | ||
END; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,158 +1,3 @@ | ||
[---] | ||
banner = _("About") | ||
title = _("Payments") | ||
[---] text/html | ||
{% extends "templates/about-features.html" %} | ||
{% block content %} | ||
|
||
<p>Gratipay offers a <a | ||
href="https://en.wikipedia.org/wiki/Pay_what_you_want">voluntary</a> <a | ||
href="https://en.wikipedia.org/wiki/Subscription_business_model">subscription</a> | ||
<a href="https://en.wikipedia.org/wiki/Revenue_model">revenue model</a>, | ||
wherein Teams receive weekly payments from ~users: see our <a href="/about/">site | ||
overview</a> for basic definitions.</p> | ||
|
||
|
||
<h2 id="receiving">How do I use Gratipay to receive money? | ||
<a class="permalink" title="permalink" href="#receiving">¶</a> | ||
</h2> | ||
|
||
<p><a href="/new">Apply for a Team</a>. Your ~user account will be the | ||
owner of the Team, and will take 100% of the Team's revenue each week | ||
until we bring back <a href="./payroll">payroll</a>.</p> | ||
|
||
|
||
<h2 id="giving">How do I give money? | ||
<a class="permalink" title="permalink" href="#giving">¶</a> | ||
</h2> | ||
|
||
<p><a href="/explore/teams/">Browse</a> or <a href="/search">search</a> for | ||
a Team you want to give to, and then look for the prompt. Here's <a | ||
href="/introtopython/">introtopython</a>, for example:</p> | ||
|
||
<div><a href="/introtopython/"><img src="giving-prompt-anon.png"></a></div> | ||
|
||
<div><a href="/introtopython/"><img src="giving-prompt-auth.png"></a></div> | ||
|
||
|
||
<h2 id="when">When are payments run? | ||
<a class="permalink" title="permalink" href="#when">¶</a> | ||
</h2> | ||
|
||
<p>We process payments once a week, on Thursdays. You can <a | ||
href="https://github.com/gratipay/inside.gratipay.com/issues?q=label%3APayday">watch | ||
along</a> each week.</p> | ||
|
||
|
||
<h2 id="currencies">What currencies do you support? | ||
<a class="permalink" title="permalink" href="#currencies">¶</a> | ||
</h2> | ||
|
||
<p>We charge in USD.</p> | ||
|
||
|
||
<h2 id="methods">What payment methods do you support? | ||
<a class="permalink" title="permalink" href="#methods">¶</a> | ||
</h2> | ||
|
||
<p>We support the following brands of credit and debit card: Visa, | ||
MasterCard, Discover, JCB, and American Express.</p> | ||
|
||
|
||
<h2 id="fees">What are the payment fees? | ||
<a class="permalink" title="permalink" href="#fees">¶</a> | ||
</h2> | ||
|
||
<p>Our credit card processor, Braintree, charges 2.9% + 30¢ per | ||
transaction. We upcharge ~users to cover this fee at cost, and Teams | ||
receive the face value of the payment. For example, we'll charge $20.91 to | ||
cover a $20 payment.</p> | ||
|
||
<p>Non-U.S. banks may assess foreign exchange and/or other fees.</p> | ||
|
||
<p>Gratipay itself is <a href="/Gratipay/">funded on Gratipay</a>. We don't | ||
take a cut.<p> | ||
|
||
|
||
<h2 id="limits">What are the payment limits? | ||
<a class="permalink" title="permalink" href="#limits">¶</a> | ||
</h2> | ||
|
||
<p>The minimum a ~user can give any one Team is 1¢ per week. The | ||
maximum is $1,000 per week, and is intended to reduce income volatility by | ||
reducing how dependent a Team is on a few sources of income.</p> | ||
|
||
<p>Our minimum credit/debit card charge is $10. We <a | ||
href="https://medium.com/gratipay-blog/charging-in-arrears-18cacf779bee#.z92kxeqt6">charge | ||
in arrears</a>. For example, we'll charge $10 (+ fees) at the end of ten | ||
weeks for a $1/wk subscription. This may cause your Team's receiving to <a href="#receiving-less">fluctuate</a>.</p> | ||
|
||
|
||
<h2 id="promoting">What can I do to promote my Gratipay Team? | ||
<a class="permalink" title="permalink" href="#promoting">¶</a> | ||
</h2> | ||
|
||
<p>Check out <a href="http://tractionbook.com/"><i>Traction</i></a>!</p> | ||
|
||
|
||
<h2 id="who">How do I see who is giving to my Team? | ||
<a class="permalink" title="permalink" href="#who">¶</a> | ||
</h2> | ||
|
||
<p>You can't. Payments are anonymous, to avoid the problem where people | ||
feel overly entitled to special treatment because they've given your Team a | ||
little money.</p> | ||
|
||
<p>You <em>can</em> see overall statistics for your Team under "Receiving" on your Team page, including:</p> | ||
<ul> | ||
<li>Funded Dues: incoming payments from ~users who have not reached the <a href="#limits">charge threshold</a>, backed by working credit cards.</li> | ||
<li>Unfunded Dues: incoming payments that are not backed by working credit cards.</li> | ||
<li>Estimated payment for next week: payments that the Team will receive next <a href="#when">payday</a>.</li> | ||
</ul> | ||
|
||
<h2 id="receiving-less">Why is my Team receiving less now than it was before? | ||
<a class="permalink" title="permalink" href="#receiving-less">¶</a> | ||
</h2> | ||
|
||
<p>If your Team's income on Gratipay decreased, one of the following | ||
happened (most likely first):</p> | ||
|
||
<ol> | ||
<li>Due to the way we handle <a href="#limits">minimum charges</a>, it's | ||
possible that (for example) you might see a $10 payment every 10 | ||
weeks.</li> | ||
|
||
<li>A ~user decreased or entirely removed their payment to your Team, | ||
or their Gratipay account was closed. As Gratipay payments are | ||
anonymous, we cannot tell you who.</li> | ||
|
||
<li>A ~user's credit card failed when we tried to charge it.</li> | ||
|
||
<li>You have violated our <a | ||
href="https://gratipay.com/about/terms/">terms of service</a>. We will | ||
have contacted you before terminating your account.</li> | ||
|
||
<li>We received a legal document ordering Gratipay to cease | ||
processing payments for you. We will contact you unless prohibited by | ||
court order.</li> | ||
|
||
</ol> | ||
|
||
|
||
<h2 id="taxes">Is money I give through Gratipay tax-deductible? | ||
<a class="permalink" title="permalink" href="#taxes">¶</a> | ||
</h2> | ||
|
||
<p>No.</p> | ||
|
||
|
||
<h2 id="right-team">How do I know I am giving to the right Team? | ||
<a class="permalink" title="permalink" href="#right-team">¶</a> | ||
</h2> | ||
|
||
<p>You can follow links to Gratipay from a trusted source like a company | ||
or organization's website. Also, Twitter verifies accounts in instances | ||
where this is particularly relevant, so check their Twitter account | ||
carefully if it's linked.</p> | ||
|
||
{% endblock %} | ||
website.redirect('/about/features/') | ||
[---] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,184 +1,3 @@ | ||
[---] | ||
banner = _("About") | ||
title = _("Payroll") | ||
[---] text/html | ||
{% extends "templates/about-features.html" %} | ||
{% block content %} | ||
|
||
<p>We've invented a system called “Team takes</a>” to solve the | ||
<a | ||
href="https://mako.cc/writing/funding_volunteers/funding_volunteers.html">problem | ||
of compensating voluntary labor</a>. Essentially, in our solution, everyone | ||
sets their own compensation. Our first version of this system worked great! Now | ||
we are <a | ||
href="https://github.com/gratipay/gratipay.com/issues/3433">revamping</a> it to | ||
better fit with existing tax and labor law. <a | ||
href="https://medium.com/gratipay-blog">Stay tuned</a>! :-)</p> | ||
|
||
<a href="https://github.com/gratipay/gratipay.com/issues/3433"> | ||
<img src="{{ website.asset('under-construction.png') }}" width="386"> | ||
</a> | ||
|
||
<p>This page documents how our system will work once we <a | ||
href="https://github.com/gratipay/gratipay.com/issues/3433">bring it | ||
back</a>, and the limited sense it which it works today. See our <a | ||
href="/about/">site overview</a> for definitions of basic terms.</p> | ||
|
||
|
||
<h2 id="take-what-you-want">Take-What-You-Want | ||
</h2> | ||
|
||
<p>The essence of Gratipay's payroll system is that everyone publicly sets | ||
their own compensation, or “take.” Similar to <a | ||
href="https://en.wikipedia.org/wiki/Pay_what_you_want">pay-what-you-want</a> | ||
on the <a href="./payments">payments</a> side, Gratipay introduces | ||
“take-what-you-want” on the payroll side.</p> | ||
|
||
<p>The owner of a Team adds ~users as “members,” which sets | ||
their weekly take to a penny, and can remove members, which is a safeguard | ||
against abuse of the system. However, once a ~user is a member of a Team, | ||
only that ~user can increase their take above a penny a week, or reduce it | ||
once it's been increased (apart from the nuclear option of removing the | ||
~user).</p> | ||
|
||
<p>Gratipay's payroll system optimizes compensation of voluntary labor. In | ||
a voluntary organization—by definition—each member has control | ||
of their labor inputs. Gratipay payroll complements this with control over | ||
their monetary withdrawals. By giving the individual control over | ||
<i>both</i> variables, Gratipay provides for the resolution of the | ||
individual resentment and guilt that otherwise build up when mixing money | ||
with voluntary labor. Feeling burned out? Take more money, or do less work. | ||
Not pulling your weight? Take less money, or do more work.</p> | ||
|
||
<p>It is normal for payroll to gradually get out of balance over time, for | ||
some people to end up taking too much and others too little. Team managers | ||
should view payroll imbalances as vital indicators of underlying social | ||
issues on the Team, and address those issues at the social level. Once the | ||
social issues are addressed, the payroll will naturally rebalance to | ||
reflect the new social reality of the Team. A healthy Team is built on | ||
trust, and trusting each other with money is a powerful cause and effect of | ||
mutual trust.</p> | ||
|
||
|
||
<h2 id="law">What About Tax and Labor Law? | ||
<a class="permalink" title="permalink" href="#law">¶</a> | ||
</h2> | ||
|
||
<p>Voluntary organizations such as open-source projects are often only | ||
loosely organized. Owning a Gratipay Team, by contrast, introduces | ||
weightier duties and responsibilities governed by tax and labor law. The | ||
challenge we face is building out a system that is robust enough to be | ||
legal, and simple enough to be accessible.</p> | ||
|
||
<p>Team owners signing up now should be prepared to accept the | ||
yet-to-be-fully-determined burden associated with payroll once we do <a | ||
href="https://github.com/gratipay/gratipay.com/issues/3433">bring it | ||
back</a>. <i>Caveat emptor</i>.</p> | ||
|
||
|
||
<h2 id="not-enough-revenue">What if my Team doesn't have any revenue to share? | ||
<a class="permalink" title="permalink" href="#not-enough-revenue">¶</a> | ||
</h2> | ||
|
||
<p>Gratipay's payroll is about sharing out of your Team's <i>abundance</i>, | ||
so it doesn't apply if your Team has no revenue available to share with | ||
contributors. Every Team when it's just starting out will take some time to | ||
generate enough revenue to compensate people for their labor. Some Teams | ||
may take especially long, for example, a coworking space where the money | ||
primarily goes towards rent and other expenses. A good rule of thumb is | ||
that if anyone <i>is</i> taking payroll for their labor, then anyone else | ||
<i>may</i> take payroll for their labor.</p> | ||
|
||
|
||
<h2 id="take-order">Who takes first? | ||
<a class="permalink" title="permalink" href="#take-order">¶</a> | ||
</h2> | ||
|
||
<p>In our original experiment, the last person added to a Team was the | ||
first person to take payroll each week (and take growth was throttled so | ||
they couldn't take all the money and run). We'll probably add more | ||
flexibility here so that company founders can be guaranteed they'll get | ||
their take before sharing with others.</p> | ||
|
||
|
||
<h2 id="distributing">How do I use Gratipay to distribute payroll? | ||
<a class="permalink" title="permalink" href="#distributing">¶</a> | ||
</h2> | ||
|
||
<p><a href="/new">Apply for a Team</a>. Your ~user account will be the | ||
owner of the Team, and will receive 100% of the Team's <a | ||
href="./payments">revenue</a> each week.</p> | ||
|
||
|
||
<h2 id="taking">How do I take money from a Team? | ||
<a class="permalink" title="permalink" href="#taking">¶</a> | ||
</h2> | ||
|
||
<p>Right now, the only one who can take money from a Team is the Team's | ||
owner. The Team's owner takes 100% of the Team's <a | ||
href="./payments">revenue</a> each week.</p> | ||
|
||
|
||
<h2 id="adding-members">How do I add members to my Team's payroll? | ||
<a class="permalink" title="permalink" href="#adding-members">¶</a> | ||
</h2> | ||
|
||
<p>You <a href="https://github.com/gratipay/gratipay.com/issues/3433">can't | ||
yet</a>.</p> | ||
|
||
|
||
<h2 id="when">When is payroll run? | ||
<a class="permalink" title="permalink" href="#when">¶</a> | ||
</h2> | ||
|
||
<p>We process payroll once a week, on Thursdays. You can <a | ||
href="https://github.com/gratipay/inside.gratipay.com/issues?q=label%3APayday">watch | ||
along</a> each week.</p> | ||
|
||
|
||
<h2 id="currencies">What currencies do you support? | ||
<a class="permalink" title="permalink" href="#currencies">¶</a> | ||
</h2> | ||
|
||
<p>We pay out in USD.</p> | ||
|
||
|
||
<h2 id="methods">What payout methods do you support? | ||
<a class="permalink" title="permalink" href="#methods">¶</a> | ||
</h2> | ||
|
||
<p>We are able to deliver funds to Team owners via PayPal. In fact, you | ||
must connect a PayPal account to your ~user account via <a | ||
href="/about/me/routes/">Gratipay Payment Routes page</a> before you can | ||
apply for a Team.</p> | ||
|
||
|
||
<h2 id="fees">What are the payout fees? | ||
<a class="permalink" title="permalink" href="#fees">¶</a> | ||
</h2> | ||
|
||
<p>PayPal charges a 2% fee, capped at a $1 fee for U.S. accounts, and $20 | ||
for non-U.S. accounts. We assess this fee at cost upon payout.</p> | ||
|
||
<p>There may be foreign exchange and/or other fees involved in withdrawing | ||
funds from PayPal to your bank.</p> | ||
|
||
<p>Gratipay itself is <a href="/Gratipay/">funded on Gratipay</a>. We don't | ||
take a cut.<p> | ||
|
||
|
||
<h2 id="limits">What are the payout limits? | ||
<a class="permalink" title="permalink" href="#minimum">¶</a> | ||
</h2> | ||
|
||
<p>Our minimum payout is 50¢. We pool your money for you week to week | ||
until you reach the minimum. There is no maximum.</p> | ||
|
||
|
||
<h2 id="taxes">Do I have to pay taxes on the income I receive from Gratipay? | ||
<a class="permalink" title="permalink" href="#taxes">¶</a> | ||
</h2> | ||
|
||
<p>Yes.</p> | ||
|
||
{% endblock %} | ||
website.redirect('/about/features/') | ||
[---] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
from datetime import datetime | ||
|
||
from aspen import Response | ||
from gratipay.models.team import Team | ||
[---] | ||
request.allow('GET') | ||
|
||
if user.ANON: | ||
raise Response(401, _("You must sign in to apply for your project to join Gratipay.")) | ||
|
||
if user.participant.email_address is None: | ||
raise Response(400, _("You must have a verified email address to apply for your project to join Gratipay.")) | ||
|
||
if not user.participant.has_payout_route: | ||
raise Response(400, _("You must attach a PayPal account to apply for your project to join Gratipay.")) | ||
|
||
title = _("Apply to Join Gratipay") | ||
banner = _("Apply") | ||
suppress_sidebar = True | ||
[---] text/html | ||
{% extends "templates/base.html" %} | ||
|
||
{% block scripts %} | ||
<script>$(document).ready(Gratipay.new_team.initForm);</script> | ||
{{ super() }} | ||
{% endblock %} | ||
|
||
{% block content %} | ||
<style> | ||
textarea { | ||
width: 100%; | ||
height: 200px; | ||
} | ||
</style> | ||
<div class="application-complete" style="display: none;"> | ||
<p>{{ _("Thanks! Your public project page is:") }}</p> | ||
<p><a href="" class="team_url"></a></p> | ||
<p>{{ _("And your public review ticket is:") }}</p> | ||
<p><a href="" class="review_url"></a></p> | ||
<p>{{ _( "You can watch and participate in our review process there. We will send a notification to {email} when we finish our review." | ||
, email=user.participant.email_address | ||
) }}</p> | ||
<p>{{ _("Thanks for applying!") }}</p> | ||
</div> | ||
<form action="/teams/create.json" method="POST" id="new-team"> | ||
<input type="hidden" name="csrf_token" value="{{ csrf_token }}"> | ||
|
||
<label><h2>{{ _("Project Name") }}</h2></label> | ||
<p><i>{{ _("At least one letter A through Z, plus numbers, dashes (-), underscores (_), periods (.), comma (,) and whitespace.") }}</i></p> | ||
<input type="text" name="name" required autofocus> | ||
|
||
<label><h2>{{ _("Product or Service") }}</h2></label> | ||
<p><i>{{ _("What product or service does your project provide?") }}</i></p> | ||
<textarea name="product_or_service" required></textarea> | ||
|
||
<label><h2>{{ _("Homepage") }}</h2></label> | ||
<p><i>{{ _("What is the customer-facing web page for your project?") }}</i></p> | ||
<input type="text" name="homepage" required> | ||
|
||
<label><h2>{{ _("Image") }}</h2></label> | ||
<p><i>{{ _("PNG or JPG up to 256 kB. Will be cropped square and resized to 160 x 160 and 48 x 48 (with original saved for later).") }}</i></p> | ||
<input type="file" name="image" required> | ||
|
||
<h2>{{ _("Agreements") }}</h2> | ||
<input type="checkbox" value="true" name="agree_public" id="agree_public"> | ||
<label for="agree_public"> | ||
{{ _( "I agree to have my application {0}publicly reviewed{1}." | ||
, '<a href="http://inside.gratipay.com/howto/review-teams">'|safe | ||
, '</a>'|safe | ||
) }} | ||
</label> | ||
|
||
<br> | ||
<input type="checkbox" value="true" name="agree_terms" id="agree_terms"> | ||
<label for="agree_terms"> | ||
{{ _( "I agree to the other {0}terms of service{1} as well." | ||
, '<a href="/about/policies/terms-of-service">'|safe | ||
, '</a>'|safe | ||
) }} | ||
</label> | ||
|
||
<br> | ||
<br> | ||
<button type="submit">{{ _("Apply") }}</button> | ||
</form> | ||
{% endblock %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,104 +1,3 @@ | ||
from datetime import datetime | ||
|
||
from aspen import Response | ||
from gratipay.models.team import Team | ||
[---] | ||
request.allow('GET') | ||
|
||
if user.ANON: | ||
raise Response(401, _("You must sign in to apply for a new Team.")) | ||
|
||
if user.participant.email_address is None: | ||
raise Response(400, _("You must have a verified email address to apply for a new Team.")) | ||
|
||
if not user.participant.has_payout_route: | ||
raise Response(400, _("You must attach a PayPal account to apply for a new Team.")) | ||
|
||
title = _("Apply for a New Team") | ||
banner = _("Apply") | ||
suppress_sidebar = True | ||
[---] text/html | ||
{% extends "templates/base.html" %} | ||
|
||
{% block scripts %} | ||
<script>$(document).ready(Gratipay.new_team.initForm);</script> | ||
{{ super() }} | ||
{% endblock %} | ||
|
||
{% block content %} | ||
<style> | ||
textarea { | ||
width: 100%; | ||
height: 200px; | ||
} | ||
</style> | ||
<div class="application-complete" style="display: none;"> | ||
<p>{{ _("Thanks! Your public team page is:") }}</p> | ||
<p><a href="" class="team_url"></a></p> | ||
<p>{{ _("And your public review ticket is:") }}</p> | ||
<p><a href="" class="review_url"></a></p> | ||
<p>{{ _( "You can watch and participate in our review process there. We will send a notification to {email} when we finish our review." | ||
, email=user.participant.email_address | ||
) }}</p> | ||
<p>{{ _("Thanks for applying!") }}</p> | ||
</div> | ||
<form action="/teams/create.json" method="POST" id="new-team"> | ||
<input type="hidden" name="csrf_token" value="{{ csrf_token }}"> | ||
|
||
<label><h2>{{ _("Team Name") }}</h2></label> | ||
<p><i>{{ _("At least one letter A through Z, plus numbers, dashes (-), underscores (_), periods (.), comma (,) and whitespace.") }}</i></p> | ||
<input type="text" name="name" required autofocus> | ||
|
||
<label><h2>{{ _("Image") }}</h2></label> | ||
<p><i>{{ _("PNG or JPG up to 256 kB. Will be cropped square and resized to 160 x 160 and 48 x 48 (with original saved for later).") }}</i></p> | ||
<input type="file" name="image" required> | ||
|
||
<label><h2>{{ _("Product or Service") }}</h2></label> | ||
<p><i>{{ _("What product or service does your Team provide?") }}</i></p> | ||
<textarea name="product_or_service" required></textarea> | ||
|
||
<label><h2>{{ _("Homepage") }}</h2></label> | ||
<p><i>{{ _("What is the customer-facing web page for your product or service?") }}</i></p> | ||
<input type="text" name="homepage" required> | ||
|
||
<label><h2>{{ _("Self-onboarding Documentation URL") }}</h2></label> | ||
<p><i>{{ _("Where can people find instructions on how to do your work for you ({0}example{1})? " | ||
, '<a href="https://github.com/gratipay/gratipay.com/blob/master/CONTRIBUTING.md">'|safe | ||
, '</a>'|safe | ||
) }}</i></p> | ||
<input type="text" name="onboarding_url" required> | ||
|
||
<label><h2>{{ _("To-do URL") }}</h2></label> | ||
<p><i>{{ _("Where can people find a list of available work to do for your Team?") }}</i></p> | ||
<input type="text" name="todo_url" required> | ||
|
||
<h2>{{ _("Agreements") }}</h2> | ||
<input type="checkbox" value="true" name="agree_public" id="agree_public"> | ||
<label for="agree_public"> | ||
{{ _( "I agree to have my application {0}publicly reviewed{1}." | ||
, '<a href="http://inside.gratipay.com/howto/review-teams">'|safe | ||
, '</a>'|safe | ||
) }} | ||
</label> | ||
|
||
<br> | ||
<input type="checkbox" value="true" name="agree_payroll" id="agree_payroll"> | ||
<label for="agree_payroll"> | ||
{{ _( "I agree to be responsible for {0}payroll{1}." | ||
, '<a href="/about/features/payroll">'|safe | ||
, '</a>'|safe | ||
) }} | ||
</label> | ||
|
||
<br> | ||
<input type="checkbox" value="true" name="agree_terms" id="agree_terms"> | ||
<label for="agree_terms"> | ||
{{ _( "I agree to the {0}terms of service{1}." | ||
, '<a href="/about/policies/terms-of-service">'|safe | ||
, '</a>'|safe | ||
) }} | ||
</label> | ||
|
||
<button type="submit">{{ _("Apply") }}</button> | ||
</form> | ||
{% endblock %} | ||
website.redirect('/apply') | ||
[---] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters