witten
/
luminotes
Archived
1
0
Fork 0

Merged in new rate plans and an updated pricing page. Also fixed bug on new pricing page in which "You're currently subscribed to..." showed the wrong plan.

This commit is contained in:
Dan Helfman 2008-05-28 16:21:51 -07:00
commit 9130828ffd
3 changed files with 119 additions and 20 deletions

View File

@ -29,15 +29,22 @@ settings = {
"luminotes.rate_plans": [
{
"name": "free",
"designed_for": "professionals",
"storage_quota_bytes": 30 * MEGABYTE,
"included_users": 1,
"notebook_collaboration": False,
"user_admin": False,
"fee": None,
"yearly_fee": None,
"designed_for": "students",
},
{
"name": "basic",
"designed_for": "professionals",
"storage_quota_bytes": 250 * MEGABYTE,
"included_users": 1,
"notebook_collaboration": True,
"user_admin": False,
"fee": 5,
"yearly_fee": 50,
"button":
@ -46,11 +53,15 @@ settings = {
"yearly_button":
"""
""",
"designed_for": "home users",
},
{
"name": "standard",
"designed_for": "professionals",
"storage_quota_bytes": 500 * MEGABYTE,
"included_users": 1,
"notebook_collaboration": True,
"user_admin": False,
"fee": 9,
"yearly_fee": 90,
"button":
@ -60,15 +71,38 @@ settings = {
"""
""",
},
# {
# "name": "premium",
# "storage_quota_bytes": 2000 * MEGABYTE,
# "notebook_collaboration": True,
# "fee": 19,
# "button":
# """
# """,
# },
{
"name": "plus",
"designed_for": "small teams",
"storage_quota_bytes": 1000 * MEGABYTE,
"included_users": 10,
"notebook_collaboration": True,
"user_admin": True,
"fee": 19,
"yearly_fee": 190,
"button":
"""
""",
"yearly_button":
"""
""",
},
{
"name": "max",
"designed_for": "organizations",
"storage_quota_bytes": 5000 * MEGABYTE,
"included_users": 50,
"notebook_collaboration": True,
"user_admin": True,
"fee": 99,
"yearly_fee": 990,
"button":
"""
""",
"yearly_button":
"""
""",
},
],
"luminotes.unsubscribe_button":
"""

View File

@ -300,7 +300,6 @@
}
#upgrade_table .plan_name {
width: 16%;
text-align: center;
background-color: #d0e0f0;
}
@ -310,7 +309,7 @@
}
#upgrade_table .feature_name {
width: 36%;
font-size: 82%;
text-align: left;
background-color: #fafafa;
border-bottom: 0px;
@ -324,6 +323,10 @@
border-width: 0px;
}
#upgrade_table .feature_value {
font-size: 82%;
}
#upgrade_table_small {
margin-top: 1em;
clear: both;
@ -344,11 +347,14 @@
}
#upgrade_table_small .plan_name {
width: 33%;
text-align: center;
background-color: #d0e0f0;
}
#upgrade_table_small .feature_value {
font-size: 82%;
}
.price_text {
color: #ff6600;
}

View File

@ -6,6 +6,7 @@ class Upgrade_page( Product_page ):
def __init__( self, user, notebooks, first_notebook, login_url, logout_url, rate_plan, groups, rate_plans, unsubscribe_button ):
MEGABYTE = 1024 * 1024
rate_plans = list( rate_plans )
user_plan = rate_plans[ user.rate_plan ]
rate_plans.reverse() # show rate plans highest to lowest
Product_page.__init__(
@ -42,6 +43,16 @@ class Upgrade_page( Product_page ):
P(
Table(
self.fee_row( rate_plans, user ),
Tr(
Td(
u"Designed for",
class_ = u"feature_name",
),
[ Td(
plan[ u"designed_for" ],
class_ = u"feature_value",
) for plan in rate_plans ],
),
Tr(
Td(
A( u"Included storage space", href = u"#", onclick = u"toggleElementClass( 'undisplayed', 'storage_description' ); return false;" ),
@ -57,11 +68,31 @@ class Upgrade_page( Product_page ):
Li( u"More space for your wiki notes." ),
Li( u"More space for your documents and files." ),
),
colspan = u"4",
colspan = len( rate_plans ) + 1,
id = u"storage_description",
class_ = u"feature_description undisplayed",
),
),
Tr(
Td(
A( u"Included accounts", href = u"#", onclick = u"toggleElementClass( 'undisplayed', 'users_description' ); return false;" ),
class_ = u"feature_name",
),
[ Td(
( plan[ u"included_users" ] == 1 ) and u"1 user" or "up to<br>%s users" % plan[ u"included_users" ],
class_ = u"feature_value",
) for plan in rate_plans ],
),
Tr(
Td(
Ul(
Li( u"Collaborate on a wiki with multiple people in your organization." ),
),
colspan = len( rate_plans ) + 1,
id = u"users_description",
class_ = u"feature_description undisplayed",
),
),
Tr(
Td(
A( u"Unlimited wiki notebooks", href = u"#", onclick = u"toggleElementClass( 'undisplayed', 'notebooks_description' ); return false;" ),
@ -77,7 +108,7 @@ class Upgrade_page( Product_page ):
Li( u"Create a unique notebook for each subject." ),
Li( u"Keep work and personal notebooks separate." ),
),
colspan = u"4",
colspan = len( rate_plans ) + 1,
id = u"notebooks_description",
class_ = u"feature_description undisplayed",
),
@ -97,7 +128,7 @@ class Upgrade_page( Product_page ):
Li( u"Fast email responses to your support questions. From a real live human." ),
Li( u"No waiting on hold with a call center." ),
),
colspan = u"4",
colspan = len( rate_plans ) + 1,
id = u"support_description",
class_ = u"feature_description undisplayed",
),
@ -118,7 +149,7 @@ class Upgrade_page( Product_page ):
Li( u"Invite as many people as you want." ),
Li( u"Share only the notebooks you want to share. Keep the others private." ),
),
colspan = u"4",
colspan = len( rate_plans ) + 1,
id = u"view_description",
class_ = u"feature_description undisplayed",
),
@ -142,11 +173,33 @@ class Upgrade_page( Product_page ):
Li( u"Revoke collaboration access with a single click." ),
Li( u"Share only the notebooks you want to share. Keep the others private." ),
),
colspan = u"4",
colspan = len( rate_plans ) + 1,
id = u"edit_description",
class_ = u"feature_description undisplayed",
),
),
Tr(
Td(
A( u"User administration (coming soon!)", href = u"#", onclick = u"toggleElementClass( 'undisplayed', 'admin_description' ); return false;" ),
class_ = u"feature_name",
),
[ Td(
plan[ u"user_admin" ] and
Img( src = u"/static/images/check.png", width = u"22", height = u"22" ) or u"&nbsp",
) for plan in rate_plans ],
),
Tr(
Td(
Ul(
Li( u"Manage all Luminotes accounts for your organization. All from one web page." ),
Li( u"Create and delete users as needed." ),
Li( u"Grant or revoke access to wiki notebooks." ),
),
colspan = len( rate_plans ) + 1,
id = u"admin_description",
class_ = u"feature_description undisplayed",
),
),
border = u"1",
id = u"upgrade_table",
),
@ -155,7 +208,7 @@ class Upgrade_page( Product_page ):
user and user.username not in ( u"anonymous", None ) and P(
u"You're currently subscribed to Luminotes %s." %
rate_plans[ user.rate_plan ][ u"name" ].capitalize(),
user_plan[ u"name" ].capitalize(),
( user.rate_plan > 0 ) and unsubscribe_button or None,
) or None,
class_ = u"upgrade_area",
@ -182,14 +235,20 @@ class Upgrade_page( Product_page ):
Tr( Td(
u"Get two months free with a yearly subscription!",
class_ = u"upgrade_subtitle",
colspan = u"3",
), colspan = u"3" ),
colspan = u"%d" % len( rate_plans ),
), colspan = u"%d" % len( rate_plans ) ),
self.fee_row( rate_plans, user, include_blank = False, yearly = True ),
Tr(
[ Td(
plan[ u"storage_quota_bytes" ] // MEGABYTE, " MB",
) for plan in rate_plans ],
),
Tr(
[ Td(
( plan[ u"included_users" ] == 1 ) and u"1 user" or "up to<br />%s users" % plan[ u"included_users" ],
class_ = u"feature_value",
) for plan in rate_plans ],
),
border = u"1",
id = u"upgrade_table_small",
),