diff --git a/app/models.py b/app/models.py index 5b86fa285b869530f7a61e824376607503216406..470e5c6a5f02ecf0455b6337d4aeefa816c6302c 100644 --- a/app/models.py +++ b/app/models.py @@ -422,6 +422,7 @@ class CorpusFile(db.Model): except: logger.warning('[ERROR] CorpusFile.delete') return + self.corpus.status = 'unprepared' db.session.delete(self) db.session.commit() @@ -435,6 +436,8 @@ class CorpusFile(db.Model): text_node.set('publishing_year', str(self.publishing_year)) text_node.set('title', self.title) element_tree.write(file) + self.corpus.status = 'unprepared' + db.session.commit() class Corpus(db.Model): diff --git a/app/templates/corpora/corpus.html.j2 b/app/templates/corpora/corpus.html.j2 index 9f934ee34b97e9f3e4850c17141227cfa30d027a..a686aac20b676dc66ef3be8df89241b83aca729f 100644 --- a/app/templates/corpora/corpus.html.j2 +++ b/app/templates/corpora/corpus.html.j2 @@ -61,6 +61,12 @@ statusElement.classList.remove(...Object.values(CorpusList.STATUS_COLORS)); statusElement.classList.add(CorpusList.STATUS_COLORS[status] || CorpusList.STATUS_COLORS['default']); statusElement.innerText = status; + if (status === 'prepared') { + var analyseBtn = document.getElementById('analyse'); + analyseBtn.classList.remove('hide'); + var prepareBtn = document.getElementById('prepare'); + prepareBtn.classList.add('hide') + } } } @@ -87,11 +93,9 @@ </div> </div> <div class="card-action right-align"> - {% if corpus.status == 'prepared' %} - <a href="{{ url_for('corpora.corpus_analysis', corpus_id=corpus.id) }}" class="waves-effect waves-light btn"><i class="material-icons left">help</i>Analyse</a> - {% endif %} + <a href="{{ url_for('corpora.corpus_analysis', corpus_id=corpus.id) }}" class="waves-effect waves-light btn hide" id="analyse"><i class="material-icons left">help</i>Analyse</a> {% if corpus.files[0] is defined %} - <a href="{{ url_for('corpora.prepare_corpus', corpus_id=corpus.id) }}" class="waves-effect waves-light btn"><i class="material-icons left">whatshot</i>Prepare</a> + <a href="{{ url_for('corpora.prepare_corpus', corpus_id=corpus.id) }}" class="waves-effect waves-light btn" id="prepare"><i class="material-icons left">whatshot</i>Prepare</a> {% endif %} <a data-target="delete-corpus-modal" class="waves-effect waves-light btn red modal-trigger"><i class="material-icons left">delete</i>Delete Corpus</a> </div>