Archive/Unarchive
Several other improvements
This commit is contained in:
21
model.go
21
model.go
@@ -16,7 +16,7 @@ func (a *AppState) addTask(taskString string) error {
|
||||
t.CreatedDate = time.Now()
|
||||
}
|
||||
a.TaskList.AddTask(t)
|
||||
return nil
|
||||
return a.WriteList()
|
||||
}
|
||||
|
||||
func (a *AppState) toggleTaskComplete(id int) error {
|
||||
@@ -30,7 +30,7 @@ func (a *AppState) toggleTaskComplete(id int) error {
|
||||
} else {
|
||||
task.Complete()
|
||||
}
|
||||
return nil
|
||||
return a.WriteList()
|
||||
}
|
||||
|
||||
func (a *AppState) archiveTask(id int) error {
|
||||
@@ -39,12 +39,25 @@ func (a *AppState) archiveTask(id int) error {
|
||||
if task, err = a.TaskList.GetTask(id); err != nil {
|
||||
return err
|
||||
}
|
||||
task.Completed = true
|
||||
if err := a.TaskList.ArchiveTaskToFile(*task, app.getDoneFile()); err != nil {
|
||||
return err
|
||||
}
|
||||
a.TaskList.RemoveTask(*task)
|
||||
return nil
|
||||
return a.WriteList()
|
||||
}
|
||||
|
||||
func (a *AppState) unarchiveTask(id int) error {
|
||||
var err error
|
||||
var task *todotxt.Task
|
||||
if task, err = a.DoneList.GetTask(id); err != nil {
|
||||
return err
|
||||
}
|
||||
a.TaskList.AddTask(task)
|
||||
if err = a.WriteList(); err != nil {
|
||||
return err
|
||||
}
|
||||
a.DoneList.RemoveTask(*task)
|
||||
return a.WriteDoneList()
|
||||
}
|
||||
|
||||
func (a *AppState) getFilterPredicate(filter string) func(todotxt.Task) bool {
|
||||
|
||||
Reference in New Issue
Block a user