luci-base: fixed tabbed map when using NamedSection of same type 644/head
authorChristian Schoenebeck <christian.schoenebeck@gmail.com>
Mon, 8 Feb 2016 20:04:23 +0000 (21:04 +0100)
committerChristian Schoenebeck <christian.schoenebeck@gmail.com>
Mon, 8 Feb 2016 20:04:23 +0000 (21:04 +0100)
* fixed tabbed map when using NamedSection of same sectiontype
* add error message on which tab(s) the invalid/required fields are located

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
modules/luci-base/luasrc/view/cbi/map.htm
modules/luci-base/po/de/base.po
modules/luci-base/po/templates/base.pot

index 48403f1..e3210ad 100644 (file)
                        <%- self.selected_tab = luci.http.formvalue("tab.m-" .. self.config) %>
                        <% for i, section in ipairs(self.children) do %>
                                <%- if not self.selected_tab then self.selected_tab = section.sectiontype end %>
-                               <li id="tab.m-<%=self.config%>.<%=section.sectiontype%>" class="cbi-tab<%=(section.sectiontype == self.selected_tab) and '' or '-disabled'%>">
-                                       <a onclick="this.blur(); return cbi_t_switch('m-<%=self.config%>', '<%=section.sectiontype%>')" href="<%=REQUEST_URI%>?tab.m-<%=self.config%>=<%=section.sectiontype%>"><%=section.title or section.sectiontype %></a>
-                                       <% if section.sectiontype == self.selected_tab then %><input type="hidden" id="tab.m-<%=self.config%>" name="tab.m-<%=self.config%>" value="<%=section.sectiontype%>" /><% end %>
+                               <li id="tab.m-<%=self.config%>.<%=section.section or section.sectiontype%>" class="cbi-tab<%=(section.sectiontype == self.selected_tab) and '' or '-disabled'%>">
+                                       <a onclick="this.blur(); return cbi_t_switch('m-<%=self.config%>', '<%=section.section or section.sectiontype%>')" href="<%=REQUEST_URI%>?tab.m-<%=self.config%>=<%=section.section or section.sectiontype%>"><%=section.title or section.section or section.sectiontype %></a>
+                                       <% if section.sectiontype == self.selected_tab then %><input type="hidden" id="tab.m-<%=self.config%>" name="tab.m-<%=self.config%>" value="<%=section.section or section.sectiontype%>" /><% end %>
                                </li>
                        <% end %>
                </ul>
+               <br />
                <% for i, section in ipairs(self.children) do %>
-                       <div class="cbi-tabcontainer" id="container.m-<%=self.config%>.<%=section.sectiontype%>"<% if section.sectiontype ~= self.selected_tab then %> style="display:none"<% end %>>
+                       <div class="cbi-tabcontainer" id="container.m-<%=self.config%>.<%=section.section or section.sectiontype%>"<% if section.sectiontype ~= self.selected_tab then %> style="display:none"<% end %>>
                                <% section:render() %>
                        </div>
-                       <script type="text/javascript">cbi_t_add('m-<%=self.config%>', '<%=section.sectiontype%>')</script>
+                       <script type="text/javascript">cbi_t_add('m-<%=self.config%>', '<%=section.section or section.sectiontype%>')</script>
                <% end %>
+
+               <% if not self.save then -%>
+                       <div class="cbi-section-error">
+                               <% for _, section in ipairs(self.children) do %>
+                                       <% if section.error and section.error[section.section] then -%>
+                                               <ul><li>
+                                                       <%:One or more invalid/required values on tab%>:&nbsp;<%=section.title or section.section or section.sectiontype%>
+                                               </li></ul>
+                                       <%- end %>
+                               <% end %>
+                       </div>
+               <%- end %>
        <% else %>
                <%- self:render_children() %>
        <% end %>
+
        <br />
 </div>
index 0d11e96..f36d490 100644 (file)
@@ -1929,6 +1929,9 @@ msgstr "Es muss entweder ein Hostname oder eine MAC-Adresse angegeben werden!"
 msgid "One or more fields contain invalid values!"
 msgstr "Ein oder mehrere Felder enthalten ungültige Werte!"
 
+msgid "One or more invalid/required values on tab"
+msgstr "Ein oder mehrere ungültige/benötigte Werte auf Registerkarte"
+
 msgid "One or more required fields have no value!"
 msgstr "Ein oder mehr benötigte Felder sind nicht ausgefüllt!"
 
index 5d4d1ce..e466a90 100644 (file)
@@ -1831,6 +1831,9 @@ msgstr ""
 msgid "One or more fields contain invalid values!"
 msgstr ""
 
+msgid "One or more invalid/required values on tab"
+msgstr ""
+
 msgid "One or more required fields have no value!"
 msgstr ""