Dev-iL commented on code in PR #64644:
URL: https://github.com/apache/airflow/pull/64644#discussion_r3077041852


##########
airflow-core/src/airflow/cli/commands/dag_command.py:
##########
@@ -275,6 +276,8 @@ def _get_dagbag_dag_details(dag: DAG) -> dict:
         "next_dagrun_logical_date": None,
         "next_dagrun_run_after": None,
         "allowed_run_types": dag.allowed_run_types,
+        "is_backfillable": core_timetable.periodic
+        and (dag.allowed_run_types is None or "backfill" in 
dag.allowed_run_types),

Review Comment:
   Done — switched to `DagRunType.BACKFILL_JOB` and added a focused 
parametrized test for the `is_backfillable` computation in 
`_get_dagbag_dag_details`.



##########
airflow-core/src/airflow/models/backfill.py:
##########
@@ -68,9 +68,16 @@ class AlreadyRunningBackfill(AirflowException):
     """
 
 
-class DagNoScheduleException(AirflowException):
+class DagNonPeriodicScheduleException(AirflowException):
     """
-    Raised when attempting to create backfill for a Dag with no schedule.
+    Raised when attempting to backfill a Dag whose schedule is fundamentally 
incompatible with backfills.
+
+    This covers the following timetables types:

Review Comment:
   Fixed.



##########
airflow-core/src/airflow/ui/public/i18n/locales/ca/components.json:
##########
@@ -13,6 +13,7 @@
     "permissionDenied": "Execució de prova fallida: l'usuari no té permís per 
crear reompliments.",
     "reprocessBehavior": "Comportament de reprocessament",
     "run": "Executar reompliment",
+    "scheduleNotBackfillable": "This DAG's schedule does not support 
backfills",

Review Comment:
   Done — removed `scheduleNotBackfillable` from all 20 non-English locale 
files.



##########
airflow-core/src/airflow/ui/src/components/TriggerDag/TriggerDAGModal.tsx:
##########
@@ -120,10 +121,13 @@ const TriggerDAGModal: React.FC<TriggerDAGModalProps> = ({
                       label={translate("triggerDag.selectLabel")}
                       value={RunMode.SINGLE}
                     />
-                    <Tooltip content={translate("backfill.tooltip")} 
disabled={hasSchedule}>
+                    <Tooltip
+                      content={translate("backfill.scheduleNotBackfillable")}
+                      disabled={isBackfillable}
+                    >

Review Comment:
   Fixed — added the `portalled` prop to the Tooltip so it renders via a Portal 
at the document root, escaping the stacking context. This matches the 
convention used by other Tooltips in the codebase (TaskInstanceTooltip, 
VersionIndicator, PanelButtons, RunTypeLegend).



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to