コード例 #1
0
ファイル: user.go プロジェクト: cloudcache/ohlala
// 查看关注的人
func user_Follows(ctx *goku.HttpContext) goku.ActionResulter {

	userId, _ := strconv.ParseInt(ctx.RouteData.Params["id"], 10, 64)
	var user *models.User
	if userId > 0 {
		user = models.User_GetById(userId)
	} else {
		if u, ok := ctx.Data["user"]; ok {
			user = u.(*models.User)
			ctx.ViewData["UserMenu"] = "um-follows"
		}
	}

	if user == nil {
		ctx.ViewData["errorMsg"] = "用户不存在"
		return ctx.Render("error", nil)
	}

	page, pagesize := utils.PagerParams(ctx.Request)
	friends, _ := models.UserFollow_Friends(user.Id, page, pagesize)

	ctx.ViewData["Friends"] = models.User_ToVUsers(friends, ctx)
	ctx.ViewData["HasMoreFriends"] = len(friends) >= pagesize
	return ctx.View(models.User_ToVUser(user, ctx))

}
コード例 #2
0
ファイル: user.go プロジェクト: cloudcache/ohlala
// 查看粉丝
func user_Fans(ctx *goku.HttpContext) goku.ActionResulter {
	var isSelf bool
	userId, _ := strconv.ParseInt(ctx.RouteData.Params["id"], 10, 64)
	var user *models.User
	if userId > 0 {
		user = models.User_GetById(userId)
	} else {
		if u, ok := ctx.Data["user"]; ok {
			user = u.(*models.User)
			ctx.ViewData["UserMenu"] = "um-fans"
			isSelf = true
		}
	}

	if user == nil {
		ctx.ViewData["errorMsg"] = "用户不存在"
		return ctx.Render("error", nil)
	}

	page, pagesize := utils.PagerParams(ctx.Request)
	followers, _ := models.UserFollow_Followers(user.Id, page, pagesize)

	ctx.ViewData["Followers"] = models.User_ToVUsers(followers, ctx)
	ctx.ViewData["HasMoreFollowers"] = len(followers) >= pagesize

	if isSelf {
		models.Remind_Reset(user.Id, models.REMIND_FANS)
	}

	return ctx.View(models.User_ToVUser(user, ctx))

}
コード例 #3
0
ファイル: user_setting.go プロジェクト: cloudcache/ohlala
	form := form.NewForm(oldPwd, newPwd, newPwd2)
	return form
}

/**
 * Controller: user
 */
var _ = goku.Controller("user").

	/**
	 * 查看用户设置页
	 */
	Get("setting", func(ctx *goku.HttpContext) goku.ActionResulter {

		user := ctx.Data["user"].(*models.User)
		return ctx.View(models.User_ToVUser(user, ctx))

	}).Filters(filters.NewRequireLoginFilter()).

	/**
	 * 更新用户基本信息
	 */
	Post("update-base", func(ctx *goku.HttpContext) goku.ActionResulter {

		user := ctx.Data["user"].(*models.User)
		f := createBaseInfoForm()
		f.FillByRequest(ctx.Request)

		errorMsgs := make([]string, 0)
		if f.Valid() {
			m := f.CleanValues()
コード例 #4
0
ファイル: user.go プロジェクト: cloudcache/ohlala
		if user == nil {
			ctx.ViewData["errorMsg"] = "用户不存在"
			return ctx.Render("error", nil)
		}

		links := models.Link_ByUser(user.Id, 1, golink.PAGE_SIZE)
		friends, _ := models.UserFollow_Friends(user.Id, 1, 24)
		followers, _ := models.UserFollow_Followers(user.Id, 1, 24)
		followTopics, _ := models.User_GetFollowTopics(user.Id, 1, 24, "")

		ctx.ViewData["Links"] = models.Link_ToVLink(links, ctx)
		ctx.ViewData["Friends"] = friends
		ctx.ViewData["Followers"] = followers
		ctx.ViewData["FollowTopics"] = followTopics
		ctx.ViewData["HasMoreLink"] = len(links) >= golink.PAGE_SIZE
		return ctx.View(models.User_ToVUser(user, ctx))

	}).Filters(filters.NewRequireLoginFilter()).

	/**
	 * 获取用户信息
	 * 用于浮动层
	 */
	Get("pbox-info", func(ctx *goku.HttpContext) goku.ActionResulter {

		userId, _ := strconv.ParseInt(ctx.RouteData.Params["id"], 10, 64)
		user := models.User_GetById(userId)

		if user != nil {
			return ctx.RenderPartial("pop-info", models.User_ToVUser(user, ctx))
		}