def addaddress(self): longitude = self.request.get("lon") latitude = self.request.get("lat") if longitude != "" and latitude != "": location = db.GeoPt(latitude, longitude) else: location = None countryCode = self.getRequiredParameter('country') if countryCode == "Country": countryCode = "" userAddress = UserAddress(parent = self.userProfile, address = self.getRequiredParameter('address'), city = self.getRequiredParameter('city'), countryCode = countryCode, postalCode = self.request.get('postal'), privacyType = self.getRequiredParameter('privacy'), location = location) userAddress.put() # Add permissions for this email in every outgoing group for persona in self.userProfile.personas: permitAddress = PermitAddress(parent = persona, userAddress = userAddress) permitAddress.put() self._updateAllVCards() self.sendJsonOK({'key': str(userAddress.key())})
def addpersona(self): personaName = self.getRequiredParameter('name') personaIndex = self.getRequiredParameter('index') # Error checking if personaName == "Public": raise AjaxError("Cannot create another public persona") if personaName == "Default": raise AjaxError("Cannot create another default private persona") try: # Check if the persona already exists persona = self._getPersonaByName(personaName) # Create a new Persona newPersona = Persona(parent = self.userProfile, name = personaName) newPersona.put() for email in self.userProfile.emails: permitEmail = PermitEmail(parent = newPersona, userEmail = email) permitEmail.put() for im in self.userProfile.ims: permitIM = PermitIM(parent = newPersona, userIM = im) permitIM.put() for www in self.userProfile.webpages: permitWebpage = PermitWebpage(parent = newPersona, userWebpage = www) permitWebpage.put() for phone in self.userProfile.phones: permitPhoneNumber = PermitPhoneNumber(parent = newPersona, userPhoneNumber = phone) permitPhoneNumber.put() for address in self.userProfile.addresses: permitAddress = PermitAddress(parent = newPersona, userAddress = address) permitAddress.put() # Generate the Persona's vCard and eTag: generateVCard(newPersona) self.sendContent('templates/Persona_Persona.html', activeEntry = "Personas", templateVariables = { 'persona': newPersona, 'companies': self._getCompanies(), 'nicknames': self._getNicknames(), 'photos': self._getPhotos(), 'userProfile': self.userProfile, 'personaIndex': personaIndex, }) except datastore_errors.BadKeyError: raise AjaxError("Persona with that name already exists")