func init() { var err error var db gorm.DB dbConfig := config.Config.DB if config.Config.DB.Adapter == "mysql" { db, err = gorm.Open("mysql", fmt.Sprintf("%v:%v@/%v?parseTime=True&loc=Local", dbConfig.User, dbConfig.Password, dbConfig.Name)) } else if config.Config.DB.Adapter == "postgres" { db, err = gorm.Open("postgres", fmt.Sprintf("user=%v password=%v dbname=%v sslmode=disable", dbConfig.User, dbConfig.Password, dbConfig.Name)) } else { panic(errors.New("not supported database adapter")) } if err == nil { DB = &db // DB.LogMode(true) Publish = publish.New(DB) config.Config.I18n = i18n.New(database.New(DB)) l10n.RegisterCallbacks(DB) sorting.RegisterCallbacks(DB) validations.RegisterCallbacks(DB) media_library.RegisterCallbacks(DB) } else { panic(err) } }
func reset() { db.DropTable(&database.Translation{}) database.New(db) Admin := admin.New(&qor.Config{DB: db}) Worker = worker.New() Admin.AddResource(Worker) I18n = i18n.New(database.New(db)) I18n.SaveTranslation(&i18n.Translation{Key: "qor_admin.title", Value: "title", Locale: "en-US"}) I18n.SaveTranslation(&i18n.Translation{Key: "qor_admin.subtitle", Value: "subtitle", Locale: "en-US"}) I18n.SaveTranslation(&i18n.Translation{Key: "qor_admin.description", Value: "description", Locale: "en-US"}) I18n.SaveTranslation(&i18n.Translation{Key: "header.title", Value: "Header Title", Locale: "en-US"}) exchange_actions.RegisterExchangeJobs(I18n, Worker) }
func setupConfig(addr string, sitename string, db *gorm.DB, auth admin.Auth) error { config.QOR.Addr = addr config.QOR.SiteName = sitename // As a minumum add the root path for our site config.QOR.Paths = append(config.QOR.Paths, "/") config.Hugo.MetaDataFormat = "json" hugoConf := configr.New() hugoConf.RegisterKey("baseurl", "Hugo site baseurl", "/") hugoConf.RegisterKey("staticdir", "Hugo site static dir", "static") hugoConf.RegisterKey("publishdir", "Hugo site publish dir", "public") hugoConf.RegisterKey("languageCode", "Hugo site languageCode", "en") hugoConf.RegisterKey("disableRSS", "Hugo site disableRSS", true) hugoConf.RegisterKey("menu", "Hugo site menus", make(map[string]interface{})) hugoConfigFile := "hugo.toml" hugoConf.AddSource(configr.NewFile(hugoConfigFile)) if err := hugoConf.Parse(); err != nil { return err } baseurl, err := hugoConf.String("baseurl") if err != nil { return err } config.Hugo.BaseURL = baseurl staticdir, err := hugoConf.String("staticdir") if err != nil { return err } config.Hugo.StaticDir = staticdir publishdir, err := hugoConf.String("publishdir") if err != nil { return err } config.Hugo.PublishDir = publishdir languageCode, err := hugoConf.String("languageCode") if err != nil { return err } config.Hugo.LanguageCode = languageCode disableRSS, err := hugoConf.Bool("disableRSS") if err != nil { return err } config.Hugo.DisableRSS = disableRSS rawMenu, err := hugoConf.Get("menu") if err != nil { return err } if menu, ok := rawMenu.(map[string]interface{}); ok { config.Hugo.Menu = menu // Add additional site paths from main menu items if rawMainMenu, ok := menu["main"]; ok { if mainMenu, ok := rawMainMenu.([]map[string]interface{}); ok { for _, item := range mainMenu { if url, ok := item["url"].(string); ok { if url != "" && url != "/" { config.QOR.Paths = append(config.QOR.Paths, url) } } } } } } config.DB = db config.I18n = i18n.New(database.New(db)) config.Auth = auth return nil }
func init() { I18n = i18n.New(database.New(db.DB), yaml.New(filepath.Join(config.Root, "config/locales"))) }