Example #1
0
func TestToken(t *testing.T) {
	tokenTest := &models.Token{"token1", "writeToken", "readToken"}
	var o orm.Ormer = orm.NewOrm()
	result := []orm.ParamsList{}

	Convey("Check save token", t, func() {
		success := tokenTest.Save()
		So(success, ShouldEqual, nil)
	})

	Convey("Check write token", t, func() {

		r, _ := o.Raw("select write_token from token where document_id = ?", tokenTest.DocumentId).ValuesList(&result)
		_ = r
		e := result[0][0]
		So(e, ShouldEqual, tokenTest.WriteToken)
	})

	Convey("Check read token", t, func() {

		r, _ := o.Raw("select read_token from token where document_id = ?", tokenTest.DocumentId).ValuesList(&result)
		_ = r
		e := result[0][0]
		So(e, ShouldEqual, tokenTest.ReadToken)
	})

}
Example #2
0
func NumOfRows(o orm.Ormer, sql string) (int64, error) {
	type tableRows struct {
		Rows int64
	}
	var rows tableRows
	if err := o.Raw(sql).QueryRow(&rows); err != nil {
		return 0, err
	}
	return rows.Rows, nil
}
Example #3
0
func invalidateVerification(verification *Verification, o orm.Ormer) int {
	verification.Expire = 0
	_, err := o.Update(verification)
	if err == nil {
		return 0
	} else {
		beego.Warning("CheckVerifyCode, Update expire fail: ", err)
		return utils.ERROR_CODE_SYSTEM_ERROR
	}
}
Example #4
0
func (c *CSVDataFile) LoadToMySQL(o orm.Ormer) error {
	sql := fmt.Sprintf(`load data infile '%s' into table %s FIELDS TERMINATED BY '%s' ENCLOSED BY '"' (%s)`, c.File, c.Table, string(c.FieldsTerminatedBy), strings.Join(c.Fields, ", "))
	//fmt.Println(sql)
	_, err := o.Raw(sql).Exec()
	if err != nil {
		c.hasImportError = true
		return fmt.Errorf("datafile %s: %s", c.File, err.Error())
	}
	return nil
}
Example #5
0
func execUpdate(o orm.Ormer, sql string, params ...interface{}) error {
	p, err := o.Raw(sql).Prepare()
	if err != nil {
		return err
	}
	defer p.Close()
	_, err = p.Exec(params...)
	if err != nil {
		return err
	}
	return nil
}
Example #6
0
func RunPreImportMySQLSettings(o orm.Ormer) {
	const sql = `/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;`
	var cmds = strings.Split(sql, "\n")
	for _, cmd := range cmds {
		if _, err := o.Raw(cmd).Exec(); err != nil {
			fmt.Println("PreImportSettings: ", err)
		}
	}
}
Example #7
0
func Map2InsertSql(o orm.Ormer, table string, data map[string]interface{}) error {
	var values []interface{}
	var keys []string
	var valuesPlaceHolders []string
	for k, v := range data {
		valuesPlaceHolders = append(valuesPlaceHolders, "? ")
		keys = append(keys, fmt.Sprintf("`%s`", k))
		values = append(values, v) //
	}
	sql := fmt.Sprintf("INSERT INTO `%s` (%s) VALUES(%s)", table, strings.Join(keys, ","), strings.Join(valuesPlaceHolders, ","))
	_, err := o.Raw(sql, values...).Exec()
	if err != nil {
		return err
	}
	return nil
}
Example #8
0
func createAgent(m map[string]interface{}, o orm.Ormer, h *models.House) {
	photo := models.Photo{}
	photo.Url = m["avatar"].(string)
	o.Insert(&photo)

	agent := models.Agent{
		Name:          m["name"].(string),
		Phone:         m["phone"].(string),
		AverageRating: float32(m["averageRating"].(float64)),
		NumRates:      m["numRates"].(int),
		RecentSales:   m["recentSales"].(int),
		House:         h,
		Avatar:        &photo,
	}
	o.Insert(&agent)
}
Example #9
0
func TestCreateDoc(t *testing.T) {
	var o orm.Ormer = orm.NewOrm()
	docNew := &models.Documents{"testid", "test_content", "D", "test@gmail"}
	// Only pass t into top-level Convey calls
	err := docNew.Save()
	if err == nil {
		fmt.Println("***************************************")
	}
	Convey("Test Create Doc in database", t, func() {
		var lists []orm.ParamsList

		num, _ := o.Raw(" select Id from documents where id = ?", "testid").ValuesList(&lists)

		num = num + 1
		So(lists[0][0], ShouldEqual, "testid")
	})
}
Example #10
0
func (this UserService) InsertWithScope(tr orm.Ormer, u *user.User) error {
	u.PasswordSalt = GetUserSalt()

	if !utils.IsEmail(u.Email) {
		return errors.New("invalid email")
	}

	beego.Info(setting.SystemAdminEmails)

	if strings.Index(setting.SystemAdminEmails, u.Email) >= 0 {
		u.IsSystemAccount = true
		beego.Info(setting.SystemAdminEmails)
	}
	if _, err := tr.Insert(u); err != nil {
		return err
	}
	return nil
}
Example #11
0
func insertEvent(q orm.Ormer, eve *coommonModel.Event) (res interface{}, err error) {
	var status int
	if status = 0; eve.Status == "OK" {
		status = 1
	}
	sqltemplete := `INSERT INTO events (
		event_caseId,
		step,
		cond,
		status,
		timestamp
	) VALUES(?,?,?,?,?)`
	res, err = q.Raw(
		sqltemplete,
		eve.Id,
		eve.CurrentStep,
		fmt.Sprintf("%v %v %v", eve.LeftValue, eve.Operator(), eve.RightValue()),
		status,
		time.Unix(eve.EventTime, 0),
	).Exec()
	return
}
Example #12
0
func createHouse(m map[string]interface{}, o orm.Ormer) *models.House {
	location := models.Location{}
	locationData := m["location"].([]float32)
	location.Latitude = locationData[0]
	location.Longtitude = locationData[1]
	o.Insert(&location)

	thumbnail := models.Photo{}
	thumbnail.Url = m["thumbnail"].(string)
	o.Insert(&thumbnail)

	house := models.House{
		Address:     m["address"].(string),
		HouseType:   m["houseType"].(string),
		Price:       m["price"].(int),
		Properties:  m["properties"].(string),
		PublishFrom: m["publishFrom"].(int),
		Description: m["description"].(string),
		Location:    &location,
		Thumbnail:   &thumbnail,
	}
	o.Insert(&house)
	return &house
}
Example #13
0
func (this RoleService) InsertUsersWithScope(tr orm.Ormer, r *user.Role, users ...*user.User) error {
	_, err := tr.QueryM2M(r, "Users").Add(users)
	return err
}
Example #14
0
func seed(o orm.Ormer) {
	arr := [10]map[string]interface{}{}
	arr[0] = map[string]interface{}{
		"address":     "589 Coleridge Ave, Hanoi, Vietnam",
		"houseType":   "House for sale",
		"price":       8950000,
		"properties":  "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997",
		"publishFrom": 104,
		"thumbnail":   "http://photos2.zillowstatic.com/p_g/ISpxm1nzj9y1xo1000000000.jpg",
		"location":    []float32{21.009326, 105.857682},
		"description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.",
	}
	arr[1] = map[string]interface{}{
		"address":     "1565 Webster St,  Hanoi, Vietnam",
		"houseType":   "House for sale",
		"price":       6950000,
		"properties":  "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997",
		"publishFrom": 200,
		"thumbnail":   "http://photos3.zillowstatic.com/p_g/ISxzt2p00tw62m1000000000.jpg",
		"location":    []float32{21.009356, 105.855442},
		"description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.",
	}
	arr[2] = map[string]interface{}{
		"address":     "1061 Alma Street, Hanoi, Vietnam",
		"houseType":   "Make me move",
		"price":       550000,
		"properties":  "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997",
		"publishFrom": 222,
		"thumbnail":   "http://photos3.zillowstatic.com/p_g/IS5mozylseymxd1000000000.jpg",
		"location":    []float32{21.011072, 105.842455},
		"description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.",
	}
	arr[3] = map[string]interface{}{
		"address":     "589 Coleridge Ave, Hanoi, Vietnam",
		"houseType":   "House for sale",
		"price":       1250000,
		"properties":  "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997",
		"publishFrom": 204,
		"thumbnail":   "http://photos2.zillowstatic.com/p_g/ISpxm1nzj9y1xo1000000000.jpg",
		"location":    []float32{21.027816, 105.852268},
		"description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.",
	}
	arr[4] = map[string]interface{}{
		"address":     "589 Coleridge Ave, Hanoi, Vietnam",
		"houseType":   "House for sale",
		"price":       1250000,
		"properties":  "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997",
		"publishFrom": 204,
		"thumbnail":   "http://photos3.zillowstatic.com/p_g/ISxzt2p00tw62m1000000000.jpg",
		"location":    []float32{21.054544, 105.820344},
		"description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.",
	}
	arr[5] = map[string]interface{}{
		"address":     "589 Coleridge Ave, Hanoi, Vietnam",
		"houseType":   "House for sale",
		"price":       1250000,
		"properties":  "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997",
		"publishFrom": 204,
		"thumbnail":   "http://photos3.zillowstatic.com/p_g/IS5mozylseymxd1000000000.jpg",
		"location":    []float32{21.042675, 105.791481},
		"description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.",
	}
	arr[6] = map[string]interface{}{
		"address":     "589 Coleridge Ave, Hanoi, Vietnam",
		"houseType":   "House for sale",
		"price":       1250000,
		"properties":  "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997",
		"publishFrom": 204,
		"thumbnail":   "http://photos2.zillowstatic.com/p_g/ISpxm1nzj9y1xo1000000000.jpg",
		"location":    []float32{21.028501, 105.782255},
		"description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.",
	}
	arr[7] = map[string]interface{}{
		"address":     "589 Coleridge Ave, Hanoi, Vietnam",
		"houseType":   "House for sale",
		"price":       1250000,
		"properties":  "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997",
		"publishFrom": 204,
		"thumbnail":   "http://photos3.zillowstatic.com/p_g/IS5mozylseymxd1000000000.jpg",
		"location":    []float32{21.028309, 105.790856},
		"description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.",
	}
	arr[8] = map[string]interface{}{
		"address":     "589 Coleridge Ave, Hanoi, Vietnam",
		"houseType":   "House for sale",
		"price":       1250000,
		"properties":  "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997",
		"publishFrom": 204,
		"thumbnail":   "http://photos2.zillowstatic.com/p_g/ISpxm1nzj9y1xo1000000000.jpg",
		"location":    []float32{21.027705, 105.811117},
		"description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.",
	}
	arr[9] = map[string]interface{}{
		"address":     "589 Coleridge Ave, Hanoi, Vietnam",
		"houseType":   "House for sale",
		"price":       1250000,
		"properties":  "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997",
		"publishFrom": 204,
		"thumbnail":   "http://photos3.zillowstatic.com/p_g/ISxzt2p00tw62m1000000000.jpg",
		"location":    []float32{21.019992, 105.814706},
		"description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.",
	}
	var house *models.House
	for i := 0; i < len(arr); i++ {
		temp := createHouse(arr[i], o)
		if i == 0 {
			house = temp
		}
	}
	thumbnail := models.Photo{}
	thumbnail.Url = "wtf"
	o.Insert(&thumbnail)

	photos := []string{
		"http://photos1.zillowstatic.com/p_h/IS9tsmiolp6hev1000000000.jpg",
		"http://photos2.zillowstatic.com/p_h/IS1nqa0ihhyjev1000000000.jpg",
		"http://photos3.zillowstatic.com/p_h/IStgoyhbd9qmev1000000000.jpg",
		"http://photos1.zillowstatic.com/p_h/ISlammz491ipev1000000000.jpg",
		"http://photos1.zillowstatic.com/p_h/IS9hr1kevjvkkl0000000000.jpg",
		"http://photos1.zillowstatic.com/p_h/IS1rxujhu5v30o1000000000.jpg",
		"http://photos1.zillowstatic.com/p_h/ISp1utk34801pv1000000000.jpg",
		"http://photos3.zillowstatic.com/p_h/IShvvoa7kf49w70000000000.jpg",
		"http://photos2.zillowstatic.com/p_h/ISphqpbkrfi2oe0000000000.jpg",
		"http://photos2.zillowstatic.com/p_h/IShzafgq64f3ka0000000000.jpg",
		"http://photos3.zillowstatic.com/p_h/IS9t83yj2w66ka0000000000.jpg",
		"http://photos3.zillowstatic.com/p_h/ISx7sev6epwv2j0000000000.jpg",
		"http://photos2.zillowstatic.com/p_h/ISp5xaj1u5nbev1000000000.jpg",
	}
	for i := 0; i < len(photos); i++ {
		photo := models.Photo{Url: photos[i], House: house}
		o.Insert(&photo)
	}

	contactAgents := [3]map[string]interface{}{}
	contactAgents[0] = map[string]interface{}{
		"name":          "Michael Dreyfus",
		"phone":         "(650) 644-3474",
		"averageRating": 4.7,
		"numRates":      32,
		"avatar":        "http://photos1.zillowstatic.com/h_n/ISptj0herzprn40000000000.jpg",
		"recentSales":   44,
	}

	contactAgents[1] = map[string]interface{}{
		"name":          "Katy Thielke Straser",
		"phone":         "(650) 941-8003",
		"averageRating": 4.9,
		"numRates":      24,
		"avatar":        "http://photos2.zillowstatic.com/h_n/IS-1h1vglrnwo5el.jpg",
		"recentSales":   33,
	}

	contactAgents[2] = map[string]interface{}{
		"name":          "Karishma & Deepak Chandani",
		"phone":         "(650) 941-8003",
		"averageRating": 4.6,
		"numRates":      31,
		"avatar":        "http://photos1.zillowstatic.com/h_n/IS1fw1nb6twj6i1000000000.jpg",
		"recentSales":   49,
	}

	for i := 0; i < len(contactAgents); i++ {
		createAgent(contactAgents[i], o, house)
	}
}