aboutsummaryrefslogtreecommitdiffstats
path: root/timetask
diff options
context:
space:
mode:
authorTeddy Wing2017-06-03 11:47:26 +0200
committerTeddy Wing2017-06-03 11:47:26 +0200
commit302fbc3a9db675c24e3ca2cb0c99d1ae5b88180e (patch)
treef9099bdb355562cd27eee3a6a7021cc77022e086 /timetask
parentc0576d6d96656f4a83e8bdff7cb0a09f455a0b10 (diff)
downloadtimetasker-302fbc3a9db675c24e3ca2cb0c99d1ae5b88180e.tar.bz2
time_entry.go: Rewrite `TimeEntry` type for the new era
Change [Client, Project, Module, Task, WorkType] fields to `int`s instead of strings. In the new era, with config2.toml, these fields will be populated directly with the proper int IDs from TimeTask. Thus these fields need to be `int`s. Get rid of the `UnmarshalYAML` function as in the new era we won't be submitting time entries by YAML file. Instead they will be submitted directly via command line arguments (plus the IDs coming from the config file).
Diffstat (limited to 'timetask')
-rw-r--r--timetask/time_entry.go47
1 files changed, 5 insertions, 42 deletions
diff --git a/timetask/time_entry.go b/timetask/time_entry.go
index 17a8e0c..1cc4203 100644
--- a/timetask/time_entry.go
+++ b/timetask/time_entry.go
@@ -3,50 +3,13 @@ package timetask
import "time"
type TimeEntry struct {
- Client string
- Project string
- Module string
- Task string
- WorkType string `yaml:"work_type"`
+ 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
- }
-
- 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
-}