Skip to content

Commit 351e238

Browse files
authored
Merge pull request #490 from timeoff-management/tom-xxx-cleanup-for-grouping-team-view
Team view page improvements
2 parents 75f19b1 + 5d583d9 commit 351e238

File tree

3 files changed

+26
-4
lines changed

3 files changed

+26
-4
lines changed

lib/route/calendar.js

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ router.get('/teamview/', async (req, res) => {
137137
? moment.utc(req.query['date'])
138138
: user.company.get_today();
139139

140-
const grouped_mode = !! req.query['grouped_mode'];
140+
const grouped_mode = getGroupedModeParameter(req);
141141

142142
const team_view = new TeamView({ user, base_date });
143143

@@ -195,6 +195,25 @@ router.get('/teamview/', async (req, res) => {
195195
};
196196
});
197197

198+
const getGroupedModeParameter = (req) => {
199+
/**
200+
* grouped_mode parameter is saved in the current session so user's
201+
* transition between different pages does not reset the value
202+
*/
203+
let groupedMode = !! req.query['grouped_mode'];
204+
205+
if (req.query['save_grouped_mode']) {
206+
req.session.teamViewGroupedMode = groupedMode
207+
}
208+
209+
// for cases when no grouped_mode parameter was supplied: used onf from session
210+
if (req.query['grouped_mode'] === undefined) {
211+
groupedMode = req.session.teamViewGroupedMode
212+
}
213+
214+
return groupedMode
215+
};
216+
198217
const groupUsersOnTeamViewByDepartments = (usersAndLeaves) => {
199218
const departmentsDict = usersAndLeaves.reduce(
200219
(acc, item) => ({ ...acc, [item.user.department.id]: { departmentName: item.user.department.name, users_and_leaves: [] } }),
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
{{#if current_department }}department={{current_department.id}}{{/if}}{{#if base_date }}&date={{ as_date_formatted base_date 'YYYY-MM' }}{{/if}}{{#if grouped_mode}}&grouped_mode={{grouped_mode}}{{/if}}
1+
{{#if current_department }}{{#unless grouped_mode}}department={{current_department.id}}&{{/unless}}{{/if~}}
2+
{{~#if base_date }}date={{ as_date_formatted base_date 'YYYY-MM' }}&{{/if~}}
3+
{{~#if grouped_mode }}grouped_mode={{grouped_mode}}&{{/if~}}
4+
{{~#if save_grouped_mode}}save_grouped_mode=1&{{/if~}}

views/team_view.hbs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
<div class="col-md-6 lead">{{logged_user.name}} {{logged_user.lastname}}'s team <a href="/calendar/feeds/" data-toggle="tooltip" data-placement="right" title="Export Team View to external calendars"><span class="fa fa-rss"></span></a></div>
88
<div class="col-md-3 col-md-offset-3">
99
<div class="btn-group btn-group-sm pull-right" role="group">
10-
<a href="/calendar/teamview/?{{> team_view_url_parameters grouped_mode = 0 }}" class="btn btn-default" {{#unless grouped_mode}}disabled=disabled{{/unless}}>All</a>
11-
<a href="/calendar/teamview/?{{> team_view_url_parameters grouped_mode = 1 }}" class="btn btn-default" {{#if grouped_mode}}disabled=disabled{{/if}}>By Department</a>
10+
<a href="/calendar/teamview/?{{> team_view_url_parameters grouped_mode = 0 save_grouped_mode = 1 }}" class="btn btn-default" {{#unless grouped_mode}}disabled=disabled{{/unless}}>All</a>
11+
<a href="/calendar/teamview/?{{> team_view_url_parameters grouped_mode = 1 save_grouped_mode = 1 }}" class="btn btn-default" {{#if grouped_mode}}disabled=disabled{{/if}}>By department</a>
1212
</div>
1313
</div>
1414
</div>

0 commit comments

Comments
 (0)