Ejemplo n.º 1
0
def _validate_textValue_leadingChars(value, displayedTerm):
    isValid = False
    if value and not validation.is_valid_leading_chars(value):
        return isValid, "Error, " + validation.invalid_leading_chars(
            displayedTerm)

    return True, None
Ejemplo n.º 2
0
def validate_barcoded_sample_info(
    sampleName,
    sampleName_label,
    sampleExternalId,
    sampleExternalId_label,
    nucleotideType,
    nucleotideType_label,
    sampleReference,
    sampleReference_label,
    runType,
    applicationGroupName,
):
    errors = []
    if not validation.is_valid_chars(sampleName):
        errors.append(validation.invalid_chars_error(sampleName_label))

    if not validation.is_valid_leading_chars(sampleName):
        errors.append(validation.invalid_leading_chars(sampleName_label))

    if not validation.is_valid_length(sampleName, MAX_LENGTH_SAMPLE_NAME):
        errors.append(
            validation.invalid_length_error(sampleName_label,
                                            MAX_LENGTH_SAMPLE_NAME,
                                            sampleName))

    sample_id_errors = validate_sample_id(sampleExternalId,
                                          field_label=sampleExternalId_label)
    if sample_id_errors:
        errors.extend(sample_id_errors)

    nucleotideType_errors, sample_nucleotideType = validate_sample_nucleotideType(
        nucleotideType,
        runType,
        applicationGroupName,
        field_label=nucleotideType_label)
    if nucleotideType_errors:
        errors.extend(nucleotideType_errors)

    ref_errors, ref_short_name = validate_reference(
        sampleReference,
        field_label=sampleReference_label,
        runType=runType,
        applicationGroupName=applicationGroupName,
        application_label=ScientificApplication.verbose_name,
    )
    if ref_errors:
        errors.extend(ref_errors)

    return errors, ref_short_name, sample_nucleotideType
Ejemplo n.º 3
0
def validate_sample_name(
    value,
    field_label,
    isTemplate=None,
    isTemplate_label=PlanTemplate.verbose_name,
    barcodeId=None,
    barcodeId_label=ugettext_lazy("workflow.step.kits.fields.barcodeId.label"),
):  # TODO: i18n
    errors = []
    if not value:
        if not isTemplate:
            errors.append(validation.required_error(field_label))
    else:
        if isTemplate:
            errors.append(
                validation.format(
                    ugettext_lazy(
                        "template.messages.validation.invalidsamples"),
                    {"name": isTemplate_label},
                )
            )  # "Invalid input. Sample information cannot be saved in the %(name)s"
        if barcodeId:
            errors.append(
                validation.format(
                    ugettext_lazy(
                        "plannedexperiment.messages.validation.nonbarcoded.barcodesetnotrequired"
                    ),
                    {
                        "barcodeSetName": barcodeId_label,
                        "barcodeSetValue": barcodeId
                    },
                )
            )  # "Invalid input. %(barcodeSetName)s (%(barcodeSetValue)s) should not be provided for non barcoded plan"
        if not validation.is_valid_chars(value):
            errors.append(validation.invalid_chars_error(field_label))
        if not validation.is_valid_leading_chars(value):
            errors.append(validation.invalid_leading_chars(field_label))
        if not validation.is_valid_length(value, MAX_LENGTH_SAMPLE_NAME):
            errors.append(
                validation.invalid_length_error(field_label,
                                                MAX_LENGTH_SAMPLE_NAME, value))

    return errors
Ejemplo n.º 4
0
def _validate_textValue_leadingChars(value, displayedTerm):
    isValid = False
    if value and not validation.is_valid_leading_chars(value):
        return isValid, "Error, " + validation.invalid_leading_chars(displayedTerm)
        
    return True, None