Bladeren bron

meetingid get from cookie.

master
Patrick Peng Sun 8 jaren geleden
bovenliggende
commit
10b90980ee
1 gewijzigde bestanden met toevoegingen van 21 en 9 verwijderingen
  1. +21
    -9
      spaEditMeeting.go

+ 21
- 9
spaEditMeeting.go Bestand weergeven

@@ -23,6 +23,10 @@ func spaEditMeetingHandler(w http.ResponseWriter, r *http.Request) {
}

meeting, found := getMeetingFromRequest(r)
if !found {
cookie := cookieClear("meetingid")
http.SetCookie(w, &cookie) //clear meeting id
}

switch r.Method {
case "GET":
@@ -42,6 +46,11 @@ func spaEditMeetingHandler(w http.ResponseWriter, r *http.Request) {
response403Handler(w)
return
}
if meeting.ID == "" {
meeting.ParentID = lead.ID
meeting.ParentType = "Lead"
meeting.Status = "submitted"
}
meeting.saveFromWeb(w, r)
default:
w.WriteHeader(http.StatusUnauthorized)
@@ -78,20 +87,15 @@ func (m crmdMeeting) showEdit(w http.ResponseWriter) {
}

func getMeetingFromRequest(r *http.Request) (meeting crmdMeeting, found bool) {
q, err := url.ParseQuery(r.URL.RawQuery)
if err != nil {
return
}

id, ok := q["mid"] //meetingid
id, ok := cookieVerifyAndGet(r, "meetingid")
if !ok {
return
}
meeting, err = crmGetMeeting(id[0])

meeting, err := crmGetMeeting(id)
if err != nil {
found = false
log.Printf("WARNING: cannot find meeting with id [%s]", id[0])
log.Printf("WARNING: cannot find meeting with id [%s]", id)
return
}
found = true
@@ -100,7 +104,7 @@ func getMeetingFromRequest(r *http.Request) (meeting crmdMeeting, found bool) {

func (m crmdMeeting) saveFromWeb(w http.ResponseWriter, r *http.Request) {

meeting := crmdMeeting{}
meeting := crmdMeeting{} //collecting input
err := r.ParseMultipartForm(32 << 20)
if err != nil {
response400Handler(w)
@@ -119,10 +123,18 @@ func (m crmdMeeting) saveFromWeb(w http.ResponseWriter, r *http.Request) {
meeting.validateFormFile(r)

meeting.ID = m.ID
meeting.ParentID = m.ParentID
meeting.ParentType = m.ParentType
meeting.Status = m.Status

updatedMeeting, err := meeting.save()
if err == nil {
updatedMeeting.setFlashTitle("成功保存")
updatedMeeting.addFlashMsg("活动信息已经成功保存,其他校友可通过公众号查阅本活动信息")
//remember this meeting
cookie := cookieCreate("meetingid", updatedMeeting.ID, 7200)
http.SetCookie(w, &cookie)
//show editing dialog again
updatedMeeting.showEdit(w)
return
}

Laden…
Annuleren
Opslaan