diff options
author | Teddy Wing | 2017-06-03 15:13:28 +0200 |
---|---|---|
committer | Teddy Wing | 2017-06-03 15:13:28 +0200 |
commit | 61c447fda6fe833bebb953600167975685e89102 (patch) | |
tree | ce96e85b9307df20903d3257a7a23df9cc1bbde3 /timetask/time_entry.go | |
parent | c0576d6d96656f4a83e8bdff7cb0a09f455a0b10 (diff) | |
parent | 24a3a2d9dbe6b2cd48d126f3f36a6d79497b4cc4 (diff) | |
download | timetasker-61c447fda6fe833bebb953600167975685e89102.tar.bz2 |
Merge branch 'submit-single-time-entry' into timetasker-daily
Diffstat (limited to 'timetask/time_entry.go')
-rw-r--r-- | timetask/time_entry.go | 63 |
1 files changed, 24 insertions, 39 deletions
diff --git a/timetask/time_entry.go b/timetask/time_entry.go index 17a8e0c..161de3e 100644 --- a/timetask/time_entry.go +++ b/timetask/time_entry.go @@ -3,50 +3,35 @@ package timetask import "time" type TimeEntry struct { - Client string - Project string - Module string - Task string - WorkType string `yaml:"work_type"` + PersonID int + Client int + Project int + Module int + Task int + WorkType int Date time.Time Time int Billable bool Description string } -// Parse date string into a real date -func (te *TimeEntry) UnmarshalYAML(unmarshal func(interface{}) error) error { - var auxiliary struct { - Client string - Project string - Module string - Task string - WorkType string `yaml:"work_type"` - Date string - Time int - Billable bool - Description string +func NewTimeEntry( + profile Profile, + project Project, + date time.Time, + time int, + description string, +) TimeEntry { + return TimeEntry{ + PersonID: profile.PersonID, + Client: project.Client, + Project: project.Project, + Module: project.Module, + Task: project.Task, + WorkType: project.WorkType, + Date: date, + Time: time, + Billable: project.Billable, + Description: description, } - - err := unmarshal(&auxiliary) - if err != nil { - return err - } - - date, err := time.Parse("2006-01-02", auxiliary.Date) - if auxiliary.Date != "" && err != nil { - return err - } - - te.Client = auxiliary.Client - te.Project = auxiliary.Project - te.Module = auxiliary.Module - te.Task = auxiliary.Task - te.WorkType = auxiliary.WorkType - te.Date = date - te.Time = auxiliary.Time - te.Billable = auxiliary.Billable - te.Description = auxiliary.Description - - return nil } |