initial text of partnership page
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
# Emacs temp files
|
# Emacs temp files
|
||||||
*.*~
|
*.*~
|
||||||
|
\#*
|
||||||
|
|
||||||
# database
|
# database
|
||||||
*.sqlite3
|
*.sqlite3
|
||||||
|
|||||||
@@ -37,7 +37,39 @@
|
|||||||
|
|
||||||
|
|
||||||
<div class="grid_6 omega">
|
<div class="grid_6 omega">
|
||||||
<p> </p>
|
<h2>Examples of possible partnerships</h2>
|
||||||
|
<p>
|
||||||
|
We currently envision a couple of ways in which we can partner with
|
||||||
|
your business. We are open for other models. If you have an interesting
|
||||||
|
proposition or want to use one of the partnership models listed below,
|
||||||
|
please contact us by email.
|
||||||
|
|
||||||
|
<ol>
|
||||||
|
<li>Sponsorship of Pro membership.
|
||||||
|
You distribute coupon codes giving right to a year of
|
||||||
|
Pro membership to the receiver of the coupon. The coupon can be
|
||||||
|
redeemed on this website by the user. He or she will get a year of
|
||||||
|
Pro membership sponsored by you. Rowsandall.com will send you a
|
||||||
|
regular invoice based on the number of redeemed coupons. </li>
|
||||||
|
<li>Purchasing blocks of Pro membership coupons.
|
||||||
|
This is similar to the above, except that you pay in advance (at
|
||||||
|
a reduced rate) a "block" of Pro membership coupons.</li>
|
||||||
|
<li>Advertising. If you decide to support rowsandall.com through
|
||||||
|
advertising, we will create a top banner where you as a sponsor
|
||||||
|
have space to put up a clickable picture. Price and content open
|
||||||
|
for negotiation.</li>
|
||||||
|
<li>Collaboration on prototypes or beta versions of your new products
|
||||||
|
(or product upgrades). You send us a product ahead of release (under
|
||||||
|
a confidentiality agreement) and we use it and provide feedback.
|
||||||
|
We will make no public comments or posts about the product, nor
|
||||||
|
would we inform anyone else.</li>
|
||||||
|
<li>Long term product feedback. Typically in the product design phase.
|
||||||
|
We would act as a sounding board for ideas, could provide feedback
|
||||||
|
on the data related features of the product. We would charge for our
|
||||||
|
time according to an agreed price.</li>
|
||||||
|
</lo>
|
||||||
|
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
from django.test import TestCase, Client,override_settings
|
from django.test import TestCase, Client,override_settings
|
||||||
|
from django.core.management import call_command
|
||||||
|
from django.utils.six import StringIO
|
||||||
from django.test.client import RequestFactory
|
from django.test.client import RequestFactory
|
||||||
from .views import checkworkoutuser,c2_open
|
from .views import checkworkoutuser,c2_open
|
||||||
from rowers.models import Workout, User, Rower, WorkoutForm,RowerForm,GraphImage
|
from rowers.models import Workout, User, Rower, WorkoutForm,RowerForm,GraphImage
|
||||||
@@ -43,6 +45,12 @@ class DjangoTestCase(TestCase, MockTestCase):
|
|||||||
|
|
||||||
# Create your tests here.
|
# Create your tests here.
|
||||||
|
|
||||||
|
class EmailProcessTest(TestCase):
|
||||||
|
def test_emailprocessing(self):
|
||||||
|
out = StringIO()
|
||||||
|
call_command('processemail', stdout=out)
|
||||||
|
self.assertIn('Successfully processed email attachments',out.getvalue())
|
||||||
|
|
||||||
class C2Objects(DjangoTestCase):
|
class C2Objects(DjangoTestCase):
|
||||||
def test_strokedata(self):
|
def test_strokedata(self):
|
||||||
with open('rowers/testdata/c2stroketestdata.txt','r') as infile:
|
with open('rowers/testdata/c2stroketestdata.txt','r') as infile:
|
||||||
|
|||||||
@@ -5215,17 +5215,19 @@ def workout_upload_view(request,message="",
|
|||||||
except C2NoTokenError:
|
except C2NoTokenError:
|
||||||
return HttpResponseRedirect("/rowers/me/c2authorize/")
|
return HttpResponseRedirect("/rowers/me/c2authorize/")
|
||||||
try:
|
try:
|
||||||
|
c2userid = c2stuff.get_userid(thetoken)
|
||||||
|
if not c2userid:
|
||||||
return HttpResponseRedirect("/rowers/me/c2authorize")
|
return HttpResponseRedirect("/rowers/me/c2authorize")
|
||||||
data = c2stuff.createc2workoutdata(w)
|
data = c2stuff.createc2workoutdata(w)
|
||||||
authorizationstring = str('Bearer ' + thetoken)
|
authorizationstring = str('Bearer ' + thetoken)
|
||||||
headers = {'Authorization': authorizationstring,
|
headers = {'Authorization': authorizationstring,
|
||||||
'user-agent': 'sanderroosendaal',
|
'user-agent': 'sanderroosendaal',
|
||||||
'Content-Type': 'application/json'}
|
'Content-Type': 'application/json'}
|
||||||
import urllib
|
import urllib
|
||||||
url = "https://log.concept2.com/api/users/%s/results" % (c2userid)
|
url = "https://log.concept2.com/api/users/%s/results" % (c2userid)
|
||||||
response = requests.post(url,headers=headers,data=json.dumps(data))
|
response = requests.post(url,headers=headers,data=json.dumps(data))
|
||||||
|
|
||||||
# response = c2stuff.workout_c2_upload(request.user,w)
|
# response = c2stuff.workout_c2_upload(request.user,w)
|
||||||
if (response.status_code != 201 and response.status_code != 200):
|
if (response.status_code != 201 and response.status_code != 200):
|
||||||
if settings.DEBUG:
|
if settings.DEBUG:
|
||||||
return HttpResponse(response)
|
return HttpResponse(response)
|
||||||
|
|||||||
Reference in New Issue
Block a user