'Returns the name:value dictionary containing all the form values'

def get_form_values(self, trans, user, form_definition, **kwd):

    params = util.Params(kwd)
    values = {}
    for field in form_definition.fields:
        field_type = field['type']
        field_name = field['name']
        input_value = params.get(field_name, '')
        if (field_type == AddressField.__name__):
            input_text_value = util.restore_text(input_value)
            if (input_text_value == 'new'):
                user_address = trans.model.UserAddress(user=user)
                self.save_widget_field(trans, user_address, field_name, **kwd)
                trans.sa_session.refresh(user)
                field_value = int(user_address.id)
            elif (input_text_value in ['', 'none', 'None', None]):
                field_value = ''
            else:
                field_value = int(input_text_value)
        elif (field_type == CheckboxField.__name__):
            field_value = CheckboxField.is_checked(input_value)
        elif (field_type == PasswordField.__name__):
            field_value = kwd.get(field_name, '')
        else:
            field_value = util.restore_text(input_value)
        values[field_name] = field_value
    return values
