|
@@ -4,6 +4,7 @@ import (
|
|
|
"encoding/json"
|
|
|
"eta/eta_api/models"
|
|
|
"eta/eta_api/models/report"
|
|
|
+ "eta/eta_api/models/system"
|
|
|
"eta/eta_api/services"
|
|
|
"eta/eta_api/services/data"
|
|
|
"eta/eta_api/utils"
|
|
@@ -332,38 +333,12 @@ func (this *ReportController) EditDayWeekChapter() {
|
|
|
}
|
|
|
|
|
|
|
|
|
- {
|
|
|
-
|
|
|
- if reportInfo.AdminId != sysUser.AdminId {
|
|
|
-
|
|
|
- chapterGrantObj := report.ReportChapterGrant{}
|
|
|
- _, tmpErr := chapterGrantObj.GetGrantByIdAndAdmin(reportChapterInfo.ReportChapterId, sysUser.AdminId)
|
|
|
- if tmpErr != nil {
|
|
|
- if tmpErr.Error() == utils.ErrNoRow() {
|
|
|
- br.Msg = "没有权限"
|
|
|
- br.ErrMsg = "没有权限"
|
|
|
- br.IsSendEmail = false
|
|
|
- return
|
|
|
- }
|
|
|
- br.Msg = "获取章节id授权用户失败"
|
|
|
- br.ErrMsg = "获取章节id授权用户失败, Err: " + tmpErr.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- {
|
|
|
- markStatus, err := services.UpdateReportEditMark(reportChapterInfo.ReportId, reportChapterInfo.ReportChapterId, sysUser.AdminId, 1, sysUser.RealName, this.Lang)
|
|
|
- if err != nil {
|
|
|
- br.Msg = err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if markStatus.Status == 1 {
|
|
|
- br.Msg = markStatus.Msg
|
|
|
- br.IsSendEmail = false
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
+ hasAuth, msg, errMsg, isSendEmail := checkOpPermission(sysUser, reportInfo, reportChapterInfo, true, this.Lang)
|
|
|
+ if !hasAuth {
|
|
|
+ br.Msg = msg
|
|
|
+ br.ErrMsg = errMsg
|
|
|
+ br.IsSendEmail = isSendEmail
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
if reportInfo.State == 2 {
|
|
@@ -523,38 +498,12 @@ func (this *ReportController) DelChapter() {
|
|
|
}
|
|
|
|
|
|
|
|
|
- {
|
|
|
-
|
|
|
- if reportInfo.AdminId != sysUser.AdminId {
|
|
|
-
|
|
|
- chapterGrantObj := report.ReportChapterGrant{}
|
|
|
- _, tmpErr := chapterGrantObj.GetGrantByIdAndAdmin(reportChapterInfo.ReportChapterId, sysUser.AdminId)
|
|
|
- if tmpErr != nil {
|
|
|
- if tmpErr.Error() == utils.ErrNoRow() {
|
|
|
- br.Msg = "没有权限"
|
|
|
- br.ErrMsg = "没有权限"
|
|
|
- br.IsSendEmail = false
|
|
|
- return
|
|
|
- }
|
|
|
- br.Msg = "获取章节id授权用户失败"
|
|
|
- br.ErrMsg = "获取章节id授权用户失败, Err: " + tmpErr.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- {
|
|
|
- markStatus, err := services.UpdateReportEditMark(reportChapterInfo.ReportId, reportChapterInfo.ReportChapterId, sysUser.AdminId, 1, sysUser.RealName, this.Lang)
|
|
|
- if err != nil {
|
|
|
- br.Msg = err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if markStatus.Status == 1 {
|
|
|
- br.Msg = markStatus.Msg
|
|
|
- br.IsSendEmail = false
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
+ hasAuth, msg, errMsg, isSendEmail := checkOpPermission(sysUser, reportInfo, reportChapterInfo, true, this.Lang)
|
|
|
+ if !hasAuth {
|
|
|
+ br.Msg = msg
|
|
|
+ br.ErrMsg = errMsg
|
|
|
+ br.IsSendEmail = isSendEmail
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
if reportInfo.State == 2 {
|
|
@@ -565,7 +514,7 @@ func (this *ReportController) DelChapter() {
|
|
|
}
|
|
|
|
|
|
|
|
|
- err, errMsg := services.DelChapter(reportInfo, reportChapterInfo, sysUser)
|
|
|
+ err, errMsg = services.DelChapter(reportInfo, reportChapterInfo, sysUser)
|
|
|
if err != nil {
|
|
|
br.Msg = "删除失败"
|
|
|
if errMsg != "" {
|
|
@@ -622,7 +571,7 @@ func (this *ReportController) GetReportChapterList() {
|
|
|
}
|
|
|
|
|
|
|
|
|
- isAuth, err := services.CheckReportAuthByReportChapterInfo(sysUser.AdminId, reportInfo.AdminId, reportId)
|
|
|
+ isAuth, err := services.CheckReportAuthByReportId(sysUser, reportInfo.AdminId, reportId)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取报告权限失败"
|
|
|
br.ErrMsg = "获取报告权限失败,Err:" + err.Error()
|
|
@@ -750,7 +699,7 @@ func (this *ReportController) GetReportChapterList() {
|
|
|
}
|
|
|
|
|
|
|
|
|
- tmpChapterItem.IsAuth = services.CheckChapterAuthByAdminIdList(sysUser.AdminId, reportInfo.AdminId, tmpChapterIdGrandList)
|
|
|
+ tmpChapterItem.IsAuth = services.CheckChapterAuthByAdminIdList(sysUser, reportInfo.AdminId, tmpChapterIdGrandList)
|
|
|
|
|
|
resp = append(resp, tmpChapterItem)
|
|
|
}
|
|
@@ -804,7 +753,7 @@ func (this *ReportController) GetDayWeekChapter() {
|
|
|
}
|
|
|
|
|
|
|
|
|
- isAuth, err := services.CheckReportAuthByReportChapterInfo(sysUser.AdminId, reportInfo.AdminId, reportInfo.Id)
|
|
|
+ isAuth, err := services.CheckReportAuthByReportId(sysUser, reportInfo.AdminId, reportInfo.Id)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取报告权限失败"
|
|
|
br.ErrMsg = "获取报告权限失败,Err:" + err.Error()
|
|
@@ -979,24 +928,12 @@ func (this *ReportController) EditChapterTrendTag() {
|
|
|
}
|
|
|
|
|
|
|
|
|
- {
|
|
|
-
|
|
|
- if reportInfo.AdminId != sysUser.AdminId {
|
|
|
-
|
|
|
- chapterGrantObj := report.ReportChapterGrant{}
|
|
|
- _, tmpErr := chapterGrantObj.GetGrantByIdAndAdmin(chapterInfo.ReportChapterId, sysUser.AdminId)
|
|
|
- if tmpErr != nil {
|
|
|
- if tmpErr.Error() == utils.ErrNoRow() {
|
|
|
- br.Msg = "没有权限"
|
|
|
- br.ErrMsg = "没有权限"
|
|
|
- br.IsSendEmail = false
|
|
|
- return
|
|
|
- }
|
|
|
- br.Msg = "获取章节id授权用户失败"
|
|
|
- br.ErrMsg = "获取章节id授权用户失败, Err: " + tmpErr.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
+ hasAuth, msg, errMsg, isSendEmail := checkOpPermission(sysUser, reportInfo, chapterInfo, false, this.Lang)
|
|
|
+ if !hasAuth {
|
|
|
+ br.Msg = msg
|
|
|
+ br.ErrMsg = errMsg
|
|
|
+ br.IsSendEmail = isSendEmail
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
|
|
@@ -1122,7 +1059,7 @@ func (this *ReportController) VoiceUpload() {
|
|
|
}
|
|
|
|
|
|
|
|
|
- isAuth, err := services.CheckChapterAuthByReportChapterInfo(this.SysUser.AdminId, reportInfo.AdminId, reportChapterInfo)
|
|
|
+ isAuth, err := services.CheckChapterAuthByReportChapterInfo(this.SysUser, reportInfo.AdminId, reportChapterInfo)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取报告权限失败"
|
|
|
br.ErrMsg = "获取报告权限失败,Err:" + err.Error()
|
|
@@ -1550,38 +1487,12 @@ func (this *ReportController) EditChapterTitle() {
|
|
|
}
|
|
|
|
|
|
|
|
|
- {
|
|
|
-
|
|
|
- if reportInfo.AdminId != sysUser.AdminId {
|
|
|
-
|
|
|
- chapterGrantObj := report.ReportChapterGrant{}
|
|
|
- _, tmpErr := chapterGrantObj.GetGrantByIdAndAdmin(reportChapterInfo.ReportChapterId, sysUser.AdminId)
|
|
|
- if tmpErr != nil {
|
|
|
- if tmpErr.Error() == utils.ErrNoRow() {
|
|
|
- br.Msg = "没有权限"
|
|
|
- br.ErrMsg = "没有权限"
|
|
|
- br.IsSendEmail = false
|
|
|
- return
|
|
|
- }
|
|
|
- br.Msg = "获取章节id授权用户失败"
|
|
|
- br.ErrMsg = "获取章节id授权用户失败, Err: " + tmpErr.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- {
|
|
|
- markStatus, err := services.UpdateReportEditMark(reportChapterInfo.ReportId, reportChapterInfo.ReportChapterId, sysUser.AdminId, 1, sysUser.RealName, this.Lang)
|
|
|
- if err != nil {
|
|
|
- br.Msg = err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if markStatus.Status == 1 {
|
|
|
- br.Msg = markStatus.Msg
|
|
|
- br.IsSendEmail = false
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
+ hasAuth, msg, errMsg, isSendEmail := checkOpPermission(sysUser, reportInfo, reportChapterInfo, true, this.Lang)
|
|
|
+ if !hasAuth {
|
|
|
+ br.Msg = msg
|
|
|
+ br.ErrMsg = errMsg
|
|
|
+ br.IsSendEmail = isSendEmail
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
if reportInfo.State == 2 {
|
|
@@ -1632,3 +1543,73 @@ func (this *ReportController) EditChapterTitle() {
|
|
|
br.Success = true
|
|
|
br.Msg = "保存成功"
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func checkOpPermission(sysUser *system.Admin, reportInfo *models.Report, reportChapterInfo *models.ReportChapter, isMarkStatus bool, lang string) (hasAuth bool, msg, errMsg string, isSendEmail bool) {
|
|
|
+ isSendEmail = true
|
|
|
+
|
|
|
+
|
|
|
+ isAuth, err := services.CheckChapterAuthByReportChapterInfo(sysUser, reportInfo.AdminId, reportChapterInfo)
|
|
|
+ if err != nil {
|
|
|
+ msg = "获取报告权限失败"
|
|
|
+ errMsg = "获取报告权限失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if !isAuth {
|
|
|
+ msg = "没有权限"
|
|
|
+ errMsg = "没有权限"
|
|
|
+ isSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if isMarkStatus {
|
|
|
+ markStatus, err := services.UpdateReportEditMark(reportChapterInfo.ReportId, reportChapterInfo.ReportChapterId, sysUser.AdminId, 1, sysUser.RealName, lang)
|
|
|
+ if err != nil {
|
|
|
+ msg = err.Error()
|
|
|
+ errMsg = err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if markStatus.Status == 1 {
|
|
|
+ msg = markStatus.Msg
|
|
|
+ errMsg = markStatus.Msg
|
|
|
+ isSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ hasAuth = true
|
|
|
+
|
|
|
+ return
|
|
|
+}
|