src/main/scala/bootstrap/liftweb/Boot.scala
author Tomas Zeman <tzeman@volny.cz>
Thu, 24 May 2012 11:19:26 +0200
changeset 99 49eb72a46208
parent 88 777daf9e0026
child 100 1fcbeae1f9da
permissions -rw-r--r--
e45557248ba12a15 Services
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     1
/*
22
94ed9cfdb123 Squeryl connection manager instead of mapper-based
Tomas Zeman <tzeman@volny.cz>
parents: 16
diff changeset
     2
 * Copyright 2011-2012 Tomas Zeman <tzeman@volny.cz>
11
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     3
 *
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     4
 * Licensed under the Apache License, Version 2.0 (the "License");
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     5
 * you may not use this file except in compliance with the License.
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     6
 * You may obtain a copy of the License at
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     7
 *
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     8
 *     http://www.apache.org/licenses/LICENSE-2.0
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     9
 *
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    10
 * Unless required by applicable law or agreed to in writing, software
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    11
 * distributed under the License is distributed on an "AS IS" BASIS,
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    13
 * See the License for the specific language governing permissions and
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    14
 * limitations under the License.
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    15
 */
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    16
package bootstrap.liftweb
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    17
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    18
import fis.base.model._
49
c24112f0f084 Secondary navigation
Tomas Zeman <tzeman@volny.cz>
parents: 41
diff changeset
    19
import fis.base.ui._
70
3a53fa30e03e Authentication
Tomas Zeman <tzeman@volny.cz>
parents: 69
diff changeset
    20
import fis.aaa.model._
3a53fa30e03e Authentication
Tomas Zeman <tzeman@volny.cz>
parents: 69
diff changeset
    21
import fis.aaa.ui._
69
b1dc0efd1303 Company UI
Tomas Zeman <tzeman@volny.cz>
parents: 68
diff changeset
    22
import fis.crm.ui._
76
2ba4569f2bd6 Location + GPS
Tomas Zeman <tzeman@volny.cz>
parents: 75
diff changeset
    23
import fis.geo.ui._
79
25392159b6ca Project
Tomas Zeman <tzeman@volny.cz>
parents: 77
diff changeset
    24
import fis.pm.ui._
99
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents: 88
diff changeset
    25
import fis.sr.ui._
22
94ed9cfdb123 Squeryl connection manager instead of mapper-based
Tomas Zeman <tzeman@volny.cz>
parents: 16
diff changeset
    26
import fis.db.SquerylTxMgr
77
8f0eddd7aa85 Datatables DSL
Tomas Zeman <tzeman@volny.cz>
parents: 76
diff changeset
    27
import net.datatables.DataTables
11
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    28
import net.liftweb.common._
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    29
import net.liftweb.http._
15
995184977e9b a3e3bd30f0d19526 Contact UI
Tomas Zeman <tzeman@volny.cz>
parents: 14
diff changeset
    30
import net.liftweb.sitemap._
11
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    31
import net.liftweb.squerylrecord.SquerylRecord
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    32
import net.liftweb.util._
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    33
import net.liftweb.util.Helpers._
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    34
import net.tz.lift.boot.ProtoBoot
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    35
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    36
class Boot extends ProtoBoot {
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    37
  override def boot = {
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    38
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    39
    /* DB stuff */
22
94ed9cfdb123 Squeryl connection manager instead of mapper-based
Tomas Zeman <tzeman@volny.cz>
parents: 16
diff changeset
    40
    SquerylTxMgr.init()
11
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    41
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    42
    super.boot
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    43
15
995184977e9b a3e3bd30f0d19526 Contact UI
Tomas Zeman <tzeman@volny.cz>
parents: 14
diff changeset
    44
    import Loc._
995184977e9b a3e3bd30f0d19526 Contact UI
Tomas Zeman <tzeman@volny.cz>
parents: 14
diff changeset
    45
70
3a53fa30e03e Authentication
Tomas Zeman <tzeman@volny.cz>
parents: 69
diff changeset
    46
    AuthnSnippet.init()
49
c24112f0f084 Secondary navigation
Tomas Zeman <tzeman@volny.cz>
parents: 41
diff changeset
    47
    SecNav.init()
77
8f0eddd7aa85 Datatables DSL
Tomas Zeman <tzeman@volny.cz>
parents: 76
diff changeset
    48
    DataTables.init()
49
c24112f0f084 Secondary navigation
Tomas Zeman <tzeman@volny.cz>
parents: 41
diff changeset
    49
70
3a53fa30e03e Authentication
Tomas Zeman <tzeman@volny.cz>
parents: 69
diff changeset
    50
    /* Authn wiring */
3a53fa30e03e Authentication
Tomas Zeman <tzeman@volny.cz>
parents: 69
diff changeset
    51
    UserVendors.cur.default.set(Vendor(() => AuthnSnippet.cur))
3a53fa30e03e Authentication
Tomas Zeman <tzeman@volny.cz>
parents: 69
diff changeset
    52
    AuthnSnippet.
3a53fa30e03e Authentication
Tomas Zeman <tzeman@volny.cz>
parents: 69
diff changeset
    53
      registerAuthenticator(FetchUserAuthenticator).
3a53fa30e03e Authentication
Tomas Zeman <tzeman@volny.cz>
parents: 69
diff changeset
    54
      registerAuthenticator(PasswordAuthenticator)
3a53fa30e03e Authentication
Tomas Zeman <tzeman@volny.cz>
parents: 69
diff changeset
    55
87
80b87b8de739 Home page -> Projects
Tomas Zeman <tzeman@volny.cz>
parents: 81
diff changeset
    56
    val menus = List(Menu("/", "FIS Main page") / "index" >>
80b87b8de739 Home page -> Projects
Tomas Zeman <tzeman@volny.cz>
parents: 81
diff changeset
    57
      EarlyResponse(() => Full(RedirectResponse(ProjectSnippet.url.list))) >>
80b87b8de739 Home page -> Projects
Tomas Zeman <tzeman@volny.cz>
parents: 81
diff changeset
    58
      Hidden,
88
777daf9e0026 Menu reordering
Tomas Zeman <tzeman@volny.cz>
parents: 87
diff changeset
    59
      ProjectSnippet.menu,
777daf9e0026 Menu reordering
Tomas Zeman <tzeman@volny.cz>
parents: 87
diff changeset
    60
      TaskSnippet.menu,
67
a62b754b945a Country UI
Tomas Zeman <tzeman@volny.cz>
parents: 60
diff changeset
    61
      UserSnippet.menu,
70
3a53fa30e03e Authentication
Tomas Zeman <tzeman@volny.cz>
parents: 69
diff changeset
    62
      AuthnSnippet.menu,
88
777daf9e0026 Menu reordering
Tomas Zeman <tzeman@volny.cz>
parents: 87
diff changeset
    63
      CompanySnippet.menu,
777daf9e0026 Menu reordering
Tomas Zeman <tzeman@volny.cz>
parents: 87
diff changeset
    64
      ContactSnippet.menu,
68
f8f8cac057a7 City UI
Tomas Zeman <tzeman@volny.cz>
parents: 67
diff changeset
    65
      CountrySnippet.menu,
79
25392159b6ca Project
Tomas Zeman <tzeman@volny.cz>
parents: 77
diff changeset
    66
      CitySnippet.menu,
99
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents: 88
diff changeset
    67
      LocationSnippet.menu,
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents: 88
diff changeset
    68
      ServiceSnippet.menu
79
25392159b6ca Project
Tomas Zeman <tzeman@volny.cz>
parents: 77
diff changeset
    69
    )
15
995184977e9b a3e3bd30f0d19526 Contact UI
Tomas Zeman <tzeman@volny.cz>
parents: 14
diff changeset
    70
995184977e9b a3e3bd30f0d19526 Contact UI
Tomas Zeman <tzeman@volny.cz>
parents: 14
diff changeset
    71
    LiftRules.setSiteMap(SiteMap(menus:_*))
41
216eac8b08b4 Twitter bootstrap integration
Tomas Zeman <tzeman@volny.cz>
parents: 35
diff changeset
    72
216eac8b08b4 Twitter bootstrap integration
Tomas Zeman <tzeman@volny.cz>
parents: 35
diff changeset
    73
    LiftRules.htmlProperties.default.set { r: Req =>
216eac8b08b4 Twitter bootstrap integration
Tomas Zeman <tzeman@volny.cz>
parents: 35
diff changeset
    74
      Html5Properties(r.userAgent) }
51
523c5c5b84e5 [mq]: twitter-bootstrap-forms-error+help.patch
Tomas Zeman <tzeman@volny.cz>
parents: 49
diff changeset
    75
523c5c5b84e5 [mq]: twitter-bootstrap-forms-error+help.patch
Tomas Zeman <tzeman@volny.cz>
parents: 49
diff changeset
    76
    ScreenRules.init()
75
2b0fafd71c1d Language switcher
Tomas Zeman <tzeman@volny.cz>
parents: 70
diff changeset
    77
2b0fafd71c1d Language switcher
Tomas Zeman <tzeman@volny.cz>
parents: 70
diff changeset
    78
    /* Language */
2b0fafd71c1d Language switcher
Tomas Zeman <tzeman@volny.cz>
parents: 70
diff changeset
    79
    LangSwitcher.init()
2b0fafd71c1d Language switcher
Tomas Zeman <tzeman@volny.cz>
parents: 70
diff changeset
    80
    LiftRules.localeCalculator = { _ => CurLanguage.get }
11
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    81
  }
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    82
}
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    83
43fa65f5072e 8f749d3777e669ff Web UI skeleton
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    84
// vim: set ts=2 sw=2 et: