Skip to content

Commit 74f03ee

Browse files
committed
issue RatioWeb#3: free hours checkbox fix; error message appending
1 parent 5baefa3 commit 74f03ee

File tree

1 file changed

+37
-37
lines changed

1 file changed

+37
-37
lines changed

gitlab-time-tracking.user.js

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -13,62 +13,64 @@
1313
function createWidget() {
1414
var sum = aggregateSumOfTrackingComment();
1515
var budget = getEstimationTime();
16-
1716
var formatted_sum = (budget > 0) ? sum + "h/" + budget + 'h' : sum;
18-
19-
20-
// Create time tracking widget
21-
var timetracking = '<div class=\'block timetracking\'>' +
22-
'<div class=\'title hide-collapsed\'>Time tracking (<span class="timetrack-data bold">' + formatted_sum +
23-
'</span>)<a class="edit-link pull-right" href="#">Edit</a>' +
24-
'</div>'
17+
18+
// Create time tracking widget.
19+
var timetracking = '<div class=\'block timetracking\'>'
20+
+ '<div class=\'title hide-collapsed\'>Time tracking (<span class="timetrack-data bold">' + formatted_sum
21+
+ '</span>)<a class="edit-link pull-right" href="#">Edit</a>'
22+
+ '</div>'
23+
+ '<div id="timetracking-messages"></div>'
2524
+ '<div class="selectbox hide-collapsed">'
2625
+ '<div class="form-group"><div class="control-label">Date</div><div class="col-sm-12"><input placeholder="Date" class="datepicker" name="timetrack_date" /></div></div>'
2726
+ '<div class="form-group"><div class="control-label">Hours</div><div class="col-sm-12"><input placeholder="Hours" value="0" type="number" min="0" step="1" name="timetrack_hours" /></div></div>'
2827
+ '<div class="form-group"><div class="control-label">Minutes</div><div class="col-sm-12"><input placeholder="Minutes" value="0" type="number" min="0" max="60" step="15" name="timetrack_minutes" /></div></div>'
29-
+ '<div class="form-group"><div class="control-label">Description</div><div class="col-sm-12"><textarea name="timetrack_description" placeholder="Please enter your activity description here"></textarea></div></div>'
30-
+ '<div class="form-group"><div class="control-label">Free hours?</div><div><input type="checkbox" checked="false" /></div></div>'
28+
+ '<div class="form-group clearfix"><div class="control-label">Description</div><div class="col-sm-12"><textarea name="timetrack_description" placeholder="Please enter your activity description here"></textarea></div></div>'
29+
+ '<div class="form-group clearfix"><div class="pull-left">Free hours?</div><div class="control-label"><input id="timetracking-clock-free" type="checkbox"/></div></div>'
3130
+ '<button name="create_timetrack" value="CreateTime" class="" type="submit">Update work log</button>'
3231
+ '</div>'
33-
'</div>';
34-
var estimation = '<div class=\'block estimation\'>' +
35-
'<div class=\'title hide-collapsed\'>Estimation (<span class="estimation-data bold">' + budget +
36-
'h</span>)<a class="edit-link pull-right" href="#">Edit</a>' +
37-
'</div>'
32+
+ '</div>';
33+
34+
// Create estimation widget.
35+
var estimation = '<div class=\'block estimation\'>'
36+
+ '<div class=\'title hide-collapsed\'>Estimation (<span class="estimation-data bold">' + budget
37+
+ 'h</span>)<a class="edit-link pull-right" href="#">Edit</a>'
38+
+ '</div>'
3839
+ '<div class="selectbox hide-collapsed">'
3940
+ '<div class="form-group"><div class="control-label">Hours</div><div class="col-sm-12"><input placeholder="Hours" value="0" type="number" min="0" step="1" name="estimation_hours" /></div></div>'
4041
+ '<div class="form-group"><div class="control-label">Minutes</div><div class="col-sm-12"><input placeholder="Minutes" value="0" type="number" min="0" max="60" step="15" name="estimation_minutes" /></div></div>'
41-
+ '<div class="form-group"><div class="control-label">Description</div><div class="col-sm-12"><textarea name="estimation_description" placeholder="Please enter your estimation description here"></textarea></div></div>'
42+
+ '<div class="form-group clearfix"><div class="control-label">Description</div><div class="col-sm-12"><textarea name="estimation_description" placeholder="Please enter your estimation description here"></textarea></div></div>'
4243
+ '<button name="create_estimation" value="CreateEstimation" class="" type="submit">Update Time Estimation</button>'
4344
+ '</div>'
44-
'</div>';
45+
+ '</div>';
4546
$('form.inline-update').append(timetracking);
4647
$('form.inline-update').append(estimation);
47-
48+
4849
var $dateField = $('input[name=timetrack_date]');
49-
50+
5051
new Pikaday({
5152
field: $dateField.get(0),
5253
format: 'yyyy-mm-dd',
5354
onSelect: function(dateText) {
5455
dateField.val(dateFormat(new Date(dateText), 'yyyy-mm-dd'));
5556
}
5657
}).setDate(new Date($dateField.val()));
57-
5858

5959
$('button[name=create_timetrack]').click(function () {
60-
createTimeTrackingComment(':clock1:', '', 'timetrack');
60+
if ($("#timetracking-clock-free").is(':checked')) {
61+
createTimeTrackingComment(':clock1: :free:', '', 'timetrack');
62+
} else {
63+
createTimeTrackingComment(':clock1:', '', 'timetrack');
64+
}
6165
return false;
6266
});
63-
67+
6468
$('button[name=create_estimation]').click(function () {
6569
createTimeTrackingComment(':dart:', '', 'estimation');
6670
return false;
67-
});
71+
});
6872
}
6973

70-
71-
7274
/**
7375
* Create tracking comment.
7476
*/
@@ -81,10 +83,12 @@ function createTimeTrackingComment(emoji, additional, type) {
8183
var text = emoji + ' ' + additional;
8284
var time_is_entered = (hours + minutes > 0);
8385
var time_string = type === 'timetrack' ? "/spend " : "/estimate ";
84-
86+
8587
if (!time_is_entered) {
86-
}
88+
$("#timetracking-messages").addClass("cred").text("NOTICE: enter time data first!");
89+
}
8790
else {
91+
$("#timetracking-messages").removeClass("cred").text("");
8892
if (hours != 0) {
8993
time_string = time_string + hours + 'h';
9094
text = text + ' ' + hours + 'h';
@@ -103,17 +107,16 @@ function createTimeTrackingComment(emoji, additional, type) {
103107
$('textarea[name="note[note]"]').trigger('focus');
104108
$('textarea[name="note[note]"]').trigger('input');
105109
$('.btn-create.comment-btn').click();
106-
110+
107111
setTimeout(
108112
function () {
109113
$('textarea[name="note[note]"]').val(time_string);
110114
$('textarea[name="note[note]"]').trigger('focus');
111115
$('textarea[name="note[note]"]').trigger('input');
112-
$('.btn-create.comment-btn').click();
116+
$('.btn-create.comment-btn').click();
113117
},
114118
1500
115-
)
116-
119+
);
117120
}
118121
}
119122

@@ -142,7 +145,6 @@ function aggregateSumOfTrackingComment() {
142145

143146
});
144147

145-
146148
return time.asHours();
147149
}
148150

@@ -171,15 +173,13 @@ function getEstimationTime() {
171173

172174
});
173175

174-
175176
return time.asHours();
176177
}
177178

178-
179179
$(
180-
function () {
181-
createWidget();
182-
180+
function () {
181+
createWidget();
182+
183183
// $('input.btn-save').on('click', )
184184
}
185185
);

0 commit comments

Comments
 (0)