Share toggle update & fix

This commit is contained in:
Inga Kirschnick 2022-11-17 12:48:19 +01:00
parent 9c8271aec5
commit f4ec47ad57
5 changed files with 29 additions and 12 deletions

View File

@ -42,6 +42,9 @@ class ContributionBaseForm(FlaskForm):
'Publishing year', 'Publishing year',
validators=[InputRequired()] validators=[InputRequired()]
) )
compatible_service_versions = SelectMultipleField(
'Compatible service versions'
)
shared = BooleanField( shared = BooleanField(
'Shared' 'Shared'
) )
@ -53,9 +56,6 @@ class CreateTesseractOCRPipelineModelForm(ContributionBaseForm):
'File', 'File',
validators=[FileRequired()] validators=[FileRequired()]
) )
compatible_service_versions = SelectMultipleField(
'Compatible service versions'
)
def validate_tesseract_model_file(self, field): def validate_tesseract_model_file(self, field):
current_app.logger.warning(field.data.filename) current_app.logger.warning(field.data.filename)
@ -77,9 +77,6 @@ class CreateSpaCyNLPPipelineModelForm(ContributionBaseForm):
'File', 'File',
validators=[FileRequired()] validators=[FileRequired()]
) )
compatible_service_versions = SelectMultipleField(
'Compatible service versions'
)
pipeline_name = StringField( pipeline_name = StringField(
'Pipeline name', 'Pipeline name',
validators=[InputRequired(), Length(max=64)] validators=[InputRequired(), Length(max=64)]
@ -103,9 +100,15 @@ class CreateSpaCyNLPPipelineModelForm(ContributionBaseForm):
class EditContributionBaseForm(ContributionBaseForm): class EditContributionBaseForm(ContributionBaseForm):
pass pass
class EditTesseractOCRPipelineModelForm(EditContributionBaseForm): class EditTesseractOCRPipelineModelForm(EditContributionBaseForm):
pass def __init__(self, *args, **kwargs):
service_manifest = SERVICES['tesseract-ocr-pipeline']
super().__init__(*args, **kwargs)
self.compatible_service_versions.choices = [('', 'Choose your option')]
self.compatible_service_versions.choices += [
(x, x) for x in service_manifest['versions'].keys()
]
self.compatible_service_versions.default = ''
class EditSpaCyNLPPipelineModelForm(EditContributionBaseForm): class EditSpaCyNLPPipelineModelForm(EditContributionBaseForm):
@ -113,3 +116,11 @@ class EditSpaCyNLPPipelineModelForm(EditContributionBaseForm):
'Pipeline name', 'Pipeline name',
validators=[InputRequired(), Length(max=64)] validators=[InputRequired(), Length(max=64)]
) )
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
service_manifest = SERVICES['spacy-nlp-pipeline']
self.compatible_service_versions.choices = [('', 'Choose your option')]
self.compatible_service_versions.choices += [
(x, x) for x in service_manifest['versions'].keys()
]
self.compatible_service_versions.default = ''

View File

@ -127,7 +127,7 @@ def create_tesseract_ocr_pipeline_model():
) )
@bp.route('/tesseract-ocr-pipeline-models/<hashid:tesseract_ocr_pipeline_model_id>/toggle-public-status', methods=['POST']) @bp.route('/tesseract-ocr-pipeline-models/<hashid:tesseract_ocr_pipeline_model_id>/toggle-public-status', methods=['POST'])
def share_tesseract_ocr_pipeline_model(tesseract_ocr_pipeline_model_id): def toggle_public_status_tesseract_ocr_pipeline_model(tesseract_ocr_pipeline_model_id):
tesseract_ocr_pipeline_model = TesseractOCRPipelineModel.query.get_or_404(tesseract_ocr_pipeline_model_id) tesseract_ocr_pipeline_model = TesseractOCRPipelineModel.query.get_or_404(tesseract_ocr_pipeline_model_id)
if not (tesseract_ocr_pipeline_model.user == current_user or current_user.is_administrator()): if not (tesseract_ocr_pipeline_model.user == current_user or current_user.is_administrator()):
abort(403) abort(403)
@ -223,7 +223,7 @@ def create_spacy_nlp_pipeline_model():
) )
@bp.route('/spacy-nlp-pipeline-models/<hashid:spacy_nlp_pipeline_model_id>/toggle-public-status', methods=['POST']) @bp.route('/spacy-nlp-pipeline-models/<hashid:spacy_nlp_pipeline_model_id>/toggle-public-status', methods=['POST'])
def share_spacy_nlp_pipeline_model(spacy_nlp_pipeline_model_id): def toggle_public_status_spacy_nlp_pipeline_model(spacy_nlp_pipeline_model_id):
spacy_nlp_pipeline_model = SpaCyNLPPipelineModel.query.get_or_404(spacy_nlp_pipeline_model_id) spacy_nlp_pipeline_model = SpaCyNLPPipelineModel.query.get_or_404(spacy_nlp_pipeline_model_id)
if not (spacy_nlp_pipeline_model.user == current_user or current_user.is_administrator()): if not (spacy_nlp_pipeline_model.user == current_user or current_user.is_administrator()):
abort(403) abort(403)

View File

@ -429,7 +429,7 @@ class Utils {
} else { } else {
msg = `Model "${tesseractOCRPipelineModel.title}" is now private`; msg = `Model "${tesseractOCRPipelineModel.title}" is now private`;
} }
fetch(`/contributions/spacy-nlp-pipeline-models/${tesseractOCRPipelineModel.id}/toggle-public-status`, {method: 'POST', headers: {Accept: 'application/json'}}) fetch(`/contributions/tesseract-ocr-pipeline-models/${tesseractOCRPipelineModel.id}/toggle-public-status`, {method: 'POST', headers: {Accept: 'application/json'}})
.then( .then(
(response) => { (response) => {
app.flash(msg, 'corpus'); app.flash(msg, 'corpus');

View File

@ -41,6 +41,9 @@
<div class="col s12 l10"> <div class="col s12 l10">
{{ wtf.render_field(form.version, material_icon='apps') }} {{ wtf.render_field(form.version, material_icon='apps') }}
</div> </div>
<div class="col s12 l6">
{{ wtf.render_field(form.compatible_service_versions) }}
</div>
<div class="col s12 l6 right-align" style="padding-right:20px;"> <div class="col s12 l6 right-align" style="padding-right:20px;">
<p></p> <p></p>
<br> <br>

View File

@ -38,6 +38,9 @@
<div class="col s12 l10"> <div class="col s12 l10">
{{ wtf.render_field(form.version, material_icon='apps') }} {{ wtf.render_field(form.version, material_icon='apps') }}
</div> </div>
<div class="col s12 l6">
{{ wtf.render_field(form.compatible_service_versions) }}
</div>
<div class="col s12 l6 right-align" style="padding-right:20px;"> <div class="col s12 l6 right-align" style="padding-right:20px;">
<p></p> <p></p>
<br> <br>