User Tools

Site Tools


membership_software

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
membership_software [2012/11/11 02:46]
plural [Record a payment for an invoice or cancel one]
membership_software [2016/12/08 07:55] (current)
dan_dude
Line 1: Line 1:
 +====== This software is no longer used ======
 +
 ====== Membership Software Howtos ====== ====== Membership Software Howtos ======
  
 The Membership software is available to the board members and accessible at [[https://mkemakerspace.appspot.com/]]. The Membership software is available to the board members and accessible at [[https://mkemakerspace.appspot.com/]].
 +
 +===== Send out Invoice Renewals =====
 +
 +By running this script, you will create new copies of all invoices for this month marked with auto-renew.
 +
 +You need to have the following tools installed:
 +  * Python 2.7: http://www.python.org/download/releases/2.7.6/
 +  * httplib2: http://code.google.com/p/httplib2/wiki/Install
 +  * Google App Engine SDK for Python: https://developers.google.com/appengine/downloads#Google_App_Engine_SDK_for_Python
 +  * Git: http://git-scm.com/downloads
 +
 +Grab the software with git clone https://code.google.com/u/jason.gessner/p/mkemakerspace-tools/ .
 +
 +From the mkemakerspace-tools directory, run the following command:
 +
 +<code>
 +remote_api_shell.py --secure -s mkemakerspace.appspot.com
 +</code>
 +
 +you will be prompted for your google username and password.  remote_api_shell.py is part of the appengine SDK and the --secure flag forces the API calls to be issued over HTTPS.
 +
 +Once the shell is up type the following commands:
 +
 +<code>
 +from scripts.renew_invoices import RenewInvoices
 +
 +RenewInvoices()
 +</code>
 +
 +This will launch the renewal script for next month, with the DRY_RUN mode set to true, which will show you what it will do, but not actually send any invoices out.
 +
 +Sample output:
 +
 +<code>
 +s~mkemakerspace> from scripts.renew_invoices import RenewInvoices
 +WARNING:root:You are using the default Django version (0.96). The default Django version will change in an App Engine release in the near future. Please call use_library() to explicitly select a Django version. For more information see https://developers.google.com/appengine/docs/python/tools/libraries#Django
 +Starting renewals at 2014-01-12 18:52:14.002890
 +s~mkemakerspace> RenewInvoices()
 +RenewInvoicesForMonth: End of this month: 2014-01-31, Start of next month: 2014-02-01, DRY_RUN: True
 +Fetching makers
 +Richard R:
 +Steven B:
 +...
 +</code>
 +
 +The renewal script will append to a file called renewals.log file in the working directory.  After running in dry mode, check it out and see if everything looks OK to you.
 +
 +When you are ready to really create the invoices and send out the notifications, run the command again like this:
 +
 +<code>
 +RenewInvoices(dry_run=False)
 +</code>
 +
 +===== Send out Open Invoice Reminder Emails =====
 +
 +from the remote_api_shell, run the following commands (the s~mkemakerspace>  is just the prompt.  Don't type that.  :) ):
 +
 +The reminders script appends to reminders.log in the working directory.
 +
 +<code>
 +s~mkemakerspace> from datetime import date
 +s~mkemakerspace> due_date = date(2014, 2, 7)
 +s~mkemakerspace> from scripts.invoice_reminders import SendInvoiceReminders
 +s~mkemakerspace> SendInvoiceReminders(due_date)
 +Reminding folks with open invoices with due date of: 2014-02-07. DRY_RUN = True
 +Complete
 +
 +
 +
 +
 +s~mkemakerspace>
 +</code>
 +
 +By default that will just show you what it would do.  To really send out the reminders, run the function like this:
 +
 +<code>
 +s~mkemakerspace> SendInvoiceReminders(due_date, dry_run=False)
 +</code>
 +
 +===== Cancelling Open Invoices =====
 +
 +If you want to cancel a bunch of unpaid (open) invoices, run this script.
 +
 +from the remote_api_shell, run the following commands (the s~mkemakerspace>  is just the prompt.  Don't type that.  :) ):
 +
 +The cancellation script appends to invoice_cancellations.log in the working directory.
 +
 +<code>
 +s~mkemakerspace> from datetime import date
 +s~mkemakerspace> due_date = date(2014, 2, 7)
 +s~mkemakerspace> from scripts.cancel_past_due_invoices import CancelPastDueInvoices
 +WARNING:root:You are using the default Django version (0.96). The default Django version will change in an App Engine release in the near future. Please call use_library() to explicitly select a Django version. For more information see https://developers.google.com/appengine/docs/python/tools/libraries#Django
 +Starting reminders at 2014-01-12 19:31:29.269936
 +s~mkemakerspace> CancelPastDueInvoices(due_date)
 +Cancelling open invoices with due date of: 2014-02-07. DRY_RUN: True
 +Fetching invoices
 +Complete
 +
 +
 +
 +
 +s~mkemakerspace></code>
 +
 +By default that will just show you what it would do.  To really send out the reminders, run the function like this:
 +
 +<code>
 +s~mkemakerspace> CancelPastDueInvoices(due_date, dry_run=False)
 +</code>
  
 ===== Add a New Maker ===== ===== Add a New Maker =====
membership_software.1352601978.txt.gz · Last modified: 2012/11/11 02:46 by plural