Skip to content

Commit a6813b5

Browse files
authored
Merge pull request #207 from brain-image-library/feature/metadata-version
Feature/metadata version
2 parents 11f8427 + e376c41 commit a6813b5

File tree

6 files changed

+55
-14
lines changed

6 files changed

+55
-14
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Generated by Django 3.2.13 on 2022-07-20 18:30
2+
3+
from django.db import migrations, models
4+
import django.db.models.deletion
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
dependencies = [
10+
('ingest', '0013_alter_dataset_abstract'),
11+
]
12+
13+
operations = [
14+
migrations.CreateModel(
15+
name='MetadataVersion',
16+
fields=[
17+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
18+
('metadata_version', models.CharField(blank=True, max_length=64, null=True)),
19+
('dataset_doi', models.CharField(blank=True, max_length=512, null=True)),
20+
('dataset_status', models.CharField(blank=True, max_length=256, null=True)),
21+
('dataset_id_dm', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ingest.descriptivemetadata')),
22+
('dataset_id_ds', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ingest.dataset')),
23+
('event', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ingest.eventslog')),
24+
],
25+
),
26+
]

ingest/models.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,7 @@ class EventsLog(models.Model):
318318
project_id = models.ForeignKey(Project, on_delete=models.SET_NULL, null = True, blank=True)
319319
notes = models.CharField(max_length=256)
320320
timestamp = models.DateTimeField()
321+
#Add field for embargo information
321322
event_type = models.CharField(max_length=64, default="", choices=[('mail_tapes_to_bil', 'Mail Tapes To BIL'), ('tapes_received', 'Tapes Received'), ('tapes_ready_for_qc', 'Tapes Ready For QC'), ('move_to_collection', 'Move To Collection'), ('request_brainball', 'Request Brainball'), ('Mail_brainball_from_bil', 'Mail Brainball From BIL'), ('mail_brainball_to_bil', 'Mail Brainball To BIL'), ('received_brainball', 'Received Brainball'), ('collection_created', 'Collection Created'), ('metadata_uploaded', 'Metadata Uploaded'), ('request_validation', 'Request Validation'), ('request_submission', 'Request Submission'), ('request_embargo', 'Request Embargo'), ('collection_public', 'Collection Public'), ('request_withdrawal', 'Request Withdrawal'), ('data_curated', 'Data Curated'), ('collection_validated', 'Collected Validated'), ('user_action_required', 'User Action Required'),])
322323

323324
class Contributor(models.Model):
@@ -423,3 +424,12 @@ class Instrument(models.Model):
423424
data_set = models.ForeignKey(Dataset, on_delete=models.SET_NULL, blank=True, null=True)
424425
specimen = models.ForeignKey(Specimen, on_delete=models.SET_NULL, blank=True, null=True)
425426

427+
class MetadataVersion(models.Model):
428+
dataset_id_dm = models.ForeignKey(DescriptiveMetadata, on_delete = models.SET_NULL, blank = True, null = True)
429+
dataset_id_ds = models.ForeignKey(Dataset, on_delete=models.SET_NULL, blank=True, null=True)
430+
metadata_version = models.CharField(max_length=64, blank=True, null=True)
431+
dataset_doi = models.CharField(max_length=512, blank=True, null=True)
432+
dataset_status= models.CharField(max_length=256, blank=True, null=True)
433+
event = models.ForeignKey(EventsLog, on_delete=models.SET_NULL, blank=True, null=True)
434+
435+

ingest/static/ingest/style.css

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
.header {
22
background-color: #161b33; /* dark blue */
3-
border-radius: 0px;
3+
border-radius:0px;
4+
z-index: 99;
5+
position:fixed;
6+
width: 100%;
47
}
58

69
.navbar-header {
@@ -87,6 +90,7 @@
8790

8891
h1, h2, h3, h4 {
8992
font-family: 'Lato';
93+
margin-top: 70px;
9094
}
9195

9296
p {

ingest/tables.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@ def render_validation_status(self, value):
118118

119119
class Meta:
120120
model = Collection
121-
exclude = ['celery_task_id_submission', 'celery_task_id_validation', 'user']
122-
template_name = 'ingest/bootstrap_ingest.html'
121+
exclude = ['celery_task_id_submission', 'celery_task_id_validation', 'user', 'modality',]
122+
template_name = 'django_tables2/bootstrap.html'
123123

124124
class CollectionRequestTable(tables.Table):
125125
""" The table used in the collection list. """

ingest/templates/ingest/descriptive_metadata_upload.html

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ <h3>Step 3 of 3: Upload metadata for associated submission</h3>
2626
{% if collections %}
2727
<ul class="list-group">
2828
<li class="list-group-item">Download and fill out either the <a href="{% static 'ingest/BILMetadataV2Template.xlsx' %}">Excel</a> or <a href="{% static '/ingest/BILMetadataV2Template.ods' %}">LibreOffice Calc</a> template. </li>
29-
<li class="list-group-item">Choose a collection, then upload your metadata.</li>.
30-
<p> If the project you are looking for is not in this list, it must be added by the PI of your project. </p>
29+
<li class="list-group-item">Choose a collection, then upload your metadata.</li>
3130
</ul>
3231
<hr>
3332
{% csrf_token %}

ingest/views.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -413,14 +413,15 @@ def descriptive_metadata_list(request):
413413
table = DescriptiveMetadataTable(
414414
DescriptiveMetadata.objects.filter(user=request.user), exclude=['user'])
415415
RequestConfig(request).configure(table)
416-
descriptive_metadata = DescriptiveMetadata.objects.filter(user=request.user)
416+
descriptive_metadata = DescriptiveMetadata.objects.filter(user=request.user).last()
417417

418418
datasets_list = []
419419
collections = Collection.objects.filter(user=request.user)
420420
for c in collections:
421-
sheets = Sheet.objects.filter(collection_id=c.id).all()
422-
for s in sheets:
423-
datasets = Dataset.objects.filter(sheet_id=s.id)
421+
sheets = Sheet.objects.filter(collection_id=c.id).last()
422+
#for s in sheets:
423+
if sheets != None:
424+
datasets = Dataset.objects.filter(sheet_id=sheets.id)
424425
for d in datasets:
425426
datasets_list.append(d)
426427

@@ -799,16 +800,17 @@ def collection_detail(request, pk):
799800
try:
800801
datasets_list = []
801802
collection = Collection.objects.get(id=pk)
802-
sheets = Sheet.objects.filter(collection_id=collection.id).all()
803-
for s in sheets:
804-
datasets = Dataset.objects.filter(sheet_id=s.id)
803+
sheets = Sheet.objects.filter(collection_id=collection.id).last()
804+
#for s in sheets:
805+
if sheets != None:
806+
datasets = Dataset.objects.filter(sheet_id=sheets.id)
805807
for d in datasets:
806808
datasets_list.append(d)
807809
except ObjectDoesNotExist:
808810
raise Http404
809811
# the metadata associated with this collection
810812
#image_metadata_queryset = collection.imagemetadata_set.all()
811-
descriptive_metadata_queryset = collection.descriptivemetadata_set.all()
813+
descriptive_metadata_queryset = collection.descriptivemetadata_set.last()
812814
# this is what is triggered if the user hits "Upload to this Collection"
813815
if request.method == 'POST' and 'spreadsheet_file' in request.FILES:
814816
spreadsheet_file = request.FILES['spreadsheet_file']
@@ -2216,7 +2218,7 @@ def descriptive_metadata_upload(request):
22162218
# datapath = '/home/shared_bil_dev/testetc/'
22172219

22182220
# for development locally
2219-
#datapath = '/Users/ecp/Desktop/bil_metadata_uploads'
2221+
#datapath = '/Users/ltuite96/Desktop/bil_metadata_uploads'
22202222

22212223
spreadsheet_file = request.FILES['spreadsheet_file']
22222224

0 commit comments

Comments
 (0)