github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/routers/root/RReadAdministrator.go (about)

     1  package root
     2  
     3  import (
     4  	"github.com/insionng/makross"
     5  	
     6  	"github.com/insionng/yougam/models"
     7  )
     8  
     9  func GetRReadRootHandler(self *makross.Context) error {
    10  	
    11  
    12  	TplNames := ""
    13  	self.Set("catpage", "RReadAdministrator")
    14  	switch uid := self.Param("uid").MustInt64(); {
    15  	//单独模式
    16  	case uid > 0:
    17  		{
    18  			TplNames = "root/create_administrator"
    19  
    20  			if usr, err := models.GetUser(uid); usr != nil && err == nil {
    21  				self.Set("administrator", *usr)
    22  
    23  			} else {
    24  				self.Flash.Error(err.Error())
    25  				return self.Render(TplNames)
    26  
    27  			}
    28  		}
    29  	//列表模式
    30  	case uid <= 0:
    31  		{
    32  			TplNames = "root/administrator_table"
    33  			offset := self.Args("offset").MustInt64()
    34  			limit := self.Args("limit").MustInt64()
    35  			field := self.FormValue("field")
    36  
    37  			if limit == 0 {
    38  				limit = 1000 //默认限制显示最近1000条,需要显示全部请在提交请求的时候设置limit字段为-1
    39  			}
    40  
    41  			if field == "" {
    42  				field = "id"
    43  			}
    44  
    45  			if usrs, err := models.GetUsersByRole(-1000, int(offset), int(limit), field); err == nil && usrs != nil {
    46  				self.Set("administrators", *usrs)
    47  			}
    48  		}
    49  	}
    50  
    51  	return self.Render(TplNames)
    52  
    53  }