Skip to content

Commit 87506d2

Browse files
committed
Merge pull request #114 from teamsnap/manager-owner-permissions
Prevent manager from editing owner member item
2 parents 951be22 + 8e1341a commit 87506d2

File tree

6 files changed

+15
-6
lines changed

6 files changed

+15
-6
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# TeamSnap JavaScript SDK CHANGELOG
22

3+
### Feb 4, 2016 // Version 1.8.1
4+
- Update `canEditItem()` helper to return false when a manager attempts to edit an owner's member item.
5+
6+
---
7+
38
### Feb 4, 2016 // Version 1.8.0
49
- Adds `bulkCreateEvents` method.
510

lib/teamsnap.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1738,6 +1738,9 @@ exports.canEditItem = function(member, team, item) {
17381738
if (item.readOnly) {
17391739
return false;
17401740
}
1741+
if (item.type === 'member' && item.isOwner && !member.isOwner) {
1742+
return false;
1743+
}
17411744
if (teamsnap.canEditTeam(member, team)) {
17421745
return true;
17431746
}
@@ -5766,7 +5769,7 @@ ref = require('./model'), Collection = ref.Collection, Item = ref.Item;
57665769
require('./errors');
57675770

57685771
TeamSnap = (function() {
5769-
TeamSnap.prototype.version = '1.8.0';
5772+
TeamSnap.prototype.version = '1.8.1';
57705773

57715774
TeamSnap.prototype.promises = promises;
57725775

lib/teamsnap.min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "teamsnap.js",
3-
"version": "1.8.0",
3+
"version": "1.8.1",
44
"description": "A JavaScript library for using the TeamSnap API.",
55
"author": "Jacob Wright with TeamSnap (http://www.teamsnap.com)",
66
"homepage": "https://github.com/teamsnap/teamsnap-javascript-sdk",

src/collections/members.coffee

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ exports.canEditTeam = (member, team) ->
138138
exports.canEditItem = (member, team, item) ->
139139
return false unless member and team and @isItem item
140140
return false if item.readOnly
141+
return false if item.type is 'member' and item.isOwner and not member.isOwner
141142
return true if teamsnap.canEditTeam member, team
142143
return false if team.isArchivedSeason
143144
if @isItem item, 'member'

src/teamsnap.coffee

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ promises = require './promises'
33
require './errors'
44

55
class TeamSnap
6-
version: '1.8.0'
6+
version: '1.8.1'
77
promises: promises
88
when: promises.when
99
TeamSnap: TeamSnap

0 commit comments

Comments
 (0)