Compare commits

..

7 Commits

Author SHA1 Message Date
mb-wali
1455cb8670 v3.7.1.dev2 2022-01-13 11:55:40 +01:00
David Eckhard
0bb5885a95 test: add invenio-app-rdm to test requirements 2022-01-13 11:43:44 +01:00
David Eckhard
dbfda0cc00 modify: override record deposit template and increase upload size 2022-01-13 11:43:44 +01:00
mb-wali
e73fc3633d v3.7.0 2021-12-07 10:01:49 +01:00
David
aa2c3112df dep: bump config module (#252) 2021-12-06 14:51:33 +01:00
David
62d23f104c docs: adjust sphinx to flask2 (#251) 2021-12-06 14:47:55 +01:00
David
07d7e6fa0e update register and login view (#247)
fix: remove redundant closing div tag for register

ui: update register and login template with accordion

styling: modify accordion css

translation: add german translation
2021-11-08 10:33:11 +01:00
16 changed files with 711 additions and 180 deletions

View File

@@ -7,6 +7,16 @@
Changes Changes
======= =======
Version 3.7.1.dev2 (released 2022-01-13)
- modify: override record deposit template and increase upload size #256
Version 3.7.0 (released 2021-12-07)
- dep: bump config module #252
- docs: adjust sphinx to flask2 #251
- update register and login view #247
Version 3.6.1 (released 2021-09-01) Version 3.6.1 (released 2021-09-01)
- fix: add font locally and remove google dependency #242 - fix: add font locally and remove google dependency #242

View File

@@ -328,6 +328,8 @@ texinfo_documents = [
# Example configuration for intersphinx: refer to the Python standard library. # Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = { intersphinx_mapping = {
"python": ("https://docs.python.org/", None), "python": ("https://docs.python.org/", None),
"flask": ("https://flask.palletsprojects.com/", None),
"werkzeug": ("https://werkzeug.palletsprojects.com/", None),
# TODO: Configure external documentation references, eg: # TODO: Configure external documentation references, eg:
# 'Flask-Admin': ('https://flask-admin.readthedocs.io/en/latest/', None), # 'Flask-Admin': ('https://flask-admin.readthedocs.io/en/latest/', None),
} }

View File

@@ -0,0 +1,398 @@
// This file is part of InvenioRDM
// Copyright (C) 2020 CERN.
// Copyright (C) 2020 Northwestern University.
// Copyright (C) 2022 Graz University of Technology.
//
// Invenio App RDM 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 _get from "lodash/get";
import React, { Component, createRef, Fragment } from "react";
import {
AccessRightField,
CreatibutorsField,
DatesField,
DeleteButton,
DepositFormApp,
DepositFormTitle,
DescriptionsField,
FileUploader,
FormFeedback,
IdentifiersField,
LanguagesField,
SubjectsField,
LicenseField,
PIDField,
PreviewButton,
PublicationDateField,
PublishButton,
PublisherField,
RelatedWorksField,
ResourceTypeField,
SaveButton,
TitlesField,
VersionField,
} from "react-invenio-deposit";
import { AccordionField } from "react-invenio-forms";
import { Card, Container, Divider, Grid, Ref, Sticky } from "semantic-ui-react";
import { i18next } from "@translations/invenio_app_rdm/i18next";
export class RDMDepositForm extends Component {
constructor(props) {
super(props);
this.config = props.config || {};
// TODO: retrieve from backend
this.config["canHaveMetadataOnlyRecords"] = true;
// TODO: Make ALL vocabulary be generated by backend.
// Currently, some vocabulary is generated by backend and some is
// generated by frontend here. Iteration is faster and abstractions can be
// discovered by generating vocabulary here. Once happy with vocabularies,
// then we can generate it in the backend.
this.vocabularies = {
metadata: {
...this.config.vocabularies,
creators: {
...this.config.vocabularies.creators,
type: [
{ text: "Person", value: "personal" },
{ text: "Organization", value: "organizational" },
],
},
contributors: {
...this.config.vocabularies.creators,
type: [
{ text: "Person", value: "personal" },
{ text: "Organization", value: "organizational" },
],
},
// TODO: Replace with an API backend
funding: {
funder: [
{
name: "National Institutes of Health (US)",
identifier: "funder1",
scheme: "funderScheme1",
},
{
name: "European Commission (EU)",
identifier: "funder2",
scheme: "funderScheme2",
},
],
award: [
{
title: "CANCER &AIDS DRUGS--PRECLIN PHARMACOL/TOXICOLOGY",
number: "N01CM037835-016",
identifier: "awardA",
scheme: "awardSchemeA",
parentScheme: "funderScheme1",
parentIdentifier: "funder1",
},
{
title:
"Beyond the Standard Model at the LHC and with Atom Interferometers.",
number: "228169",
identifier: "awardB1",
scheme: "awardSchemeB",
parentScheme: "funderScheme2",
parentIdentifier: "funder2",
},
{
title: "ENvironmental COnditions in GLAucoma Patients",
number: "747441",
identifier: "awardB2",
scheme: "awardSchemeB",
parentScheme: "funderScheme2",
parentIdentifier: "funder2",
},
],
},
identifiers: {
...this.config.vocabularies.identifiers,
},
},
};
// check if files are present
this.noFiles = false;
if (
!Array.isArray(this.props.files.entries) ||
(!this.props.files.entries.length && this.props.record.is_published)
) {
this.noFiles = true;
}
}
formFeedbackRef = createRef();
sidebarRef = createRef();
accordionStyle = {
header: { className: "inverted brand", style: { cursor: "pointer" } },
};
render() {
return (
<DepositFormApp
config={this.config}
record={this.props.record}
files={this.props.files}
permissions={this.props.permissions}
>
<FormFeedback fieldPath="message" />
<Container style={{ marginTop: "10px" }}>
<DepositFormTitle />
<Grid>
<Grid.Row>
<Grid.Column width={11}>
<AccordionField
fieldPath=""
active={true}
label={i18next.t("Files")}
ui={this.accordionStyle}
>
{this.noFiles && this.props.record.is_published && (
<p
style={{
textAlign: "center",
opacity: "0.5",
cursor: "default !important",
}}
>
<em>{i18next.t("The record has no files.")}</em>
</p>
)}
<FileUploader
isDraftRecord={!this.props.record.is_published}
quota={{
maxFiles: 100,
maxStorage: 10 ** 11,
}}
/>
</AccordionField>
<AccordionField
fieldPath=""
active={true}
label={i18next.t("Basic information")}
ui={this.accordionStyle}
>
{this.config.pids.map((pid) => (
<Fragment key={pid.scheme}>
<PIDField
btnLabelDiscardPID={pid.btn_label_discard_pid}
btnLabelGetPID={pid.btn_label_get_pid}
canBeManaged={pid.can_be_managed}
canBeUnmanaged={pid.can_be_unmanaged}
fieldPath={`pids.${pid.scheme}`}
fieldLabel={pid.field_label}
isEditingPublishedRecord={
this.props.record.is_published === true // is_published is `null` at first upload
}
managedHelpText={pid.managed_help_text}
pidLabel={pid.pid_label}
pidPlaceholder={pid.pid_placeholder}
pidType={pid.scheme}
unmanagedHelpText={pid.unmanaged_help_text}
required
/>
<Divider />
</Fragment>
))}
<ResourceTypeField
options={this.vocabularies.metadata.resource_type}
required
/>
<TitlesField
options={this.vocabularies.metadata.titles}
recordUI={this.props.record.ui}
required
/>
<PublicationDateField required />
<CreatibutorsField
label={i18next.t("Creators")}
labelIcon={"user"}
fieldPath={"metadata.creators"}
roleOptions={this.vocabularies.metadata.creators.role}
schema="creators"
required
/>
<DescriptionsField
options={this.vocabularies.metadata.descriptions}
recordUI={_get(this.props.record, "ui", null)}
editorConfig={{
removePlugins: [
"Image",
"ImageCaption",
"ImageStyle",
"ImageToolbar",
"ImageUpload",
"MediaEmbed",
"Table",
"TableToolbar",
"TableProperties",
"TableCellProperties",
],
}}
/>
<LicenseField
fieldPath="metadata.rights"
searchConfig={{
searchApi: {
axios: {
headers: {
Accept: "application/vnd.inveniordm.v1+json",
},
url: "/api/vocabularies/licenses",
withCredentials: false,
},
},
initialQueryState: {
filters: [["tags", "recommended"]],
},
}}
serializeLicenses={(result) => ({
title: result.title_l10n,
description: result.description_l10n,
id: result.id,
link: result.props.url,
})}
/>
<br />
</AccordionField>
<AccordionField
fieldPath=""
active={true}
label={i18next.t("Recommended information")}
ui={this.accordionStyle}
>
<CreatibutorsField
addButtonLabel={i18next.t("Add contributor")}
label={i18next.t("Contributors")}
labelIcon={"user plus"}
fieldPath={"metadata.contributors"}
roleOptions={this.vocabularies.metadata.contributors.role}
schema="contributors"
modal={{
addLabel: "Add contributor",
editLabel: "Edit contributor",
}}
/>
<SubjectsField
initialOptions={_get(
this.props.record,
"ui.subjects",
null
)}
limitToOptions={
this.vocabularies.metadata.subjects.limit_to
}
/>
<LanguagesField
initialOptions={_get(
this.props.record,
"ui.languages",
[]
).filter((lang) => lang !== null)} // needed because dumped empty record from backend gives [null]
serializeSuggestions={(suggestions) =>
suggestions.map((item) => ({
text: item.title_l10n,
value: item.id,
key: item.id,
}))
}
/>
<DatesField options={this.vocabularies.metadata.dates} />
<VersionField />
<PublisherField />
<br />
</AccordionField>
{/**TODO: uncomment to use FundingField*/}
{/* <AccordionField
fieldPath=""
active={true}
label={"Funding"}
ui={this.accordionStyle}
>
<FundingField options={this.vocabularies.metadata.funding} />
<ComingSoonField
fieldPath="metadata.funding"
label="Awards"
labelIcon="money bill alternate outline"
/>
<br />
</AccordionField> */}
<AccordionField
fieldPath=""
active={true}
label={i18next.t("Alternate identifiers")}
ui={this.accordionStyle}
>
<IdentifiersField
fieldPath="metadata.identifiers"
label={i18next.t("Alternate identifier(s)")}
labelIcon="barcode"
schemeOptions={
this.vocabularies.metadata.identifiers.scheme
}
/>
</AccordionField>
<AccordionField
fieldPath=""
active={true}
label={i18next.t("Related works")}
ui={this.accordionStyle}
>
<RelatedWorksField
options={this.vocabularies.metadata.identifiers}
/>
<br />
</AccordionField>
</Grid.Column>
<Ref innerRef={this.sidebarRef}>
<Grid.Column width={5} className="deposit-sidebar">
<Sticky context={this.sidebarRef} offset={20}>
<Card className="actions">
<Card.Content>
<div className="sidebar-buttons">
<SaveButton fluid className="save-button" />
<PreviewButton fluid className="preview-button" />
</div>
<PublishButton fluid />
</Card.Content>
</Card>
<Card className="actions">
<Card.Content>
<DeleteButton
fluid
// TODO: make is_published part of the API response
// so we don't have to do this
isPublished={this.props.record.is_published}
/>
</Card.Content>
</Card>
<AccessRightField
label={i18next.t("Visibility")}
labelIcon={"shield"}
/>
</Sticky>
</Grid.Column>
</Ref>
</Grid.Row>
</Grid>
</Container>
</DepositFormApp>
);
}
}

View File

@@ -0,0 +1,23 @@
// This file is part of InvenioRDM
// Copyright (C) 2020 CERN.
// Copyright (C) 2020 Northwestern University.
//
// Invenio App RDM 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 from "react";
import ReactDOM from "react-dom";
import "semantic-ui-css/semantic.min.css";
import { i18next } from "@translations/invenio_app_rdm/i18next";
import { getInputFromDOM } from "react-invenio-deposit";
import { RDMDepositForm } from "./RDMDepositForm";
ReactDOM.render(
<RDMDepositForm
record={getInputFromDOM("deposits-record")}
files={getInputFromDOM("deposits-record-files")}
config={getInputFromDOM("deposits-config")}
permissions={getInputFromDOM("deposits-record-permissions")}
/>,
document.getElementById("deposit-form")
);

View File

@@ -77,12 +77,25 @@ pre {
background-color: @tugrazRed; background-color: @tugrazRed;
} }
.ui.button:hover, /***
.ui.search.button:hover { * accordion title
background-color: @primaryButtonHoverBackground; ***/
.ui.accordion.styled {
.title,
.title.active {
background-color: @greyLight;
color: rgba(0, 0, 0, 0.6);
}
} }
.ui.button:hover { /***
* buttons hover and accordion hover
***/
.ui.button:hover,
.ui.search.button:hover,
.ui.accordion.styled .title:hover,
.ui.accordion.styled .accordion .title:hover {
background-color: @primaryButtonHoverBackground;
color: @primaryButton; color: @primaryButton;
} }
@@ -97,6 +110,7 @@ pre {
.ui.input > input, /* it seams redundant but it is not */ .ui.input > input, /* it seams redundant but it is not */
.ui.segment, .ui.segment,
.ui.selection.dropdown, .ui.selection.dropdown,
.ui.accordion.styled,
.ui.card, .ui.card,
.ui.cards > .card, .ui.cards > .card,
.ui.basic.button, .ui.basic.buttons .button, .ui.basic.button, .ui.basic.buttons .button,

View File

@@ -0,0 +1,50 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2022 Graz University of Technology.
#
# invenio-theme-tugraz is free software; you can redistribute it and/or
# modify it under the terms of the MIT License; see LICENSE file for more
# details.
"""Routes for record-related pages provided by Invenio-App-RDM."""
from flask import render_template
from flask_login import login_required
from invenio_app_rdm.records_ui.views.decorators import pass_draft, pass_draft_files
from invenio_app_rdm.records_ui.views.deposits import (
get_form_config,
get_search_url,
new_record,
)
from invenio_rdm_records.resources.serializers import UIJSONSerializer
@login_required
def deposit_create():
"""Create a new deposit."""
return render_template(
"invenio_theme_tugraz/records/deposit.html",
forms_config=get_form_config(createUrl=("/api/records")),
searchbar_config=dict(searchUrl=get_search_url()),
record=new_record(),
files=dict(
default_preview=None, entries=[], links={}
),
)
@login_required
@pass_draft
@pass_draft_files
def deposit_edit(draft=None, draft_files=None, pid_value=None):
"""Edit an existing deposit."""
record = UIJSONSerializer().serialize_object_to_dict(draft.to_dict())
return render_template(
"invenio_theme_tugraz/records/deposit.html",
forms_config=get_form_config(apiUrl=f"/api/records/{pid_value}/draft"),
record=record,
files=draft_files.to_dict(),
searchbar_config=dict(searchUrl=get_search_url()),
permissions=draft.has_permissions_to(['new_version'])
)

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
# Copyright (C) 2020-2021 Graz University of Technology. # Copyright (C) 2020-2022 Graz University of Technology.
# #
# invenio-theme-tugraz is free software; you can redistribute it and/or # invenio-theme-tugraz is free software; you can redistribute it and/or
# modify it under the terms of the MIT License; see LICENSE file for more # modify it under the terms of the MIT License; see LICENSE file for more
@@ -8,6 +8,8 @@
"""invenio module for TUGRAZ theme.""" """invenio module for TUGRAZ theme."""
from invenio_theme_tugraz.deposits import deposit_create, deposit_edit
from . import config from . import config
from .views import index from .views import index
@@ -25,6 +27,8 @@ class InvenioThemeTugraz(object):
# add index route rule # add index route rule
# https://flask.palletsprojects.com/en/1.1.x/api/#flask.Flask.add_url_rule # https://flask.palletsprojects.com/en/1.1.x/api/#flask.Flask.add_url_rule
app.add_url_rule("/", "index", index) app.add_url_rule("/", "index", index)
app.add_url_rule("/uploads/new", "deposit_create", deposit_create)
app.add_url_rule("/uploads/<pid_value>", "deposit_edit", deposit_edit)
self.init_config(app) self.init_config(app)
app.extensions["invenio-theme-tugraz"] = self app.extensions["invenio-theme-tugraz"] = self

View File

@@ -17,7 +17,7 @@
<div class="ui container"> <div class="ui container">
<div class="ui centered grid padded"> <div class="ui centered grid padded">
<div class="ui padded segments huge form"> <div class="ui padded segments large form">
<div class="ui login segment padded"> <div class="ui login segment padded">
<div class="divider hidden"></div> <div class="divider hidden"></div>
{%- block form_header %} {%- block form_header %}
@@ -35,7 +35,7 @@
<div class="field"> <div class="field">
<a class="login-page-button ui fluid large button" href="{{ url_for('sso_saml.sso', idp=name) }}"> <a class="login-page-button ui fluid large button" href="{{ url_for('sso_saml.sso', idp=name) }}">
{{ {{
_('Sign in with %(title)s', title=config.SSO_SAML_IDPS[name]['title']|default("SAML", true)) _('Log in with %(title)s', title=config.SSO_SAML_IDPS[name]['title']|default("SAML", true))
}} }}
<img src="{{ url_for('static', filename=config.INVENIO_THEME_TUGRAZ_ICON)}}" height="20px" /> <img src="{{ url_for('static', filename=config.INVENIO_THEME_TUGRAZ_ICON)}}" height="20px" />
</a> </a>
@@ -45,28 +45,34 @@
<div class="ui horizontal divider"> <div class="ui horizontal divider">
{{ _("Or") }} {{ _("Or") }}
</div> </div>
{%- endif %} {%- endif %}
{% endif %} {% endif %}
{%- block form_outer %} {%- block form_outer %}
{%- if config.ACCOUNTS_LOCAL_LOGIN_ENABLED %} {%- if config.ACCOUNTS_LOCAL_LOGIN_ENABLED %}
{%- with form = login_user_form %} {%- with form = login_user_form %}
<div style="padding-bottom: 20px;padding-top: 6px;"> {%- set accordion_active = "active" if form.errors else "" %}
<form action="{{ url_for_security('login') }}" method="POST" name="login_user_form" class="ui big form"> <div class="ui styled accordion">
{{ form.hidden_tag() }} <div class="title {{ accordion_active }}">
{{ form_errors(form) }} {{ _('Log in with repository credentials') }}
{{ render_field(form.email, icon="user icon", autofocus=True, errormsg=False) }} <i class="user icon"></i>
{{ render_field(form.password, icon="lock icon", errormsg=False) }} </div>
<button type="submit" class="ui fluid large submit button"> <div class="content {{ accordion_active }}">
<i class="ui sign-in icon"></i>{{ _('Log In') }} <form action="{{ url_for_security('login') }}" method="POST" name="login_user_form" class="ui large form">
</button> {{ form.hidden_tag() }}
</form> {{ form_errors(form) }}
</div> {{ render_field(form.email, icon="user icon", autofocus=True, errormsg=False) }}
{{ render_field(form.password, icon="lock icon", errormsg=False) }}
<button type="submit" class="ui fluid large submit button">
<i class="ui sign-in icon"></i>{{ _('Log In') }}
</button>
</form>
</div>
</div>
{%- endwith %} {%- endwith %}
{%- endif %} {%- endif %}
{%- endblock form_outer %} {%- endblock form_outer %}
<div class="divider hidden"></div> <div class="divider hidden"></div>
</div> </div>
{%- block registerable %} {%- block registerable %}

View File

@@ -39,48 +39,58 @@
</div> </div>
<div class="column" id="switch_right"> <div class="column" id="switch_right">
<!--Sigup with SSO-->
{%- if config.INVENIO_CONFIG_TUGRAZ_SHIBBOLETH %}
<div class="ui divider"></div>
<a href="{{ url_for('sso_saml.sso', idp='idp') }}" class="login-page-button ui fluid large button">
<span style="font-size: 18px;">{{ _('Sign up with TUGRAZ ') }}</span>
<img src="{{ url_for('static', filename=config.INVENIO_THEME_TUGRAZ_ICON)}}" height="20px" />
</a>
<div class="ui inverted horizontal divider"><span class="text-color">{{_ ("Or")}}</span></div>
{%- endif %}
<!--Sigup with SSO--> {%- block form_header %}
{%- if config.INVENIO_CONFIG_TUGRAZ_SHIBBOLETH %} <!-- can add a header img-->
<div class="ui divider"></div> {%- block form_outer %}
<a href="{{ url_for('sso_saml.sso', idp='idp') }}" class="login-page-button ui fluid large button"> {%- endblock form_outer %}
<span style="font-size: 18px;">{{ _('Sign up with TUGRAZ ') }}</span> {%- endblock form_header %}
<img src="{{ url_for('static', filename=config.INVENIO_THEME_TUGRAZ_ICON)}}" height="20px" />
</a>
</div>
<div class="ui inverted horizontal divider"><span class="text-color">{{_ ("Or")}}</span></div>
{%- endif %}
{%- block form_header %} {%- with form = register_user_form %}
<!-- can add a header img--> {%- set accordion_active = "active" if form.errors else "" %}
{%- block form_outer %} <div class="ui padded centered large form">
{%- endblock form_outer %} <div class="ui styled accordion">
{%- endblock form_header %} <div class="title {{ accordion_active }}">
{%- with form = register_user_form %} {{ _('Sign up with repository credentials') }}
<form class="ui big form" action="{{ url_for_security('register') }}" method="POST" name="register_user_form"> <i class="user icon"></i>
{{ form_errors(form) }} </div>
{{ form.hidden_tag() }} <div class="content {{ accordion_active }}">
{%- block registration_form_fields scoped %} <form class="ui large form" action="{{ url_for_security('register') }}" method="POST" name="register_user_form">
{{ render_field(form.email, icon="user icon", autofocus=True, errormsg=False) }} {{ form_errors(form) }}
{{ render_field(form.password, icon="lock icon", errormsg=False) }} {{ form.hidden_tag() }}
{%- if form.password_confirm %} {%- block registration_form_fields scoped %}
{{ render_field(form.password_confirm, icon="lock icon", errormsg=False) }} {{ render_field(form.email, icon="user icon", autofocus=True, errormsg=False) }}
{%- endif %} {{ render_field(form.password, icon="lock icon", errormsg=False) }}
{%- endblock registration_form_fields %} {%- if form.password_confirm %}
{{ render_field(form.password_confirm, icon="lock icon", errormsg=False) }}
{%- endif %}
{%- endblock registration_form_fields %}
{%- if form.recaptcha %} {%- if form.recaptcha %}
<div class="grouped fields">{{ form.recaptcha() }}</div> <div class="grouped fields">{{ form.recaptcha() }}</div>
{%- endif %} {%- endif %}
<div class="centered row"> <div class="centered row">
<button type="submit" class="ui fluid large submit button"> <button type="submit" class="ui fluid large submit button">
<i class="ui edit outline icon"></i>{{ _('Sign up') }} <i class="ui edit outline icon"></i>{{ _('Sign up') }}
</button> </button>
</div>
</form>
</div>
</div> </div>
</form> </div>
{%- endwith %} {%- endwith %}
<div class="ui divider"></div> <div class="ui divider"></div>
</div> </div>

View File

@@ -0,0 +1,38 @@
{#
Copyright (C) 2020 CERN.
Copyright (C) 2020 Northwestern University.
Copyright (C) 2022 Graz University of Technology.
Invenio App RDM is free software; you can redistribute it and/or modify it
under the terms of the MIT License; see LICENSE file for more details.
#}
{%- if not record.is_published and record.versions.index and record.versions.index > 1%}
{%- set title = _("New version") %}
{%- elif not record.is_published %}
{%- set title = _("New upload") %}
{% else %}
{%- set title = _("Edit upload") %}
{%- endif %}
{%- 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 %}
{%- 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() }}
{{ webpack['invenio-theme-tugraz-rdm-deposit.js'] }}
{%- endblock %}

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: invenio-theme-tugraz 1.0.4\n" "Project-Id-Version: invenio-theme-tugraz 1.0.4\n"
"Report-Msgid-Bugs-To: mojib.wali@tugraz.at\n" "Report-Msgid-Bugs-To: mojib.wali@tugraz.at\n"
"POT-Creation-Date: 2021-06-22 10:21+0200\n" "POT-Creation-Date: 2021-11-02 15:12+0100\n"
"PO-Revision-Date: 2020-10-06 10:27+0200\n" "PO-Revision-Date: 2020-10-06 10:27+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: de\n" "Language: de\n"
@@ -17,21 +17,17 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n" "Generated-By: Babel 2.9.0\n"
#: invenio_theme_tugraz/config.py:14 invenio_theme_tugraz/config.py:63 #: invenio_theme_tugraz/config.py:13 invenio_theme_tugraz/config.py:62
msgid "TU Graz Repository" msgid "TU Graz Repository"
msgstr "TU Graz Repository" msgstr "TU Graz Repository"
#: invenio_theme_tugraz/config.py:66 #: invenio_theme_tugraz/config.py:65
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:30 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:30
msgid "Repository" msgid "Repository"
msgstr "Repository" msgstr "Repository"
#: invenio_theme_tugraz/config.py:91
msgid "German"
msgstr "Deutsche"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/accounts_base.html:26 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/accounts_base.html:26
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/base.html:26 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/base.html:26
msgid "Invenio" msgid "Invenio"
@@ -47,7 +43,7 @@ msgid ""
"long as TU Graz library exists." "long as TU Graz library exists."
msgstr "" msgstr ""
"Ihre Forschung ist in der Bibliothek der TU Graz für die Zukunft " "Ihre Forschung ist in der Bibliothek der TU Graz für die Zukunft "
"gespeichert,solange die Bibliothek der TU Graz existiert." "gespeichert, solange die Bibliothek der TU Graz existiert."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:4 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/benefits.html:4
msgid "Trusted" msgid "Trusted"
@@ -271,52 +267,51 @@ msgid ""
" " " "
msgstr "Hochgeladen am %(date)s\n" msgstr "Hochgeladen am %(date)s\n"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:131 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:118
msgid "More" msgid "More"
msgstr "Mehr" msgstr "Mehr"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:141 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:128
msgid "Need help?" msgid "Need help?"
msgstr "Brauchen Sie Hilfe?" msgstr "Brauchen Sie Hilfe?"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:145 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:132
msgid "Contact us" msgid "Contact us"
msgstr "Kontaktiere uns" msgstr "Kontaktiere uns"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:150 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:137
msgid "prioritizes all Recent uploads." msgid "prioritizes all Recent uploads."
msgstr "reiht die neuesten Uploads vor." msgstr "reiht die neuesten Uploads vor."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:153 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:140
msgid "We can help with:" msgid "We can help with:"
msgstr "Dabei können wir helfen:" msgstr "Dabei können wir helfen:"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:158 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:145
msgid "Uploading your research data, software, preprints, etc." msgid "Uploading your research data, software, preprints, etc."
msgstr "Hochladen Ihrer Forschungsdaten, Software, Preprints usw." msgstr "Hochladen Ihrer Forschungsdaten, Software, Preprints usw."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:159 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:146
msgid "One-on-one with" msgid "One-on-one with"
msgstr "One-on-one mit" msgstr "One-on-one mit"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:159 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:146
msgid "supporters." msgid "supporters."
msgstr "Unterstützern" msgstr "Unterstützern"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:160 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:147
msgid "Quota increases beyond our default policy." msgid "Quota increases beyond our default policy."
msgstr "Quota Erhöhungen über unsere Standard Policy hinaus." msgstr "Quota Erhöhungen über unsere Standard Policy hinaus."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:161 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:148
msgid "Scripts for automated uploading of larger datasets." msgid "Scripts for automated uploading of larger datasets."
msgstr "Skripte zum automatisierten Hochladen größerer Datensätze." msgstr "Skripte zum automatisierten Hochladen größerer Datensätze."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:166 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:153
msgid "Why use" msgid "Why use"
msgstr "Warum" msgstr "Warum"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:66 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:66
#, fuzzy
msgid "REPOSITORY" msgid "REPOSITORY"
msgstr "Repository" msgstr "Repository"
@@ -337,10 +332,10 @@ msgid "TECHNOLOGY"
msgstr "LEIDENSCHAFT" msgstr "LEIDENSCHAFT"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/header_login.html:8 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/header_login.html:8
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:76 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:82
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:78 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:86
msgid "Sign up" msgid "Sign up"
msgstr "Registrierung" msgstr "Registrieren"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/header_login.html:15 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/header_login.html:15
msgid "Log in" msgid "Log in"
@@ -355,25 +350,29 @@ msgid "Log in to Repository"
msgstr "Anmelden" msgstr "Anmelden"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:38 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:38
#, fuzzy, python-format #, python-format
msgid "Sign in with %(title)s" msgid "Log in with %(title)s"
msgstr "Einloggen mit" msgstr "Einloggen mit %(title)s"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:46 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:46
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:52 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:51
msgid "Or" msgid "Or"
msgstr "Oder" msgstr "Oder"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:61 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:57
msgid "Log in with repository credentials"
msgstr "Loggen Sie sich mit Ihrem Repository-Account ein"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:67
msgid "Log In" msgid "Log In"
msgstr "Einloggen" msgstr "Einloggen"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:75 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:81
#, python-format #, python-format
msgid "New to %(sitename)s?" msgid "New to %(sitename)s?"
msgstr "Neu im %(sitename)s?" msgstr "Neu im %(sitename)s?"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:85 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:91
msgid "Forgot password?" msgid "Forgot password?"
msgstr "Passwort vergessen" msgstr "Passwort vergessen"
@@ -417,38 +416,11 @@ msgstr "Gebaut basierend auf Expertise derTU Graz im Bereich Data Management"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:48 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:48
msgid "Sign up with TUGRAZ " msgid "Sign up with TUGRAZ "
msgstr "Mit Ihrem TUGonline-Account einloggen" msgstr "Mit Ihrem TUGonline-Account registrieren"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/deposit/deposit.html:10 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:65
msgid "New version" msgid "Sign up with repository credentials"
msgstr "neue Version" msgstr "Mit Ihren Repository Daten registrieren"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/deposit/deposit.html:12
msgid "New upload"
msgstr "Neuer upload"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/deposit/deposit.html:14
msgid "Edit upload"
msgstr "Upload bearbeiten"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/landingpage/detail.html:63
#, python-format
msgid ""
"\n"
" There is a %(link_start)snewer version%(link_end)s of the "
"record available.\n"
" "
msgstr ""
"Es ist eine %(link_start)sneuere Version%(link_end)s des Eintrags "
"verfügbar."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/landingpage/detail.html:138
msgid "Files"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/landingpage/detail.html:146
msgid "Reason"
msgstr "Grund"
#~ msgid "Version" #~ msgid "Version"
#~ msgstr "Version" #~ msgstr "Version"
@@ -482,3 +454,31 @@ msgstr "Grund"
#~ msgid "Uploads" #~ msgid "Uploads"
#~ msgstr "Hochladen" #~ msgstr "Hochladen"
#~ msgid "German"
#~ msgstr "Deutsche"
#~ msgid "New version"
#~ msgstr "neue Version"
#~ msgid "New upload"
#~ msgstr "Neuer upload"
#~ msgid "Edit upload"
#~ msgstr "Upload bearbeiten"
#~ msgid ""
#~ "\n"
#~ " There is a %(link_start)snewer "
#~ "version%(link_end)s of the record available."
#~ "\n"
#~ " "
#~ msgstr ""
#~ "Es ist eine %(link_start)sneuere "
#~ "Version%(link_end)s des Eintrags verfügbar."
#~ msgid "Files"
#~ msgstr "Dateien"
#~ msgid "Reason"
#~ msgstr "Grund"

View File

@@ -4,33 +4,28 @@
# invenio-theme-tugraz project. # invenio-theme-tugraz project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021. # FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
# #
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: invenio-theme-tugraz 3.4.1\n" "Project-Id-Version: invenio-theme-tugraz 3.6.1\n"
"Report-Msgid-Bugs-To: mojib.wali@tugraz.at\n" "Report-Msgid-Bugs-To: mojib.wali@tugraz.at\n"
"POT-Creation-Date: 2021-06-22 10:21+0200\n" "POT-Creation-Date: 2021-11-02 15:12+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n" "Generated-By: Babel 2.9.0\n"
#: invenio_theme_tugraz/config.py:14 invenio_theme_tugraz/config.py:63 #: invenio_theme_tugraz/config.py:13 invenio_theme_tugraz/config.py:62
msgid "TU Graz Repository" msgid "TU Graz Repository"
msgstr "" msgstr ""
#: invenio_theme_tugraz/config.py:66 #: invenio_theme_tugraz/config.py:65
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:30 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:30
msgid "Repository" msgid "Repository"
msgstr "" msgstr ""
#: invenio_theme_tugraz/config.py:91
msgid "German"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/accounts_base.html:26 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/accounts_base.html:26
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/base.html:26 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/base.html:26
msgid "Invenio" msgid "Invenio"
@@ -260,47 +255,47 @@ msgid ""
" " " "
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:131 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:118
msgid "More" msgid "More"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:141 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:128
msgid "Need help?" msgid "Need help?"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:145 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:132
msgid "Contact us" msgid "Contact us"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:150 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:137
msgid "prioritizes all Recent uploads." msgid "prioritizes all Recent uploads."
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:153 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:140
msgid "We can help with:" msgid "We can help with:"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:158 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:145
msgid "Uploading your research data, software, preprints, etc." msgid "Uploading your research data, software, preprints, etc."
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:159 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:146
msgid "One-on-one with" msgid "One-on-one with"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:159 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:146
msgid "supporters." msgid "supporters."
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:160 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:147
msgid "Quota increases beyond our default policy." msgid "Quota increases beyond our default policy."
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:161 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:148
msgid "Scripts for automated uploading of larger datasets." msgid "Scripts for automated uploading of larger datasets."
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:166 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:153
msgid "Why use" msgid "Why use"
msgstr "" msgstr ""
@@ -325,8 +320,8 @@ msgid "TECHNOLOGY"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/header_login.html:8 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/header_login.html:8
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:76 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:82
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:78 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:86
msgid "Sign up" msgid "Sign up"
msgstr "" msgstr ""
@@ -344,24 +339,28 @@ msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:38 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:38
#, python-format #, python-format
msgid "Sign in with %(title)s" msgid "Log in with %(title)s"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:46 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:46
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:52 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:51
msgid "Or" msgid "Or"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:61 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:57
msgid "Log in with repository credentials"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:67
msgid "Log In" msgid "Log In"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:75 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:81
#, python-format #, python-format
msgid "New to %(sitename)s?" msgid "New to %(sitename)s?"
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:85 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:91
msgid "Forgot password?" msgid "Forgot password?"
msgstr "" msgstr ""
@@ -403,32 +402,7 @@ msgstr ""
msgid "Sign up with TUGRAZ " msgid "Sign up with TUGRAZ "
msgstr "" msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/deposit/deposit.html:10 #: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:65
msgid "New version" msgid "Sign up with repository credentials"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/deposit/deposit.html:12
msgid "New upload"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/deposit/deposit.html:14
msgid "Edit upload"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/landingpage/detail.html:63
#, python-format
msgid ""
"\n"
" There is a %(link_start)snewer version%(link_end)s of the "
"record available.\n"
" "
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/landingpage/detail.html:138
msgid "Files"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/landingpage/detail.html:146
msgid "Reason"
msgstr "" msgstr ""

View File

@@ -12,4 +12,4 @@ This file is imported by ``invenio_theme_tugraz.__init__``,
and parsed by ``setup.py``. and parsed by ``setup.py``.
""" """
__version__ = "3.6.1" __version__ = "3.7.1.dev2"

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
# Copyright (C) 2020 TUGRAZ. # Copyright (C) 2022 TUGRAZ.
# #
# invenio-theme-tugraz is free software. # invenio-theme-tugraz is free software.
@@ -17,6 +17,7 @@ theme = WebpackThemeBundle(
entry={ entry={
"invenio-theme-tugraz-theme": "./less/invenio_theme_tugraz/theme.less", "invenio-theme-tugraz-theme": "./less/invenio_theme_tugraz/theme.less",
"invenio-theme-tugraz-js": "./js/invenio_theme_tugraz/theme.js", "invenio-theme-tugraz-js": "./js/invenio_theme_tugraz/theme.js",
"invenio-theme-tugraz-rdm-deposit": "./js/invenio_theme_tugraz/deposit/index.js",
}, },
dependencies={ dependencies={
# add any additional npm dependencies here... # add any additional npm dependencies here...

View File

@@ -25,9 +25,9 @@ trap cleanup EXIT
python -m check_manifest --ignore ".*-requirements.txt" python -m check_manifest --ignore ".*-requirements.txt"
python -m sphinx.cmd.build -qnNW docs docs/_build/html python -m sphinx.cmd.build -qnN docs docs/_build/html
eval "$(docker-services-cli up --db ${DB:-postgresql} --search ${SEARCH:-elasticsearch} --cache ${CACHE:-redis} --env)" eval "$(docker-services-cli up --db ${DB:-postgresql} --search ${SEARCH:-elasticsearch} --cache ${CACHE:-redis} --env)"
python -m pytest python -m pytest
tests_exit_code=$? tests_exit_code=$?
python -m sphinx.cmd.build -qnNW -b doctest docs docs/_build/doctest python -m sphinx.cmd.build -qnN -b doctest docs docs/_build/doctest
exit "$tests_exit_code" exit "$tests_exit_code"

View File

@@ -18,6 +18,7 @@ history = open("CHANGES.rst").read()
tests_require = [ tests_require = [
"pytest-invenio>=1.4.0", "pytest-invenio>=1.4.0",
"invenio-app>=1.3.0,<2.0.0", "invenio-app>=1.3.0,<2.0.0",
"invenio-app-rdm>=7.0.1,<8.0.0",
] ]
# Should follow invenio-app-rdm # Should follow invenio-app-rdm
@@ -30,7 +31,7 @@ extras_require = {
"postgresql": [f"invenio-db[postgresql,versioning]{invenio_db_version}"], "postgresql": [f"invenio-db[postgresql,versioning]{invenio_db_version}"],
"sqlite": [f"invenio-db[versioning]{invenio_db_version}"], "sqlite": [f"invenio-db[versioning]{invenio_db_version}"],
"docs": [ "docs": [
"Sphinx>=3", "Sphinx==4.2.0",
], ],
"tests": tests_require, "tests": tests_require,
} }
@@ -56,7 +57,7 @@ install_requires = [
"Flask-WebpackExt>=1.0.0", "Flask-WebpackExt>=1.0.0",
"invenio-assets>=1.2.0", "invenio-assets>=1.2.0",
"invenio-i18n>=1.2.0", "invenio-i18n>=1.2.0",
"invenio_config_tugraz>=0.6.1", "invenio_config_tugraz>=0.7.0,<0.8.0",
] ]
packages = find_packages() packages = find_packages()