Updated tools/set_plan.py to automatically update a user's group
membership.
This commit is contained in:
parent
cf82f1572f
commit
8b52ffabfa
8
NEWS
8
NEWS
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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()
|
||||
|
|
Reference in New Issue