示例#1
0
	def update_client(self, client):
		count = 0
		newClient = False

		clientObj = Client.get_by_id(client.auth.email) 

		if (  clientObj is None ):
			newClient = True
			for c in client.child_list:
				d = datetime.datetime.now()
				next_month = datetime.datetime(d.year, d.month+1, 1)
				next_month_string =  next_month.isoformat() + '.0000'
				pay = Payment()
				pay.start_date = datetime.datetime.strptime(next_month_string, "%Y-%m-%dT%H:%M:%S.%f")
				pay.end_date = datetime.datetime.strptime(next_month_string, "%Y-%m-%dT%H:%M:%S.%f")
				pay.pay_date = datetime.datetime.strptime(next_month_string, "%Y-%m-%dT%H:%M:%S.%f")
				c.payment = pay.put()
				

		client.key = ndb.Key(Client, client.auth.email)	
		client.email = client.auth.email

		for c in client.child_list:			
		 	KindergartenKey =  ndb.Key(Kindergarten, c.kindergarten_id)
		 	c.kindergarten_key = KindergartenKey
		 	c.parent_id = client.email 
		 	#c.put()
		 	kindergarten = Kindergarten.get_by_id(c.kindergarten_id)
		 	for kc in kindergarten.child_list:
		 	 	if ( client.email  == kc.parent_id ):
		 	 		kindergarten.child_list.remove(kc)


		client.put()



		for c in client.child_list:
			count = count +1			
			kindergarten = Kindergarten.get_by_id(c.kindergarten_id)
			# c.client_email =  client.auth.email
			# c.put()

			kindergarten.child_list.append(c)

			if ( count == len( client.child_list) ):				
				kindergarten.put()



		return client