def processInput(self, ctx, key, args): charset = util.getPOSTCharset(ctx) value = self._valueFromRequestArgs(charset, key, args) value = iformal.IStringConvertible(self.original).toType(value) if self.noneOption is not None and value == iformal.IKey(self.noneOption).key(): value = None return self.original.validate(value)
def render(self, ctx, key, args, errors): converter = iformal.IStringConvertible(self.original) if errors: value = args.get(key, ['']) else: value = converter.fromType(args.get(key)) return self._renderTag(ctx, key, value, converter, False)
def render(self, ctx, key, args, errors): if errors: value = args.get(key, [''])[0] else: value = iformal.IStringConvertible(self.original).fromType( args.get(key)) return T.textarea(name=key, id=key, mce_editable='true')[value or '']
def processInput(self, ctx, key, args): charset = util.getPOSTCharset(ctx) value = args.get(key, [''])[0].decode(charset) value = iformal.IStringConvertible(self.original).toType(value) if self.noneOption is not None and \ value == iformal.IKey(self.noneOption).key(): value = None return self.original.validate(value)
def render(self, ctx, key, args, errors): if errors: value = args.get(key, [''])[0] else: value = iformal.IStringConvertible(self.original).fromType(args.get(key)) if not self.showValueOnFailure: value = None return self._renderTag(ctx, key, value, False)
def render(self, ctx, key, args, errors): if errors: value = args.get(key, ['']) if isinstance(value, list): value = value[0] else: value = iformal.IStringConvertible(self.original).fromType(args.get(key)) return T.input(type=self.inputType, name=key, id=render_cssid(key), value=value)
def renderImmutable(self, ctx, key, args, errors): converter = iformal.IStringConvertible(self.original.type) values = args.get(key) if values is not None: values = [converter.fromType(v) for v in values] else: values = [] return self._renderTag(ctx, key, values, True)
def processInput(self, ctx, key, args): values = args.get(key, ['']) rv = [] for value in values: value = iformal.IStringConvertible(self.original).toType(value) if self.noneOption is not None and value == self.noneOption[0]: value = None rv.append(self.original.validate(value)) return rv
def renderImmutable(self, ctx, key, args, errors): value = iformal.IStringConvertible(self.original).fromType( args.get(key)) if value: value = T.xml(value) else: value = '' return T.div(id=key, class_="readonly-textarea-container")[T.div( class_='readonly-textarea readonly')[value]]
def render(self, ctx, key, args, errors): charset = util.getPOSTCharset(ctx) converter = iformal.IStringConvertible(self.original) if errors: value = self._valueFromRequestArgs(charset, key, args) else: value = converter.fromType(args.get(key)) if value is None: value = iformal.IKey(self.noneOption).key() optionGen = inevow.IQ(self.template).patternGenerator('option') selectedOptionGen = inevow.IQ(self.template).patternGenerator('selectedOption') optionTags = [] selectOther = True if self.noneOption is not None: noneValue = iformal.IKey(self.noneOption).key() if value == noneValue: tag = selectedOptionGen() selectOther = False else: tag = optionGen() tag.fillSlots('value', noneValue) tag.fillSlots('label', iformal.ILabel(self.noneOption).label()) optionTags.append(tag) if self.options is not None: for item in self.options: if value == item: tag = selectedOptionGen() selectOther = False else: tag = optionGen() tag.fillSlots('value', item) tag.fillSlots('label', item) optionTags.append(tag) if selectOther: tag = selectedOptionGen() otherValue = value else: tag = optionGen() otherValue = '' tag.fillSlots('value', self.otherOption[0]) tag.fillSlots('label', self.otherOption[1]) optionTags.append(tag) tag = T.invisible[self.template.load(ctx)] tag.fillSlots('key', key) tag.fillSlots('id', render_cssid(key)) tag.fillSlots('options', optionTags) tag.fillSlots('otherValue', otherValue) return tag
def processInput(self, ctx, key, args): fileitem = inevow.IRequest(ctx).fields[key] name = fileitem.filename.decode(util.getPOSTCharset(ctx)) if name: value = self.fileHandler.storeFile(fileitem.file, name) else: namer = self._namer(key) value = args.get(namer('value'))[0] value = iformal.IStringConvertible(self.original).fromType(value) return self.original.validate(value)
def processInput(self, ctx, key, args): # Get the whole string value = args.get(key, [''])[0].decode(util.getPOSTCharset(ctx)) # Split into lines values = value.splitlines() # Strip each line values = [v.strip() for v in values] # Discard empty lines values = [v for v in values if v] # Convert values to correct type converter = iformal.IStringConvertible(self.original.type) values = [converter.toType(v) for v in values] # Validate and return return self.original.validate(values)
def render(self, ctx, key, args, errors): namer = self._namer(key) if errors: fileitem = inevow.IRequest(ctx).fields[key] name = fileitem.filename.decode(util.getPOSTCharset(ctx)) if name: value = name else: namer = self._namer(key) value = args.get(namer('value'))[0] else: value = iformal.IStringConvertible(self.original).fromType(args.get(key)) return self._renderTag(ctx, key, value, namer, False)
def renderImmutable(self, ctx, key, args, errors): converter = iformal.IStringConvertible(self.original) value = converter.fromType(args.get(key)) return self._renderTag(ctx, key, value, converter, True)
def processInput(self, ctx, key, args): values = args.get(key, []) converter = iformal.IStringConvertible(self.original.type) values = [converter.toType(v) for v in values] return self.original.validate(values)
def processInput(self, ctx, key, args): value = args.get(key, [''])[0].decode(util.getPOSTCharset(ctx)) value = iformal.IStringConvertible(self.original).toType(value) return self.original.validate(value)
def processInput(self, ctx, key, args): value = self._valueFromRequestArgs(key, args) value = iformal.IStringConvertible(self.original).toType(value) if self.noneOption is not None and value == self.noneOption[0]: value = None return self.original.validate(value)
def processInput(self, ctx, key, args): value = args.get(key, [''])[0] value = iformal.IStringConvertible(self.original).toType(value) if self.noneOption is not None and value == self.noneOption[0]: value = None return self.original.validate(value)
def processInput(self, ctx, key, args): charset = util.getPOSTCharset(ctx) values = [v.decode(charset) for v in args.get(key, [])] converter = iformal.IStringConvertible(self.original.type) values = [converter.toType(v) for v in values] return self.original.validate(values)