8f749d3777e669ff Web UI skeleton
authorTomas Zeman <tzeman@volny.cz>
Fri, 10 Feb 2012 09:53:07 +0100
changeset 11 43fa65f5072e
parent 10 fc7b6a99deb4
child 12 2fb331324cd9
8f749d3777e669ff Web UI skeleton
src/main/resources/default.props
src/main/scala/bootstrap/liftweb/Boot.scala
src/main/scala/net/tz/lift/boot/ProtoBoot.scala
src/main/webapp/WEB-INF/web.xml
src/main/webapp/css/base.css
src/main/webapp/index.html
src/main/webapp/templates-hidden/default.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/resources/default.props	Fri Feb 10 09:53:07 2012 +0100
@@ -0,0 +1,5 @@
+# Default (devel) properties for FIS webapp.
+
+#db.fis.user=
+#db.fis.pass=
+db.fis.url=jdbc:postgresql://localhost:7902/fis_dev
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/scala/bootstrap/liftweb/Boot.scala	Fri Feb 10 09:53:07 2012 +0100
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2011 Tomas Zeman <tzeman@volny.cz>
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package bootstrap.liftweb
+
+import fis.base.model._
+import net.liftweb.common._
+import net.liftweb.db.{DB, ConnectionIdentifier}
+import net.liftweb.http._
+import net.liftweb.squerylrecord.SquerylRecord
+import net.liftweb.util._
+import net.liftweb.util.Helpers._
+import net.tz.lift.boot.ProtoBoot
+import net.tz.lift.util.StandardDBVendor
+
+class Boot extends ProtoBoot {
+  override def boot = {
+
+    /* DB stuff */
+    DB.defineConnectionManager(FisConnectionIdentifier, new FisDbVendor)
+    S.addAround(DB.buildLoanWrapper(List(FisConnectionIdentifier)))
+    SquerylRecord.init(() => new SeqIdPostgreSqlAdapter)
+
+    super.boot
+
+  }
+}
+
+case object FisConnectionIdentifier extends ConnectionIdentifier {
+  val jndiName = "fis"
+}
+
+import java.sql.Connection
+
+class FisDbVendor extends StandardDBVendor(
+  "org.postgresql.Driver", Props.get("db.fis.url", ""),
+  Props.get("db.fis.user"), Props.get("db.fis.pass")) {
+
+  val testQuery = "SELECT version()"
+  override protected def testConnection(c: Connection) = {
+    c.prepareStatement(testQuery).executeQuery
+  }
+}
+
+// vim: set ts=2 sw=2 et:
--- a/src/main/scala/net/tz/lift/boot/ProtoBoot.scala	Fri Feb 10 09:53:06 2012 +0100
+++ b/src/main/scala/net/tz/lift/boot/ProtoBoot.scala	Fri Feb 10 09:53:07 2012 +0100
@@ -30,7 +30,7 @@
  */
 class ProtoBoot extends Logger {
 
-  def boot = {
+  def boot: Unit = {
     /* DB stuff */
     /*
     S.addAround(DB.buildLoanWrapper())
@@ -76,6 +76,8 @@
     /* Http conf */
     LiftRules.logServiceRequestTiming = false
     LiftRules.early.append(_.setCharacterEncoding("UTF-8"))
+
+    ()
   }
 
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/webapp/WEB-INF/web.xml	Fri Feb 10 09:53:07 2012 +0100
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  Copyright 2011 Tomas Zeman <tzeman@volny.cz>
+
+  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
+ 
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!DOCTYPE web-app
+PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+"http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+  <filter>
+    <filter-name>LiftFilter</filter-name>
+    <display-name>Lift Filter</display-name>
+    <filter-class>net.liftweb.http.LiftFilter</filter-class>
+  </filter>
+
+  <filter-mapping>
+    <filter-name>LiftFilter</filter-name>
+    <url-pattern>/*</url-pattern>
+  </filter-mapping>
+</web-app>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/webapp/css/base.css	Fri Feb 10 09:53:07 2012 +0100
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2011 Tomas Zeman <tzeman@volny.cz>
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* table with border */
+.list {
+  border-collapse: collapse;
+}
+
+.list td, .list thead th {
+  border: 1px solid black;
+}
+
+/* attribute panel */
+.attr-name {
+  font-weight: bold;
+  width: 150px;
+}
+
+.attr-name-wide {
+  font-weight: bold;
+  width: 230px;
+}
+
+.attr-value {
+}
+
+/* form panel */
+.form-name {
+  font-weight: bold;
+  width: 150px;
+}
+
+.form-value {
+}
+
+td.td-right {
+  text-align: right;
+}
+
+/* fix for active sf-menu item in span tag */
+.sf-menu span {
+  padding: 0.75em 1em;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/webapp/index.html	Fri Feb 10 09:53:07 2012 +0100
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta content="text/html; charset=UTF-8" http-equiv="content-type" />
+    <title>Home</title>
+  </head>
+  <body class="lift:content_id=main">
+    <div id="main" class="lift:surround?with=default;at=content">
+      <h2>Welcome to FIS</h2>
+    </div>
+  </body>
+</html>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/webapp/templates-hidden/default.html	Fri Feb 10 09:53:07 2012 +0100
@@ -0,0 +1,33 @@
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:lift="http://liftweb.net/">
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+    <meta name="description" content="Functional Information System" />
+    <meta name="keywords" content="information system, inventory, crm, service repository" />
+    <title class="lift:Menu.title"></title>
+    <style class="lift:CSS.blueprint"></style>
+    <style class="lift:CSS.fancyType"></style>
+    <script id="jquery" src="/classpath/jquery.js" type="text/javascript"></script>
+    <link type="text/css" href="/css/base.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="container">
+      <div class="column span-24 last" style="text-align: center">
+        <h1 class="alt">FIS</h1>
+      </div>
+      <hr />
+      <div class="column span-24 last">
+        <span class="lift:Menubar"></span>
+        <div class="lift:Msgs?showAll=true"></div>
+      </div>
+      <div class="span-10 last lift:action-links.are">
+        <span class="lift:action-links"/>
+      </div>
+      <div id="content"></div>
+      <hr />
+      <div class="column span-24 last" style="text-align: center">
+        <h4 class="alt"></h4>
+      </div>
+    </div>
+  </body>
+</html>
+