Skip to content

Commit 4797669

Browse files
committed
thesis: add defense and submission date
1 parent c807b72 commit 4797669

File tree

2 files changed

+43
-1
lines changed

2 files changed

+43
-1
lines changed

invenio_rdm_records/assets/semantic-ui/js/invenio_rdm_records/src/deposit/customFields/Thesis.js

+24
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ export class Thesis extends Component {
1919
university,
2020
department,
2121
type,
22+
date_submitted: dateSubmitted,
23+
date_defended: dateDefended,
2224
icon,
2325
label,
2426
} = this.props;
@@ -61,6 +63,26 @@ export class Thesis extends Component {
6163
<label className="helptext mb-0">{type.description}</label>
6264
)}
6365
</Grid.Column>
66+
<Grid.Column width="8">
67+
<Input
68+
fieldPath={`${fieldPath}.date_submitted`}
69+
label={dateSubmitted.label}
70+
placeholder={dateSubmitted.placeholder}
71+
/>
72+
{dateSubmitted.description && (
73+
<label className="helptext mb-0">{dateSubmitted.description}</label>
74+
)}
75+
</Grid.Column>
76+
<Grid.Column width="8">
77+
<Input
78+
fieldPath={`${fieldPath}.date_defended`}
79+
label={dateDefended.label}
80+
placeholder={dateDefended.placeholder}
81+
/>
82+
{dateDefended.description && (
83+
<label className="helptext mb-0">{dateDefended.description}</label>
84+
)}
85+
</Grid.Column>
6486
</Grid>
6587
</>
6688
);
@@ -72,6 +94,8 @@ Thesis.propTypes = {
7294
university: PropTypes.object.isRequired,
7395
department: PropTypes.object.isRequired,
7496
type: PropTypes.object.isRequired,
97+
date_submitted: PropTypes.object.isRequired,
98+
date_defended: PropTypes.object.isRequired,
7599
icon: PropTypes.string,
76100
label: PropTypes.string,
77101
};

invenio_rdm_records/contrib/thesis/custom_fields.py

+19-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from invenio_i18n import lazy_gettext as _
1717
from invenio_records_resources.services.custom_fields import BaseCF
1818
from marshmallow import fields
19-
from marshmallow_utils.fields import SanitizedUnicode
19+
from marshmallow_utils.fields import SanitizedUnicode, EDTFLevel2DateString
2020

2121

2222
class ThesisCF(BaseCF):
@@ -30,6 +30,8 @@ def field(self):
3030
"university": SanitizedUnicode(),
3131
"department": SanitizedUnicode(),
3232
"type": SanitizedUnicode(),
33+
"date_submitted": EDTFLevel2DateString(),
34+
"date_defended": EDTFLevel2DateString(),
3335
}
3436
)
3537

@@ -42,6 +44,8 @@ def mapping(self):
4244
"university": {"type": "keyword"},
4345
"department": {"type": "keyword"},
4446
"type": {"type": "keyword"},
47+
"date_submitted": {"type": "keyword"},
48+
"date_defended": {"type": "keyword"},
4549
},
4650
}
4751

@@ -81,6 +85,20 @@ def mapping(self):
8185
"The type of thesis (e.g. Masters, PhD, Engineers, Bachelors)"
8286
),
8387
},
88+
"date_submitted": {
89+
"label": _("Submission date"),
90+
"placeholder": "",
91+
"description": _(
92+
"Submission date in YYYY-MM-DD format."
93+
),
94+
},
95+
"date_defended": {
96+
"label": _("Defense date"),
97+
"placeholder": "",
98+
"description": _(
99+
"Defense date in YYYY-MM-DD format."
100+
),
101+
},
84102
},
85103
}
86104
],

0 commit comments

Comments
 (0)