From c6443d49b60a9664f24dfa70179e8f4cd2481193 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Wed, 28 May 2008 16:06:57 -0700 Subject: [PATCH] Added new pricing plans and updated pricing page accordingly. --- config/Common.py | 52 ++++++++++++++++++++++++------ static/css/product.css | 12 +++++-- view/Upgrade_page.py | 72 ++++++++++++++++++++++++++++++++++++++---- 3 files changed, 117 insertions(+), 19 deletions(-) diff --git a/config/Common.py b/config/Common.py index 7a0556e..faa82bf 100644 --- a/config/Common.py +++ b/config/Common.py @@ -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": """ diff --git a/static/css/product.css b/static/css/product.css index 16421d3..3feafd2 100644 --- a/static/css/product.css +++ b/static/css/product.css @@ -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; } diff --git a/view/Upgrade_page.py b/view/Upgrade_page.py index 46d0530..67690d6 100644 --- a/view/Upgrade_page.py +++ b/view/Upgrade_page.py @@ -42,6 +42,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 +67,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
%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 +107,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 +127,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 +148,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 +172,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" ", + ) 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", ), @@ -182,14 +234,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
%s users" % plan[ u"included_users" ], + class_ = u"feature_value", + ) for plan in rate_plans ], + ), border = u"1", id = u"upgrade_table_small", ),