Skip to content

Commit

Permalink
Fix for bug #11174
Browse files Browse the repository at this point in the history
  • Loading branch information
frapell committed Apr 25, 2012
1 parent 4fb2359 commit cd074b1
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 3 deletions.
4 changes: 3 additions & 1 deletion CHANGES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ Changelog
2.2.5 (unreleased)
------------------

- Nothing changed yet.
- Changed the permission for members to be able to add portlets
to their dashboards. ( https://dev.plone.org/ticket/11174 )
[credits to buchi, applied and tests by frapell]


2.2.4 (2012-04-15)
Expand Down
2 changes: 1 addition & 1 deletion plone/app/portlets/browser/configure.zcml
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@
name="+"
class=".adding.PortletAdding"
allowed_interface="plone.app.portlets.browser.interfaces.IPortletAdding"
permission="plone.app.portlets.ManagePortlets"
permission="plone.app.portlets.ManageOwnPortlets"
/>

<class class=".adding.PortletAdding">
Expand Down
2 changes: 1 addition & 1 deletion plone/app/portlets/tests/testDoctests.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
def test_suite():
suite = TestSuite()
OPTIONFLAGS = (doctest.ELLIPSIS | doctest.NORMALIZE_WHITESPACE)
for testfile in ('testViewName.txt',):
for testfile in ('testViewName.txt', 'testMemberDashboard.txt'):
suite.addTest(FunctionalDocFileSuite(testfile,
optionflags=OPTIONFLAGS,
package="plone.app.portlets.tests",
Expand Down
40 changes: 40 additions & 0 deletions plone/app/portlets/tests/testMemberDashboard.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
Setup::

>>> user1, pass1 = u'user1', 'pass1'
>>> uf = portal.acl_users
>>> uf.userFolderAddUser(user1, pass1, ['Member'], [])
>>> import re


bug: 11174: Portal Members can't add portlets to their dashboard
----------------------
Login as the 'user1' user

>>> browser = self.getBrowser()
>>> portalURL = portal.absolute_url()

>>> browser.open(portalURL + '/login_form')
>>> browser.getControl(name='__ac_name').value = 'user1'
>>> browser.getControl(name='__ac_password').value = 'pass1'
>>> browser.getControl(name='submit').click()

Go to the dashboard and check that portlets are addable here

>>> browser.getLink('Dashboard').click()
>>> browser.getLink('Edit').click()
>>> 'Add portlet' in browser.contents
True

Let's try to add a Calendar portlet and then remove it

>>> bool(re.search('\<\/span\>\s+Calendar\s+\<\/div\>', browser.contents))
False
>>> browser.getControl(name=':action',index=0).value = ['/++dashboard++plone.dashboard1+user1/+/portlets.Calendar']
>>> browser.getForm(index=1).submit()
>>> browser.open(portalURL+'/@@manage-dashboard')
>>> bool(re.search('\<\/span\>\s+Calendar\s+\<\/div\>', browser.contents))
True
>>> browser.getLink(url="delete-portlet?name=calendar").click()
>>> browser.open(portalURL+'/@@manage-dashboard')
>>> bool(re.search('\<\/span\>\s+Calendar\s+\<\/div\>', browser.contents))
False

0 comments on commit cd074b1

Please sign in to comment.