diff --git a/packages/volto/cypress/fixtures/cy_users_test.csv b/packages/volto/cypress/fixtures/cy_users_test.csv new file mode 100644 index 00000000000..4d77d289ca3 --- /dev/null +++ b/packages/volto/cypress/fixtures/cy_users_test.csv @@ -0,0 +1,4 @@ +id,username,fullname,email,roles,groups,password +testuserone,testuserone,Test User One,info@example.com,Member,AuthenticatedUsers,12345678 +testuserthree,testuserthree,Test User Three,info@example.com,Member,AuthenticatedUsers,12345678 +testusertwo,testusertwo,Test User Two,info@example.com,Member,AuthenticatedUsers,12345678 diff --git a/packages/volto/cypress/tests/core/controlpanels/user-control-panel.js b/packages/volto/cypress/tests/core/controlpanels/users-control-panel.js similarity index 82% rename from packages/volto/cypress/tests/core/controlpanels/user-control-panel.js rename to packages/volto/cypress/tests/core/controlpanels/users-control-panel.js index 2aa51427569..49c72b87b8e 100644 --- a/packages/volto/cypress/tests/core/controlpanels/user-control-panel.js +++ b/packages/volto/cypress/tests/core/controlpanels/users-control-panel.js @@ -119,6 +119,48 @@ describe('User Control Panel Test', () => { .first() .should('have.class', 'checked'); }); + + it('Should upload users via csv', () => { + cy.visit('/controlpanel/users'); + + cy.get('Button[id="member-import"]').click(); + cy.intercept('POST', '**/@users').as('saveUsers'); + + cy.get('div[class="file-widget-dropzone"]').selectFile( + 'cypress/fixtures/cy_users_test.csv', + { action: 'drag-drop' }, + ); + cy.get('a[aria-label="Download cy_users_test.csv"]').should('exist'); + + cy.get('Button[title="Save"]').click({ force: true }); + + cy.wait('@saveUsers').its('response.statusCode').should('eq', 201); + }); + it('Should download users as csv', () => { + cy.visit('/controlpanel/users'); + cy.get('Button[id="member-export"]').click(); + const apiUrl = + Cypress.env('API_PATH') || `${Cypress.config('baseUrl')}/++api++`; + + cy.getCookie('auth_token').then((cookie) => { + cy.request({ + url: `${apiUrl}/@users`, + headers: { + Accept: 'text/csv', + Authorization: `Bearer ${cookie.value}`, + }, + }).then((response) => { + expect(response.status).to.eq(200); + expect(response.headers['content-type']).to.include('text/csv'); + expect(response.body).to.include( + 'id,username,fullname,email,roles,groups', + ); + expect(response.body).to.include( + 'test_user_1_,test-user,,,Member,AuthenticatedUsers', + ); + }); + }); + }); }); describe('User Control Panel test for many users', () => { beforeEach(() => { diff --git a/packages/volto/locales/af/LC_MESSAGES/volto.po b/packages/volto/locales/af/LC_MESSAGES/volto.po index 156ffce0610..240b0fec2e8 100644 --- a/packages/volto/locales/af/LC_MESSAGES/volto.po +++ b/packages/volto/locales/af/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/ar/LC_MESSAGES/volto.po b/packages/volto/locales/ar/LC_MESSAGES/volto.po index 36770063c41..cd3ffbe20be 100644 --- a/packages/volto/locales/ar/LC_MESSAGES/volto.po +++ b/packages/volto/locales/ar/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/bg/LC_MESSAGES/volto.po b/packages/volto/locales/bg/LC_MESSAGES/volto.po index c738f3a8216..10f0cacdf36 100644 --- a/packages/volto/locales/bg/LC_MESSAGES/volto.po +++ b/packages/volto/locales/bg/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/bn/LC_MESSAGES/volto.po b/packages/volto/locales/bn/LC_MESSAGES/volto.po index eb683e12e91..85fb601d89b 100644 --- a/packages/volto/locales/bn/LC_MESSAGES/volto.po +++ b/packages/volto/locales/bn/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/ca/LC_MESSAGES/volto.po b/packages/volto/locales/ca/LC_MESSAGES/volto.po index ea5f7433ace..a3a9900af80 100644 --- a/packages/volto/locales/ca/LC_MESSAGES/volto.po +++ b/packages/volto/locales/ca/LC_MESSAGES/volto.po @@ -114,6 +114,11 @@ msgstr "Afegeix contingut" msgid "Add Content Rule" msgstr "Afegir regla de contingut" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1239,6 +1244,11 @@ msgstr "Document" msgid "Download Event" msgstr "Descarrega l'esdeveniment" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/cs/LC_MESSAGES/volto.po b/packages/volto/locales/cs/LC_MESSAGES/volto.po index 705a5c1c67f..a1fe8bde1d2 100644 --- a/packages/volto/locales/cs/LC_MESSAGES/volto.po +++ b/packages/volto/locales/cs/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/cy/LC_MESSAGES/volto.po b/packages/volto/locales/cy/LC_MESSAGES/volto.po index 510c531d442..adbd618fe85 100644 --- a/packages/volto/locales/cy/LC_MESSAGES/volto.po +++ b/packages/volto/locales/cy/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/da/LC_MESSAGES/volto.po b/packages/volto/locales/da/LC_MESSAGES/volto.po index f35213ef34f..1174ecd6589 100644 --- a/packages/volto/locales/da/LC_MESSAGES/volto.po +++ b/packages/volto/locales/da/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/de/LC_MESSAGES/volto.po b/packages/volto/locales/de/LC_MESSAGES/volto.po index 10bb4f38de1..dfb51d3c3f4 100644 --- a/packages/volto/locales/de/LC_MESSAGES/volto.po +++ b/packages/volto/locales/de/LC_MESSAGES/volto.po @@ -114,6 +114,11 @@ msgstr "Inhalte hinzufügen" msgid "Add Content Rule" msgstr "Inhaltsregel hinzufügen" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1239,6 +1244,11 @@ msgstr "Seite" msgid "Download Event" msgstr "Termindetails herunterladen" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/el/LC_MESSAGES/volto.po b/packages/volto/locales/el/LC_MESSAGES/volto.po index dd732d7ba10..5d90374e2dd 100644 --- a/packages/volto/locales/el/LC_MESSAGES/volto.po +++ b/packages/volto/locales/el/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/en/LC_MESSAGES/volto.po b/packages/volto/locales/en/LC_MESSAGES/volto.po index e79f92a8cc2..bcad2aef69d 100644 --- a/packages/volto/locales/en/LC_MESSAGES/volto.po +++ b/packages/volto/locales/en/LC_MESSAGES/volto.po @@ -112,6 +112,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1237,6 +1242,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/en_AU/LC_MESSAGES/volto.po b/packages/volto/locales/en_AU/LC_MESSAGES/volto.po index 2399e9a665c..f1ef562b5e0 100644 --- a/packages/volto/locales/en_AU/LC_MESSAGES/volto.po +++ b/packages/volto/locales/en_AU/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/en_GB/LC_MESSAGES/volto.po b/packages/volto/locales/en_GB/LC_MESSAGES/volto.po index 39c31781d84..c5f70fc7188 100644 --- a/packages/volto/locales/en_GB/LC_MESSAGES/volto.po +++ b/packages/volto/locales/en_GB/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/eo/LC_MESSAGES/volto.po b/packages/volto/locales/eo/LC_MESSAGES/volto.po index 09ab9c1696c..2b000e2ec06 100644 --- a/packages/volto/locales/eo/LC_MESSAGES/volto.po +++ b/packages/volto/locales/eo/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/es/LC_MESSAGES/volto.po b/packages/volto/locales/es/LC_MESSAGES/volto.po index d272e1319f2..a818f79b7e9 100644 --- a/packages/volto/locales/es/LC_MESSAGES/volto.po +++ b/packages/volto/locales/es/LC_MESSAGES/volto.po @@ -114,6 +114,11 @@ msgstr "Añadir contenido" msgid "Add Content Rule" msgstr "Añadir regla de contenido" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1239,6 +1244,11 @@ msgstr "Vista de documento" msgid "Download Event" msgstr "Descargar evento" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/et/LC_MESSAGES/volto.po b/packages/volto/locales/et/LC_MESSAGES/volto.po index 5c0525977b8..07f2411fe02 100644 --- a/packages/volto/locales/et/LC_MESSAGES/volto.po +++ b/packages/volto/locales/et/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/eu/LC_MESSAGES/volto.po b/packages/volto/locales/eu/LC_MESSAGES/volto.po index 87c172fd75a..8d2fdcfd9c3 100644 --- a/packages/volto/locales/eu/LC_MESSAGES/volto.po +++ b/packages/volto/locales/eu/LC_MESSAGES/volto.po @@ -114,6 +114,11 @@ msgstr "Gehitu edukia" msgid "Add Content Rule" msgstr "Gehitu eduki erregela" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1239,6 +1244,11 @@ msgstr "Dokumentuaren bista" msgid "Download Event" msgstr "Deskargatu hitzorduaren fitxategia" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/fa/LC_MESSAGES/volto.po b/packages/volto/locales/fa/LC_MESSAGES/volto.po index c7ffd2c9283..220f1dd4d46 100644 --- a/packages/volto/locales/fa/LC_MESSAGES/volto.po +++ b/packages/volto/locales/fa/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/fi/LC_MESSAGES/volto.po b/packages/volto/locales/fi/LC_MESSAGES/volto.po index 89267d1bbcf..32ce4d0cbfa 100644 --- a/packages/volto/locales/fi/LC_MESSAGES/volto.po +++ b/packages/volto/locales/fi/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "Lisää sisältöä" msgid "Add Content Rule" msgstr "Lisää sisältösääntö" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "Dokumenttinäkymä" msgid "Download Event" msgstr "Lataa tapahtuma" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/fr/LC_MESSAGES/volto.po b/packages/volto/locales/fr/LC_MESSAGES/volto.po index 202d69de052..5b0f0b276bb 100644 --- a/packages/volto/locales/fr/LC_MESSAGES/volto.po +++ b/packages/volto/locales/fr/LC_MESSAGES/volto.po @@ -114,6 +114,11 @@ msgstr "Ajouter du contenu" msgid "Add Content Rule" msgstr "Ajouter une règle de contenu" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1239,6 +1244,11 @@ msgstr "Vue document" msgid "Download Event" msgstr "Télécharger l'événement" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/fu/LC_MESSAGES/volto.po b/packages/volto/locales/fu/LC_MESSAGES/volto.po index ce98b92701b..4d3576a97f5 100644 --- a/packages/volto/locales/fu/LC_MESSAGES/volto.po +++ b/packages/volto/locales/fu/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/gl/LC_MESSAGES/volto.po b/packages/volto/locales/gl/LC_MESSAGES/volto.po index 7866e020f5d..7d5c2c806c6 100644 --- a/packages/volto/locales/gl/LC_MESSAGES/volto.po +++ b/packages/volto/locales/gl/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "Engadir Contido" msgid "Add Content Rule" msgstr "Engadir Regra de Contido" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "Vista documento" msgid "Download Event" msgstr "Descargar Evento" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/he/LC_MESSAGES/volto.po b/packages/volto/locales/he/LC_MESSAGES/volto.po index 536b411e4ff..4c20fdae535 100644 --- a/packages/volto/locales/he/LC_MESSAGES/volto.po +++ b/packages/volto/locales/he/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/hi/LC_MESSAGES/volto.po b/packages/volto/locales/hi/LC_MESSAGES/volto.po index 2f6f087cd67..6c32617685f 100644 --- a/packages/volto/locales/hi/LC_MESSAGES/volto.po +++ b/packages/volto/locales/hi/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "जोड़े कंटेंट" msgid "Add Content Rule" msgstr "कंटेंट रूल्स जोड़े" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "दस्तावेज़ दृश्य" msgid "Download Event" msgstr "आयोजन डाउनलोड करें" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/hr/LC_MESSAGES/volto.po b/packages/volto/locales/hr/LC_MESSAGES/volto.po index 302987d803e..54663bdc966 100644 --- a/packages/volto/locales/hr/LC_MESSAGES/volto.po +++ b/packages/volto/locales/hr/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/hu/LC_MESSAGES/volto.po b/packages/volto/locales/hu/LC_MESSAGES/volto.po index 8631d8abe8a..6d6717392b5 100644 --- a/packages/volto/locales/hu/LC_MESSAGES/volto.po +++ b/packages/volto/locales/hu/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/hy/LC_MESSAGES/volto.po b/packages/volto/locales/hy/LC_MESSAGES/volto.po index 451de6dc115..513a43dbb36 100644 --- a/packages/volto/locales/hy/LC_MESSAGES/volto.po +++ b/packages/volto/locales/hy/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/id/LC_MESSAGES/volto.po b/packages/volto/locales/id/LC_MESSAGES/volto.po index e14794119c3..6479fb0069f 100644 --- a/packages/volto/locales/id/LC_MESSAGES/volto.po +++ b/packages/volto/locales/id/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/it/LC_MESSAGES/volto.po b/packages/volto/locales/it/LC_MESSAGES/volto.po index a3b136b0be7..56853a0cf1b 100644 --- a/packages/volto/locales/it/LC_MESSAGES/volto.po +++ b/packages/volto/locales/it/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "Aggiungi un contenuto" msgid "Add Content Rule" msgstr "Aggiungi una regola di contenuto" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "Vista pagina" msgid "Download Event" msgstr "Scarica l'evento" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/ja/LC_MESSAGES/volto.po b/packages/volto/locales/ja/LC_MESSAGES/volto.po index 7829f747c25..463e78971e6 100644 --- a/packages/volto/locales/ja/LC_MESSAGES/volto.po +++ b/packages/volto/locales/ja/LC_MESSAGES/volto.po @@ -114,6 +114,11 @@ msgstr "新規追加" msgid "Add Content Rule" msgstr "コンテンツルールを追加" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1239,6 +1244,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/ka/LC_MESSAGES/volto.po b/packages/volto/locales/ka/LC_MESSAGES/volto.po index 15d592e55c5..799256e67d7 100644 --- a/packages/volto/locales/ka/LC_MESSAGES/volto.po +++ b/packages/volto/locales/ka/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/kn/LC_MESSAGES/volto.po b/packages/volto/locales/kn/LC_MESSAGES/volto.po index be0a906630b..af396ac1ebd 100644 --- a/packages/volto/locales/kn/LC_MESSAGES/volto.po +++ b/packages/volto/locales/kn/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/ko/LC_MESSAGES/volto.po b/packages/volto/locales/ko/LC_MESSAGES/volto.po index 95569acf9e0..ab59506ce92 100644 --- a/packages/volto/locales/ko/LC_MESSAGES/volto.po +++ b/packages/volto/locales/ko/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/lt/LC_MESSAGES/volto.po b/packages/volto/locales/lt/LC_MESSAGES/volto.po index 237c32e1b38..9298ad5401b 100644 --- a/packages/volto/locales/lt/LC_MESSAGES/volto.po +++ b/packages/volto/locales/lt/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/lv/LC_MESSAGES/volto.po b/packages/volto/locales/lv/LC_MESSAGES/volto.po index 20fce5b659e..6320adf9a38 100644 --- a/packages/volto/locales/lv/LC_MESSAGES/volto.po +++ b/packages/volto/locales/lv/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/mi/LC_MESSAGES/volto.po b/packages/volto/locales/mi/LC_MESSAGES/volto.po index c80c2531bd8..f25600477a2 100644 --- a/packages/volto/locales/mi/LC_MESSAGES/volto.po +++ b/packages/volto/locales/mi/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/mk/LC_MESSAGES/volto.po b/packages/volto/locales/mk/LC_MESSAGES/volto.po index c5b92038e8a..7d6bb043457 100644 --- a/packages/volto/locales/mk/LC_MESSAGES/volto.po +++ b/packages/volto/locales/mk/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/my/LC_MESSAGES/volto.po b/packages/volto/locales/my/LC_MESSAGES/volto.po index da9e1fee5e7..405b89aeb4f 100644 --- a/packages/volto/locales/my/LC_MESSAGES/volto.po +++ b/packages/volto/locales/my/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/nb_NO/LC_MESSAGES/volto.po b/packages/volto/locales/nb_NO/LC_MESSAGES/volto.po index dd1e079f4b5..8b9cb21c8d8 100644 --- a/packages/volto/locales/nb_NO/LC_MESSAGES/volto.po +++ b/packages/volto/locales/nb_NO/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/nl/LC_MESSAGES/volto.po b/packages/volto/locales/nl/LC_MESSAGES/volto.po index 585f37e40c5..6f6ed562f76 100644 --- a/packages/volto/locales/nl/LC_MESSAGES/volto.po +++ b/packages/volto/locales/nl/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "Inhoud toevoegen…" msgid "Add Content Rule" msgstr "Inhoudsregel toevoegen" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "Document weergave" msgid "Download Event" msgstr "Evenement downloaden" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/nn/LC_MESSAGES/volto.po b/packages/volto/locales/nn/LC_MESSAGES/volto.po index 7013caad30d..3795e846f85 100644 --- a/packages/volto/locales/nn/LC_MESSAGES/volto.po +++ b/packages/volto/locales/nn/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/pl/LC_MESSAGES/volto.po b/packages/volto/locales/pl/LC_MESSAGES/volto.po index e6082b3160c..0035469f550 100644 --- a/packages/volto/locales/pl/LC_MESSAGES/volto.po +++ b/packages/volto/locales/pl/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/pt/LC_MESSAGES/volto.po b/packages/volto/locales/pt/LC_MESSAGES/volto.po index fce2d9e7126..33e4ba99e49 100644 --- a/packages/volto/locales/pt/LC_MESSAGES/volto.po +++ b/packages/volto/locales/pt/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "Adicionar Conteúdo" msgid "Add Content Rule" msgstr "Adicionar regra de conteúdo" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "Visão do Documento" msgid "Download Event" msgstr "Descarregar evento" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/pt_BR/LC_MESSAGES/volto.po b/packages/volto/locales/pt_BR/LC_MESSAGES/volto.po index 8d4ec017e5a..e05b56e3166 100644 --- a/packages/volto/locales/pt_BR/LC_MESSAGES/volto.po +++ b/packages/volto/locales/pt_BR/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "Adicionar conteúdo" msgid "Add Content Rule" msgstr "Adicionar regra de conteúdo" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "Visão do Documento" msgid "Download Event" msgstr "Baixar evento" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/rm/LC_MESSAGES/volto.po b/packages/volto/locales/rm/LC_MESSAGES/volto.po index 45fdb892a67..61013a09beb 100644 --- a/packages/volto/locales/rm/LC_MESSAGES/volto.po +++ b/packages/volto/locales/rm/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/ro/LC_MESSAGES/volto.po b/packages/volto/locales/ro/LC_MESSAGES/volto.po index 77334416315..e7d90ff8535 100644 --- a/packages/volto/locales/ro/LC_MESSAGES/volto.po +++ b/packages/volto/locales/ro/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "Adăugare conținut" msgid "Add Content Rule" msgstr "Adaugă regulă conținut" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "Vizualizare document" msgid "Download Event" msgstr "Descărcați evenimentul" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/ru/LC_MESSAGES/volto.po b/packages/volto/locales/ru/LC_MESSAGES/volto.po index 3f8559d6503..f92abe7c96e 100644 --- a/packages/volto/locales/ru/LC_MESSAGES/volto.po +++ b/packages/volto/locales/ru/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "Добавить контент" msgid "Add Content Rule" msgstr "Добавить правило контента" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "Вид документа" msgid "Download Event" msgstr "Скачать событие" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/sk/LC_MESSAGES/volto.po b/packages/volto/locales/sk/LC_MESSAGES/volto.po index 1b2fcfbdfe1..242ae4dd0f3 100644 --- a/packages/volto/locales/sk/LC_MESSAGES/volto.po +++ b/packages/volto/locales/sk/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/sl/LC_MESSAGES/volto.po b/packages/volto/locales/sl/LC_MESSAGES/volto.po index a00cfa20937..7e1fb8e3969 100644 --- a/packages/volto/locales/sl/LC_MESSAGES/volto.po +++ b/packages/volto/locales/sl/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/sm/LC_MESSAGES/volto.po b/packages/volto/locales/sm/LC_MESSAGES/volto.po index fa82f98c7e5..5d7531a8f55 100644 --- a/packages/volto/locales/sm/LC_MESSAGES/volto.po +++ b/packages/volto/locales/sm/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/sq/LC_MESSAGES/volto.po b/packages/volto/locales/sq/LC_MESSAGES/volto.po index 10871684ff4..202fbda3514 100644 --- a/packages/volto/locales/sq/LC_MESSAGES/volto.po +++ b/packages/volto/locales/sq/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/sr/LC_MESSAGES/volto.po b/packages/volto/locales/sr/LC_MESSAGES/volto.po index e3fd6ee54c5..7073263c0e2 100644 --- a/packages/volto/locales/sr/LC_MESSAGES/volto.po +++ b/packages/volto/locales/sr/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/sr@cyrl/LC_MESSAGES/volto.po b/packages/volto/locales/sr@cyrl/LC_MESSAGES/volto.po index a5970f39c0c..9e0177536d0 100644 --- a/packages/volto/locales/sr@cyrl/LC_MESSAGES/volto.po +++ b/packages/volto/locales/sr@cyrl/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/sr@latn/LC_MESSAGES/volto.po b/packages/volto/locales/sr@latn/LC_MESSAGES/volto.po index 41f81416a11..a3096b4cffd 100644 --- a/packages/volto/locales/sr@latn/LC_MESSAGES/volto.po +++ b/packages/volto/locales/sr@latn/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/sv/LC_MESSAGES/volto.po b/packages/volto/locales/sv/LC_MESSAGES/volto.po index ab89d6c1cc0..00775bb86ce 100644 --- a/packages/volto/locales/sv/LC_MESSAGES/volto.po +++ b/packages/volto/locales/sv/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "Lägga till innehåll" msgid "Add Content Rule" msgstr "Lägg till innehållsregel" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "Ladda ner evenemang" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/ta/LC_MESSAGES/volto.po b/packages/volto/locales/ta/LC_MESSAGES/volto.po index c2e36441d1c..35de7cf5478 100644 --- a/packages/volto/locales/ta/LC_MESSAGES/volto.po +++ b/packages/volto/locales/ta/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "உள்ளடக்கத்தைச் சேர்க்கவு msgid "Add Content Rule" msgstr "உள்ளடக்க விதியைச் சேர்க்கவும்" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "ஆவணக் காட்சி" msgid "Download Event" msgstr "நிகழ்வைப் பதிவிறக்கவும்" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/te/LC_MESSAGES/volto.po b/packages/volto/locales/te/LC_MESSAGES/volto.po index 8ceb165a2f9..5effaa6a828 100644 --- a/packages/volto/locales/te/LC_MESSAGES/volto.po +++ b/packages/volto/locales/te/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/th/LC_MESSAGES/volto.po b/packages/volto/locales/th/LC_MESSAGES/volto.po index f4b7268f6fa..826185e0a68 100644 --- a/packages/volto/locales/th/LC_MESSAGES/volto.po +++ b/packages/volto/locales/th/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/to/LC_MESSAGES/volto.po b/packages/volto/locales/to/LC_MESSAGES/volto.po index cf6ff9d01c2..bb813f8783f 100644 --- a/packages/volto/locales/to/LC_MESSAGES/volto.po +++ b/packages/volto/locales/to/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/tr/LC_MESSAGES/volto.po b/packages/volto/locales/tr/LC_MESSAGES/volto.po index 5c464b76203..1fa6eda86c0 100644 --- a/packages/volto/locales/tr/LC_MESSAGES/volto.po +++ b/packages/volto/locales/tr/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/uk/LC_MESSAGES/volto.po b/packages/volto/locales/uk/LC_MESSAGES/volto.po index 3d35b22b0cd..2f044c1e9e6 100644 --- a/packages/volto/locales/uk/LC_MESSAGES/volto.po +++ b/packages/volto/locales/uk/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/vi/LC_MESSAGES/volto.po b/packages/volto/locales/vi/LC_MESSAGES/volto.po index b2b1f1be3df..79cfa66f715 100644 --- a/packages/volto/locales/vi/LC_MESSAGES/volto.po +++ b/packages/volto/locales/vi/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/volto.pot b/packages/volto/locales/volto.pot index 9ec18728c85..d73a0238fda 100644 --- a/packages/volto/locales/volto.pot +++ b/packages/volto/locales/volto.pot @@ -109,6 +109,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1234,6 +1239,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/zh_CN/LC_MESSAGES/volto.po b/packages/volto/locales/zh_CN/LC_MESSAGES/volto.po index 0edca67586d..755676b6865 100644 --- a/packages/volto/locales/zh_CN/LC_MESSAGES/volto.po +++ b/packages/volto/locales/zh_CN/LC_MESSAGES/volto.po @@ -114,6 +114,11 @@ msgstr "添加内容" msgid "Add Content Rule" msgstr "添加内容规则" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1239,6 +1244,11 @@ msgstr "文档视图" msgid "Download Event" msgstr "下载事件" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/zh_Hant/LC_MESSAGES/volto.po b/packages/volto/locales/zh_Hant/LC_MESSAGES/volto.po index 85e7068fe4b..3c26792f037 100644 --- a/packages/volto/locales/zh_Hant/LC_MESSAGES/volto.po +++ b/packages/volto/locales/zh_Hant/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/locales/zh_Hant_HK/LC_MESSAGES/volto.po b/packages/volto/locales/zh_Hant_HK/LC_MESSAGES/volto.po index ce7039239e5..d2b171009cd 100644 --- a/packages/volto/locales/zh_Hant_HK/LC_MESSAGES/volto.po +++ b/packages/volto/locales/zh_Hant_HK/LC_MESSAGES/volto.po @@ -113,6 +113,11 @@ msgstr "" msgid "Add Content Rule" msgstr "" +#. Default: "Add Members via CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Add Members via CSV" +msgstr "" + #. Default: "Add Rule" #: components/manage/Controlpanels/Rules/AddRule msgid "Add Rule" @@ -1238,6 +1243,11 @@ msgstr "" msgid "Download Event" msgstr "" +#. Default: "Download Members as CSV" +#: helpers/MessageLabels/MessageLabels +msgid "Download Members as CSV" +msgstr "" + #. Default: "Download file" #: components/theme/View/FileView msgid "Download file" diff --git a/packages/volto/news/8356.feature b/packages/volto/news/8356.feature new file mode 100644 index 00000000000..1c723e5472e --- /dev/null +++ b/packages/volto/news/8356.feature @@ -0,0 +1 @@ +Added functionality to up- and download users via csv file in the users controlpanel. @TimoBroeskamp \ No newline at end of file diff --git a/packages/volto/src/actions/users/users.js b/packages/volto/src/actions/users/users.js index cd21de20baf..b0098c8541c 100644 --- a/packages/volto/src/actions/users/users.js +++ b/packages/volto/src/actions/users/users.js @@ -7,10 +7,12 @@ import qs from 'query-string'; import { CREATE_USER, + UPDATE_USERS_CSV, DELETE_USER, GET_USER, INITIAL_PASSWORD, LIST_USERS, + GET_USERS_CSV, RESET_PASSWORD, UPDATE_PASSWORD, UPDATE_USER, @@ -33,6 +35,17 @@ export function createUser(content, sendPasswordReset = null) { }; } +export function uploadUsersCsv(file) { + return { + type: UPDATE_USERS_CSV, + request: { + op: 'post', + path: '/@users', + attach: [['file', file]], + }, + }; +} + /** * Delete user function. * @function deleteUser @@ -114,6 +127,17 @@ export function listUsers(options = {}) { }; } +export function getUsersCsv() { + return { + type: GET_USERS_CSV, + request: { + op: 'get', + path: '/@users', + headers: { Accept: 'text/csv' }, + }, + }; +} + /** * Update user function * @function updateUser diff --git a/packages/volto/src/components/manage/Controlpanels/Users/UsersControlpanel.jsx b/packages/volto/src/components/manage/Controlpanels/Users/UsersControlpanel.jsx index 91dee032401..b2f20187522 100644 --- a/packages/volto/src/components/manage/Controlpanels/Users/UsersControlpanel.jsx +++ b/packages/volto/src/components/manage/Controlpanels/Users/UsersControlpanel.jsx @@ -8,6 +8,8 @@ import { listUsers, updateUser, getUser, + getUsersCsv, + uploadUsersCsv, } from '@plone/volto/actions/users/users'; import { listRoles } from '@plone/volto/actions/roles/roles'; import { listGroups, updateGroup } from '@plone/volto/actions/groups/groups'; @@ -31,6 +33,8 @@ import clearSVG from '@plone/volto/icons/clear.svg'; import addUserSvg from '@plone/volto/icons/add-user.svg'; import saveSVG from '@plone/volto/icons/save.svg'; import ploneSVG from '@plone/volto/icons/plone.svg'; +import downloadSVG from '@plone/volto/icons/download.svg'; +import uploadSVG from '@plone/volto/icons/upload.svg'; import find from 'lodash/find'; import map from 'lodash/map'; import pull from 'lodash/pull'; @@ -127,6 +131,7 @@ const UsersControlpanel = (props) => { const [isLoading, setIsLoading] = useState(false); const [showAddUser, setShowAddUser] = useState(false); const [addUserError, setAddUserError] = useState(''); + const [showAddCSVImport, setShowCSVImport] = useState(false); const [showDelete, setShowDelete] = useState(false); const [userToDelete, setUserToDelete] = useState(undefined); const [entries, setEntries] = useState([]); @@ -535,6 +540,7 @@ const UsersControlpanel = (props) => { .map((group) => [group.id, group.id]), noValueOption: false, }; + // Add custom fields to the first fieldset if they don't already exist if ( adduserschema.fieldsets && @@ -552,6 +558,85 @@ const UsersControlpanel = (props) => { } } + const csvUploadSchema = { + fieldsets: [ + { + behavior: 'plone', + fields: ['file'], + id: 'default', + title: 'Default', + }, + ], + properties: { + file: { + title: 'CSV File', + description: '\n Drag and drop your CSV file in here.\n ', + factory: 'File', + properties: { + 'file.contentType': { + default: '', + description: 'The content type identifies the type of data.', + factory: 'Text line (String)', + title: 'Content Type', + type: 'string', + }, + 'file.data': { + default: '', + description: 'The actual content of the object.', + factory: 'Text line (String)', + title: 'Data', + type: 'string', + }, + 'file.filename': { + description: '', + factory: 'Text line (String)', + title: 'Filename', + type: 'string', + }, + }, + type: 'object', + widget: 'file', + }, + }, + required: [], + }; + + async function downloadUserCsv(filename = 'users.csv') { + const csvContent = await dispatch(getUsersCsv()); + const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' }); + const url = window.URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = filename; + document.body.appendChild(a); + a.click(); + a.remove(); + window.URL.revokeObjectURL(url); + } + + const handleCsvUpload = (formData) => { + fetch(`data:${formData.file['content-type']};base64,${formData.file.data}`) + .then((res) => res.blob()) + .then((blob) => { + dispatch(uploadUsersCsv(blob)) + .then(() => { + dispatch(listUsers()); + setAddUserError(null); + setShowCSVImport(false); + toast.success( + , + ); + }) + .catch((error) => { + setAddUserError(error.response?.body?.message); + }); + }); + }; + return ( @@ -597,10 +682,60 @@ const UsersControlpanel = (props) => { schema={adduserschema} /> ) : null} + {userschema?.loaded && showAddCSVImport ? ( + { + setShowCSVImport(false); + setAddUserError(undefined); + }} + title={intl.formatMessage(messages.addMemberImport)} + loading={createRequest?.loading} + schema={csvUploadSchema} + /> + ) : null} +
+ + {' '} +
renders a user control component 1`] = ` class="ui segment primary" > Users +
+ + + +
0; + return ( <> {/* aria-live region outside Modal so it persists through open/close cycles */} diff --git a/packages/volto/src/constants/ActionTypes.js b/packages/volto/src/constants/ActionTypes.js index ac7b0ba0d95..ca5f54f1200 100644 --- a/packages/volto/src/constants/ActionTypes.js +++ b/packages/volto/src/constants/ActionTypes.js @@ -12,6 +12,7 @@ export const COPY_CONTENT = 'COPY_CONTENT'; export const CREATE_CONTENT = 'CREATE_CONTENT'; export const CREATE_GROUP = 'CREATE_GROUP'; export const CREATE_USER = 'CREATE_USER'; +export const UPDATE_USERS_CSV = 'UPDATE_USERS_CSV'; export const CUT = 'CUT'; export const DELETE_COMMENT = 'DELETE_COMMENT'; export const DELETE_CONTENT = 'DELETE_CONTENT'; @@ -68,6 +69,7 @@ export const LIST_FILTER_GROUPS = 'LIST_FILTER_GROUPS'; export const LIST_ROLES = 'LIST_ROLES'; export const AUTH_ROLE = 'AUTH_ROLE'; export const LIST_USERS = 'LIST_USERS'; +export const GET_USERS_CSV = 'GET_USERS_CSV'; export const LOGIN = 'LOGIN'; export const LOGIN_RENEW = 'LOGIN_RENEW'; export const LOGOUT = 'LOGOUT'; diff --git a/packages/volto/src/helpers/MessageLabels/MessageLabels.js b/packages/volto/src/helpers/MessageLabels/MessageLabels.js index 36c327830ce..b29d7a472be 100644 --- a/packages/volto/src/helpers/MessageLabels/MessageLabels.js +++ b/packages/volto/src/helpers/MessageLabels/MessageLabels.js @@ -111,6 +111,14 @@ export const messages = defineMessages({ id: 'Add User', defaultMessage: 'Add User', }, + addMemberImport: { + id: 'Add Members via CSV', + defaultMessage: 'Add Members via CSV', + }, + membersCSVExport: { + id: 'Download Members as CSV', + defaultMessage: 'Download Members as CSV', + }, addGroupsFormTitle: { id: 'Add group', defaultMessage: 'Add group', diff --git a/packages/volto/theme/themes/pastanaga/extras/main.less b/packages/volto/theme/themes/pastanaga/extras/main.less index a8b1db2673e..2bdbe67e9bb 100644 --- a/packages/volto/theme/themes/pastanaga/extras/main.less +++ b/packages/volto/theme/themes/pastanaga/extras/main.less @@ -394,11 +394,42 @@ button { } } -.users-control-panel .table { - &::-webkit-scrollbar { - width: 3px; - height: 3px; /* scrollbar height */ - background: transparent; /* optional: just make scrollbar invisible */ +.users-control-panel { + .table { + &::-webkit-scrollbar { + width: 3px; + height: 3px; /* scrollbar height */ + background: transparent; /* optional: just make scrollbar invisible */ + } + } + + .ui.segment.primary { + display: flex; + align-items: center; + justify-content: space-between; + + .users_grid { + display: grid; + grid-template-columns: 1fr 1fr; + justify-items: end; + + .import_members_csv, + .export_members_csv { + display: flex; + align-items: center; + justify-content: center; + padding: 0px 12px; + border: medium; + border-radius: 8px; + background-color: #e8e8e8; + color: rgba(0, 0, 0, 0.7); + + .csv_icon { + margin: 0px 0px 0px 8px; + fill: rgba(0, 0, 0, 0.7); + } + } + } } }