mirror of
https://github.com/Cian-H/invenio-config-iform.git
synced 2025-12-22 13:11:56 +00:00
Changed names for new fork
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2020 Mojib Wali.
|
# Copyright (C) 2020 Mojib Wali.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
|
|||||||
2
.github/workflows/pypi-publish.yml
vendored
2
.github/workflows/pypi-publish.yml
vendored
@@ -5,5 +5,5 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-n-publish:
|
build-n-publish:
|
||||||
uses: tu-graz-library/.github/.github/workflows/pypi-publish.yml@main
|
uses: Cian-H/.github/.github/workflows/pypi-publish.yml@main
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|||||||
8
.github/workflows/tests.yml
vendored
8
.github/workflows/tests.yml
vendored
@@ -7,14 +7,14 @@ on:
|
|||||||
branches: master
|
branches: master
|
||||||
schedule:
|
schedule:
|
||||||
# * is a special character in YAML so you have to quote this string
|
# * is a special character in YAML so you have to quote this string
|
||||||
- cron: '0 3 * * 6'
|
- cron: "0 3 * * 6"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
reason:
|
reason:
|
||||||
description: 'Reason'
|
description: "Reason"
|
||||||
required: false
|
required: false
|
||||||
default: 'Manual trigger'
|
default: "Manual trigger"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
tests:
|
tests:
|
||||||
uses: tu-graz-library/.github/.github/workflows/tests.yml@main
|
uses: Cian-H/.github/.github/workflows/tests.yml@main
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
..
|
..
|
||||||
Copyright (C) 2020 Mojib Wali.
|
Copyright (C) 2020 Mojib Wali.
|
||||||
|
|
||||||
invenio-config-tugraz is free software; you can redistribute it and/or
|
invenio-config-iform is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the MIT License; see LICENSE file for more
|
modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
details.
|
details.
|
||||||
|
|
||||||
Authors
|
Authors
|
||||||
=======
|
=======
|
||||||
|
|
||||||
invenio module that adds tugraz configs.
|
invenio module that adds I-Form configs.
|
||||||
|
|
||||||
- Mojib Wali <mojib.wali@tugraz.at>
|
- Cian Hughes <cian.hughes@dcu.ie>
|
||||||
|
|
||||||
|
Forked from https://github.com/tu-graz-library/invenio-theme-tugraz
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
..
|
..
|
||||||
Copyright (C) 2020 - 2022 Graz University of Technology.
|
Copyright (C) 2020 - 2022 Graz University of Technology.
|
||||||
|
|
||||||
invenio-config-tugraz is free software; you can redistribute it and/or
|
invenio-config-iform is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the MIT License; see LICENSE file for more
|
modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
details.
|
details.
|
||||||
|
|
||||||
@@ -15,7 +15,7 @@ Version v0.12.5 (release 2024-07-29)
|
|||||||
|
|
||||||
Version v0.12.3 (release 2024-07-25)
|
Version v0.12.3 (release 2024-07-25)
|
||||||
|
|
||||||
- fix(tugraz_authenticated): missmatch of role name
|
- fix(iform_authenticated): missmatch of role name
|
||||||
|
|
||||||
|
|
||||||
Version v0.12.2 (release 2024-07-19)
|
Version v0.12.2 (release 2024-07-19)
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Types of Contributions
|
|||||||
Report Bugs
|
Report Bugs
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
Report bugs at https://github.com/tu-graz-library/invenio-config-tugraz/issues.
|
Report bugs at https://github.com/Cian-H/invenio-config-iform/issues.
|
||||||
|
|
||||||
If you are reporting a bug, please include:
|
If you are reporting a bug, please include:
|
||||||
|
|
||||||
@@ -33,15 +33,15 @@ is open to whoever wants to implement it.
|
|||||||
Write Documentation
|
Write Documentation
|
||||||
~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
invenio-config-tugraz could always use more documentation, whether as part of the
|
invenio-config-iform could always use more documentation, whether as part of the
|
||||||
official invenio-config-tugraz docs, in docstrings, or even on the web in blog posts,
|
official invenio-config-iform docs, in docstrings, or even on the web in blog posts,
|
||||||
articles, and such.
|
articles, and such.
|
||||||
|
|
||||||
Submit Feedback
|
Submit Feedback
|
||||||
~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
The best way to send feedback is to file an issue at
|
The best way to send feedback is to file an issue at
|
||||||
https://github.com/tu-graz-library/invenio-config-tugraz/issues.
|
https://github.com/Cian-H/invenio-config-iform/issues.
|
||||||
|
|
||||||
If you are proposing a feature:
|
If you are proposing a feature:
|
||||||
|
|
||||||
@@ -53,14 +53,14 @@ If you are proposing a feature:
|
|||||||
Get Started!
|
Get Started!
|
||||||
------------
|
------------
|
||||||
|
|
||||||
Ready to contribute? Here's how to set up `invenio-config-tugraz` for local development.
|
Ready to contribute? Here's how to set up `invenio-config-iform` for local development.
|
||||||
|
|
||||||
1. Fork the `https://github.com/https://github.com/mb-` repo on GitHub.
|
1. Fork the `https://github.com/https://github.com/mb-` repo on GitHub.
|
||||||
2. Clone your fork locally:
|
2. Clone your fork locally:
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
$ git clone git@github.com:your_name_here/invenio-config-tugraz.git
|
$ git clone git@github.com:your_name_here/invenio-config-iform.git
|
||||||
|
|
||||||
3. Install your local copy into a virtualenv. Assuming you have
|
3. Install your local copy into a virtualenv. Assuming you have
|
||||||
virtualenvwrapper installed, this is how you set up your fork for local
|
virtualenvwrapper installed, this is how you set up your fork for local
|
||||||
@@ -68,8 +68,8 @@ Ready to contribute? Here's how to set up `invenio-config-tugraz` for local deve
|
|||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
$ mkvirtualenv invenio-config-tugraz
|
$ mkvirtualenv invenio-config-iform
|
||||||
$ cd invenio-config-tugraz/
|
$ cd invenio-config-iform/
|
||||||
$ pip install -e .[all]
|
$ pip install -e .[all]
|
||||||
|
|
||||||
4. Create a branch for local development:
|
4. Create a branch for local development:
|
||||||
@@ -114,5 +114,5 @@ Before you submit a pull request, check that it meets these guidelines:
|
|||||||
2. If the pull request adds functionality, the docs should be updated. Put
|
2. If the pull request adds functionality, the docs should be updated. Put
|
||||||
your new functionality into a function with a docstring.
|
your new functionality into a function with a docstring.
|
||||||
3. The pull request should work for Python 3.6 and 3.7. Check
|
3. The pull request should work for Python 3.6 and 3.7. Check
|
||||||
https://github.com/github/tu-graz-library/invenio-config-tugraz//actions?query=event%3Apull_request
|
https://github.com/github/Cian-H/invenio-config-iform//actions?query=event%3Apull_request
|
||||||
and make sure that the tests pass for all supported Python versions.
|
and make sure that the tests pass for all supported Python versions.
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
Installation
|
Installation
|
||||||
============
|
============
|
||||||
|
|
||||||
invenio-config-tugraz is on PyPI so all you need is:
|
invenio-config-iform is on PyPI so all you need is:
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
$ pip install invenio-config-tugraz
|
$ pip install invenio-config-iform
|
||||||
|
|||||||
22
MANIFEST.in
22
MANIFEST.in
@@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2020 Mojib Wali.
|
# Copyright (C) 2020 Mojib Wali.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ include .dockerignore
|
|||||||
include .editorconfig
|
include .editorconfig
|
||||||
include .tx/config
|
include .tx/config
|
||||||
prune docs/_build
|
prune docs/_build
|
||||||
recursive-include invenio_config_tugraz/translations *.po *.pot *.mo
|
recursive-include invenio_config_iform/translations *.po *.pot *.mo
|
||||||
|
|
||||||
# added by check_manifest.py
|
# added by check_manifest.py
|
||||||
include *.md
|
include *.md
|
||||||
@@ -38,18 +38,18 @@ recursive-include tests *.py
|
|||||||
|
|
||||||
|
|
||||||
# added by check_manifest.py
|
# added by check_manifest.py
|
||||||
recursive-include invenio_config_tugraz *.crt
|
recursive-include invenio_config_iform *.crt
|
||||||
recursive-include invenio_config_tugraz *.json
|
recursive-include invenio_config_iform *.json
|
||||||
recursive-include invenio_config_tugraz *.key
|
recursive-include invenio_config_iform *.key
|
||||||
recursive-include invenio_config_tugraz *.xml
|
recursive-include invenio_config_iform *.xml
|
||||||
recursive-include invenio_config_tugraz *.gitkeep
|
recursive-include invenio_config_iform *.gitkeep
|
||||||
recursive-include invenio_config_tugraz *.txt
|
recursive-include invenio_config_iform *.txt
|
||||||
recursive-include invenio_config_tugraz *.html
|
recursive-include invenio_config_iform *.html
|
||||||
|
|
||||||
|
|
||||||
# added by check-manifest
|
# added by check-manifest
|
||||||
recursive-include invenio_config_tugraz *.csv
|
recursive-include invenio_config_iform *.csv
|
||||||
|
|
||||||
# added by check-manifest
|
# added by check-manifest
|
||||||
recursive-include invenio_config_tugraz *.pdf
|
recursive-include invenio_config_iform *.pdf
|
||||||
include .git-blame-ignore-revs
|
include .git-blame-ignore-revs
|
||||||
|
|||||||
32
README.rst
32
README.rst
@@ -1,36 +1,36 @@
|
|||||||
..
|
..
|
||||||
Copyright (C) 2020-2021 Graz University of Technology.
|
Copyright (C) 2020-2021 Graz University of Technology.
|
||||||
|
|
||||||
invenio-config-tugraz is free software; you can redistribute it and/or
|
invenio-config-iform is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the MIT License; see LICENSE file for more
|
modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
details.
|
details.
|
||||||
|
|
||||||
=======================
|
=======================
|
||||||
invenio-config-tugraz
|
invenio-config-iform
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
.. image:: https://github.com/tu-graz-library/invenio-config-tugraz/workflows/CI/badge.svg
|
.. image:: https://github.com/Cian-H/invenio-config-iform/workflows/CI/badge.svg
|
||||||
:target: https://github.com/tu-graz-library/invenio-config-tugraz/actions
|
:target: https://github.com/Cian-H/invenio-config-iform/actions
|
||||||
|
|
||||||
.. image:: https://img.shields.io/pypi/dm/invenio-config-tugraz.svg
|
.. image:: https://img.shields.io/pypi/dm/invenio-config-iform.svg
|
||||||
:target: https://pypi.python.org/pypi/invenio-config-tugraz
|
:target: https://pypi.python.org/pypi/invenio-config-iform
|
||||||
|
|
||||||
.. image:: https://img.shields.io/github/tag/tu-graz-library/invenio-config-tugraz.svg
|
.. image:: https://img.shields.io/github/tag/Cian-H/invenio-config-iform.svg
|
||||||
:target: https://github.com/tu-graz-library/invenio-config-tugraz/releases
|
:target: https://github.com/Cian-H/invenio-config-iform/releases
|
||||||
|
|
||||||
.. image:: https://img.shields.io/github/license/tu-graz-library/invenio-config-tugraz.svg
|
.. image:: https://img.shields.io/github/license/Cian-H/invenio-config-iform.svg
|
||||||
:target: https://github.com/tu-graz-library/invenio-config-tugraz/blob/master/LICENSE
|
:target: https://github.com/Cian-H/invenio-config-iform/blob/master/LICENSE
|
||||||
|
|
||||||
.. image:: https://readthedocs.org/projects/invenio-config-tugraz/badge/?version=latest
|
.. image:: https://readthedocs.org/projects/invenio-config-iform/badge/?version=latest
|
||||||
:target: https://invenio-config-tugraz.readthedocs.io/en/latest/?badge=latest
|
:target: https://invenio-config-iform.readthedocs.io/en/latest/?badge=latest
|
||||||
|
|
||||||
.. image:: https://img.shields.io/coveralls/mb-wali/invenio-config-tugraz.svg
|
.. image:: https://img.shields.io/coveralls/mb-wali/invenio-config-iform.svg
|
||||||
:target: https://coveralls.io/r/mb-wali/invenio-config-tugraz
|
:target: https://coveralls.io/r/mb-wali/invenio-config-iform
|
||||||
|
|
||||||
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
|
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
|
||||||
:target: https://github.com/psf/black
|
:target: https://github.com/psf/black
|
||||||
|
|
||||||
invenio module that adds tugraz configs.
|
invenio module that adds I-Form configs.
|
||||||
|
|
||||||
Override configs from diffrent invenio modules to meet TU Graz requirement:
|
Override configs from diffrent invenio modules to meet TU Graz requirement:
|
||||||
|
|
||||||
@@ -42,4 +42,4 @@ Override configs from diffrent invenio modules to meet TU Graz requirement:
|
|||||||
* Defined routes for TUG
|
* Defined routes for TUG
|
||||||
|
|
||||||
Further documentation is available on
|
Further documentation is available on
|
||||||
https://invenio-config-tugraz.readthedocs.io/
|
https://invenio-config-iform.readthedocs.io/
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2020 Mojib Wali.
|
# Copyright (C) 2020 Mojib Wali.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
|
|||||||
@@ -87,9 +87,9 @@ qthelp:
|
|||||||
@echo
|
@echo
|
||||||
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
||||||
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
||||||
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/invenio-config-tugraz.qhcp"
|
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/invenio-config-iform.qhcp"
|
||||||
@echo "To view the help file:"
|
@echo "To view the help file:"
|
||||||
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/invenio-config-tugraz.qhc"
|
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/invenio-config-iform.qhc"
|
||||||
|
|
||||||
applehelp:
|
applehelp:
|
||||||
$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
|
$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
|
||||||
@@ -104,8 +104,8 @@ devhelp:
|
|||||||
@echo
|
@echo
|
||||||
@echo "Build finished."
|
@echo "Build finished."
|
||||||
@echo "To view the help file:"
|
@echo "To view the help file:"
|
||||||
@echo "# mkdir -p $$HOME/.local/share/devhelp/invenio-config-tugraz"
|
@echo "# mkdir -p $$HOME/.local/share/devhelp/invenio-config-iform"
|
||||||
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/invenio-config-tugraz"
|
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/invenio-config-iform"
|
||||||
@echo "# devhelp"
|
@echo "# devhelp"
|
||||||
|
|
||||||
epub:
|
epub:
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
..
|
..
|
||||||
Copyright (C) 2020 Mojib Wali.
|
Copyright (C) 2020 Mojib Wali.
|
||||||
|
|
||||||
invenio-config-tugraz is free software; you can redistribute it and/or
|
invenio-config-iform is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the MIT License; see LICENSE file for more
|
modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
details.
|
details.
|
||||||
|
|
||||||
@@ -9,5 +9,5 @@
|
|||||||
API Docs
|
API Docs
|
||||||
========
|
========
|
||||||
|
|
||||||
.. automodule:: invenio_config_tugraz.ext
|
.. automodule:: invenio_config_iform.ext
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
..
|
..
|
||||||
Copyright (C) 2020 Mojib Wali.
|
Copyright (C) 2020 Mojib Wali.
|
||||||
|
|
||||||
invenio-config-tugraz is free software; you can redistribute it and/or
|
invenio-config-iform is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the MIT License; see LICENSE file for more
|
modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
details.
|
details.
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
..
|
..
|
||||||
Copyright (C) 2020 Mojib Wali.
|
Copyright (C) 2020 Mojib Wali.
|
||||||
|
|
||||||
invenio-config-tugraz is free software; you can redistribute it and/or
|
invenio-config-iform is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the MIT License; see LICENSE file for more
|
modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
details.
|
details.
|
||||||
|
|
||||||
|
|||||||
32
docs/conf.py
32
docs/conf.py
@@ -2,13 +2,13 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2020 Mojib Wali.
|
# Copyright (C) 2020 Mojib Wali.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
"""Sphinx configuration."""
|
"""Sphinx configuration."""
|
||||||
|
|
||||||
from invenio_config_tugraz import __version__
|
from invenio_config_iform import __version__
|
||||||
|
|
||||||
# import sphinx.environment
|
# import sphinx.environment
|
||||||
|
|
||||||
@@ -46,7 +46,7 @@ source_suffix = ".rst"
|
|||||||
master_doc = "index"
|
master_doc = "index"
|
||||||
|
|
||||||
# General information about the project.
|
# General information about the project.
|
||||||
project = "invenio-config-tugraz"
|
project = "invenio-config-iform"
|
||||||
copyright = "2022, TU Graz"
|
copyright = "2022, TU Graz"
|
||||||
author = "TU Graz"
|
author = "TU Graz"
|
||||||
|
|
||||||
@@ -108,15 +108,15 @@ todo_include_todos = False
|
|||||||
html_theme = "alabaster"
|
html_theme = "alabaster"
|
||||||
|
|
||||||
html_theme_options = {
|
html_theme_options = {
|
||||||
"description": "invenio module that adds tugraz configs.",
|
"description": "invenio module that adds iform configs.",
|
||||||
"github_user": "TU Graz",
|
"github_user": "TU Graz",
|
||||||
"github_repo": "invenio-config-tugraz",
|
"github_repo": "invenio-config-iform",
|
||||||
"github_button": False,
|
"github_button": False,
|
||||||
"github_banner": True,
|
"github_banner": True,
|
||||||
"show_powered_by": False,
|
"show_powered_by": False,
|
||||||
"extra_nav_links": {
|
"extra_nav_links": {
|
||||||
"invenio-config-tugraz@GitHub": "https://github.com/tu-graz-library/invenio-config-tugraz",
|
"invenio-config-iform@Github": "https://github.com/Cian-H/invenio-config-iform",
|
||||||
"invenio-config-tugraz@PyPI": "https://pypi.python.org/pypi/invenio-config-tugraz/",
|
"invenio-config-iform@PyPI": "https://pypi.python.org/pypi/invenio-config-iform/",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -221,7 +221,7 @@ html_sidebars = {
|
|||||||
# html_search_scorer = 'scorer.js'
|
# html_search_scorer = 'scorer.js'
|
||||||
|
|
||||||
# Output file base name for HTML help builder.
|
# Output file base name for HTML help builder.
|
||||||
htmlhelp_basename = "invenio-config-tugraz_namedoc"
|
htmlhelp_basename = "invenio-config-iform_namedoc"
|
||||||
|
|
||||||
# -- Options for LaTeX output ---------------------------------------------
|
# -- Options for LaTeX output ---------------------------------------------
|
||||||
|
|
||||||
@@ -242,8 +242,8 @@ latex_elements = {
|
|||||||
latex_documents = [
|
latex_documents = [
|
||||||
(
|
(
|
||||||
master_doc,
|
master_doc,
|
||||||
"invenio-config-tugraz.tex",
|
"invenio-config-iform.tex",
|
||||||
"invenio-config-tugraz Documentation",
|
"invenio-config-iform Documentation",
|
||||||
"Mojib Wali",
|
"Mojib Wali",
|
||||||
"manual",
|
"manual",
|
||||||
),
|
),
|
||||||
@@ -277,8 +277,8 @@ latex_documents = [
|
|||||||
man_pages = [
|
man_pages = [
|
||||||
(
|
(
|
||||||
master_doc,
|
master_doc,
|
||||||
"invenio-config-tugraz",
|
"invenio-config-iform",
|
||||||
"invenio-config-tugraz Documentation",
|
"invenio-config-iform Documentation",
|
||||||
[author],
|
[author],
|
||||||
1,
|
1,
|
||||||
)
|
)
|
||||||
@@ -296,11 +296,11 @@ man_pages = [
|
|||||||
texinfo_documents = [
|
texinfo_documents = [
|
||||||
(
|
(
|
||||||
master_doc,
|
master_doc,
|
||||||
"invenio-config-tugraz",
|
"invenio-config-iform",
|
||||||
"invenio-config-tugraz Documentation",
|
"invenio-config-iform Documentation",
|
||||||
author,
|
author,
|
||||||
"invenio-config-tugraz",
|
"invenio-config-iform",
|
||||||
"invenio module that adds tugraz configs.",
|
"invenio module that adds iform configs.",
|
||||||
"Miscellaneous",
|
"Miscellaneous",
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
..
|
..
|
||||||
Copyright (C) 2020 Mojib Wali.
|
Copyright (C) 2020 Mojib Wali.
|
||||||
|
|
||||||
invenio-config-tugraz is free software; you can redistribute it and/or
|
invenio-config-iform is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the MIT License; see LICENSE file for more
|
modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
details.
|
details.
|
||||||
|
|
||||||
@@ -9,5 +9,5 @@
|
|||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
|
|
||||||
.. automodule:: invenio_config_tugraz.config
|
.. automodule:: invenio_config_iform.config
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
..
|
..
|
||||||
Copyright (C) 2020 Mojib Wali.
|
Copyright (C) 2020 Mojib Wali.
|
||||||
|
|
||||||
invenio-config-tugraz is free software; you can redistribute it and/or
|
invenio-config-iform is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the MIT License; see LICENSE file for more
|
modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
details.
|
details.
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
..
|
..
|
||||||
Copyright (C) 2020 Mojib Wali.
|
Copyright (C) 2020 Mojib Wali.
|
||||||
|
|
||||||
invenio-config-tugraz is free software; you can redistribute it and/or
|
invenio-config-iform is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the MIT License; see LICENSE file for more
|
modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
details.
|
details.
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ User's Guide
|
|||||||
------------
|
------------
|
||||||
|
|
||||||
This part of the documentation will show you how to get started in using
|
This part of the documentation will show you how to get started in using
|
||||||
invenio-config-tugraz.
|
invenio-config-iform.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
..
|
..
|
||||||
Copyright (C) 2020 Mojib Wali.
|
Copyright (C) 2020 Mojib Wali.
|
||||||
|
|
||||||
invenio-config-tugraz is free software; you can redistribute it and/or
|
invenio-config-iform is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the MIT License; see LICENSE file for more
|
modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
details.
|
details.
|
||||||
|
|
||||||
|
|||||||
@@ -127,9 +127,9 @@ if "%1" == "qthelp" (
|
|||||||
echo.
|
echo.
|
||||||
echo.Build finished; now you can run "qcollectiongenerator" with the ^
|
echo.Build finished; now you can run "qcollectiongenerator" with the ^
|
||||||
.qhcp project file in %BUILDDIR%/qthelp, like this:
|
.qhcp project file in %BUILDDIR%/qthelp, like this:
|
||||||
echo.^> qcollectiongenerator %BUILDDIR%\qthelp\invenio-config-tugraz.qhcp
|
echo.^> qcollectiongenerator %BUILDDIR%\qthelp\invenio-config-iform.qhcp
|
||||||
echo.To view the help file:
|
echo.To view the help file:
|
||||||
echo.^> assistant -collectionFile %BUILDDIR%\qthelp\invenio-config-tugraz.ghc
|
echo.^> assistant -collectionFile %BUILDDIR%\qthelp\invenio-config-iform.ghc
|
||||||
goto end
|
goto end
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
..
|
..
|
||||||
Copyright (C) 2020 Mojib Wali.
|
Copyright (C) 2020 Mojib Wali.
|
||||||
|
|
||||||
invenio-config-tugraz is free software; you can redistribute it and/or
|
invenio-config-iform is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the MIT License; see LICENSE file for more
|
modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
details.
|
details.
|
||||||
|
|
||||||
@@ -9,4 +9,4 @@
|
|||||||
Usage
|
Usage
|
||||||
=====
|
=====
|
||||||
|
|
||||||
.. automodule:: invenio_config_tugraz
|
.. automodule:: invenio_config_iform
|
||||||
|
|||||||
@@ -2,19 +2,19 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2020-2024 Graz University of Technology.
|
# Copyright (C) 2020-2024 Graz University of Technology.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
"""invenio module that adds tugraz configs."""
|
"""invenio module that adds I-Form configs."""
|
||||||
|
|
||||||
from .ext import InvenioConfigTugraz
|
from .ext import InvenioConfigIform
|
||||||
from .utils import get_identity_from_user_by_email
|
from .utils import get_identity_from_user_by_email
|
||||||
|
|
||||||
__version__ = "0.12.5"
|
__version__ = "0.12.5"
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
|
"InvenioConfigIform",
|
||||||
"__version__",
|
"__version__",
|
||||||
"InvenioConfigTugraz",
|
|
||||||
"get_identity_from_user_by_email",
|
"get_identity_from_user_by_email",
|
||||||
)
|
)
|
||||||
@@ -2,36 +2,36 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2020-2024 Graz University of Technology.
|
# Copyright (C) 2020-2024 Graz University of Technology.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
"""invenio module that adds tugraz configs."""
|
"""invenio module that adds I-Form configs."""
|
||||||
|
|
||||||
from invenio_i18n import gettext as _
|
from invenio_i18n import gettext as _
|
||||||
|
|
||||||
CONFIG_TUGRAZ_SHIBBOLETH = False
|
CONFIG_IFORM_SHIBBOLETH = False
|
||||||
"""Set True if SAML is configured"""
|
"""Set True if SAML is configured"""
|
||||||
|
|
||||||
CONFIG_TUGRAZ_SINGLE_IPS = []
|
CONFIG_IFORM_SINGLE_IPS = []
|
||||||
"""Allows access to users whose IP address is listed.
|
"""Allows access to users whose IP address is listed.
|
||||||
|
|
||||||
INVENIO_CONFIG_TUGRAZ_SINGLE_IPS =
|
INVENIO_CONFIG_IFORM_SINGLE_IPS =
|
||||||
["127.0.0.1", "127.0.0.2"]
|
["127.0.0.1", "127.0.0.2"]
|
||||||
"""
|
"""
|
||||||
|
|
||||||
CONFIG_TUGRAZ_IP_RANGES = []
|
CONFIG_IFORM_IP_RANGES = []
|
||||||
"""Allows access to users whose range of IP address is listed.
|
"""Allows access to users whose range of IP address is listed.
|
||||||
|
|
||||||
INVENIO_CONFIG_TUGRAZ_IP_RANGES =
|
INVENIO_CONFIG_IFORM_IP_RANGES =
|
||||||
[["127.0.0.2", "127.0.0.99"], ["127.0.1.3", "127.0.1.5"]]
|
[["127.0.0.2", "127.0.0.99"], ["127.0.1.3", "127.0.1.5"]]
|
||||||
"""
|
"""
|
||||||
|
|
||||||
CONFIG_TUGRAZ_IP_NETWORK = ""
|
CONFIG_IFORM_IP_NETWORK = ""
|
||||||
"""Allows access to users who are in the IP network."""
|
"""Allows access to users who are in the IP network."""
|
||||||
|
|
||||||
|
|
||||||
CONFIG_TUGRAZ_ROUTES = {
|
CONFIG_IFORM_ROUTES = {
|
||||||
"guide": "/guide",
|
"guide": "/guide",
|
||||||
"terms": "/terms",
|
"terms": "/terms",
|
||||||
"gdpr": "/gdpr",
|
"gdpr": "/gdpr",
|
||||||
@@ -201,7 +201,7 @@ If False, you won't be able to login via the web UI.
|
|||||||
|
|
||||||
Instead if you have a overriden template somewhere in your config.py:
|
Instead if you have a overriden template somewhere in your config.py:
|
||||||
like this:
|
like this:
|
||||||
SECURITY_LOGIN_USER_TEMPLATE = 'invenio_theme_tugraz/accounts/login.html'
|
SECURITY_LOGIN_USER_TEMPLATE = 'invenio_theme_iform/accounts/login.html'
|
||||||
then you can remove this condition from header_login.htm:
|
then you can remove this condition from header_login.htm:
|
||||||
{%- if config.ACCOUNTS %}
|
{%- if config.ACCOUNTS %}
|
||||||
to render your overriden login.html
|
to render your overriden login.html
|
||||||
@@ -220,8 +220,8 @@ RECAPTCHA_PRIVATE_KEY = None
|
|||||||
# See:
|
# See:
|
||||||
# https://invenio-records-permissions.readthedocs.io/en/latest/configuration.html
|
# https://invenio-records-permissions.readthedocs.io/en/latest/configuration.html
|
||||||
# Uncomment these to enable overriding RDM permissions
|
# Uncomment these to enable overriding RDM permissions
|
||||||
# from .rdm_permissions import TUGRAZRDMRecordServiceConfig
|
# from .rdm_permissions import IformRDMRecordServiceConfig
|
||||||
# RDM_RECORDS_BIBLIOGRAPHIC_SERVICE_CONFIG = TUGRAZRDMRecordServiceConfig
|
# RDM_RECORDS_BIBLIOGRAPHIC_SERVICE_CONFIG = IformRDMRecordServiceConfig
|
||||||
"""Access control configuration for records."""
|
"""Access control configuration for records."""
|
||||||
|
|
||||||
# invenio-rdm-records
|
# invenio-rdm-records
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2024 Graz University of Technology.
|
# Copyright (C) 2024 Graz University of Technology.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
@@ -2,11 +2,11 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2020-2024 Graz University of Technology.
|
# Copyright (C) 2020-2024 Graz University of Technology.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
"""invenio module that adds tugraz configs."""
|
"""invenio module that adds I-Form configs."""
|
||||||
|
|
||||||
from flask import Flask
|
from flask import Flask
|
||||||
|
|
||||||
@@ -14,8 +14,8 @@ from . import config
|
|||||||
from .custom_fields import ip_network, single_ip
|
from .custom_fields import ip_network, single_ip
|
||||||
|
|
||||||
|
|
||||||
class InvenioConfigTugraz:
|
class InvenioConfigIform:
|
||||||
"""invenio-config-tugraz extension."""
|
"""invenio-config-iform extension."""
|
||||||
|
|
||||||
def __init__(self, app: Flask = None) -> None:
|
def __init__(self, app: Flask = None) -> None:
|
||||||
"""Extension initialization."""
|
"""Extension initialization."""
|
||||||
@@ -26,12 +26,12 @@ class InvenioConfigTugraz:
|
|||||||
"""Flask application initialization."""
|
"""Flask application initialization."""
|
||||||
self.init_config(app)
|
self.init_config(app)
|
||||||
self.add_custom_fields(app)
|
self.add_custom_fields(app)
|
||||||
app.extensions["invenio-config-tugraz"] = self
|
app.extensions["invenio-config-iform"] = self
|
||||||
|
|
||||||
def init_config(self, app: Flask) -> None:
|
def init_config(self, app: Flask) -> None:
|
||||||
"""Initialize configuration."""
|
"""Initialize configuration."""
|
||||||
for k in dir(config):
|
for k in dir(config):
|
||||||
if k.startswith("INVENIO_CONFIG_TUGRAZ_"):
|
if k.startswith("INVENIO_CONFIG_IFORM_"):
|
||||||
app.config.setdefault(k, getattr(config, k))
|
app.config.setdefault(k, getattr(config, k))
|
||||||
|
|
||||||
def add_custom_fields(self, app: Flask) -> None:
|
def add_custom_fields(self, app: Flask) -> None:
|
||||||
@@ -57,5 +57,5 @@ def rank_blueprint_higher(app: Flask) -> None:
|
|||||||
"""
|
"""
|
||||||
bps = app.blueprints
|
bps = app.blueprints
|
||||||
for blueprint_name in list(bps.keys()):
|
for blueprint_name in list(bps.keys()):
|
||||||
if blueprint_name != "invenio_config_tugraz":
|
if blueprint_name != "invenio_config_iform":
|
||||||
bps.update({blueprint_name: bps.pop(blueprint_name)})
|
bps.update({blueprint_name: bps.pop(blueprint_name)})
|
||||||
@@ -2,12 +2,12 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2024 Graz University of Technology.
|
# Copyright (C) 2024 Graz University of Technology.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
"""Permission-policies and roles, based on `flask-principal`."""
|
"""Permission-policies and roles, based on `flask-principal`."""
|
||||||
|
|
||||||
from .policies import TUGrazRDMRecordPermissionPolicy
|
from .policies import IformRDMRecordPermissionPolicy
|
||||||
|
|
||||||
__all__ = ("TUGrazRDMRecordPermissionPolicy",)
|
__all__ = ("IformRDMRecordPermissionPolicy",)
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2020-2024 Graz University of Technology.
|
# Copyright (C) 2020-2024 Graz University of Technology.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
@@ -54,7 +54,7 @@ from invenio_access.permissions import any_user
|
|||||||
from invenio_records_permissions.generators import Generator
|
from invenio_records_permissions.generators import Generator
|
||||||
from invenio_search.engine import dsl
|
from invenio_search.engine import dsl
|
||||||
|
|
||||||
from .roles import tugraz_authenticated_user
|
from .roles import iform_authenticated_user
|
||||||
|
|
||||||
|
|
||||||
class RecordSingleIP(Generator):
|
class RecordSingleIP(Generator):
|
||||||
@@ -124,7 +124,7 @@ class RecordSingleIP(Generator):
|
|||||||
except RuntimeError:
|
except RuntimeError:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
single_ips = current_app.config["CONFIG_TUGRAZ_SINGLE_IPS"]
|
single_ips = current_app.config["CONFIG_IFORM_SINGLE_IPS"]
|
||||||
|
|
||||||
return user_ip in single_ips
|
return user_ip in single_ips
|
||||||
|
|
||||||
@@ -191,7 +191,7 @@ class AllowedFromIPNetwork(Generator):
|
|||||||
except RuntimeError:
|
except RuntimeError:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
network = current_app.config["CONFIG_TUGRAZ_IP_NETWORK"]
|
network = current_app.config["CONFIG_IFORM_IP_NETWORK"]
|
||||||
|
|
||||||
try:
|
try:
|
||||||
return ip_address(user_ip) in ip_network(network)
|
return ip_address(user_ip) in ip_network(network)
|
||||||
@@ -199,9 +199,9 @@ class AllowedFromIPNetwork(Generator):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
class TUGrazAuthenticatedUser(Generator):
|
class IformAuthenticatedUser(Generator):
|
||||||
"""Generates the `tugraz_authenticated_user` role-need."""
|
"""Generates the `iform_authenticated_user` role-need."""
|
||||||
|
|
||||||
def needs(self, **__: dict) -> list[Need]:
|
def needs(self, **__: dict) -> list[Need]:
|
||||||
"""Generate needs to be checked against current user identity."""
|
"""Generate needs to be checked against current user identity."""
|
||||||
return [tugraz_authenticated_user]
|
return [iform_authenticated_user]
|
||||||
@@ -2,13 +2,13 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2020-2024 Graz University of Technology.
|
# Copyright (C) 2020-2024 Graz University of Technology.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
"""TU Graz permission-policy for RDMRecordService.
|
"""TU Graz permission-policy for RDMRecordService.
|
||||||
|
|
||||||
To use, set config-variable `RDM_PERMISSION_POLICY` to `TUGrazRDMRecordPermissionPolicy`.
|
To use, set config-variable `RDM_PERMISSION_POLICY` to `IformRDMRecordPermissionPolicy`.
|
||||||
|
|
||||||
Policies list **what actions** can be done **by whom**
|
Policies list **what actions** can be done **by whom**
|
||||||
over an implied category of objects (typically records). A Policy is
|
over an implied category of objects (typically records). A Policy is
|
||||||
@@ -52,11 +52,11 @@ from invenio_records_permissions.generators import (
|
|||||||
from invenio_records_permissions.policies.records import RecordPermissionPolicy
|
from invenio_records_permissions.policies.records import RecordPermissionPolicy
|
||||||
from invenio_users_resources.services.permissions import UserManager
|
from invenio_users_resources.services.permissions import UserManager
|
||||||
|
|
||||||
from .generators import AllowedFromIPNetwork, RecordSingleIP, TUGrazAuthenticatedUser
|
from .generators import AllowedFromIPNetwork, IformAuthenticatedUser, RecordSingleIP
|
||||||
|
|
||||||
|
|
||||||
class TUGrazRDMRecordPermissionPolicy(RecordPermissionPolicy):
|
class IformRDMRecordPermissionPolicy(RecordPermissionPolicy):
|
||||||
"""Overwrite authenticatedness to mean `tugraz_authenticated` rather than *signed up*."""
|
"""Overwrite authenticatedness to mean `iform_authenticated` rather than *signed up*."""
|
||||||
|
|
||||||
NEED_LABEL_TO_ACTION = {
|
NEED_LABEL_TO_ACTION = {
|
||||||
"bucket-update": "update_files",
|
"bucket-update": "update_files",
|
||||||
@@ -91,8 +91,8 @@ class TUGrazRDMRecordPermissionPolicy(RecordPermissionPolicy):
|
|||||||
RecordSingleIP(),
|
RecordSingleIP(),
|
||||||
]
|
]
|
||||||
|
|
||||||
can_tugraz_authenticated = [TUGrazAuthenticatedUser(), SystemProcess()]
|
can_iform_authenticated = [IformAuthenticatedUser(), SystemProcess()]
|
||||||
can_authenticated = can_tugraz_authenticated
|
can_authenticated = can_iform_authenticated
|
||||||
can_all = [
|
can_all = [
|
||||||
AnyUser(),
|
AnyUser(),
|
||||||
SystemProcess(),
|
SystemProcess(),
|
||||||
@@ -126,12 +126,12 @@ class TUGrazRDMRecordPermissionPolicy(RecordPermissionPolicy):
|
|||||||
can_get_content_files = [
|
can_get_content_files = [
|
||||||
IfFileIsLocal(then_=can_read_files, else_=[SystemProcess()]),
|
IfFileIsLocal(then_=can_read_files, else_=[SystemProcess()]),
|
||||||
]
|
]
|
||||||
can_create = can_tugraz_authenticated
|
can_create = can_iform_authenticated
|
||||||
|
|
||||||
#
|
#
|
||||||
# Drafts
|
# Drafts
|
||||||
#
|
#
|
||||||
can_search_drafts = can_tugraz_authenticated
|
can_search_drafts = can_iform_authenticated
|
||||||
can_read_draft = can_preview
|
can_read_draft = can_preview
|
||||||
can_draft_read_files = can_preview + [ResourceAccessToken("read")]
|
can_draft_read_files = can_preview + [ResourceAccessToken("read")]
|
||||||
can_update_draft = can_review
|
can_update_draft = can_review
|
||||||
@@ -148,14 +148,14 @@ class TUGrazRDMRecordPermissionPolicy(RecordPermissionPolicy):
|
|||||||
can_manage_files = [
|
can_manage_files = [
|
||||||
IfConfig(
|
IfConfig(
|
||||||
"RDM_ALLOW_METADATA_ONLY_RECORDS",
|
"RDM_ALLOW_METADATA_ONLY_RECORDS",
|
||||||
then_=[IfNewRecord(then_=can_tugraz_authenticated, else_=can_review)],
|
then_=[IfNewRecord(then_=can_iform_authenticated, else_=can_review)],
|
||||||
else_=[],
|
else_=[],
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
can_manage_record_access = [
|
can_manage_record_access = [
|
||||||
IfConfig(
|
IfConfig(
|
||||||
"RDM_ALLOW_RESTRICTED_RECORDS",
|
"RDM_ALLOW_RESTRICTED_RECORDS",
|
||||||
then_=[IfNewRecord(then_=can_tugraz_authenticated, else_=can_review)],
|
then_=[IfNewRecord(then_=can_iform_authenticated, else_=can_review)],
|
||||||
else_=[],
|
else_=[],
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
@@ -2,20 +2,20 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2024 Graz University of Technology.
|
# Copyright (C) 2024 Graz University of Technology.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
"""`RoleNeed`s for permission policies.
|
"""`RoleNeed`s for permission policies.
|
||||||
|
|
||||||
To use these roles, add them to the database via:
|
To use these roles, add them to the database via:
|
||||||
`$ invenio roles create tugraz_authenticated --description "..."`
|
`$ invenio roles create iform_authenticated --description "..."`
|
||||||
then add roles to users via:
|
then add roles to users via:
|
||||||
`$ invenio roles add user@email.com tugraz_authenticated`
|
`$ invenio roles add user@email.com iform_authenticated`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from flask_principal import RoleNeed
|
from flask_principal import RoleNeed
|
||||||
|
|
||||||
# using `flask_principal.RoleNeed`` instead of `invenio_access.SystemRoleNeed`,
|
# using `flask_principal.RoleNeed`` instead of `invenio_access.SystemRoleNeed`,
|
||||||
# because these roles are assigned by an admin rather than automatically by the system
|
# because these roles are assigned by an admin rather than automatically by the system
|
||||||
tugraz_authenticated_user = RoleNeed("tugraz_authenticated")
|
iform_authenticated_user = RoleNeed("iform_authenticated")
|
||||||
@@ -4,10 +4,10 @@
|
|||||||
|
|
||||||
{{ _('To help you get started, here are some useful links:') }}
|
{{ _('To help you get started, here are some useful links:') }}
|
||||||
|
|
||||||
- {{ _('Guidelines:')}} {{ _('Repository Guide')}} ({{ _('how to upload files')}}) ({{ config.SITE_UI_URL }}{{ url_for('invenio_config_tugraz.guide') }})
|
- {{ _('Guidelines:')}} {{ _('Repository Guide')}} ({{ _('how to upload files')}}) ({{ config.SITE_UI_URL }}{{ url_for('invenio_config_iform.guide') }})
|
||||||
- {{ _('Search Guide')}} ({{ config.SITE_UI_URL }}{{url_for('invenio_app_rdm.help_search')}})
|
- {{ _('Search Guide')}} ({{ config.SITE_UI_URL }}{{url_for('invenio_app_rdm.help_search')}})
|
||||||
- {{ _('Terms And Conditions') }} ({{ config.SITE_UI_URL }}{{ url_for('invenio_config_tugraz.terms') }})
|
- {{ _('Terms And Conditions') }} ({{ config.SITE_UI_URL }}{{ url_for('invenio_config_iform.terms') }})
|
||||||
- {{ _('Data Protection Rights')}} ({{ config.SITE_UI_URL }}{{ url_for('invenio_config_tugraz.gdpr') }})
|
- {{ _('Data Protection Rights')}} ({{ config.SITE_UI_URL }}{{ url_for('invenio_config_iform.gdpr') }})
|
||||||
{% if security.confirmable %}
|
{% if security.confirmable %}
|
||||||
{{ _('You can confirm your email through the link below:') }}
|
{{ _('You can confirm your email through the link below:') }}
|
||||||
{{ confirmation_link }}">
|
{{ confirmation_link }}">
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
# German translations for invenio-config-tugraz.
|
# German translations for invenio-config-iform.
|
||||||
# Copyright (C) 2021 Graz University of Technology
|
# Copyright (C) 2021 Graz University of Technology
|
||||||
# This file is distributed under the same license as the
|
# This file is distributed under the same license as the
|
||||||
# invenio-config-tugraz project.
|
# invenio-config-iform project.
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: invenio-config-tugraz 0.5.5\n"
|
"Project-Id-Version: invenio-config-iform 0.5.5\n"
|
||||||
"Report-Msgid-Bugs-To: mojib.wali@tugraz.at\n"
|
"Report-Msgid-Bugs-To: mojib.wali@tugraz.at\n"
|
||||||
"POT-Creation-Date: 2021-04-27 15:30+0200\n"
|
"POT-Creation-Date: 2021-04-27 15:30+0200\n"
|
||||||
"PO-Revision-Date: 2021-04-22 11:57+0200\n"
|
"PO-Revision-Date: 2021-04-22 11:57+0200\n"
|
||||||
@@ -19,53 +19,53 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: Babel 2.9.0\n"
|
"Generated-By: Babel 2.9.0\n"
|
||||||
|
|
||||||
#: invenio_config_tugraz/config.py:87
|
#: invenio_config_iform/config.py:87
|
||||||
msgid "Welcome to TU Graz Repository!"
|
msgid "Welcome to TU Graz Repository!"
|
||||||
msgstr "Willkommen im TU Graz Repository!"
|
msgstr "Willkommen im TU Graz Repository!"
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:1
|
#: invenio_config_iform/templates/security/email/welcome.txt:1
|
||||||
msgid "Dear user,"
|
msgid "Dear user,"
|
||||||
msgstr "Lieber Nutzer,"
|
msgstr "Lieber Nutzer,"
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:3
|
#: invenio_config_iform/templates/security/email/welcome.txt:3
|
||||||
msgid "Welcome to the Repository of TU Graz!"
|
msgid "Welcome to the Repository of TU Graz!"
|
||||||
msgstr "Willkommen im TU Graz Repository!"
|
msgstr "Willkommen im TU Graz Repository!"
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:5
|
#: invenio_config_iform/templates/security/email/welcome.txt:5
|
||||||
msgid "To help you get started, here are some useful links:"
|
msgid "To help you get started, here are some useful links:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Um Ihnen den Einstieg zu erleichtern, finden Sie hier einige nützliche "
|
"Um Ihnen den Einstieg zu erleichtern, finden Sie hier einige nützliche "
|
||||||
"Links:"
|
"Links:"
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:7
|
#: invenio_config_iform/templates/security/email/welcome.txt:7
|
||||||
msgid "Guidelines:"
|
msgid "Guidelines:"
|
||||||
msgstr "Leitfaden:"
|
msgstr "Leitfaden:"
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:7
|
#: invenio_config_iform/templates/security/email/welcome.txt:7
|
||||||
msgid "Repository Guide"
|
msgid "Repository Guide"
|
||||||
msgstr "Handbuch"
|
msgstr "Handbuch"
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:7
|
#: invenio_config_iform/templates/security/email/welcome.txt:7
|
||||||
msgid "how to upload files"
|
msgid "how to upload files"
|
||||||
msgstr "wie man Dateien hochlädt"
|
msgstr "wie man Dateien hochlädt"
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:8
|
#: invenio_config_iform/templates/security/email/welcome.txt:8
|
||||||
msgid "Search Guide"
|
msgid "Search Guide"
|
||||||
msgstr "Suchanleitung"
|
msgstr "Suchanleitung"
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:9
|
#: invenio_config_iform/templates/security/email/welcome.txt:9
|
||||||
msgid "Terms And Conditions"
|
msgid "Terms And Conditions"
|
||||||
msgstr "Nutzungsbedingungen"
|
msgstr "Nutzungsbedingungen"
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:10
|
#: invenio_config_iform/templates/security/email/welcome.txt:10
|
||||||
msgid "Data Protection Rights"
|
msgid "Data Protection Rights"
|
||||||
msgstr "Datenschutzerklärung"
|
msgstr "Datenschutzerklärung"
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:13
|
#: invenio_config_iform/templates/security/email/welcome.txt:13
|
||||||
msgid "You can confirm your email through the link below:"
|
msgid "You can confirm your email through the link below:"
|
||||||
msgstr "Sie können Ihre E-Mail über den folgenden Link bestätigen:"
|
msgstr "Sie können Ihre E-Mail über den folgenden Link bestätigen:"
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:16
|
#: invenio_config_iform/templates/security/email/welcome.txt:16
|
||||||
msgid ""
|
msgid ""
|
||||||
"If you require any assistance please do not hesitate to contact us at "
|
"If you require any assistance please do not hesitate to contact us at "
|
||||||
"repository-support@tugraz.at."
|
"repository-support@tugraz.at."
|
||||||
@@ -73,11 +73,10 @@ msgstr ""
|
|||||||
"Wenn Sie Hilfe benötigen, zögern Sie bitte nicht, uns unter repository-"
|
"Wenn Sie Hilfe benötigen, zögern Sie bitte nicht, uns unter repository-"
|
||||||
"support@tugraz.at zu kontaktieren."
|
"support@tugraz.at zu kontaktieren."
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:18
|
#: invenio_config_iform/templates/security/email/welcome.txt:18
|
||||||
msgid "Best regards,"
|
msgid "Best regards,"
|
||||||
msgstr "Mit freundlichen Grüßen,"
|
msgstr "Mit freundlichen Grüßen,"
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:19
|
#: invenio_config_iform/templates/security/email/welcome.txt:19
|
||||||
msgid "TU Graz Repository Team"
|
msgid "TU Graz Repository Team"
|
||||||
msgstr "TU Graz Repository Team"
|
msgstr "TU Graz Repository Team"
|
||||||
|
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
# Translations template for invenio-config-tugraz.
|
# Translations template for invenio-config-iform.
|
||||||
# Copyright (C) 2021 Graz University of Technology
|
# Copyright (C) 2021 Graz University of Technology
|
||||||
# This file is distributed under the same license as the
|
# This file is distributed under the same license as the
|
||||||
# invenio-config-tugraz project.
|
# invenio-config-iform project.
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: invenio-config-tugraz 0.5.5\n"
|
"Project-Id-Version: invenio-config-iform 0.5.5\n"
|
||||||
"Report-Msgid-Bugs-To: mojib.wali@tugraz.at\n"
|
"Report-Msgid-Bugs-To: mojib.wali@tugraz.at\n"
|
||||||
"POT-Creation-Date: 2021-04-27 15:30+0200\n"
|
"POT-Creation-Date: 2021-04-27 15:30+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
@@ -18,61 +18,60 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: Babel 2.9.0\n"
|
"Generated-By: Babel 2.9.0\n"
|
||||||
|
|
||||||
#: invenio_config_tugraz/config.py:87
|
#: invenio_config_iform/config.py:87
|
||||||
msgid "Welcome to TU Graz Repository!"
|
msgid "Welcome to TU Graz Repository!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:1
|
#: invenio_config_iform/templates/security/email/welcome.txt:1
|
||||||
msgid "Dear user,"
|
msgid "Dear user,"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:3
|
#: invenio_config_iform/templates/security/email/welcome.txt:3
|
||||||
msgid "Welcome to the Repository of TU Graz!"
|
msgid "Welcome to the Repository of TU Graz!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:5
|
#: invenio_config_iform/templates/security/email/welcome.txt:5
|
||||||
msgid "To help you get started, here are some useful links:"
|
msgid "To help you get started, here are some useful links:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:7
|
#: invenio_config_iform/templates/security/email/welcome.txt:7
|
||||||
msgid "Guidelines:"
|
msgid "Guidelines:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:7
|
#: invenio_config_iform/templates/security/email/welcome.txt:7
|
||||||
msgid "Repository Guide"
|
msgid "Repository Guide"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:7
|
#: invenio_config_iform/templates/security/email/welcome.txt:7
|
||||||
msgid "how to upload files"
|
msgid "how to upload files"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:8
|
#: invenio_config_iform/templates/security/email/welcome.txt:8
|
||||||
msgid "Search Guide"
|
msgid "Search Guide"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:9
|
#: invenio_config_iform/templates/security/email/welcome.txt:9
|
||||||
msgid "Terms And Conditions"
|
msgid "Terms And Conditions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:10
|
#: invenio_config_iform/templates/security/email/welcome.txt:10
|
||||||
msgid "Data Protection Rights"
|
msgid "Data Protection Rights"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:13
|
#: invenio_config_iform/templates/security/email/welcome.txt:13
|
||||||
msgid "You can confirm your email through the link below:"
|
msgid "You can confirm your email through the link below:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:16
|
#: invenio_config_iform/templates/security/email/welcome.txt:16
|
||||||
msgid ""
|
msgid ""
|
||||||
"If you require any assistance please do not hesitate to contact us at "
|
"If you require any assistance please do not hesitate to contact us at "
|
||||||
"repository-support@tugraz.at."
|
"repository-support@tugraz.at."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:18
|
#: invenio_config_iform/templates/security/email/welcome.txt:18
|
||||||
msgid "Best regards,"
|
msgid "Best regards,"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: invenio_config_tugraz/templates/security/email/welcome.txt:19
|
#: invenio_config_iform/templates/security/email/welcome.txt:19
|
||||||
msgid "TU Graz Repository Team"
|
msgid "TU Graz Repository Team"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2022-2024 Graz University of Technology.
|
# Copyright (C) 2022-2024 Graz University of Technology.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
@@ -38,8 +38,8 @@ def get_identity_from_user_by_email(email: str | None = None) -> Identity:
|
|||||||
return identity
|
return identity
|
||||||
|
|
||||||
|
|
||||||
def tugraz_account_setup_extension(user, account_info) -> None: # noqa: ANN001, ARG001
|
def iform_account_setup_extension(user, account_info) -> None: # noqa: ANN001, ARG001
|
||||||
"""Add tugraz_authenticated role to user after SAML-login was acknowledged.
|
"""Add iform_authenticated role to user after SAML-login was acknowledged.
|
||||||
|
|
||||||
To use, have `acs_handler_factory` call invenio_saml's `default_account_setup` first,
|
To use, have `acs_handler_factory` call invenio_saml's `default_account_setup` first,
|
||||||
then this function second.
|
then this function second.
|
||||||
@@ -49,25 +49,25 @@ def tugraz_account_setup_extension(user, account_info) -> None: # noqa: ANN001,
|
|||||||
# invenio.cfg
|
# invenio.cfg
|
||||||
from invenio_saml.handlers import default_account_setup, acs_handler_factory
|
from invenio_saml.handlers import default_account_setup, acs_handler_factory
|
||||||
|
|
||||||
def tugraz_account_setup(user, account_info):
|
def iform_account_setup(user, account_info):
|
||||||
# links external `account_info` with our database's `user` for future logins
|
# links external `account_info` with our database's `user` for future logins
|
||||||
default_account_setup(user, account_info)
|
default_account_setup(user, account_info)
|
||||||
tugraz_account_setup_extension(user, account_info)
|
iform_account_setup_extension(user, account_info)
|
||||||
|
|
||||||
SSO_SAML_IDPS = {
|
SSO_SAML_IDPS = {
|
||||||
"my-tugraz-idp": {
|
"my-iform-idp": {
|
||||||
...
|
...
|
||||||
"acs_handler": acs_handler_factory(
|
"acs_handler": acs_handler_factory(
|
||||||
"my-tugraz-idp", account_setup=tugraz_account_setup
|
"my-iform-idp", account_setup=iform_account_setup
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
For this to work, the role tugraz_authenticated must have been created
|
For this to work, the role iform_authenticated must have been created
|
||||||
(e.g. via `invenio roles create tugraz_authenticated`).
|
(e.g. via `invenio roles create iform_authenticated`).
|
||||||
"""
|
"""
|
||||||
user_email = account_info["user"]["email"]
|
user_email = account_info["user"]["email"]
|
||||||
|
|
||||||
# NOTE: `datastore.commit`ing will be done by acs_handler that calls this func
|
# NOTE: `datastore.commit`ing will be done by acs_handler that calls this func
|
||||||
# NOTE: this is a No-Op when user_email already has role tugraz_authenticated
|
# NOTE: this is a No-Op when user_email already has role iform_authenticated
|
||||||
current_accounts.datastore.add_role_to_user(user_email, "tugraz_authenticated")
|
current_accounts.datastore.add_role_to_user(user_email, "iform_authenticated")
|
||||||
@@ -2,11 +2,11 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2020-2024 Graz University of Technology.
|
# Copyright (C) 2020-2024 Graz University of Technology.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
"""invenio module for TUGRAZ config."""
|
"""Invenio module for I-Form config."""
|
||||||
|
|
||||||
from flask import Blueprint, Flask, redirect, url_for
|
from flask import Blueprint, Flask, redirect, url_for
|
||||||
from invenio_i18n import get_locale
|
from invenio_i18n import get_locale
|
||||||
@@ -14,11 +14,11 @@ from werkzeug.wrappers import Response as BaseResponse
|
|||||||
|
|
||||||
|
|
||||||
def ui_blueprint(app: Flask) -> Blueprint:
|
def ui_blueprint(app: Flask) -> Blueprint:
|
||||||
"""Blueprint for the routes and resources provided by invenio-config-tugraz."""
|
"""Blueprint for the routes and resources provided by invenio-config-iform."""
|
||||||
routes = app.config.get("CONFIG_TUGRAZ_ROUTES")
|
routes = app.config.get("CONFIG_IFORM_ROUTES")
|
||||||
|
|
||||||
blueprint = Blueprint(
|
blueprint = Blueprint(
|
||||||
"invenio_config_tugraz",
|
"invenio_config_iform",
|
||||||
__name__,
|
__name__,
|
||||||
template_folder="templates",
|
template_folder="templates",
|
||||||
static_folder="static",
|
static_folder="static",
|
||||||
@@ -32,12 +32,12 @@ def ui_blueprint(app: Flask) -> Blueprint:
|
|||||||
|
|
||||||
|
|
||||||
def guide() -> BaseResponse:
|
def guide() -> BaseResponse:
|
||||||
"""TUGraz_Repository_Guide."""
|
"""I-Form_Repository_Guide."""
|
||||||
locale = get_locale()
|
locale = get_locale()
|
||||||
return redirect(
|
return redirect(
|
||||||
url_for(
|
url_for(
|
||||||
"static",
|
"static",
|
||||||
filename=f"documents/TUGraz_Repository_Guide_02.1_{locale}.pdf",
|
filename=f"documents/I-Form_Repository_Guide_02.1_{locale}.pdf",
|
||||||
_external=True,
|
_external=True,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
@@ -49,7 +49,7 @@ def terms() -> BaseResponse:
|
|||||||
return redirect(
|
return redirect(
|
||||||
url_for(
|
url_for(
|
||||||
"static",
|
"static",
|
||||||
filename=f"documents/TUGraz_Repository_Terms_And_Conditions_{locale}.pdf",
|
filename=f"documents/I-Form_Repository_Terms_And_Conditions_{locale}.pdf",
|
||||||
_external=True,
|
_external=True,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
@@ -61,7 +61,7 @@ def gdpr() -> BaseResponse:
|
|||||||
return redirect(
|
return redirect(
|
||||||
url_for(
|
url_for(
|
||||||
"static",
|
"static",
|
||||||
filename=f"documents/TUGraz_Repository_General_Data_Protection_Rights_{locale}.pdf",
|
filename=f"documents/I-Form_Repository_General_Data_Protection_Rights_{locale}.pdf",
|
||||||
_external=True,
|
_external=True,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
# Copyright (C) 2019-2020 Northwestern University.
|
# Copyright (C) 2019-2020 Northwestern University.
|
||||||
# Copyright (C) 2020-2024 Graz University of Technology.
|
# Copyright (C) 2020-2024 Graz University of Technology.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
|
|||||||
36
setup.cfg
36
setup.cfg
@@ -2,21 +2,21 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2020-2024 Graz University of Technology.
|
# Copyright (C) 2020-2024 Graz University of Technology.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
[metadata]
|
[metadata]
|
||||||
name = invenio-config-tugraz
|
name = invenio-config-iform
|
||||||
version = attr: invenio_config_tugraz.__version__
|
version = attr: invenio_config_iform.__version__
|
||||||
description = "Invenio module that adds tugraz configs."
|
description = "Invenio module that adds I-Form configs."
|
||||||
long_description = file: README.rst, CHANGES.rst
|
long_description = file: README.rst, CHANGES.rst
|
||||||
keywords = invenio config TU-Graz
|
keywords = invenio config TU-Graz
|
||||||
license = MIT
|
license = MIT
|
||||||
author = "Graz University of Technology"
|
author = "Graz University of Technology"
|
||||||
author_email = info@tugraz.at
|
author_email = info@tugraz.at
|
||||||
platforms = any
|
platforms = any
|
||||||
url = https://github.com/tu-graz-library/invenio-config-tugraz
|
url = https://github.com/Cian-H/invenio_config_iform
|
||||||
classifiers =
|
classifiers =
|
||||||
Environment :: Web Environment
|
Environment :: Web Environment
|
||||||
Intended Audience :: Developers
|
Intended Audience :: Developers
|
||||||
@@ -49,15 +49,15 @@ tests =
|
|||||||
|
|
||||||
[options.entry_points]
|
[options.entry_points]
|
||||||
invenio_base.apps =
|
invenio_base.apps =
|
||||||
invenio_config_tugraz = invenio_config_tugraz:InvenioConfigTugraz
|
invenio_config_iform = invenio_config_iform:InvenioConfigIform
|
||||||
invenio_base.blueprints =
|
invenio_base.blueprints =
|
||||||
invenio_config_tugraz = invenio_config_tugraz.views:ui_blueprint
|
invenio_config_iform = invenio_config_iform.views:ui_blueprint
|
||||||
invenio_i18n.translations =
|
invenio_i18n.translations =
|
||||||
messages = invenio_config_tugraz
|
messages = invenio_config_iform
|
||||||
invenio_config.module =
|
invenio_config.module =
|
||||||
invenio_config_tugraz = invenio_config_tugraz.config
|
invenio_config_iform = invenio_config_iform.config
|
||||||
invenio_base.finalize_app =
|
invenio_base.finalize_app =
|
||||||
invenio_config_tugraz = invenio_config_tugraz.ext:finalize_app
|
invenio_config_iform = invenio_config_iform.ext:finalize_app
|
||||||
|
|
||||||
[aliases]
|
[aliases]
|
||||||
test = pytest
|
test = pytest
|
||||||
@@ -71,22 +71,22 @@ all_files = 1
|
|||||||
universal = 1
|
universal = 1
|
||||||
|
|
||||||
[compile_catalog]
|
[compile_catalog]
|
||||||
directory = invenio_config_tugraz/translations/
|
directory = invenio_config_iform/translations/
|
||||||
|
|
||||||
[extract_messages]
|
[extract_messages]
|
||||||
copyright_holder = Graz University of Technology
|
copyright_holder = Graz University of Technology
|
||||||
msgid_bugs_address = mojib.wali@tugraz.at
|
msgid_bugs_address = mojib.wali@tugraz.at
|
||||||
mapping-file = babel.ini
|
mapping-file = babel.ini
|
||||||
output-file = invenio_config_tugraz/translations/messages.pot
|
output-file = invenio_config_iform/translations/messages.pot
|
||||||
add-comments = NOTE
|
add-comments = NOTE
|
||||||
|
|
||||||
[init_catalog]
|
[init_catalog]
|
||||||
input-file = invenio_config_tugraz/translations/messages.pot
|
input-file = invenio_config_iform/translations/messages.pot
|
||||||
output-dir = invenio_config_tugraz/translations/
|
output-dir = invenio_config_iform/translations/
|
||||||
|
|
||||||
[update_catalog]
|
[update_catalog]
|
||||||
input-file = invenio_config_tugraz/translations/messages.pot
|
input-file = invenio_config_iform/translations/messages.pot
|
||||||
output-dir = invenio_config_tugraz/translations/
|
output-dir = invenio_config_iform/translations/
|
||||||
|
|
||||||
[isort]
|
[isort]
|
||||||
profile=black
|
profile=black
|
||||||
@@ -95,6 +95,6 @@ profile=black
|
|||||||
ignore = *-requirements.txt
|
ignore = *-requirements.txt
|
||||||
|
|
||||||
[tool:pytest]
|
[tool:pytest]
|
||||||
addopts = --black --cov=invenio_config_tugraz --cov-report=term-missing
|
addopts = --black --cov=invenio_config_iform --cov-report=term-missing
|
||||||
testpaths = tests invenio_config_tugraz
|
testpaths = tests invenio_config_iform
|
||||||
live_server_scope = module
|
live_server_scope = module
|
||||||
|
|||||||
4
setup.py
4
setup.py
@@ -2,11 +2,11 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2020-2022 Graz University of Technology.
|
# Copyright (C) 2020-2022 Graz University of Technology.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
"""invenio module that adds tugraz configs."""
|
"""invenio module that adds I-Form configs."""
|
||||||
|
|
||||||
from setuptools import setup
|
from setuptools import setup
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
# Copyright (C) 2020 Mojib Wali.
|
# Copyright (C) 2020 Mojib Wali.
|
||||||
# Copyright (C) 2020-2024 Graz University of Technology.
|
# Copyright (C) 2020-2024 Graz University of Technology.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@ fixtures are available.
|
|||||||
import pytest
|
import pytest
|
||||||
from flask import Flask
|
from flask import Flask
|
||||||
|
|
||||||
from invenio_config_tugraz import InvenioConfigTugraz
|
from invenio_config_iform import InvenioConfigIform
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="module")
|
@pytest.fixture(scope="module")
|
||||||
@@ -27,7 +27,7 @@ def create_app(instance_path: str) -> Flask:
|
|||||||
def factory(**config: str) -> Flask:
|
def factory(**config: str) -> Flask:
|
||||||
app = Flask("testapp", instance_path=instance_path)
|
app = Flask("testapp", instance_path=instance_path)
|
||||||
app.config.update(**config)
|
app.config.update(**config)
|
||||||
InvenioConfigTugraz(app)
|
InvenioConfigIform(app)
|
||||||
return app
|
return app
|
||||||
|
|
||||||
return factory
|
return factory
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2020-2024 Graz University of Technology.
|
# Copyright (C) 2020-2024 Graz University of Technology.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
@@ -10,12 +10,12 @@
|
|||||||
|
|
||||||
from flask import Flask
|
from flask import Flask
|
||||||
|
|
||||||
from invenio_config_tugraz import InvenioConfigTugraz
|
from invenio_config_iform import InvenioConfigIform
|
||||||
|
|
||||||
|
|
||||||
def test_version() -> None:
|
def test_version() -> None:
|
||||||
"""Test version import."""
|
"""Test version import."""
|
||||||
from invenio_config_tugraz import __version__
|
from invenio_config_iform import __version__
|
||||||
|
|
||||||
assert __version__
|
assert __version__
|
||||||
|
|
||||||
@@ -23,11 +23,11 @@ def test_version() -> None:
|
|||||||
def test_init() -> None:
|
def test_init() -> None:
|
||||||
"""Test extension initialization."""
|
"""Test extension initialization."""
|
||||||
app = Flask("testapp")
|
app = Flask("testapp")
|
||||||
ext = InvenioConfigTugraz(app)
|
ext = InvenioConfigIform(app)
|
||||||
assert "invenio-config-tugraz" in app.extensions
|
assert "invenio-config-iform" in app.extensions
|
||||||
|
|
||||||
app = Flask("testapp")
|
app = Flask("testapp")
|
||||||
ext = InvenioConfigTugraz()
|
ext = InvenioConfigIform()
|
||||||
assert "invenio-config-tugraz" not in app.extensions
|
assert "invenio-config-iform" not in app.extensions
|
||||||
ext.init_app(app)
|
ext.init_app(app)
|
||||||
assert "invenio-config-tugraz" in app.extensions
|
assert "invenio-config-iform" in app.extensions
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2024 Graz University of Technology.
|
# Copyright (C) 2024 Graz University of Technology.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-iform is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
# details.
|
# details.
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
from invenio_rdm_records.services.permissions import RDMRecordPermissionPolicy
|
from invenio_rdm_records.services.permissions import RDMRecordPermissionPolicy
|
||||||
|
|
||||||
from invenio_config_tugraz.permissions.policies import TUGrazRDMRecordPermissionPolicy
|
from invenio_config_iform.permissions.policies import IformRDMRecordPermissionPolicy
|
||||||
|
|
||||||
ALLOWED_DIFFERENCES = {
|
ALLOWED_DIFFERENCES = {
|
||||||
"can_authenticated",
|
"can_authenticated",
|
||||||
@@ -19,15 +19,15 @@ ALLOWED_DIFFERENCES = {
|
|||||||
"can_view",
|
"can_view",
|
||||||
"can_all",
|
"can_all",
|
||||||
"can_search_drafts",
|
"can_search_drafts",
|
||||||
"can_tugraz_authenticated",
|
"can_iform_authenticated",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def test_policies_synced() -> None:
|
def test_policies_synced() -> None:
|
||||||
"""Make sure our permission-policy stays synced with invenio's."""
|
"""Make sure our permission-policy stays synced with invenio's."""
|
||||||
tugraz_cans = {
|
iform_cans = {
|
||||||
name: getattr(TUGrazRDMRecordPermissionPolicy, name)
|
name: getattr(IformRDMRecordPermissionPolicy, name)
|
||||||
for name in dir(TUGrazRDMRecordPermissionPolicy)
|
for name in dir(IformRDMRecordPermissionPolicy)
|
||||||
if name.startswith("can_")
|
if name.startswith("can_")
|
||||||
}
|
}
|
||||||
rdm_cans = {
|
rdm_cans = {
|
||||||
@@ -37,52 +37,52 @@ def test_policies_synced() -> None:
|
|||||||
}
|
}
|
||||||
|
|
||||||
# check whether same set of `can_<action>`s`
|
# check whether same set of `can_<action>`s`
|
||||||
if extras := set(tugraz_cans) - set(rdm_cans) - ALLOWED_DIFFERENCES:
|
if extras := set(iform_cans) - set(rdm_cans) - ALLOWED_DIFFERENCES:
|
||||||
msg = f"""
|
msg = f"""
|
||||||
TU Graz's permission-policy has additional fields over invenio-rdm's:{extras}
|
TU Graz's permission-policy has additional fields over invenio-rdm's:{extras}
|
||||||
if this is intentional, add to ALLOWED_DIFFERENCES in test-file
|
if this is intentional, add to ALLOWED_DIFFERENCES in test-file
|
||||||
otherwise remove extraneous fields from TUGrazRDMRecordPermissionPolicy
|
otherwise remove extraneous fields from IformRDMRecordPermissionPolicy
|
||||||
"""
|
"""
|
||||||
raise KeyError(msg)
|
raise KeyError(msg)
|
||||||
|
|
||||||
if missing := set(rdm_cans) - set(tugraz_cans):
|
if missing := set(rdm_cans) - set(iform_cans):
|
||||||
msg = f"""
|
msg = f"""
|
||||||
invenio-rdm's permission-policy has fields unhandled by TU Graz's: {missing}
|
invenio-rdm's permission-policy has fields unhandled by TU Graz's: {missing}
|
||||||
if this is intentional, add to ALLOWED_DIFFERENCES
|
if this is intentional, add to ALLOWED_DIFFERENCES
|
||||||
otherwise set the corresponding fields in TUGrazRDMRecordPermissionPolicy
|
otherwise set the corresponding fields in IformRDMRecordPermissionPolicy
|
||||||
"""
|
"""
|
||||||
raise KeyError(msg)
|
raise KeyError(msg)
|
||||||
|
|
||||||
# check whether same permission-generators used for same `can_<action>`
|
# check whether same permission-generators used for same `can_<action>`
|
||||||
for can_name in rdm_cans.keys() & tugraz_cans.keys():
|
for can_name in rdm_cans.keys() & iform_cans.keys():
|
||||||
if can_name in ALLOWED_DIFFERENCES:
|
if can_name in ALLOWED_DIFFERENCES:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
tugraz_can = tugraz_cans[can_name]
|
iform_can = iform_cans[can_name]
|
||||||
rdm_can = rdm_cans[can_name]
|
rdm_can = rdm_cans[can_name]
|
||||||
|
|
||||||
# permission-Generators don't implement equality checks for their instances
|
# permission-Generators don't implement equality checks for their instances
|
||||||
# we can however compare which types (classes) of Generators are used...
|
# we can however compare which types (classes) of Generators are used...
|
||||||
if {type(gen) for gen in tugraz_can} != {type(gen) for gen in rdm_can}:
|
if {type(gen) for gen in iform_can} != {type(gen) for gen in rdm_can}:
|
||||||
msg = f"""
|
msg = f"""
|
||||||
permission-policy for `{can_name}` differs between TU-Graz and invenio-rdm
|
permission-policy for `{can_name}` differs between TU-Graz and invenio-rdm
|
||||||
if this is intentional, add to ALLOWED_DIFFERENCES in test-file
|
if this is intentional, add to ALLOWED_DIFFERENCES in test-file
|
||||||
otherwise fix TUGrazRDMRecordPermissionPolicy
|
otherwise fix IformRDMRecordPermissionPolicy
|
||||||
"""
|
"""
|
||||||
raise ValueError(msg)
|
raise ValueError(msg)
|
||||||
|
|
||||||
# check whether same `NEED_LABEL_TO_ACTION`
|
# check whether same `NEED_LABEL_TO_ACTION`
|
||||||
tugraz_label_to_action = TUGrazRDMRecordPermissionPolicy.NEED_LABEL_TO_ACTION
|
iform_label_to_action = IformRDMRecordPermissionPolicy.NEED_LABEL_TO_ACTION
|
||||||
rdm_label_to_action = RDMRecordPermissionPolicy.NEED_LABEL_TO_ACTION
|
rdm_label_to_action = RDMRecordPermissionPolicy.NEED_LABEL_TO_ACTION
|
||||||
|
|
||||||
for label in tugraz_label_to_action.keys() & rdm_label_to_action.keys():
|
for label in iform_label_to_action.keys() & rdm_label_to_action.keys():
|
||||||
if label in ALLOWED_DIFFERENCES:
|
if label in ALLOWED_DIFFERENCES:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if tugraz_label_to_action.get(label) != rdm_label_to_action.get(label):
|
if iform_label_to_action.get(label) != rdm_label_to_action.get(label):
|
||||||
msg = f"""
|
msg = f"""
|
||||||
invenio-rdm's NEED_LABEL_TO_ACTION differs from TU Graz's in {label}
|
invenio-rdm's NEED_LABEL_TO_ACTION differs from TU Graz's in {label}
|
||||||
if this is intentional, add to ALLOWED_DIFFERENCES in test-file
|
if this is intentional, add to ALLOWED_DIFFERENCES in test-file
|
||||||
otherwise fix TUGrazRDMRecordPermissionPolicy.NEED_LABEL_TO_ACTION
|
otherwise fix IformRDMRecordPermissionPolicy.NEED_LABEL_TO_ACTION
|
||||||
"""
|
"""
|
||||||
raise ValueError(msg)
|
raise ValueError(msg)
|
||||||
|
|||||||
Reference in New Issue
Block a user