Esempio n. 1
0
def addNewPackage(month, typeid, vip=None, user=None):
	if type(user) == dict:
		user = User.objects.filter(uid=user['uid'])[0]
	vip = flushVip(vip)
	if vip:
		currentPackage = vip.headPackage
		if currentPackage.level == typeid:
			currentPackage.days = currentPackage.days + month*31
			currentPackage.save()
		else:		
			if currentPackage.level < typeid:
				newPackage = VIPPackage(start_date = None, days = month*31, level=typeid, nextPackage=None)
				newPackage.save()
				vip = addNewHeadPackage(vip, newPackage)
			else:
				fatherPackage = None
				while currentPackage.level > typeid:
					fatherPackage = currentPackage
					currentPackage = currentPackage.nextPackage
				if currentPackage.level == typeid:
					currentPackage.days = currentPackage.days + month * 31
					currentPackage.save()
				else:
					newPackage = VIPPackage(start_date = None, days = month*31, level=typeid, nextPackage=currentPackage)
					newPackage.save()
					fatherPackage.nextPackage = newPackage
					fatherPackage.save()
		return vip				
	else:
		vip = VIP()
		vip.save()
		newPackage = VIPPackage(start_date = timezone.now(), days = month*31, level=typeid)
		newPackage.save()
		vip.headPackage = newPackage
		vip.save()
		user.vip = vip
		user.save()
		return vip