Example #1
0
func DelAuthority(aid string) error {
	err := model.NewAuthority().Where("aid=" + aid).Delete()

	global.AuthorityChan <- struct{}{}

	return err
}
Example #2
0
func SaveAuthority(form url.Values, opUser string) (errMsg string, err error) {
	authority := model.NewAuthority()
	err = util.ConvertAssign(authority, form)
	if err != nil {
		logger.Errorln("authority ConvertAssign error", err)
		errMsg = err.Error()
		return
	}

	authority.OpUser = opUser

	if authority.Aid != 0 {
		err = authority.Persist(authority)
	} else {
		authority.Ctime = util.TimeNow()

		_, err = authority.Insert()
	}

	if err != nil {
		errMsg = "内部服务器错误"
		logger.Errorln(errMsg, ":", err)
		return
	}

	global.AuthorityChan <- struct{}{}

	return
}
Example #3
0
func FindAuthority(aid string) *model.Authority {
	if aid == "" {
		return nil
	}

	authority := model.NewAuthority()
	err := authority.Where("aid=" + aid).Find()
	if err != nil {
		logger.Errorln("authority FindAuthority error:", err)
		return nil
	}

	return authority
}
Example #4
0
// 将所有 权限 加载到内存中;后台修改权限时,重新加载一次
func LoadAuthorities() error {
	authorities, err := model.NewAuthority().FindAll()
	if err != nil {
		logger.Errorln("LoadAuthorities authority read fail:", err)
		return err
	}

	authLocker.Lock()
	defer authLocker.Unlock()

	Authorities = authorities

	logger.Infoln("LoadAuthorities successfully!")

	return nil
}
Example #5
0
func FindAuthoritiesByPage(conds map[string]string, curPage, limit int) ([]*model.Authority, int) {
	conditions := make([]string, 0, len(conds))
	for k, v := range conds {
		conditions = append(conditions, k+"="+v)
	}

	authority := model.NewAuthority()

	limitStr := strconv.Itoa((curPage-1)*limit) + "," + strconv.Itoa(limit)
	auhtorities, err := authority.Where(strings.Join(conditions, " AND ")).Limit(limitStr).
		FindAll()
	if err != nil {
		return nil, 0
	}

	total, err := authority.Count()
	if err != nil {
		return nil, 0
	}

	return auhtorities, total
}