Compare commits

..

1 Commits

Author SHA1 Message Date
Mojib Wali
ddc58b1055 v1.3.2stab 2021-01-20 17:38:43 +01:00
76 changed files with 430 additions and 2336 deletions

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 mojib wali.
#
# 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

View File

@@ -20,42 +20,9 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9]
python-version: [3.6, 3.7, 3.8]
requirements-level: [min, pypi]
db-service: [postgresql12]
search-service: [elasticsearch7]
exclude:
- python-version: 3.6
requirements-level: pypi
- python-version: 3.7
requirements-level: min
- python-version: 3.8
requirements-level: min
- python-version: 3.9
requirements-level: min
- db-service: postgresql12
requirements-level: min
- search-service: elasticsearch7
requirements-level: min
include:
- db-service: postgresql12
DB_EXTRAS: "postgresql"
- search-service: elasticsearch7
SEARCH_EXTRAS: "elasticsearch7"
env:
DB: ${{ matrix.db-service }}
SEARCH: ${{ matrix.search-service }}
EXTRAS: all,${{ matrix.DB_EXTRAS }},${{ matrix.SEARCH_EXTRAS }}
steps:
- name: Checkout
uses: actions/checkout@v2
@@ -68,7 +35,8 @@ jobs:
- name: Generate dependencies
run: |
python -m pip install --upgrade pip setuptools py wheel requirements-builder
requirements-builder -e "$EXTRAS" --level=${{ matrix.requirements-level }} setup.py > .${{ matrix.requirements-level }}-${{ matrix.python-version }}-requirements.txt
requirements-builder -e all --level=${{ matrix.requirements-level }} setup.py > .${{ matrix.requirements-level }}-${{ matrix.python-version }}-requirements.txt
- name: Cache pip
uses: actions/cache@v2
with:
@@ -78,10 +46,9 @@ jobs:
- name: Install dependencies
run: |
pip install -r .${{matrix.requirements-level}}-${{ matrix.python-version }}-requirements.txt
pip install ".[$EXTRAS]"
pip install .[all]
pip freeze
docker --version
docker-compose --version
- name: Run tests
run: |
./run-tests.sh

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 mojib wali.
#
# 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

View File

@@ -1,5 +1,5 @@
..
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 mojib wali.
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

View File

@@ -1,5 +1,5 @@
..
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 mojib wali.
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

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 mojib wali.
#
# 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

View File

@@ -1,5 +1,5 @@
..
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 Mojib wali.
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

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 mojib wali.
#
# 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

View File

@@ -1,5 +1,5 @@
..
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 mojib wali.
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

View File

@@ -1,5 +1,5 @@
..
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 mojib wali.
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

View File

@@ -1,5 +1,5 @@
..
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 mojib wali.
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

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 mojib wali.
#
# 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

View File

@@ -1,5 +1,5 @@
..
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 mojib wali.
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

View File

@@ -1,5 +1,5 @@
..
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 mojib wali.
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

View File

@@ -1,5 +1,5 @@
..
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 mojib wali.
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

View File

@@ -1,5 +1,5 @@
..
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 mojib wali.
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

View File

@@ -1,5 +1,5 @@
..
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 mojib wali.
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

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 mojib wali.
#
# 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

View File

@@ -1,5 +1,6 @@
/*
* Copyright (C) 2020-2021 Graz University of Technology.
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* 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.

View File

@@ -1,5 +1,6 @@
/*
* Copyright (C) 2020-2021 Graz University of Technology.
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* 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.

View File

@@ -1,5 +1,6 @@
/*
* Copyright (C) 2020-2021 Graz University of Technology.
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* 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.

View File

@@ -1,5 +1,6 @@
/*
* Copyright (C) 2020-2021 Graz University of Technology.
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* 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.

View File

@@ -1,5 +1,6 @@
/*
* Copyright (C) 2020-2021 Graz University of Technology.
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* 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.

View File

@@ -1,5 +1,6 @@
/*
* Copyright (C) 2020-2021 Graz University of Technology.
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* 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.

View File

@@ -1,5 +1,6 @@
/*
* Copyright (C) 2020-2021 Graz University of Technology.
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* 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.

View File

@@ -1,5 +1,6 @@
/*
* Copyright (C) 2020-2021 Graz University of Technology.
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* 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.
@@ -7,3 +8,4 @@
$navbar_background_image: unset;
$navbar_background_color: #ffffff;

View File

@@ -1,207 +0,0 @@
import React, { Component } from "react";
import {
Button,
Card,
Icon,
Label,
Loader,
Dimmer,
Message,
} from "semantic-ui-react";
import { FieldArray } from "formik";
import { FetchDoi, MapDatacite } from "datacite-rest";
export class DoiMint extends Component {
constructor(props) {
super(props);
this.record = props.record || {};
this.configs = props.config || {};
this.metadata = this.record.metadata;
this.is_doi = false;
this.id_doi = "";
// check for existing identifiers
if (
typeof this.metadata.identifiers != "undefined" &&
this.metadata.identifiers != null &&
this.metadata.identifiers.length != null &&
this.metadata.identifiers.length > 0 &&
this.metadata.identifiers[0] != null
) {
for(var identifier of this.metadata.identifiers){
if (identifier.scheme == "doi"){
this.is_doi = true;
this.id_doi = identifier.identifier;
}
}
}
// add metadata to the state
this.state = {
identifiers: [],
showLoader: false,
doi_id: "",
errorMsg: "",
isError: false,
};
}
render() {
// this should fetch a new doi
var pushDoi = (form) => {
// activate the loader
this.setState({
showLoader: true,
});
// get the prefix from backend
const prefix = this.configs.datacite_prefix;
const suffix = this.configs.datacite_suffix;
if (prefix !== null && suffix !== null) {
// get mapped DOI
const mapped = MapDatacite(this.metadata, this.record.id, prefix, suffix);
const _fetchdoi = new FetchDoi("/getdoi");
// Create a new DOI
_fetchdoi
.create(mapped)
.then((data) => {
// if there is an error
if (data.data.errors) {
this.setState({
showLoader: false,
isError: true,
errorMsg: data.data.errors[0].title,
});
}
// new doi is fetched
else {
// add new identifier
const _identifiers = [
{
identifier: data.data.data.data.id,
scheme: "doi",
},
];
// submit the value to the form
this.setState({ identifiers: _identifiers });
form.setFieldValue(
"metadata.identifiers",
this.state.identifiers
);
this.is_doi = true;
// deactivate the loader
this.setState({
showLoader: false,
doi_id: this.state.identifiers[0].identifier,
});
}
})
.catch((error) => {
console.log("error", error);
});
} else {
this.setState({
showLoader: false,
isError: true,
errorMsg: "Not configured!",
});
}
};
// get a link of dio
var doiLink = (doiId) => {
window.open(`https://doi.org/${doiId}`, "_blank");
};
return (
<Card className="actions">
<Card.Content>
<Card.Header>
<Icon name="certificate" />
Datacite DOI
</Card.Header>
<Card.Description>
<span style={{ color: "#B6B6B6" }}>
Record must be a <b>published</b> record to mint a DOI.
</span>
</Card.Description>
{this.state.isError && (
<Message negative>
<Message.Header>{this.state.errorMsg}</Message.Header>
<p>Please contact Repository supporters!</p>
</Message>
)}
{/* when the Component is rendered */}
{!this.is_doi && (
<FieldArray name="metadata.identifiers">
{(fieldArrayProps) => {
const { form } = fieldArrayProps;
return (
<div
style={{
marginTop: "10px",
textAlign: "center",
}}
>
<Button
compact
className="save-button"
disabled={!this.record.is_published}
as={"label"}
color="green"
size="large"
onClick={() => pushDoi(form)}
>
<Icon name="certificate" />
Get DOI Now!
</Button>
{this.state.showLoader && (
<Dimmer active inverted>
<Loader inverted>Loading...</Loader>
</Dimmer>
)}
</div>
);
}}
</FieldArray>
)}
{this.is_doi && (
<div
style={{
textAlign: "center",
marginTop: "10px",
}}
>
{this.state.doi_id && (
<Message positive>
<Message.Header>A DOI is registered!</Message.Header>
<p>Please save the deposit. </p>
</Message>
)}
<Label
style={{
cursor: "pointer",
}}
size="large"
as="a"
color="blue"
onClick={() => doiLink(this.state.doi_id || this.id_doi)}
>
<strong>DOI: </strong>
<Label.Detail>{this.state.doi_id || this.id_doi}</Label.Detail>
</Label>
</div>
)}
</Card.Content>
</Card>
);
}
}

View File

@@ -1,47 +0,0 @@
// 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',
};

View File

@@ -1,520 +0,0 @@
// This file is part of InvenioRDM
// Copyright (C) 2020 CERN.
// Copyright (C) 2020 Northwestern University.
// Copyright (C) 2021 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 } from "react";
import {
Button,
Card,
Container,
Grid,
Icon,
Ref,
Sticky,
} from "semantic-ui-react";
import {
AccessRightField,
ComingSoonField,
CreatibutorsField,
DatesField,
DepositFormApp,
FormFeedback,
DeleteButton,
DepositFormTitle,
DescriptionsField,
FileUploader,
FundingField,
IdentifiersField,
LanguagesField,
PublishButton,
PublicationDateField,
ResourceTypeField,
SaveButton,
SubjectsField,
TitlesField,
RelatedWorksField,
VersionField,
LicenseField,
} from "react-invenio-deposit";
import { AccordionField } from "react-invenio-forms";
import { DoiMint } from "./DoiMint";
import { PublisherField } from "./PublisherField";
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,
titles: {
...this.config.vocabularies.titles,
},
descriptions: {
type: [
{ text: "Abstract", value: "abstract" },
{ text: "Methods", value: "methods" },
{ text: "Series Information", value: "seriesinformation" },
{ text: "Table of Contents", value: "tableofcontents" },
{ text: "Technical Info", value: "technicalinfo" },
{ text: "Other", value: "other" },
],
},
creators: {
type: [
{ text: "Person", value: "personal" },
{ text: "Organization", value: "organizational" },
],
role: [
{ text: "Editor", value: "editor" },
{ text: "Data Curator", value: "datacurator" },
{ text: "Data Manager", value: "datamanager" },
{ text: "Project Manager", value: "projectmanager" },
],
},
contributors: {
type: [
{ text: "Person", value: "personal" },
{ text: "Organization", value: "organizational" },
],
role: [
{ text: "Editor", value: "editor" },
{ text: "Data Curator", value: "datacurator" },
{ text: "Data Manager", value: "datamanager" },
{ text: "Project Manager", value: "projectmanager" },
],
},
dates: {
type: [
{ text: "Accepted", value: "accepted" },
{ text: "Available", value: "available" },
{ text: "Copyrighted", value: "copyrighted" },
{ text: "Collected", value: "collected" },
{ text: "Created", value: "created" },
{ text: "Issued", value: "issued" },
{ text: "Submitted", value: "submitted" },
{ text: "Updated", value: "updated" },
{ text: "Valid", value: "valid" },
{ text: "Withdrawn", value: "withdrawn" },
{ text: "Other", value: "other" },
],
},
// 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",
},
],
},
related_identifiers: {
resource_type: this.config.vocabularies.resource_type,
scheme: [
{ text: "ARK", value: "ark" },
{ text: "ARXIV", value: "arxiv" },
{ text: "BIBCODE", value: "bibcode" },
{ text: "DOI", value: "doi" },
{ text: "EAN13", value: "ean13" },
{ text: "EISSN", value: "eissn" },
{ text: "HANDLE", value: "handle" },
{ text: "IGSN", value: "igsn" },
{ text: "ISBN", value: "isbn" },
{ text: "ISSN", value: "issn" },
{ text: "ISTC", value: "istc" },
{ text: "LISSN", value: "lissn" },
{ text: "LSID", value: "lsid" },
{ text: "PMID", value: "pmid" },
{ text: "PURL", value: "purl" },
{ text: "UPC", value: "upc" },
{ text: "URL", value: "url" },
{ text: "URN", value: "urn" },
{ text: "W3ID", value: "w3id" },
],
relations: [
{ text: "Is cited by", value: "iscitedby" },
{ text: "Cites", value: "cites" },
{ text: "Is supplement to", value: "issupplementto" },
{ text: "Is supplemented by", value: "issupplementedby" },
{ text: "Is continued by", value: "iscontinuedby" },
{ text: "Continues", value: "continues" },
{ text: "Is described by", value: "isdescribedby" },
{ text: "Describes", value: "describes" },
{ text: "Has metadata", value: "hasmetadata" },
{ text: "Is metadata for", value: "ismetadatafor" },
{ text: "Has version", value: "hasversion" },
{ text: "Is version of", value: "isversionof" },
{ text: "Is new version of", value: "isnewversionof" },
{ text: "Is previous version of", value: "ispreviousversionof" },
{ text: "Is part of", value: "ispartof" },
{ text: "Has part", value: "haspart" },
{ text: "Is referenced by", value: "isreferencedby" },
{ text: "References", value: "references" },
{ text: "Is documented by", value: "isdocumentedby" },
{ text: "Documents", value: "documents" },
{ text: "Is compiled by", value: "iscompiledby" },
{ text: "Compiles", value: "compiles" },
{ text: "Is variant form of", value: "isvariantformof" },
{ text: "Is original form of", value: "isoriginalformof" },
{ text: "Is identical to", value: "isidenticalto" },
{ text: "Is reviewed by", value: "isreviewedby" },
{ text: "Reviews", value: "reviews" },
{ text: "Is derived from", value: "isderivedfrom" },
{ text: "Is source of", value: "issourceof" },
{ text: "Is required by", value: "isrequiredby" },
{ text: "Requires", value: "requires" },
{ text: "Is obsoleted by", value: "isobsoletedby" },
{ text: "Obsoletes", value: "obsoletes" },
],
},
subjects: {
options: [
{
text: "Deep Learning",
value: {
subject: "Deep Learning",
scheme: "user",
identifier: "U1",
},
},
{
text: "MeSH: Cognitive Neuroscience",
value: {
subject: "Cognitive Neuroscience",
scheme: "mesh",
identifier: "D000066494",
},
},
{
text: "FAST: Glucagonoma",
value: {
subject: "Glucagonoma",
scheme: "fast",
identifier: "943672",
},
},
],
limitToOptions: [
{ text: "All", value: "all" },
{ text: "MeSH", value: "mesh" },
{ text: "FAST", value: "fast" },
],
},
},
};
// 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={"Files"}
ui={this.accordionStyle}
>
{this.noFiles && this.props.record.is_published && (
<p
style={{
textAlign: "center",
opacity: "0.5",
cursor: "default !important",
}}
>
<em>The record has no files.</em>
</p>
)}
<FileUploader
isDraftRecord={!this.props.record.is_published}
quota={{
maxFiles: 100,
maxStorage: 10 ** 10,
}}
/>
</AccordionField>
{/**TODO: uncomment to use IdentifiersField*/}
{/* <AccordionField
fieldPath=""
active={true}
label={"Files"}
ui={this.accordionStyle}
>
<IdentifiersField />
<ComingSoonField
fieldPath="metadata.identifiers"
label="Identifier(s)"
labelIcon="barcode"
/>
<br />
</AccordionField> */}
<AccordionField
fieldPath=""
active={true}
label={"Basic Information"}
ui={this.accordionStyle}
>
<ResourceTypeField
options={this.vocabularies.metadata.resource_type}
required
/>
<TitlesField
options={this.vocabularies.metadata.titles}
required
/>
<PublicationDateField required />
<CreatibutorsField
label={"Creators"}
labelIcon={"user"}
fieldPath={"metadata.creators"}
roleOptions={this.vocabularies.metadata.creators.role}
schema="creators"
required
/>
<DescriptionsField
options={this.vocabularies.metadata.descriptions}
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={"Recommended Information"}
ui={this.accordionStyle}
>
<CreatibutorsField
addButtonLabel={"Add contributor"}
label={"Contributors"}
labelIcon={"user plus"}
fieldPath={"metadata.contributors"}
roleOptions={this.vocabularies.metadata.contributors.role}
schema="contributors"
modal={{
addLabel: "Add contributor",
editLabel: "Edit contributor",
}}
/>
{/**TODO: uncomment to use Subjects*/}
{/* <SubjectsField
initialOptions={_get(
this.props.record,
"metadata.subjects",
null
)}
limitToOptions={
this.vocabularies.metadata.subjects.limitToOptions
}
/>
<ComingSoonField
fieldPath="metadata.subjects"
label="Subjects"
labelIcon="tag"
/> */}
<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 required />
<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={"Related works"}
ui={this.accordionStyle}
>
<RelatedWorksField
options={this.vocabularies.metadata.related_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>
<SaveButton fluid className="save-button" />
<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={"Protection"}
labelIcon={"shield"}
/>
{this.config.data_cite && (
<DoiMint
record={this.props.record}
config={this.config.data_cite}
/>
)}
</Sticky>
</Grid.Column>
</Ref>
</Grid.Row>
</Grid>
</Container>
</DepositFormApp>
);
}
}

View File

@@ -1,23 +0,0 @@
// 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 { 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

@@ -1,324 +0,0 @@
/*
* Copyright (C) 2020 CERN.
* Copyright (C) 2020 Northwestern University.
* Copyright (C) 2020 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.
*
* origin: invenio_app_rdm/search/components.js
*/
import React, { useState } from "react";
import { Card, Item, Input, Label, Button, Grid, Checkbox, List, } from "semantic-ui-react";
import { BucketAggregation, Toggle } from "react-searchkit";
import _ from "lodash";
import _truncate from "lodash/truncate";
import Overridable from "react-overridable";
import { SearchBar } from "@js/invenio_search_ui/components";
export const RDMRecordResultsListItem = ({ result, index }) => {
const description = _.get(result, "metadata.description", "No description");
const version = _.get(result, "metadata.version", "");
const creators = _.get(result, "metadata.creators", []);
const title = _.get(result, "metadata.title", "No title");
const subjects = _.get(result, "metadata.subjects", null);
const rights = _.get(result, "metadata.rights", null)
const publicationDate = _.get(result, "ui.publication_date_l10n_long", "No publication date found");
const createdDate = _.get(result, "ui.created_date_l10n_long", "No creation date found.");
const resourceType = _.get(result, "ui.resource_type", "No resource type");
const access = _.get(result, "ui.access_right.title", "No access rights");
const accessRightCategory = _.get(result, "ui.access_right.category", "closed");
const accessRightIcon = _.get(result, "ui.access_right.icon", "closed");
const accessRight = {type: access, category: accessRightCategory, icon: accessRightIcon, rights};
const href = `/records/${result.id}`;
return (
<Item key={index}>
<Item.Content>
<div className="badges">
<Label className="record-version">
{publicationDate} {version ? `(${version})` : null}
</Label>
<Label className="teal">
{resourceType}
</Label>
</div>
<Item.Header href={href}>{title}</Item.Header>
<Creators creators={creators}/>
<Item.Description href={href}>
{_truncate(description.replace(/(<([^>]+)>)/ig, ''), { length: 350 })}
</Item.Description>
<Footer subjects={subjects} createdDate={createdDate} accessRight={accessRight}/>
</Item.Content>
</Item>
);
};
const Creators = ({creators}) => {
const creatorTags = creators.map((creator, index) => {
return <Creator key={index} creator={creator}/>;
});
return (
<div className="creators">
{creatorTags}
</div>
);
};
const Identifiers = ({creator}) => {
return (
<div className="identifiers">
{_.isObject(creator.identifiers) && creator.identifiers.hasOwnProperty("orcid") &&
<Orcid creator={creator}/>
}
</div>
);
};
const Orcid = ({creator}) => {
const href = `https://orcid.org/${creator.identifiers.orcid}`
return (
<a href={href} target="_blank">
<img className="inline-orcid" src="/static/extra/orcid.png"/>
</a>
);
};
const Creator = ({creator}) => {
return (
<div className="creator">
<Identifiers creator={creator}/>
<span className="text-muted">{creator.person_or_org.name}</span>
</div>
);
};
const Footer = ({subjects, createdDate, accessRight}) => {
return (
<Item.Extra>
<div className="left floated column">
{subjects && subjects.map((subject, index) => (
<Label key={index} size="tiny">
{subject.subject}
</Label>
))}
{createdDate && (
<div>
<small>
Uploaded on <span>{createdDate}</span>
</small>
</div>
)}
</div>
<div className="right floated column">
<span className={`ui access-right ${accessRight.category}`}>
<i className={`icon ${accessRight.icon}`}></i>
{accessRight.type} {accessRight.rights && accessRight.rights.map((right, index) => (
<a key={index} href={right.uri}>({right.identifier})</a>
))}
</span>
</div>
</Item.Extra>
);
};
/**
* ATTENTION:
* The following classes are only here because it is not easily possible to
* import it from the original module.
* If there is in the future a possibility to import following classes from
* invenio_app_rdm then this should be done!
*/
export const RDMRecordResultsGridItem = ({ result, index }) => {
const description = _.get(result, "metadata.description", "No description");
return (
<Card fluid key={index} href={`/records/${result.pid}`}>
<Card.Content>
<Card.Header>{result.metadata.title}</Card.Header>
<Card.Description>
{_truncate(description, { length: 200 })}
</Card.Description>
</Card.Content>
</Card>
);
};
export const RDMRecordSearchBarContainer = () => {
return (
<Overridable id={"SearchApp.searchbar"}>
<SearchBar />
</Overridable>
);
};
export const RDMRecordSearchBarElement = ({
placeholder: passedPlaceholder,
queryString,
onInputChange,
executeSearch,
}) => {
const placeholder = passedPlaceholder || "Search";
const onBtnSearchClick = () => {
executeSearch();
};
const onKeyPress = (event) => {
if (event.key === "Enter") {
executeSearch();
}
};
return (
<Input
action={{
icon: "search",
onClick: onBtnSearchClick,
className: "search",
}}
placeholder={placeholder}
onChange={(event, { value }) => {
onInputChange(value);
}}
value={queryString}
onKeyPress={onKeyPress}
/>
);
};
export const RDMRecordFacetsValues = ({
bucket,
isSelected,
onFilterClicked,
getChildAggCmps,
}) => {
const childAggCmps = getChildAggCmps(bucket);
const [isActive, setisActive] = useState(false);
const hasChildren = childAggCmps && childAggCmps.props.buckets.length > 0;
return (
<List.Item key={bucket.key}>
<div
className={`title ${hasChildren ? "" : "facet-subtitle"} ${
isActive ? "active" : ""
}`}
>
<List.Content floated="right">
<Label circular>{bucket.doc_count}</Label>
</List.Content>
{hasChildren ? (
<i
className={`angle ${isActive ? "down" : "right"} icon`}
onClick={() => setisActive(!isActive)}
></i>
) : null}
<Checkbox
label={bucket.label}
value={bucket.key}
onClick={() => onFilterClicked(bucket.key)}
checked={isSelected}
/>
</div>
<div className={`content facet-content ${isActive ? "active" : ""}`}>
{childAggCmps}
</div>
</List.Item>
);
};
const SearchHelpLinks = () => {
return (
<Overridable id={"RdmSearch.SearchHelpLinks"}>
<Grid className="padded-small">
<Grid.Row className="no-padded">
<Grid.Column>
<Card className="borderless-facet">
<Card.Content>
<a>Advanced search</a>
</Card.Content>
</Card>
</Grid.Column>
</Grid.Row>
<Grid.Row className="no-padded">
<Grid.Column>
<Card className="borderless-facet">
<Card.Content>
<a>Search guide</a>
</Card.Content>
</Card>
</Grid.Column>
</Grid.Row>
</Grid>
</Overridable>
);
};
export const RDMRecordFacets = ({ aggs, currentResultsState }) => {
return (
<>
<Toggle
title="Versions"
label="View all versions"
filterValue={["all_versions", "true"]}
/>
{aggs.map((agg) => {
return (
<div key={agg.title} className="ui accordion">
<BucketAggregation title={agg.title} agg={agg} />
</div>
);
})}
<SearchHelpLinks />
</>
);
};
export const RDMBucketAggregationElement = ({ title, containerCmp }) => {
return (
<Card className="borderless-facet">
<Card.Content>
<Card.Header>{title}</Card.Header>
</Card.Content>
<Card.Content>{containerCmp}</Card.Content>
</Card>
);
};
export const RDMToggleComponent = ({
updateQueryFilters,
userSelectionFilters,
filterValue,
label,
title,
isChecked,
}) => {
const _isChecked = (userSelectionFilters) => {
const isFilterActive =
userSelectionFilters.filter((filter) => filter[0] === filterValue[0])
.length > 0;
return isFilterActive;
};
const onToggleClicked = () => {
updateQueryFilters(filterValue);
};
var isChecked = _isChecked(userSelectionFilters);
return (
<Card className="borderless-facet">
<Card.Content>
<Card.Header>{title}</Card.Header>
</Card.Content>
<Card.Content>
<Checkbox
toggle
label={label}
onClick={onToggleClicked}
checked={isChecked}
/>
</Card.Content>
</Card>
);
};

View File

@@ -1,30 +0,0 @@
/*
* Copyright (C) 2020 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.
*/
import { defaultComponents, createSearchAppInit } from "@js/invenio_search_ui";
import {
RDMRecordResultsListItem,
RDMBucketAggregationElement,
RDMRecordFacets,
RDMRecordFacetsValues,
RDMRecordResultsGridItem,
RDMRecordSearchBarContainer,
RDMRecordSearchBarElement,
RDMToggleComponent,
} from "./components";
const initSearchApp = createSearchAppInit({
"ResultsList.item": RDMRecordResultsListItem,
"BucketAggregation.element": RDMBucketAggregationElement,
"BucketAggregationValues.element": RDMRecordFacetsValues,
"ResultsGrid.item": RDMRecordResultsGridItem,
"SearchApp.facets": RDMRecordFacets,
"SearchApp.searchbarContainer": RDMRecordSearchBarContainer,
"SearchBar.element": RDMRecordSearchBarElement,
"SearchFilters.ToggleComponent": RDMToggleComponent,
});

View File

@@ -1,22 +1,3 @@
import $ from 'jquery';
$(function() {
let scriptNode = document.createElement("hidden"); //needed for zammad script
scriptNode.id = "zammad_form_script";
scriptNode.src = "https://ub-support.tugraz.at/assets/form/form.js";
document.head.appendChild(scriptNode);
$.getScript("https://ub-support.tugraz.at/assets/form/form.js", () => {
$('#feedback-form').ZammadForm({
messageTitle: 'Contact us',
showTitle: true,
messageSubmit: 'Submit',
messageThankYou: 'Thank you for your message, (#%s). We will get back to you as quickly as possible!',
modal: true
});
});
});
export function toggleVisibility(id) {
var element = document.getElementById(id);
var isHided = element.style.display === "none";

View File

@@ -13,68 +13,68 @@
#login-tug-logo {
& g {
fill: @tugrazRed;
fill: #e4154b;
}
}
#login-tug-logo:hover {
& g {
fill: @tugrazBlack;
fill: #231f20;
}
}
.accounts-link {
margin: 5%;
color: @primaryLink;
border: 1px solid @primaryLink;
color: #fff;
border: 1px solid #fff;
background-color: transparent;
}
.accounts-link :hover {
font-size: smaller !important;
color: @primaryLink;
background-color: @primaryLinkHoverBackground !important;
color: white;
background-color: #000000 !important;
}
.tu-button-style button {
cursor: pointer;
border: 1px solid @primaryButton;
border: 1px solid #fff;
background-color: transparent;
height: 29px;
color: @primaryButton;
color: #fff;
font-family: "Source Sans Pro";
font-weight: 300;
font-size: 16px;
}
.tu-button-style button:hover {
cursor: pointer;
color: @primaryButton;
background-color: @primaryButtonHoverBackground !important;
color: white;
background-color: #000000 !important;
}
.form-accounts {
margin: 15%;
text-align: left !important;
& i {
color: @primaryFormAccounts !important;
color: #fff !important;
}
& label {
display: flex !important;
font-weight: 300 !important;
color: @primaryFormAccounts !important;
color: white !important;
}
& input {
border: 0px none !important;
padding: 0px !important;
border-bottom: 1px solid @primaryFormAccounts !important;
border-bottom: 1px solid white !important;
background-color: transparent !important;
color: @primaryFormAccounts !important;
color: white !important;
border-radius: 0 !important;
width: 100% !important;
}
& input::placeholder {
opacity: 1 !important;
color: @formAccountsInputPlaceholder !important;
color: silver !important;
}
& th {
display: block;
@@ -85,7 +85,7 @@
}
.field > input::selection {
background: @fieldInputSelectionBackground;
background: #50a2ce;
}
.accounts-header {
@@ -96,7 +96,7 @@
login and sign-up pages form background color
*/
.sign-form {
background-color: @signInBackground !important;
background-color: #245b78 !important;
padding: 0 !important;
height: 100%;
}
@@ -104,10 +104,10 @@ login and sign-up pages form background color
.tug-button-login {
display: flex;
align-items: center;
fill: @tugrazRed;
fill: #e4154b;
}
.tug-button-login :hover {
fill: @primaryButtonHoverBackground;
fill: #000000;
}
.login-page-button {
margin: 5%;
@@ -118,20 +118,20 @@ login and sign-up pages form background color
cursor: pointer;
}
& a:hover {
background-color: @primaryLinkHoverBackground;
color: @primaryLink !important;
background-color: #000;
color: #fff !important;
text-decoration: none;
}
}
.login-page-button-white {
color: @primaryButton !important;
color: #fff !important;
font-family: "Source Sans Pro";
font-size: initial;
}
.login-page-button-black {
color: @primaryButtonInverted !important;
color: #000 !important;
font-family: "Source Sans Pro";
font-size: initial;
}

View File

@@ -1,12 +1,13 @@
/*
* Copyright (C) 2020-2021 Graz University of Technology.
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* 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.
*/
#footer {
color: @footerGrey;
color: #5E5E5E;
/*background-image: url("/static/images/footer.jpg");*/
-webkit-background-size: 100% 100%;
@@ -21,18 +22,18 @@
background-attachment: fixed;
&.footer-bottom {
background-color: @footerBottomBackground;
background-color: #f2f2f2;
padding-top: 15px;
padding-bottom: 15px;
font-size: 16px;
a {
text-decoration: none;
color: @footerGrey;
color: #5E5E5E;
&:hover, &:focus {
color: @primaryLink;
background-color: @primaryLinkHoverBackground;
color: #ffffff;
background-color: #000000;
}
}
}
@@ -46,5 +47,5 @@
margin-top: 10px;
}
.spacer-long{
margin-top: 30px;
margin-top: 20px;
}

View File

@@ -1,5 +1,6 @@
/*
* Copyright (C) 2020-2021 Graz University of Technology.
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* 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.
@@ -21,12 +22,12 @@ h2 {
}
.record-version {
color: @greyDark;
background-color: @recordVersionBackground !important;
color: #777777;
background-color: #f2f2f2 !important;
}
.random-records-frontpage article {
border-bottom: 1px solid @randomRecordsFrontpageArticle;
border-bottom: 1px solid rgba(34,36,38,.15);
margin-bottom: 1rem;
padding-bottom: 1rem;
}
@@ -43,46 +44,3 @@ h2 {
.badges {
float: right;
}
/*Zammad form**/
.zammad-form{
h2{
text-align: center;
}
.form-group{
label{
color: @tugrazBlack;
}
input.form-control{
height: 30px;
// width: auto;
border-radius: 0;
font-family: "Source Sans Pro";
background: @primaryLinkBackgroundInverted;
border: 1px solid rgba(34, 36, 38, 0.15);
}
textarea{
border: 1px solid rgba(34, 36, 38, 0.15);
}
}
.btn{
width: 100% !important;
cursor: pointer;
font-family: "Source Sans Pro";
min-height: 1em;
line-height: 1em;
padding: 0.78571429em 1.5em 0.78571429em;
background: @greyLight none;
border: 0;
}
.btn:hover{
background: @primaryLinkHoverBackground;
color: @primaryButton;
font-size: 1rem;
font-weight: bold;
}
}:focus{
outline: thin;
outline-style: solid;
outline-color: @outlineColor;
}

View File

@@ -1,5 +1,6 @@
/*
* Copyright (C) 2020-2021 Graz University of Technology.
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* 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.
@@ -9,7 +10,7 @@
width: 18px;
height: 18px;
vertical-align: top;
fill: @tugrazRed;
fill: #e4154b;
}
/*****logo section******/
@@ -17,18 +18,18 @@
vertical-align: middle;
white-space: nowrap;
& a {
fill: @tugrazRed;
fill: #e4154b;
}
}
.affiliation-logo :hover {
text-decoration: none;
fill: @primaryLinkHoverBackground;
color: @primaryLinkHoverBackground;
fill: #000000;
color: #000000;
}
.affiliation {
background-color: @primaryLink;
background-color: white;
display: table;
margin: 0 auto 80px;
max-width: 1060px;
@@ -54,6 +55,11 @@
vertical-align: top;
}
a {
color: inherit;
text-decoration: none;
transition: background-color 0.15s ease 0s, color 0.15s ease 0s;
}
/*****END logo section******/
.short-menu {
@@ -72,12 +78,12 @@
.short-menu-right {
display: table-cell;
width: 50%;
color: @primaryLinkInverted;
color: #000000;
}
.short-menu-right :hover {
background-color: @primaryLinkHoverBackground;
color: @primaryLink;
background-color: #000000;
color: #ffffff;
}
.short-menu-right-button {
@@ -98,15 +104,15 @@
& a {
padding: 5px;
background-color: transparent;
color: @primaryLinkInverted;
color: #000;
text-decoration: none;
}
}
.short-menu-left-lang:hover {
& a {
background-color: @primaryLinkHoverBackground;
color: @primaryLink;
background-color: #000;
color: #fff;
text-decoration: none;
}
}
@@ -120,7 +126,7 @@
& svg {
& g {
stroke-linejoin: round;
stroke: @primaryLinkInverted;
stroke: #000;
stroke-miterlimit: 10;
stroke-width: 2;
fill: none;
@@ -131,11 +137,11 @@
.search-icon-header:hover {
& a {
background-color: @primaryLinkHoverBackground;
background-color: #000;
text-decoration: none;
& svg {
& g {
stroke: @primaryLink;
stroke: #fff;
}
}
}
@@ -144,7 +150,7 @@
.short-menu-left-search {
display: inline-block;
margin: 12px 9px 6px 0;
color: @primaryLinkInverted;
color: #000000;
}
.short-menu-right-main-menu {
@@ -175,8 +181,8 @@ svg:not(:root) {
}
.main-menu-entry a:hover {
background-color: @primaryLinkHoverBackground;
color: @primaryLink;
background-color: #000;
color: #fff;
text-decoration: none;
}
@@ -185,7 +191,7 @@ svg:not(:root) {
}
.main-menu-underline-line {
border: 2px solid @greyLight !important;
border: 2px solid #e0e1e2 !important;
border-radius: 0;
}
@@ -194,13 +200,13 @@ svg:not(:root) {
}
.affiliation-text a:hover {
background-color: @primaryLinkHoverBackground;
color: @primaryLink;
background-color: #000000;
color: #ffffff;
text-decoration: none;
}
.main-menu {
border-bottom: 1px solid @primaryLinkInverted;
border-bottom: 1px solid #000;
box-sizing: border-box;
height: 39px;
margin-top: -1px;

View File

@@ -1,5 +1,5 @@
.ui.inverted.header{
color: @primaryLinkInverted;
color:#000;
}
.login-page-button {
@@ -10,14 +10,14 @@
cursor: pointer;
}
& a:hover {
background-color: @primaryLinkHoverBackground;
color: @primaryLink !important;
background-color: #000;
color: #fff !important;
text-decoration: none;
}
}
.text-color{
color: @primaryLinkInverted;
color: #000;
}
@media (max-width: 767px) {

View File

@@ -1,5 +1,6 @@
/*
* Copyright (C) 2020-2021 Graz University of Technology.
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* 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.
@@ -13,5 +14,5 @@
}
.text-muted {
color: @greyDark;
color: #777;
}

View File

@@ -1,5 +1,6 @@
/*
* Copyright (C) 2020-2021 Graz University of Technology.
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* 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.
@@ -11,7 +12,7 @@
* to #ffffff
***/
.section-content-light-bg {
background-color: @primaryBackground;
background-color: #ffffff;
}
/***
@@ -20,7 +21,7 @@
* to #000000
***/
.section-title {
color: @primaryText;
color: #000000;
}
@@ -31,7 +32,7 @@
***/
.cover-page {
//text-align: center;
background-color: @primaryBackground;
background-color: #ffffff;
}
@@ -41,7 +42,7 @@
* To #000000
***/
.panel-free-title {
color: @primaryText;
color: #000000;
}
@@ -74,16 +75,16 @@ pre {
***/
/*.ui.button,*/
.ui.search.button {
background-color: @tugrazRed;
background-color:#e4154b;
}
.ui.button:hover,
.ui.search.button:hover {
background-color: @primaryButtonHoverBackground;
background-color:#000000;
}
.ui.button:hover {
color: @primaryButton;
color:#fff;
}
/***
@@ -122,33 +123,3 @@ pre {
.ui.label {
font-weight: 400;
}
.ui.label.access-right {
float: right;
color: @accessRight;
background-color: white;
&.open {
color: @accessRightOpen;
background-color: white;
}
&.restricted {
color: @accessRightRestricted;
background-color: white;
}
&.embargoed {
color: @accessRightEmbargoed;
background-color: white;
}
&.closed {
color: @accessRightClosed;
background-color: white;
}
}

View File

@@ -5,13 +5,7 @@
* it under the terms of the MIT License; see LICENSE file for more details.
*/
.top-bottom-padded {
margin: unset;
}
.label.label-keyword {
font-size: 0.71428571rem;
font-weight: 400;
background-color: @labelKeywordBackground;
border: unset;
.access-right {
color: #e9711c;
float: right;
}

View File

@@ -1,28 +0,0 @@
/*
* Copyright (C) 2020 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.
*/
.creators {
margin: 0 0 1em;
}
.creators span {
margin-left: 2px;
}
.creator:not(:last-child):after {
color: @greyDark;
content: ';';
}
.creator {
display: inline-block;
margin-right: 5px;
}
.identifiers {
display: inline;
}

View File

@@ -1,5 +1,6 @@
/*
* Copyright (C) 2020-2021 Graz University of Technology.
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* 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.
@@ -11,7 +12,6 @@
@import "overrides";
@import "frontpage";
@import "record";
@import "search";
@import "macros";
@import "login";
@import (css)
@@ -24,11 +24,3 @@
//@import "../invenio_app_rdm/theme";
//@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;
}

View File

@@ -1,5 +1,6 @@
/*
* Copyright (C) 2020-2021 Graz University of Technology.
* Copyright (C) 2020 TUGRAZ.
* Copyright (C) 2020 mojib wali.
*
* 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.
@@ -11,59 +12,6 @@
***/
//@import "../invenio_app_rdm/variables.less";
//@navbar_background_image: unset;
//@navbar_background_color: #ffffff;
// badge colors, accessibility
@accessRight : #e9711c;
@accessRightOpen : #e9711c;
@accessRightRestricted: #fbbd08;
@accessRightEmbargoed : #db2828;
@accessRightClosed : #db2828;
// primary colors TU Graz
@tugrazBlack: #231f20;
@tugrazRed : #e4154b;
// accent colors
@greyDark : #777;
@greyLight : #E0E1E2;
@labelKeywordBackground: #E8E8E8;
// link and button colors
@primaryLinkInverted : #000;
@primaryLinkBackgroundInverted: #fff;
@primaryLink : #fff;
@primaryLinkHoverBackground : #000;
@primaryButton : #fff;
@primaryButtonHoverBackground : #000;
@primaryButtonInverted : #000f;
// general
@primaryBackground: #fff;
@primaryText : #000;
//account (signin, signup) specific
@primaryFormAccounts : #fff;
@formAccountsInputPlaceholder : silver;
@fieldInputSelectionBackground: #50a2ce;
@signInBackground : #245b78;
// footer specific
@footerGrey : #5E5E5E;
@footerBottomBackground: #f2f2f2;
// record specific
@recordVersionBackground : #f2f2f2;
@randomRecordsFrontpageArticle: rgba(34, 36, 38, .15);
// input
@outlineColor: #85B7D9;

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 mojib wali.
#
# 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
@@ -9,7 +9,6 @@
"""invenio module for TUGRAZ theme."""
from flask_babelex import gettext as _
from invenio_app_rdm.config import RECORDS_UI_ENDPOINTS
INVENIO_THEME_TUGRAZ_DEFAULT_VALUE = _("TU Graz Repository")
"""Default value for the application."""
@@ -26,9 +25,6 @@ INVENIO_THEME_TUGRAZ_ICON = "images/icon_use.png"
INVENIO_THEME_TUGRAZ_LOGIN_IMG = "images/login_logo.png"
"""TU Logo for forms"""
INVENIO_THEME_TUGRAZ_CONTACT_FORM = False
"""Enable/Disable Contact form."""
# Invenio-theme
# ============
# See https://invenio-theme.readthedocs.io/en/latest/configuration.html
@@ -98,24 +94,3 @@ DEPOSITS_HEADER_TEMPLATE = "invenio_theme_tugraz/header.html"
# template="invenio_theme_tugraz/record_landing_page.html"
# )
"""override the default record landing page"""
# Invenio-search-ui
# =============
# See https://invenio-search-ui.readthedocs.io/en/latest/configuration.html
# SEARCH_UI_SEARCH_TEMPLATE = "invenio_theme_tugraz/search.html"
# """override the default search page"""
TUG_ROUTES = {
"index": "/",
"comingsoon": "/comingsoon",
"deposit_create": "/uploads/new",
"deposit_edit": "/uploads/<pid_value>",
"getdoi": "/getdoi",
"record_detail": "/records/<pid_value>",
}
# Datacite
# INVENIO_DATACITE_URL = ""
# INVENIO_DATACITE_UNAME = ""
# INVENIO_DATACITE_PASS = "password"
# INVENIO_DATACITE_PREFIX = ""

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 mojib wali.
#
# 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
@@ -9,7 +9,6 @@
"""invenio module for TUGRAZ theme."""
from . import config
from .views import deposit_create, deposit_edit, index, record_detail
class InvenioThemeTugraz(object):
@@ -22,12 +21,6 @@ class InvenioThemeTugraz(object):
def init_app(self, app):
"""Flask application initialization."""
# add index route 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("/uploads/new", "deposit_create", deposit_create)
app.add_url_rule("/uploads/<pid_value>", "deposit_edit", deposit_edit)
app.add_url_rule("/records/<pid_value>", "record_detail", record_detail)
self.init_config(app)
app.extensions["invenio-theme-tugraz"] = self

View File

@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 TU Graz.
# Copyright (C) 2020 mojib wali.
#
# 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
@@ -21,6 +22,4 @@ class FrontpageRecordsSearch(RecordsSearch):
"""Default index and filter for frontpage search."""
index = "rdmrecords-records"
default_filter = Q(
"query_string", query=(
"access.record:public" "AND versions.is_latest:true"))
default_filter = Q("query_string", query=("access.access_right:open"))

View File

@@ -1,5 +1,6 @@
{#
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 TUGRAZ
Copyright (C) 2020 mojib wali.
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

View File

@@ -4,14 +4,14 @@
{%- if config.SECURITY_REGISTERABLE %}
<div class="short-menu-right-button">
<a href="{{ url_for('security.register') }}" class="no-decoration">
<a href="{{ url_for('security.register') }}">
{{_ ("Sign up")}}
</a>
</div>
{%- endif %}
<div class="short-menu-right-button">
<a href="{{url_for_security('login', next=request.path)}}" class="no-decoration">
<a href="{{url_for_security('login', next=request.path)}}" style="text-decoration:none">
{{_ ("Log in")}}
</a>
</div>
@@ -21,12 +21,12 @@
{%- if config.USERPROFILES %}
<div class="short-menu-right-button">
<a href="{{ url_for('invenio_userprofiles.profile') }}" class="no-decoration">
<a href="{{ url_for('invenio_userprofiles.profile') }}">
<i class="user icon"></i> {{ current_user.email }}
</a>
</div>
<div class="short-menu-right-button">
<a class="dropdown-item no-decoration" href="{{url_for_security('logout')}}">
<a class="dropdown-item" href="{{url_for_security('logout')}}">
{{_('Sign out')}}
</a>
</div>

View File

@@ -1,5 +1,7 @@
{#
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 TUGRAZ
Copyright (C) 2020 mojib wali
Copyright (C) 2020 Nikita Lvov
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
@@ -12,32 +14,30 @@
{% from "invenio_accounts/_macros.html" import render_field, form_errors %}
{% block page_body %}
<div class="spacer-long"></div>
<div class="spacer-long"></div>
<div class="ui container">
<div class="ui centered grid padded">
<div class="ui centered grid">
<div class="ui padded segments huge form">
<div class="ui padded segments big form">
<div class="ui login segment padded">
<div class="divider hidden"></div>
{%- block form_header %}
<h3 class="ui login header">{{ _('Log in to Repository') }}</h3>
{%- endblock form_header %}
<div class="ui divider"></div>
<!--Log in with SSO-->
{%- if config.INVENIO_CONFIG_TUGRAZ_SHIBBOLETH %}
<div class="ui divider"></div>
<div class="login-page-button ui fluid large button">
<a href="{{ url_for('sso_saml.sso', idp='idp') }}" class="inverted tiny image label">
{% trans type='TUGRAZ' %} Log in with {{ type }}{% endtrans %}
<img src="{{ url_for('static', filename=config.INVENIO_THEME_TUGRAZ_ICON)}}" height="20px" />
</a>
</div>
<div class="spacer-long"></div>
<div class="ui inverted horizontal divider"><span class="text-color">{{_ ("Or")}}</span></div>
{%- endif %}
{%- block form_outer %}
{%- with form = login_user_form %}
<div style="padding-bottom: 20px;padding-top: 6px;">
<form action="{{ url_for_security('login') }}" method="POST" name="login_user_form" class="ui big form">
{{ form.hidden_tag() }}
{{ form_errors(form) }}
@@ -47,7 +47,6 @@
<i class="ui sign-in icon"></i>{{ _('Log In') }}
</button>
</form>
</div>
{%- endwith %}
{%- endblock form_outer %}
<div class="divider hidden"></div>

View File

@@ -1,5 +1,6 @@
{#
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 TUGRAZ
Copyright (C) 2020 mojib wali.
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

View File

@@ -1,7 +0,0 @@
{%- extends config.INVENIO_THEME_TUGRAZ_BASE_TEMPLATE %}
{%- block page_body %}
<div class="ui container">
<h1 style="text-align: center;">comingsoon</h1>
</div>
{%- endblock %}

View File

@@ -1,31 +0,0 @@
{#
Copyright (C) 2020 CERN.
Copyright (C) 2020 Northwestern University.
Copyright (C) 2021 Graz University of Technology.
Invenio-them-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.
#}
{%- 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

@@ -1,5 +1,6 @@
{#
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 TUGRAZ
Copyright (C) 2020 mojib wali.
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
@@ -29,21 +30,17 @@
<h2>{{_ ("Repository")}}</h2>
<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_app_rdm.coming_soon') }}">
{{_ ("Impressum")}}<i class="angle right icon"></i>
</a>
<br>
<a href="{{ url_for('invenio_theme_tugraz.comingsoon') }}">
<a href="{{ url_for('invenio_app_rdm.coming_soon') }}">
{{_ ("Data protection")}}<i class="angle right icon"></i>
</a>
<br>
<a href="{{ url_for('invenio_theme_tugraz.comingsoon') }}">
<a href="{{ url_for('invenio_app_rdm.coming_soon') }}">
{{_ ("Feedback")}}<i class="angle right icon"></i>
</a> -->
</a>
</p>
</div>
@@ -72,13 +69,13 @@
<h2>{{_ ("Connected Services")}}</h2>
<p class="bodytext">
<a href="https://pure.tugraz.at" title="PURE" target="_blank">
<a href="https://pure.tugraz.at" title="PURE">
{{_ ("PURE")}} <i class="external alternate icon"></i></a><br>
<a href="http://campusonline.tugraz.at" title="CAMPUS online" target="_blank">
<a href="http://campusonline.tugraz.at" title="CAMPUS online">
{{_ ("CampusOnline")}} <i class="external alternate icon"></i></a><br>
<a href="https://rdm.tugraz.at" title="Research Data Management" target="_blank">
<a href="https://rdm.tugraz.at" title="CAMPUS online">
{{_ ("Research Data Management")}} <i class="external alternate icon"></i></a><br>
</p>

View File

@@ -1,5 +1,6 @@
{#
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 TUGRAZ
Copyright (C) 2020 mojib wali.
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
@@ -19,7 +20,7 @@
<div class="ui grid stackable container">
<div class="three column row centered" style="padding-bottom: 0;">
<div class="two wide column main-menu-entry">
<a href="{{url_for('invenio_theme_tugraz.index')}}" title="Home" class="no-decoration">
<a href="{{url_for('invenio_theme_tugraz.index')}}" title="Home">
<span class="home-inline">
<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"
@@ -44,7 +45,7 @@
<!--TODO: remove this once above is uncommented-->
<div class="two wide column main-menu-entry">
<a href="{{url_for('invenio_app_rdm_records.deposit_search')}}" class="no-decoration">{{_ ("Uploads")}}</a>
<a href="{{url_for('invenio_app_rdm.deposits_user')}}">{{_ ("Uploads")}}</a>
</div>
</div>

View File

@@ -1,5 +1,6 @@
{#
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 TUGRAZ
Copyright (C) 2020 mojib wali.
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
@@ -8,10 +9,6 @@
{%- extends config.INVENIO_THEME_TUGRAZ_BASE_TEMPLATE %}
{%- block javascript %}
{{ webpack['invenio-theme-tugraz-js.js'] }}
{%- endblock javascript %}
{%- from "invenio_theme_tugraz/macros/authors.html" import creators -%}
{%- block page_body %}
@@ -42,15 +39,9 @@
<div class="ten wide column random-records-frontpage">
<h2>{{_('Recent uploads')}}</h2>
{% if not records %}
<div class="ui centered grid">
<p style="font-size: medium;">{{_('There are no public records to show.')}}</p>
</div>
{% endif %}
{%- for r in records %}
{%- set creation_date = r._created|from_isodatetime -%}
{%- set record_url = url_for('invenio_app_rdm_records.record_detail', pid_value=r.id) %}
{%- set record_url = url_for('invenio_records_ui.recid', pid_value=r['id']) %}
<article>
<!--TODO:
@@ -73,7 +64,7 @@
</div>
<h4>
<a href="{{ record_url }}" class="no-decoration">
<a href="{{ record_url }}">
{{r.metadata.title}}
</a>
</h4>
@@ -83,7 +74,7 @@
</p>
<p class="hidden-xs">
<a href="{{record_url}}" class="no-decoration">
<a href="{{record_url}}">
{{ r.metadata.description | striptags | truncate(300) }}
</a>
</p>
@@ -103,17 +94,12 @@
</div>
</div>
<!--Disabled on feb-relase - enable when stable-->
<!-- <div class="right floated column">
<div class="right floated column">
<span class="access-right">
<i class="icon lock open"></i>
{{ r.access.access_right | make_dict_like('access_right') | vocabulary_title('access_right') }}
{%- for right in r.metadata.rights %}
<a target="_blank" href="{{right.url}}">{{ '(' ~ right.identifier ~ ')' }}</a>
{%- endfor %}
</span>
</div> -->
</div>
</div>
</div>
</article>
@@ -121,11 +107,9 @@
-->
{%- endfor %}
{% if records %}
<div class="ui centered grid">
<a class="ui button more" href="{{url_for('invenio_search_ui.search')}}">{{_('More')}}</a>
</div>
{%- endif %}
</div>
@@ -134,13 +118,12 @@
<!--contact us-->
<div class="ui segment" style="padding-bottom: 10px;">
<h4>{{_ ("Need help?")}} </h4>
{%- if config.INVENIO_THEME_TUGRAZ_CONTACT_FORM %}
<div style="padding-bottom: 10px;">
<a id="feedback-form" class="fluid ui button">
<a href="{{ url_for('invenio_theme_tugraz.index')}}" class="fluid ui button">
{{_ ("Contact us")}}
</a>
</div>
{%- endif %}
<p>
{{config.THEME_SITENAME}} {{_ ("prioritizes all Recent uploads.")}}
</p>

View File

@@ -1,153 +0,0 @@
{#
Copyright (C) 2020-2021 CERN.
Copyright (C) 2020 Northwestern University.
Copyright (C) 2021 TU Wien.
Copyright (C) 2021 Graz University of Technology.
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 %}
{%- set title = record.metadata.title -%}
{%- set metadata = record.metadata %}
{%- block page_body %}
<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 %}
{% 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">
<div class="eleven wide column">
{%- block record_body -%}
{%- block record_header -%}
<div class="ui grid middle aligned">
<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>
<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>
<!--TODO: Re-enable in next releases-->
<!-- <span class="ui label small access-right {{ 'unlock' }}">
<i class="icon {{ 'unlock' }}"></i>{{ _("Open Access") }}</span> -->
</div>
</div>
</div>
{%- endblock record_header -%}
{%- block record_title -%}
<h1>{{ metadata.title }}</h1>
<p>{%- include "invenio_app_rdm/records/details/creators.html" %}</p>
{%- endblock record_title -%}
{%- block record_content -%}
<p>{%- include "invenio_app_rdm/records/details/contributors.html" %}</p>
{%- include "invenio_app_rdm/records/details/subjects.html" %}
<div class="top-padded">
{%- include "invenio_app_rdm/records/details/description.html" %}
</div>
<div class="top-padded">
{%- include "invenio_app_rdm/records/details/licenses.html" %}
</div>
{%- endblock record_content -%}
{# files #}
{%- block record_files -%}
{%- if files is not none -%}
{%- if files.enabled and record|can_list_files %}
{%- set default_preview = files.default_preview %}
{%- set files = files|order_entries %}
{%- if files|has_previewable_files -%}
{%- set default_preview_file = files|select_preview_file(default_preview=default_preview) %}
{{ preview_file_box(default_preview_file, pid) }}
{%- endif -%}
{{ file_list_box(files, pid) }}
{% endif %}
{%- else -%}
{# TODO: come up with a proper display #}
<div>Sorry, the files are restricted!</div>
{%- endif -%}
{%- endblock record_files -%}
{%- block record_details -%}
{# More details #}
<div class="top-padded">
{%- include "invenio_app_rdm/records/details/details.html" %}
</div>
{%- endblock record_details -%}
{%- block record_footer -%}
<div class="ui grid">
<div class="two column row top-bottom-padded font-small">
<div class="four wide column">
<p><b>Upload information</b></p>
</div>
<div class="twelve wide column">
<span class="label text-muted">
<b>Created:</b> {{ record.ui.created_date_l10n_long }} | <b>Modified:</b> {{ record.ui.updated_date_l10n_long }}
</span>
</div>
</div>
</div>
{%- endblock record_footer -%}
<!-- {%- block jump -%}
<div class="ui grid">
<div class="centered row" id="jump-btn">
<a style="cursor: pointer;">
<span class="ui button">
<i class="arrow alternate circle up outline icon"></i>Jump up</span>
</a>
</div>
</div>
{%- endblock jump -%} -->
{%- endblock record_body %}
</div>
<div class="five wide column">
{% 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>
{% endblock record_sidebar %}
</div>
</div>
</div>
</div>
{%- endblock page_body %}
{%- block javascript %}
{{ super() }}
{{ webpack['invenio-app-rdm-landing-page.js'] }}
{# Communities management -- TODO include again when communities are ready #}
{# {{ webpack['invenio-communities-records.js'] }} #}
{{ webpack['previewer_theme.js'] }}
{%- endblock javascript %}

View File

@@ -1,43 +0,0 @@
{#
Copyright (C) 2020 CERN.
Copyright (C) 2020 Northwestern University.
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.
#}
{% if metadata.identifiers %}
{% for identifier in metadata.identifiers %}
{% if identifier.scheme == 'doi' %}
{%- set id_doi = identifier.identifier %}
<dd>
{% if id_doi %}
<span class="get-badge" data-toggle="tooltip" data-placement="bottom" style="cursor: pointer;"
title="Get the DOI badge!">
<img id="record-doi-badge" data-target="[data-modal='{{ id_doi }}']"
src="{{ url_for('invenio_formatter_badges.badge', title='DOI', value=id_doi, ext='svg') }}" alt="{{ id_doi }}">
</img>
</span>
<div id="doi-modal" class="ui modal fade badge-modal" data-modal="{{ id_doi }}">
<div class="header">RDM DOI Badge</div>
<div class="content">
<h4>
<small>DOI</small>
</h4>
<h4>
<pre>{{ id_doi }}</pre>
</h4>
{% from "semantic-ui/invenio_formatter/macros/badges.html" import badges_formats_list %}
{{ badges_formats_list(url_for('invenio_formatter_badges.badge', title='DOI', value=id_doi, ext='svg', _external=True, _scheme='https'), id_doi|pid_url(scheme='doi')) }}
</div>
</div>
{% else %}
{{ _("No minted DOI") }}
{% endif %}
</dd>
{% endif %}
{% endfor %}
{% endif %}

View File

@@ -1,6 +1,7 @@
{#
Copyright (C) 2020 Zenodo
Copyright (C) 2020 TUGRAZ
Copyright (C) 2020 mojib wali.
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
@@ -11,11 +12,11 @@
{%- for creators in authors_list %}
{%- if creators.identifiers and creators.identifiers.orcid %}
{%- if creators.identifiers.orcid %}
<a href="{{creators.identifiers.orcid|pid_url('orcid')}}" target="_blank" ><img class="inline-orcid" src="{{ url_for('static', filename='extra/orcid.png')}}" /></a>
{%- endif %}
<span class="text-muted" {% if creators.affiliations %} {% for affiliation in creators.affiliations %} data-toggle="tooltip" title="{{affiliation.name}}" {%- endfor %} {% endif %}>{{creators.person_or_org.name}}</span>
<span class="text-muted" {% if creators.affiliations %} {% for affiliation in creators.affiliations %} data-toggle="tooltip" title="{{affiliation.name}}" {%- endfor %} {% endif %}>{{creators.name}}</span>
{% if not loop.last %}; {% endif %}
{%- endfor %}

View File

@@ -1,5 +1,6 @@
{#
Copyright (C) 2020-2021 Graz University of Technology.
Copyright (C) 2020 TUGRAZ
Copyright (C) 2020 mojib wali.
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
@@ -16,13 +17,13 @@
{%- for l in current_i18n.get_locales() %}
{%- if current_i18n.language != l.language %}
<a
href="{{ url_for('invenio_i18n.set_lang', lang_code=l.language) }}" class="no-decoration">{{ l.get_display_name().upper() [0:2]}}</a>
href="{{ url_for('invenio_i18n.set_lang', lang_code=l.language) }}">{{ l.get_display_name().upper() [0:2]}}</a>
{%- endif %}
{%- endfor %}
</div>
{%- endif %}
<div class="search-icon-header">
<a href="{{url_for('invenio_search_ui.search')}}" class="no-decoration">
<a href="{{url_for('invenio_search_ui.search')}}">
<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:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"
@@ -60,7 +61,7 @@
<img height="51.862" src="{{ url_for('static', filename='images/library_logo.png')}}">
</div>
<div class="affiliation-text">
<a title="Home" href="{{url_for('invenio_theme_tugraz.index')}}" class="no-decoration">
<a title="RDM" href="{{url_for('invenio_theme_tugraz.index')}}">
TU GRAZ
<br>
{{_ ("REPOSITORY")}}
@@ -73,7 +74,7 @@
<!--Right-->
<div class="right floated right aligned six wide column">
<div class="affiliation-logo" id="int-header-logo">
<a href="https://www.tugraz.at" title="TU Graz Home" target="_blank" class="no-decoration">
<a href="https://www.tugraz.at" title="TU Graz Home" target="_blank">
<div class="affiliation-logo-claim">
<div class="affiliation-logo-claim-single">{{_ ("SCIENCE")}}</div>
<div class="affiliation-logo-claim-single">{{_ ("PASSION")}}</div>

View File

@@ -13,82 +13,89 @@
{%- block css %}
{{ super() }}
{{ webpack['invenio-rdm-records-theme.css'] }}
{%- endblock css %}
{%- from "invenio_app_rdm/landing_page/macros/files.html" import file_list_box, preview_file_box %}
{%- from "invenio_app_rdm/landing_page/macros/detail.html" import show_detail %}
{%- set record = record|dereference_record|serialize_ui %}
{%- set metadata = record.metadata %}
{%- from "invenio_rdm_records/macros/files.html" import file_list_box, preview_file_box %}
{%- block page_body %}
<div class="ui container">
<div class="ui padded relaxed grid">
<div class="two column row">
<div class="ten wide column">
{%- block record_body %}
<div class="badges">
<span class="ui label record-version" title="{{_('Publication date')}}">
{{ record.metadata.publication_date }} {{ '(' ~ record.metadata.version ~ ')' if record.metadata.version }}
<div class="left floated left aligned column">
<span class="ui label teal" title="Publication date">
{{ record.publication_date|to_date|format_date(format='long') }}
</span>
<!--Resource type badge-->
<span class="ui label teal" title="{{_('Resource type')}}">
{{record.ui.resource_type }}
<span class="ui label record-version">
Version {{ record.version }}
</span>
<span class="ui label grey">
{{ record.resource_type | vocabulary_title('resource_type') }}
</span>
</div>
<h1 style="margin-top: -6px">{{ record.metadata.title }}</h1>
<p>{%- include "invenio_app_rdm/landing_page/details/creators.html" %}</p>
<p>{%- include "invenio_app_rdm/landing_page/details/contributors.html" %}</p>
<h1>{{ record.titles[0].title }}</h1>
<p>
{%- include "invenio_rdm_records/details/creators.html" %}
</p>
<div class="ui grid" style="margin-bottom: 10px;">
{%- if record.contributors %}
<p>
{%- include "invenio_rdm_records/details/contributors.html" %}
</p>
{%- endif %}
<div class="ui grid">
<div class="two column row">
<div class="left floated column">
{%- for s in record.metadata.subjects %}
<div class="ui tiny label">{{s.subject}}</div>
{%- endfor %}
<div style="margin-top: 5px;">
<b>Created:</b> {{ record.ui.created_date_l10n_long }} | <b>Modified:</b> {{ record.ui.updated_date_l10n_long }}
</div>
{%- include "invenio_theme_tugraz/details/doi.html" %}
</div>
<div class="right floated column">
<span class="ui label access-right">
<i class="icon lock open"></i>
{{ record.access.access_right | make_dict_like('access_right') | vocabulary_title('access_right') }}
{%- for right in record.metadata.rights %}
<a target="_blank" href="{{right.url}}">{{ '(' ~ right.identifier ~ ')' }}</a>
{%- endfor %}
{#
{%- include "invenio_rdm_records/details/contact.html" %}
#}
<span class="access-right">
{{ record | vocabulary_title('access_right') | lower_case }}
</span>
</div>
</div>
</div>
{%- include "invenio_app_rdm/landing_page/details/description.html" %}
{%- include "invenio_rdm_records/details/citation.html" %}
{%- include "invenio_rdm_records/details/keywords.html" %}
{%- include "invenio_rdm_records/details/description.html" %}
{%- include "invenio_rdm_records/details/licenses.html" %}
{# files #}
{%- if record.files and record | can_list_files %}
{%- set files = record.files | make_files_preview_compatible %}
{%- set default_preview_file = files | select_preview_file(default_preview=record.files.default_preview) %}
{{ preview_file_box(default_preview_file, pid) }}
{{ file_list_box(files, pid) }}
{%- set files = record.files %}
{{ preview_file_box(files | select_preview_file, pid) }}
{{ file_list_box(files.dumps(), pid) }}
{%- else %}
<br>
<p style="text-align: center;">
No associated files.
</p>
{% endif %}
{# More details #}
{%- endblock record_body %}
</div>
<div class="six wide column">
<div id="recordManagement"
class="ui container"
data-recid='{{ record["id"] | tojson }}'>
</div>
{% block sidebar %}
{%- include "invenio_app_rdm/landing_page/details/side_bar.html" %}
<div class="ui segment rdm-sidebar">
{%- include "invenio_rdm_records/details/side_bar.html" %}
</div>
{% endblock sidebar %}
</div>
</div>
@@ -99,9 +106,8 @@
{%- block javascript %}
{{ super() }}
{{ webpack['invenio-app-rdm-records.js'] }}
{{ webpack['invenio-rdm-records-js.js'] }}
{# Communities management #}
{{ webpack['invenio-communities-records.js'] }}
{{webpack['previewer_theme.js']}}
{{ webpack['invenio-app-rdm-record-management.js'] }}
{%- endblock javascript %}

View File

@@ -1,82 +0,0 @@
{#
Copyright (C) 2020 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.
#}
{%- extends config.BASE_TEMPLATE %}
{%- block javascript %}
{{ super() }}
{{ webpack['invenio-theme-tugraz-search-app.js'] }}
{%- endblock %}
{%- block page_body %}
<div data-invenio-search-config='{
"aggs": [
{
"aggName": "access_right",
"field": "access_right",
"title": "Access Right"
},
{
"aggName": "resource_type",
"field": "resource_type.type",
"title": "Resource Type",
"childAgg": {
"aggName": "subtype",
"field": "resource_type.subtype",
"title": "Resource Type"
}
}
],
"appId": "rdm-search",
"initialQueryState": {
"hiddenParams": null,
"size": 10
},
"layoutOptions": {
"gridView": false,
"listView": true
},
"paginationOptions": {
"defaultValue": 10,
"resultsPerPage": [
{
"text": "10",
"value": 10
},
{
"text": "20",
"value": 20
},
{
"text": "50",
"value": 50
}
]
},
"searchApi": {
"axios": {
"headers": {
"Accept": "application/vnd.inveniordm.v1+json"
},
"url": "/api/records",
"withCredentials": true
}
},
"sortOrderDisabled": true,
"sortOptions": [
{
"sortBy": "bestmatch",
"text": "Best match"
},
{
"sortBy": "newest",
"text": "Newest"
}
]
}'></div>
{%- endblock page_body %}

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: invenio-theme-tugraz 1.0.4\n"
"Report-Msgid-Bugs-To: mojib.wali@tugraz.at\n"
"POT-Creation-Date: 2021-03-19 10:53+0100\n"
"POT-Creation-Date: 2021-01-04 14:18+0100\n"
"PO-Revision-Date: 2020-10-06 10:27+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: de\n"
@@ -19,21 +19,21 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
#: invenio_theme_tugraz/config.py:14 invenio_theme_tugraz/config.py:54
#: invenio_theme_tugraz/config.py:13 invenio_theme_tugraz/config.py:50
msgid "TU Graz Repository"
msgstr "TU Graz Repository"
#: invenio_theme_tugraz/config.py:57
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:30
#: invenio_theme_tugraz/config.py:53
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:31
msgid "Repository"
msgstr "Repository"
#: invenio_theme_tugraz/config.py:80
#: invenio_theme_tugraz/config.py:76
msgid "German"
msgstr "Deutsche"
#: 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/accounts/accounts_base.html:27
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/base.html:27
msgid "Invenio"
msgstr "Invenio"
@@ -113,105 +113,103 @@ msgstr "Nutzungsstatistiken"
msgid "All uploads display standards compliant usage statistics"
msgstr "Alle Uploads entsprechen den Standards der Nutzungsstatistiken."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:33
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:34
msgid "Impressum"
msgstr "Imprint"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:37
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:38
msgid "Data protection"
msgstr "Datenschutzerklärung"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:41
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:42
msgid "Feedback"
msgstr "Feedback"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:50
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:51
msgid "Features"
msgstr "Features"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:52
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:53
msgid "Scalability"
msgstr "Skalierbarkeit"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:54
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:55
msgid "Institutional integration"
msgstr "Institutionelle Einbindung"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:56
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:57
msgid "Next Generation Repository"
msgstr "Repositorium der nächsten Generation"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:59
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:60
msgid "Repository Profiles"
msgstr "Repositorienprofile"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:61
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:62
msgid "Resilient"
msgstr "Resilient, widerstandsfähig"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:68
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:69
msgid "Connected Services"
msgstr "Verbundene Services "
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:72
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:73
msgid "PURE"
msgstr "PURE"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:75
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:76
msgid "CampusOnline"
msgstr "CampusOnline"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:78
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:79
msgid "Research Data Management"
msgstr "Forschungsdatenmanagement"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:85
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:86
msgid "Accessibility"
msgstr "Barrierefreiheit"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:86
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:87
msgid "Tipp:"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:86
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:87
msgid "Use Ctrl + and Crtl -"
msgstr "Verwenden Sie Strg+ und Strg-"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:86
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:87
msgid "to change the font size."
msgstr "Um die Schriftgröße zu ändern."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:34
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:35
msgid "Home"
msgstr "Startseite"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:47
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:48
msgid "Uploads"
msgstr "Hochladen"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:27
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:24
msgid "Type and press enter to search"
msgstr "Suchbegriff eingeben und “Enter” drücken (?)"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:43
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:40
msgid "Recent uploads"
msgstr "Kürzlich hochgeladene Dateien"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:47
msgid "There are no public records to show."
msgstr "Es sind keine öffentlich zugänglichen Datensätze vorhanden."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:61
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/record_landing_page.html:33
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:52
msgid "Publication date"
msgstr "Datum der Veröffentlichung"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:66
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/record_landing_page.html:38
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:57
msgid "Version"
msgstr "Version"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:62
msgid "Resource type"
msgstr "Art der Veröffentlichung"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:99
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:91
#, python-format
msgid ""
"\n"
@@ -219,73 +217,73 @@ msgid ""
" "
msgstr "Hochgeladen am %(date)s\n"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:126
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:110
msgid "More"
msgstr "Mehr"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:136
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:119
msgid "Need help?"
msgstr "Brauchen Sie Hilfe?"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:140
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:123
msgid "Contact us"
msgstr "Kontaktiere uns"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:145
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:127
msgid "prioritizes all Recent uploads."
msgstr "Reiht die neuesten Uploads vor."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:148
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:130
msgid "We can help with:"
msgstr "Wir können helfen bei:"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:153
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:135
msgid "Uploading your research data, software, preprints, etc."
msgstr "Hochladen Ihrer Forschungsdaten, Software, Preprints usw."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:154
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:136
msgid "One-on-one with"
msgstr "Eins-zu-eins mit"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:154
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:136
msgid "supporters."
msgstr "Unterstützern"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:155
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:137
msgid "Quota increases beyond our default policy."
msgstr "Erhöhung Ihres Kontingents über das vertraglich Zugesicherte hinaus."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:156
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:138
msgid "Scripts for automated uploading of larger datasets."
msgstr "Skripte zum automatisierten Hochladen größerer Datensätze."
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:161
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:143
msgid "Why use"
msgstr "Warum"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:66
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:67
#, fuzzy
msgid "REPOSITORY"
msgstr "Repository"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:68
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:69
msgid "LIBRARY & ARCHIVES"
msgstr "Bibliothek und Archiv"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:78
msgid "SCIENCE"
msgstr "WISSEN"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:79
msgid "PASSION"
msgstr "TECHNIK"
msgid "SCIENCE"
msgstr "Wissenschaft"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:80
msgid "PASSION"
msgstr "Leidenschaft"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:81
msgid "TECHNOLOGY"
msgstr "LEIDENSCHAFT"
msgstr "Technik"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/header_login.html:8
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:61
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:60
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:81
msgid "Sign up"
msgstr "Registrierung"
@@ -298,16 +296,16 @@ msgstr "Einloggen"
msgid "Sign out"
msgstr "Ausloggen"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:23
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:24
msgid "Log in to Repository"
msgstr "Anmelden"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:30
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:32
#, python-format
msgid " Log in with %(type)s"
msgstr "Einloggen mit"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:35
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:36
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:55
msgid "Or"
msgstr "Oder"
@@ -316,12 +314,12 @@ msgstr "Oder"
msgid "Log In"
msgstr "Einloggen"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:60
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:59
#, python-format
msgid "New to %(sitename)s?"
msgstr "Neu im %(sitename)s?"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:70
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:69
msgid "Forgot password?"
msgstr "Passwort vergessen"
@@ -375,20 +373,3 @@ msgstr "RDM DOI Abzeichen"
msgid "DOI"
msgstr "DOI"
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/landingpage/detail.html:44
msgid "Open Access"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/landingpage/doi.html:37
msgid "No minted DOI"
msgstr ""
#~ msgid "Version"
#~ msgstr "Version"
#~ msgid ""
#~ "\n"
#~ " Uploaded on %(date)s\n"
#~ " "
#~ msgstr "Hochgeladen am %(date)s\n"

View File

@@ -7,9 +7,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: invenio-theme-tugraz 1.9.3\n"
"Project-Id-Version: invenio-theme-tugraz 1.3.1\n"
"Report-Msgid-Bugs-To: mojib.wali@tugraz.at\n"
"POT-Creation-Date: 2021-03-19 10:53+0100\n"
"POT-Creation-Date: 2021-01-04 14:18+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,21 +18,21 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
#: invenio_theme_tugraz/config.py:14 invenio_theme_tugraz/config.py:54
#: invenio_theme_tugraz/config.py:13 invenio_theme_tugraz/config.py:50
msgid "TU Graz Repository"
msgstr ""
#: invenio_theme_tugraz/config.py:57
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:30
#: invenio_theme_tugraz/config.py:53
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:31
msgid "Repository"
msgstr ""
#: invenio_theme_tugraz/config.py:80
#: invenio_theme_tugraz/config.py:76
msgid "German"
msgstr ""
#: 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/accounts/accounts_base.html:27
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/base.html:27
msgid "Invenio"
msgstr ""
@@ -102,105 +102,103 @@ msgstr ""
msgid "All uploads display standards compliant usage statistics"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:33
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:34
msgid "Impressum"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:37
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:38
msgid "Data protection"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:41
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:42
msgid "Feedback"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:50
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:51
msgid "Features"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:52
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:53
msgid "Scalability"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:54
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:55
msgid "Institutional integration"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:56
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:57
msgid "Next Generation Repository"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:59
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:60
msgid "Repository Profiles"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:61
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:62
msgid "Resilient"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:68
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:69
msgid "Connected Services"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:72
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:73
msgid "PURE"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:75
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:76
msgid "CampusOnline"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:78
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:79
msgid "Research Data Management"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:85
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:86
msgid "Accessibility"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:86
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:87
msgid "Tipp:"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:86
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:87
msgid "Use Ctrl + and Crtl -"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:86
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/footer.html:87
msgid "to change the font size."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:34
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:35
msgid "Home"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:47
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/header.html:48
msgid "Uploads"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:27
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:24
msgid "Type and press enter to search"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:43
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:40
msgid "Recent uploads"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:47
msgid "There are no public records to show."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:61
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/record_landing_page.html:33
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:52
msgid "Publication date"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:66
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/record_landing_page.html:38
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:57
msgid "Version"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:62
msgid "Resource type"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:99
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:91
#, python-format
msgid ""
"\n"
@@ -208,72 +206,72 @@ msgid ""
" "
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:126
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:110
msgid "More"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:136
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:119
msgid "Need help?"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:140
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:123
msgid "Contact us"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:145
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:127
msgid "prioritizes all Recent uploads."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:148
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:130
msgid "We can help with:"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:153
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:135
msgid "Uploading your research data, software, preprints, etc."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:154
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:136
msgid "One-on-one with"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:154
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:136
msgid "supporters."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:155
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:137
msgid "Quota increases beyond our default policy."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:156
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:138
msgid "Scripts for automated uploading of larger datasets."
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:161
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/index.html:143
msgid "Why use"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:66
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:67
msgid "REPOSITORY"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:68
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:69
msgid "LIBRARY & ARCHIVES"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:78
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:79
msgid "SCIENCE"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:79
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:80
msgid "PASSION"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:80
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/navbar.html:81
msgid "TECHNOLOGY"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/header_login.html:8
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:61
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:60
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:81
msgid "Sign up"
msgstr ""
@@ -286,16 +284,16 @@ msgstr ""
msgid "Sign out"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:23
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:24
msgid "Log in to Repository"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:30
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:32
#, python-format
msgid " Log in with %(type)s"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:35
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:36
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/register_user.html:55
msgid "Or"
msgstr ""
@@ -304,12 +302,12 @@ msgstr ""
msgid "Log In"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:60
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:59
#, python-format
msgid "New to %(sitename)s?"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:70
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/accounts/login_user.html:69
msgid "Forgot password?"
msgstr ""
@@ -359,11 +357,3 @@ msgstr ""
msgid "DOI"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/landingpage/detail.html:44
msgid "Open Access"
msgstr ""
#: invenio_theme_tugraz/templates/invenio_theme_tugraz/landingpage/doi.html:37
msgid "No minted DOI"
msgstr ""

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 mojib wali.
#
# 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
@@ -12,4 +12,4 @@ This file is imported by ``invenio_theme_tugraz.__init__``,
and parsed by ``setup.py``.
"""
__version__ = "2.0.1"
__version__ = "1.3.2stab"

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 mojib wali.
#
# 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
@@ -8,38 +8,13 @@
"""invenio module for TUGRAZ theme."""
import binascii
from os import environ
from typing import Dict
import requests
from elasticsearch_dsl.utils import AttrDict
from flask import Blueprint, current_app, g, render_template, request
from flask_login import login_required
from flask_menu import current_menu
from invenio_app_rdm.records_ui.views.decorators import (
pass_draft,
pass_record,
pass_record_files,
service,
)
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
from flask import Blueprint, render_template
from .search import FrontpageRecordsSearch
def ui_blueprint(app):
"""Blueprint for the routes and resources provided by Invenio-theme-tugraz."""
routes = app.config.get("TUG_ROUTES")
blueprint = Blueprint(
"invenio_theme_tugraz",
__name__,
@@ -47,11 +22,15 @@ def ui_blueprint(app):
static_folder="static",
)
blueprint.add_url_rule(routes["index"], view_func=index)
blueprint.add_url_rule(routes["comingsoon"], view_func=comingsoon)
blueprint.add_url_rule(routes["deposit_create"], view_func=deposit_create)
blueprint.add_url_rule(routes["record_detail"], view_func=record_detail)
blueprint.add_url_rule(routes["getdoi"], view_func=retrieve_doi, methods=["POST"])
@blueprint.route("/")
def index():
"""Render frontpage view."""
return render_template(
"invenio_theme_tugraz/index.html",
records=FrontpageRecordsSearch()[:5].sort("-created").execute(),
)
@blueprint.app_template_filter("make_dict_like")
def make_dict_like(value: str, key: str) -> Dict[str, str]:
@@ -61,122 +40,8 @@ def ui_blueprint(app):
"""
return {key: value}
@blueprint.app_template_filter("cast_to_dict")
def cast_to_dict(attr_dict):
"""Return the dict structure of AttrDict variable."""
return AttrDict.to_dict(attr_dict)
return blueprint
def index():
"""Frontpage."""
return render_template(
"invenio_theme_tugraz/index.html",
records=FrontpageRecordsSearch()[:5].sort("-created").execute(),
)
def comingsoon():
"""Comingsoon."""
return render_template("invenio_theme_tugraz/comingsoon.html")
def get_datacite_details():
"""Application credentials for DOI."""
prefix = environ.get("INVENIO_DATACITE_PREFIX")
suffix = environ.get("INVENIO_DATACITE_SUFFIX")
details = {
"datacite_prefix": prefix,
"datacite_suffix": suffix,
}
return details
@login_required
def retrieve_doi():
"""Retrieve DOI from datacite API."""
doi_metadata = request.get_json()
url = environ.get("INVENIO_DATACITE_URL")
username = environ.get("INVENIO_DATACITE_UNAME")
password = environ.get("INVENIO_DATACITE_PASS")
doi_response = requests.post(
url,
auth=(username, password),
json=doi_metadata,
)
response_data = {"code": doi_response.status_code}
try:
doi_response.raise_for_status()
response_data["data"] = doi_response.json()
except requests.exceptions.RequestException:
response_data["errors"] = doi_response.json()["errors"]
return response_data, response_data["code"]
#
# TODO: change this override behaviour once
# PR is merged:
# https://github.com/inveniosoftware/invenio-app-rdm/pull/638
#
@login_required
def deposit_create():
"""Create a new deposit."""
forms_config = get_form_config(createUrl=("/api/records"))
forms_config["data_cite"] = get_datacite_details()
return render_template(
"invenio_theme_tugraz/deposit/deposit.html",
forms_config=forms_config,
searchbar_config=dict(searchUrl=get_search_url()),
record=new_record(),
files=dict(default_preview=None, enabled=True, entries=[], links={}),
)
@login_required
@pass_draft
def deposit_edit(draft=None, pid_value=None):
"""Edit an existing deposit."""
files_list = current_rdm_records.draft_files_service.list_files(
id_=pid_value,
identity=g.identity,
links_config=RDMDraftFilesResourceConfig.links_config,
)
serializer = UIJSONSerializer()
record = serializer.serialize_object_to_dict(draft.to_dict())
forms_config = get_form_config(apiUrl=f"/api/records/{pid_value}/draft")
forms_config["data_cite"] = get_datacite_details()
return render_template(
"invenio_theme_tugraz/deposit/deposit.html",
forms_config=forms_config,
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
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(
"invenio_theme_tugraz/landingpage/detail.html",
record=UIJSONSerializer().serialize_object_to_dict(record.to_dict()),
pid=pid_value,
files=files_dict,
permissions=record.has_permissions_to(['edit', 'new_version']),
)

View File

@@ -17,32 +17,8 @@ theme = WebpackThemeBundle(
entry={
"invenio-theme-tugraz-theme": "./less/invenio_theme_tugraz/theme.less",
"invenio-theme-tugraz-js": "./js/invenio_theme_tugraz/theme.js",
"invenio-theme-tugraz-search-app": "./js/invenio_theme_tugraz/search/index.js",
# overrides RDM deposit form
'invenio-theme-tugraz-rdm-deposit': './js/invenio_theme_tugraz/deposit/index.js',
},
dependencies={
# required for RDM deposit form
# keep in sync
"@babel/runtime": "^7.9.0",
'formik': '^2.1.4',
'luxon': '^1.23.0',
'path': '^0.12.7',
'prop-types': '^15.7.2',
'react-dnd': '^11.1.3',
'react-dnd-html5-backend': '^11.1.3',
'react-invenio-deposit': '^0.12.0',
'react-invenio-forms': '^0.6.3',
'react-dropzone': "^11.0.3",
'yup': '^0.27.0',
'@ckeditor/ckeditor5-build-classic': '^16.0.0',
'@ckeditor/ckeditor5-react': '^2.1.0',
# datacite - rest api plugin
'datacite-rest': '^0.1.7',
},
dependencies={},
)
},
)

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 mojib wali.
#
# 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

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 mojib wali.
#
# 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

View File

@@ -3,7 +3,7 @@
#
# Copyright (C) 2019-2020 CERN.
# Copyright (C) 2019-2020 Northwestern University.
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 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

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 mojib wali.
#
# 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

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 mojib wali.
#
# 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
@@ -17,33 +17,28 @@ history = open("CHANGES.rst").read()
tests_require = [
"pytest-invenio>=1.4.0",
"invenio-app>=1.3.0,<2.0.0",
'invenio-app>=1.3.0,<2.0.0',
"psycopg2-binary>=2.8.6",
]
# 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}"],
"mysql": [f"invenio-db[mysql,versioning]{invenio_db_version}"],
"postgresql": [f"invenio-db[postgresql,versioning]{invenio_db_version}"],
"sqlite": [f"invenio-db[versioning]{invenio_db_version}"],
"docs": [
"Sphinx>=3",
],
"mysql": [
"invenio-db[mysql]>=1.0.0",
],
"postgresql": [
"invenio-db[postgresql]>=1.0.0",
],
"sqlite": [
"invenio-db>=1.0.0",
],
"tests": tests_require,
}
extras_require["all"] = []
for name, reqs in extras_require.items():
if name[0] == ":" or name in (
"elasticsearch7",
"mysql",
"postgresql",
"sqlite",
):
continue
for reqs in extras_require.values():
extras_require["all"].extend(reqs)
setup_requires = [
@@ -57,10 +52,7 @@ install_requires = [
"invenio-assets>=1.2.0",
"invenio-i18n>=1.2.0",
"elasticsearch_dsl>=7.2.1",
"invenio_search>=1.4.0,<2.0.0",
"invenio_config_tugraz>=0.5.1",
# keep this package updated.
"invenio_app_rdm==2.0.1",
"invenio_search>=1.3.1",
]
packages = find_packages()
@@ -91,7 +83,7 @@ setup(
"invenio_theme_tugraz = invenio_theme_tugraz:InvenioThemeTugraz",
],
"invenio_base.blueprints": [
"invenio_theme_tugraz = invenio_theme_tugraz.views:ui_blueprint",
"invenio_theme_tugraz = invenio_theme_tugraz.views:blueprint",
],
"invenio_i18n.translations": [
"messages = invenio_theme_tugraz",

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 mojib wali.
#
# 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

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 mojib wali.
#
# 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

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2021 Graz University of Technology.
# Copyright (C) 2020 mojib wali.
#
# 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

View File

@@ -1,33 +1,33 @@
# # -*- coding: utf-8 -*-
# #
# # Copyright (C) 2020-2021 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.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020 mojib wali.
#
# 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.
# """Test views."""
"""Test views."""
# from elasticsearch_dsl.utils import AttrDict
from elasticsearch_dsl.utils import AttrDict
# from invenio_theme_tugraz.views import cast_to_dict, make_dict_like
from invenio_theme_tugraz.views import cast_to_dict, make_dict_like
# def test_make_dict_like():
# """Test make_dict_like."""
# access = {
# "access_right" : "open"
# }
# dicts = make_dict_like("open", "access_right")
# assert access == dicts
def test_make_dict_like():
"""Test make_dict_like."""
access = {
"access_right" : "open"
}
dicts = make_dict_like("open", "access_right")
assert access == dicts
# def test_cast_to_dict():
# """Test cast_to_dict."""
# resource_type = {
# "subtype" : "publication-datamanagementplan",
# "type" : "publication"
# }
# expected = {'subtype': 'publication-datamanagementplan', 'type': 'publication'}
# attr = cast_to_dict(AttrDict(resource_type))
# assert expected == attr
def test_cast_to_dict():
"""Test cast_to_dict."""
resource_type = {
"subtype" : "publication-datamanagementplan",
"type" : "publication"
}
expected = {'subtype': 'publication-datamanagementplan', 'type': 'publication'}
attr = cast_to_dict(AttrDict(resource_type))
assert expected == attr