Browse Source

gluon-luci-core: replacing luci-mod-admin-core

This commit adds gluon-luci-core, a package both gluon-config-mode and
gluon-luci-admin will depend on. gluon-luci-core itself will depends on
gluon-luci-theme, gluon-core and most importantly luci-lib-web. It also
copies a few files from luci-mod-admin-core but leaves out everyting we
do not use.

At a later point I plan to move functionality from luci-lib-web into
this package, too. luci-lib-web contains most parts of luci including
hardcoded templates for CBI, which I intend to replace.
Nils Schneider 10 years ago
parent
commit
a365d626c2

+ 1 - 1
package/gluon-config-mode/Makefile

@@ -15,7 +15,7 @@ define Package/gluon-config-mode
   SECTION:=gluon
   CATEGORY:=Gluon
   TITLE:=Luci based config mode for user friendly setup of new meshnodes
-  DEPENDS:=+gluon-core +gluon-lock-password +gluon-location +gluon-simple-tc +gluon-luci-theme +uhttpd +dnsmasq +luci-mod-admin-core +ip
+  DEPENDS:=+gluon-luci-core +gluon-lock-password +gluon-location +gluon-simple-tc +uhttpd +dnsmasq +ip
 endef
 
 define Package/gluon-config-mode/description

+ 1 - 1
package/gluon-luci-admin/Makefile

@@ -15,7 +15,7 @@ define Package/gluon-luci-admin
   SECTION:=gluon
   CATEGORY:=Gluon
   TITLE:=Luci based simple administration interface for mesh nodes
-  DEPENDS:=+gluon-core +gluon-luci-theme +luci-mod-admin-core
+  DEPENDS:=+gluon-luci-core +gluon-config-mode
 endef
 
 define Package/gluon-luci-admin/description

+ 39 - 0
package/gluon-luci-core/Makefile

@@ -0,0 +1,39 @@
+# Copyright (C) 2013 Nils Schneider <nils at nilsschneider.net>
+# This is free software, licensed under the Apache 2.0 license.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=gluon-luci-core
+PKG_VERSION:=0.1
+PKG_RELEASE:=1
+
+PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/gluon-luci-core
+  SECTION:=gluon
+  CATEGORY:=Gluon
+  TITLE:=Luci code shared by configmode and expertmode
+  DEPENDS:=+gluon-core +gluon-luci-theme +luci-lib-web
+endef
+
+define Package/gluon-luci-core/description
+	Luci code shared by various gluon packages
+endef
+
+define Build/Prepare
+	mkdir -p $(PKG_BUILD_DIR)
+endef
+
+define Build/Configure
+endef
+
+define Build/Compile
+endef
+
+define Package/gluon-luci-core/install
+	$(CP) ./files/* $(1)/
+endef
+
+$(eval $(call BuildPackage,gluon-luci-core))

+ 19 - 0
package/gluon-luci-core/files/usr/lib/lua/luci/view/error404.htm

@@ -0,0 +1,19 @@
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2008 Steven Barth <steven@midlink.org>
+Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+	http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+-%>
+<%+header%>
+<h2><a id="content" name="content">404 <%:Not Found%></a></h2>
+<p><%:Sorry, the object you requested was not found.%></p>
+<tt><%:Unable to dispatch%>: <%=luci.http.request.env.PATH_INFO%></tt>
+<%+footer%>

+ 19 - 0
package/gluon-luci-core/files/usr/lib/lua/luci/view/error500.htm

@@ -0,0 +1,19 @@
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2008 Steven Barth <steven@midlink.org>
+Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+	http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+-%>
+<%+header%>
+<h2><a id="content" name="content">500 <%:Internal Server Error%></a></h2>
+<p><%:Sorry, the server encountered an unexpected error.%></p>
+<pre class="error500"><%=message%></pre>
+<%+footer%>

+ 15 - 0
package/gluon-luci-core/files/usr/lib/lua/luci/view/footer.htm

@@ -0,0 +1,15 @@
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2008 Steven Barth <steven@midlink.org>
+Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+	http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+-%>
+<% include("themes/" .. theme .. "/footer") %>

+ 21 - 0
package/gluon-luci-core/files/usr/lib/lua/luci/view/header.htm

@@ -0,0 +1,21 @@
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2008 Steven Barth <steven@midlink.org>
+Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+	http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+-%>
+
+<%
+	if not luci.dispatcher.context.template_header_sent then
+		include("themes/" .. theme .. "/header")
+		luci.dispatcher.context.template_header_sent = true
+	end
+%>

+ 54 - 0
package/gluon-luci-core/files/usr/lib/lua/luci/view/sysauth.htm

@@ -0,0 +1,54 @@
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2008 Steven Barth <steven@midlink.org>
+Copyright 2008-2012 Jo-Philipp Wich <xm@subsignal.org>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+	http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+-%>
+
+<%+header%>
+
+<form method="post" action="<%=pcdata(luci.http.getenv("REQUEST_URI"))%>">
+	<div class="cbi-map">
+		<h2><a id="content" name="content"><%:Authorization Required%></a></h2>
+		<div class="cbi-map-descr">
+			<%:Please enter your username and password.%>
+			<%- if fuser then %>
+			<div class="error"><%:Invalid username and/or password! Please try again.%></div>
+			<br />
+			<% end -%>
+		</div>
+		<fieldset class="cbi-section"><fieldset class="cbi-section-node">
+			<div class="cbi-value">
+				<label class="cbi-value-title"><%:Username%></label>
+				<div class="cbi-value-field">
+					<input class="cbi-input-user" type="text" name="username" value="<%=duser%>" />
+				</div>
+			</div>
+			<div class="cbi-value cbi-value-last">
+				<label class="cbi-value-title"><%:Password%></label>
+				<div class="cbi-value-field">
+					<input id="focus_password" class="cbi-input-password" type="password" name="password" />
+				</div>
+			</div>
+		</fieldset></fieldset>
+	</div>
+
+	<div>
+		<input type="submit" value="<%:Login%>" class="cbi-button cbi-button-apply" />
+		<input type="reset" value="<%:Reset%>" class="cbi-button cbi-button-reset" />
+	</div>
+</form>
+<script type="text/javascript">//<![CDATA[
+	var input = document.getElementById('focus_password');
+	if (input)
+		input.focus();
+//]]></script>
+<%+footer%>