def edit(cls, owned_by, request): """factory method for a new person bean""" person = PersonBean(owned_by,None) if request.get('Person_key', None): person.entity = Person.get(request.get('Person_key')) person.name = request.get('name') person.nickname = request.get('nickname',"") person.lastname = request.get('lastname',"") person.introduction = request.get('introduction',"") person.middleman_ref = request.get('middleman_ref',None) try: birthday = int(request.get("birthday", None)) except ValueError: birthday = 0 except TypeError: birthday = 0 try: birthmonth = int(request.get("birthmonth", None)) except ValueError: birthmonth = 0 except TypeError: birthmonth = 0 try: birthyear = int(request.get("birthyear", None)) except ValueError: birthyear = 0 except TypeError: birthyear = 0 person.birthday = FuzzyDate(day=birthday,month=birthmonth,year=birthyear) return person
def load(cls, key): entity = Person.get(key) person = PersonBean(entity.owned_by,None) person.entity = entity person.name = entity.name person.nickname = entity.nickname person.lastname = entity.lastname person.birthday = entity.birthday person.introduction = entity.introduction if entity.middleman_ref: person.middleman_ref = str(entity.middleman_ref.key()) return person
def get_template_values(self): """return person data as template_values""" super(PersonBean,self).get_template_values() self.template_values.update(prepare_birthday_selectors()) if self.middleman_ref: self.template_values['middleman_ref'] = self.middleman_ref # look him up to fill the fields middleman = Person.get(db.Key(self.middleman_ref)) if middleman: self.template_values['middleman_name'] = middleman.name self.template_values['middleman_lastname'] = middleman.lastname self.template_values['name'] = self.name self.template_values['nickname'] = self.nickname self.template_values['lastname'] = self.lastname self.template_values['introduction'] = self.introduction self.template_values['birthday'] = str(self.birthday.get_day()) self.template_values['birthmonth'] = str(self.birthday.get_month()) self.template_values['birthyear'] = str(self.birthday.get_year()) return self.template_values
def get(self, login_user=None, template_values={}): instance = self.request.get("instance", "") instance_list = instance.split(",") # key contact_ref = self.request.get("contact_ref", None) if 'Person' in instance_list: # the presence of the key indicates that the new person shall be # created with reference (middleman_ref) to key. if contact_ref: person = PersonBean.new_person_via_middleman(login_user,middleman_ref=contact_ref) else: person = PersonBean.new_person(login_user) template_values.update(person.get_template_values()) # go through all take2 types for (bean_name,bean_class) in (('Email',EmailBean),('Mobile',MobileBean),('Address',AddressBean), ('Web',WebBean),('Other',OtherBean)): if bean_name in instance_list: obj = bean_class.new(contact_ref) template_values.update(obj.get_template_values()) if contact_ref: # if contact is specified, the new entry is for this person contact = Person.get(contact_ref) template_values['titlestr'] = "New address book entry for %s %s" % (contact.name, contact.lastname) template_values['contact_ref'] = contact_ref else: # otherwise for the login_user template_values['titlestr'] = "New address book entry for %s %s" % (login_user.me.name, login_user.me.lastname) template_values['contact_ref'] = str(login_user.me.key()) # instances as list and as concatenated string template_values['instance_list'] = instance_list template_values['instance'] = instance path = os.path.join(os.path.dirname(__file__), 'take2form.html') self.response.out.write(template.render(path, template_values))