From d8282d382bc675eb1c930eed0fe65c41050400b8 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Sun, 7 Sep 2008 21:22:39 +0000 Subject: [PATCH] libs/cbi: Catch errors while creating named sections --- libs/cbi/luasrc/cbi.lua | 5 ++++- libs/cbi/luasrc/view/cbi/tblsection.htm | 4 ++++ libs/cbi/luasrc/view/cbi/tsection.htm | 4 ++++ .../admin-full/luasrc/model/cbi/admin_network/network.lua | 2 ++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua index a37e81e871..3e72097814 100644 --- a/libs/cbi/luasrc/cbi.lua +++ b/libs/cbi/luasrc/cbi.lua @@ -566,7 +566,7 @@ function AbstractSection.create(self, section) local stat if section then - stat = self.map:set(section, nil, self.sectiontype) + stat = section:match("^%w+$") and self.map:set(section, nil, self.sectiontype) else section = self.map:add(self.sectiontype) stat = section @@ -795,6 +795,9 @@ function TypedSection.parse(self, novld) if name and #name > 0 then created = self:create(name) and name + if not created then + self.invalid_cts = true + end end end end diff --git a/libs/cbi/luasrc/view/cbi/tblsection.htm b/libs/cbi/luasrc/view/cbi/tblsection.htm index 49930f8482..be7e723f7a 100644 --- a/libs/cbi/luasrc/view/cbi/tblsection.htm +++ b/libs/cbi/luasrc/view/cbi/tblsection.htm @@ -113,8 +113,12 @@ end <% if self.anonymous then %> <% else %> + <% if self.invalid_cts then -%>
<% end %> + <% if self.invalid_cts then -%> +
<%:cbi_invalid%>
+ <%- end %> <% end %> diff --git a/libs/cbi/luasrc/view/cbi/tsection.htm b/libs/cbi/luasrc/view/cbi/tsection.htm index 33d5c8e499..70c44aaf6b 100644 --- a/libs/cbi/luasrc/view/cbi/tsection.htm +++ b/libs/cbi/luasrc/view/cbi/tsection.htm @@ -45,8 +45,12 @@ $Id$ <% if self.anonymous then -%> <%- else -%> + <% if self.invalid_cts then -%>
<% end %> + <% if self.invalid_cts then -%> +
<%:cbi_invalid%>
+ <%- end %> <%- end %> <%- end %> diff --git a/modules/admin-full/luasrc/model/cbi/admin_network/network.lua b/modules/admin-full/luasrc/model/cbi/admin_network/network.lua index fce84fe3f4..dab4bb873a 100644 --- a/modules/admin-full/luasrc/model/cbi/admin_network/network.lua +++ b/modules/admin-full/luasrc/model/cbi/admin_network/network.lua @@ -33,6 +33,8 @@ end function s.create(self, section) if TypedSection.create(self, section) then created = section + else + self.invalid_cts = true end end -- 2.30.2