This project is mirrored from https://github.com/metabase/metabase.
Pull mirroring updated .
- Jun 24, 2022
-
-
metamben authored
-
Ariya Hidayat authored
-
Alexander Polyankin authored
-
Ryan Laurie authored
* show field options in popover
-
Alexander Polyankin authored
-
Diogo Mendes authored
-
Cal Herries authored
-
- Jun 23, 2022
-
-
adam-james authored
* application-colors have new keys that may be added via the getter Some colors previously had multiple usage contexts. For example, `accent1` was used both in charts and other parts of the summarize UI. Now, those notions are being separated, so `accent1` remains a valid key, and `summarize` is a new valid key. To make sure behaviour remains the same for existing whitelabel users who may have set these keys, when such a key exists, it is 'split' by the getter. For example, if the existing application-colors json contains `accent1`, the getter will add a new key `summarize` with the same value as `accent1`, but only if `accent1` already exists, otherwise it does nothing. This is also true for keys `brand`, which adds `accent0`, and `accent7`, which adds `filter` * Make application colors getter make change only once * Premium feature flag for test
-
Ariya Hidayat authored
-
Ryan Laurie authored
Add Inline Date picker to bulk filter modal
-
Cal Herries authored
* Stop caching /api/geojson/:key requests * Remove extra require
-
Nick Fitzpatrick authored
-
Braden Shepherdson authored
This supports serialization of only Collections and Settings so far, but it demonstrates the design of the new serialization system. `metabase.models.serialization.base` defines the multimethods, which are to be implemented by all the exported models eventually. The actual serialization code that drives the larger process is in `metabase_enterprise.serialization.v2.extract` and `.merge`, since serialization is an enterprise feature. The design calls for two matching phases on each side: - Serialization is extract + store; - Deserialization is ingest + load. Extract and load deal with vanilla Clojure maps with a `serdes/meta` key giving common details; they deliberately know nothing about files. Store and ingest deal with the storage medium and the process of listing and reading a stored export. Laziness is retained: the `load` process ingests full details on demand, so only the metadata of the importing database needs to fit in memory.
-
Alexander Polyankin authored
-
Alexander Polyankin authored
-
Mahatthana (Kelvin) Nomsawadi authored
Since I forgot to add a condition to only test pro/enterprise version only.
-
Ryan Laurie authored
* better filter validity check
-
dpsutton authored
* Allow for disabling settings Disabled settings will return their default value (else nil if no default is set). This allows us to have enterprise override settings and use them from regular OSS code without classloaders, extra vars, remembering to check if the feature is enabled, etc. Motivating examples are the appearance settings. We allow `application-font` setting to change the font of the application. This is an enterprise feature, but anyone can post to `api/setting/application-font` and set a new value or startup as `MB_APPLICATION_FONT=comic-sans java -jar metabase.jar` and have the functionality. Same thing for application colors in static viz. The calling code just calls `(settings/application-colors)` and uses them but doesn't check if the enterprise settings are enabled. To do this correctly, you have to remember to implement the following onerous procedure: A whole namespace for a setting ```clojure (ns metabase-enterprise.embedding.utils (:require [metabase.models.setting :as setting :refer [defsetting]] [metabase.public-settings :as public-settings] [metabase.public-settings.premium-features :as premium-features] [metabase.util.i18n :refer [deferred-tru]])) (defsetting notification-link-base-url (deferred-tru "By default \"Site Url\" is used in notification links, but can be overridden.") :visibility :internal :getter (fn [] (when (premium-features/hide-embed-branding?) (or (setting/get-value-of-type :string :notification-link-base-url) (public-settings/site-url))))) ``` And then in the calling code you have to do the procedure to conditionally require it and put it behind a var that can handle it being nil: ```clojure ;; we want to load this at the top level so the Setting the namespace defines gets loaded (def ^:private site-url* (or (u/ignore-exceptions (classloader/require 'metabase-enterprise.embedding.utils) (resolve 'metabase-enterprise.embedding.utils/notification-link-base-url)) (constantly nil))) ;; and then the usage (defn- site-url "Return the Notification Link Base URL if set by enterprise env var, or Site URL." [] (or (site-url*) (public-settings/site-url))) ``` Far nicer to just place the following into the regular public-settings namespace: ```clojure (defsetting notification-link-base-url (deferred-tru "By default \"Site Url\" is used in notification links, but can be overridden.") :visibility :internal :enabled? premium-features/hide-embed-branding?) ``` Then no need for a custom namespace to hold this setting, no need to have an extra var to point to the setting else a fallback value. Note that this feature is not required on every enterprise feature we have. We a namespace `metabase-enterprise.sso.integrations.sso-settings` that has 24 settings in it, all of which are enterprise features. But these features are used in our enterprise sso offerings and are directly referenced from the enterprise features. No need for the extra var to point to them and the flag checks happen in other parts. * Mark the UI/UX customization settings as requiring whitelabeling Mark the following settings as requiring premium-settings/enable-whitelabeling? (aka token check) - application-name - loading-message (override of "doing science") - show-metabot (override of showing our friendly metabot) - application-colors - application-font - application-logo-url - application-favicon-url Updates the helper functions for colors to use the setting rather than feeling entitled to use a lower level `setting/get-value-of-type`. We need the higher level api so it takes into account if its enabled or not. * Move notification-link-base-url into regular settings with enabled? * Cleanup ns
-
Ariya Hidayat authored
-
Mahatthana (Kelvin) Nomsawadi authored
* Hide password + user form fields when logged in via JWT and SAML * ngoc - update the maybe-add-sso_soruce * Address review: removing deprecated Cypress functions Co-authored-by:
Ngoc Khuat <qn.khuat@gmail.com>
-
Ngoc Khuat authored
* make schema for parameters and parameter_mappings more strict * no duplicate id for parameterlist in mbql schema * reverse a change in mbql schema * allow blank name and slug for parameter * add sectionId * trying to use mbql.s/Parameter instead * reverse change to use mbql.s/Parameter, there are too many failing tests
-
Cal Herries authored
-
Mahatthana (Kelvin) Nomsawadi authored
* Configure show download button in embedding * Address review + fix tests
-
- Jun 22, 2022
-
-
metamben authored
-
Nick Fitzpatrick authored
-
Nick Fitzpatrick authored
-
Ryan Laurie authored
*Inline key + text pickers
-
Jeff Bruemmer authored
-
Ryan Laurie authored
* add inline category filters
-
Ngoc Khuat authored
* Grant Snippets root collection for all users * update perms path * update cypress test * Update repro for #17268 * remove trailing spaces * don't run migration on existing EE instances * fix migration failed in mysql and mariadb * run migration for new instances only Co-authored-by:
Nemanja <31325167+nemanjaglumac@users.noreply.github.com>
-
Alexander Kiselev authored
* TS upgrade * upgrade tslint too
-
- Jun 21, 2022
-
-
metamben authored
* Add collection_preview field to report_card table * Convert bits from MySQL/MariaDB union queries into booleans
-
Cal Herries authored
-
Cal Herries authored
* Add reply-to setting for emails * Add reply-to to SMTPSettings * Change setting UI to match spec * Remove WIP comment * Add email-from-name setting * Support comma delimited list of emails for reply-to setting * Remove extra require * Remove console.logging * Improve the setting descriptions * update email settings * For now, limit reply-to field to one email * Change back SMTPSettings to closed map * Change test to only one reply-to email * Fix SMTPSettings reply-to type * Fix email-api-test * Fix e2e email setup * Add more checks in e2e tests * Fix smoketest Co-authored-by:
Aleksandr Lesnenko <alxnddr@gmail.com>
-
Noah Moss authored
* first pass at updating parameter validation to include notebook cards and match template tags by either ID or name * fix existing tests * fix more tests * new test * more refactor and another test * Update src/metabase/query_processor/card.clj Co-authored-by:
Ngoc Khuat <qn.khuat@gmail.com> * update names to ngoc's suggestions * Update test/metabase/query_processor/card_test.clj Co-authored-by:
Cam Saul <1455846+camsaul@users.noreply.github.com> * Update src/metabase/query_processor/card.clj Co-authored-by:
Cam Saul <1455846+camsaul@users.noreply.github.com> * specific error msg for missing id on request param Co-authored-by:
Ngoc Khuat <qn.khuat@gmail.com> Co-authored-by:
Cam Saul <1455846+camsaul@users.noreply.github.com>
-
Nick Fitzpatrick authored
-
Alexander Polyankin authored
-
Nemanja Glumac authored
-
Nemanja Glumac authored
* Remove redundant check * Delete data model tests from the admin setup spec * Refactor hide tables spec * Remove admin_setup spec * Add a dummy test so that CircleCI job doesn't fail
-
Nemanja Glumac authored
* Remove various admin checks from smoke tests * Move repro 22754 over to `onboarding > setup` * Remove `admin` spec from smoke tests
-