本文整理汇总了Golang中github.com/silvasur/mailremind/model.User.JobByID方法的典型用法代码示例。如果您正苦于以下问题:Golang User.JobByID方法的具体用法?Golang User.JobByID怎么用?Golang User.JobByID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/silvasur/mailremind/model.User
的用法示例。
在下文中一共展示了User.JobByID方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: jobs
func jobs(user model.User, sess *sessions.Session, req *http.Request) (interface{}, model.User) {
if user == nil {
return &jobsTpldata{Error: "You need to be logged in to do that.", Fatal: true}, user
}
outdata := new(jobsTpldata)
if req.Method == "POST" {
if err := req.ParseForm(); err != nil {
outdata.Error = "Could not understand form data."
goto listjobs
}
if req.FormValue("Delconfirm") != "yes" {
goto listjobs
}
for _, _id := range req.Form["Jobs"] {
id, err := db.ParseDBID(_id)
if err != nil {
outdata.Error = "Not all jobs could be deleted."
continue
}
job, err := user.JobByID(id)
if err != nil {
outdata.Error = "Not all jobs could be deleted."
continue
}
if job.Delete() != nil {
outdata.Error = "Not all jobs could be deleted."
continue
}
outdata.Success = "Jobs deleted."
}
}
listjobs:
jobs := user.Jobs()
outdata.Jobs = make([]*jobTpldata, len(jobs))
for i, job := range jobs {
outdata.Jobs[i] = jobToTpldata(job, user)
}
return outdata, user
}
示例2: jobedit
func jobedit(user model.User, sess *sessions.Session, req *http.Request) (interface{}, model.User) {
if user == nil {
return &jobeditTpldata{Error: "You need to be logged in to do that.", Fatal: true}, user
}
outdata := &jobeditTpldata{Schedules: make([]scheduleTpldata, maxSchedules)}
// Try to load job, if given
_id := mux.Vars(req)["ID"]
var job model.Job
if _id != "" {
id, err := db.ParseDBID(_id)
if err != nil {
return &jobeditTpldata{Error: "Job not found", Fatal: true}, user
}
if job, err = user.JobByID(id); err != nil {
return &jobeditTpldata{Error: "Job not found", Fatal: true}, user
}
}
if job != nil {
outdata.fillFromJob(job, user)
}
if req.Method == "POST" {
if (job == nil) && (jobsLimit >= 0) && (user.CountJobs() >= jobsLimit) {
outdata.Error = "You have reached the limit of jobs per user."
outdata.Fatal = true
return outdata, user
}
if err := req.ParseForm(); err != nil {
outdata.Error = "Could not understand forma data."
return outdata, user
}
subject, content, mc, ok := outdata.interpretForm(req.Form, user)
if ok {
next := mc.NextAfter(time.Now())
if next.IsZero() {
outdata.Error = "The schedule would not send any mail."
} else if job != nil {
if logfail("setting subject", job.SetSubject(subject)) &&
logfail("setting content", job.SetContent(content)) &&
logfail("setting schedule", job.SetSchedule(mc)) &&
logfail("setting next", job.SetNext(next)) {
outdata.Success = "Changes saved"
} else {
outdata.Error = "Could not save everything."
}
} else {
if job, err := user.AddJob(subject, content, mc, next); logfail("creating new job", err) {
outdata.fillFromJob(job, user)
outdata.Success = "Job created"
} else {
outdata.Error = "Failed creating the job."
}
}
}
}
return outdata, user
}