Example #1
0
 def _get_list_data_value(self, field, values):
     l = []
     for value in values:
         if self.__provider__.is_entity(value.__class__):
             l.append(unicode_text(self._get_relation_value(field, value)))
         elif self.__provider__.is_subdocument(value):
             l.append(unicode_text(self._get_relation_value(field, value)))
         else:
             l.append(unicode_text(value))
     return ', '.join(l)
Example #2
0
 def _get_list_data_value(self, field, values):
     l = []
     for value in values:
         if self.__provider__.is_entity(value.__class__):
             l.append(unicode_text(self._get_relation_value(field, value)))
         elif self.__provider__.is_subdocument(value):
             l.append(unicode_text(self._get_relation_value(field, value)))
         else:
             l.append(unicode_text(value))
     return ', '.join(l)
Example #3
0
    def prepare(self):
        #This is required for ming
        entity = self.__class__.entity

        options = self.provider.get_dropdown_options(entity, self.field_name, self.dropdown_field_names)
        self.options = [(unicode_text(k), unicode_text(v)) for k,v in options]

        if not self.value:
            self.value = []

        self.value = [unicode_text(v) for v in self.value]
        super(PropertyMultipleSelectField, self).prepare()
Example #4
0
    def prepare(self):
        #This is required for ming
        entity = self.__class__.entity

        options = self.provider.get_dropdown_options(entity, self.field_name,
                                                     self.dropdown_field_names)
        self.options = [(unicode_text(k), unicode_text(v)) for k, v in options]

        if not self.value:
            self.value = []

        self.value = [unicode_text(v) for v in self.value]
        super(PropertyMultipleSelectField, self).prepare()
Example #5
0
    def get_value(self, values=None, **kw):
        """
        Get the values to fill a form widget.

        :Arguments:
         offset
          offset into the records
         limit
          number of records to return
         order_by
          name of the column to the return values ordered by
         desc
          order the columns in descending order

        All the other arguments will be used to filter the result
        """
        count, objs = self._do_get_provider_count_and_objs(**kw)
        self.__count__ = count
        rows = []
        for obj in objs:
            row = {}
            for field in self.__fields__:
                field_method = getattr(self, field, None)
                if inspect.ismethod(field_method):
                    argspec = inspect.getargspec(field_method)
                    if argspec and (len(argspec[0]) - 2 >= len(kw)
                                    or argspec[2]):
                        value = getattr(self, field)(obj, **kw)
                    else:
                        value = getattr(self, field)(obj)
                else:
                    value = getattr(obj, field)
                    if 'password' in field.lower():
                        row[field] = '******'
                        continue
                    elif isinstance(value, list) or self.__provider__.is_query(
                            self.__entity__, value):
                        value = self._get_list_data_value(field, value)
                    elif isinstance(value, datetime):
                        value = value.strftime(self.__datetime_formatstr__)
                    elif self.__provider__.is_relation(
                            self.__entity__, field) and value is not None:
                        value = self._get_relation_value(field, value)
                    elif self.__provider__.is_binary(
                            self.__entity__, field) and value is not None:
                        value = Markup('<file>')
                if isinstance(value, byte_string):
                    value = unicode_text(value, encoding='utf-8')
                row[field] = unicode_text(value)
            rows.append(row)
        return rows
Example #6
0
    def prepare(self):
        #This is required for ming
        entity = self.__class__.entity

        options = self.provider.get_dropdown_options(entity, self.field_name, self.dropdown_field_names)
        self.options = [(unicode_text(k), unicode_text(v)) for k,v in options]
        if self.nullable:
            self.options.append(['', "-----------"])

        if not self.value:
            self.value = ''

        self.value = unicode_text(self.value)
        super(PropertySingleSelectField, self).prepare()
Example #7
0
    def prepare(self):
        # This is required for ming
        entity = self.__class__.entity

        options = self.provider.get_dropdown_options(entity, self.field_name, self.dropdown_field_names)
        self.options = [(unicode_text(k), unicode_text(v)) for k,v in options]

        if not self.value:
            self.value = []

        if not hasattr(self, '_validated') and self.item_validator:
            self.value = [self._safe_from_validate(self.item_validator, v) for v in self.value]

        self.value = [unicode_text(v) for v in self.value if v is not Invalid]
        super(PropertyMultipleSelectField, self).prepare()
Example #8
0
    def prepare(self):
        #This is required for ming
        entity = self.__class__.entity

        options = self.provider.get_dropdown_options(entity, self.field_name,
                                                     self.dropdown_field_names)
        self.options = [(unicode_text(k), unicode_text(v)) for k, v in options]
        if self.nullable:
            self.options.append(['', "-----------"])

        if not self.value:
            self.value = ''

        self.value = unicode_text(self.value)
        super(PropertySingleSelectField, self).prepare()
Example #9
0
    def get_value(self, values=None, **kw):
        """
        Get the values to fill a form widget.

        :Arguments:
         offset
          offset into the records
         limit
          number of records to return
         order_by
          name of the column to the return values ordered by
         desc
          order the columns in descending order

        All the other arguments will be used to filter the result
        """
        count, objs = self._do_get_provider_count_and_objs(**kw)
        self.__count__ = count
        rows = []
        for obj in objs:
            row = {}
            for field in self.__fields__:
                field_method = getattr(self, field, None)
                if inspect.ismethod(field_method):
                    argspec = inspect.getargspec(field_method)
                    if argspec and (len(argspec[0])-2>=len(kw) or argspec[2]):
                        value = getattr(self, field)(obj, **kw)
                    else:
                        value = getattr(self, field)(obj)
                else:
                    value = getattr(obj, field)
                    if 'password' in field.lower():
                        row[field] = '******'
                        continue
                    elif isinstance(value, list) or self.__provider__.is_query(self.__entity__, value):
                        value = self._get_list_data_value(field, value)
                    elif isinstance(value, datetime):
                        value = value.strftime(self.__datetime_formatstr__)
                    elif self.__provider__.is_relation(self.__entity__, field) and value is not None:
                        value = self._get_relation_value(field, value)
                    elif self.__provider__.is_binary(self.__entity__, field) and value is not None:
                        value = Markup('<file>')
                if isinstance(value, byte_string):
                    value = unicode_text(value, encoding='utf-8')
                row[field] = unicode_text(value)
            rows.append(row)
        return rows
Example #10
0
    def prepare(self):
        # This is required for ming
        entity = self.__class__.entity

        options = self.provider.get_dropdown_options(entity, self.field_name,
                                                     self.dropdown_field_names)
        self.options = [(unicode_text(k), unicode_text(v)) for k, v in options]

        if not self.value:
            self.value = []

        if not hasattr(self, '_validated') and self.item_validator:
            self.value = [
                self._safe_from_validate(self.item_validator, v)
                for v in self.value
            ]

        self.value = [unicode_text(v) for v in self.value if v is not Invalid]
        super(PropertyMultipleSelectField, self).prepare()
Example #11
0
def setup_records(session):


    session.expunge_all()

    user = User()
    user.user_name = "asdf"
    user.display_name = 'Asd Sdf'
    user.email_address = "*****@*****.**"
    user.password = "******"
    session.add(user)

    arvada = Town(name='Arvada')
    session.add(arvada)
    session.flush()
    user.town = arvada

    session.add(Town(name='Denver'))
    session.add(Town(name='Golden'))
    session.add(Town(name='Boulder'))

    owner = WithoutNameOwner(data='owner')
    session.add(owner)
    session.add(WithoutName(data='Something', owner=owner))

    # This is for tests that need entities with two digits ids.
    otherowner = WithoutNameOwner(data='otherowner')
    session.add(otherowner)
    for i in range(20):
        owned = WithoutName(data='wno_%s' % i)
        if i >= 15:
            owned.owner = otherowner
        session.add(owned)

    #test_table.insert(values=dict(BLOB=FieldStorage('asdf', StringIO()).value)).execute()
    #user_reference_table.insert(values=dict(user_id=user.user_id)).execute()

#    print user.user_id
    for i in range (5):
        group = Group(group_name=unicode_text('Group %s' % i))
        session.add(group)

    user.groups.append(group)

    session.flush()
    return user
Example #12
0
def setup_records(session):

    session.expunge_all()

    user = User()
    user.user_name = "asdf"
    user.display_name = 'Asd Sdf'
    user.email_address = "*****@*****.**"
    user.password = "******"
    session.add(user)

    arvada = Town(name='Arvada')
    session.add(arvada)
    session.flush()
    user.town = arvada

    session.add(Town(name='Denver'))
    session.add(Town(name='Golden'))
    session.add(Town(name='Boulder'))

    owner = WithoutNameOwner(data='owner')
    session.add(owner)
    session.add(WithoutName(data='Something', owner=owner))

    # This is for tests that need entities with two digits ids.
    otherowner = WithoutNameOwner(data='otherowner')
    session.add(otherowner)
    for i in range(20):
        owned = WithoutName(data='wno_%s' % i)
        if i >= 15:
            owned.owner = otherowner
        session.add(owned)

    #test_table.insert(values=dict(BLOB=FieldStorage('asdf', StringIO()).value)).execute()
    #user_reference_table.insert(values=dict(user_id=user.user_id)).execute()


#    print user.user_id
    for i in range(5):
        group = Group(group_name=unicode_text('Group %s' % i))
        session.add(group)

    user.groups.append(group)

    session.flush()
    return user
Example #13
0
    def _get_list_data_value(self, field, values):
        l = []

        if isinstance(self.__possible_field_names__, dict) and field in self.__possible_field_names__:
            view_names = self.__possible_field_names__[field]
            if not isinstance(view_names, list):
                view_names = [view_names]
        elif isinstance(self.__possible_field_names__, list):
            view_names = self.__possible_field_names__
        else:
            view_names = self.__possible_field_name_defaults__

        for value in values:
            if not isinstance(value, string_type):
                name = self.__provider__.get_view_field_name(value.__class__, view_names, value)
                l.append(unicode_text(getattr(value, name)))
            else:
                #this is needed for postgres to see array values
                return values
        return ', '.join(l)
Example #14
0
    def _get_list_data_value(self, field, values):
        l = []

        if isinstance(self.__possible_field_names__,
                      dict) and field in self.__possible_field_names__:
            view_names = self.__possible_field_names__[field]
            if not isinstance(view_names, list):
                view_names = [view_names]
        elif isinstance(self.__possible_field_names__, list):
            view_names = self.__possible_field_names__
        else:
            view_names = self.__possible_field_name_defaults__

        for value in values:
            if not isinstance(value, string_type):
                name = self.__provider__.get_view_field_name(
                    value.__class__, view_names, value)
                l.append(unicode_text(getattr(value, name)))
            else:
                #this is needed for postgres to see array values
                return values
        return ', '.join(l)
Example #15
0
def setup_records(session):

#    import ipdb; ipdb.set_trace()
    # clear test database before repopulating with data
    db = session.impl.db
    for coll in db.collection_names():
        if not coll.startswith("system."):
            db.drop_collection(coll)

    #session.ensure_indexes(User)
        
    user = User()
    user.user_name = 'asdf'
    user.email_address = "*****@*****.**"
    user.display_name = "*****@*****.**"
    user.password = "******"

    arvada = Town(name='Arvada', country='USA')
    session.flush()
    user.town_id = arvada._id

    Town(name='Denver', country='USA')
    Town(name='Golden', country='USA')
    Town(name='Boulder', country='USA')
    Town(name='Torino', country='Italy')

    #test_table.insert(values=dict(BLOB=FieldStorage('asdf', StringIO()).value)).execute()
    #user_reference_table.insert(values=dict(user_id=user.user_id)).execute()

#    print user.user_id
    for i in range (5):
        group = Group(group_name=unicode_text(i))

    user.groups = [group]

    session.flush()
    return user
Example #16
0
def setup_records(session):


    session.expunge_all()

    user = User()
    user.user_name = "asdf"
    user.email_address = "*****@*****.**"
    user.password = "******"
    session.add(user)

    arvada = Town(name='Arvada')
    session.add(arvada)
    session.flush()
    user.town = arvada

    session.add(Town(name='Denver'))
    session.add(Town(name='Golden'))
    session.add(Town(name='Boulder'))

    owner = WithoutNameOwner(data='owner')
    session.add(owner)
    session.add(WithoutName(data='Something', owner=owner))

    #test_table.insert(values=dict(BLOB=FieldStorage('asdf', StringIO()).value)).execute()
    #user_reference_table.insert(values=dict(user_id=user.user_id)).execute()

#    print user.user_id
    for i in range (5):
        group = Group(group_name=unicode_text(i))
        session.add(group)

    user.groups.append(group)

    session.flush()
    return user
Example #17
0
 def prepare(self):
     self.text = unicode_text(self.value)
     super(Label, self).prepare()
Example #18
0
 def prepare(self):
     self.text = unicode_text(self.value)
     super(Label, self).prepare()