Skip to content

Commit 319091d

Browse files
authored
Merge pull request #491 from timeoff-management/tom-xxx-store-team-view-department-id-in-session
Save Team View's department ID in session
2 parents 351e238 + 9387c5e commit 319091d

File tree

3 files changed

+27
-9
lines changed

3 files changed

+27
-9
lines changed

lib/route/calendar.js

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -138,13 +138,9 @@ router.get('/teamview/', async (req, res) => {
138138
: user.company.get_today();
139139

140140
const grouped_mode = getGroupedModeParameter(req);
141-
141+
const currentDepartmentId = getDepartmentIdForTeamView(req);
142142
const team_view = new TeamView({ user, base_date });
143143

144-
const currentDepartmentId = validator.isNumeric(req.query['department'])
145-
? req.query['department']
146-
: null;
147-
148144
try {
149145
const [team_view_details, company] = await Promise.all([
150146
team_view.promise_team_view_details({
@@ -214,6 +210,27 @@ const getGroupedModeParameter = (req) => {
214210
return groupedMode
215211
};
216212

213+
const getDepartmentIdForTeamView = (req) => {
214+
/**
215+
* department parameter is saved in the current session so user's
216+
* transition between different pages does not reset the value
217+
*/
218+
let departmentId = validator.isNumeric(req.query['department'])
219+
? req.query['department']
220+
: null;
221+
222+
if (req.query['save_current_department']) {
223+
req.session.teamViewDepartmentId = departmentId
224+
}
225+
226+
// for cases when no grouped_mode parameter was supplied: used onf from session
227+
if (req.query['department'] === undefined) {
228+
departmentId = req.session.teamViewDepartmentId
229+
}
230+
231+
return departmentId
232+
}
233+
217234
const groupUsersOnTeamViewByDepartments = (usersAndLeaves) => {
218235
const departmentsDict = usersAndLeaves.reduce(
219236
(acc, item) => ({ ...acc, [item.user.department.id]: { departmentName: item.user.department.name, users_and_leaves: [] } }),

views/partials/team_view_url_parameters.hbs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
{{~#if base_date }}date={{ as_date_formatted base_date 'YYYY-MM' }}&{{/if~}}
33
{{~#if grouped_mode }}grouped_mode={{grouped_mode}}&{{/if~}}
44
{{~#if save_grouped_mode}}save_grouped_mode=1&{{/if~}}
5+
{{~#if save_current_department}}save_current_department=1&{{/if~}}

views/team_view.hbs

Lines changed: 4 additions & 4 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 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>
10+
<a href="/calendar/teamview/?{{> team_view_url_parameters grouped_mode = 0 save_grouped_mode = 1 save_current_department = 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 save_current_department = 1 }}" class="btn btn-default" {{#if grouped_mode}}disabled=disabled{{/if}}>By department</a>
1212
</div>
1313
</div>
1414
</div>
@@ -105,10 +105,10 @@
105105
<span class="caret"></span>
106106
</button>
107107
<ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
108-
<li><a href="?{{> team_view_url_parameters current_department = null }}">All</a></li>
108+
<li><a href="?{{> team_view_url_parameters current_department = null save_current_department = 1 }}">All</a></li>
109109
<li role="separator" class="divider"></li>
110110
{{#each related_departments}}
111-
<li><a href="?{{> team_view_url_parameters base_date = ../base_date current_department = this }}">{{this.name}}</a></li>
111+
<li><a href="?{{> team_view_url_parameters base_date = ../base_date current_department = this save_current_department = 1 }}">{{this.name}}</a></li>
112112
{{/each}}
113113
</ul>
114114
</div>

0 commit comments

Comments
 (0)