From 95561e5565573f006c804e7c26ddd4f6a1a3998a Mon Sep 17 00:00:00 2001
From: Ruben Carlo Benante
Date: Tue, 7 Jul 2026 09:40:51 -0300
Subject: [PATCH] OrganonTweaks: enhance recurrence dialog -- Yes/No radios +
[+7] factor button (JS); v1.3.0
---
Controller/ConfigController.php | 1 +
Plugin.php | 10 +++++++++-
README.md | 14 ++++++++++++++
Template/config/show.php | 7 +++++++
VERSION | 2 +-
5 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/Controller/ConfigController.php b/Controller/ConfigController.php
index ddc7f1a..f984767 100644
--- a/Controller/ConfigController.php
+++ b/Controller/ConfigController.php
@@ -17,6 +17,7 @@ class ConfigController extends BaseController
'organon_tweaks_always_comment_icon' => (int) $this->configModel->get('organon_tweaks_always_comment_icon', 1),
'organon_tweaks_keep_scroll' => (int) $this->configModel->get('organon_tweaks_keep_scroll', 1),
'organon_tweaks_quick_click_only' => (int) $this->configModel->get('organon_tweaks_quick_click_only', 1),
+ 'organon_tweaks_enhance_recurrence' => (int) $this->configModel->get('organon_tweaks_enhance_recurrence', 1),
),
'errors' => array(),
)));
diff --git a/Plugin.php b/Plugin.php
index 3df0e60..0cdd010 100644
--- a/Plugin.php
+++ b/Plugin.php
@@ -42,6 +42,14 @@ class Plugin extends Base
'template' => 'plugins/OrganonTweaks/Asset/js/click-guard.js',
));
}
+
+ // Tweak: enhance the native "Edit recurrence" dialog (Yes/No radios + a [+7] button
+ // on the factor). No template hook there, so it is done in JS.
+ if ((int) $this->configModel->get('organon_tweaks_enhance_recurrence', 1) === 1) {
+ $this->hook->on('template:layout:js', array(
+ 'template' => 'plugins/OrganonTweaks/Asset/js/enhance-recurrence.js',
+ ));
+ }
}
public function getHelpers()
@@ -68,7 +76,7 @@ class Plugin extends Base
public function getPluginVersion()
{
- return '1.2.1';
+ return '1.3.0';
}
public function getPluginHomepage()
diff --git a/README.md b/README.md
index 5ed4efb..131c8f8 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,19 @@ clicks (well under 100 ms) still open cards as usual. The 100 ms threshold is fi
- **On by default.** Toggle it under "Settings -> Organon Tweaks".
+### Enhance the recurrence dialog
+
+Kanboard's native "Edit recurrence" dialog is a plain form. This makes two small usability
+edits when it opens (there is no template hook, so it is done in JS,
+`Asset/js/enhance-recurrence.js`):
+
+- the "Generate recurrent task" **Yes/No dropdown** becomes two **radio buttons** (one click
+ to set, instead of open + select). The original select is kept hidden and stays in sync, so
+ the form submits exactly as before.
+- a small **[+7]** button next to the "Factor" input adds 7 to it (one week of days).
+
+- **On by default.** Toggle it under "Settings -> Organon Tweaks".
+
## Settings
Global (per Kanboard instance) and admin-only, under "Settings -> Organon Tweaks":
@@ -65,6 +78,7 @@ Global (per Kanboard instance) and admin-only, under "Settings -> Organon Tweaks
- **Always show the comment icon on board cards** -- default on.
- **Keep the board scroll position across refreshes** -- default on.
- **Open a card only on a quick click** -- default on.
+- **Enhance the recurrence dialog** -- default on.
## Requirements
diff --git a/Template/config/show.php b/Template/config/show.php
index efd272b..3b6be5c 100644
--- a/Template/config/show.php
+++ b/Template/config/show.php
@@ -26,6 +26,13 @@