def createNewProfile(user): # Create an empty profile userProfile = UserProfile(user = user) userProfile.put() # save the new (and empty) profile in the Datastore in order to obtain its key logging.info("New profile created, key = " + str(userProfile.key())) # User settings userSettings = UserSettings(parent = userProfile) userSettings.put() userProfile.userSettings = userSettings # Primary email address (needed for notifications, etc.) userEmail = UserEmail(parent = userProfile, itemValue = user.email(), # "*****@*****.**" privacyType = 'Home', primary = True) userEmail.put() userProfile.defaultGroup = createNewGroup(userProfile, 'Default') userProfile.defaultPersona = createNewPersona(userProfile, 'Default', userEmail) userProfile.publicPersona = createNewPersona(userProfile, 'Public', userEmail) # Save the updated user profile userProfile.put() nickname = UserNickname(parent = userProfile, itemValue = user.nickname()) nickname.put() return userProfile
def addnickname(self): userNickname = UserNickname(parent = self.userProfile, itemValue = self.getRequiredParameter('nickname')) userNickname.put() self._updateAllVCards() self.sendJsonOK({'key': str(userNickname.key())})
def deleteProfile(userProfileKey): userProfile = UserProfile.get(userProfileKey) for e in CardDAVLogin.all().ancestor(userProfile): e.delete() for e in IndividualPermit.all().ancestor(userProfile): e.delete() for e in Persona.all().ancestor(userProfile): e.delete() for e in Psinque.all().ancestor(userProfile): e.delete() for e in Contact.all().ancestor(userProfile): e.delete() for e in Group.all().ancestor(userProfile): e.delete() for e in UserAddress.all().ancestor(userProfile): e.delete() for e in UserEmail.all().ancestor(userProfile): e.delete() for e in UserIM.all().ancestor(userProfile): e.delete() for e in UserPhoneNumber.all().ancestor(userProfile): e.delete() for e in UserPhoto.all().ancestor(userProfile): e.image.delete() e.delete() for e in UserNickname.all().ancestor(userProfile): e.delete() for e in UserCompany.all().ancestor(userProfile): e.delete() for e in UserWebpage.all().ancestor(userProfile): e.delete() if not userProfile.userSettings is None: userProfile.userSettings.delete() userProfile.delete() logging.info("User profile deleted")