Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions src/CONST/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1441,7 +1441,6 @@ const CONST = {
ANCHORED_FIELD_DROPDOWNS: 'anchoredFieldDropdowns',
COMPANY_AGENTS: 'companyAgents',
RESIZABLE_TABLE_COLUMNS: 'resizableTableColumns',
DESCRIBE_RULE: 'describeRule',
TRAVEL_APPROVAL: 'travelApproval',
},
BUTTON_STATES: {
Expand Down Expand Up @@ -10605,7 +10604,6 @@ const CONST = {
NEW_RULE_MENU_ITEM_FLAG_FOR_REVIEW: 'WorkspaceRules-NewRuleMenuItem-FlagForReview',
NEW_RULE_MENU_ITEM_REQUIRE_FIELDS: 'WorkspaceRules-NewRuleMenuItem-RequireFields',
NEW_RULE_MENU_ITEM_APPLY_EXPENSE_DEFAULTS: 'WorkspaceRules-NewRuleMenuItem-ApplyExpenseDefaults',
NEW_RULE_MENU_ITEM_CREATE_AGENT_RULE: 'WorkspaceRules-NewRuleMenuItem-CreateAgentRule',
REQUIRE_RECEIPTS_SAVE: 'WorkspaceRules-RequireReceiptsSave',
REQUIRE_FIELDS_SAVE: 'WorkspaceRules-RequireFieldsSave',
FLAG_RECEIPT_LINE_ITEMS_SAVE: 'WorkspaceRules-FlagReceiptLineItemsSave',
Expand Down
5 changes: 1 addition & 4 deletions src/languages/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8897,11 +8897,8 @@ Fügen Sie weitere Ausgabelimits hinzu, um den Cashflow Ihres Unternehmens zu sc
applyExpenseDefaultsDescription: 'Felder automatisch aktualisieren',
flagForReview: 'Zur Überprüfung markieren',
flagForReviewDescription: 'Benachrichtigen, wenn Ihre Bedingungen erfüllt sind',
requireFields: 'Feldanforderungen festlegen',
requireFieldsShort: 'Felder vorschreiben',
requireFields: 'Felder vorschreiben',
requireFieldsDescription: 'Belege, Kategorien usw.',
createAgentRule: 'Agentenregel beschreiben',
createAgentRuleDescription: 'Erstellen Sie flexible Regeln, die ausgeführt werden, wenn Sie sie benötigen.',
describeItBelow: 'Oder beschreiben Sie sie einfach unten',
describeRulePlaceholder: 'Alle Ausgaben über 2.000 $ blockieren',
selectTemplateOrDescribe: 'Wählen Sie eine Vorlage aus oder beschreiben Sie eine Regel, um fortzufahren',
Expand Down
5 changes: 1 addition & 4 deletions src/languages/el.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8985,13 +8985,10 @@ ${reportName}`,
restrictCardSpendDescription: 'Μπλοκάρετε ή περιορίστε τις δαπάνες στο σημείο πώλησης',
flagForReview: 'Σημείωση για έλεγχο',
flagForReviewDescription: 'Ειδοποίηση όταν πληρούνται οι προϋποθέσεις σας',
requireFields: 'Ορίστε απαιτήσεις πεδίου',
requireFieldsShort: 'Απαίτηση πεδίων',
requireFields: 'Απαίτηση πεδίων',
requireFieldsDescription: 'Αποδείξεις, κατηγορίες κ.λπ.',
applyExpenseDefaults: 'Εφαρμογή προεπιλογών δαπανών',
applyExpenseDefaultsDescription: 'Αυτόματη ενημέρωση πεδίων',
createAgentRule: 'Περιγράψτε τον κανόνα πράκτορα',
createAgentRuleDescription: 'Δημιουργήστε ευέλικτους κανόνες που εκτελούνται όταν τους χρειάζεστε.',
describeItBelow: 'Ή απλώς περιγράψτε τον παρακάτω',
describeRulePlaceholder: 'Αποκλεισμός όλων των δαπανών άνω των 2.000 $',
selectTemplateOrDescribe: 'Επιλέξτε ένα πρότυπο ή περιγράψτε έναν κανόνα για να συνεχίσετε',
Expand Down
5 changes: 1 addition & 4 deletions src/languages/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9261,13 +9261,10 @@ const translations = {
restrictCardSpendDescription: 'Block or limit spend at the point of sale',
flagForReview: 'Flag for review',
flagForReviewDescription: 'Notify when your conditions are met',
requireFields: 'Set field requirements',
requireFieldsShort: 'Require fields',
requireFields: 'Require fields',
requireFieldsDescription: 'Receipts, categories, etc.',
applyExpenseDefaults: 'Apply expense defaults',
applyExpenseDefaultsDescription: 'Update fields automatically',
createAgentRule: 'Describe agent rule',
createAgentRuleDescription: 'Create flexible rules that run when you need.',
describeItBelow: 'Or just describe it below',
describeRulePlaceholder: 'Block all spend above $2,000',
selectTemplateOrDescribe: 'Select a template or describe a rule to continue',
Expand Down
5 changes: 1 addition & 4 deletions src/languages/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8905,11 +8905,8 @@ ${reportName}`,
applyExpenseDefaultsDescription: 'Actualizar campos automáticamente',
flagForReview: 'Marcar para revisión',
flagForReviewDescription: 'Notificar cuando se cumplan tus condiciones',
requireFields: 'Configurar requisitos de campos',
requireFieldsShort: 'Exigir campos',
requireFields: 'Exigir campos',
requireFieldsDescription: 'Recibos, categorías, etc.',
createAgentRule: 'Describir regla de agente',
createAgentRuleDescription: 'Crea reglas flexibles que se ejecuten cuando las necesites.',
describeItBelow: 'O simplemente descríbela abajo',
describeRulePlaceholder: 'Bloquear todos los gastos superiores a $2,000',
selectTemplateOrDescribe: 'Selecciona una plantilla o describe una regla para continuar',
Expand Down
5 changes: 1 addition & 4 deletions src/languages/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8920,11 +8920,8 @@ Ajoutez davantage de règles de dépenses pour protéger la trésorerie de l’e
applyExpenseDefaultsDescription: 'Mettre à jour les champs automatiquement',
flagForReview: 'Marquer pour examen',
flagForReviewDescription: 'Avertir lorsque vos conditions sont remplies',
requireFields: 'Définir les exigences des champs',
requireFieldsShort: 'Exiger des champs',
requireFields: 'Exiger des champs',
requireFieldsDescription: 'Reçus, catégories, etc.',
createAgentRule: 'Décrire la règle de l’agent',
createAgentRuleDescription: 'Créez des règles flexibles qui s’exécutent quand vous en avez besoin.',
describeItBelow: 'Ou décrivez-la simplement ci-dessous',
describeRulePlaceholder: 'Bloquer toutes les dépenses supérieures à 2 000 $',
selectTemplateOrDescribe: 'Sélectionnez un modèle ou décrivez une règle pour continuer',
Expand Down
5 changes: 1 addition & 4 deletions src/languages/it.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8851,11 +8851,8 @@ Aggiungi altre regole di spesa per proteggere il flusso di cassa aziendale.`,
applyExpenseDefaultsDescription: 'Aggiorna i campi automaticamente',
flagForReview: 'Contrassegna per revisione',
flagForReviewDescription: 'Avvisa quando le tue condizioni sono soddisfatte',
requireFields: 'Imposta i requisiti del campo',
requireFieldsShort: 'Richiedi campi',
requireFields: 'Richiedi campi',
requireFieldsDescription: 'Ricevute, categorie, ecc.',
createAgentRule: 'Descrivi regola agente',
createAgentRuleDescription: 'Crea regole flessibili che vengono eseguite quando ne hai bisogno.',
describeItBelow: 'Oppure descrivila qui sotto',
describeRulePlaceholder: 'Blocca tutte le spese superiori a 2.000 $',
selectTemplateOrDescribe: 'Seleziona un modello o descrivi una regola per continuare',
Expand Down
5 changes: 1 addition & 4 deletions src/languages/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8736,11 +8736,8 @@ ${reportName}`,
applyExpenseDefaultsDescription: 'フィールドを自動で更新する',
flagForReview: '確認のためにフラグを付ける',
flagForReviewDescription: '条件が満たされたときに通知する',
requireFields: 'フィールドの必須条件を設定',
requireFieldsShort: '必須フィールド',
requireFields: '必須フィールド',
requireFieldsDescription: '領収書、カテゴリなど',
createAgentRule: 'エージェントルールの説明',
createAgentRuleDescription: '必要なときに実行される柔軟なルールを作成できます。',
describeItBelow: 'または、下で説明してください',
describeRulePlaceholder: '2,000ドルを超えるすべての支出をブロック',
selectTemplateOrDescribe: '続行するには、テンプレートを選択するかルールを説明してください',
Expand Down
5 changes: 1 addition & 4 deletions src/languages/nl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8825,11 +8825,8 @@ er bestedingsregels toe om de kasstroom van het bedrijf te beschermen.`,
applyExpenseDefaultsDescription: 'Velden automatisch bijwerken',
flagForReview: 'Markeren voor controle',
flagForReviewDescription: 'Melding wanneer aan je voorwaarden is voldaan',
requireFields: 'Veldvereisten instellen',
requireFieldsShort: 'Velden verplichten',
requireFields: 'Velden verplichten',
requireFieldsDescription: 'Bonnen, categorieën, enz.',
createAgentRule: 'Agentregel beschrijven',
createAgentRuleDescription: 'Maak flexibele regels die worden uitgevoerd wanneer jij dat nodig hebt.',
describeItBelow: 'Of beschrijf hem hieronder',
describeRulePlaceholder: 'Blokkeer alle uitgaven boven $2.000',
selectTemplateOrDescribe: 'Selecteer een sjabloon of beschrijf een regel om door te gaan',
Expand Down
5 changes: 1 addition & 4 deletions src/languages/pl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8852,11 +8852,8 @@ Dodaj więcej zasad wydatków, żeby chronić płynność finansową firmy.`,
applyExpenseDefaultsDescription: 'Aktualizuj pola automatycznie',
flagForReview: 'Oznacz do przejrzenia',
flagForReviewDescription: 'Powiadamiaj, gdy Twoje warunki zostaną spełnione',
requireFields: 'Ustaw wymagania pola',
requireFieldsShort: 'Wymagaj pól',
requireFields: 'Wymagaj pól',
requireFieldsDescription: 'Paragony, kategorie itp.',
createAgentRule: 'Opisz regułę agenta',
createAgentRuleDescription: 'Twórz elastyczne reguły, które uruchamiają się wtedy, gdy ich potrzebujesz.',
describeItBelow: 'Lub po prostu opisz ją poniżej',
describeRulePlaceholder: 'Blokuj wszystkie wydatki powyżej 2000 $',
selectTemplateOrDescribe: 'Wybierz szablon lub opisz regułę, aby kontynuować',
Expand Down
5 changes: 1 addition & 4 deletions src/languages/pt-BR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8829,11 +8829,8 @@ Adicione mais regras de gasto para proteger o fluxo de caixa da empresa.`,
applyExpenseDefaultsDescription: 'Atualizar campos automaticamente',
flagForReview: 'Marcar para revisão',
flagForReviewDescription: 'Notificar quando suas condições forem atendidas',
requireFields: 'Definir requisitos de campo',
requireFieldsShort: 'Exigir campos',
requireFields: 'Exigir campos',
requireFieldsDescription: 'Recibos, categorias etc.',
createAgentRule: 'Descrever regra do agente',
createAgentRuleDescription: 'Crie regras flexíveis que sejam executadas quando você precisar.',
describeItBelow: 'Ou simplesmente descreva abaixo',
describeRulePlaceholder: 'Bloquear todos os gastos acima de $2.000',
selectTemplateOrDescribe: 'Selecione um modelo ou descreva uma regra para continuar',
Expand Down
5 changes: 1 addition & 4 deletions src/languages/zh-hans.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8517,11 +8517,8 @@ ${reportName}`,
applyExpenseDefaultsDescription: '自动更新字段',
flagForReview: '标记以供审核',
flagForReviewDescription: '满足你的条件时发送通知',
requireFields: '设置字段要求',
requireFieldsShort: '必填字段',
requireFields: '必填字段',
requireFieldsDescription: '收据、类别等',
createAgentRule: '描述代理规则',
createAgentRuleDescription: '创建可按需运行的灵活规则。',
describeItBelow: '或者直接在下方描述',
describeRulePlaceholder: '阻止所有超过 2,000 美元的支出',
selectTemplateOrDescribe: '请选择模板或描述规则以继续',
Expand Down
6 changes: 0 additions & 6 deletions src/pages/workspace/rules/DescribeRuleButton.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import Button from '@components/Button';

import useLocalize from '@hooks/useLocalize';
import usePermissions from '@hooks/usePermissions';
import useThemeStyles from '@hooks/useThemeStyles';

import {clearNewRulePrompt} from '@userActions/Policy/Rules';
Expand Down Expand Up @@ -45,13 +44,8 @@ type DescribeRuleButtonProps = {
function DescribeRuleButton(props: DescribeRuleButtonProps) {
const {translate} = useLocalize();
const styles = useThemeStyles();
const {isBetaEnabled} = usePermissions();
const [isModalVisible, setIsModalVisible] = useState(false);

if (!isBetaEnabled(CONST.BETAS.DESCRIBE_RULE)) {
return null;
}

const openModal = () => {
clearNewRulePrompt();
if (props.onPress) {
Expand Down
23 changes: 3 additions & 20 deletions src/pages/workspace/rules/RulesNewPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import Text from '@components/Text';
import useConfirmModal from '@hooks/useConfirmModal';
import {useMemoizedLazyIllustrations} from '@hooks/useLazyAsset';
import useLocalize from '@hooks/useLocalize';
import usePermissions from '@hooks/usePermissions';
import usePolicy from '@hooks/usePolicy';
import useThemeStyles from '@hooks/useThemeStyles';

Expand Down Expand Up @@ -50,13 +49,11 @@ function RulesNewPage({route}: RulesNewPageProps) {
const {policyID, categoryName} = route.params;
const {translate} = useLocalize();
const styles = useThemeStyles();
const illustrations = useMemoizedLazyIllustrations(['CardReaderAlt', 'Flag', 'CheckboxText', 'ReportReceipt', 'AiBot']);
const illustrations = useMemoizedLazyIllustrations(['CardReaderAlt', 'Flag', 'CheckboxText', 'ReportReceipt']);
const isCategorySettingsFlow = route.name === SCREENS.WORKSPACE.DYNAMIC_CATEGORY_RULES_NEW;
const isCategoryScopedCreate = isCategorySettingsFlow || !!categoryName;
const policy = usePolicy(policyID);
const {showConfirmModal} = useConfirmModal();
const {isBetaEnabled} = usePermissions();
const isDescribeRuleBetaEnabled = isBetaEnabled(CONST.BETAS.DESCRIBE_RULE);

// From category settings the only expense default is the category's tax rate, so the type chooser is skipped. It
// can't be set without a rate to pick, so that case gets the chooser's explainer instead of an empty picker.
Expand Down Expand Up @@ -101,7 +98,7 @@ function RulesNewPage({route}: RulesNewPageProps) {
{
key: 'requireFields',
icon: illustrations.CheckboxText,
title: translate(isDescribeRuleBetaEnabled ? 'workspace.rules.newRule.requireFieldsShort' : 'workspace.rules.newRule.requireFields'),
title: translate('workspace.rules.newRule.requireFields'),
description: translate('workspace.rules.newRule.requireFieldsDescription'),
onPress: () =>
Navigation.navigate(
Expand All @@ -121,25 +118,11 @@ function RulesNewPage({route}: RulesNewPageProps) {
// Only category settings can scope the editor to its category, so a category passed any other way drops it.
isWorkspaceOnly: !isCategorySettingsFlow,
},
// The describe section drafts an agent rule when it cannot build a standard rule. Therefore it replaces this option.
...(isDescribeRuleBetaEnabled
? []
: [
{
key: 'createAgentRule',
icon: illustrations.AiBot,
title: translate('workspace.rules.newRule.createAgentRule'),
description: translate('workspace.rules.newRule.createAgentRuleDescription'),
onPress: () => Navigation.navigate(ROUTES.RULES_AGENT_NEW.getRoute(policyID)),
sentryLabel: CONST.SENTRY_LABEL.WORKSPACE.RULES.NEW_RULE_MENU_ITEM_CREATE_AGENT_RULE,
isWorkspaceOnly: true,
},
]),
];

const visibleNewRuleOptions = isCategoryScopedCreate ? newRuleOptions.filter((option) => !option.isWorkspaceOnly) : newRuleOptions;
// The describe section cannot scope a rule to a category. Therefore it shows only when New rule opens from the workspace Rules page.
const shouldShowDescribeSection = isDescribeRuleBetaEnabled && !isCategoryScopedCreate;
const shouldShowDescribeSection = !isCategoryScopedCreate;

const newRuleMenuItems = visibleNewRuleOptions.map((option) => (
<MenuItem
Expand Down
Loading
Loading