-
-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reference to python 2.7 #29
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
tisto
referenced
this pull request
Jan 23, 2015
Branch: refs/heads/master Date: 2014-10-13T21:09:29+02:00 Author: Gil Forcada (gforcada) <gil.forcada@freitag.de> Commit: https://github.com/plone/plone.app.users/commit/ade6c59960e7780883d3c523179bfc3ef8d1d7d4 Setup p.a.testing infrastructure Files changed: A plone/app/users/testing.py M plone/app/users/tests/test_doctests.py diff --git a/plone/app/users/testing.py b/plone/app/users/testing.py new file mode 100644 index 0000000..f092566 --- /dev/null +++ b/plone/app/users/testing.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +from Products.CMFPlone.tests.utils import MockMailHost +from Products.MailHost.interfaces import IMailHost +from plone.app.testing import PLONE_FIXTURE +from plone.app.testing import PloneSandboxLayer +from plone.app.testing.layers import FunctionalTesting +from plone.app.testing.layers import IntegrationTesting +from zope.component import getSiteManager +from zope.configuration import xmlconfig + +import doctest + + +class PloneAppUsersLayer(PloneSandboxLayer): + defaultBases = (PLONE_FIXTURE, ) + + def setUpZope(self, app, configurationContext): + import plone.app.users + xmlconfig.file( + 'configure.zcml', + plone.app.users, + context=configurationContext + ) + + def setUpPloneSite(self, portal): + # Configure mock mail host + mail_host = portal.MailHost = MockMailHost('MailHost') + site_manager = getSiteManager(portal) + site_manager.unregisterUtility(provided=IMailHost) + site_manager.registerUtility(mail_host, IMailHost) + + +PLONE_APP_USERS_FIXTURE = PloneAppUsersLayer() +PLONE_APP_USERS_INTEGRATION_TESTING = IntegrationTesting( + bases=(PLONE_APP_USERS_FIXTURE, ), + name='PloneAppUsersLayer:Integration' +) +PLONE_APP_USERS_FUNCTIONAL_TESTING = FunctionalTesting( + bases=(PLONE_APP_USERS_FIXTURE, ), + name='PloneAppUsersLayer:Functional' +) + + +optionflags = (doctest.ELLIPSIS | doctest.NORMALIZE_WHITESPACE) diff --git a/plone/app/users/tests/test_doctests.py b/plone/app/users/tests/test_doctests.py index 5fbcbe8..25a0625 100644 --- a/plone/app/users/tests/test_doctests.py +++ b/plone/app/users/tests/test_doctests.py @@ -1,15 +1,12 @@ # -*- coding: utf-8 -*- -from Products.PloneTestCase.PloneTestCase import setupPloneSite -from Testing.ZopeTestCase import FunctionalDocFileSuite -from plone.app.users.tests.base import BaseTestCase -from unittest import TestSuite +from plone.app.users.testing import PLONE_APP_USERS_FUNCTIONAL_TESTING +from plone.app.users.testing import optionflags +from plone.testing import layered import doctest +import unittest -setupPloneSite() -OPTIONFLAGS = (doctest.ELLIPSIS | doctest.NORMALIZE_WHITESPACE) - doc_tests = [ 'duplicate_email.rst', 'email_login.rst', @@ -27,12 +24,16 @@ def test_suite(): - suite = TestSuite() - for test_file in doc_tests: - suite.addTest(FunctionalDocFileSuite( - test_file, - optionflags=OPTIONFLAGS, - package='plone.app.users.tests', - test_class=BaseTestCase - )) + suite = unittest.TestSuite() + suite.addTests([ + layered( + doctest.DocFileSuite( + 'tests/{0}'.format(test_file), + package='plone.app.users', + optionflags=optionflags + ), + layer=PLONE_APP_USERS_FUNCTIONAL_TESTING) + for test_file in doc_tests + ]) + return suite Repository: plone.app.users Branch: refs/heads/master Date: 2014-10-13T21:09:29+02:00 Author: Gil Forcada (gforcada) <gil.forcada@freitag.de> Commit: https://github.com/plone/plone.app.users/commit/c6f3a6a02ac8e88b7efaf8bd034bda691331e14f Migrate flexible_user_registration.rst Files changed: M plone/app/users/tests/flexible_user_registration.rst diff --git a/plone/app/users/tests/flexible_user_registration.rst b/plone/app/users/tests/flexible_user_registration.rst index 89a7d9b..5d25e19 100644 --- a/plone/app/users/tests/flexible_user_registration.rst +++ b/plone/app/users/tests/flexible_user_registration.rst @@ -1,7 +1,13 @@ +====================================== Testing the flexible user registration ====================================== - >>> browser = self.browser + >>> from plone.testing.z2 import Browser + >>> import transaction + >>> app = layer['app'] + >>> portal = layer['portal'] + >>> browser = Browser(app) + >>> browser.handleErrors = False >>> from zope.component import getUtility >>> from plone.keyring.interfaces import IKeyManager >>> import hmac @@ -51,12 +57,13 @@ Check that the site admin has a link to the configlet in the control panel. >>> 'home_page' in user_registration_fields.displayOptions False - >>> self.browser.getControl(name='_authenticator', index=0) + >>> browser.getControl(name='_authenticator', index=0) <Control name='_authenticator' type='hidden'> Let's add home_page to the list of registration form fields. (Setting this by hand since add/remove widget doesn't work properly without javascript) >>> portal.portal_properties.site_properties._updateProperty('user_registration_fields', ['fullname', 'username', 'email', 'password', 'home_page']) + >>> transaction.commit() It should show up at the end of the form. >>> browser.open('http://nohost/plone/@@register') @@ -85,6 +92,7 @@ Log out. Assert that we now have the home_page in the join form. Rearrange the fields (Setting this by hand since add/remove widget doesn't work properly without javascript) >>> portal.portal_properties.site_properties._updateProperty('user_registration_fields', ['fullname', 'username', 'password', 'home_page', 'email']) + >>> transaction.commit() >>> browser.open('http://nohost/plone/@@register') >>> browser.contents '...Home page...E-mail...' @@ -127,6 +135,7 @@ Check render register form in 'Use Email As Login' mode. >>> portal.portal_properties.site_properties._updateProperty('use_email_as_login', True) >>> portal.portal_properties.site_properties._updateProperty('user_registration_fields', ['username']) + >>> transaction.commit() >>> browser.open('http://nohost/plone/@@register') >>> 'Registration form' in browser.contents True @@ -146,6 +155,8 @@ Revert email mode. Check register form with portrait field. >>> portal.portal_properties.site_properties._updateProperty('user_registration_fields', ['portrait']) + >>> transaction.commit() + >>> browser.open('http://nohost/plone/@@register') >>> 'Registration form' in browser.contents True @@ -166,6 +177,8 @@ Check more validation errors. Test Confirmation Password and invalid email, and reserved user name validations: >>> portal.portal_properties.site_properties._updateProperty('user_registration_fields', ['username', 'email', 'password', 'mail_me']) + >>> transaction.commit() + >>> browser.open('http://nohost/plone/@@register') >>> 'Registration form' in browser.contents True @@ -197,6 +210,7 @@ supported by our test browser. Set list of registration fields: >>> portal.portal_properties.site_properties._updateProperty('user_registration_fields', ['username', 'email']) + >>> transaction.commit() Login as admin. Repository: plone.app.users Branch: refs/heads/master Date: 2014-10-13T21:09:30+02:00 Author: Gil Forcada (gforcada) <gil.forcada@freitag.de> Commit: https://github.com/plone/plone.app.users/commit/efc09252d543414438e716973ee6985541c1c359 Migrate email_login.rst Files changed: M plone/app/users/tests/email_login.rst diff --git a/plone/app/users/tests/email_login.rst b/plone/app/users/tests/email_login.rst index 9f32103..cadd8c5 100644 --- a/plone/app/users/tests/email_login.rst +++ b/plone/app/users/tests/email_login.rst @@ -1,18 +1,31 @@ +=================================== Testing email address as login name =================================== - >>> browser = self.browser - >>> browser.open('http://nohost/plone') +Set up +====== + + >>> from plone.app.testing import SITE_OWNER_NAME + >>> from plone.app.testing import SITE_OWNER_PASSWORD + >>> from plone.testing.z2 import Browser + + >>> app = layer['app'] + >>> portal = layer['portal'] + +Browsers +-------- - Set up a mailhost... - >>> self.setMailHost() + >>> browser = Browser(app) + >>> browser.handleErrors = False + +Configure security +------------------ - Configure the security. - >>> from Products.PloneTestCase.PloneTestCase import portal_owner, default_password >>> browser.open('http://nohost/plone/login_form') - >>> browser.getControl('Login Name').value = portal_owner - >>> browser.getControl('Password').value = default_password + >>> browser.getControl('Login Name').value = SITE_OWNER_NAME + >>> browser.getControl('Password').value = SITE_OWNER_PASSWORD >>> browser.getControl('Log in').click() + >>> browser.open('http://nohost/plone/@@security-controlpanel') >>> browser.getControl('Enable self-registration').selected = True >>> browser.getControl('Let users select their own passwords').selected = True @@ -20,24 +33,32 @@ Testing email address as login name >>> browser.getControl('Save').click() >>> 'Changes saved' in browser.contents True + >>> browser.getLink(url='http://nohost/plone/logout').click() >>> 'Log in' in browser.contents True - Logged out user should now see the register link. +Visitors can register +===================== + +Logged out user should now see the register link. + >>> 'Register' in browser.contents True - >>> browser.open('http://nohost/plone/@@register') - The form should now be visible, without the user name field. +The form should now be visible, without the user name field. + + >>> browser.open('http://nohost/plone/@@register') >>> 'User Name' in browser.contents False - The form should be using CSRF protection - >>> self.browser.getControl(name='_authenticator') +The form should be using CSRF protection. + + >>> browser.getControl(name='_authenticator') <Control name='_authenticator' type='hidden'> - Fill out the form, using an odd email address that should not give problems. +Fill out the form, using an odd email address that should not give problems. + >>> browser.getControl('Full Name').value = 'Bob Jones' >>> browser.getControl('E-mail').value = 'bob-jones+test@example.com' >>> browser.getControl('Password').value = 'secret' @@ -46,7 +67,11 @@ Testing email address as login name >>> 'Failed to create your account' in browser.contents False - We can login immediately. +Login +===== + +We can login immediately. + >>> 'Click the button to log in immediately.' in browser.contents True >>> browser.getControl('Log in').click() @@ -59,34 +84,45 @@ Testing email address as login name True >>> browser.getLink(url='http://nohost/plone/logout').click() - We login as manager. The login form now has a different label for - the login name. +Login form changes +================== + +The login form now has a different label for the login name. + >>> browser.open('http://nohost/plone/login_form') - >>> browser.getControl('E-mail').value = portal_owner - >>> browser.getControl('Password').value = default_password + >>> browser.getControl('E-mail').value = SITE_OWNER_NAME + >>> browser.getControl('Password').value = SITE_OWNER_PASSWORD >>> browser.getControl('Log in').click() - The user id is now bob-jones, based on the full name: +The user id is now bob-jones, based on the full name: + >>> browser.open('http://nohost/plone/@@user-information?userid=bob-jones') >>> 'Bob Jones' in browser.contents True - Great! The user-facing form works. Let's try the manager's version... +Manager adds a new member +========================= + +Great! The user-facing form works. Let's try the manager's version... + >>> browser.open('http://nohost/plone/@@usergroup-userprefs') >>> browser.getLink('Add New User').click() >>> '@@new-user' in browser.url True - The form should be using CSRF protection - >>> self.browser.getControl(name='_authenticator', index=0) +The form should be using CSRF protection. + + >>> browser.getControl(name='_authenticator', index=0) <Control name='_authenticator' type='hidden'> - Check that user name is not displayed. +Check that user name is not displayed. + >>> 'User Name' in browser.contents False - Fill out the form. We use the same full name as before, to test - that we get a different user id. +Fill out the form. +Use the same full name as before, to test that we get a different user id. + >>> browser.getControl('Full Name').value = 'Bob Jones' >>> browser.getControl('E-mail').value = 'bob-jones+test2@example.com' >>> browser.getControl('Password').value = 'secret' @@ -97,7 +133,8 @@ Testing email address as login name >>> browser.contents '...User added...bob-jones-1...' - We can really get the new user. +We can really get the new user. + >>> browser.getControl('Show all').click() >>> browser.getLink(url='bob-jones-1').click() >>> '@@user-information?userid=bob-jones-1' in browser.url Repository: plone.app.users Branch: refs/heads/master Date: 2014-10-13T21:09:30+02:00 Author: Gil Forcada (gforcada) <gil.forcada@freitag.de> Commit: https://github.com/plone/plone.app.users/commit/fd07631e54dc578aa23f8a2c1055a06cc44a6cc3 Migrate duplicate_email.rst Files changed: M plone/app/users/tests/duplicate_email.rst diff --git a/plone/app/users/tests/duplicate_email.rst b/plone/app/users/tests/duplicate_email.rst index 80084e5..b6eb5f6 100644 --- a/plone/app/users/tests/duplicate_email.rst +++ b/plone/app/users/tests/duplicate_email.rst @@ -1,50 +1,121 @@ +============================= Test duplicate mail addresses ============================= When email address is used as login name, duplicates are not allowed. -Use email addresses as login name: +Use email addresses as login name. + +Set up +====== + + >>> from plone.app.testing import SITE_OWNER_NAME + >>> from plone.app.testing import SITE_OWNER_PASSWORD + >>> from plone.testing.z2 import Browser + + >>> app = layer['app'] + >>> portal = layer['portal'] + + >>> user1_name = 'User one' + >>> user1_email = 'userone@example.com' + >>> user1_password = 'secret' + + >>> user2_name = 'User two' + >>> user2_email = 'usertwo@example.com' + >>> user2_password = 'secret' - >>> ptool = self.portal.portal_properties - >>> ptool.site_properties._updateProperty('use_email_as_login', True) + >>> browser = Browser(app) + >>> browser.handleErrors = False -Create a new user one: +Configure security +------------------ - >>> mtool = self.portal.portal_membership - >>> mtool.addMember('userone@example.com', 'secret', [], []) - >>> userone = mtool.getMemberById('userone@example.com') - >>> userone.setMemberProperties({'email':'userone@example.com'}) + >>> browser.open('http://nohost/plone/login_form') + >>> browser.getControl('Login Name').value = SITE_OWNER_NAME + >>> browser.getControl('Password').value = SITE_OWNER_PASSWORD + >>> browser.getControl('Log in').click() -Create a new user two: + >>> browser.open('http://nohost/plone/@@security-controlpanel') + >>> browser.getControl('Use email address as login name ').selected = True + >>> browser.getControl('Save').click() + >>> 'Changes saved' in browser.contents + True + +Create two users +---------------- + +First one: - >>> mtool.addMember('usertwo@example.com', 'secret', [], []) - >>> usertwo = mtool.getMemberById('usertwo@example.com') - >>> usertwo.setMemberProperties({'email':'usertwo@example.com'}) + >>> browser.open('http://nohost/plone/@@usergroup-userprefs') + >>> browser.getLink('Add New User').click() + >>> '@@new-user' in browser.url + True + +Fill out the form. + + >>> browser.getControl('Full Name').value = user1_name + >>> browser.getControl('E-mail').value = user1_email + >>> browser.getControl('Password').value = user1_password + >>> browser.getControl('Confirm password').value = user1_password + >>> browser.getControl('Register').click() + >>> '@@usergroup-userprefs' in browser.url + True + >>> browser.contents + '...User added...' + +The second: + + >>> browser.open('http://nohost/plone/@@usergroup-userprefs') + >>> browser.getLink('Add New User').click() + >>> '@@new-user' in browser.url + True + +Fill out the form. + + >>> browser.getControl('Full Name').value = user2_name + >>> browser.getControl('E-mail').value = user2_email + >>> browser.getControl('Password').value = user2_password + >>> browser.getControl('Confirm password').value = user2_password + >>> browser.getControl('Register').click() + >>> '@@usergroup-userprefs' in browser.url + True + >>> browser.contents + '...User added...' + +Logout: + + >>> browser.getLink(url='http://nohost/plone/logout').click() + +Login +===== Login as user two: - >>> self.browser.open('http://nohost/plone/') - >>> self.browser.getLink('Log in').click() + >>> browser.open('http://nohost/plone/') + >>> browser.getLink('Log in').click() - >>> self.browser.getControl('E-mail').value = 'usertwo@example.com' - >>> self.browser.getControl('Password').value = 'secret' - >>> self.browser.getControl('Log in').click() - >>> 'Login failed' in self.browser.contents + >>> browser.getControl('E-mail').value = user2_email + >>> browser.getControl('Password').value = user2_password + >>> browser.getControl('Log in').click() + >>> 'Login failed' in browser.contents False -Now we should be able to access the user data panel: +Should be able to access the user data panel: - >>> self.browser.open('http://nohost/plone/@@personal-information') - >>> 'Login Name' in self.browser.contents + >>> browser.open('http://nohost/plone/@@personal-information') + >>> 'Login Name' in browser.contents False - >>> self.browser.url.endswith('@@personal-information') + >>> browser.url.endswith('@@personal-information') True +Change e-mail +============= + Setting the e-mail address to an existing one should give an error message: - >>> self.browser.getControl('E-mail').value = 'userone@example.com' - >>> self.browser.getControl('Save').click() - >>> 'The email address you selected is already in use' in self.browser.contents + >>> browser.getControl('E-mail').value = user1_email + >>> browser.getControl('Save').click() + >>> 'The email address you selected is already in use' in browser.contents True - >>> 'Changes saved' in self.browser.contents + >>> 'Changes saved' in browser.contents False Repository: plone.app.users Branch: refs/heads/master Date: 2014-10-13T21:09:30+02:00 Author: Gil Forcada (gforcada) <gil.forcada@freitag.de> Commit: https://github.com/plone/plone.app.users/commit/929bf1efd02f57db9244deff7562e41e3301555d Migrate member_search.rst Files changed: M plone/app/users/tests/member_search.rst diff --git a/plone/app/users/tests/member_search.rst b/plone/app/users/tests/member_search.rst index 9337d9b..13e3585 100644 --- a/plone/app/users/tests/member_search.rst +++ b/plone/app/users/tests/member_search.rst @@ -1,11 +1,61 @@ +============================== Testing the member search form ============================== This is about the 'member_search' form. This test will try to use the form as anonymous. Then login as a Plone user, and try again. +Set up +====== + + >>> from plone.app.testing import SITE_OWNER_NAME + >>> from plone.app.testing import SITE_OWNER_PASSWORD + >>> from plone.app.testing import TEST_USER_NAME + >>> from plone.app.testing import TEST_USER_PASSWORD + >>> from plone.testing.z2 import Browser + + >>> app = layer['app'] + >>> portal = layer['portal'] + >>> view_name = '@@member-search' - >>> browser = self.browser + + >>> browser = Browser(app) + >>> browser.handleErrors = False + +Manager creates a user +---------------------- + +Login as manager: + + >>> browser.open('http://nohost/plone/login_form') + >>> browser.getControl('Login Name').value = SITE_OWNER_NAME + >>> browser.getControl('Password').value = SITE_OWNER_PASSWORD + >>> browser.getControl('Log in').click() + +Go to the add new user form: + + >>> browser.open('http://nohost/plone/@@usergroup-userprefs') + >>> browser.getLink('Add New User').click() + +Fill out the form. + + >>> browser.getControl('Full Name').value = 'Bob Jones' + >>> browser.getControl('User Name').value = 'bob-jones' + >>> browser.getControl('E-mail').value = 'bob-jones+test2@example.com' + >>> browser.getControl('Password').value = 'secret' + >>> browser.getControl('Confirm password').value = 'secret' + >>> browser.getControl('Register').click() + >>> browser.contents + '...User added...bob-jones...' + +Logout: + + >>> browser.getLink(url='http://nohost/plone/logout').click() + >>> 'Log in' in browser.contents + True + +Member search as anonymous +========================== Viewing this form should be possible for anonymous users: @@ -29,11 +79,14 @@ But they will not see any member of the portal. >>> 'You are not allowed to list portal members.' in browser.contents True +Member search logged-in +======================= + So let's login as Plone user and try again: >>> browser.getLink('Log in').click() - >>> browser.getControl('Login Name').value = 'test_user_1_' - >>> browser.getControl('Password').value = 'secret' + >>> browser.getControl('Login Name').value = TEST_USER_NAME + >>> browser.getControl('Password').value = TEST_USER_PASSWORD >>> browser.getControl('Log in').click() Now we should be on the member search as a logged in user: @@ -43,12 +96,12 @@ Now we should be on the member search as a logged in user: >>> browser.url.endswith(view_name) True -So let's search again. We should see two Members (admin, test_user_1_): +So let's search again. We should see two members (test_user_1_ and bob): >>> browser.getControl(name='form.buttons.search').click() >>> '2 items matching your search terms.' in browser.contents True - >>> '<a href="http://nohost/plone/Members/test_user_1_">'in browser.contents + >>> '<a href="http://nohost/plone/author/test_user_1_">'in browser.contents True - >>> '<a href="http://nohost/plone/author/admin">'in browser.contents + >>> '<a href="http://nohost/plone/author/bob-jones">'in browser.contents True Repository: plone.app.users Branch: refs/heads/master Date: 2014-10-13T21:09:30+02:00 Author: Gil Forcada (gforcada) <gil.forcada@freitag.de> Commit: https://github.com/plone/plone.app.users/commit/2bd9bd5027c73b7f2a25f8966a3a4792411eac69 Migrate test_loginname_generator.py Files changed: M plone/app/users/tests/test_loginname_generator.py diff --git a/plone/app/users/tests/test_loginname_generator.py b/plone/app/users/tests/test_loginname_generator.py index 0b3ea51..e706725 100644 --- a/plone/app/users/tests/test_loginname_generator.py +++ b/plone/app/users/tests/test_loginname_generator.py @@ -1,18 +1,25 @@ # -*- coding: utf-8 -*- -# Note: test setup somehow fails when only tests from this file are run. from plone.app.users.browser.interfaces import ILoginNameGenerator from plone.app.users.browser.register import BaseRegistrationForm -from plone.app.users.tests.base import BaseTestCase +from plone.app.users.testing import PLONE_APP_USERS_INTEGRATION_TESTING from zope.component import getSiteManager +import unittest + + +class TestGenerateLoginName(unittest.TestCase): + + layer = PLONE_APP_USERS_INTEGRATION_TESTING + + def setUp(self): + self.portal = self.layer['portal'] -class TestGenerateLoginName(BaseTestCase): def test_generate_user_id_simplistic(self): sm = getSiteManager(context=self.portal) # Without a function, return username self.assertEqual( - self.generateLoginName(dict(username='frank')), + self._generate_login_name(dict(username='frank')), 'frank' ) @@ -20,11 +27,12 @@ def test_generate_user_id_simplistic(self): sm.registerUtility(lambda data: data['useme'], provided=ILoginNameGenerator) self.assertEqual( - self.generateLoginName(dict(useme='me me me', username='frank')), + self._generate_login_name(dict(useme='me me me', + username='frank')), 'me me me' ) - def generateLoginName(self, data): + def _generate_login_name(self, data): """Generate login name, optionally registering function first""" form = BaseRegistrationForm(self.portal, {}) return form.generate_login_name(data) Repository: plone.app.users Branch: refs/heads/master Date: 2014-10-13T21:09:30+02:00 Author: Gil Forcada (gforcada) <gil.forcada@freitag.de> Commit: https://github.com/plone/plone.app.users/commit/bf7ba86bb42ca2d8bd85a7b0ffb38d28a3d35928 Migrate test_userid_generator.py Files changed: M plone/app/users/tests/test_userid_generator.py diff --git a/plone/app/users/tests/test_userid_generator.py b/plone/app/users/tests/test_userid_generator.py index 4d72d55..600ce01 100644 --- a/plone/app/users/tests/test_userid_generator.py +++ b/plone/app/users/tests/test_userid_generator.py @@ -1,13 +1,19 @@ # -*- coding: utf-8 -*- -# Note: test setup somehow fails when only tests from this file are run. from plone.app.users.browser.interfaces import IUserIdGenerator from plone.app.users.browser.register import BaseRegistrationForm -from plone.app.users.tests.base import BaseTestCase +from plone.app.users.testing import PLONE_APP_USERS_INTEGRATION_TESTING from plone.app.users.utils import uuid_userid_generator from zope.component import getSiteManager +import unittest -class TestGenerateUserId(BaseTestCase): + +class TestGenerateUserId(unittest.TestCase): + + layer = PLONE_APP_USERS_INTEGRATION_TESTING + + def setUp(self): + self.portal = self.layer['portal'] def test_standard_generate_user_id(self): form = BaseRegistrationForm(self.portal, {}) @@ -96,10 +102,13 @@ def test_generate_user_id_with_uuid(self): form.generate_user_id(data)) -class TestGenerateUUIDUserId(BaseTestCase): +class TestGenerateUUIDUserId(unittest.TestCase): + + layer = PLONE_APP_USERS_INTEGRATION_TESTING + + def setUp(self): + self.portal = self.layer['portal'] - def afterSetUp(self): - super(TestGenerateUUIDUserId, self).afterSetUp() # If use_uuid_as_userid is set in the site_properties, we # generate a uuid. self.ptool = ptool = getattr(self.portal, 'portal_properties') Repository: plone.app.users Branch: refs/heads/master Date: 2014-10-13T21:09:30+02:00 Author: Gil Forcada (gforcada) <gil.forcada@freitag.de> Commit: https://github.com/plone/plone.app.users/commit/e194b0dff01ce965df51501e06b40a2e43b27a00 Migrate test_new_user.py Files changed: M plone/app/users/tests/test_new_user.py diff --git a/plone/app/users/tests/test_new_user.py b/plone/app/users/tests/test_new_user.py index efc5e3e..7f93ebf 100644 --- a/plone/app/users/tests/test_new_user.py +++ b/plone/app/users/tests/test_new_user.py @@ -1,25 +1,32 @@ # -*- coding: utf-8 -*- -from hashlib import sha1 as sha -from plone.app.users.tests.base import BaseTestCase -from plone.protect import authenticator as auth +from plone.app.testing import TEST_USER_ID +from plone.app.testing import setRoles +from plone.testing.z2 import Browser +from plone.app.users.testing import PLONE_APP_USERS_INTEGRATION_TESTING -import hmac +import transaction +import unittest -class TestNewUser(BaseTestCase): +class TestNewUser(unittest.TestCase): + + layer = PLONE_APP_USERS_INTEGRATION_TESTING + + def setUp(self): + self.portal = self.layer['portal'] + app = self.layer['app'] + setRoles(self.portal, TEST_USER_ID, ['Manager', ]) + self.browser = Browser(app) def test_new_user_as_site_administrator(self): self.portal.acl_users._doAddUser( 'siteadmin', 'secret', ['Site Administrator'], [] ) + # make the user available + transaction.commit() + self.browser.addHeader('Authorization', 'Basic siteadmin:secret') - # XXX need to use auth token here because there is one case of write - # on read for portlets that isn't hit here... - ring = auth._getKeyring('siteadmin') - secret = ring.random() - token = hmac.new(secret, 'siteadmin', sha).hexdigest() - self.browser.open('http://nohost/plone/new-user?_authenticator=%s' % ( - token)) + self.browser.open('http://nohost/plone/new-user') self.browser.getControl('User Name').value = 'newuser' self.browser.getControl('E-mail').value = 'newuser@example.com' self.browser.getControl('Password').value = 'foobar' Repository: plone.app.users Branch: refs/heads/master Date: 2014-10-13T21:09:30+02:00 Author: Gil Forcada (gforcada) <gil.forcada@freitag.de> Commit: https://github.com/plone/plone.app.users/commit/896620b7d1a2f92b53085b8af67b3798891bcc0b Migrated test_account.py Files changed: M plone/app/users/tests/test_account.py diff --git a/plone/app/users/tests/test_account.py b/plone/app/users/tests/test_account.py index 1058e2f..e6fa52b 100644 --- a/plone/app/users/tests/test_account.py +++ b/plone/app/users/tests/test_account.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- -from Testing.makerequest import makerequest -from OFS.SimpleItem import SimpleItem from plone.app.users.browser.account import AccountPanelSchemaAdapter +from plone.app.users.testing import PLONE_APP_USERS_INTEGRATION_TESTING import unittest @@ -23,25 +22,27 @@ def checkPermission(self, permission, context): class TestAccountPanelSchemaAdapter(unittest.TestCase): + layer = PLONE_APP_USERS_INTEGRATION_TESTING + + def setUp(self): + self.request = self.layer['request'] + def test__init__no_userid(self): - # should edit current user - context = makerequest(SimpleItem('foo')) - context.portal_membership = DummyPortalMembership(False) - adapter = AccountPanelSchemaAdapter(context) + """Should edit current user.""" + self.request.portal_membership = DummyPortalMembership(False) + adapter = AccountPanelSchemaAdapter(self.request) self.assertEqual('(authenticated)', adapter.context) def test__init__userid_in_request_form_for_non_manager(self): - # disallow for non-privileged users - context = makerequest(SimpleItem('foo')) - context.portal_membership = DummyPortalMembership(False) - context.REQUEST.form['userid'] = 'bob' - adapter = AccountPanelSchemaAdapter(context) + """Disallow for non-privileged users.""" + self.request.portal_membership = DummyPortalMembership(False) + self.request.REQUEST.form['userid'] = 'bob' + adapter = AccountPanelSchemaAdapter(self.request) self.assertEqual('(authenticated)', adapter.context) def test__init__userid_in_request_form_for_manager(self): - # should allow for privileged users - context = makerequest(SimpleItem('foo')) - context.portal_membership = DummyPortalMembership(True) - context.REQUEST.form['userid'] = 'bob' - adapter = AccountPanelSchemaAdapter(context) + """Should allow for privileged users.""" + self.request.portal_membership = DummyPortalMembership(True) + self.request.REQUEST.form['userid'] = 'bob' + adapter = AccountPanelSchemaAdapter(self.request) self.assertEqual('bob', adapter.context) Repository: plone.app.users Branch: refs/heads/master Date: 2014-10-13T21:09:30+02:00 Author: Gil Forcada (gforcada) <gil.forcada@freitag.de> Commit: https://github.com/plone/plone.app.users/commit/aa44b61803079a54e49b86f49b38e824025c735c Migrate vocabularies.py Files changed: M plone/app/users/vocabularies.py diff --git a/plone/app/users/vocabularies.py b/plone/app/users/vocabularies.py index 96c1440..157025d 100644 --- a/plone/app/users/vocabularies.py +++ b/plone/app/users/vocabularies.py @@ -67,9 +67,10 @@ class GroupIdVocabulary(object): >>> from zope.component import queryUtility >>> from zope.schema.interfaces import IVocabularyFactory + >>> from zope.site.hooks import getSite >>> from Products.CMFCore.utils import getToolByName - >>> groups_tool = getToolByName(self.portal, 'portal_groups') + >>> groups_tool = getToolByName(getSite(), 'portal_groups') >>> groups_tool.addGroup( ... 'fancygroup', [], [], ... title='Group Title', @@ -80,7 +81,7 @@ class GroupIdVocabulary(object): >>> name = 'plone.app.users.group_ids' >>> util = queryUtility(IVocabularyFactory, name) - >>> fields = util(self.portal) + >>> fields = util(getSite()) >>> fields <zope.schema.vocabulary.SimpleVocabulary object at ...> Repository: plone.app.users Branch: refs/heads/master Date: 2014-10-13T21:09:30+02:00 Author: Gil Forcada (gforcada) <gil.forcada@freitag.de> Commit: https://github.com/plone/plone.app.users/commit/69d763f53546a87c49b469e9180b368afe1ad9e2 Migrate userdata.rst Files changed: M plone/app/users/tests/userdata.rst diff --git a/plone/app/users/tests/userdata.rst b/plone/app/users/tests/userdata.rst index cfc0518..e25673b 100644 --- a/plone/app/users/tests/userdata.rst +++ b/plone/app/users/tests/userdata.rst @@ -1,49 +1,69 @@ +===================================== Testing the personal information form ===================================== +Set Up +====== + + >>> from plone.app.testing import TEST_USER_ID + >>> from plone.app.testing import TEST_USER_NAME + >>> from plone.app.testing import TEST_USER_PASSWORD + >>> from plone.testing.z2 import Browser + + >>> import transaction + + >>> app = layer['app'] + >>> portal = layer['portal'] + >>> membership = portal.portal_membership + + >>> browser = Browser(app) + >>> browser.handleErrors = False + Viewing the personal information --------------------------------- This is about the 'personal-information' view. >>> view_name = '@@personal-information' + >>> view_url = 'http://nohost/plone/{0}'.format(view_name) Viewing user data shouldn't be possible for anonymous users: - >>> self.browser.open("http://nohost/plone/" + view_name) - >>> 'Login Name' in self.browser.contents - True + >>> browser.open(view_url) + Traceback (most recent call last): + ... + Unauthorized: ...You are not authorized to access this resource... So let's login as Plone user: - >>> self.browser.open('http://nohost/plone/') - >>> self.browser.getLink('Log in').click() - >>> self.browser.getControl('Login Name').value = 'test_user_1_' - >>> self.browser.getControl('Password').value = 'secret' - >>> self.browser.getControl('Log in').click() + >>> browser.open('http://nohost/plone/') + >>> browser.getLink('Log in').click() + >>> browser.getControl('Login Name').value = TEST_USER_NAME + >>> browser.getControl('Password').value = TEST_USER_PASSWORD + >>> browser.getControl('Log in').click() Now we should be able to access the user data panel: - >>> self.browser.open("http://nohost/plone/" + view_name) - >>> 'Login Name' in self.browser.contents + >>> browser.open(view_url) + >>> 'Login Name' in browser.contents False - >>> self.browser.url.endswith(view_name) + >>> browser.url.endswith(view_name) True We have these controls in the form: - >>> self.browser.getControl('Full Name').value + >>> browser.getControl('Full Name').value '' - >>> self.browser.getControl('E-mail').value + >>> browser.getControl('E-mail').value '' - >>> self.browser.getControl('Home page').value + >>> browser.getControl('Home page').value '' - >>> self.browser.getControl('Biography').value + >>> browser.getControl('Biography').value '' - >>> self.browser.getControl(name='form.widgets.portrait').value + >>> browser.getControl(name='form.widgets.portrait').value The form should be using CSRF protection: - >>> self.browser.getControl(name='_authenticator', index=0) + >>> browser.getControl(name='_authenticator', index=0) <Control name='_authenticator' type='hidden'> @@ -52,13 +72,13 @@ Trying to save without changes Now can we save this form without changes? - >>> self.browser.getControl('Save').click() - >>> 'Login Name' in self.browser.contents + >>> browser.getControl('Save').click() + >>> 'Login Name' in browser.contents False - >>> self.browser.url.endswith(view_name) + >>> browser.url.endswith(view_name) True - >>> self.browser.getControl('Save').click() - >>> 'Required input is missing.' in self.browser.contents + >>> browser.getControl('Save').click() + >>> 'Required input is missing.' in browser.contents True As we have a required field "email", which hasn't been pre-filled in this test, @@ -72,30 +92,30 @@ Modifying user data If we do set an e-mail address, we should be able to save the form. >>> full_name = 'Plone user' - >>> self.browser.getControl('Full Name').value = full_name + >>> browser.getControl('Full Name').value = full_name >>> home_page = 'http://www.plone.org/' - >>> self.browser.getControl('Home page').value = home_page + >>> browser.getControl('Home page').value = home_page >>> description = 'Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts.' - >>> self.browser.getControl('Biography').value = description + >>> browser.getControl('Biography').value = description >>> email_address = 'person@example.com' - >>> self.browser.getControl('E-mail').value = email_address + >>> browser.getControl('E-mail').value = email_address >>> location = 'Somewhere' - >>> self.browser.getControl('Location').value = location + >>> browser.getControl('Location').value = location >>> from pkg_resources import resource_stream >>> portrait_file = resource_stream("plone.app.users.tests", 'onepixel.jpg') - >>> self.browser.getControl(name='form.widgets.portrait').add_file(portrait_file, "image/jpg", "onepixel.jpg") + >>> browser.getControl(name='form.widgets.portrait').add_file(portrait_file, "image/jpg", "onepixel.jpg") - >>> self.browser.getControl('Save').click() - >>> 'Required input is missing.' in self.browser.contents + >>> browser.getControl('Save').click() + >>> 'Required input is missing.' in browser.contents False - >>> 'No changes made.' in self.browser.contents + >>> 'No changes made.' in browser.contents False - >>> 'Changes saved.' in self.browser.contents + >>> 'Changes saved.' in browser.contents True @@ -103,7 +123,7 @@ If we do set an e-mail address, we should be able to save the form. We should be able to check that value for email address now is the same as what we put in. - >>> member = self.membership.getMemberById('test_user_1_') + >>> member = membership.getMemberById(TEST_USER_ID) >>> fullname_value = member.getProperty('fullname','') >>> fullname_value == full_name True @@ -124,7 +144,7 @@ we put in. >>> location_value == location True - >>> portrait_value = self.membership.getPersonalPortrait('test_user_1_') + >>> portrait_value = membership.getPersonalPortrait(TEST_USER_ID) >>> portrait_value <Image at /plone/portal_memberdata/portraits/test_user_1_> @@ -143,21 +163,21 @@ Clearing user data If we empty all non-required inputs, the corresponding fields should be cleared, instead of keeping their old value - >>> self.browser.getControl('Full Name').value = '' - >>> self.browser.getControl('Home page').value = '' - >>> self.browser.getControl('Biography').value = '' - >>> self.browser.getControl('Location').value = '' - >>> self.browser.getControl('Save').click() - >>> 'Required input is missing.' in self.browser.contents + >>> browser.getControl('Full Name').value = '' + >>> browser.getControl('Home page').value = '' + >>> browser.getControl('Biography').value = '' + >>> browser.getControl('Location').value = '' + >>> browser.getControl('Save').click() + >>> 'Required input is missing.' in browser.contents False - >>> 'No changes made.' in self.browser.contents + >>> 'No changes made.' in browser.contents False - >>> 'Changes saved.' in self.browser.contents + >>> 'Changes saved.' in browser.contents True Check the values - >>> member = self.membership.getMemberById('test_user_1_') + >>> member = membership.getMemberById(TEST_USER_ID) >>> marker = object() >>> member.getProperty('fullname', marker) '' @@ -173,24 +193,24 @@ Check the values Set the full name again: >>> full_name = 'Plone user' - >>> self.browser.getControl('Full Name').value = full_name - >>> self.browser.getControl('Save').click() - >>> member = self.membership.getMemberById('test_user_1_') + >>> browser.getControl('Full Name').value = full_name + >>> browser.getControl('Save').click() + >>> member = membership.getMemberById(TEST_USER_ID) >>> member.getProperty('fullname', marker) == full_name True Can we delete the Image using the checkbox? - >>> self.browser.getControl('Remove existing image').selected = True - >>> self.browser.getControl('Save').click() - >>> 'Changes saved.' in self.browser.contents + >>> browser.getControl('Remove existing image').selected = True + >>> browser.getControl('Save').click() + >>> 'Changes saved.' in browser.contents True Does the user have the default portrait now? Note that this differs slightly depending on which Plone version you have. Products.PlonePAS 4.0.5 or higher has .png, earlier has .gif. - >>> portrait_value = self.membership.getPersonalPortrait('test_user_1_') + >>> portrait_value = membership.getPersonalPortrait(TEST_USER_ID) >>> portrait_value <FSImage at /plone/defaultUser...> @@ -200,8 +220,8 @@ Modifying other users's data When trying to access the personal-information of the admin user we still get our own data - >>> self.browser.open('http://nohost/plone/' + view_name + '?userid=admin') - >>> self.browser.getControl('Full Name').value == full_name + >>> browser.open('http://nohost/plone/' + view_name + '?userid=admin') + >>> browser.getControl('Full Name').value == full_name True @@ -211,15 +231,16 @@ Modifying user data in email mode Let's switch to using Email as Login Name >>> portal.portal_properties.site_properties._updateProperty('use_email_as_login', True) - >>> self.browser.open("http://nohost/plone/" + view_name) + >>> transaction.commit() + >>> browser.open(view_url) Update our email and see if login name was synced: - >>> self.browser.getControl('E-mail').value = 'my.new.email@example.com' - >>> self.browser.getControl('Save').click() - >>> 'Changes saved.' in self.browser.contents + >>> browser.getControl('E-mail').value = 'my.new.email@example.com' + >>> browser.getControl('Save').click() + >>> 'Changes saved.' in browser.contents True - >>> member = self.membership.getMemberById('test_user_1_') + >>> member = membership.getMemberById(TEST_USER_ID) >>> member.getUserName() 'my.new.email@example.com' @@ -228,13 +249,10 @@ should fail with validation errors. >>> portal.acl_users._doAddUser('user2@example.com', 'password1', ('Member',), ()) <PloneUser 'user2@example.com'> + >>> transaction.commit() - >>> self.browser.open("http://nohost/plone/" + view_name) - >>> self.browser.getControl('E-mail').value = 'user2@example.com' - >>> self.browser.getControl('Save').click() - >>> 'The email address you selected is already in use or is not valid as login name. Please choose another' in self.browser.contents + >>> browser.open(view_url) + >>> browser.getControl('E-mail').value = 'user2@example.com' + >>> browser.getControl('Save').click() + >>> 'The email address you selected is already in use or is not valid as login name. Please choose another' in browser.contents True - -Revert back from email mode - - >>> portal.portal_properties.site_properties._updateProperty('use_email_as_login', False) Repository: plone.app.users Branch: refs/heads/master Date: 2014-10-13T21:09:30+02:00 Author: Gil Forcada (gforcada) <gil.forcada@freitag.de> Commit: https://github.com/plone/plone.app.users/commit/f4e99d0f2805d04a6ece4128b8585f453adec15b Migrate userdata_prefs_user_details.rst Files changed: M plone/app/users/tests/userdata_prefs_user_details.rst diff --git a/plone/app/users/tests/userdata_prefs_user_details.rst b/plone/app/users/tests/userdata_prefs_user_details.rst index a375803..336e357 100644 --- a/plone/app/users/tests/userdata_prefs_user_details.rst +++ b/plone/app/users/tests/userdata_prefs_user_details.rst @@ -1,39 +1,56 @@ Admin modifies user information thru 'Users and groups' --------------------------------------------------------------------- +Set Up +====== + + >>> from plone.app.testing import TEST_USER_ID + >>> from plone.testing.z2 import Browser + + >>> import transaction + + >>> app = layer['app'] + >>> portal = layer['portal'] + >>> membership = portal.portal_membership + + >>> user_information_url = 'http://nohost/plone/@@user-information?userid={0}'.format(TEST_USER_ID) + + >>> browser = Browser(app) + >>> browser.handleErrors = False + An admin can modify user information thru the @@user-information form in Users and Groups config page. So let's login as Plone admin: - >>> self.browser.open('http://nohost/plone/') - >>> self.browser.getLink('Log in').click() - >>> self.browser.getControl('Login Name').value = 'admin' - >>> self.browser.getControl('Password').value = 'secret' - >>> self.browser.getControl('Log in').click() + >>> browser.open('http://nohost/plone/') + >>> browser.getLink('Log in').click() + >>> browser.getControl('Login Name').value = 'admin' + >>> browser.getControl('Password').value = 'secret' + >>> browser.getControl('Log in').click() Let's see if we can navigate to the user information form in Users and groups - >>> self.browser.getLink('Site Setup').click() - >>> self.browser.getLink('Users and Groups').click() - >>> self.browser.getLink('test_user_1_').click() - >>> self.browser.getLink('Personal Information').click() - >>> self.browser.url - 'http://nohost/plone/@@user-information?userid=test_user_1_' + >>> browser.getLink('Site Setup').click() + >>> browser.getLink('Users and Groups').click() + >>> browser.getLink(TEST_USER_NAME).click() + >>> browser.getLink('Personal Information').click() + >>> browser.url == user_information_url + True We have these controls in the form: - >>> self.browser.getControl('Full Name').value + >>> browser.getControl('Full Name').value '' - >>> self.browser.getControl('E-mail').value + >>> browser.getControl('E-mail').value '' - >>> self.browser.getControl('Home page').value + >>> browser.getControl('Home page').value '' - >>> self.browser.getControl('Biography').value + >>> browser.getControl('Biography').value '' - >>> self.browser.getControl(name='form.widgets.portrait').value + >>> browser.getControl(name='form.widgets.portrait').value The form should be using CSRF protection: - >>> self.browser.getControl(name='_authenticator', index=0) + >>> browser.getControl(name='_authenticator', index=0) <Control name='_authenticator' type='hidden'> @@ -41,36 +58,36 @@ Modifying user data ------------------- >>> full_name = 'Plone user' - >>> self.browser.getControl('Full Name').value = full_name + >>> browser.getControl('Full Name').value = full_name >>> home_page = 'http://www.plone.org/' - >>> self.browser.getControl('Home page').value = home_page + >>> browser.getControl('Home page').value = home_page >>> description = 'Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts.' - >>> self.browser.getControl('Biography').value = description + >>> browser.getControl('Biography').value = description >>> email_address = 'person@example.com' - >>> self.browser.getControl('E-mail').value = email_address + >>> browser.getControl('E-mail').value = email_address >>> location = 'Somewhere' - >>> self.browser.getControl('Location').value = location + >>> browser.getControl('Location').value = location >>> from pkg_resources import resource_stream >>> portrait_file = resource_stream("plone.app.users.tests", 'onepixel.jpg') - >>> self.browser.getControl(name='form.widgets.portrait').add_file(portrait_file, "image/jpg", "onepixel.jpg") + >>> browser.getControl(name='form.widgets.portrait').add_file(portrait_file, "image/jpg", "onepixel.jpg") - >>> self.browser.getControl('Save').click() - >>> 'Required input is missing.' in self.browser.contents + >>> browser.getControl('Save').click() + >>> 'Required input is missing.' in browser.contents False - >>> 'No changes made.' in self.browser.contents + >>> 'No changes made.' in browser.contents False - >>> 'Changes saved.' in self.browser.contents + >>> 'Changes saved.' in browser.contents True We should be able to check that value for email address now is the same as what we put in. - >>> member = self.membership.getMemberById('test_user_1_') + >>> member = membership.getMemberById(TEST_USER_ID) >>> fullname_value = member.getProperty('fullname','') >>> fullname_value == full_name True @@ -93,7 +110,7 @@ we put in. Is the users's portrait a newly created Image? - >>> portrait_value = self.membership.getPersonalPortrait('test_user_1_') + >>> portrait_value = membership.getPersonalPortrait(TEST_USER_ID) >>> portrait_value <Image at /plone/portal_memberdata/portraits/test_user_1_> @@ -107,24 +124,24 @@ Is the data of the created Image the same as the (scaled) orignal image? Can we delete the Image using the checkbox? - >>> self.browser.getControl('Remove existing image').selected = True - >>> self.browser.getControl('Save').click() - >>> 'Changes saved.' in self.browser.contents + >>> browser.getControl('Remove existing image').selected = True + >>> browser.getControl('Save').click() + >>> 'Changes saved.' in browser.contents True Does the user have the default portrait now? Note that this differs slightly depending on which Plone version you have. Products.PlonePAS 4.0.5 or higher has .png, earlier has .gif. - >>> portrait_value = self.membership.getPersonalPortrait('test_user_1_') + >>> portrait_value = membership.getPersonalPortrait(TEST_USER_ID) >>> portrait_value <FSImage at /plone/defaultUser...> Finally let's see if Cancel button still leaves us on selected user Personal Information form:: - >>> self.browser.getControl('Cancel').click() - >>> 'Changes canceled.' in self.browser.contents + >>> browser.getControl('Cancel').click() + >>> 'Changes canceled.' in browser.contents True - >>> 'Change personal information for test_user_1_' in self.browser.contents + >>> 'Change personal information for test_user_1_' in browser.contents True Repository: plone.app.users Branch: refs/heads/master Date: 2014-10-13T21:09:30+02:00 Author: Gil Forcada (gforcada) <gil.forcada@freitag.de> Commit: https://github.com/plone/plone.app.users/commit/761c69c65a46f6308dc2be2683016aeae7680703 Migrate personal_preferences.rst Files changed: M plone/app/users/tests/personal_preferences.rst diff --git a/plone/app/users/tests/personal_preferences.rst b/plone/app/users/tests/personal_preferences.rst index 8af1bed..db95b7b 100644 --- a/plone/app/users/tests/personal_preferences.rst +++ b/plone/app/users/tests/personal_preferences.rst @@ -1,6 +1,24 @@ Testing the personal preferences form ===================================== +This is about the 'personal-preferences' view. + +Set up +====== + + >>> from plone.app.testing import TEST_USER_NAME + >>> from plone.app.testing import TEST_USER_PASSWORD + >>> from plone.testing.z2 import Browser + + >>> app = layer['app'] + >>> portal = layer['portal'] + >>> membership = portal.portal_membership + + >>> view_name = '@@personal-preferences' + + >>> browser = Browser(app) + >>> browser.handleErrors = False + >>> empty_marker = '--NOVALUE--' >>> def isEmptyMarker(v): ... if len(v) != 1: return False @@ -9,71 +27,68 @@ Testing the personal preferences form Viewing the personal preferences -------------------------------- -This is about the 'personal-preferences' view. - - >>> view_name = '@@personal-preferences' - Viewing user data shouldn't be possible for anonymous users: - >>> self.browser.open("http://nohost/plone/" + view_name) - >>> 'Login Name' in self.browser.contents - True + >>> browser.open("http://nohost/plone/" + view_name) + Traceback (most recent call last): + ... + Unauthorized: ...You are not authorized to access this resource... So let's login as Plone user: - >>> self.browser.open('http://nohost/plone/') - >>> self.browser.getLink('Log in').click() - >>> self.browser.getControl('Login Name').value = 'test_user_1_' - >>> self.browser.getControl('Password').value = 'secret' - >>> self.browser.getControl('Log in').click() + >>> browser.open('http://nohost/plone/') + >>> browser.getLink('Log in').click() + >>> browser.getControl('Login Name').value = TEST_USER_NAME + >>> browser.getControl('Password').value = TEST_USER_PASSWORD + >>> browser.getControl('Log in').click() Now we should be able to access the user data panel: - >>> self.browser.open("http://nohost/plone/" + view_name) - >>> 'Login Name' in self.browser.contents + >>> browser.open("http://nohost/plone/" + view_name) + >>> 'Login Name' in browser.contents False - >>> self.browser.url.endswith(view_name) + >>> browser.url.endswith(view_name) True We have two controls, one for the start page and one for the language: - >>> isEmptyMarker(self.browser.getControl('Wysiwyg editor').value) + >>> isEmptyMarker(browser.getControl('Wysiwyg editor').value) True - >>> self.browser.getControl('Enable external editing').selected + >>> browser.getControl('Enable external editing').selected False - >>> isEmptyMarker(self.browser.getControl('Language', index=0).value) + >>> isEmptyMarker(browser.getControl('Language', index=0).value) True The form should be using CSRF protection: - >>> self.browser.getControl(name='_authenticator', index=0) + >>> browser.getControl(name='_authenticator', index=0) <Control name='_authenticator' type='hidden'> Now we click the cancel button: - >>> self.browser.getControl('Cancel').click() - >>> self.browser.url.endswith(view_name) + >>> browser.getControl('Cancel').click() + >>> browser.url.endswith(view_name) True There should be no changes at all: - >>> 'Changes canceled.' in self.browser.contents + >>> 'Changes canceled.' in browser.contents True Modifying values ---------------- - >>> self.browser.open('http://nohost/plone/' + view_name) - >>> self.browser.getControl('Wysiwyg editor').value = ['TinyMCE'] - >>> self.browser.getControl('Enable external editing').selected = True - >>> self.browser.getControl('Language', index=0).value = ['en'] - >>> self.browser.getControl('Save').click() - >>> 'Changes saved' in self.browser.contents + >>> browser.open('http://nohost/plone/' + view_name) + >>> browser.getControl('Wysiwyg editor').value = ['TinyMCE'] + >>> browser.getControl('Enable external editing').selected = True + >>> browser.getControl('Language', index=0).value = ['en'] + >>> browser.getControl('Save').click() + >>> 'Changes saved' in browser.contents True Verify that the settings have actually been changed: - >>> member = self.membership.getMemberById('test_user_1_') + >>> member = membership.getMemberById('test_user_1_') >>> marker = object >>> member.getProperty('wysiwyg_editor', object) 'TinyMCE' @@ -84,13 +99,13 @@ changed: And that the form still has the according values: - >>> isEmptyMarker(self.browser.getControl('Wysiwyg editor').value) + >>> isEmptyMarker(browser.getControl('Wysiwyg editor').value) False - >>> self.browser.getControl('Wysiwyg editor').value + >>> browser.getControl('Wysiwyg editor').value ['TinyMCE'] - >>> self.browser.getControl('Enable external editing').selected + >>> browser.getControl('Enable external editing').selected True - >>> self.browser.getControl('Language', index=0).value + >>> browser.getControl('Language', index=0).value ['en'] @@ -99,18 +114,18 @@ Clearing values Making an input empty should result in a stored empty string. - >>> self.browser.open('http://nohost/plone/' + view_name) - >>> self.browser.getControl('Wysiwyg editor').value = [empty_marker] - >>> self.browser.getControl('Enable external editing').selected = False - >>> self.browser.getControl('Language', index=0).value = [empty_marker] - >>> self.browser.getControl('Save').click() - >>> 'Changes saved' in self.browser.contents + >>> browser.open('http://nohost/plone/' + view_name) + >>> browser.getControl('Wysiwyg editor').value = [empty_marker] + >>> browser.getControl('Enable external editing').selected = False + >>> browser.getControl('Language', index=0).value = [empty_marker] + >>> browser.getControl('Save').click() + >>> 'Changes saved' in browser.contents True Verify that the settings have actually been changed: - >>> member = self.membership.getMemberById('test_user_1_') + >>> member = membership.getMemberById('test_user_1_') >>> marker = object >>> member.getProperty('wysiwyg_editor', object) '' @@ -121,9 +136,9 @@ changed: And that the form still has the according values: - >>> isEmptyMarker(self.browser.getControl('Wysiwyg editor').value) + >>> isEmptyMarker(browser.getControl('Wysiwyg editor').value) True - >>> self.browser.getControl('Enable external editing').selected + >>> browser.getControl('Enable external editing').selected False - >>> isEmptyMarker(self.browser.getControl('Language', index=0).value) + >>> isEmptyMarker(browser.getControl('Language', index=0).value) True Repository: plone.app.users Branch: refs/heads/master Date: 2014-10-13T21:09:31+02:00 Author: Gil Forcada (gforcada) <gil.forcada@freitag.de> Commit: https://github.com/plone/plone.app.users/commit/b316715c6cb7c8b98f57a75ca203713a261748c9 TMP Files changed: M plone/app/users/testing.py M plone/app/users/tests/forms_navigationroot.rst M plone/app/users/tests/password.rst diff --git a/plone/app/users/testing.py b/plone/app/users/testing.py index f092566..5641e27 100644 --- a/plone/app/users/testing.py +++ b/plone/app/users/testing.py @@ -29,6 +29,25 @@ def setUpPloneSite(self, portal): site_manager.unregisterUtility(provided=IMailHost) site_manager.registerUtility(mail_host, IMailHost) + def addParrotPasswordPolicy(self): + a = 2 + """# remove default policy + uf = self.portal.acl_users + for policy in uf.objectIds(['Default Plone Password Policy']): + uf.plugins.deactivatePlugin(IValidationPlugin, policy) + + obj = DeadParrotPassword('test') + uf._setObject(obj.getId(), obj) + obj = uf[obj.getId()] + activatePluginInterfaces(self.portal, obj.getId()) + + portal = getUtility(ISiteRoot) + pas_instance = portal.acl_users + plugins = pas_instance._getOb('plugins') + validators = plugins.listPlugins(IValidationPlugin) + assert validators""" + + PLONE_APP_USERS_FIXTURE = PloneAppUsersLayer() PLONE_APP_USERS_INTEGRATION_TESTING = IntegrationTesting( diff --git a/plone/app/users/tests/forms_navigationroot.rst b/plone/app/users/tests/forms_navigationroot.rst index a3dacb7..40871ac 100644 --- a/plone/app/users/tests/forms_navigationroot.rst +++ b/plone/app/users/tests/forms_navigationroot.rst @@ -1,44 +1,61 @@ +================================================== Test form links against different navigation roots --------------------------------------------------- +================================================== Links that are present within each of the forms should adhere to the current navigation root for the site. +Set up +====== + >>> from Products.Five.utilities.marker import mark >>> from plone.app.layout.navigation.interfaces import INavigationRoot + >>> from plone.app.testing import SITE_OWNER_NAME + >>> from plone.app.testing import SITE_OWNER_PASSWORD + >>> from plone.testing.z2 import Browser + + >>> app = layer['app'] + >>> portal = layer['portal'] + + >>> browser = Browser(app) + >>> browser.handleErrors = False + +Create a folder +--------------- We'll create the test context and have the relevant navigation root marker interface ready to be applied: - >>> self.loginAsPortalOwner() - >>> self.portal.invokeFactory('Folder', id='folder_navroot', title="Navroot") - 'folder_navroot' + >>> browser.open('http://nohost/plone/login_form') + >>> browser.getControl('Login Name').value = SITE_OWNER_NAME + >>> browser.getControl('Password').value = SITE_OWNER_PASSWORD + >>> browser.getControl('Log in').click() -So let's login as Plone admin: - >>> self.browser.open('http://nohost/plone/') - >>> self.browser.getLink('Log in').click() - >>> self.browser.getControl('Login Name').value = 'admin' - >>> self.browser.getControl('Password').value = 'secret' - >>> self.browser.getControl('Log in').click() +XXX: needs to be able to create a folder or something folderish + + + >>> portal.invokeFactory('Folder', id='folder_navroot', title="Navroot") + 'folder_navroot' + Let's see if we can navigate to the user information and options forms in the 'Users and Groups' settings. Each of the 3 forms all use the same base class so if the fix works on one, it works on them all. - >>> self.browser.getLink('Navroot').click() + >>> browser.getLink('Navroot').click() - >>> self.browser.getLink('Preferences').click() - >>> self.browser.url + >>> browser.getLink('Preferences').click() + >>> browser.url 'http://nohost/plone/@@personal-preferences' Check the existance and links for a standard site context (navigation root is the Plone site itself since the marker interface isn't applied here yet). - >>> self.browser.getLink('Personal Information').url + >>> browser.getLink('Personal Information').url 'http://nohost/plone/@@personal-information' - >>> self.browser.getLink('Personal Preferences').url + >>> browser.getLink('Personal Preferences').url 'http://nohost/plone/@@personal-preferences' Now, let's mark this folder and see what happens. All links should @@ -46,15 +63,15 @@ now be rooted to the given folder and not the Plone site proper. >>> mark(self.portal.folder_navroot, INavigationRoot) - >>> self.browser.getLink('Navroot').click() + >>> browser.getLink('Navroot').click() - >>> self.browser.getLink('Preferences').click() - >>> self.browser.url + >>> browser.getLink('Preferences').click() + >>> browser.url 'http://nohost/plone/folder_navroot/@@personal-preferences' - >>> self.browser.getLink('Personal Information').url + >>> browser.getLink('Personal Information').url 'http://nohost/plone/folder_navroot/@@personal-information' - >>> self.browser.getLink('Personal Preferences').url + >>> browser.getLink('Personal Preferences').url 'http://nohost/plone/folder_navroot/@@personal-preferences' diff --git a/plone/app/users/tests/password.rst b/plone/app/users/tests/password.rst index 109cd7f..228c673 100644 --- a/plone/app/users/tests/password.rst +++ b/plone/app/users/tests/password.rst @@ -4,54 +4,70 @@ Testing the password form This is about the 'change_password' form. This test will try to login as a Plone user, change the password, logout and login with the new password. +Set up +====== + + >>> from plone.app.testing import TEST_USER_NAME + >>> from plone.app.testing import TEST_USER_PASSWORD + >>> from plone.te…
bloodbare
added a commit
that referenced
this pull request
Mar 25, 2015
Branch: refs/heads/master Date: 2015-03-02T14:38:29+01:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plone.app.upgrade@f48ab56 Removing Portal Language Tool Files changed: M plone/app/upgrade/__init__.py M plone/app/upgrade/bbb.py M plone/app/upgrade/v50/betas.py M setup.py Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-03-16T10:52:12+01:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plone.app.upgrade@d09f4bc Comment to remove the portal skin Files changed: M plone/app/upgrade/v50/betas.py Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-03-16T13:18:26+01:00 Author: Timo Stollenwerk (tisto) <tisto@plone.org> Commit: plone/plone.app.upgrade@391decd Merge branch 'master' into plip13091 Files changed: M CHANGES.rst M plone/app/upgrade/tests/base.py M plone/app/upgrade/v30/tests.py M plone/app/upgrade/v43/tests.py M setup.py Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-03-19T17:23:02+01:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plone.app.upgrade@fedc564 Wrong alias Files changed: M plone/app/upgrade/__init__.py Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-03-19T19:45:23+01:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plone.app.upgrade@e3443f1 Upgrade tricky for languages Files changed: A plone/app/upgrade/bbbd/LanguageTool.py A plone/app/upgrade/bbbd/__init__.py M plone/app/upgrade/__init__.py M plone/app/upgrade/bbb.py M plone/app/upgrade/v50/betas.py Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-03-23T14:43:45+01:00 Author: Gil Forcada (gforcada) <gforcada@gnome.org> Commit: plone/plone.app.upgrade@ac85dd4 Typo Files changed: M plone/app/upgrade/v50/alphas.py M plone/app/upgrade/v50/betas.py Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-03-23T15:51:10+01:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plone.app.upgrade@ed5c730 Registry elements, language remove step and skins from Language Tools to be removed Files changed: A plone/app/upgrade/v50/profiles/to_beta1/skins.xml M plone/app/upgrade/v50/betas.py M plone/app/upgrade/v50/configure.zcml M plone/app/upgrade/v50/profiles/to_beta1/registry.xml Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-03-25T21:35:52+01:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plone.app.upgrade@3e116c8 Merge pull request #29 from plone/plip13091 Plip13091 Files changed: A plone/app/upgrade/bbbd/LanguageTool.py A plone/app/upgrade/bbbd/__init__.py A plone/app/upgrade/v50/profiles/to_beta1/skins.xml M plone/app/upgrade/__init__.py M plone/app/upgrade/bbb.py M plone/app/upgrade/v50/betas.py M plone/app/upgrade/v50/configure.zcml M plone/app/upgrade/v50/profiles/to_beta1/registry.xml M setup.py
bloodbare
added a commit
that referenced
this pull request
Mar 25, 2015
Branch: refs/heads/master Date: 2015-03-02T14:38:29+01:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plone.app.upgrade@f48ab56 Removing Portal Language Tool Files changed: M plone/app/upgrade/__init__.py M plone/app/upgrade/bbb.py M plone/app/upgrade/v50/betas.py M setup.py Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-03-16T10:52:12+01:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plone.app.upgrade@d09f4bc Comment to remove the portal skin Files changed: M plone/app/upgrade/v50/betas.py Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-03-16T13:18:26+01:00 Author: Timo Stollenwerk (tisto) <tisto@plone.org> Commit: plone/plone.app.upgrade@391decd Merge branch 'master' into plip13091 Files changed: M CHANGES.rst M plone/app/upgrade/tests/base.py M plone/app/upgrade/v30/tests.py M plone/app/upgrade/v43/tests.py M setup.py Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-03-19T17:23:02+01:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plone.app.upgrade@fedc564 Wrong alias Files changed: M plone/app/upgrade/__init__.py Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-03-19T19:45:23+01:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plone.app.upgrade@e3443f1 Upgrade tricky for languages Files changed: A plone/app/upgrade/bbbd/LanguageTool.py A plone/app/upgrade/bbbd/__init__.py M plone/app/upgrade/__init__.py M plone/app/upgrade/bbb.py M plone/app/upgrade/v50/betas.py Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-03-23T14:43:45+01:00 Author: Gil Forcada (gforcada) <gforcada@gnome.org> Commit: plone/plone.app.upgrade@ac85dd4 Typo Files changed: M plone/app/upgrade/v50/alphas.py M plone/app/upgrade/v50/betas.py Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-03-23T15:51:10+01:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plone.app.upgrade@ed5c730 Registry elements, language remove step and skins from Language Tools to be removed Files changed: A plone/app/upgrade/v50/profiles/to_beta1/skins.xml M plone/app/upgrade/v50/betas.py M plone/app/upgrade/v50/configure.zcml M plone/app/upgrade/v50/profiles/to_beta1/registry.xml Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-03-25T21:35:52+01:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plone.app.upgrade@3e116c8 Merge pull request #29 from plone/plip13091 Plip13091 Files changed: A plone/app/upgrade/bbbd/LanguageTool.py A plone/app/upgrade/bbbd/__init__.py A plone/app/upgrade/v50/profiles/to_beta1/skins.xml M plone/app/upgrade/__init__.py M plone/app/upgrade/bbb.py M plone/app/upgrade/v50/betas.py M plone/app/upgrade/v50/configure.zcml M plone/app/upgrade/v50/profiles/to_beta1/registry.xml M setup.py
vangheem
added a commit
that referenced
this pull request
May 19, 2015
Branch: refs/heads/master Date: 2015-05-18T16:11:52+03:00 Author: Asko Soukka (datakurre) <asko.soukka@iki.fi> Commit: plone/plone.dexterity@9a16c50 Fix to pass resource name from webdav PUT to createObject Files changed: M CHANGES.rst M plone/dexterity/filerepresentation.py M plone/dexterity/tests/test_webdav.py Repository: plone.dexterity Branch: refs/heads/master Date: 2015-05-18T20:30:06-05:00 Author: Nathan Van Gheem (vangheem) <vangheem@gmail.com> Commit: plone/plone.dexterity@15526f7 Merge pull request #29 from plone/datakurre-fix-webdav-item-id Fix to pass resource name from webdav PUT to createObject Files changed: M CHANGES.rst M plone/dexterity/filerepresentation.py M plone/dexterity/tests/test_webdav.py
vangheem
added a commit
that referenced
this pull request
May 19, 2015
Branch: refs/heads/master Date: 2015-05-18T16:11:52+03:00 Author: Asko Soukka (datakurre) <asko.soukka@iki.fi> Commit: plone/plone.dexterity@9a16c50 Fix to pass resource name from webdav PUT to createObject Files changed: M CHANGES.rst M plone/dexterity/filerepresentation.py M plone/dexterity/tests/test_webdav.py Repository: plone.dexterity Branch: refs/heads/master Date: 2015-05-18T20:30:06-05:00 Author: Nathan Van Gheem (vangheem) <vangheem@gmail.com> Commit: plone/plone.dexterity@15526f7 Merge pull request #29 from plone/datakurre-fix-webdav-item-id Fix to pass resource name from webdav PUT to createObject Files changed: M CHANGES.rst M plone/dexterity/filerepresentation.py M plone/dexterity/tests/test_webdav.py
bloodbare
added a commit
that referenced
this pull request
Jul 16, 2015
Branch: refs/heads/master Date: 2015-07-16T18:20:15+02:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plonetheme.barceloneta@7641186 Toolbar width as a less variable, and containers also, defining the size of the container based on the toolbar Files changed: M plonetheme/barceloneta/theme/less/main.plone.less M plonetheme/barceloneta/theme/less/variables.plone.less Repository: plonetheme.barceloneta Branch: refs/heads/master Date: 2015-07-16T18:20:15+02:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plonetheme.barceloneta@89b202b Missed non toolbar container Files changed: M plonetheme/barceloneta/theme/less/main.plone.less Repository: plonetheme.barceloneta Branch: refs/heads/master Date: 2015-07-16T18:20:49+02:00 Author: Peter Holzer (agitator) <hpeter@agitator.com> Commit: plone/plonetheme.barceloneta@c83ddaa closes plone/Products.CMFPlone#616 and various other mobile issues Files changed: M CHANGES.rst M plonetheme/barceloneta/theme/less/barceloneta-compiled.css M plonetheme/barceloneta/theme/less/barceloneta-compiled.css.map M plonetheme/barceloneta/theme/less/breadcrumbs.plone.less M plonetheme/barceloneta/theme/less/header.plone.less M plonetheme/barceloneta/theme/less/loginform.plone.less M plonetheme/barceloneta/theme/less/sitenav.plone.less M plonetheme/barceloneta/theme/less/variables.plone.less Repository: plonetheme.barceloneta Branch: refs/heads/master Date: 2015-07-16T18:20:49+02:00 Author: Victor Fernandez de Alba (sneridagh) <sneridagh@gmail.com> Commit: plone/plonetheme.barceloneta@3f7efc2 First working version of new control panel overview and portlet layout Files changed: M plonetheme/barceloneta/theme/less/barceloneta-compiled.css M plonetheme/barceloneta/theme/less/barceloneta-compiled.css.map M plonetheme/barceloneta/theme/less/portlets.plone.less Repository: plonetheme.barceloneta Branch: refs/heads/master Date: 2015-07-16T18:20:49+02:00 Author: Victor Fernandez de Alba (sneridagh) <sneridagh@gmail.com> Commit: plone/plonetheme.barceloneta@2b981dd Fixed bug in portlet navigation due to a CSS error Files changed: M plonetheme/barceloneta/theme/less/barceloneta-compiled.css M plonetheme/barceloneta/theme/less/barceloneta-compiled.css.map M plonetheme/barceloneta/theme/less/portlets.plone.less Repository: plonetheme.barceloneta Branch: refs/heads/master Date: 2015-07-16T18:20:49+02:00 Author: Victor Fernandez de Alba (sneridagh) <sneridagh@gmail.com> Commit: plone/plonetheme.barceloneta@bdf10af Fix problem with CSS leaking from the cp overview to the portlet Files changed: M plonetheme/barceloneta/theme/less/barceloneta-compiled.css M plonetheme/barceloneta/theme/less/barceloneta-compiled.css.map M plonetheme/barceloneta/theme/less/portlets.plone.less Repository: plonetheme.barceloneta Branch: refs/heads/master Date: 2015-07-16T18:20:49+02:00 Author: Victor Fernandez de Alba (sneridagh) <sneridagh@gmail.com> Commit: plone/plonetheme.barceloneta@de3f327 Fix map Files changed: M plonetheme/barceloneta/theme/less/barceloneta-compiled.css.map Repository: plonetheme.barceloneta Branch: refs/heads/master Date: 2015-07-16T18:20:49+02:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plonetheme.barceloneta@c891520 Header mobile Close plone/Products.CMFPlone#616 Files changed: M plonetheme/barceloneta/theme/less/header.plone.less Repository: plonetheme.barceloneta Branch: refs/heads/master Date: 2015-07-16T18:20:49+02:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plonetheme.barceloneta@eddd29b Floating right the identity Files changed: M plonetheme/barceloneta/theme/less/header.plone.less Repository: plonetheme.barceloneta Branch: refs/heads/master Date: 2015-07-16T18:20:49+02:00 Author: Peter Holzer (agitator) <hpeter@agitator.com> Commit: plone/plonetheme.barceloneta@c032362 added controlpanels.plone.less Files changed: A plonetheme/barceloneta/theme/less/controlpanels.plone.less M plonetheme/barceloneta/theme/less/barceloneta.plone.less M plonetheme/barceloneta/theme/less/portlets.plone.less Repository: plonetheme.barceloneta Branch: refs/heads/master Date: 2015-07-16T18:20:49+02:00 Author: Peter Holzer (agitator) <hpeter@agitator.com> Commit: plone/plonetheme.barceloneta@b2f9120 more contrast for table rows Files changed: M plonetheme/barceloneta/theme/less/variables.plone.less Repository: plonetheme.barceloneta Branch: refs/heads/master Date: 2015-07-16T18:20:50+02:00 Author: Peter Holzer (agitator) <hpeter@agitator.com> Commit: plone/plonetheme.barceloneta@bc136db updated compiled Files changed: M plonetheme/barceloneta/theme/less/barceloneta-compiled.css M plonetheme/barceloneta/theme/less/barceloneta-compiled.css.map Repository: plonetheme.barceloneta Branch: refs/heads/master Date: 2015-07-16T18:20:50+02:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plonetheme.barceloneta@174c2ad role for gigantic is complementary Files changed: M plonetheme/barceloneta/theme/index.html Repository: plonetheme.barceloneta Branch: refs/heads/master Date: 2015-07-16T18:32:34+02:00 Author: Ramon Navarro Bosch (bloodbare) <ramon.nb@gmail.com> Commit: plone/plonetheme.barceloneta@1025054 Merge pull request #29 from plone/toolbar-fixup Toolbar fixup Files changed: A plonetheme/barceloneta/theme/less/controlpanels.plone.less M CHANGES.rst M plonetheme/barceloneta/theme/index.html M plonetheme/barceloneta/theme/less/barceloneta-compiled.css M plonetheme/barceloneta/theme/less/barceloneta-compiled.css.map M plonetheme/barceloneta/theme/less/barceloneta.plone.less M plonetheme/barceloneta/theme/less/breadcrumbs.plone.less M plonetheme/barceloneta/theme/less/header.plone.less M plonetheme/barceloneta/theme/less/loginform.plone.less M plonetheme/barceloneta/theme/less/main.plone.less M plonetheme/barceloneta/theme/less/portlets.plone.less M plonetheme/barceloneta/theme/less/sitenav.plone.less M plonetheme/barceloneta/theme/less/variables.plone.less
pbauer
added a commit
that referenced
this pull request
Sep 29, 2015
Branch: refs/heads/master Date: 2015-09-28T16:49:48+02:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/archetypes.referencebrowserwidget@edf74dd Show elements that the reader has no access to as "Undisclosed" Files changed: M CHANGES.rst M src/archetypes/referencebrowserwidget/skins/referencebrowser/referencebrowser.pt Repository: archetypes.referencebrowserwidget Branch: refs/heads/master Date: 2015-09-29T17:11:35+02:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/archetypes.referencebrowserwidget@50a53ce Merge pull request #29 from plone/prevent_unauthozired Show elements that the reader has no access to as "Undisclosed" Files changed: M CHANGES.rst M src/archetypes/referencebrowserwidget/skins/referencebrowser/referencebrowser.pt
pbauer
added a commit
that referenced
this pull request
Sep 29, 2015
Branch: refs/heads/master Date: 2015-09-28T16:49:48+02:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/archetypes.referencebrowserwidget@edf74dd Show elements that the reader has no access to as "Undisclosed" Files changed: M CHANGES.rst M src/archetypes/referencebrowserwidget/skins/referencebrowser/referencebrowser.pt Repository: archetypes.referencebrowserwidget Branch: refs/heads/master Date: 2015-09-29T17:11:35+02:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/archetypes.referencebrowserwidget@50a53ce Merge pull request #29 from plone/prevent_unauthozired Show elements that the reader has no access to as "Undisclosed" Files changed: M CHANGES.rst M src/archetypes/referencebrowserwidget/skins/referencebrowser/referencebrowser.pt
vangheem
added a commit
that referenced
this pull request
Oct 22, 2015
Branch: refs/heads/master Date: 2015-10-22T17:04:54+02:00 Author: Gagaro (Gagaro) <gagaro42@gmail.com> Commit: plone/plone.app.z3cform@b7a71e4 fix: Check if user can add keywords for AjaxSelectWidget Files changed: M CHANGES.rst M plone/app/z3cform/widget.py Repository: plone.app.z3cform Branch: refs/heads/master Date: 2015-10-22T11:45:07-05:00 Author: Nathan Van Gheem (vangheem) <vangheem@gmail.com> Commit: plone/plone.app.z3cform@f4942ab Merge pull request #29 from plone/fix-check-add-keywords fix: Check if user can add keywords for AjaxSelectWidget Files changed: M CHANGES.rst M plone/app/z3cform/widget.py
vangheem
added a commit
that referenced
this pull request
Oct 23, 2015
Branch: refs/heads/master Date: 2015-10-23T12:29:02+02:00 Author: Gagaro (Gagaro) <gagaro42@gmail.com> Commit: plone/plone.app.z3cform@51a504f tests: #29 Check if user can add keywords for AjaxSelectWidget Files changed: M plone/app/z3cform/tests/test_widgets.py Repository: plone.app.z3cform Branch: refs/heads/master Date: 2015-10-23T08:13:38-05:00 Author: Nathan Van Gheem (vangheem) <vangheem@gmail.com> Commit: plone/plone.app.z3cform@ba62ae0 Merge pull request #30 from plone/tests-29 tests: #29 Check if user can add keywords for AjaxSelectWidget Files changed: M plone/app/z3cform/tests/test_widgets.py
mister-roboto
pushed a commit
that referenced
this pull request
Feb 23, 2016
Branch: refs/heads/2.1.x Date: 2016-01-04T06:58:36+01:00 Author: Gil Forcada (gforcada) <gforcada@gnome.org> Commit: plone/Products.ATContentTypes@e7d9ee4 Backport CSRF fix from @vangheem Original commit: plone/Products.ATContentTypes@2958b34 Files changed: M CHANGES.rst M Products/ATContentTypes/tests/atctftestcase.py M Products/ATContentTypes/tests/editing.txt M Products/ATContentTypes/tests/portaltype_criterion.txt M Products/ATContentTypes/tests/test_atdocument.py M Products/ATContentTypes/tests/test_atfolder.py M Products/ATContentTypes/tests/uploading.txt Repository: Products.ATContentTypes Branch: refs/heads/2.1.x Date: 2016-01-04T07:35:57+01:00 Author: vangheem (vangheem) <vangheem@gmail.com> Commit: plone/Products.ATContentTypes@2f932af fix tests relating to edit urls Files changed: M Products/ATContentTypes/tests/portaltype_criterion.txt M Products/ATContentTypes/tests/uploading.txt Repository: Products.ATContentTypes Branch: refs/heads/2.1.x Date: 2016-02-13T01:00:18+01:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/Products.ATContentTypes@bcf8874 In tests do not explicitly test if authenticator is in the url. This keeps it compatible with plone.protect 2.x. Files changed: M Products/ATContentTypes/tests/portaltype_criterion.txt M Products/ATContentTypes/tests/uploading.txt Repository: Products.ATContentTypes Branch: refs/heads/2.1.x Date: 2016-02-23T13:38:13-05:00 Author: Eric Steele (esteele) <eric@esteele.net> Commit: plone/Products.ATContentTypes@f46b273 Merge pull request #29 from plone/write-on-read2 Backport CSRF fix from @vangheem Files changed: M CHANGES.rst M Products/ATContentTypes/tests/atctftestcase.py M Products/ATContentTypes/tests/editing.txt M Products/ATContentTypes/tests/portaltype_criterion.txt M Products/ATContentTypes/tests/test_atdocument.py M Products/ATContentTypes/tests/test_atfolder.py M Products/ATContentTypes/tests/uploading.txt
mister-roboto
pushed a commit
that referenced
this pull request
Jun 14, 2016
Branch: refs/heads/master Date: 2016-06-13T23:10:10+02:00 Author: Gil Forcada (gforcada) <gforcada@gnome.org> Commit: plone/plone.namedfile@b3bfd18 Minor round of cleanups Files changed: M CHANGES.rst M plone/namedfile/__init__.py M plone/namedfile/copy.py M plone/namedfile/handler.py M plone/namedfile/scaling.py M plone/namedfile/testing.py M plone/namedfile/tests/test_blobfile.py M plone/namedfile/tests/test_doctests.py M plone/namedfile/tests/test_image.py M plone/namedfile/tests/test_scaling.py M plone/namedfile/tests/test_scaling_functional.py Repository: plone.namedfile Branch: refs/heads/master Date: 2016-06-14T09:33:34+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.namedfile@d07ec4e Merge pull request #29 from plone/gforcada-code-analysis Minor round of cleanups Files changed: M CHANGES.rst M plone/namedfile/__init__.py M plone/namedfile/copy.py M plone/namedfile/handler.py M plone/namedfile/scaling.py M plone/namedfile/testing.py M plone/namedfile/tests/test_blobfile.py M plone/namedfile/tests/test_doctests.py M plone/namedfile/tests/test_image.py M plone/namedfile/tests/test_scaling.py M plone/namedfile/tests/test_scaling_functional.py
mister-roboto
pushed a commit
that referenced
this pull request
Jul 9, 2016
Branch: refs/heads/master Date: 2016-07-05T23:12:29+02:00 Author: Gil Forcada (gforcada) <gforcada@gnome.org> Commit: plone/plone.app.iterate@72ce424 Use zope.interface decorator This not only makes code more pleasent to read, but also makes the code python 3 compatible (while maintaining python 2 compatibility). Files changed: M CHANGES.rst M plone/app/iterate/archiver.py M plone/app/iterate/browser/info.py M plone/app/iterate/containers.py M plone/app/iterate/copier.py M plone/app/iterate/dexterity/copier.py M plone/app/iterate/dexterity/policy.py M plone/app/iterate/dexterity/relation.py M plone/app/iterate/event.py M plone/app/iterate/policy.py M plone/app/iterate/relation.py Repository: plone.app.iterate Branch: refs/heads/master Date: 2016-07-09T08:50:42+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.app.iterate@454d835 Merge pull request #29 from plone/gforcada-use-zope-decorators Use zope.interface decorator Files changed: M CHANGES.rst M plone/app/iterate/archiver.py M plone/app/iterate/browser/info.py M plone/app/iterate/containers.py M plone/app/iterate/copier.py M plone/app/iterate/dexterity/copier.py M plone/app/iterate/dexterity/policy.py M plone/app/iterate/dexterity/relation.py M plone/app/iterate/event.py M plone/app/iterate/policy.py M plone/app/iterate/relation.py
mister-roboto
pushed a commit
that referenced
this pull request
Jul 9, 2016
Branch: refs/heads/master Date: 2016-07-05T23:12:29+02:00 Author: Gil Forcada (gforcada) <gforcada@gnome.org> Commit: plone/plone.app.iterate@72ce424 Use zope.interface decorator This not only makes code more pleasent to read, but also makes the code python 3 compatible (while maintaining python 2 compatibility). Files changed: M CHANGES.rst M plone/app/iterate/archiver.py M plone/app/iterate/browser/info.py M plone/app/iterate/containers.py M plone/app/iterate/copier.py M plone/app/iterate/dexterity/copier.py M plone/app/iterate/dexterity/policy.py M plone/app/iterate/dexterity/relation.py M plone/app/iterate/event.py M plone/app/iterate/policy.py M plone/app/iterate/relation.py Repository: plone.app.iterate Branch: refs/heads/master Date: 2016-07-09T08:50:42+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.app.iterate@454d835 Merge pull request #29 from plone/gforcada-use-zope-decorators Use zope.interface decorator Files changed: M CHANGES.rst M plone/app/iterate/archiver.py M plone/app/iterate/browser/info.py M plone/app/iterate/containers.py M plone/app/iterate/copier.py M plone/app/iterate/dexterity/copier.py M plone/app/iterate/dexterity/policy.py M plone/app/iterate/dexterity/relation.py M plone/app/iterate/event.py M plone/app/iterate/policy.py M plone/app/iterate/relation.py
mister-roboto
pushed a commit
that referenced
this pull request
Sep 13, 2016
Branch: refs/heads/master Date: 2016-09-12T17:44:08+02:00 Author: Alessandro Pisa (ale-rt) <alessandro.pisa@gmail.com> Commit: plone/plone.app.versioningbehavior@b2ade3f Respect 80 chars Files changed: M plone/app/versioningbehavior/tests/test_modifiers.py Repository: plone.app.versioningbehavior Branch: refs/heads/master Date: 2016-09-12T18:10:38+02:00 Author: Alessandro Pisa (ale-rt) <alessandro.pisa@gmail.com> Commit: plone/plone.app.versioningbehavior@705c074 Do not break in case of at -> dx migration Files changed: M CHANGES.rst M plone/app/versioningbehavior/modifiers.py M plone/app/versioningbehavior/tests/test_modifiers.py Repository: plone.app.versioningbehavior Branch: refs/heads/master Date: 2016-09-13T10:09:48+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.versioningbehavior@acab904 Merge pull request #29 from plone/fix-ats-migrated-to-dxs Fix ats migrated to dxs Files changed: M CHANGES.rst M plone/app/versioningbehavior/modifiers.py M plone/app/versioningbehavior/tests/test_modifiers.py
mister-roboto
pushed a commit
that referenced
this pull request
Sep 13, 2016
Branch: refs/heads/master Date: 2016-09-12T17:44:08+02:00 Author: Alessandro Pisa (ale-rt) <alessandro.pisa@gmail.com> Commit: plone/plone.app.versioningbehavior@b2ade3f Respect 80 chars Files changed: M plone/app/versioningbehavior/tests/test_modifiers.py Repository: plone.app.versioningbehavior Branch: refs/heads/master Date: 2016-09-12T18:10:38+02:00 Author: Alessandro Pisa (ale-rt) <alessandro.pisa@gmail.com> Commit: plone/plone.app.versioningbehavior@705c074 Do not break in case of at -> dx migration Files changed: M CHANGES.rst M plone/app/versioningbehavior/modifiers.py M plone/app/versioningbehavior/tests/test_modifiers.py Repository: plone.app.versioningbehavior Branch: refs/heads/master Date: 2016-09-13T10:09:48+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.versioningbehavior@acab904 Merge pull request #29 from plone/fix-ats-migrated-to-dxs Fix ats migrated to dxs Files changed: M CHANGES.rst M plone/app/versioningbehavior/modifiers.py M plone/app/versioningbehavior/tests/test_modifiers.py
mister-roboto
pushed a commit
that referenced
this pull request
Sep 21, 2016
Branch: refs/heads/master Date: 2016-09-07T01:21:27+02:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.app.testing@8dbbe78 Added test that the upgrade step registry gets rolled back. Files changed: M plone/app/testing/helpers.rst Repository: plone.app.testing Branch: refs/heads/master Date: 2016-09-07T01:21:27+02:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.app.testing@63c5177 In PloneSandboxLayer make profile upgrade versions persistent. This way installed profile versions get reset in teardown. Initially I added push and pop support for the various GS registries, but somehow that is handled fine already. Files changed: M CHANGES.rst M plone/app/testing/helpers.py M plone/app/testing/helpers.rst Repository: plone.app.testing Branch: refs/heads/master Date: 2016-09-07T01:21:28+02:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.app.testing@773220f Use get_installer instead of portal_quickinstaller when available. This is needed for Plone 5.1 and higher, plip 1340: plone/Products.CMFPlone#1340 Files changed: A plone/app/testing/profile/metadata.xml M CHANGES.rst M plone/app/testing/helpers.py M plone/app/testing/helpers.rst Repository: plone.app.testing Branch: refs/heads/master Date: 2016-09-21T11:53:53+02:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.app.testing@f424bbe Merge pull request #29 from plone/get-rid-of-qi Use get_installer and make profile upgrade versions persistent Files changed: A plone/app/testing/profile/metadata.xml M CHANGES.rst M plone/app/testing/helpers.py M plone/app/testing/helpers.rst
mister-roboto
pushed a commit
that referenced
this pull request
Sep 21, 2016
Branch: refs/heads/master Date: 2016-09-07T01:21:27+02:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.app.testing@8dbbe78 Added test that the upgrade step registry gets rolled back. Files changed: M plone/app/testing/helpers.rst Repository: plone.app.testing Branch: refs/heads/master Date: 2016-09-07T01:21:27+02:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.app.testing@63c5177 In PloneSandboxLayer make profile upgrade versions persistent. This way installed profile versions get reset in teardown. Initially I added push and pop support for the various GS registries, but somehow that is handled fine already. Files changed: M CHANGES.rst M plone/app/testing/helpers.py M plone/app/testing/helpers.rst Repository: plone.app.testing Branch: refs/heads/master Date: 2016-09-07T01:21:28+02:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.app.testing@773220f Use get_installer instead of portal_quickinstaller when available. This is needed for Plone 5.1 and higher, plip 1340: plone/Products.CMFPlone#1340 Files changed: A plone/app/testing/profile/metadata.xml M CHANGES.rst M plone/app/testing/helpers.py M plone/app/testing/helpers.rst Repository: plone.app.testing Branch: refs/heads/master Date: 2016-09-21T11:53:53+02:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.app.testing@f424bbe Merge pull request #29 from plone/get-rid-of-qi Use get_installer and make profile upgrade versions persistent Files changed: A plone/app/testing/profile/metadata.xml M CHANGES.rst M plone/app/testing/helpers.py M plone/app/testing/helpers.rst
mister-roboto
pushed a commit
that referenced
this pull request
Sep 28, 2016
Branch: refs/heads/master Date: 2016-09-27T15:15:31+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.caching@79d9fe0 isort Files changed: M plone/app/caching/browser/controlpanel.py M plone/app/caching/browser/edit.py M plone/app/caching/interfaces.py M plone/app/caching/lastmodified.py M plone/app/caching/lookup.py M plone/app/caching/operations/default.py M plone/app/caching/operations/etags.py M plone/app/caching/operations/ramcache.py M plone/app/caching/operations/utils.py M plone/app/caching/purge.py M plone/app/caching/setuphandlers.py M plone/app/caching/testing.py M plone/app/caching/tests/test_etags.py M plone/app/caching/tests/test_integration.py M plone/app/caching/tests/test_lastmodified.py M plone/app/caching/tests/test_lookup.py M plone/app/caching/tests/test_operation_default.py M plone/app/caching/tests/test_operation_parameters.py M plone/app/caching/tests/test_operation_utils.py M plone/app/caching/tests/test_profile_with_caching_proxy.py M plone/app/caching/tests/test_profile_without_caching_proxy.py M plone/app/caching/tests/test_purge.py M plone/app/caching/tests/test_utils.py M plone/app/caching/utils.py M setup.cfg Repository: plone.app.caching Branch: refs/heads/master Date: 2016-09-27T15:16:09+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.caching@c8a0caf utf8 headers Files changed: M plone/__init__.py M plone/app/__init__.py M plone/app/caching/browser/controlpanel.py M plone/app/caching/browser/edit.py M plone/app/caching/interfaces.py M plone/app/caching/lastmodified.py M plone/app/caching/lookup.py M plone/app/caching/operations/default.py M plone/app/caching/operations/etags.py M plone/app/caching/operations/ramcache.py M plone/app/caching/operations/utils.py M plone/app/caching/purge.py M plone/app/caching/setuphandlers.py M plone/app/caching/testing.py M plone/app/caching/tests/test_etags.py M plone/app/caching/tests/test_integration.py M plone/app/caching/tests/test_lastmodified.py M plone/app/caching/tests/test_lookup.py M plone/app/caching/tests/test_operation_default.py M plone/app/caching/tests/test_operation_parameters.py M plone/app/caching/tests/test_operation_utils.py M plone/app/caching/tests/test_profile_with_caching_proxy.py M plone/app/caching/tests/test_profile_without_caching_proxy.py M plone/app/caching/tests/test_purge.py M plone/app/caching/tests/test_utils.py M plone/app/caching/utils.py Repository: plone.app.caching Branch: refs/heads/master Date: 2016-09-27T15:17:15+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.caching@bdde644 autopep8 -ir Files changed: M plone/app/caching/browser/controlpanel.py M plone/app/caching/browser/edit.py M plone/app/caching/interfaces.py M plone/app/caching/lastmodified.py M plone/app/caching/lookup.py M plone/app/caching/operations/default.py M plone/app/caching/operations/etags.py M plone/app/caching/operations/ramcache.py M plone/app/caching/operations/utils.py M plone/app/caching/purge.py M plone/app/caching/setuphandlers.py M plone/app/caching/testing.py M plone/app/caching/tests/test_etags.py M plone/app/caching/tests/test_integration.py M plone/app/caching/tests/test_lastmodified.py M plone/app/caching/tests/test_lookup.py M plone/app/caching/tests/test_operation_default.py M plone/app/caching/tests/test_operation_parameters.py M plone/app/caching/tests/test_operation_utils.py M plone/app/caching/tests/test_profile_with_caching_proxy.py M plone/app/caching/tests/test_profile_without_caching_proxy.py M plone/app/caching/tests/test_purge.py M plone/app/caching/tests/test_utils.py M plone/app/caching/utils.py Repository: plone.app.caching Branch: refs/heads/master Date: 2016-09-27T16:24:47+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.caching@7255035 manual cleanup Files changed: M CHANGES.rst M plone/app/caching/browser/controlpanel.py M plone/app/caching/browser/edit.py M plone/app/caching/lastmodified.py M plone/app/caching/lookup.py M plone/app/caching/operations/default.py M plone/app/caching/operations/etags.py M plone/app/caching/operations/ramcache.py M plone/app/caching/operations/utils.py M plone/app/caching/purge.py M plone/app/caching/testing.py M plone/app/caching/tests/test_etags.py M plone/app/caching/tests/test_lookup.py M plone/app/caching/tests/test_operation_utils.py M plone/app/caching/tests/test_profile_with_caching_proxy.py M plone/app/caching/tests/test_profile_without_caching_proxy.py M plone/app/caching/tests/test_purge.py M setup.py Repository: plone.app.caching Branch: refs/heads/master Date: 2016-09-28T08:17:19+02:00 Author: agitator (agitator) <hpeter@agitator.com> Commit: plone/plone.app.caching@866bcf6 Merge pull request #29 from plone/cleanup Cleanup Files changed: M CHANGES.rst M plone/__init__.py M plone/app/__init__.py M plone/app/caching/browser/controlpanel.py M plone/app/caching/browser/edit.py M plone/app/caching/interfaces.py M plone/app/caching/lastmodified.py M plone/app/caching/lookup.py M plone/app/caching/operations/default.py M plone/app/caching/operations/etags.py M plone/app/caching/operations/ramcache.py M plone/app/caching/operations/utils.py M plone/app/caching/purge.py M plone/app/caching/setuphandlers.py M plone/app/caching/testing.py M plone/app/caching/tests/test_etags.py M plone/app/caching/tests/test_integration.py M plone/app/caching/tests/test_lastmodified.py M plone/app/caching/tests/test_lookup.py M plone/app/caching/tests/test_operation_default.py M plone/app/caching/tests/test_operation_parameters.py M plone/app/caching/tests/test_operation_utils.py M plone/app/caching/tests/test_profile_with_caching_proxy.py M plone/app/caching/tests/test_profile_without_caching_proxy.py M plone/app/caching/tests/test_purge.py M plone/app/caching/tests/test_utils.py M plone/app/caching/utils.py M setup.cfg M setup.py
mister-roboto
pushed a commit
that referenced
this pull request
Sep 28, 2016
Branch: refs/heads/master Date: 2016-09-27T15:15:31+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.caching@79d9fe0 isort Files changed: M plone/app/caching/browser/controlpanel.py M plone/app/caching/browser/edit.py M plone/app/caching/interfaces.py M plone/app/caching/lastmodified.py M plone/app/caching/lookup.py M plone/app/caching/operations/default.py M plone/app/caching/operations/etags.py M plone/app/caching/operations/ramcache.py M plone/app/caching/operations/utils.py M plone/app/caching/purge.py M plone/app/caching/setuphandlers.py M plone/app/caching/testing.py M plone/app/caching/tests/test_etags.py M plone/app/caching/tests/test_integration.py M plone/app/caching/tests/test_lastmodified.py M plone/app/caching/tests/test_lookup.py M plone/app/caching/tests/test_operation_default.py M plone/app/caching/tests/test_operation_parameters.py M plone/app/caching/tests/test_operation_utils.py M plone/app/caching/tests/test_profile_with_caching_proxy.py M plone/app/caching/tests/test_profile_without_caching_proxy.py M plone/app/caching/tests/test_purge.py M plone/app/caching/tests/test_utils.py M plone/app/caching/utils.py M setup.cfg Repository: plone.app.caching Branch: refs/heads/master Date: 2016-09-27T15:16:09+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.caching@c8a0caf utf8 headers Files changed: M plone/__init__.py M plone/app/__init__.py M plone/app/caching/browser/controlpanel.py M plone/app/caching/browser/edit.py M plone/app/caching/interfaces.py M plone/app/caching/lastmodified.py M plone/app/caching/lookup.py M plone/app/caching/operations/default.py M plone/app/caching/operations/etags.py M plone/app/caching/operations/ramcache.py M plone/app/caching/operations/utils.py M plone/app/caching/purge.py M plone/app/caching/setuphandlers.py M plone/app/caching/testing.py M plone/app/caching/tests/test_etags.py M plone/app/caching/tests/test_integration.py M plone/app/caching/tests/test_lastmodified.py M plone/app/caching/tests/test_lookup.py M plone/app/caching/tests/test_operation_default.py M plone/app/caching/tests/test_operation_parameters.py M plone/app/caching/tests/test_operation_utils.py M plone/app/caching/tests/test_profile_with_caching_proxy.py M plone/app/caching/tests/test_profile_without_caching_proxy.py M plone/app/caching/tests/test_purge.py M plone/app/caching/tests/test_utils.py M plone/app/caching/utils.py Repository: plone.app.caching Branch: refs/heads/master Date: 2016-09-27T15:17:15+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.caching@bdde644 autopep8 -ir Files changed: M plone/app/caching/browser/controlpanel.py M plone/app/caching/browser/edit.py M plone/app/caching/interfaces.py M plone/app/caching/lastmodified.py M plone/app/caching/lookup.py M plone/app/caching/operations/default.py M plone/app/caching/operations/etags.py M plone/app/caching/operations/ramcache.py M plone/app/caching/operations/utils.py M plone/app/caching/purge.py M plone/app/caching/setuphandlers.py M plone/app/caching/testing.py M plone/app/caching/tests/test_etags.py M plone/app/caching/tests/test_integration.py M plone/app/caching/tests/test_lastmodified.py M plone/app/caching/tests/test_lookup.py M plone/app/caching/tests/test_operation_default.py M plone/app/caching/tests/test_operation_parameters.py M plone/app/caching/tests/test_operation_utils.py M plone/app/caching/tests/test_profile_with_caching_proxy.py M plone/app/caching/tests/test_profile_without_caching_proxy.py M plone/app/caching/tests/test_purge.py M plone/app/caching/tests/test_utils.py M plone/app/caching/utils.py Repository: plone.app.caching Branch: refs/heads/master Date: 2016-09-27T16:24:47+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.caching@7255035 manual cleanup Files changed: M CHANGES.rst M plone/app/caching/browser/controlpanel.py M plone/app/caching/browser/edit.py M plone/app/caching/lastmodified.py M plone/app/caching/lookup.py M plone/app/caching/operations/default.py M plone/app/caching/operations/etags.py M plone/app/caching/operations/ramcache.py M plone/app/caching/operations/utils.py M plone/app/caching/purge.py M plone/app/caching/testing.py M plone/app/caching/tests/test_etags.py M plone/app/caching/tests/test_lookup.py M plone/app/caching/tests/test_operation_utils.py M plone/app/caching/tests/test_profile_with_caching_proxy.py M plone/app/caching/tests/test_profile_without_caching_proxy.py M plone/app/caching/tests/test_purge.py M setup.py Repository: plone.app.caching Branch: refs/heads/master Date: 2016-09-28T08:17:19+02:00 Author: agitator (agitator) <hpeter@agitator.com> Commit: plone/plone.app.caching@866bcf6 Merge pull request #29 from plone/cleanup Cleanup Files changed: M CHANGES.rst M plone/__init__.py M plone/app/__init__.py M plone/app/caching/browser/controlpanel.py M plone/app/caching/browser/edit.py M plone/app/caching/interfaces.py M plone/app/caching/lastmodified.py M plone/app/caching/lookup.py M plone/app/caching/operations/default.py M plone/app/caching/operations/etags.py M plone/app/caching/operations/ramcache.py M plone/app/caching/operations/utils.py M plone/app/caching/purge.py M plone/app/caching/setuphandlers.py M plone/app/caching/testing.py M plone/app/caching/tests/test_etags.py M plone/app/caching/tests/test_integration.py M plone/app/caching/tests/test_lastmodified.py M plone/app/caching/tests/test_lookup.py M plone/app/caching/tests/test_operation_default.py M plone/app/caching/tests/test_operation_parameters.py M plone/app/caching/tests/test_operation_utils.py M plone/app/caching/tests/test_profile_with_caching_proxy.py M plone/app/caching/tests/test_profile_without_caching_proxy.py M plone/app/caching/tests/test_purge.py M plone/app/caching/tests/test_utils.py M plone/app/caching/utils.py M setup.cfg M setup.py
mister-roboto
pushed a commit
that referenced
this pull request
Mar 4, 2017
Branch: refs/heads/4.1.x Date: 2017-03-03T18:04:39+01:00 Author: Andreas Zeidler (witsch) <az@zitc.de> Commit: plone/plone.testing@3835e49 Fix the buildout by using (a working version of) Zope 2.13. Files changed: M buildout.cfg Repository: plone.testing Branch: refs/heads/4.1.x Date: 2017-03-03T18:05:05+01:00 Author: Andreas Zeidler (witsch) <az@zitc.de> Commit: plone/plone.testing@5c5f5de Add convenience `Makefile` to run the tests. Files changed: A Makefile M buildout.cfg Repository: plone.testing Branch: refs/heads/4.1.x Date: 2017-03-03T18:10:00+01:00 Author: Andreas Zeidler (witsch) <az@zitc.de> Commit: plone/plone.testing@408df88 Fix `tox` configuration (by using buildout instead of pytest). Files changed: M tox.ini Repository: plone.testing Branch: refs/heads/4.1.x Date: 2017-03-03T18:15:54+01:00 Author: Florian Schulze (fschulze) <florian.schulze@gmx.net> Commit: plone/plone.testing@77952a4 Add .travis.yml. Files changed: A .travis.yml Repository: plone.testing Branch: refs/heads/4.1.x Date: 2017-03-04T17:52:52+01:00 Author: Timo Stollenwerk (tisto) <stollenwerk@kitconcept.com> Commit: plone/plone.testing@3b221f1 Use virtualenv's `--python` option to not having to rely on `virtualenv-2.7` to exist. Files changed: M Makefile Repository: plone.testing Branch: refs/heads/4.1.x Date: 2017-03-04T18:11:33+01:00 Author: Timo Stollenwerk (tisto) <tisto@users.noreply.github.com> Commit: plone/plone.testing@90556e8 Merge pull request #29 from witsch/testing-fixes Testing fixes Files changed: A .travis.yml A Makefile M buildout.cfg M tox.ini
mister-roboto
pushed a commit
that referenced
this pull request
Mar 4, 2017
Branch: refs/heads/4.1.x Date: 2017-03-03T18:04:39+01:00 Author: Andreas Zeidler (witsch) <az@zitc.de> Commit: plone/plone.testing@3835e49 Fix the buildout by using (a working version of) Zope 2.13. Files changed: M buildout.cfg Repository: plone.testing Branch: refs/heads/4.1.x Date: 2017-03-03T18:05:05+01:00 Author: Andreas Zeidler (witsch) <az@zitc.de> Commit: plone/plone.testing@5c5f5de Add convenience `Makefile` to run the tests. Files changed: A Makefile M buildout.cfg Repository: plone.testing Branch: refs/heads/4.1.x Date: 2017-03-03T18:10:00+01:00 Author: Andreas Zeidler (witsch) <az@zitc.de> Commit: plone/plone.testing@408df88 Fix `tox` configuration (by using buildout instead of pytest). Files changed: M tox.ini Repository: plone.testing Branch: refs/heads/4.1.x Date: 2017-03-03T18:15:54+01:00 Author: Florian Schulze (fschulze) <florian.schulze@gmx.net> Commit: plone/plone.testing@77952a4 Add .travis.yml. Files changed: A .travis.yml Repository: plone.testing Branch: refs/heads/4.1.x Date: 2017-03-04T17:52:52+01:00 Author: Timo Stollenwerk (tisto) <stollenwerk@kitconcept.com> Commit: plone/plone.testing@3b221f1 Use virtualenv's `--python` option to not having to rely on `virtualenv-2.7` to exist. Files changed: M Makefile Repository: plone.testing Branch: refs/heads/4.1.x Date: 2017-03-04T18:11:33+01:00 Author: Timo Stollenwerk (tisto) <tisto@users.noreply.github.com> Commit: plone/plone.testing@90556e8 Merge pull request #29 from witsch/testing-fixes Testing fixes Files changed: A .travis.yml A Makefile M buildout.cfg M tox.ini
mister-roboto
pushed a commit
that referenced
this pull request
Mar 4, 2017
Branch: refs/heads/4.1.x Date: 2017-03-03T18:04:39+01:00 Author: Andreas Zeidler (witsch) <az@zitc.de> Commit: plone/plone.testing@3835e49 Fix the buildout by using (a working version of) Zope 2.13. Files changed: M buildout.cfg Repository: plone.testing Branch: refs/heads/4.1.x Date: 2017-03-03T18:05:05+01:00 Author: Andreas Zeidler (witsch) <az@zitc.de> Commit: plone/plone.testing@5c5f5de Add convenience `Makefile` to run the tests. Files changed: A Makefile M buildout.cfg Repository: plone.testing Branch: refs/heads/4.1.x Date: 2017-03-03T18:10:00+01:00 Author: Andreas Zeidler (witsch) <az@zitc.de> Commit: plone/plone.testing@408df88 Fix `tox` configuration (by using buildout instead of pytest). Files changed: M tox.ini Repository: plone.testing Branch: refs/heads/4.1.x Date: 2017-03-03T18:15:54+01:00 Author: Florian Schulze (fschulze) <florian.schulze@gmx.net> Commit: plone/plone.testing@77952a4 Add .travis.yml. Files changed: A .travis.yml Repository: plone.testing Branch: refs/heads/4.1.x Date: 2017-03-04T17:52:52+01:00 Author: Timo Stollenwerk (tisto) <stollenwerk@kitconcept.com> Commit: plone/plone.testing@3b221f1 Use virtualenv's `--python` option to not having to rely on `virtualenv-2.7` to exist. Files changed: M Makefile Repository: plone.testing Branch: refs/heads/4.1.x Date: 2017-03-04T18:11:33+01:00 Author: Timo Stollenwerk (tisto) <tisto@users.noreply.github.com> Commit: plone/plone.testing@90556e8 Merge pull request #29 from witsch/testing-fixes Testing fixes Files changed: A .travis.yml A Makefile M buildout.cfg M tox.ini
mister-roboto
pushed a commit
that referenced
this pull request
Apr 14, 2017
Branch: refs/heads/master Date: 2017-04-15T00:44:13+02:00 Author: Norbert @ infoCatch (mtrebron) <norbert@infocatch.com> Commit: plone/plone.app.contentrules@f104e9f Ensure error message is an unicode object and not utf-8 bytestring Files changed: M CHANGES.rst M plone/app/contentrules/actions/workflow.py Repository: plone.app.contentrules Branch: refs/heads/master Date: 2017-04-15T01:48:25+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.app.contentrules@05dffda Merge pull request #29 from plone/mtrebron-unicode Ensure error message is an unicode object and not utf-8 bytestring Files changed: M CHANGES.rst M plone/app/contentrules/actions/workflow.py
mister-roboto
pushed a commit
that referenced
this pull request
Apr 14, 2017
Branch: refs/heads/master Date: 2017-04-15T00:44:13+02:00 Author: Norbert @ infoCatch (mtrebron) <norbert@infocatch.com> Commit: plone/plone.app.contentrules@f104e9f Ensure error message is an unicode object and not utf-8 bytestring Files changed: M CHANGES.rst M plone/app/contentrules/actions/workflow.py Repository: plone.app.contentrules Branch: refs/heads/master Date: 2017-04-15T01:48:25+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.app.contentrules@05dffda Merge pull request #29 from plone/mtrebron-unicode Ensure error message is an unicode object and not utf-8 bytestring Files changed: M CHANGES.rst M plone/app/contentrules/actions/workflow.py
mister-roboto
pushed a commit
that referenced
this pull request
Sep 4, 2017
Branch: refs/heads/master Date: 2017-09-01T17:29:38+02:00 Author: Slavisa Karalic (karalics) <slavisa.karalic@gmail.com> Commit: plone/plone.formwidget.namedfile@bc590de Fixing potential UnicodeError Files changed: M CHANGES.rst M plone/formwidget/namedfile/converter.py Repository: plone.formwidget.namedfile Branch: refs/heads/master Date: 2017-09-04T11:55:38+02:00 Author: Tom Gross (tomgross) <itconsense@gmail.com> Commit: plone/plone.formwidget.namedfile@879a536 Merge pull request #29 from karalics/master Fixing potential UnicodeError Files changed: M CHANGES.rst M plone/formwidget/namedfile/converter.py
mister-roboto
pushed a commit
that referenced
this pull request
Oct 10, 2017
Branch: refs/heads/master Date: 2017-10-09T19:15:38+03:00 Author: Asko Soukka (datakurre) <asko.soukka@iki.fi> Commit: plone/plone.autoform@f069b17 Add handler registration for text input widgets to support e.g. 'placeholder' parameter in parameterized widgets Files changed: M plone/autoform/configure.zcml M plone/autoform/tests/test_supermodel_handler.py M plone/autoform/widgets.py Repository: plone.autoform Branch: refs/heads/master Date: 2017-10-09T19:16:46+03:00 Author: Asko Soukka (datakurre) <asko.soukka@iki.fi> Commit: plone/plone.autoform@d61da6d Update changelog Files changed: M CHANGES.rst Repository: plone.autoform Branch: refs/heads/master Date: 2017-10-10T09:19:33+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.autoform@123eff1 Merge pull request #29 from plone/datakurre-parameterized Add handler registration for text input widgets to support e.g. 'placeholder' parameter in parametrized widgets Files changed: M CHANGES.rst M plone/autoform/configure.zcml M plone/autoform/tests/test_supermodel_handler.py M plone/autoform/widgets.py
mister-roboto
pushed a commit
that referenced
this pull request
Nov 30, 2017
Branch: refs/heads/master Date: 2017-11-30T23:51:24+01:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/Products.PlonePAS@920115d Report home_page as empty when it is suspicious. It may for example contain javascript. Part of PloneHotfix20171128. Files changed: M CHANGES.rst M src/Products/PlonePAS/tests/test_membershiptool.py M src/Products/PlonePAS/tools/membership.py Repository: Products.PlonePAS Branch: refs/heads/master Date: 2017-12-01T00:43:25+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/Products.PlonePAS@0fb5346 Merge pull request #29 from plone/plone-hotfix20171128-home-page-master Report home_page as empty when it is suspicious. [master] Files changed: M CHANGES.rst M src/Products/PlonePAS/tests/test_membershiptool.py M src/Products/PlonePAS/tools/membership.py
mister-roboto
pushed a commit
that referenced
this pull request
Jan 27, 2018
Branch: refs/heads/master Date: 2018-01-25T11:24:31+01:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/plone.app.registry@cfd1303 Python 2 / 3 compatible imports Files changed: M CHANGES.rst M plone/app/registry/exportimport/handler.py M plone/app/registry/tests/test_exportimport.py Repository: plone.app.registry Branch: refs/heads/master Date: 2018-01-27T21:46:28+01:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/plone.app.registry@3f437e0 Merge pull request #29 from plone/python3 Python 2 / 3 compatible imports Files changed: M CHANGES.rst M plone/app/registry/exportimport/handler.py M plone/app/registry/tests/test_exportimport.py
mister-roboto
pushed a commit
that referenced
this pull request
Jan 27, 2018
Branch: refs/heads/master Date: 2018-01-25T11:24:31+01:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/plone.app.registry@cfd1303 Python 2 / 3 compatible imports Files changed: M CHANGES.rst M plone/app/registry/exportimport/handler.py M plone/app/registry/tests/test_exportimport.py Repository: plone.app.registry Branch: refs/heads/master Date: 2018-01-27T21:46:28+01:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/plone.app.registry@3f437e0 Merge pull request #29 from plone/python3 Python 2 / 3 compatible imports Files changed: M CHANGES.rst M plone/app/registry/exportimport/handler.py M plone/app/registry/tests/test_exportimport.py
mister-roboto
pushed a commit
that referenced
this pull request
May 2, 2018
Branch: refs/heads/master Date: 2018-04-13T12:55:33+02:00 Author: Tom Gross (tomgross) <itconsense@gmail.com> Commit: plone/plone.outputfilters@d6bf906 Resolve UIDs with host Files changed: M CHANGES.rst M plone/outputfilters/filters/resolveuid_and_caption.py M plone/outputfilters/tests/test_resolveuid_and_caption.py Repository: plone.outputfilters Branch: refs/heads/master Date: 2018-04-24T07:17:18Z Author: Tom Gross (tomgross) <itconsense@gmail.com> Commit: plone/plone.outputfilters@b3d1512 Remove redundant code Files changed: M plone/outputfilters/filters/resolveuid_and_caption.py Repository: plone.outputfilters Branch: refs/heads/master Date: 2018-05-02T16:33:26+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.outputfilters@1dfb70a Merge pull request #29 from plone/tg_resolve_host_uids Resolve UIDs with host Files changed: M CHANGES.rst M plone/outputfilters/filters/resolveuid_and_caption.py M plone/outputfilters/tests/test_resolveuid_and_caption.py
mister-roboto
pushed a commit
that referenced
this pull request
May 2, 2018
Branch: refs/heads/master Date: 2018-04-13T12:55:33+02:00 Author: Tom Gross (tomgross) <itconsense@gmail.com> Commit: plone/plone.outputfilters@d6bf906 Resolve UIDs with host Files changed: M CHANGES.rst M plone/outputfilters/filters/resolveuid_and_caption.py M plone/outputfilters/tests/test_resolveuid_and_caption.py Repository: plone.outputfilters Branch: refs/heads/master Date: 2018-04-24T07:17:18Z Author: Tom Gross (tomgross) <itconsense@gmail.com> Commit: plone/plone.outputfilters@b3d1512 Remove redundant code Files changed: M plone/outputfilters/filters/resolveuid_and_caption.py Repository: plone.outputfilters Branch: refs/heads/master Date: 2018-05-02T16:33:26+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.outputfilters@1dfb70a Merge pull request #29 from plone/tg_resolve_host_uids Resolve UIDs with host Files changed: M CHANGES.rst M plone/outputfilters/filters/resolveuid_and_caption.py M plone/outputfilters/tests/test_resolveuid_and_caption.py
mister-roboto
pushed a commit
that referenced
this pull request
May 2, 2018
Branch: refs/heads/master Date: 2018-04-13T12:55:33+02:00 Author: Tom Gross (tomgross) <itconsense@gmail.com> Commit: plone/plone.outputfilters@d6bf906 Resolve UIDs with host Files changed: M CHANGES.rst M plone/outputfilters/filters/resolveuid_and_caption.py M plone/outputfilters/tests/test_resolveuid_and_caption.py Repository: plone.outputfilters Branch: refs/heads/master Date: 2018-04-24T07:17:18Z Author: Tom Gross (tomgross) <itconsense@gmail.com> Commit: plone/plone.outputfilters@b3d1512 Remove redundant code Files changed: M plone/outputfilters/filters/resolveuid_and_caption.py Repository: plone.outputfilters Branch: refs/heads/master Date: 2018-05-02T16:33:26+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.outputfilters@1dfb70a Merge pull request #29 from plone/tg_resolve_host_uids Resolve UIDs with host Files changed: M CHANGES.rst M plone/outputfilters/filters/resolveuid_and_caption.py M plone/outputfilters/tests/test_resolveuid_and_caption.py
mister-roboto
pushed a commit
that referenced
this pull request
Aug 2, 2018
Branch: refs/heads/master Date: 2018-05-09T09:15:14+02:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/plone.app.textfield@62b2ca0 fix transform for py3 Files changed: M plone/app/textfield/transform.py Repository: plone.app.textfield Branch: refs/heads/master Date: 2018-05-25T15:39:31+02:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/plone.app.textfield@cc4d28d in py3 always output text and send text to transforms Files changed: M plone/app/textfield/transform.py M plone/app/textfield/value.py Repository: plone.app.textfield Branch: refs/heads/master Date: 2018-05-25T15:39:53+02:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/plone.app.textfield@d3834a0 fix most tests in py3 Files changed: M plone/app/textfield/field.rst M plone/app/textfield/handler.rst M plone/app/textfield/marshaler.py M plone/app/textfield/marshaler.rst M plone/app/textfield/tests.py Repository: plone.app.textfield Branch: refs/heads/master Date: 2018-07-02T12:07:12+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.textfield@e1ebf17 more Python3 compat Files changed: M plone/app/textfield/marshaler.py M plone/app/textfield/marshaler.rst M plone/app/textfield/tests.py Repository: plone.app.textfield Branch: refs/heads/master Date: 2018-07-02T15:39:04+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.textfield@1debc39 docs Files changed: M CHANGES.rst M README.rst Repository: plone.app.textfield Branch: refs/heads/master Date: 2018-07-02T15:46:01+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.textfield@002c531 remove self-contained buildout left overs Files changed: D bootstrap.py D buildout.cfg Repository: plone.app.textfield Branch: refs/heads/master Date: 2018-07-31T13:31:06+02:00 Author: Peter Mathis (petschki) <peter.mathis@kombinat.at> Commit: plone/plone.app.textfield@839c4f9 Merge branch 'master' into python3 Files changed: M CHANGES.rst M plone/app/textfield/transform.py Repository: plone.app.textfield Branch: refs/heads/master Date: 2018-08-01T11:17:45+02:00 Author: Peter Mathis (petschki) <peter.mathis@kombinat.at> Commit: plone/plone.app.textfield@04351bf fix doctests Files changed: M CHANGES.rst M plone/app/textfield/marshaler.rst Repository: plone.app.textfield Branch: refs/heads/master Date: 2018-08-02T16:42:35+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.textfield@0c8a1fd Merge pull request #29 from plone/python3 Python3 Files changed: M CHANGES.rst M README.rst M plone/app/textfield/field.rst M plone/app/textfield/handler.rst M plone/app/textfield/marshaler.py M plone/app/textfield/marshaler.rst M plone/app/textfield/tests.py M plone/app/textfield/transform.py M plone/app/textfield/value.py D bootstrap.py D buildout.cfg
mister-roboto
pushed a commit
that referenced
this pull request
Oct 5, 2018
Branch: refs/heads/master Date: 2018-10-04T17:51:35+02:00 Author: Manuel Reinhardt (reinhardt) <reinhardt@syslab.com> Commit: plone/Products.CMFPlacefulWorkflow@ee0ded6 Replaced usages of my_worklist.py skin script which is going to be removed. Files changed: A news/28.feature M Products/CMFPlacefulWorkflow/tests/testCMFPlacefulWorkflow.py Repository: Products.CMFPlacefulWorkflow Branch: refs/heads/master Date: 2018-10-05T14:45:00+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/Products.CMFPlacefulWorkflow@50542da Merge pull request #29 from plone/1801-remove-my-worklist Replaced usages of my_worklist.py skin script Files changed: A news/28.feature M Products/CMFPlacefulWorkflow/tests/testCMFPlacefulWorkflow.py
mister-roboto
pushed a commit
that referenced
this pull request
Jan 7, 2019
Branch: refs/heads/master Date: 2019-01-02T00:56:52+01:00 Author: Gil Forcada (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.resource@8cc5a20 chore: fix import warnings Files changed: M plone/resource/directory.py M plone/resource/events.py M plone/resource/testing.py M plone/resource/tests/test_traversal.py Repository: plone.resource Branch: refs/heads/master Date: 2019-01-02T00:57:39+01:00 Author: Gil Forcada (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.resource@20c1cc8 feat: close iterator to avoid a ResourceWarning Files changed: M plone/resource/tests/test_file.py Repository: plone.resource Branch: refs/heads/master Date: 2019-01-02T00:58:22+01:00 Author: Gil Forcada (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.resource@1750b8e chore: use a context manager Rather than explicitly closing the object. Files changed: M plone/resource/tests/test_file.py Repository: plone.resource Branch: refs/heads/master Date: 2019-01-02T00:59:10+01:00 Author: Gil Forcada (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.resource@aae5329 Update CHANGES Files changed: M CHANGES.rst Repository: plone.resource Branch: refs/heads/master Date: 2019-01-07T11:05:31+01:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.resource@4fff2e0 Merge pull request #29 from plone/fix-warnings Fix warnings Files changed: M CHANGES.rst M plone/resource/directory.py M plone/resource/events.py M plone/resource/testing.py M plone/resource/tests/test_file.py M plone/resource/tests/test_traversal.py
mister-roboto
pushed a commit
that referenced
this pull request
Jun 19, 2019
Branch: refs/heads/master Date: 2019-06-18T17:43:18+02:00 Author: Davi Lima (davilima6) <davilima6@gmail.com> Commit: plone/plone.staticresources@c3af8f3 Add information about entry points; also improve text to be more compact Files changed: M README.rst Repository: plone.staticresources Branch: refs/heads/master Date: 2019-06-18T17:52:51+02:00 Author: Davi Lima (davilima6) <davilima6@gmail.com> Commit: plone/plone.staticresources@9568085 Rewrap lines to 120 chars max Recommended max is 130 but 120 is a more common default, including in Prettier Files changed: M README.rst Repository: plone.staticresources Branch: refs/heads/master Date: 2019-06-18T19:33:05+02:00 Author: Davi Lima (davilima6) <davilima6@gmail.com> Commit: plone/plone.staticresources@0fd7012 Reorder sections to prioritise the workflow (how to bring changes from mockup to plone.staticresources) Files changed: M README.rst Repository: plone.staticresources Branch: refs/heads/master Date: 2019-06-19T15:06:32+02:00 Author: Davi Lima (davilima6) <davilima6@gmail.com> Commit: plone/plone.staticresources@a251177 Fix Documentation Linting guidelines Files changed: M README.rst Repository: plone.staticresources Branch: refs/heads/master Date: 2019-06-19T15:22:05+02:00 Author: Johannes Raggam (thet) <thetetet@gmail.com> Commit: plone/plone.staticresources@a67dad3 Merge pull request #29 from plone/improve_docs Improve docs: add information about entry points Files changed: M README.rst
mister-roboto
pushed a commit
that referenced
this pull request
Oct 30, 2019
Branch: refs/heads/master Date: 2019-10-26T13:43:54+02:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.releaser@34ae7ba Fixed adding some package versions twice when releasing. When releasing a package with a version pin in `[versions:python27]` this pin would correctly get updated, but an extra pin added at the bottom. Fixes plone/plone.releaser#24 Files changed: A news/24.bugfix M plone/releaser/buildout.py Repository: plone.releaser Branch: refs/heads/master Date: 2019-10-30T14:45:45+01:00 Author: Maurits van Rees (mauritsvanrees) <m.van.rees@zestsoftware.nl> Commit: plone/plone.releaser@fd804bb Merge pull request #29 from plone/maurits/issue-24-double-python27-versions Fixed adding some package versions twice when releasing. Files changed: A news/24.bugfix M plone/releaser/buildout.py
mister-roboto
pushed a commit
that referenced
this pull request
Oct 30, 2019
Branch: refs/heads/master Date: 2019-10-26T13:43:54+02:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.releaser@34ae7ba Fixed adding some package versions twice when releasing. When releasing a package with a version pin in `[versions:python27]` this pin would correctly get updated, but an extra pin added at the bottom. Fixes plone/plone.releaser#24 Files changed: A news/24.bugfix M plone/releaser/buildout.py Repository: plone.releaser Branch: refs/heads/master Date: 2019-10-30T14:45:45+01:00 Author: Maurits van Rees (mauritsvanrees) <m.van.rees@zestsoftware.nl> Commit: plone/plone.releaser@fd804bb Merge pull request #29 from plone/maurits/issue-24-double-python27-versions Fixed adding some package versions twice when releasing. Files changed: A news/24.bugfix M plone/releaser/buildout.py
mister-roboto
pushed a commit
that referenced
this pull request
Feb 17, 2020
Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Florian Schulze (fschulze) <florian.schulze@gmx.net> Commit: plone/plone.scale@0754dca New ``mode`` argument replacing ``direction``. Files changed: A news/29.feature M CHANGES.rst M plone/scale/scale.py M plone/scale/tests/test_scale.py M plone/scale/tests/test_storage.py Repository: plone.scale Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Florian Schulze (fschulze) <florian.schulze@gmx.net> Commit: plone/plone.scale@59f51f6 Restore 'keep' scaling mode. Too many plone packages still use it. Files changed: M plone/scale/scale.py M plone/scale/tests/test_scale.py Repository: plone.scale Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Florian Schulze (fschulze) <florian.schulze@gmx.net> Commit: plone/plone.scale@4ece9b5 Don't turn warnings into errors, this seems to leak into other Plone tests. Files changed: M plone/scale/tests/test_scale.py M plone/scale/tests/test_storage.py Repository: plone.scale Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Johannes Raggam (thet) <thetetet@gmail.com> Commit: plone/plone.scale@a3010bb Do not deprecate old direction/mode names. Simply support all of them. This change is only to not introduce unnecessary migration work and people might be used to the old confusing names. Anyone who gets confused by the names can just use the new ones from PR #29. Files changed: M CHANGES.rst M plone/scale/scale.py M plone/scale/tests/test_scale.py Repository: plone.scale Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Florian Schulze (fschulze) <mail@florian-schulze.net> Commit: plone/plone.scale@8d6ccb1 Fix deprecation tests by reseting the warnings registry. Files changed: M plone/scale/tests/test_scale.py Repository: plone.scale Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Florian Schulze (fschulze) <mail@florian-schulze.net> Commit: plone/plone.scale@542c7d8 Added ``calculate_scaled_dimensions`` function to calculate sizes from bare values without actually scaling an image. Files changed: A news/37.feature M plone/scale/scale.py Repository: plone.scale Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Johannes Raggam (thet) <thetetet@gmail.com> Commit: plone/plone.scale@7cae9ad Add failing test to prove @mauritsvanrees comment https://github.com/plone/plone.scale/pull/36/files#r377915411 right Files changed: M plone/scale/tests/test_scale.py Repository: plone.scale Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Johannes Raggam (thet) <thetetet@gmail.com> Commit: plone/plone.scale@0326149 Fix documentation of scaling modes to match it's behavior. Files changed: A news/39.hotfix M plone/scale/scale.py M plone/scale/tests/test_scale.py Repository: plone.scale Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Johannes Raggam (thet) <thetetet@gmail.com> Commit: plone/plone.scale@b442814 Double test image scales to in testModes to prevent rounding differences btw. Py3/Py2 Files changed: M plone/scale/tests/test_scale.py
mister-roboto
pushed a commit
that referenced
this pull request
Feb 17, 2020
Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Florian Schulze (fschulze) <florian.schulze@gmx.net> Commit: plone/plone.scale@0754dca New ``mode`` argument replacing ``direction``. Files changed: A news/29.feature M CHANGES.rst M plone/scale/scale.py M plone/scale/tests/test_scale.py M plone/scale/tests/test_storage.py Repository: plone.scale Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Florian Schulze (fschulze) <florian.schulze@gmx.net> Commit: plone/plone.scale@59f51f6 Restore 'keep' scaling mode. Too many plone packages still use it. Files changed: M plone/scale/scale.py M plone/scale/tests/test_scale.py Repository: plone.scale Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Florian Schulze (fschulze) <florian.schulze@gmx.net> Commit: plone/plone.scale@4ece9b5 Don't turn warnings into errors, this seems to leak into other Plone tests. Files changed: M plone/scale/tests/test_scale.py M plone/scale/tests/test_storage.py Repository: plone.scale Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Johannes Raggam (thet) <thetetet@gmail.com> Commit: plone/plone.scale@a3010bb Do not deprecate old direction/mode names. Simply support all of them. This change is only to not introduce unnecessary migration work and people might be used to the old confusing names. Anyone who gets confused by the names can just use the new ones from PR #29. Files changed: M CHANGES.rst M plone/scale/scale.py M plone/scale/tests/test_scale.py Repository: plone.scale Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Florian Schulze (fschulze) <mail@florian-schulze.net> Commit: plone/plone.scale@8d6ccb1 Fix deprecation tests by reseting the warnings registry. Files changed: M plone/scale/tests/test_scale.py Repository: plone.scale Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Florian Schulze (fschulze) <mail@florian-schulze.net> Commit: plone/plone.scale@542c7d8 Added ``calculate_scaled_dimensions`` function to calculate sizes from bare values without actually scaling an image. Files changed: A news/37.feature M plone/scale/scale.py Repository: plone.scale Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Johannes Raggam (thet) <thetetet@gmail.com> Commit: plone/plone.scale@7cae9ad Add failing test to prove @mauritsvanrees comment https://github.com/plone/plone.scale/pull/36/files#r377915411 right Files changed: M plone/scale/tests/test_scale.py Repository: plone.scale Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Johannes Raggam (thet) <thetetet@gmail.com> Commit: plone/plone.scale@0326149 Fix documentation of scaling modes to match it's behavior. Files changed: A news/39.hotfix M plone/scale/scale.py M plone/scale/tests/test_scale.py Repository: plone.scale Branch: refs/heads/master Date: 2020-02-17T17:59:24+01:00 Author: Johannes Raggam (thet) <thetetet@gmail.com> Commit: plone/plone.scale@b442814 Double test image scales to in testModes to prevent rounding differences btw. Py3/Py2 Files changed: M plone/scale/tests/test_scale.py
mister-roboto
pushed a commit
that referenced
this pull request
Jul 9, 2020
Branch: refs/heads/master Date: 2020-07-08T16:03:03+02:00 Author: Vincent Fretin (vincentfretin) <vincent.fretin@gmail.com> Commit: plone/plone.app.contentmenu@b56dc02 Fix review state icon position in toolbar when the user doesn't have the permission to change the review state. Files changed: A news/29.bugfix M plone/app/contentmenu/contentmenu.pt Repository: plone.app.contentmenu Branch: refs/heads/master Date: 2020-07-09T10:17:31+02:00 Author: Vincent Fretin (vincentfretin) <vincent.fretin@gmail.com> Commit: plone/plone.app.contentmenu@b786ef8 Merge pull request #29 from plone/fix-toolbar-state fix state icon position in toolbar when no permission Files changed: A news/29.bugfix M plone/app/contentmenu/contentmenu.pt
mister-roboto
pushed a commit
that referenced
this pull request
Jul 9, 2020
Branch: refs/heads/master Date: 2020-07-08T16:03:03+02:00 Author: Vincent Fretin (vincentfretin) <vincent.fretin@gmail.com> Commit: plone/plone.app.contentmenu@b56dc02 Fix review state icon position in toolbar when the user doesn't have the permission to change the review state. Files changed: A news/29.bugfix M plone/app/contentmenu/contentmenu.pt Repository: plone.app.contentmenu Branch: refs/heads/master Date: 2020-07-09T10:17:31+02:00 Author: Vincent Fretin (vincentfretin) <vincent.fretin@gmail.com> Commit: plone/plone.app.contentmenu@b786ef8 Merge pull request #29 from plone/fix-toolbar-state fix state icon position in toolbar when no permission Files changed: A news/29.bugfix M plone/app/contentmenu/contentmenu.pt
mister-roboto
pushed a commit
that referenced
this pull request
Mar 2, 2021
Branch: refs/heads/1.1.x Date: 2021-03-01T15:41:42+01:00 Author: Peter Holzer (agitator) <peter.holzer@agitator.com> Commit: plone/plone.batching@db3d656 cherry pick changes from plone/plone.batching#26 Files changed: A news/26.feature M plone/batching/browser.py Repository: plone.batching Branch: refs/heads/1.1.x Date: 2021-03-02T11:25:29+01:00 Author: Maurits van Rees (mauritsvanrees) <m.van.rees@zestsoftware.nl> Commit: plone/plone.batching@9f2b54b Merge pull request #29 from plone/1.1.x-req-params-from-parent-req cherry pick changes from plone/plone.batching#26 Files changed: A news/26.feature M plone/batching/browser.py
mister-roboto
pushed a commit
that referenced
this pull request
Mar 2, 2021
Branch: refs/heads/1.1.x Date: 2021-03-01T15:41:42+01:00 Author: Peter Holzer (agitator) <peter.holzer@agitator.com> Commit: plone/plone.batching@db3d656 cherry pick changes from plone/plone.batching#26 Files changed: A news/26.feature M plone/batching/browser.py Repository: plone.batching Branch: refs/heads/1.1.x Date: 2021-03-02T11:25:29+01:00 Author: Maurits van Rees (mauritsvanrees) <m.van.rees@zestsoftware.nl> Commit: plone/plone.batching@9f2b54b Merge pull request #29 from plone/1.1.x-req-params-from-parent-req cherry pick changes from plone/plone.batching#26 Files changed: A news/26.feature M plone/batching/browser.py
mister-roboto
pushed a commit
that referenced
this pull request
Dec 22, 2021
Branch: refs/heads/master Date: 2021-12-22T10:56:38+01:00 Author: Peter Mathis (petschki) <peter.mathis@kombinat.at> Commit: plone/plone.app.debugtoolbar@5354e86 Fix missing zcml directive when plone.app.standardtiles is installed fixes #18 Files changed: A news/18.bugfix M src/plone/app/debugtoolbar/browser/configure.zcml Repository: plone.app.debugtoolbar Branch: refs/heads/master Date: 2021-12-22T15:00:50+01:00 Author: Peter Mathis (petschki) <petschki@users.noreply.github.com> Commit: plone/plone.app.debugtoolbar@39712c5 Merge pull request #29 from plone/issue-18 Fix missing zcml directive when plone.app.standardtiles is installed Files changed: A news/18.bugfix M src/plone/app/debugtoolbar/browser/configure.zcml
mister-roboto
pushed a commit
that referenced
this pull request
Dec 22, 2021
Branch: refs/heads/master Date: 2021-12-22T10:56:38+01:00 Author: Peter Mathis (petschki) <peter.mathis@kombinat.at> Commit: plone/plone.app.debugtoolbar@5354e86 Fix missing zcml directive when plone.app.standardtiles is installed fixes #18 Files changed: A news/18.bugfix M src/plone/app/debugtoolbar/browser/configure.zcml Repository: plone.app.debugtoolbar Branch: refs/heads/master Date: 2021-12-22T15:00:50+01:00 Author: Peter Mathis (petschki) <petschki@users.noreply.github.com> Commit: plone/plone.app.debugtoolbar@39712c5 Merge pull request #29 from plone/issue-18 Fix missing zcml directive when plone.app.standardtiles is installed Files changed: A news/18.bugfix M src/plone/app/debugtoolbar/browser/configure.zcml
mister-roboto
pushed a commit
that referenced
this pull request
Feb 9, 2023
Branch: refs/heads/master Date: 2023-02-09T14:16:12+01:00 Author: ale-rt (ale-rt) <alessandro.pisa@gmail.com> Commit: plone/plone.formwidget.recurrence@141f402 Add the news folder Files changed: A news/.gitkeep Repository: plone.formwidget.recurrence Branch: refs/heads/master Date: 2023-02-09T14:16:24+01:00 Author: ale-rt (ale-rt) <alessandro.pisa@gmail.com> Commit: plone/plone.formwidget.recurrence@ff96df0 Use plone.base Fixes #29 Files changed: A news/29.bugfix M plone/formwidget/recurrence/browser/json_recurrence.py M plone/formwidget/recurrence/configure.zcml M setup.py Repository: plone.formwidget.recurrence Branch: refs/heads/master Date: 2023-02-09T14:26:52+01:00 Author: ale-rt (ale-rt) <alessandro.pisa@gmail.com> Commit: plone/plone.formwidget.recurrence@5a9b76a Fix needed because of a new black version Files changed: M plone/formwidget/recurrence/tests/base.py Repository: plone.formwidget.recurrence Branch: refs/heads/master Date: 2023-02-09T16:22:56+01:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.formwidget.recurrence@40236e1 Merge pull request #30 from plone/plone-base Plone base Files changed: A news/.gitkeep A news/29.bugfix M plone/formwidget/recurrence/browser/json_recurrence.py M plone/formwidget/recurrence/configure.zcml M plone/formwidget/recurrence/tests/base.py M setup.py
mister-roboto
pushed a commit
that referenced
this pull request
Mar 6, 2023
Branch: refs/heads/main Date: 2023-03-06T11:06:22+01:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.base@cae106a move INavigationRoot from plone.app.layout to plone.base. part one to fix plone/Products.CMFPlone#3731 Files changed: A news/Plone-3731.bugfix M src/plone/base/interfaces/__init__.py M src/plone/base/interfaces/siteroot.py Repository: plone.base Branch: refs/heads/main Date: 2023-03-06T15:25:07+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.base@e5e8275 Merge pull request #29 from plone/fix-navigationroot-import move INavigationRoot from plone.app.layout to plone.base. Files changed: A news/Plone-3731.bugfix M src/plone/base/interfaces/__init__.py M src/plone/base/interfaces/siteroot.py
mister-roboto
pushed a commit
that referenced
this pull request
Apr 3, 2023
Branch: refs/heads/master Date: 2023-04-01T19:23:59+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.memoize@40e02f3 Configuring with plone/meta Files changed: A .editorconfig A .meta.toml A .pre-commit-config.yaml A news/93e1ab65.internal M pyproject.toml M setup.cfg M tox.ini Repository: plone.memoize Branch: refs/heads/master Date: 2023-04-01T19:23:59+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.memoize@1f1670d chore: pyupgrade Files changed: M plone/__init__.py M plone/memoize/__init__.py M plone/memoize/compress.py M plone/memoize/forever.py M plone/memoize/instance.py M plone/memoize/interfaces.py M plone/memoize/ram.py M plone/memoize/request.py M plone/memoize/tests.py M plone/memoize/view.py M plone/memoize/volatile.py M setup.py Repository: plone.memoize Branch: refs/heads/master Date: 2023-04-01T19:23:59+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.memoize@70f8345 chore: isort Files changed: M plone/memoize/request.py Repository: plone.memoize Branch: refs/heads/master Date: 2023-04-01T19:23:59+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.memoize@f8b0412 chore: black Files changed: M plone/memoize/request.py M plone/memoize/view.py M setup.py Repository: plone.memoize Branch: refs/heads/master Date: 2023-04-01T19:23:59+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.memoize@6c65d32 chore: zptlint Files changed: M plone/memoize/configure.zcml Repository: plone.memoize Branch: refs/heads/master Date: 2023-04-01T19:23:59+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.memoize@d0f888d feat: drop six dependency Files changed: M plone/memoize/ram.py M setup.py Repository: plone.memoize Branch: refs/heads/master Date: 2023-04-01T19:23:59+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.memoize@e46275d feat: codespell Files changed: M plone/memoize/view.rst Repository: plone.memoize Branch: refs/heads/master Date: 2023-04-01T19:23:59+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.memoize@164e08b feat: pyroma Files changed: M setup.py Repository: plone.memoize Branch: refs/heads/master Date: 2023-04-01T19:36:05+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.memoize@283d299 feat: python 3 only Files changed: M .github/workflows/tests.yml M setup.py M tox.ini Repository: plone.memoize Branch: refs/heads/master Date: 2023-04-01T19:37:17+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.memoize@769e029 feat: drop unused slimmer code Files changed: M plone/memoize/compress.py Repository: plone.memoize Branch: refs/heads/master Date: 2023-04-01T19:37:17+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.memoize@13d4336 feat: drop python 2 imports Files changed: M plone/memoize/instance.rst M plone/memoize/ram.py M plone/memoize/view.py M plone/memoize/view.rst Repository: plone.memoize Branch: refs/heads/master Date: 2023-04-01T19:37:17+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.memoize@a8ee438 feat: configure z3c.dependencychecker Files changed: M pyproject.toml Repository: plone.memoize Branch: refs/heads/master Date: 2023-04-01T19:37:17+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.memoize@e4318a8 feat: declare dependencies Files changed: M setup.py Repository: plone.memoize Branch: refs/heads/master Date: 2023-04-01T19:40:19+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.memoize@90ef733 fix(tox): install zope.testrunner for GHA Files changed: M tox.ini Repository: plone.memoize Branch: refs/heads/master Date: 2023-04-03T10:27:39+02:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.memoize@e39cd04 Configuring with plone/meta Files changed: M .gitignore M .meta.toml M setup.cfg M tox.ini D .coveragerc Repository: plone.memoize Branch: refs/heads/master Date: 2023-04-03T10:36:31+02:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.memoize@a2ba755 Merge pull request #29 from plone/config-with-default-template-6e0b2a46 Config with default template Files changed: A .editorconfig A .meta.toml A .pre-commit-config.yaml A news/93e1ab65.internal M .github/workflows/tests.yml M .gitignore M plone/__init__.py M plone/memoize/__init__.py M plone/memoize/compress.py M plone/memoize/configure.zcml M plone/memoize/forever.py M plone/memoize/instance.py M plone/memoize/instance.rst M plone/memoize/interfaces.py M plone/memoize/ram.py M plone/memoize/request.py M plone/memoize/tests.py M plone/memoize/view.py M plone/memoize/view.rst M plone/memoize/volatile.py M pyproject.toml M setup.cfg M setup.py M tox.ini D .coveragerc
mister-roboto
pushed a commit
that referenced
this pull request
Jul 14, 2023
Branch: refs/heads/master Date: 2023-05-19T17:01:00+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/Plone@d7528ac depend here on plone.app.discussion and turn it in a core addon Files changed: M setup.cfg Repository: Plone Branch: refs/heads/master Date: 2023-07-13T14:55:13+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/Plone@9e8d610 Merge branch 'master' into pa-discussion-core-addon Files changed: M CHANGES.md M CONTRIBUTING.md M setup.cfg Repository: Plone Branch: refs/heads/master Date: 2023-07-14T16:36:26+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/Plone@27dee80 Merge pull request #29 from plone/pa-discussion-core-addon depend here on plone.app.discussion and turn it in a core addon Files changed: M setup.cfg
mister-roboto
pushed a commit
that referenced
this pull request
Oct 12, 2024
Branch: refs/heads/master Date: 2024-10-07T21:25:24Z Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com> Commit: plone/plone.transformchain@5402d75 [pre-commit.ci] pre-commit autoupdate updates: - [github.com/psf/black: 24.8.0 → 24.10.0](psf/black@24.8.0...24.10.0) Files changed: M .pre-commit-config.yaml Repository: plone.transformchain Branch: refs/heads/master Date: 2024-10-13T00:13:21+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.transformchain@853079a Merge pull request #29 from plone/pre-commit-ci-update-config [pre-commit.ci] pre-commit autoupdate Files changed: M .pre-commit-config.yaml
mister-roboto
pushed a commit
that referenced
this pull request
Oct 12, 2024
Branch: refs/heads/master Date: 2024-10-07T21:25:24Z Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com> Commit: plone/plone.transformchain@5402d75 [pre-commit.ci] pre-commit autoupdate updates: - [github.com/psf/black: 24.8.0 → 24.10.0](psf/black@24.8.0...24.10.0) Files changed: M .pre-commit-config.yaml Repository: plone.transformchain Branch: refs/heads/master Date: 2024-10-13T00:13:21+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.transformchain@853079a Merge pull request #29 from plone/pre-commit-ci-update-config [pre-commit.ci] pre-commit autoupdate Files changed: M .pre-commit-config.yaml
mister-roboto
pushed a commit
that referenced
this pull request
Oct 12, 2024
Branch: refs/heads/master Date: 2024-10-07T21:23:57Z Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com> Commit: plone/plone.browserlayer@ecfc4f8 [pre-commit.ci] pre-commit autoupdate updates: - [github.com/psf/black: 24.8.0 → 24.10.0](psf/black@24.8.0...24.10.0) Files changed: M .pre-commit-config.yaml Repository: plone.browserlayer Branch: refs/heads/master Date: 2024-10-13T00:18:00+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.browserlayer@9a3b670 Merge pull request #29 from plone/pre-commit-ci-update-config [pre-commit.ci] pre-commit autoupdate Files changed: M .pre-commit-config.yaml
mister-roboto
pushed a commit
that referenced
this pull request
Oct 12, 2024
Branch: refs/heads/master Date: 2024-10-07T21:23:57Z Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com> Commit: plone/plone.browserlayer@ecfc4f8 [pre-commit.ci] pre-commit autoupdate updates: - [github.com/psf/black: 24.8.0 → 24.10.0](psf/black@24.8.0...24.10.0) Files changed: M .pre-commit-config.yaml Repository: plone.browserlayer Branch: refs/heads/master Date: 2024-10-13T00:18:00+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.browserlayer@9a3b670 Merge pull request #29 from plone/pre-commit-ci-update-config [pre-commit.ci] pre-commit autoupdate Files changed: M .pre-commit-config.yaml
mister-roboto
pushed a commit
that referenced
this pull request
Jan 21, 2025
Branch: refs/heads/master Date: 2025-01-20T22:19:34+01:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.theme@e2bc6a1 Fix DeprecationWarnings. Files changed: A news/4090.bugfix M plone/theme/README.rst Repository: plone.theme Branch: refs/heads/master Date: 2025-01-21T12:53:07+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.theme@86dd80a Merge pull request #29 from plone/maurits-warnings Fix DeprecationWarnings. Files changed: A news/4090.bugfix M plone/theme/README.rst
mister-roboto
pushed a commit
that referenced
this pull request
Jan 21, 2025
Branch: refs/heads/master Date: 2025-01-20T22:19:34+01:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.theme@e2bc6a1 Fix DeprecationWarnings. Files changed: A news/4090.bugfix M plone/theme/README.rst Repository: plone.theme Branch: refs/heads/master Date: 2025-01-21T12:53:07+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.theme@86dd80a Merge pull request #29 from plone/maurits-warnings Fix DeprecationWarnings. Files changed: A news/4090.bugfix M plone/theme/README.rst
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
eleddy, can you please merge this.