Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
4fc2ae7c
Commit
4fc2ae7c
authored
Aug 13, 2015
by
Christina Roberts
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #9312 from edx/diana/remove-invite-link
Remove invite link functionality from teams.
parents
ec916a31
afa587cc
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
3 additions
and
139 deletions
+3
-139
common/test/acceptance/pages/lms/teams.py
+0
-15
common/test/acceptance/tests/lms/test_teams.py
+3
-44
lms/djangoapps/teams/static/teams/js/spec/views/team_profile_spec.js
+0
-63
lms/djangoapps/teams/static/teams/js/views/team_profile.js
+0
-3
lms/djangoapps/teams/static/teams/js/views/teams_tab.js
+0
-1
lms/djangoapps/teams/static/teams/templates/team-profile.underscore
+0
-13
No files found.
common/test/acceptance/pages/lms/teams.py
View file @
4fc2ae7c
...
@@ -290,11 +290,6 @@ class TeamPage(CoursePage, PaginatedUIMixin):
...
@@ -290,11 +290,6 @@ class TeamPage(CoursePage, PaginatedUIMixin):
self
.
wait_for_ajax
()
self
.
wait_for_ajax
()
@property
@property
def
team_invite_section_present
(
self
):
"""Verifies that invite section is present"""
return
self
.
q
(
css
=
'.page-content-secondary .invite-team'
)
.
present
@property
def
team_members
(
self
):
def
team_members
(
self
):
"""Returns the number of team members in this team"""
"""Returns the number of team members in this team"""
return
len
(
self
.
q
(
css
=
'.page-content-secondary .team-member'
))
return
len
(
self
.
q
(
css
=
'.page-content-secondary .team-member'
))
...
@@ -308,16 +303,6 @@ class TeamPage(CoursePage, PaginatedUIMixin):
...
@@ -308,16 +303,6 @@ class TeamPage(CoursePage, PaginatedUIMixin):
"""Returns the username of team member"""
"""Returns the username of team member"""
return
self
.
q
(
css
=
'.page-content-secondary .tooltip-custom'
)
.
text
[
0
]
return
self
.
q
(
css
=
'.page-content-secondary .tooltip-custom'
)
.
text
[
0
]
@property
def
team_invite_help_text
(
self
):
"""Returns the team invite help text"""
return
self
.
q
(
css
=
'.page-content-secondary .invite-text'
)
.
text
[
0
]
@property
def
team_invite_url
(
self
):
"""Returns the url of invite link box"""
return
self
.
q
(
css
=
'.page-content-secondary .invite-link-input'
)
.
attrs
(
'value'
)[
0
]
def
click_join_team_button
(
self
):
def
click_join_team_button
(
self
):
""" Click on Join Team button"""
""" Click on Join Team button"""
self
.
q
(
css
=
'.join-team .action-primary'
)
.
first
.
click
()
self
.
q
(
css
=
'.join-team .action-primary'
)
.
first
.
click
()
...
...
common/test/acceptance/tests/lms/test_teams.py
View file @
4fc2ae7c
...
@@ -871,7 +871,7 @@ class TeamPageTest(TeamsTabBase):
...
@@ -871,7 +871,7 @@ class TeamPageTest(TeamsTabBase):
self
.
setup_discussion_user
(
role
=
role
)
self
.
setup_discussion_user
(
role
=
role
)
self
.
verify_teams_discussion_permissions
(
True
)
self
.
verify_teams_discussion_permissions
(
True
)
def
assert_team_details
(
self
,
num_members
,
is_member
=
True
,
max_size
=
10
,
invite_text
=
''
):
def
assert_team_details
(
self
,
num_members
,
is_member
=
True
,
max_size
=
10
):
"""
"""
Verifies that user can see all the information, present on detail page according to their membership status.
Verifies that user can see all the information, present on detail page according to their membership status.
...
@@ -879,7 +879,6 @@ class TeamPageTest(TeamsTabBase):
...
@@ -879,7 +879,6 @@ class TeamPageTest(TeamsTabBase):
num_members (int): number of users in a team
num_members (int): number of users in a team
is_member (bool) default True: True if request user is member else False
is_member (bool) default True: True if request user is member else False
max_size (int): number of users a team can have
max_size (int): number of users a team can have
invite_text (str): help text for invite link.
"""
"""
self
.
assertEqual
(
self
.
assertEqual
(
self
.
team_page
.
team_capacity_text
,
self
.
team_page
.
team_capacity_text
,
...
@@ -901,13 +900,10 @@ class TeamPageTest(TeamsTabBase):
...
@@ -901,13 +900,10 @@ class TeamPageTest(TeamsTabBase):
if
is_member
:
if
is_member
:
self
.
assertEqual
(
self
.
team_page
.
team_user_membership_text
,
'You are a member of this team.'
)
self
.
assertEqual
(
self
.
team_page
.
team_user_membership_text
,
'You are a member of this team.'
)
self
.
assertTrue
(
self
.
team_page
.
team_leave_link_present
)
self
.
assertTrue
(
self
.
team_page
.
team_leave_link_present
)
self
.
assertTrue
(
self
.
team_page
.
team_invite_section_present
)
self
.
assertEqual
(
self
.
team_page
.
team_invite_help_text
,
invite_text
)
self
.
assertTrue
(
self
.
team_page
.
new_post_button_present
)
self
.
assertTrue
(
self
.
team_page
.
new_post_button_present
)
else
:
else
:
self
.
assertEqual
(
self
.
team_page
.
team_user_membership_text
,
''
)
self
.
assertEqual
(
self
.
team_page
.
team_user_membership_text
,
''
)
self
.
assertFalse
(
self
.
team_page
.
team_leave_link_present
)
self
.
assertFalse
(
self
.
team_page
.
team_leave_link_present
)
self
.
assertFalse
(
self
.
team_page
.
team_invite_section_present
)
self
.
assertFalse
(
self
.
team_page
.
new_post_button_present
)
self
.
assertFalse
(
self
.
team_page
.
new_post_button_present
)
def
test_team_member_can_see_full_team_details
(
self
):
def
test_team_member_can_see_full_team_details
(
self
):
...
@@ -927,7 +923,6 @@ class TeamPageTest(TeamsTabBase):
...
@@ -927,7 +923,6 @@ class TeamPageTest(TeamsTabBase):
self
.
assert_team_details
(
self
.
assert_team_details
(
num_members
=
1
,
num_members
=
1
,
invite_text
=
self
.
SEND_INVITE_TEXT
)
)
def
test_other_users_can_see_limited_team_details
(
self
):
def
test_other_users_can_see_limited_team_details
(
self
):
...
@@ -967,42 +962,6 @@ class TeamPageTest(TeamsTabBase):
...
@@ -967,42 +962,6 @@ class TeamPageTest(TeamsTabBase):
learner_profile_page
.
wait_for_field
(
'username'
)
learner_profile_page
.
wait_for_field
(
'username'
)
self
.
assertTrue
(
learner_profile_page
.
field_is_visible
(
'username'
))
self
.
assertTrue
(
learner_profile_page
.
field_is_visible
(
'username'
))
def
test_team_member_cannot_see_invite_link_if_team_full
(
self
):
"""
Scenario: Team members should not see the invite link if the team is full.
Given I am enrolled in a course with a team configuration, a topic,
and a team belonging to that topic of which I am a member
When I visit the Team page for that team
Then I should see the "team is full" message
And I should not see the invite link
"""
self
.
_set_team_configuration_and_membership
(
max_team_size
=
1
)
self
.
team_page
.
visit
()
self
.
assert_team_details
(
num_members
=
1
,
max_size
=
1
,
invite_text
=
'No invitations are available. This team is full.'
)
def
test_team_member_can_see_invite_link
(
self
):
"""
Scenario: Team members should see the invite link if the team has capacity.
Given I am enrolled in a course with a team configuration, a topic,
and a team belonging to that topic of which I am a member
When I visit the Team page for that team
Then I should see the invite link help message
And I should see the invite link that can be selected
"""
self
.
_set_team_configuration_and_membership
()
self
.
team_page
.
visit
()
self
.
assert_team_details
(
num_members
=
1
,
invite_text
=
self
.
SEND_INVITE_TEXT
)
self
.
assertEqual
(
self
.
team_page
.
team_invite_url
,
'{0}?invite=true'
.
format
(
self
.
team_page
.
url
))
def
test_join_team
(
self
):
def
test_join_team
(
self
):
"""
"""
Scenario: User can join a Team if not a member already..
Scenario: User can join a Team if not a member already..
...
@@ -1023,7 +982,7 @@ class TeamPageTest(TeamsTabBase):
...
@@ -1023,7 +982,7 @@ class TeamPageTest(TeamsTabBase):
self
.
team_page
.
click_join_team_button
()
self
.
team_page
.
click_join_team_button
()
self
.
assertFalse
(
self
.
team_page
.
join_team_button_present
)
self
.
assertFalse
(
self
.
team_page
.
join_team_button_present
)
self
.
assertFalse
(
self
.
team_page
.
join_team_message_present
)
self
.
assertFalse
(
self
.
team_page
.
join_team_message_present
)
self
.
assert_team_details
(
num_members
=
1
,
is_member
=
True
,
invite_text
=
self
.
SEND_INVITE_TEXT
)
self
.
assert_team_details
(
num_members
=
1
,
is_member
=
True
)
def
test_already_member_message
(
self
):
def
test_already_member_message
(
self
):
"""
"""
...
@@ -1082,7 +1041,7 @@ class TeamPageTest(TeamsTabBase):
...
@@ -1082,7 +1041,7 @@ class TeamPageTest(TeamsTabBase):
self
.
_set_team_configuration_and_membership
()
self
.
_set_team_configuration_and_membership
()
self
.
team_page
.
visit
()
self
.
team_page
.
visit
()
self
.
assertFalse
(
self
.
team_page
.
join_team_button_present
)
self
.
assertFalse
(
self
.
team_page
.
join_team_button_present
)
self
.
assert_team_details
(
num_members
=
1
,
invite_text
=
self
.
SEND_INVITE_TEXT
)
self
.
assert_team_details
(
num_members
=
1
)
self
.
team_page
.
click_leave_team_link
()
self
.
team_page
.
click_leave_team_link
()
self
.
assert_team_details
(
num_members
=
0
,
is_member
=
False
)
self
.
assert_team_details
(
num_members
=
0
,
is_member
=
False
)
self
.
assertTrue
(
self
.
team_page
.
join_team_button_present
)
self
.
assertTrue
(
self
.
team_page
.
join_team_button_present
)
lms/djangoapps/teams/static/teams/js/spec/views/team_profile_spec.js
View file @
4fc2ae7c
...
@@ -119,10 +119,6 @@ define([
...
@@ -119,10 +119,6 @@ define([
assertTeamDetails
(
view
,
0
,
false
);
assertTeamDetails
(
view
,
0
,
false
);
expect
(
view
.
$
(
'.team-user-membership-status'
).
length
).
toBe
(
0
);
expect
(
view
.
$
(
'.team-user-membership-status'
).
length
).
toBe
(
0
);
// Verify that invite and leave team sections are not present.
expect
(
view
.
$
(
'.leave-team'
).
length
).
toBe
(
0
);
expect
(
view
.
$
(
'.invite-team'
).
length
).
toBe
(
0
);
});
});
it
(
'cannot see the country & language if empty'
,
function
()
{
it
(
'cannot see the country & language if empty'
,
function
()
{
var
requests
=
AjaxHelpers
.
requests
(
this
);
var
requests
=
AjaxHelpers
.
requests
(
this
);
...
@@ -149,65 +145,6 @@ define([
...
@@ -149,65 +145,6 @@ define([
// assert user profile page url.
// assert user profile page url.
expect
(
view
.
$
(
'.member-profile'
).
attr
(
'href'
)).
toBe
(
'/u/bilbo'
);
expect
(
view
.
$
(
'.member-profile'
).
attr
(
'href'
)).
toBe
(
'/u/bilbo'
);
//Verify that invite and leave team sections are present
expect
(
view
.
$
(
'.leave-team-link'
).
text
()).
toContain
(
'Leave Team'
);
expect
(
view
.
$
(
'.invite-header'
).
text
()).
toContain
(
'Invite Others'
);
expect
(
view
.
$
(
'.invite-text'
).
text
()).
toContain
(
'Send this link to friends so that they can join too.'
);
expect
(
view
.
$
(
'.invite-link-input'
).
length
).
toBe
(
1
);
});
it
(
'cannot see invite url box if team is full'
,
function
()
{
var
requests
=
AjaxHelpers
.
requests
(
this
);
var
view
=
createTeamProfileView
(
requests
,
{
country
:
'US'
,
language
:
'en'
,
membership
:
[{
'user'
:
{
'username'
:
'bilbo'
,
'profile_image'
:
{
'has_image'
:
true
,
'image_url_medium'
:
'/image-url'
}
}
},
{
'user'
:
{
'username'
:
'bilbo1'
,
'profile_image'
:
{
'has_image'
:
true
,
'image_url_medium'
:
'/image-url'
}
}
},
{
'user'
:
{
'username'
:
'bilbo2'
,
'profile_image'
:
{
'has_image'
:
true
,
'image_url_medium'
:
'/image-url'
}
}
}]
});
assertTeamDetails
(
view
,
3
,
true
);
expect
(
view
.
$
(
'.invite-header'
).
text
()).
toContain
(
'Invite Others'
);
expect
(
view
.
$
(
'.invite-text'
).
text
()).
toContain
(
'No invitations are available. This team is full.'
);
expect
(
view
.
$
(
'.invite-link-input'
).
length
).
toBe
(
0
);
});
it
(
'can see & select invite url if team has capacity'
,
function
()
{
var
requests
=
AjaxHelpers
.
requests
(
this
);
spyOn
(
TeamProfileView
.
prototype
,
'selectText'
);
var
view
=
createTeamProfileView
(
requests
,
{
country
:
'US'
,
language
:
'en'
,
membership
:
DEFAULT_MEMBERSHIP
}
);
assertTeamDetails
(
view
,
1
,
true
);
expect
(
view
.
$
(
'.invite-link-input'
).
length
).
toBe
(
1
);
view
.
$
(
'.invite-link-input'
).
click
();
expect
(
view
.
selectText
).
toHaveBeenCalled
();
});
});
it
(
'can leave team successfully'
,
function
()
{
it
(
'can leave team successfully'
,
function
()
{
var
requests
=
AjaxHelpers
.
requests
(
this
);
var
requests
=
AjaxHelpers
.
requests
(
this
);
...
...
lms/djangoapps/teams/static/teams/js/views/team_profile.js
View file @
4fc2ae7c
...
@@ -13,7 +13,6 @@
...
@@ -13,7 +13,6 @@
errorMessage
:
gettext
(
"An error occurred. Try again."
),
errorMessage
:
gettext
(
"An error occurred. Try again."
),
events
:
{
events
:
{
'click .invite-link-input'
:
'selectText'
,
'click .leave-team-link'
:
'leaveTeam'
'click .leave-team-link'
:
'leaveTeam'
},
},
initialize
:
function
(
options
)
{
initialize
:
function
(
options
)
{
...
@@ -22,7 +21,6 @@
...
@@ -22,7 +21,6 @@
this
.
maxTeamSize
=
options
.
maxTeamSize
;
this
.
maxTeamSize
=
options
.
maxTeamSize
;
this
.
requestUsername
=
options
.
requestUsername
;
this
.
requestUsername
=
options
.
requestUsername
;
this
.
isPrivileged
=
options
.
isPrivileged
;
this
.
isPrivileged
=
options
.
isPrivileged
;
this
.
teamInviteUrl
=
options
.
teamInviteUrl
;
this
.
teamMembershipDetailUrl
=
options
.
teamMembershipDetailUrl
;
this
.
teamMembershipDetailUrl
=
options
.
teamMembershipDetailUrl
;
this
.
countries
=
TeamUtils
.
selectorOptionsArrayToHashWithBlank
(
options
.
countries
);
this
.
countries
=
TeamUtils
.
selectorOptionsArrayToHashWithBlank
(
options
.
countries
);
...
@@ -44,7 +42,6 @@
...
@@ -44,7 +42,6 @@
membershipText
:
TeamUtils
.
teamCapacityText
(
memberships
.
length
,
this
.
maxTeamSize
),
membershipText
:
TeamUtils
.
teamCapacityText
(
memberships
.
length
,
this
.
maxTeamSize
),
isMember
:
isMember
,
isMember
:
isMember
,
hasCapacity
:
memberships
.
length
<
this
.
maxTeamSize
,
hasCapacity
:
memberships
.
length
<
this
.
maxTeamSize
,
inviteLink
:
this
.
teamInviteUrl
}));
}));
this
.
discussionView
=
new
TeamDiscussionView
({
this
.
discussionView
=
new
TeamDiscussionView
({
...
...
lms/djangoapps/teams/static/teams/js/views/teams_tab.js
View file @
4fc2ae7c
...
@@ -285,7 +285,6 @@
...
@@ -285,7 +285,6 @@
requestUsername
:
self
.
userInfo
.
username
,
requestUsername
:
self
.
userInfo
.
username
,
countries
:
self
.
countries
,
countries
:
self
.
countries
,
languages
:
self
.
languages
,
languages
:
self
.
languages
,
teamInviteUrl
:
self
.
teamsBaseUrl
+
'#teams/'
+
topicID
+
'/'
+
teamID
+
'?invite=true'
,
teamMembershipDetailUrl
:
self
.
teamMembershipDetailUrl
teamMembershipDetailUrl
:
self
.
teamMembershipDetailUrl
});
});
var
teamJoinView
=
new
TeamJoinView
(
var
teamJoinView
=
new
TeamJoinView
(
...
...
lms/djangoapps/teams/static/teams/templates/team-profile.underscore
View file @
4fc2ae7c
...
@@ -53,19 +53,6 @@
...
@@ -53,19 +53,6 @@
<div class="divider-lv1"></div>
<div class="divider-lv1"></div>
<div class="invite-team">
<h4 class="invite-header"><%- gettext("Invite Others") %></h4>
<% if (hasCapacity) { %>
<input type="text" class="invite-link-input" value="<%= inviteLink %>" aria-describedby="invite-text" readonly >
<span class="invite-text" id="invite-text">
<%- gettext("Send this link to friends so that they can join too.") %>
</span>
<% } else { %>
<span class="invite-text">
<%- gettext("No invitations are available. This team is full.") %>
</span>
<% } %>
</div>
<% } %>
<% } %>
</div>
</div>
</div>
</div>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment