Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 1788-paste_rows_bug
  • 1890-use-collaborator-field-type-in-formulas
  • 2063-formula-extractor-backup-2
  • 2063-formula-extractor-rebase
  • 2117-row_creator_in_history
  • 2173-default-value-number
  • 2173-default-value-single-select
  • 2188-add-file-input-element
  • 2640-add-onboarding-step-that-adds-views-to-the-created-table
  • 2654-add-more-events-to-element-like-click-or-change
  • 2740_patch_with_empty_body
  • 2756_dangling_snapshots_squashed
  • 2951-allow-importing-workspace-applications
  • 2978-async-data-source-loading
  • 2978-improve-perf-by-caching-permissions
  • 3009-row-enters-view-webhook-event-type-2
  • 3020-switching-between-link-variants-removes-associated-actions
  • 3030-record-selector-element-fails-for-form-input-if-primary-field-is-not-the-sort-field-2
  • 3045-hidden-data-follow-ups
  • 3068-add-google-fonts
  • 3077-github-issues-data-sync
  • 3112_number_lookup_filters_with_3110
  • 3135-improvements-for-export-applications-structure
  • 3145-implement-manifest-signing-and-key-management
  • 3145-implement-manifest-signing-and-key-management-with-structure
  • 3167-add-sso-to-ab
  • 3181-data-source-does-not-allow-filtering-based-on-datetime
  • 3189-field-level-edit-permissions
  • 3205-update-cli-for-import-export-to-support-new-format
  • 3245-error-in-repeat-element-after-deleting-link-to-table-field
  • 3245-error-in-repeat-element-after-deleting-link-to-table-field-2
  • 3247-cannot-export-application-with-file
  • 3250-inconsistent-borders-in-table-element
  • 3324_db_date_overflow_handling
  • 3343-usersourcehandler-external-user-counting-optimizations
  • 3360-allow-fully-round-image
  • 3366-past-dates-filter
  • 3432-add-e2e-tests
  • 3453-implement-distribution-aggregation-in-the-local-baserow-aggregate-rows-service
  • 3465-add-positioned-container-element
  • 3465-improve-container-element
  • 3466-allow-flexible-width-columns
  • 3477-menu-element-improvements-1-peter-ordering
  • 3478-link-row-has-filter-array-support
  • 3485-burger-menu
  • 3501-tooltip-does-not-hide-when-value-is-removed-dynamically
  • 3527-add-is_empty-is_not_empty-for-lookup-filters
  • 3536-manage-wa-nodes
  • add-test-helpers
  • ai-generated-options-order-sort
  • airtable-missing-from-import-rapport
  • allow-changing-local-baserow-integration-user
  • allow-multiple-instances
  • asgi-fix
  • automations
  • baserow-mcp
  • builde-fix-sentry-bugs
  • builder-fix-auth-cookie-invalid-sometimes
  • builder-settings-modal
  • dashboard-data-sources
  • dashboard-data-sources-backend-rebased
  • data-sync-mvp
  • deactivate-webhook-on-loop-or-with-too-many
  • debug-celery
  • dev-api-spec-support
  • develop
  • disable-flake-job-test
  • ensure-both-platforms-are-published-in-ci
  • extend-group-compatibility-deadline-sep-2024
  • field-level-perms
  • fix-created-updated-by-filter-fix
  • fix-dashboard-forms
  • fix-flaky-job-test-3
  • fix-multiple-select-sort-fix
  • fix-sort-for-link-row
  • hotfix-0.2.107.1
  • import-file-modal
  • investigate-lookup-perf
  • issue-templates
  • list-all-tables-endpoint
  • makefile-updated-build-targets
  • master
  • member-roles-modal
  • member-team-modals
  • modal-refactor
  • modal-refactor-2
  • mysql-data-sync
  • new-data-variable-component
  • nuxt3
  • per-workspace-update-tsv
  • prepare-1-32-1
  • redesign-row-edit-modal
  • reduce-queries-by-invalidating-one-field
  • reduce-specific-iterator-queries
  • release-1.28
  • remember-select-and-prefetch-related-in-specific
  • render-tests
  • replace-children
  • rows_enter_view_webhook
  • rows_enter_view_webhook-2
  • 0.0.1
  • 0.0.2
  • 0.1.0
  • 0.2.0
  • 0.3.0
  • 0.3.1
  • 0.4.0
  • 0.5.0
  • 0.6.0
  • 0.7.0
  • 0.7.1
  • 0.8.0
  • 1.0.0
  • 1.0.1
  • 1.1.0
  • 1.10.0
  • 1.10.1
  • 1.10.2
  • 1.11.0
  • 1.12.0
  • 1.12.1
  • 1.13.0
  • 1.13.1
  • 1.13.2
  • 1.13.3
  • 1.14.0
  • 1.15.0
  • 1.15.1
  • 1.15.2
  • 1.16.0
  • 1.16.0-rc1
  • 1.16.1-rc1
  • 1.17.0
  • 1.17.1
  • 1.17.2
  • 1.18.0
  • 1.19.0
  • 1.19.1
  • 1.2.0
  • 1.20.0
  • 1.20.1
  • 1.20.2
  • 1.21.0
  • 1.21.1
  • 1.21.2
  • 1.22.0
  • 1.22.1
  • 1.22.2
  • 1.22.3
  • 1.23.0
  • 1.23.1
  • 1.23.2
  • 1.24.0
  • 1.24.1
  • 1.24.2
  • 1.25.0
  • 1.25.1
  • 1.25.2
  • 1.26.0
  • 1.26.1
  • 1.27.0
  • 1.27.1
  • 1.27.2
  • 1.28.0
  • 1.29.0
  • 1.29.1
  • 1.29.2
  • 1.29.3
  • 1.3.0
  • 1.30.0
  • 1.30.1
  • 1.31.0
  • 1.31.1
  • 1.32.0
  • 1.32.1
  • 1.32.2
  • 1.32.3
  • 1.32.4
  • 1.32.5
  • 1.4.0
  • 1.4.1
  • 1.4.2
  • 1.4.3
  • 1.5.0
  • 1.6.0
  • 1.7.0
  • 1.7.1
  • 1.8.0
  • 1.8.1
  • 1.8.2
  • 1.8.3
  • 1.9
  • 1.9.1
193 results

Target

Select target project
  • vendrie01/baserow
  • gaurang5/baserow
  • exscientia/baserow
  • keith23/baserow
  • codedsun/baserow
  • arulk/baserow
  • baserow/baserow
  • aksanoble/baserow
  • raudius/baserow
  • shashikanth-a/baserow
  • madmmas/baserow
  • njoye/baserow
  • pdittaro/baserow
  • kaxline/baserow
  • abulte/baserow
  • gpersons/baserow
  • poiedk/baserow
  • cofin/baserow
  • lekk8282/baserow
  • ManUtopiK/baserow
  • 6220119/baserow
  • fiskandar/baserow
  • frederikduchi/baserow
  • anirbandeb430/baserow
  • briancaffey/baserow
  • makfuse/baserow
  • Chasee/baserow
  • winsonsun/baserow
  • yopero/baserow
  • saschajullmann/baserow
  • wild.kieran/baserow
  • evrenesat/baserow
  • jk2K/baserow
  • nigel-gott/baserow
  • tantv/baserow
  • calvinalvin/baserow
  • stvhanna/baserow
  • vfonic/baserow
  • 91tucao/baserow
  • eyramadjaku/baserow
  • amalic/baserow
  • devlim/baserow
  • jayfk/baserow
  • edotrajan/baserow
  • jrschumacher/baserow
  • jscc/baserow
  • rvasily/baserow
  • sagivo/baserow
  • mweller83/baserow
  • jberends/baserow
  • marcin.gord/baserow
  • influx6/baserow
  • Koding/baserow
  • 50-Course/baserow
  • hengkiardo/baserow
  • michifrey/baserow
  • alistairldavidson/baserow-fork
  • bard/baserow
  • ctran/baserow
  • zxhycxq/baserow
  • HassankSalim/baserow
  • Hmac12/baserow
  • gzhappysky/baserow
  • yesky93/baserow
  • eveningqn1992/baserow
  • bransorem/baserow
  • kenny888/baserow
  • scottblaze/baserow
  • stevecomrie/baserow
  • alexnieddu/baserow
  • nguyenthanhliem.dn.vn/baserow
  • ProgrammerHuang/baserow
  • barelief/baserow
  • ranzj/baserow
  • tangibleai/baserow
  • saarp/baserow
  • youngnicks/baserow
  • andrea.morone/baserow
  • navidmesbah/baserow
  • dynnammo/baserow
  • akagusu/baserow
  • Fenn-CS/baserow
  • naamval/baserow
  • slavomirk/baserow
  • engineerapart/baserow
  • jrmi/baserow
  • anwesh.roy/baserow
  • admariner/baserow
  • hiramfromthechi/baserow
  • dut3062796s/baserow
  • jibe-b/baserow
  • CFarcy/baserow
  • hzeineddine/baserow
  • GetSocialFamous/baserow
  • pashavboss/baserow-filter-added
  • luiscarlosdesouzamenezes/baserow
  • gamma.mahdii/baserow
  • morgendave/baserow
  • israrWZ/baserow
  • jibrel/baserow
  • zhosteven/baserow
  • igaisin/baserow
  • edaubert/baserow
  • alex1431999/baserow
  • wenerme/baserow
  • JosephCaburnay/baserow
  • igelsomino/baserow
  • RickyRomero/baserow
  • zfrancy1/baserow
  • dennisv/baserow
  • silvestrid/baserow
  • GeoMaciolek/baserow
  • liob/baserow
  • yildrmbaris/baserow
  • yelluw/baserow
  • boaztabnine/baserow
  • yutin/baserow
  • nigel_baserow/baserow
  • BerengereAujard/baserow
  • tuladhasum/baserow
  • dustin.turner444/baserow
  • dittorahmat/baserow
  • danielvladco/baserow
  • jackerzz1/baserow
  • alfredo.ardito/baserow
  • miningrest1024/baserow
  • D-Mbithi/baserow
  • thatnewwen/baserow-ff
  • picklepete/baserow
  • musfandi/baserow
  • bikashckarmokar/baserow
  • PTerameta/baserow
  • joeychrys/custom-baserow
  • abdalla5/baserow
  • Getachew7/baserow
  • v3ss0n/darkrow
  • gitlab594/baserow
  • dipaksavaliya/baserow
  • CloudZou/baserow
  • mfts/baserow
  • CristianHdz/local-baserow
  • GQAdonis/baserow
  • tricelex/baserow
  • arenawebrd/baserow
  • jsoref/baserow
  • ipv1337/baserow
  • AlexH9/baserow
  • engineervix/baserow
  • janheinvanasseldonk/baserow-vorkje
  • hckdotng/baserow
  • EdLou16/baserow
  • mtaweela/baserow
  • TriStarGod/baserow
  • weslley.docati/baserow
  • omotolab/baserow
  • gio.stronzo.io/baserow
  • xLight/baserow
  • MegacoderKim/baserow
  • marykim/baserow
  • RevRebel/baserow
  • vjykrthk/baserow
  • qubzen/baserow
  • josprachi/baserow
  • Argimko/baserow
  • minhtruyet/baserow
  • hanadhassan2000/baserow
  • leminhson2398/baserow
  • YoSoySergio/baserow
  • sales117/baserow
  • mjkalasky2/baserow
  • shohanduttaroy99/baserow
  • YasinYA/baserow
  • rhabbachi/baserow
  • ossf-test/baserow
  • jamesrod1878/indi-menki
  • linuxipho/baserow
  • robinmaben/baserow-robinmaben
  • hellosanjeev4/baserow
  • Winfibou/baserow
  • jibe.lestuck/baserow
  • olgatrykush/baserow-fork
  • lacapsule9303614/baserow
  • leelxr/baserow
  • Bhuvnesh875/baserow
  • yinghaochan/baserow
  • inheritedarts/baserow
  • sab-h/baserow
  • Kibet_/baserow
  • maydon/baserow
  • 0x29a/baserow
  • yogeshalkari/baserow
  • ranes/baserow
  • hjain5164/baserow
  • AshiishKarhade/baserow
  • BerkSMBL/baserow
  • yogi721/baserow
  • mansur6/baserow
  • herbethps/baserow
  • rafialhamd/baserow
  • alexpikuta/baserow
  • angelokezimana/baserow
  • ayush.trivedikrish/baserow
  • developers6370122/sourcegraph-batch-pnpm-examples/baserow
  • Iamshankhadeep/baserow
  • alitoch/baserow
  • aszs/baserow
  • shanming0829/baserow
  • ajcerejeira/baserow
  • zkstudio/baserow
  • projectoperations/baserow
  • umedsondoniyor/baserow
  • beocaca/baserow
  • belendia/baserow
  • yosvield/baserow
  • brandnewx/baserow
  • kaiwalyakoparkar/baserow
  • akariv/baserow
  • commvault-gitlab-test/my-projects/imported-projects/baserow
  • hazratbilalhabibi123/open-source-airtable
  • Skhulb375/baserow
  • edorka/baserow
  • wanghost/baserow
  • andrea.disaro/baserow
  • cezio/baserow
  • thisIsJohana5_11/baserow
  • fulldecent/baserow
  • bhavyagogri.23/baserow
  • iconical/baserow
  • abhishekmishragitlab/baserow
  • awesome1986/baserow
  • paulmccarty/baserow
  • sks7420643/baserow
  • gpapad/baserow
  • pat.knight/baserow
  • Hawthorne001/baserow
  • mnail0683/baserow
  • kolabri-cloud/test-repo_baserow_baserow
  • Us3r-gitLab/baserow
  • mando.alvarado.jose/baserow
  • airelandod/baserow
  • blackbird-cloud/baserow
  • armbiant/apache-baserow
  • Pandapsy/baserow
  • armbiant/hive-baserow
  • nazaries.nl/baserow
  • Hawthorne001/main-h
  • NoamLoewenstern/baserow
  • stefanseufert/baserow
  • codehornets/baserow
  • zycck/baserow
  • suryatmodulus/baserow
  • deathnetwork/eee
  • JohnBlood/baserow
  • AHMED_GRIBI/baserow
  • sarawuts_za/baserow
  • 0v0tv/baserow
  • cscredinex0fficial.id/baserow
  • RussPalms/baserow-dev
  • Ahmed-Salem-Null/baserow
  • fsvartwo/baserow
  • joola1/sample-projects/baserow
  • FlorinLacatus/baserow
  • gdatayev/baserow-gadyr
  • armbiant/android-baserow
  • sophie66/baserow
  • tanza9/baserow
  • sophieedesign/baserow
  • draghtnight1/baserow
  • jflysohigh/baserow
  • dustin.turner44/baserow
  • doctor.lakhnov/baserow
  • woss_io/fork-baserow
  • earth-sol/baserow
  • algotechspace/baserow
  • armbian33/android-baserow
  • yumina2021/baserow
  • 0xsjn35/baserow
  • cchmel01/baserow
278 results
Select Git revision
  • 1788-paste_rows_bug
  • 1890-use-collaborator-field-type-in-formulas
  • 2063-formula-extractor-backup-2
  • 2063-formula-extractor-rebase
  • 2117-row_creator_in_history
  • 2173-default-value-number
  • 2173-default-value-single-select
  • 2188-add-file-input-element
  • 2640-add-onboarding-step-that-adds-views-to-the-created-table
  • 2654-add-more-events-to-element-like-click-or-change
  • 2740_patch_with_empty_body
  • 2756_dangling_snapshots_squashed
  • 2951-allow-importing-workspace-applications
  • 2978-async-data-source-loading
  • 2978-improve-perf-by-caching-permissions
  • 3009-row-enters-view-webhook-event-type-2
  • 3020-switching-between-link-variants-removes-associated-actions
  • 3030-record-selector-element-fails-for-form-input-if-primary-field-is-not-the-sort-field-2
  • 3045-hidden-data-follow-ups
  • 3068-add-google-fonts
  • 3077-github-issues-data-sync
  • 3112_number_lookup_filters_with_3110
  • 3135-improvements-for-export-applications-structure
  • 3145-implement-manifest-signing-and-key-management
  • 3145-implement-manifest-signing-and-key-management-with-structure
  • 3167-add-sso-to-ab
  • 3181-data-source-does-not-allow-filtering-based-on-datetime
  • 3189-field-level-edit-permissions
  • 3205-update-cli-for-import-export-to-support-new-format
  • 3245-error-in-repeat-element-after-deleting-link-to-table-field
  • 3245-error-in-repeat-element-after-deleting-link-to-table-field-2
  • 3247-cannot-export-application-with-file
  • 3250-inconsistent-borders-in-table-element
  • 3324_db_date_overflow_handling
  • 3343-usersourcehandler-external-user-counting-optimizations
  • 3360-allow-fully-round-image
  • 3366-past-dates-filter
  • 3432-add-e2e-tests
  • 3453-implement-distribution-aggregation-in-the-local-baserow-aggregate-rows-service
  • 3465-add-positioned-container-element
  • 3465-improve-container-element
  • 3466-allow-flexible-width-columns
  • 3477-menu-element-improvements-1-peter-ordering
  • 3478-link-row-has-filter-array-support
  • 3485-burger-menu
  • 3501-tooltip-does-not-hide-when-value-is-removed-dynamically
  • 3527-add-is_empty-is_not_empty-for-lookup-filters
  • 3536-manage-wa-nodes
  • add-test-helpers
  • ai-generated-options-order-sort
  • airtable-missing-from-import-rapport
  • allow-changing-local-baserow-integration-user
  • allow-multiple-instances
  • asgi-fix
  • automations
  • baserow-mcp
  • builde-fix-sentry-bugs
  • builder-fix-auth-cookie-invalid-sometimes
  • builder-settings-modal
  • dashboard-data-sources
  • dashboard-data-sources-backend-rebased
  • data-sync-mvp
  • deactivate-webhook-on-loop-or-with-too-many
  • debug-celery
  • dev-api-spec-support
  • develop
  • disable-flake-job-test
  • ensure-both-platforms-are-published-in-ci
  • extend-group-compatibility-deadline-sep-2024
  • field-level-perms
  • fix-created-updated-by-filter-fix
  • fix-dashboard-forms
  • fix-flaky-job-test-3
  • fix-multiple-select-sort-fix
  • fix-sort-for-link-row
  • hotfix-0.2.107.1
  • import-file-modal
  • investigate-lookup-perf
  • issue-templates
  • list-all-tables-endpoint
  • makefile-updated-build-targets
  • master
  • member-roles-modal
  • member-team-modals
  • modal-refactor
  • modal-refactor-2
  • mysql-data-sync
  • new-data-variable-component
  • nuxt3
  • per-workspace-update-tsv
  • prepare-1-32-1
  • redesign-row-edit-modal
  • reduce-queries-by-invalidating-one-field
  • reduce-specific-iterator-queries
  • release-1.28
  • remember-select-and-prefetch-related-in-specific
  • render-tests
  • replace-children
  • rows_enter_view_webhook
  • rows_enter_view_webhook-2
  • 0.0.1
  • 0.0.2
  • 0.1.0
  • 0.2.0
  • 0.3.0
  • 0.3.1
  • 0.4.0
  • 0.5.0
  • 0.6.0
  • 0.7.0
  • 0.7.1
  • 0.8.0
  • 1.0.0
  • 1.0.1
  • 1.1.0
  • 1.10.0
  • 1.10.1
  • 1.10.2
  • 1.11.0
  • 1.12.0
  • 1.12.1
  • 1.13.0
  • 1.13.1
  • 1.13.2
  • 1.13.3
  • 1.14.0
  • 1.15.0
  • 1.15.1
  • 1.15.2
  • 1.16.0
  • 1.16.0-rc1
  • 1.16.1-rc1
  • 1.17.0
  • 1.17.1
  • 1.17.2
  • 1.18.0
  • 1.19.0
  • 1.19.1
  • 1.2.0
  • 1.20.0
  • 1.20.1
  • 1.20.2
  • 1.21.0
  • 1.21.1
  • 1.21.2
  • 1.22.0
  • 1.22.1
  • 1.22.2
  • 1.22.3
  • 1.23.0
  • 1.23.1
  • 1.23.2
  • 1.24.0
  • 1.24.1
  • 1.24.2
  • 1.25.0
  • 1.25.1
  • 1.25.2
  • 1.26.0
  • 1.26.1
  • 1.27.0
  • 1.27.1
  • 1.27.2
  • 1.28.0
  • 1.29.0
  • 1.29.1
  • 1.29.2
  • 1.29.3
  • 1.3.0
  • 1.30.0
  • 1.30.1
  • 1.31.0
  • 1.31.1
  • 1.32.0
  • 1.32.1
  • 1.32.2
  • 1.32.3
  • 1.32.4
  • 1.32.5
  • 1.4.0
  • 1.4.1
  • 1.4.2
  • 1.4.3
  • 1.5.0
  • 1.6.0
  • 1.7.0
  • 1.7.1
  • 1.8.0
  • 1.8.1
  • 1.8.2
  • 1.8.3
  • 1.9
  • 1.9.1
193 results
Show changes
Commits on Source (5)
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-06-19 06:11+0000\n"
"POT-Creation-Date: 2024-05-22 20:54+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -50,9 +50,9 @@ msgstr ""
msgid "Data source"
msgstr ""
#: src/baserow/contrib/builder/elements/mixins.py:289
#: src/baserow/contrib/builder/elements/mixins.py:294
#: src/baserow/contrib/builder/elements/mixins.py:299
#: src/baserow/contrib/builder/elements/mixins.py:286
#: src/baserow/contrib/builder/elements/mixins.py:291
#: src/baserow/contrib/builder/elements/mixins.py:296
#, python-format
msgid "Column %(count)s"
msgstr ""
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-06-19 06:11+0000\n"
"POT-Creation-Date: 2024-05-22 20:54+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -106,8 +106,8 @@ msgid ""
"from field \"%(original_field_name)s\" (%(original_field_id)s)"
msgstr ""
#: src/baserow/contrib/database/fields/models.py:371
#: src/baserow/contrib/database/fields/models.py:510
#: src/baserow/contrib/database/fields/models.py:368
#: src/baserow/contrib/database/fields/models.py:507
msgid "The format of the duration."
msgstr ""
......@@ -394,162 +394,162 @@ msgstr ""
msgid "View filter group created"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:488
#: src/baserow/contrib/database/views/actions.py:478
msgid "Update a view filter group"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:489
#: src/baserow/contrib/database/views/actions.py:479
#, python-format
msgid "View filter group updated to \"%(filter_type)s\""
msgstr ""
#: src/baserow/contrib/database/views/actions.py:589
#: src/baserow/contrib/database/views/actions.py:579
msgid "Delete a view filter group"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:590
#: src/baserow/contrib/database/views/actions.py:580
msgid "View filter group deleted"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:744
#: src/baserow/contrib/database/views/actions.py:699
msgid "Create a view sort"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:745
#: src/baserow/contrib/database/views/actions.py:700
#, python-format
msgid "View sorted on field \"%(field_name)s\" (%(field_id)s)"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:829
#: src/baserow/contrib/database/views/actions.py:784
msgid "Update a view sort"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:830
#: src/baserow/contrib/database/views/actions.py:785
#, python-format
msgid "View sort updated on field \"%(field_name)s\" (%(field_id)s)"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:938
#: src/baserow/contrib/database/views/actions.py:893
msgid "Delete a view sort"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:939
#: src/baserow/contrib/database/views/actions.py:894
#, python-format
msgid "View sort deleted from field \"%(field_name)s\" (%(field_id)s)"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1024
#: src/baserow/contrib/database/views/actions.py:979
msgid "Order views"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1024
#: src/baserow/contrib/database/views/actions.py:979
msgid "Views order changed"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1095
#: src/baserow/contrib/database/views/actions.py:1050
msgid "Update view field options"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1096
#: src/baserow/contrib/database/views/actions.py:1051
msgid "ViewFieldOptions updated"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1197
#: src/baserow/contrib/database/views/actions.py:1152
msgid "View slug URL updated"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1198
#: src/baserow/contrib/database/views/actions.py:1153
msgid "View changed public slug URL"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1271
#: src/baserow/contrib/database/views/actions.py:1226
msgid "Update view"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1272
#: src/baserow/contrib/database/views/actions.py:1227
#, python-format
msgid "View \"%(view_name)s\" (%(view_id)s) updated"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1353
#: src/baserow/contrib/database/views/actions.py:1308
msgid "Create view"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1354
#: src/baserow/contrib/database/views/actions.py:1309
#, python-format
msgid "View \"%(view_name)s\" (%(view_id)s) created"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1428
#: src/baserow/contrib/database/views/actions.py:1383
msgid "Duplicate view"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1430
#: src/baserow/contrib/database/views/actions.py:1385
#, python-format
msgid ""
"View \"%(view_name)s\" (%(view_id)s) duplicated from view "
"\"%(original_view_name)s\" (%(original_view_id)s)"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1504
#: src/baserow/contrib/database/views/actions.py:1459
msgid "Delete view"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1505
#: src/baserow/contrib/database/views/actions.py:1460
#, python-format
msgid "View \"%(view_name)s\" (%(view_id)s) deleted"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1567
#: src/baserow/contrib/database/views/actions.py:1522
msgid "Create decoration"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1568
#: src/baserow/contrib/database/views/actions.py:1523
#, python-format
msgid "View decoration %(decorator_id)s created"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1672
#: src/baserow/contrib/database/views/actions.py:1627
msgid "Update decoration"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1673
#: src/baserow/contrib/database/views/actions.py:1628
#, python-format
msgid "View decoration %(decorator_id)s updated"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1810
#: src/baserow/contrib/database/views/actions.py:1765
msgid "Delete decoration"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1811
#: src/baserow/contrib/database/views/actions.py:1766
#, python-format
msgid "View decoration %(decorator_id)s deleted"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1907
#: src/baserow/contrib/database/views/actions.py:1862
msgid "Create a view group"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:1908
#: src/baserow/contrib/database/views/actions.py:1863
#, python-format
msgid "View grouped on field \"%(field_name)s\" (%(field_id)s)"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:2008
#: src/baserow/contrib/database/views/actions.py:1963
msgid "Update a view group"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:2009
#: src/baserow/contrib/database/views/actions.py:1964
#, python-format
msgid "View group by updated on field \"%(field_name)s\" (%(field_id)s)"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:2137
#: src/baserow/contrib/database/views/actions.py:2092
msgid "Delete a view group"
msgstr ""
#: src/baserow/contrib/database/views/actions.py:2138
#: src/baserow/contrib/database/views/actions.py:2093
#, python-format
msgid "View group by deleted from field \"%(field_name)s\" (%(field_id)s)"
msgstr ""
......
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-06-19 06:11+0000\n"
"POT-Creation-Date: 2024-05-22 20:54+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -215,16 +215,7 @@ msgstr ""
msgid "You have %(count)d new notifications - Baserow"
msgstr ""
#: src/baserow/core/fields.py:112
#, python-format
msgid "“%(value)s” value must be a decimal number."
msgstr ""
#: src/baserow/core/fields.py:114
msgid "Decimal number"
msgstr ""
#: src/baserow/core/handler.py:2039 src/baserow/core/user/handler.py:266
#: src/baserow/core/handler.py:1985 src/baserow/core/user/handler.py:261
#, python-format
msgid "%(name)s's workspace"
msgstr ""
......@@ -443,80 +434,80 @@ msgstr ""
msgid "User \"%(user_email)s\" (%(user_id)s) updated"
msgstr ""
#: src/baserow/core/user/actions.py:178
#: src/baserow/core/user/actions.py:176
msgid "Schedule user deletion"
msgstr ""
#: src/baserow/core/user/actions.py:180
#: src/baserow/core/user/actions.py:178
#, python-format
msgid ""
"User \"%(user_email)s\" (%(user_id)s) scheduled to be deleted after grace "
"time"
msgstr ""
#: src/baserow/core/user/actions.py:214
#: src/baserow/core/user/actions.py:212
msgid "Cancel user deletion"
msgstr ""
#: src/baserow/core/user/actions.py:216
#: src/baserow/core/user/actions.py:214
#, python-format
msgid ""
"User \"%(user_email)s\" (%(user_id)s) logged in cancelling the deletion "
"process"
msgstr ""
#: src/baserow/core/user/actions.py:250
#: src/baserow/core/user/actions.py:248
msgid "Sign In User"
msgstr ""
#: src/baserow/core/user/actions.py:252
#: src/baserow/core/user/actions.py:250
#, python-format
msgid ""
"User \"%(user_email)s\" (%(user_id)s) signed in via "
"\"%(auth_provider_type)s\" (%(auth_provider_id)s) auth provider"
msgstr ""
#: src/baserow/core/user/actions.py:309
#: src/baserow/core/user/actions.py:307
msgid "Send reset user password"
msgstr ""
#: src/baserow/core/user/actions.py:310
#: src/baserow/core/user/actions.py:308
#, python-format
msgid "User \"%(user_email)s\" (%(user_id)s) requested to reset password"
msgstr ""
#: src/baserow/core/user/actions.py:343
#: src/baserow/core/user/actions.py:341
msgid "Change user password"
msgstr ""
#: src/baserow/core/user/actions.py:344
#: src/baserow/core/user/actions.py:342
#, python-format
msgid "User \"%(user_email)s\" (%(user_id)s) changed password"
msgstr ""
#: src/baserow/core/user/actions.py:383
#: src/baserow/core/user/actions.py:381
msgid "Reset user password"
msgstr ""
#: src/baserow/core/user/actions.py:384
#: src/baserow/core/user/actions.py:382
#, python-format
msgid "User \"%(user_email)s\" (%(user_id)s) reset password"
msgstr ""
#: src/baserow/core/user/actions.py:420
#: src/baserow/core/user/actions.py:418
msgid "Send verify email"
msgstr ""
#: src/baserow/core/user/actions.py:421
#: src/baserow/core/user/actions.py:419
#, python-format
msgid "User \"%(user_email)s\" (%(user_id)s) requested to verify email"
msgstr ""
#: src/baserow/core/user/actions.py:454
#: src/baserow/core/user/actions.py:452
msgid "Verify email"
msgstr ""
#: src/baserow/core/user/actions.py:455
#: src/baserow/core/user/actions.py:453
#, python-format
msgid "User \"%(user_email)s\" (%(user_id)s) verify email"
msgstr ""
......@@ -536,12 +527,3 @@ msgstr ""
#: src/baserow/core/user/emails.py:74
msgid "Account deletion cancelled - Baserow"
msgstr ""
#: src/baserow/core/user_sources/user_source_user.py:78
msgid "No role"
msgstr ""
#: src/baserow/core/user_sources/user_source_user.py:80
#, python-format
msgid "All members of %(user_source_name)s"
msgstr ""
......@@ -2,12 +2,10 @@ from typing import Any, List, Optional, Union
from django.contrib.auth import models as auth_models
from django.db.models.manager import EmptyManager
from django.utils.translation import gettext as _
from rest_framework_simplejwt.settings import api_settings as jwt_settings
from baserow.core.user_sources.constants import (
DEFAULT_USER_ROLE_PREFIX,
EMAIL_CLAIM,
ROLE,
USER_SOURCE_CLAIM,
......@@ -75,15 +73,6 @@ class UserSourceUser:
refresh[jwt_settings.USER_ID_CLAIM] = self.id
refresh[ROLE] = self.role
# Note: If you change these two translations, please also remember to
# update their frontend counterparts in `en.json::visibilityForm`
if not self.role:
refresh[ROLE] = _("No role")
elif self.role.startswith(DEFAULT_USER_ROLE_PREFIX):
refresh[ROLE] = _("All members of %(user_source_name)s") % {
"user_source_name": self.user_source.name
}
return refresh
def update_refresh_token(self, refresh):
......
......@@ -752,6 +752,40 @@ def test_auth_user_can_view_element_returns_expected_bool(
assert result is expected_bool_result
@pytest.mark.django_db
@pytest.mark.parametrize(
"role,expected_role",
[
("foo_role", "foo_role"),
("bar_role", "bar_role"),
("", ""),
(" ", " "),
],
)
def test_get_roles_returns_role(
ab_builder_user_page,
role,
expected_role,
):
"""
Test the UserSourceUser::get_role() method. Ensure the expected
role is returned.
"""
public_user_source, _, _ = ab_builder_user_page
user_source_user = UserSourceUser(
public_user_source,
None,
1,
"foo_username",
"foo@bar.com",
role,
)
assert user_source_user.get_role() == expected_role
@pytest.mark.parametrize(
"role,roles,role_type",
[
......
......@@ -1241,14 +1241,16 @@ def role_field_id_test_fixture(data_fixture):
user = data_fixture.create_user()
workspace = data_fixture.create_workspace(user=user)
application = data_fixture.create_builder_application(workspace=workspace)
integration = data_fixture.create_local_baserow_integration(application=application)
local_baserow_user_source_type = user_source_type_registry.get("local_baserow")
user_source = data_fixture.create_user_source(
local_baserow_user_source_type.model_class,
application=application,
integration=integration,
)
return user, user_source, application
return user, user_source, application, workspace, integration
@pytest.mark.django_db
......@@ -1284,7 +1286,7 @@ def test_prepare_values_role_field_id_raises_if_field_doesnt_exist(
Ensure an exception is raised if the role_field is missing.
"""
user, user_source, _ = role_field_id_test_fixture
user, user_source, _, _, _ = role_field_id_test_fixture
users_table = data_fixture.create_database_table(name="test_users")
role_field = data_fixture.create_text_field(table=users_table, order=0, name="role")
......@@ -1316,7 +1318,7 @@ def test_prepare_values_role_field_id_raises_if_field_id_mismatch(
the table's ID.
"""
user, user_source, application = role_field_id_test_fixture
user, user_source, application, _, _ = role_field_id_test_fixture
users_table = data_fixture.create_database_table(name="test_users")
role_field = data_fixture.create_text_field(table=users_table, order=0, name="role")
......@@ -1385,7 +1387,7 @@ def test_prepare_values_role_field_id_raises_if_field_type_wrong(
Ensure an exception is raised if the role field's type is not allowed.
"""
user, user_source, _ = role_field_id_test_fixture
user, user_source, _, _, _ = role_field_id_test_fixture
users_table = data_fixture.create_database_table(name="test_users")
role_field = getattr(data_fixture, field_creator)(
......@@ -1423,7 +1425,7 @@ def test_prepare_values_role_field_id_returns_values(
Ensure that the expected values dict is returned for the valid field types.
"""
user, user_source, _ = role_field_id_test_fixture
user, user_source, _, _, _ = role_field_id_test_fixture
users_table = data_fixture.create_database_table(name="test_users")
role_field = getattr(data_fixture, field_creator)(
......@@ -1473,6 +1475,45 @@ def test_prepare_values_role_field_id_returns_empty_values_if_role_field_id_is_n
assert "role_field_id" not in values
@pytest.mark.django_db
def test_prepare_values_sets_role_field_to_none(
data_fixture,
role_field_id_test_fixture,
):
"""
Test the prepare_values() method when the "role_field_id" is
missing in values.
Ensure that role_field with a value of None is added to values.
"""
user, user_source, _, workspace, integration = role_field_id_test_fixture
database = data_fixture.create_database_application(workspace=workspace)
users_table = data_fixture.create_database_table(
name="test_users", database=database
)
other_table = data_fixture.create_database_table(
name="test_other", database=database
)
role_field = data_fixture.create_text_field(table=users_table, order=0, name="role")
user_source.table = users_table
user_source.role_field = role_field
user_source.save()
values = LocalBaserowUserSourceType().prepare_values(
{
"table_id": other_table.id,
"integration": integration,
},
user,
user_source,
)
assert values["role_field"] is None
@pytest.mark.django_db
def test_get_user_role_returns_role(data_fixture):
"""Ensure the get_user_role() method returns a specific user role."""
......
......@@ -3,6 +3,7 @@ import { DataProviderType } from '@baserow/modules/core/dataProviderTypes'
import { getValueAtPath } from '@baserow/modules/core/utils/object'
import { defaultValueForParameterType } from '@baserow/modules/builder/utils/params'
import { DEFAULT_USER_ROLE_PREFIX } from '@baserow/modules/builder/constants'
import { PAGE_PARAM_TYPE_VALIDATION_FUNCTIONS } from '@baserow/modules/builder/enums'
export class DataSourceDataProviderType extends DataProviderType {
......@@ -582,7 +583,7 @@ export class UserDataProviderType extends DataProviderType {
}
getDataContent(applicationContext) {
return {
const context = {
is_authenticated: this.app.store.getters[
'userSourceUser/isAuthenticated'
](applicationContext.builder),
......@@ -590,6 +591,22 @@ export class UserDataProviderType extends DataProviderType {
applicationContext.builder
),
}
if (!context.role.trim().length) {
context.role = this.app.i18n.t('visibilityForm.noRole')
} else if (context.role.startsWith(DEFAULT_USER_ROLE_PREFIX)) {
const loggedUser = this.app.store.getters['userSourceUser/getUser'](
applicationContext.builder
)
const userSourceName = this.app.store.getters[
'userSource/getUserSourceById'
](applicationContext.builder, loggedUser.user_source_id).name
context.role = this.app.i18n.t('visibilityForm.rolesAllMembersOf', {
name: userSourceName,
})
}
return context
}
getDataSchema(applicationContext) {
......