mirror of
https://github.com/Cian-H/invenio-theme-iform.git
synced 2025-12-22 20:51:58 +00:00
migrate: to invenio-app-rdm:v2
This commit is contained in:
@@ -279,14 +279,11 @@ export class RDMDepositForm extends Component {
|
||||
config={this.config}
|
||||
record={this.props.record}
|
||||
files={this.props.files}
|
||||
permissions={this.props.permissions}
|
||||
>
|
||||
<FormFeedback fieldPath="message" />
|
||||
<Container style={{ marginTop: "10px" }}>
|
||||
<DepositFormTitle
|
||||
// TODO: make is_published part of the API response
|
||||
// so we don't have to do this
|
||||
isPublished={this.props.record.is_published}
|
||||
/>
|
||||
<DepositFormTitle />
|
||||
<Grid>
|
||||
<Grid.Row>
|
||||
<Grid.Column width={11}>
|
||||
@@ -296,7 +293,7 @@ export class RDMDepositForm extends Component {
|
||||
label={"Files"}
|
||||
ui={this.accordionStyle}
|
||||
>
|
||||
{this.noFiles && (
|
||||
{this.noFiles && this.props.record.is_published && (
|
||||
<p
|
||||
style={{
|
||||
textAlign: "center",
|
||||
@@ -448,7 +445,7 @@ export class RDMDepositForm extends Component {
|
||||
/>
|
||||
<DatesField options={this.vocabularies.metadata.dates} />
|
||||
<VersionField />
|
||||
<PublisherField required/>
|
||||
<PublisherField required />
|
||||
<br />
|
||||
</AccordionField>
|
||||
{/**TODO: uncomment to use FundingField*/}
|
||||
@@ -505,8 +502,11 @@ export class RDMDepositForm extends Component {
|
||||
label={"Protection"}
|
||||
labelIcon={"shield"}
|
||||
/>
|
||||
{this.config.data_cite &&(
|
||||
<DoiMint record={this.props.record} config={this.config.data_cite}/>
|
||||
{this.config.data_cite && (
|
||||
<DoiMint
|
||||
record={this.props.record}
|
||||
config={this.config.data_cite}
|
||||
/>
|
||||
)}
|
||||
</Sticky>
|
||||
</Grid.Column>
|
||||
|
||||
@@ -17,6 +17,7 @@ ReactDOM.render(
|
||||
record={getInputFromDOM("deposits-record")}
|
||||
files={getInputFromDOM("deposits-record-files")}
|
||||
config={getInputFromDOM("deposits-config")}
|
||||
permissions={getInputFromDOM("deposits-record-permissions")}
|
||||
/>,
|
||||
document.getElementById("deposit-form")
|
||||
);
|
||||
|
||||
@@ -10,17 +10,20 @@
|
||||
{%- extends config.BASE_TEMPLATE %}
|
||||
|
||||
{%- block page_body %}
|
||||
{%- if record %}
|
||||
<input id="deposits-record" type="hidden" name="deposits-record" value='{{record | tojson }}'></input>
|
||||
{%- endif %}
|
||||
{%- if files %}
|
||||
<input id="deposits-record-files" type="hidden" name="deposits-record-files" value='{{files | tojson }}'></input>
|
||||
{%- endif %}
|
||||
{%- if forms_config %}
|
||||
<input type="hidden" name="deposits-config" value='{{forms_config | tojson }}'></input>
|
||||
{%- endif %}
|
||||
<div id="deposit-form"></div>
|
||||
{%- endblock page_body %}
|
||||
{%- if record %}
|
||||
<input id="deposits-record" type="hidden" name="deposits-record" value='{{record | tojson }}'></input>
|
||||
{%- endif %}
|
||||
{%- if files %}
|
||||
<input id="deposits-record-files" type="hidden" name="deposits-record-files" value='{{files | tojson }}'></input>
|
||||
{%- endif %}
|
||||
{%- if forms_config %}
|
||||
<input type="hidden" name="deposits-config" value='{{forms_config | tojson }}'></input>
|
||||
{%- endif %}
|
||||
{%- if permissions %}
|
||||
<input id="deposits-record-permissions" type="hidden" name="deposits-record-permissions" value='{{permissions | tojson }}'></input>
|
||||
{%- endif %}
|
||||
<div id="deposit-form"></div>
|
||||
{%- endblock page_body %}
|
||||
|
||||
{%- block javascript %}
|
||||
{{ super() }}
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
Invenio RDM Records is free software; you can redistribute it and/or modify
|
||||
it under the terms of the MIT License; see LICENSE file for more details.
|
||||
#}
|
||||
|
||||
|
||||
{%- extends config.BASE_TEMPLATE %}
|
||||
|
||||
|
||||
{%- from "invenio_app_rdm/records/macros/files.html" import file_list_box, preview_file_box %}
|
||||
{%- from "invenio_app_rdm/records/macros/detail.html" import show_detail %}
|
||||
|
||||
@@ -17,12 +17,34 @@
|
||||
{%- set metadata = record.metadata %}
|
||||
|
||||
{%- block page_body %}
|
||||
{% if permissions is defined and permissions.can_update_draft %}
|
||||
<div
|
||||
id="recordManagement"
|
||||
data-recid='{{ record["id"] | tojson }}'>
|
||||
<div class="banners">
|
||||
{% if permissions is defined and permissions.can_edit %}
|
||||
<div class="ui warning flashed top-attached manage message">
|
||||
<div class="ui container">
|
||||
<div id="recordManagement" data-record='{{ record | tojson }}' data-permissions='{{ permissions | tojson }}'></div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if not record.versions.is_latest %}
|
||||
<div class="ui warning flashed top-attached manage message">
|
||||
<div class="ui container">
|
||||
<div class="ui relaxed grid">
|
||||
<div class="column">
|
||||
<div class="row">
|
||||
<p>
|
||||
{% trans link_start=('<a href="' + record.links.latest_html + '"><b>')|safe, link_end='</b></a>'|safe %}
|
||||
There is a {{ link_start }}newer version{{ link_end }} of the record available.
|
||||
{% endtrans %}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="ui container">
|
||||
<div class="ui relaxed grid">
|
||||
<div class="two column row top-padded">
|
||||
@@ -33,9 +55,7 @@
|
||||
<div class="two column row">
|
||||
<div class="left floated left aligned column">
|
||||
<span class="ui" title="Publication date">{{ record.ui.publication_date_l10n_long }}</span>
|
||||
{%- if metadata.version %}
|
||||
<span class="label text-muted"> | Version {{ metadata.version }}</span>
|
||||
{% endif %}
|
||||
<span class="label text-muted"> | Version {{ record.ui.version }}</span>
|
||||
</div>
|
||||
<div class="right floated right aligned column">
|
||||
<span class="ui label small grey">{{ record.ui.resource_type }}</span>
|
||||
@@ -88,7 +108,7 @@
|
||||
<div class="ui grid">
|
||||
<div class="two column row top-bottom-padded font-small">
|
||||
<div class="four wide column">
|
||||
<p><b>Upload infromation</b></p>
|
||||
<p><b>Upload information</b></p>
|
||||
</div>
|
||||
<div class="twelve wide column">
|
||||
<span class="label text-muted">
|
||||
@@ -114,8 +134,8 @@
|
||||
{% block record_sidebar %}
|
||||
{%- include "invenio_app_rdm/records/details/side_bar.html" %}
|
||||
<div style="text-align: center;">
|
||||
{%- include "invenio_theme_tugraz/landingpage/doi.html" %}
|
||||
</div>
|
||||
{%- include "invenio_theme_tugraz/landingpage/doi.html" %}
|
||||
</div>
|
||||
{% endblock record_sidebar %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
<img height="51.862" src="{{ url_for('static', filename='images/library_logo.png')}}">
|
||||
</div>
|
||||
<div class="affiliation-text">
|
||||
<a title="RDM" href="{{url_for('invenio_theme_tugraz.index')}}">
|
||||
<a title="Home" href="{{url_for('invenio_theme_tugraz.index')}}">
|
||||
TU GRAZ
|
||||
<br>
|
||||
{{_ ("REPOSITORY")}}
|
||||
|
||||
@@ -22,13 +22,13 @@ from invenio_app_rdm.records_ui.views.decorators import (
|
||||
pass_record,
|
||||
pass_record_files,
|
||||
service,
|
||||
user_permissions,
|
||||
)
|
||||
from invenio_app_rdm.records_ui.views.deposits import (
|
||||
get_form_config,
|
||||
get_search_url,
|
||||
new_record,
|
||||
)
|
||||
from invenio_rdm_records.proxies import current_rdm_records
|
||||
from invenio_rdm_records.resources.config import RDMDraftFilesResourceConfig
|
||||
from invenio_rdm_records.resources.serializers import UIJSONSerializer
|
||||
from invenio_rdm_records.services import RDMDraftFilesService
|
||||
@@ -146,9 +146,7 @@ def deposit_create():
|
||||
@pass_draft
|
||||
def deposit_edit(draft=None, pid_value=None):
|
||||
"""Edit an existing deposit."""
|
||||
# TODO: should be embedded in record service
|
||||
files_service = RDMDraftFilesService()
|
||||
files_list = files_service.list_files(
|
||||
files_list = current_rdm_records.draft_files_service.list_files(
|
||||
id_=pid_value,
|
||||
identity=g.identity,
|
||||
links_config=RDMDraftFilesResourceConfig.links_config,
|
||||
@@ -157,15 +155,6 @@ def deposit_edit(draft=None, pid_value=None):
|
||||
serializer = UIJSONSerializer()
|
||||
record = serializer.serialize_object_to_dict(draft.to_dict())
|
||||
|
||||
# TODO: get the `is_published` field when reading the draft
|
||||
from invenio_pidstore.errors import PIDUnregistered
|
||||
|
||||
try:
|
||||
service().draft_cls.pid.resolve(pid_value, registered_only=True)
|
||||
record["is_published"] = True
|
||||
except PIDUnregistered:
|
||||
record["is_published"] = False
|
||||
|
||||
forms_config = get_form_config(apiUrl=f"/api/records/{pid_value}/draft")
|
||||
forms_config["data_cite"] = get_datacite_details()
|
||||
|
||||
@@ -175,13 +164,13 @@ def deposit_edit(draft=None, pid_value=None):
|
||||
record=record,
|
||||
files=files_list.to_dict(),
|
||||
searchbar_config=dict(searchUrl=get_search_url()),
|
||||
permissions=draft.has_permissions_to(['new_version'])
|
||||
)
|
||||
|
||||
|
||||
@pass_record
|
||||
@pass_record_files
|
||||
@user_permissions(actions=["update_draft"])
|
||||
def record_detail(record=None, files=None, pid_value=None, permissions=None):
|
||||
def record_detail(record=None, files=None, pid_value=None):
|
||||
"""Record detail page (aka landing page)."""
|
||||
files_dict = None if files is None else files.to_dict()
|
||||
return render_template(
|
||||
@@ -189,5 +178,5 @@ def record_detail(record=None, files=None, pid_value=None, permissions=None):
|
||||
record=UIJSONSerializer().serialize_object_to_dict(record.to_dict()),
|
||||
pid=pid_value,
|
||||
files=files_dict,
|
||||
permissions=permissions,
|
||||
permissions=record.has_permissions_to(['edit', 'new_version']),
|
||||
)
|
||||
|
||||
@@ -32,7 +32,7 @@ theme = WebpackThemeBundle(
|
||||
'prop-types': '^15.7.2',
|
||||
'react-dnd': '^11.1.3',
|
||||
'react-dnd-html5-backend': '^11.1.3',
|
||||
'react-invenio-deposit': '^0.11.10',
|
||||
'react-invenio-deposit': '^0.12.0',
|
||||
'react-invenio-forms': '^0.6.3',
|
||||
'react-dropzone': "^11.0.3",
|
||||
'yup': '^0.27.0',
|
||||
|
||||
8
setup.py
8
setup.py
@@ -20,9 +20,9 @@ tests_require = [
|
||||
"invenio-app>=1.3.0,<2.0.0",
|
||||
]
|
||||
|
||||
# Should follow inveniosoftware/invenio versions
|
||||
invenio_search_version = ">=1.4.0,<2.0.0"
|
||||
invenio_db_version = ">=1.0.5,<2.0.0"
|
||||
# Should follow invenio-app-rdm
|
||||
invenio_search_version = ">=1.4.0,<1.5.0"
|
||||
invenio_db_version = ">=1.0.9,<1.1.0"
|
||||
|
||||
extras_require = {
|
||||
"elasticsearch7": [f"invenio-search[elasticsearch7]{invenio_search_version}"],
|
||||
@@ -60,7 +60,7 @@ install_requires = [
|
||||
"invenio_search>=1.4.0,<2.0.0",
|
||||
"invenio_config_tugraz>=0.5.1",
|
||||
# keep this package updated.
|
||||
"invenio_app_rdm<=1.0.0",
|
||||
"invenio_app_rdm==2.0.1",
|
||||
]
|
||||
|
||||
packages = find_packages()
|
||||
|
||||
Reference in New Issue
Block a user