/*
* Copyright 2011-2012 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 fis.base.ui._
import fis.aaa.model._
import fis.aaa.ui._
import fis.crm.ui._
import fis.geo.ui._
import fis.pm.ui._
import fis.sr.ui._
import fis.db.SquerylTxMgr
import net.datatables.DataTables
import net.liftweb.common._
import net.liftweb.http._
import net.liftweb.sitemap._
import net.liftweb.squerylrecord.SquerylRecord
import net.liftweb.util._
import net.liftweb.util.Helpers._
import net.tz.lift.boot.ProtoBoot
class Boot extends ProtoBoot {
override def boot = {
/* DB stuff */
SquerylTxMgr.init()
super.boot
import Loc._
AuthnSnippet.init()
SecNav.init()
DataTables.init()
/* Authn wiring */
UserVendors.cur.default.set(Vendor(() => AuthnSnippet.cur))
AuthnSnippet.
registerAuthenticator(FetchUserAuthenticator).
registerAuthenticator(PasswordAuthenticator)
val menus = List(Menu("/", "FIS Main page") / "index" >>
EarlyResponse(() => Full(RedirectResponse(ProjectSnippet.url.list))) >>
Hidden,
ProjectSnippet.menu,
TaskSnippet.menu,
UserSnippet.menu,
AuthnSnippet.menu,
CompanySnippet.menu,
ContactSnippet.menu,
CountrySnippet.menu,
CitySnippet.menu,
LocationSnippet.menu,
ServiceSnippet.menu
)
LiftRules.setSiteMap(SiteMap(menus:_*))
LiftRules.htmlProperties.default.set { r: Req =>
Html5Properties(r.userAgent) }
ScreenRules.init()
/* Language */
LangSwitcher.init()
LiftRules.localeCalculator = { _ => CurLanguage.get }
}
}
// vim: set ts=2 sw=2 et: