diff --git a/api/application.go b/api/application.go index 2e048bfa..c0e98234 100644 --- a/api/application.go +++ b/api/application.go @@ -1072,9 +1072,9 @@ func (h ApplicationHandler) AssessmentCreate(ctx *gin.Context) { m.Thresholds = q.Thresholds m.RiskMessages = q.RiskMessages m.CreateUser = h.CurrentUser(ctx) - // if sections aren't nil that indicates that this assessment is being + // if sections aren't empty that indicates that this assessment is being // created "as-is" and should not have its sections populated or autofilled. - if m.Sections == nil { + if len(m.Sections) == 0 { m.Sections = q.Sections resolver, rErr := assessment.NewTagResolver(h.DB(ctx)) if rErr != nil { diff --git a/api/archetype.go b/api/archetype.go index 2388e057..bb605a54 100644 --- a/api/archetype.go +++ b/api/archetype.go @@ -315,9 +315,9 @@ func (h ArchetypeHandler) AssessmentCreate(ctx *gin.Context) { m.Thresholds = q.Thresholds m.RiskMessages = q.RiskMessages m.CreateUser = h.CurrentUser(ctx) - // if sections aren't nil that indicates that this assessment is being + // if sections aren't empty that indicates that this assessment is being // created "as-is" and should not have its sections populated or autofilled. - if m.Sections == nil { + if len(m.Sections) == 0 { m.Sections = q.Sections resolver, rErr := assessment.NewTagResolver(h.DB(ctx)) if rErr != nil { diff --git a/api/assessment.go b/api/assessment.go index 5eb56f92..b6bbc326 100644 --- a/api/assessment.go +++ b/api/assessment.go @@ -220,7 +220,9 @@ func (r *Assessment) With(m *model.Assessment) { func (r *Assessment) Model() (m *model.Assessment) { m = &model.Assessment{} m.ID = r.ID - m.Sections, _ = json.Marshal(r.Sections) + if r.Sections != nil { + m.Sections, _ = json.Marshal(r.Sections) + } m.QuestionnaireID = r.Questionnaire.ID if r.Archetype != nil { m.ArchetypeID = &r.Archetype.ID