mirror of
https://github.com/Cian-H/invenio-theme-iform.git
synced 2025-12-23 05:01:58 +00:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ecacf0ba59 | ||
|
|
592d59e54d | ||
|
|
f40fb37ec4 | ||
|
|
44e4b01332 | ||
|
|
97feb284cf | ||
|
|
20fc3e62be | ||
|
|
530d32d7c7 | ||
|
|
b27d54b6f0 | ||
|
|
f81ca88835 | ||
|
|
39c19238dd | ||
|
|
3f14a3ada4 |
@@ -0,0 +1,47 @@
|
|||||||
|
// This file is part of React-Invenio-Deposit
|
||||||
|
// Copyright (C) 2020 CERN.
|
||||||
|
// Copyright (C) 2020 Northwestern University.
|
||||||
|
// Copyright (C) 2021 Graz University of Technology.
|
||||||
|
//
|
||||||
|
// React-Invenio-Deposit is free software; you can redistribute it and/or modify it
|
||||||
|
// under the terms of the MIT License; see LICENSE file for more details.
|
||||||
|
|
||||||
|
import React, { Component } from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { FieldLabel, TextField } from 'react-invenio-forms';
|
||||||
|
|
||||||
|
export class PublisherField extends Component {
|
||||||
|
render() {
|
||||||
|
const { fieldPath, label, labelIcon, placeholder, required } = this.props;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<TextField
|
||||||
|
fieldPath={fieldPath}
|
||||||
|
helpText={
|
||||||
|
'The publisher is used to formulate the citation, if you are plannig to mint a new DOI this publisher will be cited.'
|
||||||
|
}
|
||||||
|
label={
|
||||||
|
<FieldLabel htmlFor={fieldPath} icon={labelIcon} label={label} />
|
||||||
|
}
|
||||||
|
placeholder={placeholder}
|
||||||
|
required={required}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
PublisherField.propTypes = {
|
||||||
|
fieldPath: PropTypes.string.isRequired,
|
||||||
|
label: PropTypes.string,
|
||||||
|
labelIcon: PropTypes.string,
|
||||||
|
placeholder: PropTypes.string,
|
||||||
|
required: PropTypes.bool,
|
||||||
|
};
|
||||||
|
|
||||||
|
PublisherField.defaultProps = {
|
||||||
|
fieldPath: 'metadata.publisher',
|
||||||
|
label: 'Publisher',
|
||||||
|
labelIcon: 'building outline',
|
||||||
|
placeholder: 'Enter publisher name',
|
||||||
|
};
|
||||||
@@ -33,7 +33,6 @@ import {
|
|||||||
LanguagesField,
|
LanguagesField,
|
||||||
PublishButton,
|
PublishButton,
|
||||||
PublicationDateField,
|
PublicationDateField,
|
||||||
PublisherField,
|
|
||||||
ResourceTypeField,
|
ResourceTypeField,
|
||||||
SaveButton,
|
SaveButton,
|
||||||
SubjectsField,
|
SubjectsField,
|
||||||
@@ -44,6 +43,7 @@ import {
|
|||||||
} from "react-invenio-deposit";
|
} from "react-invenio-deposit";
|
||||||
import { AccordionField } from "react-invenio-forms";
|
import { AccordionField } from "react-invenio-forms";
|
||||||
import { DoiMint } from "./DoiMint";
|
import { DoiMint } from "./DoiMint";
|
||||||
|
import { PublisherField } from "./PublisherField";
|
||||||
|
|
||||||
export class RDMDepositForm extends Component {
|
export class RDMDepositForm extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
@@ -279,14 +279,11 @@ export class RDMDepositForm extends Component {
|
|||||||
config={this.config}
|
config={this.config}
|
||||||
record={this.props.record}
|
record={this.props.record}
|
||||||
files={this.props.files}
|
files={this.props.files}
|
||||||
|
permissions={this.props.permissions}
|
||||||
>
|
>
|
||||||
<FormFeedback fieldPath="message" />
|
<FormFeedback fieldPath="message" />
|
||||||
<Container style={{ marginTop: "10px" }}>
|
<Container style={{ marginTop: "10px" }}>
|
||||||
<DepositFormTitle
|
<DepositFormTitle />
|
||||||
// TODO: make is_published part of the API response
|
|
||||||
// so we don't have to do this
|
|
||||||
isPublished={this.props.record.is_published}
|
|
||||||
/>
|
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.Row>
|
<Grid.Row>
|
||||||
<Grid.Column width={11}>
|
<Grid.Column width={11}>
|
||||||
@@ -296,7 +293,7 @@ export class RDMDepositForm extends Component {
|
|||||||
label={"Files"}
|
label={"Files"}
|
||||||
ui={this.accordionStyle}
|
ui={this.accordionStyle}
|
||||||
>
|
>
|
||||||
{this.noFiles && (
|
{this.noFiles && this.props.record.is_published && (
|
||||||
<p
|
<p
|
||||||
style={{
|
style={{
|
||||||
textAlign: "center",
|
textAlign: "center",
|
||||||
@@ -431,8 +428,10 @@ export class RDMDepositForm extends Component {
|
|||||||
label="Subjects"
|
label="Subjects"
|
||||||
labelIcon="tag"
|
labelIcon="tag"
|
||||||
/> */}
|
/> */}
|
||||||
|
{/**TODO- enable once issue is solved:
|
||||||
<LanguagesField
|
* https://github.com/inveniosoftware/invenio-app-rdm/issues/738
|
||||||
|
*/}
|
||||||
|
{/* <LanguagesField
|
||||||
initialOptions={_get(
|
initialOptions={_get(
|
||||||
this.props.record,
|
this.props.record,
|
||||||
"ui.languages",
|
"ui.languages",
|
||||||
@@ -445,10 +444,10 @@ export class RDMDepositForm extends Component {
|
|||||||
key: item.id,
|
key: item.id,
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
/>
|
/> */}
|
||||||
<DatesField options={this.vocabularies.metadata.dates} />
|
<DatesField options={this.vocabularies.metadata.dates} />
|
||||||
<VersionField />
|
<VersionField />
|
||||||
<PublisherField />
|
<PublisherField required />
|
||||||
<br />
|
<br />
|
||||||
</AccordionField>
|
</AccordionField>
|
||||||
{/**TODO: uncomment to use FundingField*/}
|
{/**TODO: uncomment to use FundingField*/}
|
||||||
@@ -505,8 +504,11 @@ export class RDMDepositForm extends Component {
|
|||||||
label={"Protection"}
|
label={"Protection"}
|
||||||
labelIcon={"shield"}
|
labelIcon={"shield"}
|
||||||
/>
|
/>
|
||||||
{this.config.data_cite &&(
|
{this.config.data_cite && (
|
||||||
<DoiMint record={this.props.record} config={this.config.data_cite}/>
|
<DoiMint
|
||||||
|
record={this.props.record}
|
||||||
|
config={this.config.data_cite}
|
||||||
|
/>
|
||||||
)}
|
)}
|
||||||
</Sticky>
|
</Sticky>
|
||||||
</Grid.Column>
|
</Grid.Column>
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ ReactDOM.render(
|
|||||||
record={getInputFromDOM("deposits-record")}
|
record={getInputFromDOM("deposits-record")}
|
||||||
files={getInputFromDOM("deposits-record-files")}
|
files={getInputFromDOM("deposits-record-files")}
|
||||||
config={getInputFromDOM("deposits-config")}
|
config={getInputFromDOM("deposits-config")}
|
||||||
|
permissions={getInputFromDOM("deposits-record-permissions")}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById("deposit-form")
|
document.getElementById("deposit-form")
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -54,11 +54,6 @@
|
|||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
|
||||||
color: inherit;
|
|
||||||
text-decoration: none;
|
|
||||||
transition: background-color 0.15s ease 0s, color 0.15s ease 0s;
|
|
||||||
}
|
|
||||||
/*****END logo section******/
|
/*****END logo section******/
|
||||||
|
|
||||||
.short-menu {
|
.short-menu {
|
||||||
|
|||||||
@@ -24,3 +24,11 @@
|
|||||||
|
|
||||||
//@import "../invenio_app_rdm/theme";
|
//@import "../invenio_app_rdm/theme";
|
||||||
//@import "variables";
|
//@import "variables";
|
||||||
|
|
||||||
|
// used in various templates
|
||||||
|
// add no hyperlink decoration
|
||||||
|
.no-decoration{
|
||||||
|
color: inherit;
|
||||||
|
text-decoration: none;
|
||||||
|
transition: background-color 0.15s ease 0s, color 0.15s ease 0s;
|
||||||
|
}
|
||||||
|
|||||||
@@ -21,4 +21,6 @@ class FrontpageRecordsSearch(RecordsSearch):
|
|||||||
"""Default index and filter for frontpage search."""
|
"""Default index and filter for frontpage search."""
|
||||||
|
|
||||||
index = "rdmrecords-records"
|
index = "rdmrecords-records"
|
||||||
default_filter = Q("query_string", query=("access.record:public"))
|
default_filter = Q(
|
||||||
|
"query_string", query=(
|
||||||
|
"access.record:public" "AND versions.is_latest:true"))
|
||||||
|
|||||||
@@ -4,14 +4,14 @@
|
|||||||
|
|
||||||
{%- if config.SECURITY_REGISTERABLE %}
|
{%- if config.SECURITY_REGISTERABLE %}
|
||||||
<div class="short-menu-right-button">
|
<div class="short-menu-right-button">
|
||||||
<a href="{{ url_for('security.register') }}">
|
<a href="{{ url_for('security.register') }}" class="no-decoration">
|
||||||
{{_ ("Sign up")}}
|
{{_ ("Sign up")}}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
<div class="short-menu-right-button">
|
<div class="short-menu-right-button">
|
||||||
<a href="{{url_for_security('login', next=request.path)}}" style="text-decoration:none">
|
<a href="{{url_for_security('login', next=request.path)}}" class="no-decoration">
|
||||||
{{_ ("Log in")}}
|
{{_ ("Log in")}}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
@@ -21,12 +21,12 @@
|
|||||||
{%- if config.USERPROFILES %}
|
{%- if config.USERPROFILES %}
|
||||||
|
|
||||||
<div class="short-menu-right-button">
|
<div class="short-menu-right-button">
|
||||||
<a href="{{ url_for('invenio_userprofiles.profile') }}">
|
<a href="{{ url_for('invenio_userprofiles.profile') }}" class="no-decoration">
|
||||||
<i class="user icon"></i> {{ current_user.email }}
|
<i class="user icon"></i> {{ current_user.email }}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="short-menu-right-button">
|
<div class="short-menu-right-button">
|
||||||
<a class="dropdown-item" href="{{url_for_security('logout')}}">
|
<a class="dropdown-item no-decoration" href="{{url_for_security('logout')}}">
|
||||||
{{_('Sign out')}}
|
{{_('Sign out')}}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -19,8 +19,11 @@
|
|||||||
{%- if forms_config %}
|
{%- if forms_config %}
|
||||||
<input type="hidden" name="deposits-config" value='{{forms_config | tojson }}'></input>
|
<input type="hidden" name="deposits-config" value='{{forms_config | tojson }}'></input>
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
{%- if permissions %}
|
||||||
|
<input id="deposits-record-permissions" type="hidden" name="deposits-record-permissions" value='{{permissions | tojson }}'></input>
|
||||||
|
{%- endif %}
|
||||||
<div id="deposit-form"></div>
|
<div id="deposit-form"></div>
|
||||||
{%- endblock page_body %}
|
{%- endblock page_body %}
|
||||||
|
|
||||||
{%- block javascript %}
|
{%- block javascript %}
|
||||||
{{ super() }}
|
{{ super() }}
|
||||||
|
|||||||
@@ -29,6 +29,10 @@
|
|||||||
|
|
||||||
<h2>{{_ ("Repository")}}</h2>
|
<h2>{{_ ("Repository")}}</h2>
|
||||||
<p class="bodytext">
|
<p class="bodytext">
|
||||||
|
<a href="https://tu-graz-library.github.io/docs-repository" title="Repository documentation" target="_blank">
|
||||||
|
{{_ ("Documentation")}} <i class="external alternate icon"></i>
|
||||||
|
</a>
|
||||||
|
<br>
|
||||||
<!-- <a href="{{ url_for('invenio_theme_tugraz.comingsoon') }}">
|
<!-- <a href="{{ url_for('invenio_theme_tugraz.comingsoon') }}">
|
||||||
{{_ ("Impressum")}}<i class="angle right icon"></i>
|
{{_ ("Impressum")}}<i class="angle right icon"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
<div class="ui grid stackable container">
|
<div class="ui grid stackable container">
|
||||||
<div class="three column row centered" style="padding-bottom: 0;">
|
<div class="three column row centered" style="padding-bottom: 0;">
|
||||||
<div class="two wide column main-menu-entry">
|
<div class="two wide column main-menu-entry">
|
||||||
<a href="{{url_for('invenio_theme_tugraz.index')}}" title="Home">
|
<a href="{{url_for('invenio_theme_tugraz.index')}}" title="Home" class="no-decoration">
|
||||||
<span class="home-inline">
|
<span class="home-inline">
|
||||||
<svg shape-rendering="geometricPrecision" id="int-menu-q-home-icon"
|
<svg shape-rendering="geometricPrecision" id="int-menu-q-home-icon"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg"
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
|
|
||||||
<!--TODO: remove this once above is uncommented-->
|
<!--TODO: remove this once above is uncommented-->
|
||||||
<div class="two wide column main-menu-entry">
|
<div class="two wide column main-menu-entry">
|
||||||
<a href="{{url_for('invenio_app_rdm_records.deposit_search')}}">{{_ ("Uploads")}}</a>
|
<a href="{{url_for('invenio_app_rdm_records.deposit_search')}}" class="no-decoration">{{_ ("Uploads")}}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -73,7 +73,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4>
|
<h4>
|
||||||
<a href="{{ record_url }}">
|
<a href="{{ record_url }}" class="no-decoration">
|
||||||
{{r.metadata.title}}
|
{{r.metadata.title}}
|
||||||
</a>
|
</a>
|
||||||
</h4>
|
</h4>
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="hidden-xs">
|
<p class="hidden-xs">
|
||||||
<a href="{{record_url}}">
|
<a href="{{record_url}}" class="no-decoration">
|
||||||
{{ r.metadata.description | striptags | truncate(300) }}
|
{{ r.metadata.description | striptags | truncate(300) }}
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -17,12 +17,34 @@
|
|||||||
{%- set metadata = record.metadata %}
|
{%- set metadata = record.metadata %}
|
||||||
|
|
||||||
{%- block page_body %}
|
{%- block page_body %}
|
||||||
{% if permissions is defined and permissions.can_update_draft %}
|
<div class="banners">
|
||||||
<div
|
{% if permissions is defined and permissions.can_edit %}
|
||||||
id="recordManagement"
|
<div class="ui warning flashed top-attached manage message">
|
||||||
data-recid='{{ record["id"] | tojson }}'>
|
<div class="ui container">
|
||||||
|
<div id="recordManagement" data-record='{{ record | tojson }}' data-permissions='{{ permissions | tojson }}'></div>
|
||||||
|
</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 container">
|
||||||
<div class="ui relaxed grid">
|
<div class="ui relaxed grid">
|
||||||
<div class="two column row top-padded">
|
<div class="two column row top-padded">
|
||||||
@@ -33,9 +55,7 @@
|
|||||||
<div class="two column row">
|
<div class="two column row">
|
||||||
<div class="left floated left aligned column">
|
<div class="left floated left aligned column">
|
||||||
<span class="ui" title="Publication date">{{ record.ui.publication_date_l10n_long }}</span>
|
<span class="ui" title="Publication date">{{ record.ui.publication_date_l10n_long }}</span>
|
||||||
{%- if metadata.version %}
|
<span class="label text-muted"> | Version {{ record.ui.version }}</span>
|
||||||
<span class="label text-muted"> | Version {{ metadata.version }}</span>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
</div>
|
||||||
<div class="right floated right aligned column">
|
<div class="right floated right aligned column">
|
||||||
<span class="ui label small grey">{{ record.ui.resource_type }}</span>
|
<span class="ui label small grey">{{ record.ui.resource_type }}</span>
|
||||||
@@ -88,7 +108,7 @@
|
|||||||
<div class="ui grid">
|
<div class="ui grid">
|
||||||
<div class="two column row top-bottom-padded font-small">
|
<div class="two column row top-bottom-padded font-small">
|
||||||
<div class="four wide column">
|
<div class="four wide column">
|
||||||
<p><b>Upload infromation</b></p>
|
<p><b>Upload information</b></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="twelve wide column">
|
<div class="twelve wide column">
|
||||||
<span class="label text-muted">
|
<span class="label text-muted">
|
||||||
@@ -98,7 +118,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{%- endblock record_footer -%}
|
{%- endblock record_footer -%}
|
||||||
{%- block jump -%}
|
<!-- {%- block jump -%}
|
||||||
<div class="ui grid">
|
<div class="ui grid">
|
||||||
<div class="centered row" id="jump-btn">
|
<div class="centered row" id="jump-btn">
|
||||||
<a style="cursor: pointer;">
|
<a style="cursor: pointer;">
|
||||||
@@ -107,7 +127,7 @@
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{%- endblock jump -%}
|
{%- endblock jump -%} -->
|
||||||
{%- endblock record_body %}
|
{%- endblock record_body %}
|
||||||
</div>
|
</div>
|
||||||
<div class="five wide column">
|
<div class="five wide column">
|
||||||
|
|||||||
@@ -16,13 +16,13 @@
|
|||||||
{%- for l in current_i18n.get_locales() %}
|
{%- for l in current_i18n.get_locales() %}
|
||||||
{%- if current_i18n.language != l.language %}
|
{%- if current_i18n.language != l.language %}
|
||||||
<a
|
<a
|
||||||
href="{{ url_for('invenio_i18n.set_lang', lang_code=l.language) }}">{{ l.get_display_name().upper() [0:2]}}</a>
|
href="{{ url_for('invenio_i18n.set_lang', lang_code=l.language) }}" class="no-decoration">{{ l.get_display_name().upper() [0:2]}}</a>
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
</div>
|
</div>
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
<div class="search-icon-header">
|
<div class="search-icon-header">
|
||||||
<a href="{{url_for('invenio_search_ui.search')}}">
|
<a href="{{url_for('invenio_search_ui.search')}}" class="no-decoration">
|
||||||
<svg class="short-menu-icon" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
<svg class="short-menu-icon" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns="http://www.w3.org/2000/svg" height="26.015" width="26.015" version="1.1"
|
xmlns="http://www.w3.org/2000/svg" height="26.015" width="26.015" version="1.1"
|
||||||
xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
<img height="51.862" src="{{ url_for('static', filename='images/library_logo.png')}}">
|
<img height="51.862" src="{{ url_for('static', filename='images/library_logo.png')}}">
|
||||||
</div>
|
</div>
|
||||||
<div class="affiliation-text">
|
<div class="affiliation-text">
|
||||||
<a title="RDM" href="{{url_for('invenio_theme_tugraz.index')}}">
|
<a title="Home" href="{{url_for('invenio_theme_tugraz.index')}}" class="no-decoration">
|
||||||
TU GRAZ
|
TU GRAZ
|
||||||
<br>
|
<br>
|
||||||
{{_ ("REPOSITORY")}}
|
{{_ ("REPOSITORY")}}
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
<!--Right-->
|
<!--Right-->
|
||||||
<div class="right floated right aligned six wide column">
|
<div class="right floated right aligned six wide column">
|
||||||
<div class="affiliation-logo" id="int-header-logo">
|
<div class="affiliation-logo" id="int-header-logo">
|
||||||
<a href="https://www.tugraz.at" title="TU Graz Home" target="_blank">
|
<a href="https://www.tugraz.at" title="TU Graz Home" target="_blank" class="no-decoration">
|
||||||
<div class="affiliation-logo-claim">
|
<div class="affiliation-logo-claim">
|
||||||
<div class="affiliation-logo-claim-single">{{_ ("SCIENCE")}}</div>
|
<div class="affiliation-logo-claim-single">{{_ ("SCIENCE")}}</div>
|
||||||
<div class="affiliation-logo-claim-single">{{_ ("PASSION")}}</div>
|
<div class="affiliation-logo-claim-single">{{_ ("PASSION")}}</div>
|
||||||
|
|||||||
@@ -12,4 +12,4 @@ This file is imported by ``invenio_theme_tugraz.__init__``,
|
|||||||
and parsed by ``setup.py``.
|
and parsed by ``setup.py``.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
__version__ = "1.9.4"
|
__version__ = "2.0.2"
|
||||||
|
|||||||
@@ -22,13 +22,13 @@ from invenio_app_rdm.records_ui.views.decorators import (
|
|||||||
pass_record,
|
pass_record,
|
||||||
pass_record_files,
|
pass_record_files,
|
||||||
service,
|
service,
|
||||||
user_permissions,
|
|
||||||
)
|
)
|
||||||
from invenio_app_rdm.records_ui.views.deposits import (
|
from invenio_app_rdm.records_ui.views.deposits import (
|
||||||
get_form_config,
|
get_form_config,
|
||||||
get_search_url,
|
get_search_url,
|
||||||
new_record,
|
new_record,
|
||||||
)
|
)
|
||||||
|
from invenio_rdm_records.proxies import current_rdm_records
|
||||||
from invenio_rdm_records.resources.config import RDMDraftFilesResourceConfig
|
from invenio_rdm_records.resources.config import RDMDraftFilesResourceConfig
|
||||||
from invenio_rdm_records.resources.serializers import UIJSONSerializer
|
from invenio_rdm_records.resources.serializers import UIJSONSerializer
|
||||||
from invenio_rdm_records.services import RDMDraftFilesService
|
from invenio_rdm_records.services import RDMDraftFilesService
|
||||||
@@ -146,9 +146,7 @@ def deposit_create():
|
|||||||
@pass_draft
|
@pass_draft
|
||||||
def deposit_edit(draft=None, pid_value=None):
|
def deposit_edit(draft=None, pid_value=None):
|
||||||
"""Edit an existing deposit."""
|
"""Edit an existing deposit."""
|
||||||
# TODO: should be embedded in record service
|
files_list = current_rdm_records.draft_files_service.list_files(
|
||||||
files_service = RDMDraftFilesService()
|
|
||||||
files_list = files_service.list_files(
|
|
||||||
id_=pid_value,
|
id_=pid_value,
|
||||||
identity=g.identity,
|
identity=g.identity,
|
||||||
links_config=RDMDraftFilesResourceConfig.links_config,
|
links_config=RDMDraftFilesResourceConfig.links_config,
|
||||||
@@ -157,15 +155,6 @@ def deposit_edit(draft=None, pid_value=None):
|
|||||||
serializer = UIJSONSerializer()
|
serializer = UIJSONSerializer()
|
||||||
record = serializer.serialize_object_to_dict(draft.to_dict())
|
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 = get_form_config(apiUrl=f"/api/records/{pid_value}/draft")
|
||||||
forms_config["data_cite"] = get_datacite_details()
|
forms_config["data_cite"] = get_datacite_details()
|
||||||
|
|
||||||
@@ -175,13 +164,13 @@ def deposit_edit(draft=None, pid_value=None):
|
|||||||
record=record,
|
record=record,
|
||||||
files=files_list.to_dict(),
|
files=files_list.to_dict(),
|
||||||
searchbar_config=dict(searchUrl=get_search_url()),
|
searchbar_config=dict(searchUrl=get_search_url()),
|
||||||
|
permissions=draft.has_permissions_to(['new_version'])
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@pass_record
|
@pass_record
|
||||||
@pass_record_files
|
@pass_record_files
|
||||||
@user_permissions(actions=["update_draft"])
|
def record_detail(record=None, files=None, pid_value=None):
|
||||||
def record_detail(record=None, files=None, pid_value=None, permissions=None):
|
|
||||||
"""Record detail page (aka landing page)."""
|
"""Record detail page (aka landing page)."""
|
||||||
files_dict = None if files is None else files.to_dict()
|
files_dict = None if files is None else files.to_dict()
|
||||||
return render_template(
|
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()),
|
record=UIJSONSerializer().serialize_object_to_dict(record.to_dict()),
|
||||||
pid=pid_value,
|
pid=pid_value,
|
||||||
files=files_dict,
|
files=files_dict,
|
||||||
permissions=permissions,
|
permissions=record.has_permissions_to(['edit', 'new_version']),
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ theme = WebpackThemeBundle(
|
|||||||
'prop-types': '^15.7.2',
|
'prop-types': '^15.7.2',
|
||||||
'react-dnd': '^11.1.3',
|
'react-dnd': '^11.1.3',
|
||||||
'react-dnd-html5-backend': '^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-invenio-forms': '^0.6.3',
|
||||||
'react-dropzone': "^11.0.3",
|
'react-dropzone': "^11.0.3",
|
||||||
'yup': '^0.27.0',
|
'yup': '^0.27.0',
|
||||||
|
|||||||
8
setup.py
8
setup.py
@@ -20,9 +20,9 @@ tests_require = [
|
|||||||
"invenio-app>=1.3.0,<2.0.0",
|
"invenio-app>=1.3.0,<2.0.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
# Should follow inveniosoftware/invenio versions
|
# Should follow invenio-app-rdm
|
||||||
invenio_search_version = ">=1.4.0,<2.0.0"
|
invenio_search_version = ">=1.4.0,<1.5.0"
|
||||||
invenio_db_version = ">=1.0.5,<2.0.0"
|
invenio_db_version = ">=1.0.9,<1.1.0"
|
||||||
|
|
||||||
extras_require = {
|
extras_require = {
|
||||||
"elasticsearch7": [f"invenio-search[elasticsearch7]{invenio_search_version}"],
|
"elasticsearch7": [f"invenio-search[elasticsearch7]{invenio_search_version}"],
|
||||||
@@ -60,7 +60,7 @@ install_requires = [
|
|||||||
"invenio_search>=1.4.0,<2.0.0",
|
"invenio_search>=1.4.0,<2.0.0",
|
||||||
"invenio_config_tugraz>=0.5.1",
|
"invenio_config_tugraz>=0.5.1",
|
||||||
# keep this package updated.
|
# keep this package updated.
|
||||||
"invenio_app_rdm<=1.0.0",
|
"invenio_app_rdm==2.0.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
packages = find_packages()
|
packages = find_packages()
|
||||||
|
|||||||
Reference in New Issue
Block a user