mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-04 04:12:45 +00:00 
			
		
		
		
	Share toggle update & fix
This commit is contained in:
		@@ -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,10 +56,7 @@ 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)
 | 
				
			||||||
        if not field.data.filename.lower().endswith('.traineddata'):
 | 
					        if not field.data.filename.lower().endswith('.traineddata'):
 | 
				
			||||||
@@ -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 = ''
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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');
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user