{%extends "phenotypes/base.html"%} {%from "cli-output.html" import cli_output%} {%from "flash_messages.html" import flash_all_messages%} {%from "macro-table-pagination.html" import table_pagination%} {%from "phenotypes/macro-display-pheno-dataset-card.html" import display_pheno_dataset_card%} {%block extrameta%} {%if job and job.status not in ("success", "completed:success", "error", "completed:error")%} <meta http-equiv="refresh" content="5" /> {%endif%} {%endblock%} {%block title%}Phenotypes{%endblock%} {%block pagetitle%}Phenotypes{%endblock%} {%block lvl4_breadcrumbs%} <li {%if activelink=="add-phenotypes"%} class="breadcrumb-item active" {%else%} class="breadcrumb-item" {%endif%}> <a href="{{url_for('species.populations.phenotypes.add_phenotypes', species_id=species.SpeciesId, population_id=population.Id, dataset_id=dataset.Id)}}">View Datasets</a> </li> {%endblock%} {%block contents%} {%if job%} <h4 class="subheading">Progress</h4> <div class="row" style="overflow:scroll;"> <p><strong>Process Status:</strong> {{job.status}}</p> {%if metadata%} <table class="table table-responsive"> <thead> <tr> <th>File</th> <th>Status</th> <th>Lines Processed</th> <th>Total Errors</th> </tr> </thead> <tbody> {%for file,meta in metadata.items()%} <tr> <td>{{file}}</td> <td>{{meta.status}}</td> <td>{{meta.linecount}}</td> <td>{{meta["total-errors"]}}</td> </tr> {%endfor%} </tbody> </table> {%endif%} </div> <div class="row"> {%if job.status in ("completed:success", "success")%} <p> {%if errors | length == 0%} <a href="{{url_for('species.populations.phenotypes.review_job_data', species_id=species.SpeciesId, population_id=population.Id, dataset_id=dataset.Id, job_id=job_id)}}" class="btn btn-primary" title="Continue to process data">Continue</a> {%else%} <span class="text-muted" disabled="disabled" style="border: solid 2px;border-radius: 5px;padding: 0.3em;"> Cannot continue due to errors. Please fix the errors first. </span> {%endif%} </p> {%endif%} </div> <h4 class="subheading">Errors</h4> <div class="row" style="max-height: 20em; overflow: scroll;"> {%if errors | length == 0 %} <p class="text-info"> <span class="glyphicon glyphicon-info-sign"></span> No errors found so far </p> {%else%} <table class="table table-responsive"> <thead style="position: sticky; top: 0; background: white;"> <tr> <th>File</th> <th>Row</th> <th>Column</th> <th>Value</th> <th>Message</th> </tr> </thead> <tbody style="font-size: 0.9em;"> {%for error in errors%} <tr> <td>{{error.filename}}</td> <td>{{error.rowtitle}}</td> <td>{{error.coltitle}}</td> <td>{%if error.cellvalue | length > 25%} {{error.cellvalue[0:24]}}… {%else%} {{error.cellvalue}} {%endif%} </td> <td> {%if error.message | length > 250 %} {{error.message[0:249]}}… {%else%} {{error.message}} {%endif%} </td> </tr> {%endfor%} </tbody> </table> {%endif%} </div> <div class="row"> {{cli_output(job, "stdout")}} </div> <div class="row"> {{cli_output(job, "stderr")}} </div> {%else%} <div class="row"> <h3 class="text-danger">No Such Job</h3> <p>Could not find a job with the ID: {{job_id}}</p> <p> Please go back to <a href="{{url_for('species.populations.phenotypes.view_dataset', species_id=species.SpeciesId, population_id=population.Id, dataset_id=dataset.Id)}}" title="'{{dataset.Name}}' dataset page"> the '{{dataset.Name}}' dataset page</a> to upload new phenotypes or edit existing ones.</p> </div> {%endif%} {%endblock%} {%block sidebarcontents%} {{display_pheno_dataset_card(species, population, dataset)}} {%endblock%}