Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Boxiang Sun
erp5
Commits
62d8d3ac
Commit
62d8d3ac
authored
Dec 09, 2016
by
Vincent Pelletier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use PAS API: take 2.
parent
882f0022
Changes
16
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
41 additions
and
42 deletions
+41
-42
bt5/erp5_banking_core/SkinTemplateItem/portal_skins/erp5_banking_core/Baobab_getUserAssignment.py
...ortal_skins/erp5_banking_core/Baobab_getUserAssignment.py
+1
-1
bt5/erp5_deferred_style/SkinTemplateItem/portal_skins/erp5_deferred_style/Base_activateSimpleView.py
...rtal_skins/erp5_deferred_style/Base_activateSimpleView.py
+3
-4
bt5/erp5_deferred_style/SkinTemplateItem/portal_skins/erp5_deferred_style_core/Base_activateReport.py
...tal_skins/erp5_deferred_style_core/Base_activateReport.py
+3
-3
product/ERP5/Tool/NotificationTool.py
product/ERP5/Tool/NotificationTool.py
+13
-14
product/ERP5/tests/testAccounting_l10n_fr.py
product/ERP5/tests/testAccounting_l10n_fr.py
+3
-2
product/ERP5/tests/testQueryModule.py
product/ERP5/tests/testQueryModule.py
+2
-2
product/ERP5/tests/testTask.py
product/ERP5/tests/testTask.py
+2
-2
product/ERP5/tests/testTaskReportDivergence.py
product/ERP5/tests/testTaskReportDivergence.py
+1
-1
product/ERP5/tests/testZODBHistory.py
product/ERP5/tests/testZODBHistory.py
+1
-1
product/ERP5Form/tests/testGUIwithSecurity.py
product/ERP5Form/tests/testGUIwithSecurity.py
+1
-1
product/ERP5OOo/tests/testDeferredStyle.py
product/ERP5OOo/tests/testDeferredStyle.py
+2
-2
product/ERP5OOo/tests/testDms.py
product/ERP5OOo/tests/testDms.py
+1
-1
product/ERP5Security/ERP5KeyAuthPlugin.py
product/ERP5Security/ERP5KeyAuthPlugin.py
+5
-5
product/ERP5Security/tests/testERP5Security.py
product/ERP5Security/tests/testERP5Security.py
+1
-1
product/ERP5Type/tests/ERP5TypeTestCase.py
product/ERP5Type/tests/ERP5TypeTestCase.py
+1
-1
product/ERP5Type/tests/testDynamicClassGeneration.py
product/ERP5Type/tests/testDynamicClassGeneration.py
+1
-1
No files found.
bt5/erp5_banking_core/SkinTemplateItem/portal_skins/erp5_banking_core/Baobab_getUserAssignment.py
View file @
62d8d3ac
if
user_id
is
None
:
person
=
context
.
portal_membership
.
getAuthenticatedMember
().
getUserValue
()
else
:
person_list
=
[
x
for
x
in
context
.
acl_users
.
searchUsers
(
login
=
user_id
,
exact_match
=
True
)
if
'path'
in
x
]
person_list
=
[
x
for
x
in
context
.
acl_users
.
searchUsers
(
id
=
user_id
,
exact_match
=
True
)
if
'path'
in
x
]
if
person_list
:
person
,
=
person_list
person
=
context
.
getPortalObject
().
restrictedTraverse
(
person
[
'path'
])
...
...
bt5/erp5_deferred_style/SkinTemplateItem/portal_skins/erp5_deferred_style/Base_activateSimpleView.py
View file @
62d8d3ac
...
...
@@ -7,7 +7,8 @@ skin_name = request.get('deferred_portal_skin', portal.portal_skins.getDefaultSk
tag
=
'active-report-wrapped-%s'
%
random
.
randint
(
0
,
1000
)
priority
=
3
person_value
=
portal
.
ERP5Site_getAuthenticatedMemberPersonValue
()
user
=
portal
.
portal_membership
.
getAuthenticatedMember
()
person_value
=
user
.
getUserValue
()
if
person_value
is
None
:
portal
.
changeSkin
(
None
)
return
context
.
Base_redirect
(
'view'
,
keep_items
=
dict
(
...
...
@@ -20,8 +21,6 @@ if person_value.getDefaultEmailText('') in ('', None):
portal_status_message
=
translateString
(
"You haven't defined your email address"
)))
user_name
=
person_value
.
getReference
()
# save request parameters
# XXX we exclude some reserved names in a very ad hoc way
request_form
=
{}
...
...
@@ -62,7 +61,7 @@ activity_context.activate(
skin_name
=
skin_name
,
request_form
=
request_form
,
deferred_style_dialog_method
=
deferred_style_dialog_method
,
user_name
=
user
_name
,
user_name
=
user
.
getId
()
,
params
=
params
,
)
...
...
bt5/erp5_deferred_style/SkinTemplateItem/portal_skins/erp5_deferred_style_core/Base_activateReport.py
View file @
62d8d3ac
...
...
@@ -3,7 +3,8 @@ request = container.REQUEST
portal
=
context
.
getPortalObject
()
N_
=
portal
.
Base_translateString
person_value
=
portal
.
ERP5Site_getAuthenticatedMemberPersonValue
()
user
=
portal
.
portal_membership
.
getAuthenticatedMember
()
person_value
=
user
.
getUserValue
()
if
person_value
is
None
:
portal
.
changeSkin
(
None
)
return
context
.
Base_redirect
(
'view'
,
keep_items
=
dict
(
...
...
@@ -15,7 +16,6 @@ if person_value.getDefaultEmailText('') in ('', None):
portal_status_message
=
N_
(
"You haven't defined your email address"
)))
user_name
=
person_value
.
getReference
()
tag
=
'active-report-%s'
%
random
.
randint
(
0
,
1000
)
priority
=
2
format
=
request
.
get
(
'format'
,
''
)
...
...
@@ -43,7 +43,7 @@ context.activate(activity="SQLQueue", tag=tag, after_tag=after_tag,
priority
=
priority
).
Base_computeReportSection
(
form
=
form
.
getId
(),
request_other
=
request_other
,
user_name
=
user
_name
,
user_name
=
user
.
getId
(),
tag
=
tag
,
skin_name
=
skin_name
,
format
=
format
,
...
...
product/ERP5/Tool/NotificationTool.py
View file @
62d8d3ac
...
...
@@ -245,10 +245,9 @@ class NotificationTool(BaseTool):
This method provides only high-level functionality so that you can't use email address
for sender and recipient, or raw data for attachments.
sender -- a
login name(reference of Person document) or a Person
document
sender -- a
user id or a user
document
recipient -- a login name(reference of Person document) or a Person document,
a list of thereof
recipient -- a user id or a user document, or a list thereof
subject -- the subject of the message
...
...
@@ -282,14 +281,13 @@ class NotificationTool(BaseTool):
event_keyword_argument_dict -- additional keyword arguments which is used for
constructor of event document.
portal_type_list -- Portal Type of Users
TODO: support default notification email
"""
portal
=
self
.
getPortalObject
()
catalog_tool
=
getToolByName
(
self
,
'portal_catalog'
)
if
portal_type_list
is
None
:
portal_type_list
=
(
'Person'
,)
searchUsers
=
self
.
acl_users
.
searchUsers
def
getUserValueByUserId
(
user_id
):
user
,
=
searchUsers
(
id
=
user_id
,
exact_match
=
True
)
return
portal
.
restrictedTraverse
(
user
[
'path'
])
if
notifier_list
is
None
:
# XXX TODO: Use priority_level. Need to implement default notifier query system.
...
...
@@ -304,8 +302,7 @@ class NotificationTool(BaseTool):
# Find "From" Person
from_person
=
None
if
isinstance
(
sender
,
basestring
):
sender
=
catalog_tool
.
getResultValue
(
portal_type
=
portal_type_list
,
reference
=
sender
)
sender
=
getUserValueByUserId
(
sender
)
if
sender
is
not
None
:
email_value
=
sender
.
getDefaultEmailValue
()
if
email_value
is
not
None
and
email_value
.
asText
():
...
...
@@ -313,15 +310,17 @@ class NotificationTool(BaseTool):
# Find "To" Person list
to_person_list
=
[]
# XXX: evaluating a document as boolean is bad, as __bool__ may be
# overloaded to (for example) return False if there are no children (which
# would have unintended effects here).
if
recipient
:
if
not
isinstance
(
recipient
,
(
list
,
tuple
)):
recipient
=
(
recipient
,)
recipient
=
(
recipient
,
)
for
person
in
recipient
:
if
isinstance
(
person
,
basestring
):
person_value
=
catalog_tool
.
getResultValue
(
portal_type
=
portal_type_list
,
reference
=
person
)
person_value
=
getUserValueByUserId
(
person
)
if
person_value
is
None
:
raise
ValueError
(
"Can't find
person document which reference is '%s'"
%
person
)
raise
ValueError
(
"Can't find
user with id %r"
%
(
person
,
)
)
person
=
person_value
to_person_list
.
append
(
person
)
...
...
product/ERP5/tests/testAccounting_l10n_fr.py
View file @
62d8d3ac
...
...
@@ -74,7 +74,8 @@ class TestAccounting_l10n_fr(AccountingTestCase):
def
createUserAndlogin
(
self
,
name
=
username
):
# create a user with an email address
person_module
=
self
.
portal
.
person_module
if
person_module
.
_getOb
(
'pers'
,
None
)
is
None
:
person
=
person_module
.
_getOb
(
'pers'
,
None
)
if
person
is
None
:
person
=
person_module
.
newContent
(
id
=
'pers'
,
portal_type
=
'Person'
,
reference
=
self
.
username
,
first_name
=
self
.
first_name
,
...
...
@@ -85,7 +86,7 @@ class TestAccounting_l10n_fr(AccountingTestCase):
uf
=
self
.
portal
.
acl_users
uf
.
zodb_roles
.
assignRoleToPrincipal
(
'Assignor'
,
self
.
username
)
user
=
uf
.
getUser
ById
(
self
.
username
).
__of__
(
uf
)
user
=
uf
.
getUser
(
self
.
username
).
__of__
(
uf
)
newSecurityManager
(
None
,
user
)
def
test_FEC
(
self
):
...
...
product/ERP5/tests/testQueryModule.py
View file @
62d8d3ac
...
...
@@ -99,8 +99,8 @@ class TestQueryModule(ERP5TypeTestCase):
assignment
.
validate
()
self
.
tic
()
uf
=
self
.
portal
.
acl_users
owner_user
=
uf
.
getUser
(
'owner_user'
).
__of__
(
uf
)
question_user
=
uf
.
getUser
(
'question_user'
).
__of__
(
uf
)
owner_user
=
uf
.
getUser
ById
(
'owner_user'
).
__of__
(
uf
)
question_user
=
uf
.
getUser
ById
(
'question_user'
).
__of__
(
uf
)
# add Author local roles on person and query modules
self
.
portal
.
person_module
.
manage_setLocalRoles
(
'owner_user'
,
[
'Author'
])
...
...
product/ERP5/tests/testTask.py
View file @
62d8d3ac
...
...
@@ -127,7 +127,7 @@ class TestTaskMixin:
# def stepLogin(self, **kw):
# portal = self.getPortal()
# uf = portal.acl_users
# if not uf.getUser('dummy'):
# if not uf.getUser
ById
('dummy'):
# uf._doAddUser('manager', '', ['Manager'], [])
# self.login('manager')
# person_module = portal.getDefaultModule(self.person_portal_type)
...
...
@@ -718,7 +718,7 @@ class TestTask(TestTaskMixin, ERP5TypeTestCase):
simulation_tool
=
self
.
getPortal
().
portal_simulation
uf
=
self
.
getPortal
().
acl_users
if
not
uf
.
getUser
(
'manager'
):
if
not
uf
.
getUser
ById
(
'manager'
):
uf
.
_doAddUser
(
'manager'
,
''
,
[
'Manager'
],
[])
self
.
login
(
'manager'
)
try
:
...
...
product/ERP5/tests/testTaskReportDivergence.py
View file @
62d8d3ac
...
...
@@ -99,7 +99,7 @@ class TestTaskReportDivergenceMixin(TestTaskMixin, SecurityTestCase):
simulation_tool
=
portal
.
portal_simulation
rule_tool
=
portal
.
portal_rules
uf
=
self
.
getPortal
().
acl_users
if
not
uf
.
getUser
(
'manager'
):
if
not
uf
.
getUser
ById
(
'manager'
):
uf
.
_doAddUser
(
'manager'
,
''
,
[
'Manager'
],
[])
self
.
login
(
'manager'
)
simulation_tool
.
Base_setDefaultSecurity
()
...
...
product/ERP5/tests/testZODBHistory.py
View file @
62d8d3ac
...
...
@@ -73,7 +73,7 @@ class TestZODBHistory(ERP5TypeTestCase):
def
addUser
(
self
,
user_name
,
role
=
[
'Member'
,
'Owner'
,
'Assignor'
]):
""" Create a test user."""
uf
=
self
.
portal
.
acl_users
if
not
uf
.
getUser
(
user_name
):
if
not
uf
.
getUser
ById
(
user_name
):
uf
.
_doAddUser
(
user_name
,
''
,
role
,
[])
def
_clearCache
(
self
):
...
...
product/ERP5Form/tests/testGUIwithSecurity.py
View file @
62d8d3ac
...
...
@@ -61,7 +61,7 @@ class TestGUISecurity(ERP5TypeTestCase):
def
loginAs
(
self
,
id
=
'user'
):
uf
=
self
.
getPortal
().
acl_users
user
=
uf
.
getUser
ById
(
id
).
__of__
(
uf
)
user
=
uf
.
getUser
(
id
).
__of__
(
uf
)
newSecurityManager
(
None
,
user
)
def
stepCreateObjects
(
self
,
sequence
=
None
,
sequence_list
=
None
,
**
kw
):
...
...
product/ERP5OOo/tests/testDeferredStyle.py
View file @
62d8d3ac
...
...
@@ -72,8 +72,8 @@ class TestDeferredStyle(ERP5TypeTestCase, ZopeTestCase.Functional):
def
loginAsUser
(
self
,
username
):
uf
=
self
.
portal
.
acl_users
u
f
.
zodb_roles
.
assignRoleToPrincipal
(
'Manager'
,
username
)
u
ser
=
uf
.
getUserById
(
username
).
__of__
(
uf
)
u
ser
=
uf
.
getUser
(
username
).
__of__
(
uf
)
u
f
.
zodb_roles
.
assignRoleToPrincipal
(
'Manager'
,
user
.
getId
()
)
newSecurityManager
(
None
,
user
)
def
test_skin_selection
(
self
):
...
...
product/ERP5OOo/tests/testDms.py
View file @
62d8d3ac
...
...
@@ -2090,7 +2090,7 @@ return 1
"""
# Create a root level zope user
root_user_folder
=
self
.
getPortalObject
().
aq_parent
.
acl_users
if
not
root_user_folder
.
getUser
(
'zope_user'
):
if
not
root_user_folder
.
getUser
ById
(
'zope_user'
):
root_user_folder
.
_doAddUser
(
'zope_user'
,
''
,
[
'Manager'
,],
[])
self
.
commit
()
# Create document with good content
...
...
product/ERP5Security/ERP5KeyAuthPlugin.py
View file @
62d8d3ac
...
...
@@ -335,15 +335,15 @@ class ERP5KeyAuthPlugin(ERP5UserManager, CookieAuthHelper):
return
None
#Search the user by his login
user
_list
=
self
.
getUserByLogin
(
login
)
if
len
(
user_list
)
!=
1
:
user
=
self
.
getUser
(
login
)
if
user
is
None
:
raise
_AuthenticationFailure
()
user
=
user_list
[
0
]
user
_value
=
user
.
getUserValue
()
if
True
:
try
:
# get assignment list
assignment_list
=
[
x
for
x
in
user
.
contentValues
(
portal_type
=
"Assignment"
)
\
assignment_list
=
[
x
for
x
in
user
_value
.
contentValues
(
portal_type
=
"Assignment"
)
\
if
x
.
getValidationState
()
==
"open"
]
valid_assignment_list
=
[]
# check dates if exist
...
...
@@ -359,7 +359,7 @@ class ERP5KeyAuthPlugin(ERP5UserManager, CookieAuthHelper):
# validate
if
len
(
valid_assignment_list
)
>
0
:
return
(
login
,
login
)
return
(
user
.
getId
(),
user
.
getUserName
()
)
finally
:
pass
...
...
product/ERP5Security/tests/testERP5Security.py
View file @
62d8d3ac
...
...
@@ -115,7 +115,7 @@ class TestUserManagement(ERP5TypeTestCase):
from
Products.PluggableAuthService.interfaces.plugins
import
\
IAuthenticationPlugin
uf
=
self
.
getUserFolder
()
self
.
assertNotEquals
(
uf
.
getUser
ById
(
login
,
None
),
None
)
self
.
assertNotEquals
(
uf
.
getUser
(
login
),
None
)
for
plugin_name
,
plugin
in
uf
.
_getOb
(
'plugins'
).
listPlugins
(
IAuthenticationPlugin
):
if
plugin
.
authenticateCredentials
(
...
...
product/ERP5Type/tests/ERP5TypeTestCase.py
View file @
62d8d3ac
...
...
@@ -260,7 +260,7 @@ class ERP5TypeTestCaseMixin(ProcessingNodeTestCase, PortalTestCase):
'''Creates the default user.'''
uf
=
self
.
portal
.
acl_users
# do nothing if the user already exists
if
not
uf
.
getUser
(
user_name
):
if
not
uf
.
getUser
ById
(
user_name
):
uf
.
_doAddUser
(
user_name
,
'secret'
,
[
'Member'
],
[])
def
_setUpDummyMailHost
(
self
):
...
...
product/ERP5Type/tests/testDynamicClassGeneration.py
View file @
62d8d3ac
...
...
@@ -1419,7 +1419,7 @@ class _TestZodbComponent(SecurityTestCase):
otherwise it should not be importable at all
"""
uf
=
self
.
portal
.
acl_users
if
not
uf
.
getUser
(
'ERP5TypeTestCase_NonDeveloper'
):
if
not
uf
.
getUser
ById
(
'ERP5TypeTestCase_NonDeveloper'
):
uf
.
_doAddUser
(
'ERP5TypeTestCase_NonDeveloper'
,
''
,
[
'Manager'
,
'Member'
,
'Assignee'
,
'Assignor'
,
'Author'
,
'Auditor'
,
'Associate'
],
[])
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment