def init_on_load(self): type = self._cache_types.get(self.typeId) if type is None: metaType = openSession().query(MetaTypeMapped).get(self.typeId) assert isinstance(metaType, MetaTypeMapped), 'Invalid type id %s' % metaType type = self._cache_types[metaType.Id] = metaType.Type self.Type = type
def onPropertyForeignKey(mapped, foreignColumn, prop, obj, errors): ''' Validation of a sql alchemy fpreign key property. @param mapped: class The mapped model class. @param foreignColumn: Column The foreign column used for checking. @param prop: string The property name tthat contains the foreign key. @param obj: object The entity to check for the property value. @param errors: list[Ref] The list of errors. ''' assert isclass(mapped), 'Invalid class %s' % mapped assert isinstance(foreignColumn, Column), 'Invalid foreign column %s' % foreignColumn assert isinstance(prop, str), 'Invalid property name %s' % prop assert obj is not None, 'None is not a valid object' assert isinstance(errors, list), 'Invalid errors list %s' % errors propRef = getattr(mapped, prop) if propRef in obj: val = getattr(obj, prop) if val is not None: count = openSession().query(foreignColumn).filter(foreignColumn == val).count() if count == 0: errors.append(Ref(_('Unknown foreign id'), ref=propRef)) return False
def onPropertyUnique(mapped, prop, obj, errors): ''' Validation of a sql alchemy unique property. @param mapped: class The mapped model class. @param prop: string The property name to be checked if unique. @param obj: object The entity to check for the property value. @param errors: list[Ref] The list of errors. ''' assert isclass(mapped), 'Invalid class %s' % mapped assert isinstance(prop, str), 'Invalid property name %s' % prop assert obj is not None, 'None is not a valid object' assert isinstance(errors, list), 'Invalid errors list %s' % errors propRef = getattr(mapped, prop) if propRef in obj: try: db = openSession().query(mapped).filter(propRef == getattr(obj, prop)).one() except NoResultFound: return propId = typeFor(mapped).container.propertyId if getattr(obj, propId) != getattr(db, propId): errors.append(Ref(_('Already an entry with this value'), ref=propRef)) return False
def init_on_load(self): key = self._cache_types.get(self.typeId) if key is None: metaType = openSession().query(MetaTypeMapped).get(self.typeId) assert isinstance(metaType, MetaTypeMapped), 'Invalid type id %s' % metaType key = self._cache_types[metaType.id] = metaType.Key self.Type = key
def onPropertyForeignKey(mapped, foreignColumn, prop, obj, errors): ''' Validation of a sql alchemy fpreign key property. @param mapped: class The mapped model class. @param foreignColumn: Column The foreign column used for checking. @param prop: string The property name tthat contains the foreign key. @param obj: object The entity to check for the property value. @param errors: list[Ref] The list of errors. ''' assert isclass(mapped), 'Invalid class %s' % mapped assert isinstance(foreignColumn, Column), 'Invalid foreign column %s' % foreignColumn assert isinstance(prop, str), 'Invalid property name %s' % prop assert obj is not None, 'None is not a valid object' assert isinstance(errors, list), 'Invalid errors list %s' % errors propRef = getattr(mapped, prop) if propRef in obj: val = getattr(obj, prop) if val is not None: count = openSession().query(foreignColumn).filter( foreignColumn == val).count() if count == 0: errors.append(Ref(_('Unknown foreign id'), ref=propRef)) return False
def onPropertyUnique(mapped, prop, obj, errors): ''' Validation of a sql alchemy unique property. @param mapped: class The mapped model class. @param prop: string The property name to be checked if unique. @param obj: object The entity to check for the property value. @param errors: list[Ref] The list of errors. ''' assert isclass(mapped), 'Invalid class %s' % mapped assert isinstance(prop, str), 'Invalid property name %s' % prop assert obj is not None, 'None is not a valid object' assert isinstance(errors, list), 'Invalid errors list %s' % errors propRef = getattr(mapped, prop) if propRef in obj: try: db = openSession().query(mapped).filter( propRef == getattr(obj, prop)).one() except NoResultFound: return propId = typeFor(mapped).container.propertyId if getattr(obj, propId) != getattr(db, propId): errors.append( Ref(_('Already an entry with this value'), ref=propRef)) return False
def init_on_load(self): typeId = self._cache_types.get(self.typeId) if typeId is None: metaType = openSession().query(MetaTypeMapped).get(self.typeId) assert isinstance(metaType, MetaTypeMapped), 'Invalid type id %s' % metaType typeId = self._cache_types[metaType.Id] = metaType.Type self.Type = typeId