예제 #1
0
 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
예제 #2
0
 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
예제 #3
0
 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
예제 #4
0
파일: take2edit.py 프로젝트: navimont/take2
    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))