- Initial version of the website.
Commit of the demonstrated code. The keys + mollom_payments modules will be merged into a single module called 'subscription'.
Fixed a bug in paypal.test and upgraded client.test to D7-style tests, which incidentally seems to fix the localhost problems. All tests now work on localhost as well, yay\!
Renamed the mollom_payments module to 'subscriptions' and made sure all tests still pass.
Rename the directory as well.
Merged the keys module into the subscriptions module. While doing this, I implemented hook_schema() for the keys module and documented every field, added a 'access key manager' permission and wrote a boatload of tests (only the feed and the helper functions don't have tests).
- Changed all DATETIME fields to INT fields (to represent dates as UNIX timestamps)
- This unfortunately caused trouble: it seems that int fields are actually fetched as strings for some weird reason, which was breaking the tests
- subscriptions_keys_public_key_load() moved to the .module file
- subscriptions_key_load_*() renamed to subscriptions_keys_load_*()
- Upgraded paypal.test to D7-style tests.
- There's now a very limited watchdog entry for every IPN.
- Fixed some bugs in the PayPal form due to the renaming of mollom_payments to subscriptions
Generate invoice ids and subscription ids!
Split the 'keys' and 'products' functionality off into their own include files, and created a separate page handler include file for the IPN callback. At the same time, simplified the 'file' properties in hook_menu().
Collected all information that's necessary for VAT handling into a single simple function.
- Promocodes UI!
- Fully covered by tests! (SubscriptionsAdminPromocodes in admin.test)
- Reintroduced the 'file' property to all menu items because inheritance doesn't seem to work at all.
- Converted admin.test to the D7 style, updated SubscriptionsAdminAccess.
The AHAH helper module, making graceful degradable AHAH-driven forms a no-brainer.
Minor comment improvements for the ahah_helper example.
Two code improvements:
1) instead of ahah_helper_path('form][structure][here'), you should now do ahah_helper_path(array('form', 'structure', 'here'))
2) you won't have to call ahah_helper_record_file() anymore
One doc improvement: $form_values was for D5, changed to $form_state['values']
This is a commit of my work since Wednesday. An overview:
- Added the countries_api module to get a full list of existing countries.
 Improved the ahah_helper module *a lot*: now supports validate and submit handlers, filters error messages to only the relevant ones, does not validate form items that are being displayed for the first time, etc.
- The form to create a new subscription is in its final shape now, with some changes yet to be made. It's fully degradable and therefore fully testable. At all times, all information remains visible and editable. There are conditional form items to simplify the form. VAT numbers are validated. And so on.
- Removed the obsolete keys authentication function.
The subscriptions, transactions and promocodes tables are now sortable and paged. Fixed a minor bug in the schema as well.
- Unfuddle-style plan selection (the CSS needs tweaking though)
- The action URL of a form is now properly set when the entire form is rebuilt in an AHAH callback.
- When a free Mollom product is chosen, no billing information or order summary are displayed.
- Removed the $(document).read() check in the .js file, which was causing the Drupal.behaviors to not be picked up at the appropriate time.
- The key manager now shows the subscription of a site and has a (not yet functional) "edit subscription" link
- Trial period information added to the products, displayed in the product matrix and supported in the form code, but once again, it doesn't work as advertised
- In the UI: "plan" -> "product"
- Figured out how cancellation of subscriptions works, sample code is already included in the non-functional "edit subscription" form
- The item displayed on PayPal.com when buying a subscription now reads "<product> for <site>", e.g. "Mollom Plus for http://foobar.com".
Updated product matrix according to Dries' sample!
Fixed bug in hook_menu() implementation for the keys module: titles shouldn't be passed through t() calls, since the new menu system does that automatically.