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 %>
                        <%- 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>
                                </li>
                        <% end %>
                </ul>
+               <br />
                <% for i, section in ipairs(self.children) do %>
                <% 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>
                                <% 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 %>
                <% 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 %>
        <% else %>
                <%- self:render_children() %>
        <% end %>
+
        <br />
 </div>
        <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 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!"
 
 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 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 ""
 
 msgid "One or more required fields have no value!"
 msgstr ""