[Rules] Fix build with WEBSERVER_NEW_RULES

- handle_rules_edit(String, bool) is static now, but ESPEasy_WebServer.cpp
  still called it for /rules/add, which no longer compiles:
  "too many arguments to function 'bool handle_rules_edit(const String&)'"
  Add handle_rules_add() in Rules.cpp and use that instead.
- Rules.cpp uses validIntFromString() without including Numerical.h
  (this was already broken on mega when WEBSERVER_NEW_RULES is defined).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018S3oPMc7qQGQGGGyMUvcaf
This commit is contained in:
Claude authored and TD-er committed 2026-10-18 14:11:18 +02:00
1 parent 412a9e64fb
commit 12af5cd8e4
3 files changed
+11 -4

No files matched your search

+1 -4
View File
@@ -304,10 +304,7 @@ static void WebServerInit()
web_server.on(F("/rules"), handle_rules_new); web_server.on(F("/rules"), handle_rules_new);
web_server.on(F("/rules/"), Goto_Rules_Root); web_server.on(F("/rules/"), Goto_Rules_Root);
# ifdef WEBSERVER_NEW_RULES # ifdef WEBSERVER_NEW_RULES
web_server.on(F("/rules/add"), []() web_server.on(F("/rules/add"), handle_rules_add);
{
handle_rules_edit(web_server.uri(), true);
});
web_server.on(F("/rules/backup"), handle_rules_backup); web_server.on(F("/rules/backup"), handle_rules_backup);
web_server.on(F("/rules/delete"), handle_rules_delete); web_server.on(F("/rules/delete"), handle_rules_delete);
# endif // WEBSERVER_NEW_RULES # endif // WEBSERVER_NEW_RULES
+9
View File
@@ -16,6 +16,7 @@
#include "../Globals/Settings.h" #include "../Globals/Settings.h"
#include "../Helpers/ESPEasy_Storage.h" #include "../Helpers/ESPEasy_Storage.h"
#include "../Helpers/Numerical.h"
#include "../Helpers/StringConverter.h" #include "../Helpers/StringConverter.h"
#include <FS.h> #include <FS.h>
@@ -644,6 +645,14 @@ bool handle_rules_edit(const String& originalUri)
return handle_rules_edit(originalUri, false); return handle_rules_edit(originalUri, false);
} }
# ifdef WEBSERVER_NEW_RULES
void handle_rules_add()
{
handle_rules_edit(web_server.uri(), true);
}
# endif // ifdef WEBSERVER_NEW_RULES
void Goto_Rules_Root() { void Goto_Rules_Root() {
sendHeader(F("Location"), F("/rules"), true); sendHeader(F("Location"), F("/rules"), true);
web_server.send(302, F("text/plain"), EMPTY_STRING); web_server.send(302, F("text/plain"), EMPTY_STRING);
+1
View File
@@ -27,6 +27,7 @@ void handle_rules();
void handle_rules_new(); void handle_rules_new();
# ifdef WEBSERVER_NEW_RULES # ifdef WEBSERVER_NEW_RULES
void handle_rules_add();
void handle_rules_backup(); void handle_rules_backup();
void handle_rules_delete(); void handle_rules_delete();
#endif #endif