func EditReservationByTeacher(w http.ResponseWriter, r *http.Request, userId string, userType models.UserType) interface{} { reservationId := r.PostFormValue("reservation_id") startTime := r.PostFormValue("start_time") endTime := r.PostFormValue("end_time") teacherFullname := r.PostFormValue("teacher_fullname") teacherMobile := r.PostFormValue("teacher_mobile") var result = map[string]interface{}{"state": "SUCCESS"} var tl = buslogic.TeacherLogic{} var reservationJson = make(map[string]interface{}) reservation, err := tl.EditReservationByTeacher(reservationId, startTime, endTime, teacherFullname, teacherMobile, userId, userType) if err != nil { ErrorHandler(w, r, err) return nil } reservationJson["reservation_id"] = reservation.Id reservationJson["start_time"] = reservation.StartTime.In(utils.Location).Format(utils.TIME_PATTERN) reservationJson["end_time"] = reservation.EndTime.In(utils.Location).Format(utils.TIME_PATTERN) reservationJson["teacher_fullname"] = reservation.TeacherFullname reservationJson["teacher_mobile"] = reservation.TeacherMobile result["reservation"] = reservationJson return result }
func GetStudentInfoByTeacher(w http.ResponseWriter, r *http.Request, userId string, userType models.UserType) interface{} { reservationId := r.PostFormValue("reservation_id") var result = map[string]interface{}{"state": "SUCCESS"} var tl = buslogic.TeacherLogic{} var studentJson = make(map[string]interface{}) studentInfo, err := tl.GetStudentInfoByTeacher(reservationId, userId, userType) if err != nil { ErrorHandler(w, r, err) return nil } studentJson["name"] = studentInfo.Name studentJson["gender"] = studentInfo.Gender studentJson["student_id"] = studentInfo.StudentId studentJson["school"] = studentInfo.School studentJson["hometown"] = studentInfo.Hometown studentJson["mobile"] = studentInfo.Mobile studentJson["email"] = studentInfo.Email studentJson["experience"] = studentInfo.Experience studentJson["problem"] = studentInfo.Problem result["student_info"] = studentJson return result }
func GetFeedbackByTeacher(w http.ResponseWriter, r *http.Request, userId string, userType models.UserType) interface{} { reservationId := r.PostFormValue("reservation_id") var result = map[string]interface{}{"state": "SUCCESS"} var tl = buslogic.TeacherLogic{} var feedback = make(map[string]interface{}) reservation, err := tl.GetFeedbackByTeacher(reservationId, userId, userType) if err != nil { ErrorHandler(w, r, err) return nil } if len(reservation.TeacherFeedback.TeacherFullname) == 0 { feedback["teacher_fullname"] = reservation.TeacherFullname } else { feedback["teacher_fullname"] = reservation.TeacherFeedback.TeacherFullname } if len(reservation.TeacherFeedback.TeacherUsername) == 0 { feedback["teacher_username"] = reservation.TeacherUsername } else { feedback["teacher_username"] = reservation.TeacherFeedback.TeacherUsername } if len(reservation.TeacherFeedback.StudentFullname) == 0 { feedback["student_fullname"] = reservation.StudentInfo.Name } else { feedback["student_fullname"] = reservation.TeacherFeedback.StudentFullname } feedback["problem"] = reservation.TeacherFeedback.Problem feedback["solution"] = reservation.TeacherFeedback.Solution feedback["advice"] = reservation.TeacherFeedback.AdviceToCenter result["feedback"] = feedback return result }
func CancelReservationByTeacher(w http.ResponseWriter, r *http.Request, userId string, userType models.UserType) interface{} { r.ParseForm() reservationIds := []string(r.Form["reservation_ids"]) var result = map[string]interface{}{"state": "SUCCESS"} var tl = buslogic.TeacherLogic{} removed, err := tl.CancelReservationsByTeacher(reservationIds, userId, userType) if err != nil { ErrorHandler(w, r, err) return nil } result["removed_count"] = removed return result }
func SubmitFeedbackByTeacher(w http.ResponseWriter, r *http.Request, userId string, userType models.UserType) interface{} { reservationId := r.PostFormValue("reservation_id") teacherUsername := r.PostFormValue("teacher_username") teacherFullname := r.PostFormValue("teacher_fullname") studentFullname := r.PostFormValue("student_fullname") problem := r.PostFormValue("problem") solution := r.PostFormValue("solution") advice := r.PostFormValue("advice") var result = map[string]interface{}{"state": "SUCCESS"} var tl = buslogic.TeacherLogic{} _, err := tl.SubmitFeedbackByTeacher(reservationId, teacherFullname, teacherUsername, studentFullname, problem, solution, advice, userId, userType) if err != nil { ErrorHandler(w, r, err) return nil } return result }