def upload(self): return_url = request.headers['Referer'] file_data = request.files.get('file') try: question = CommitteeQuestion.import_from_uploaded_answer_file(file_data) if question.id: # it already existed flash("That question has already been imported.", "warn") return redirect(get_url('.edit_view', id=question.id, url=return_url)) db.session.add(question) db.session.commit() flash("Successfully imported from %s" % (file_data.filename,)) return redirect(get_url('.edit_view', id=question.id, url=return_url)) except ValueError as e: flash("Couldn't import from %s: %s" % (file_data.filename, e.message), 'error') return redirect(return_url)
def get_url(self, field): if field.thumbnail_size: filename = field.thumbnail_fn(field.data) else: filename = field.data if field.url_relative_path: filename = urljoin(field.url_relative_path, filename) return get_url(field.endpoint, filename=filename)
def upload(self): return_url = request.headers['Referer'] file_data = request.files.get('file') try: question = CommitteeQuestion.import_from_uploaded_answer_file( file_data) if question.id: # it already existed flash("That question has already been imported.", "warn") return redirect( get_url('.edit_view', id=question.id, url=return_url)) db.session.add(question) db.session.commit() flash("Successfully imported from %s" % (file_data.filename, )) return redirect( get_url('.edit_view', id=question.id, url=return_url)) except ValueError as e: flash( "Couldn't import from %s: %s" % (file_data.filename, e.message), 'error') return redirect(return_url)
def __call__(self, field, **kwargs): kwargs.setdefault('id', field.id) placeholder = '' if field.data and isinstance(field.data, ImageGridFsProxy): args = helpers.make_thumb_args(field.data) placeholder = self.template % { 'thumb': get_url('.api_file_view', **args), 'marker': '_%s-delete' % field.name } return HTMLString( '%s<input %s>' % (placeholder, html_params(name=field.name, type='file', **kwargs)))
def __call__(self, field, **kwargs): kwargs.setdefault('id', field.id) placeholder = '' if field.data and isinstance(field.data, ImageGridFsProxy): args = helpers.make_thumb_args(field.data) placeholder = self.template % { 'thumb': get_url('.api_file_view', **args), 'marker': '_%s-delete' % field.name } return HTMLString('%s<input %s>' % (placeholder, html_params(name=field.name, type='file', **kwargs)))
def __call__(self, field, **kwargs): kwargs.setdefault('data-role', 'select2-ajax') kwargs.setdefault('data-url', get_url('.ajax_lookup', name=field.loader.name)) allow_blank = getattr(field, 'allow_blank', False) if allow_blank and not self.multiple: kwargs['data-allow-blank'] = u'1' kwargs.setdefault('id', field.id) kwargs.setdefault('type', 'hidden') if self.multiple: result = [] ids = [] for value in field.data: data = field.loader.format(value) result.append(data) ids.append(as_unicode(data[0])) separator = getattr(field, 'separator', ',') kwargs['value'] = separator.join(ids) kwargs['data-json'] = json.dumps(result) kwargs['data-multiple'] = u'1' else: data = field.loader.format(field.data) if data: kwargs['value'] = data[0] kwargs['data-json'] = json.dumps(data) placeholder = gettext( field.loader.options.get('placeholder', 'Please select model')) kwargs.setdefault('data-placeholder', placeholder) return HTMLString('<input %s>' % html_params(name=field.name, **kwargs))
def __call__(self, field, **kwargs): kwargs.setdefault('data-role', 'select2-ajax') kwargs.setdefault('data-url', get_url('.ajax_lookup', name=field.loader.name)) allow_blank = getattr(field, 'allow_blank', False) if allow_blank and not self.multiple: kwargs['data-allow-blank'] = u'1' kwargs.setdefault('id', field.id) kwargs.setdefault('type', 'hidden') if self.multiple: result = [] ids = [] for value in field.data: data = field.loader.format(value) result.append(data) ids.append(as_unicode(data[0])) separator = getattr(field, 'separator', ',') kwargs['value'] = separator.join(ids) kwargs['data-json'] = json.dumps(result) kwargs['data-multiple'] = u'1' else: data = field.loader.format(field.data) if data: kwargs['value'] = data[0] kwargs['data-json'] = json.dumps(data) placeholder = gettext(field.loader.options.get('placeholder', 'Please select model')) kwargs.setdefault('data-placeholder', placeholder) return HTMLString('<input %s>' % html_params(name=field.name, **kwargs))
def __call__(self, field, **kwargs): kwargs["data-role"] = u"select2-ajax" kwargs["data-url"] = get_url(".ajax_lookup", name=field.loader.name) allow_blank = getattr(field, "allow_blank", False) if allow_blank and not self.multiple: kwargs["data-allow-blank"] = u"1" kwargs.setdefault("id", field.id) kwargs.setdefault("type", "hidden") if self.multiple: result = [] ids = [] for value in field.data: data = field.loader.format(value) result.append(data) ids.append(as_unicode(data[0])) separator = getattr(field, "separator", ",") kwargs["value"] = separator.join(ids) kwargs["data-json"] = json.dumps(result) kwargs["data-multiple"] = u"1" else: data = field.loader.format(field.data) if data: kwargs["value"] = data[0] kwargs["data-json"] = json.dumps(data) placeholder = gettext(field.loader.options.get("placeholder", "Please select model")) kwargs.setdefault("data-placeholder", placeholder) return HTMLString("<input %s>" % html_params(name=field.name, **kwargs))