diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b581ba62..c63f74db 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -62,6 +62,7 @@ jobs: - name: Run Task run: | export PYTHONPATH=$(pwd) + FLASK_ENV=development uv run flask -A server.app --debug app version uv run ${{ matrix.task.command }} - name: Minimize uv cache diff --git a/configs/app.config.ts b/configs/app.config.ts index 5c8df770..f4609ebb 100644 --- a/configs/app.config.ts +++ b/configs/app.config.ts @@ -175,6 +175,47 @@ const wayf = { ] as { name: string, entityID: string }[], } +/** + * These are due to temporary constraints + * in the future, all features will be enabled and the settings will be deleted. + */ +const features = { + /** repositories feature flags */ + repositories: { + /** + * If true, the search will be performed on the server side. + * If false, the search will be performed on the client (browser) side. + */ + 'server-search': false, + + /** Whether to allow sorting columns */ + 'sort-columns': false, + }, + /** groups feature flags */ + groups: { + /** Whether to allow sorting columns */ + 'sort-columns': false, + }, + /** users feature flags */ + users: { + /** Whether to allow filters to be applied at the same time for both roles and groups */ + 'filter-by-both-role-group': false, + /** Whether to allow the last modified filter */ + 'filter-by-last-modified': false, + /** Whether to allow the search by username only */ + 'search-only-username': true, + /** Whether to allow sorting columns */ + 'sort-columns': false, + /** Whether to display file upload button */ + 'file-upload': false, + }, + /** history feature flags */ + history: { + /** Whether to display history upload tab */ + upload: false, + }, +} + export default { /** Server hostname of this application */ serverName, @@ -192,4 +233,10 @@ export default { polling, /** WAYF (Embedded DS) configuration */ wayf, + /** + * Feature flags configuration. \ + * These are due to temporary constraints + * in the future, all features will be enabled and the settings will be deleted. + */ + features, } diff --git a/configs/server.config.toml b/configs/server.config.toml index 6e185bde..b9baef58 100644 --- a/configs/server.config.toml +++ b/configs/server.config.toml @@ -133,6 +133,18 @@ contributor = "{repository_name}投稿ユーザー" # It should include '{repository_name}' placeholder. general_user = "{repository_name}一般ユーザー" +[users] +# List of fields to include in the exported user details. +export_fields = [ + "id", + "user_name", + "groups[].id", + "groups[].name", + "role", + "edu_person_principal_names[]", + "preferred_language", + "emails[]", + ] [map_core] # Base URL for the mAP Core service. @@ -237,3 +249,15 @@ url = "amqp://guest:guest@rabbitmq:5672//" # user name of the developer account. # user_name = "" + + +# Feature flags for enabling or disabling application features. +# These are due to temporary constraints +# in the future, all features will be enabled and the settings will be deleted. +[features] +# Whether user search by user name only in users. +# If false, Enable search by username, email, or ePPN. +search_only_username = true + +# Whether mAP Core API bulk operation is enabled or disabled. +enable_bulk_operation = false diff --git a/src/app/components/bulk/BulkResultStep.vue b/src/app/components/bulk/BulkResultStep.vue index af7ea7b5..0d1d1f68 100644 --- a/src/app/components/bulk/BulkResultStep.vue +++ b/src/app/components/bulk/BulkResultStep.vue @@ -1,27 +1,44 @@ diff --git a/src/app/components/bulk/BulkUploadStep.vue b/src/app/components/bulk/BulkUploadStep.vue index 71eaac7b..fa6b7a38 100644 --- a/src/app/components/bulk/BulkUploadStep.vue +++ b/src/app/components/bulk/BulkUploadStep.vue @@ -1,12 +1,15 @@ diff --git a/src/app/components/bulk/BulkUserTable.vue b/src/app/components/bulk/BulkUserTable.vue index e339efef..b82a33a8 100644 --- a/src/app/components/bulk/BulkUserTable.vue +++ b/src/app/components/bulk/BulkUserTable.vue @@ -1,10 +1,11 @@ -