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 1.4.0: June 9, 2008
* Implemented some basic user administration features, allowing you to create * Implemented some basic user administration features, allowing you to
Luminotes users yourself. create Luminotes users yourself.
* Added new rate plans with support for user administration. * Added new rate plans with support for user administration.
* Wrote a tool for manually updating a user's rate plan: tools/set_plan.py * 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 * 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 ) raise Payment_error( u"invalid recurring", params )
user.rate_plan = plan_index user.rate_plan = plan_index
self.__database.save( user, commit = False ) self.__database.save( user, commit = False )
self.__update_groups( user ) self.update_groups( user )
self.__database.commit() self.__database.commit()
elif txn_type == u"subscr_cancel": elif txn_type == u"subscr_cancel":
user.rate_plan = 0 # return the user to the free account level user.rate_plan = 0 # return the user to the free account level
self.__database.save( user, commit = False ) self.__database.save( user, commit = False )
self.__update_groups( user ) self.update_groups( user )
self.__database.commit() self.__database.commit()
elif txn_type in ( u"subscr_payment", u"subscr_failed" ): elif txn_type in ( u"subscr_payment", u"subscr_failed" ):
pass # for now, ignore payments and let paypal handle them pass # for now, ignore payments and let paypal handle them
@ -1366,7 +1366,7 @@ class Users( object ):
return dict() 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 Update a user's group membership as a result of a rate plan change. This method does not commit
the current database transaction. the current database transaction.

View File

@ -3,9 +3,12 @@
import os import os
import os.path import os.path
import sys import sys
import cherrypy
from controller.Database import Database from controller.Database import Database
from controller.Users import Users
from model.Notebook import Notebook from model.Notebook import Notebook
from model.User import User from model.User import User
from config import Common
class Plan_setter( object ): class Plan_setter( object ):
@ -17,6 +20,9 @@ class Plan_setter( object ):
self.user_id = user_id self.user_id = user_id
self.rate_plan = int( rate_plan ) 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.set_plan()
self.database.commit() self.database.commit()
@ -28,7 +34,10 @@ class Plan_setter( object ):
sys.exit( 1 ) sys.exit( 1 )
user.rate_plan = self.rate_plan 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 ): def main( args ):
database = Database() database = Database()