Dan Helfman
bbe9d17940
Free trials don't send any transaction info to /users/thanks, so changed the code not to expect it.
2008-12-31 00:19:27 -08:00
Dan Helfman
a086f387bf
Payment code can now handle an optional 30-day trial for any subscription plan. Also, PayPal's subcr_eot txn_type is now ignored.
2008-12-30 11:46:41 -08:00
Dan Helfman
af42aae7cc
Converted the Luminotes blog to work like a forum, so now you can post comments on Luminotes blog posts.
2008-11-17 15:23:22 -08:00
Dan Helfman
99bebd6c98
Fixed some subtle edge cases in controller.Notebooks.load_notebook().
2008-11-05 14:02:22 -08:00
Dan Helfman
3dad16d187
controller.Users.load_notebook() now disallows read-write access for anonymous/demo users to "own notes only" notebooks.
2008-11-04 10:29:19 -08:00
Dan Helfman
36af0bbfed
Propagating notebook tags to the UI code.
2008-10-24 15:07:36 -07:00
Dan Helfman
384166b4cc
Can now create a new note in a read-write-for-only-your-own-notes notebook.
2008-10-24 12:58:41 -07:00
Dan Helfman
388f2fcb02
Foundational work for both tags and discussion forums. Should have checked this in in smaller pieces.
2008-10-24 11:51:19 -07:00
Dan Helfman
815b05e574
Fixed a bug that broke that Luminotes Desktop product download page if PayPal took too long to notify Luminotes of the purchase.
2008-10-07 13:59:34 -07:00
Dan Helfman
ae31a871a2
Fixed some bugs with product payment / download after testing with PayPal's sandbox with PDT and auto-return.:
2008-09-11 16:57:51 -07:00
Dan Helfman
9247683a72
Lots more work on the payment code necessary to support Luminotes Desktop.
2008-09-11 00:36:12 -07:00
Dan Helfman
6bbe32bfff
If the item number is blank, ignore the transaction.
2008-09-01 19:18:05 -07:00
Dan Helfman
27581a0445
For desktop version, creating default user and auto-logging that user in. Also set a larger session timeout for desktop version.
2008-08-20 19:50:18 -07:00
Dan Helfman
95577bff55
Began conversion of all controller unit tests to use a real SQLite database. Still incomplete.
2008-08-19 14:22:40 -07:00
Dan Helfman
ef83061d12
If a user's rate plan storage quota is None (indicate no quota), don't calculate the user's storage quota.
2008-08-18 18:00:45 -07:00
Dan Helfman
d8c58e5f5d
Fixed a bug where clicking the link for an updated note in an RSS feed did not properly redirect to that note after login.
2008-07-25 17:05:13 -07:00
Dan Helfman
9d2f0d344d
When you invite other people to view or edit your notebook, you can now see the invite link they'll get.
2008-07-18 15:01:09 -07:00
Dan Helfman
41821e727e
Changing 12 month subscription validation to instead expect 1 year, to reflect similar changes in configuration.
2008-06-18 13:08:57 -07:00
Dan Helfman
8b52ffabfa
Updated tools/set_plan.py to automatically update a user's group
...
membership.
2008-06-09 20:14:42 -07:00
Dan Helfman
9a3f795985
More unit tests for user admin signup/modify/cancel, along with a fix for a bug unearthed by the unit tests.
2008-06-09 14:29:31 -07:00
Dan Helfman
46dc2663ee
Update/remove group admin membership upon signup/cancellation. Some unit tests, but more needed for complete coverage.
2008-06-07 18:18:49 -07:00
7ee838d46e
controller.Users.remove_group() now resets the removed user's rate plan to 0. Also fixed broken controller.Users.signup().
...
Updated unit tests.
2008-06-06 15:13:11 -07:00
a8a6070da0
Implemented controller.users.signup_group_member().
...
Modified UI code to call this method correctly and display results.
Split generic user signup functionality out into a separate private method.
2008-06-06 14:46:29 -07:00
0faa06ea10
Called controller.Users.calculate_group_storage() from various places. Fixed model.User.sql_calculate_group_storage().
2008-06-05 15:59:01 -07:00
a0ca8025d0
New controller.Users.calculate_group_storage().
2008-06-05 14:16:49 -07:00
0e51e461fa
New controller.Users.remove_group() method to remove a user's group membership.
2008-06-03 20:19:07 -07:00
79e2c45533
New controller.Groups class and a new controller.Users.check_group() method.
...
Also a new model.Group.sql_load_users() method.
Lots of unit tests.
2008-05-29 16:36:14 -07:00
df3d170362
View groups that you're a member of, with an indicatation if you're an admin of that group.
...
- modify controller.Users.current() to return the user's groups
- update test_current() unit tests to expect empty groups list in results
- modify Main_page, Notebook_rss, Front_page, Tour_page, and Upgrade_page to accept a new groups parameter
- Main_page should add it as a hidden HTML variable
- update Wiki.js to read the hidden groups variable and display the groups in account settings
2008-05-28 16:05:38 -07:00
Dan Helfman
8b705ec4c3
In send_invites(), no longer implicitly assuming rate plan 0 has
...
notebook_collaboration set to False.
2008-05-08 23:17:17 +00:00
Dan Helfman
a6baa45435
Made signup support yearly subscriptions.
2008-05-08 19:14:39 +00:00
Dan Helfman
269c28983d
Support for yearly subscriptions.
2008-05-08 18:39:46 +00:00
Dan Helfman
18982dc129
Implemented basic user account settings. Now you can change your email
...
address.
2008-05-08 03:05:35 +00:00
Dan Helfman
70f52a7406
Fixed a bug where an invite sent for a notebook with an accented unicode
...
name would cause a UnicodeEncodeError upon sending the invite email. Now
such invites are encoded as quoted-printable UTF-8, while other invites
continue to be 7-bit ASCII.
2008-05-06 23:29:43 +00:00
Dan Helfman
b316b2f4a3
* Increasing after_login max string size from 100 to 1000 to accomodate larger URLs.
...
* controller.Notebooks now takes (and stores) an https_url constructor parameter.
* New controller.Notebooks.updates() method to produce an updates RSS feed for a particular notebook.
* New controller.Notebooks.get_update_link() method to make a brief page with just a link for an updated note, referred to by the feed.
* Implemented views for the new RSS feed.
* Fixed bug in Rss_item's guid that caused newlines to be inserted before and after long URLs.
* Still need to unit test new controller code.
2008-04-22 23:24:30 +00:00
Dan Helfman
c488864273
* Now if you try to load a page where access is required, and you're not
...
logged in, you'll be redirected to a login page. After you login, you'll
be redirected to the page you were originally trying to access.
2008-04-18 19:54:50 +00:00
Dan Helfman
c452408106
Finished remake of signup page. You can now click "signup" for non-free accounts even if you're not logged in.
2008-03-24 22:33:00 +00:00
Dan Helfman
f3b0d563c1
Fixed database transaction leak by wrapping every exposed database-using
...
controller method with a new @end_transaction() decorator. This
decorator is responsible for rolling back unfinished transactions.
2008-03-17 21:17:00 +00:00
Dan Helfman
94a51889f9
Added ability to reorder notebooks on the right side of the page.
...
Need to complete unit tests for controller.Notebooks.move_up() and move_down().
2008-03-15 03:04:59 +00:00
Dan Helfman
21ccc97826
Now using memcached in various places to improve performance. If the Python
...
cmemcache module is not importable, then memcached simply won't be used.
2008-03-05 00:34:58 +00:00
Dan Helfman
3af5af18c5
Changed controller.Users.logout() to not be a JSON method so just hitting the
...
"/users/logout" URL will log you out and redirect you the front page.
Made front page prettier and better at explaining Luminotes (hopefully). The
front page is no longer a wiki, but is instead a mostly static page.
2008-03-01 00:26:06 +00:00
Dan Helfman
fd0e91ea39
Implemented quota enforcement when uploading a file. This occurs in two places:
...
1. In progress(), around the time when the file starts uploading. This causes
an upload that's too large to bail before the whole file uploads, but the
quota calculation is only an estimate and relies on the client actually
calling progress().
2. In upload(), when the file finishes uploading. This quota calculation is
exact, but only happens after the entire upload completes.
2008-02-20 20:21:54 +00:00
Dan Helfman
731dc52623
More work on file uploading. Unit tests need to be fixed.
2008-02-18 20:08:07 +00:00
Dan Helfman
4fd44700e1
Now tracking conversions for subscriptions.
...
Notes in the trash can no longer be edited. They must be undeleted first.
2008-01-22 20:29:29 +00:00
Dan Helfman
76d5f48fa2
Wrote unit tests for controller.Users.paypal_notify() and thanks() methods.
...
Changed some wording on the thank you page.
2008-01-15 00:36:19 +00:00
Dan Helfman
095df38e96
Added docstring to paypal_notify().
...
Now ignoring refunds.
Lowered retry timeout.
2008-01-12 04:38:56 +00:00
Dan Helfman
f6538ad3a5
First pass at "thank you" page (and related processing/error pages) is complete.
2008-01-11 22:55:04 +00:00
Dan Helfman
ae6a501117
Basic paypal integration working. Still need to do thank-you page and more testing.
2008-01-11 01:55:50 +00:00
Dan Helfman
7d2e2e4de2
Added a paypal unsubscribe button. Also added a paypal banner image.
2008-01-10 23:15:37 +00:00
Dan Helfman
8f00cceb94
Made upgrade page dynamically generated on the server instead of static html.
...
This allows things like only displaying subscription buttons if you're logged in.
2008-01-10 08:33:19 +00:00
Dan Helfman
17b7dfc74e
If the user is logged in and hits the front page of the site with an HTTP
...
request that has no referrer, then redirect to the user's first notebook.
2008-01-08 09:45:05 +00:00