Changed names for new fork

This commit is contained in:
2025-04-25 15:31:24 +01:00
parent 04ca3f5661
commit b6cbd03f9c
53 changed files with 243 additions and 243 deletions

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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/

View File

@@ -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.

View File

@@ -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:

View File

@@ -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:

View File

@@ -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.

View File

@@ -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.

View File

@@ -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",
), ),
] ]

View File

@@ -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:

View File

@@ -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.

View File

@@ -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

View File

@@ -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.

View File

@@ -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
) )

View File

@@ -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

View File

@@ -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",
) )

View File

@@ -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

View File

@@ -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.

View File

@@ -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)})

View File

@@ -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",)

View File

@@ -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]

View File

@@ -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_=[],
), ),
] ]

View File

@@ -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")

View File

@@ -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 }}">

View File

@@ -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"

View File

@@ -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 ""

View File

@@ -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")

View File

@@ -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,
), ),
) )

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)