diff --git a/crmdMeeting.go b/crmMeeting.go similarity index 66% rename from crmdMeeting.go rename to crmMeeting.go index 2502e5e..39f7149 100644 --- a/crmdMeeting.go +++ b/crmMeeting.go @@ -2,6 +2,8 @@ package main import ( "encoding/json" + "strings" + "time" ) type crmdMeetingAttendance struct { @@ -43,7 +45,7 @@ type crmdMeeting struct { CoverName string `json:"coverName,omitempty"` //for web spa operation - spaErrMsg string + spaErrMsg []string } func (m crmdMeeting) save() (newMeeting crmdMeeting, err error) { @@ -71,10 +73,51 @@ func (m crmdMeeting) save() (newMeeting crmdMeeting, err error) { return } -func (m *crmdMeeting) setSpaErr(e string) { - m.spaErrMsg = e +func (m *crmdMeeting) clearSpaErr(e string) { + m.spaErrMsg = []string{} +} + +func (m *crmdMeeting) addSpaErr(e string) { + m.spaErrMsg = append(m.spaErrMsg, e) } func (m crmdMeeting) ErrorMessage() string { - return m.spaErrMsg + v := strings.Join(m.spaErrMsg, "
") + return v +} + +func (m crmdMeeting) hasError() bool { + return len(m.spaErrMsg) > 0 +} + +func (m crmdMeeting) CoverCacheURL() string { + if m.CoverID != "" { + u := CRMConfig.CacheSiteURL + "?a=" + m.CoverID + return buildSignatureAppend2Url(u, IntraAPIConfig.CRMSecrete) + } + return GlobalPath.ThisSiteURL + "spa/assets/img/meetingdefault.jpg" +} + +func crmGetMeeting(id string) (ret crmdMeeting, err error) { + entity, err := crmGetEntity("Meeting", id) + if err != nil { + return + } + + ret = entity.(crmdMeeting) + return +} + +func (m crmdMeeting) StartDate() string { + t, _ := time.Parse(getCrmTimeLayout(), m.DateStart) + return t.Format("02 January, 2006") +} + +func (m crmdMeeting) StartHour() string { + t, _ := time.Parse(getCrmTimeLayout(), m.DateStart) + return t.Format("15:04") +} + +func (m crmdMeeting) DurationHour() string { + return "12:30" }