24 lines
1.1 KiB
Python
24 lines
1.1 KiB
Python
from flask import session
|
|
from flask_wtf import FlaskForm
|
|
from wtforms import (StringField, BooleanField, SubmitField, DateField,
|
|
SelectField, FieldList, FormField)
|
|
from wtforms.validators import DataRequired, Length, Optional
|
|
from flask_wtf.file import FileField, FileAllowed, FileRequired
|
|
|
|
|
|
class AddDocumentForm(FlaskForm):
|
|
file = FileField('File', validators=[FileAllowed(['pdf', 'txt']),
|
|
FileRequired()])
|
|
name = StringField('Name', validators=[Length(max=100)])
|
|
language = StringField('Language', validators=[Length(max=2)])
|
|
valid_from = DateField('Valid from', id='form-control datepicker', validators=[Optional()])
|
|
doc_embedding_model = SelectField('Default Embedding Model', choices=[], validators=[DataRequired()])
|
|
|
|
submit = SubmitField('Submit')
|
|
|
|
def __init__(self):
|
|
super(AddDocumentForm, self).__init__()
|
|
self.doc_embedding_model.choices = [(model, model) for model in
|
|
session.get('tenant').get('allowed_embedding_models')]
|
|
self.doc_embedding_model.data = session.get('default_embedding_model')
|