diff --git a/models/list_items_create_update.go b/models/list_items_create_update.go index 7392075aee6..5a2d8b018be 100644 --- a/models/list_items_create_update.go +++ b/models/list_items_create_update.go @@ -2,26 +2,8 @@ package models // Create is the implementation to create a list task func (i *ListTask) Create(doer *User) (err error) { - //i.ListID = lID i.ID = 0 - return createOrUpdateListTask(i, doer) -} - -// Update updates a list task -func (i *ListTask) Update() (err error) { - // Check if the task exists - _, err = GetListTaskByID(i.ID) - if err != nil { - return - } - - return createOrUpdateListTask(i, &User{}) -} - -// Helper function for creation or updating of new lists as both methods share most of their logic -func createOrUpdateListTask(i *ListTask, doer *User) (err error) { - // Check if we have at least a text if i.Text == "" { return ErrListTaskCannotBeEmpty{} @@ -33,19 +15,26 @@ func createOrUpdateListTask(i *ListTask, doer *User) (err error) { return } - // Do the update - if i.ID != 0 { - _, err = x.ID(i.ID).Update(i) - } else { - user, err := GetUserByID(doer.ID) - if err != nil { - return err - } - - i.CreatedByID = user.ID - i.CreatedBy = user - _, err = x.Insert(i) + user, err := GetUserByID(doer.ID) + if err != nil { + return err } - return + i.CreatedByID = user.ID + i.CreatedBy = user + _, err = x.Insert(i) + return err +} + +// Update updates a list task +func (i *ListTask) Update() (err error) { + // Check if the task exists + _, err = GetListTaskByID(i.ID) + if err != nil { + return + } + + // Do the update + _, err = x.ID(i.ID).Update(i) + return err }