witten
/
luminotes
Archived
1
0
Fork 0

Updated tools/set_plan.py to automatically update a user's group

membership.
This commit is contained in:
Dan Helfman 2008-06-09 20:14:42 -07:00
parent cf82f1572f
commit 8b52ffabfa
3 changed files with 19 additions and 6 deletions

8
NEWS
View File

@ -1,6 +1,10 @@
1.4.1: June ?, 2008:
* Updated tools/set_plan.py to automatically update a user's group
membership.
1.4.0: June 9, 2008
* Implemented some basic user administration features, allowing you to create
Luminotes users yourself.
* Implemented some basic user administration features, allowing you to
create Luminotes users yourself.
* Added new rate plans with support for user administration.
* Wrote a tool for manually updating a user's rate plan: tools/set_plan.py
* Refactored some of the client-side form-handling code to cut down on

View File

@ -1352,12 +1352,12 @@ class Users( object ):
raise Payment_error( u"invalid recurring", params )
user.rate_plan = plan_index
self.__database.save( user, commit = False )
self.__update_groups( user )
self.update_groups( user )
self.__database.commit()
elif txn_type == u"subscr_cancel":
user.rate_plan = 0 # return the user to the free account level
self.__database.save( user, commit = False )
self.__update_groups( user )
self.update_groups( user )
self.__database.commit()
elif txn_type in ( u"subscr_payment", u"subscr_failed" ):
pass # for now, ignore payments and let paypal handle them
@ -1366,7 +1366,7 @@ class Users( object ):
return dict()
def __update_groups( self, user ):
def update_groups( self, user ):
"""
Update a user's group membership as a result of a rate plan change. This method does not commit
the current database transaction.

View File

@ -3,9 +3,12 @@
import os
import os.path
import sys
import cherrypy
from controller.Database import Database
from controller.Users import Users
from model.Notebook import Notebook
from model.User import User
from config import Common
class Plan_setter( object ):
@ -17,6 +20,9 @@ class Plan_setter( object ):
self.user_id = user_id
self.rate_plan = int( rate_plan )
rate_plans = Common.settings[ u"global" ][ u"luminotes.rate_plans" ]
self.users = Users( database, None, None, None, None, rate_plans )
self.set_plan()
self.database.commit()
@ -28,7 +34,10 @@ class Plan_setter( object ):
sys.exit( 1 )
user.rate_plan = self.rate_plan
self.database.save( user )
self.database.save( user, commit = False )
# update a user's group membership as a result of a rate plan change
self.users.update_groups( user )
def main( args ):
database = Database()