Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
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
0
Merge Requests
0
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
Paul Graydon
slapos.core
Commits
92129fcd
Commit
92129fcd
authored
Feb 14, 2024
by
Rafael Monnerat
Browse files
Options
Browse Files
Download
Plain Diff
General cleanup slapos erp5
See merge request
nexedi/slapos.core!603
parents
ba6cfec5
e309dcd8
Changes
28
Show whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
62 additions
and
964 deletions
+62
-964
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.SlapOSTestCaseMixin.py
...teItem/portal_components/test.erp5.SlapOSTestCaseMixin.py
+12
-4
master/bt5/slapos_configurator/TestTemplateItem/portal_components/test.erp5.testSlapOSConfigurator.py
...tem/portal_components/test.erp5.testSlapOSConfigurator.py
+26
-7
master/bt5/slapos_erp5/ExtensionTemplateItem/portal_components/extension.erp5.SlapOSLogin.py
...plateItem/portal_components/extension.erp5.SlapOSLogin.py
+0
-23
master/bt5/slapos_erp5/ExtensionTemplateItem/portal_components/extension.erp5.SlapOSLogin.xml
...lateItem/portal_components/extension.erp5.SlapOSLogin.xml
+3
-24
master/bt5/slapos_erp5/PortalTypePropertySheetTemplateItem/property_sheet_list.xml
...rtalTypePropertySheetTemplateItem/property_sheet_list.xml
+0
-3
master/bt5/slapos_erp5/PropertySheetTemplateItem/portal_property_sheets/CertificateAuthorityToolConsistencyConstraint/acl_users_slapos_machine_constraint.xml
...istencyConstraint/acl_users_slapos_machine_constraint.xml
+0
-80
master/bt5/slapos_erp5/PropertySheetTemplateItem/portal_property_sheets/OAuthToolDefaultSlapOSConnector.xml
...ortal_property_sheets/OAuthToolDefaultSlapOSConnector.xml
+0
-66
master/bt5/slapos_erp5/PropertySheetTemplateItem/portal_property_sheets/OAuthToolDefaultSlapOSConnector/FacebookConnector_existence_constraint.xml
...lapOSConnector/FacebookConnector_existence_constraint.xml
+0
-80
master/bt5/slapos_erp5/PropertySheetTemplateItem/portal_property_sheets/OAuthToolDefaultSlapOSConnector/GoogleConnector_existence_constraint.xml
...tSlapOSConnector/GoogleConnector_existence_constraint.xml
+0
-80
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_base/ERP5Login_isLoginBlocked.py
...Item/portal_skins/slapos_base/ERP5Login_isLoginBlocked.py
+0
-8
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_base/ERP5Login_isLoginBlocked.xml
...tem/portal_skins/slapos_base/ERP5Login_isLoginBlocked.xml
+0
-70
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_base/ERP5Login_isPasswordExpired.py
...m/portal_skins/slapos_base/ERP5Login_isPasswordExpired.py
+0
-8
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_base/ERP5Login_isPasswordExpired.xml
.../portal_skins/slapos_base/ERP5Login_isPasswordExpired.xml
+0
-70
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_base/Login_isLoginBlocked.py
...lateItem/portal_skins/slapos_base/Login_isLoginBlocked.py
+9
-0
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_base/Person_generatePassword.py
...eItem/portal_skins/slapos_base/Person_generatePassword.py
+0
-61
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_base/Person_generatePassword.xml
...Item/portal_skins/slapos_base/Person_generatePassword.xml
+0
-66
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_erp5/CertificateAuthorityTool_checkSlapOSMachineNonExistenceConsistency.py
...uthorityTool_checkSlapOSMachineNonExistenceConsistency.py
+0
-17
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_erp5/CertificateAuthorityTool_checkSlapOSMachineNonExistenceConsistency.xml
...thorityTool_checkSlapOSMachineNonExistenceConsistency.xml
+0
-62
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_erp5/Instance_migrateToERP5Login.xml
.../portal_skins/slapos_erp5/Instance_migrateToERP5Login.xml
+0
-28
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_erp5/OAuthTool_checkFacebookConnectorExistenceConsistency.py
...5/OAuthTool_checkFacebookConnectorExistenceConsistency.py
+0
-18
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_erp5/OAuthTool_checkFacebookConnectorExistenceConsistency.xml
.../OAuthTool_checkFacebookConnectorExistenceConsistency.xml
+0
-62
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_erp5/OAuthTool_checkGoogleConnectorExistenceConsistency.py
...rp5/OAuthTool_checkGoogleConnectorExistenceConsistency.py
+0
-18
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_erp5/OAuthTool_checkGoogleConnectorExistenceConsistency.xml
...p5/OAuthTool_checkGoogleConnectorExistenceConsistency.xml
+0
-62
master/bt5/slapos_erp5/TestTemplateItem/portal_components/test.erp5.testSlapOSAuthenticationPolicy.py
...al_components/test.erp5.testSlapOSAuthenticationPolicy.py
+3
-24
master/bt5/slapos_erp5/TestTemplateItem/portal_components/test.erp5.testSlapOSCodingStyle.py
...Item/portal_components/test.erp5.testSlapOSCodingStyle.py
+2
-12
master/bt5/slapos_erp5/bt/template_portal_type_property_sheet_list
...5/slapos_erp5/bt/template_portal_type_property_sheet_list
+0
-1
master/bt5/slapos_erp5/bt/template_property_sheet_id_list
master/bt5/slapos_erp5/bt/template_property_sheet_id_list
+6
-6
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_createUser.py
...os_subscription_request/SubscriptionRequest_createUser.py
+1
-4
No files found.
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.SlapOSTestCaseMixin.py
View file @
92129fcd
...
@@ -33,7 +33,7 @@ from Products.ERP5Type.tests.utils import createZODBPythonScript
...
@@ -33,7 +33,7 @@ from Products.ERP5Type.tests.utils import createZODBPythonScript
import
transaction
import
transaction
import
functools
import
functools
from
functools
import
wraps
from
functools
import
wraps
from
zLOG
import
LOG
,
INFO
def
changeSkin
(
skin_name
):
def
changeSkin
(
skin_name
):
def
decorator
(
func
):
def
decorator
(
func
):
...
@@ -193,12 +193,21 @@ class SlapOSTestCaseMixin(testSlapOSMixin):
...
@@ -193,12 +193,21 @@ class SlapOSTestCaseMixin(testSlapOSMixin):
return
custom_organisation
return
custom_organisation
def
_addERP5Login
(
self
,
document
,
**
kw
):
def
_addERP5Login
(
self
,
document
,
**
kw
):
if
document
.
getPortalType
()
==
"Person"
:
if
document
.
getPortalType
()
!=
"Person"
:
kw
[
"password"
]
=
document
.
Person_generatePassword
()
raise
ValueError
(
"Only Person supports add ERP5 Login"
)
login
=
document
.
newContent
(
login
=
document
.
newContent
(
portal_type
=
"ERP5 Login"
,
portal_type
=
"ERP5 Login"
,
reference
=
document
.
getReference
(),
reference
=
document
.
getReference
(),
**
kw
)
**
kw
)
for
_
in
range
(
5
):
try
:
login
.
setPassword
(
document
.
Person_generatePassword
())
break
except
ValueError
:
# Skip the generated password wasnt acceptable let it try again.
LOG
(
"SlapOSTextCaseMixin._addERP5Login"
,
INFO
,
"Set password failed, try few more times"
)
login
.
validate
()
login
.
validate
()
return
login
return
login
...
@@ -211,7 +220,6 @@ class SlapOSTestCaseMixin(testSlapOSMixin):
...
@@ -211,7 +220,6 @@ class SlapOSTestCaseMixin(testSlapOSMixin):
return
login
return
login
def
makePerson
(
self
,
new_id
=
None
,
index
=
True
,
user
=
True
):
def
makePerson
(
self
,
new_id
=
None
,
index
=
True
,
user
=
True
):
if
new_id
is
None
:
if
new_id
is
None
:
new_id
=
self
.
generateNewId
()
new_id
=
self
.
generateNewId
()
# Clone person document
# Clone person document
...
...
master/bt5/slapos_configurator/TestTemplateItem/portal_components/test.erp5.testSlapOSConfigurator.py
View file @
92129fcd
...
@@ -43,7 +43,8 @@ class TestSlapOSConfigurator(SlapOSTestCaseMixin):
...
@@ -43,7 +43,8 @@ class TestSlapOSConfigurator(SlapOSTestCaseMixin):
def
testConfiguredShacacheWebSite
(
self
):
def
testConfiguredShacacheWebSite
(
self
):
""" Make sure Shacache WebSite is setuped by Alarm
""" Make sure Shacache WebSite is setuped by Alarm
case we trust on promise outcome."""
case we trust on promise outcome, this checks:
WebSiteModule_checkShacacheConstraint """
self
.
assertEqual
(
self
.
portal
.
web_site_module
.
checkConsistency
(),
[])
self
.
assertEqual
(
self
.
portal
.
web_site_module
.
checkConsistency
(),
[])
def
testConfiguredCacheViaConstraint
(
self
):
def
testConfiguredCacheViaConstraint
(
self
):
...
@@ -54,7 +55,13 @@ class TestSlapOSConfigurator(SlapOSTestCaseMixin):
...
@@ -54,7 +55,13 @@ class TestSlapOSConfigurator(SlapOSTestCaseMixin):
def
testConfiguredConversionServerViaConstraint
(
self
):
def
testConfiguredConversionServerViaConstraint
(
self
):
""" Make sure Conversion Server was configured well,
""" Make sure Conversion Server was configured well,
invoking checkConsistency """
invoking checkConsistency """
self
.
assertEqual
(
self
.
portal
.
portal_preferences
.
checkConsistency
(),
[])
pref_tool
=
self
.
portal
.
portal_preferences
self
.
assertEqual
(
pref_tool
.
checkConsistency
(),
[])
# Check if configuration is properly set:
self
.
assertEqual
(
pref_tool
.
slapos_default_system_preference
.
SystemPreference_checkSystemPreferenceConsistency
(),
[])
def
testConfiguredCertificateAuthoringConstraint
(
self
):
def
testConfiguredCertificateAuthoringConstraint
(
self
):
"""Make sure Certificate Authoring was configured well,
"""Make sure Certificate Authoring was configured well,
...
@@ -81,9 +88,9 @@ class TestSlapOSConfigurator(SlapOSTestCaseMixin):
...
@@ -81,9 +88,9 @@ class TestSlapOSConfigurator(SlapOSTestCaseMixin):
self
.
assertEqual
([],
self
.
assertEqual
([],
self
.
portal
.
portal_templates
.
TemplateTool_checkBusinessApplicationToModuleConsistency
())
self
.
portal
.
portal_templates
.
TemplateTool_checkBusinessApplicationToModuleConsistency
())
def
test
ConfiguredConversionServer
(
self
):
def
test
_SystemPreference_checkConversionServerConsistency
(
self
):
""" Make sure Conversion Server (Cloudooo) is
""" Make sure Conversion Server (Cloudooo) is
well configured
"""
well configured
.
"""
# set preference
# set preference
preference_tool
=
self
.
portal
.
portal_preferences
preference_tool
=
self
.
portal
.
portal_preferences
conversion_url
=
[
"https://cloudooo.erp5.net/"
]
conversion_url
=
[
"https://cloudooo.erp5.net/"
]
...
@@ -111,10 +118,19 @@ class TestSlapOSConfigurator(SlapOSTestCaseMixin):
...
@@ -111,10 +118,19 @@ class TestSlapOSConfigurator(SlapOSTestCaseMixin):
""" Make sure portal_alarms is subscribed. """
""" Make sure portal_alarms is subscribed. """
self
.
assertTrue
(
self
.
portal
.
portal_alarms
.
isSubscribed
())
self
.
assertTrue
(
self
.
portal
.
portal_alarms
.
isSubscribed
())
def
test_TemplateTool_checkSlapOSPASConsistency
(
self
):
""" Ensure that PAS is configured after the configuration """
self
.
assertEqual
(
self
.
portal
.
portal_templates
.
TemplateTool_checkSlapOSPASConsistency
(),
[])
self
.
assertEqual
(
self
.
portal
.
portal_templates
.
TemplateTool_checkSlapOSPASConsistency
(),
[])
def
testInteractionDropped
(
self
):
def
testInteractionDropped
(
self
):
""" Make sure that no portal type uses interaction workflow for simulation """
""" Make sure that no portal type uses interaction workflow for simulation """
for
pt
in
self
.
portal
.
portal_types
.
objectValues
():
for
pt
in
self
.
portal
.
portal_types
.
objectValues
():
for
dropped_workflow
in
[
"delivery_movement_simulation_interaction_workflow"
,
for
dropped_workflow
in
[
"delivery_movement_simulation_interaction_workflow"
,
"delivery_simulation_interaction_workflow"
,
"delivery_simulation_interaction_workflow"
,
"open_order_simulation_interaction_workflow"
,
"open_order_simulation_interaction_workflow"
,
"open_order_path_simulation_interaction_workflow"
,
"open_order_path_simulation_interaction_workflow"
,
...
@@ -126,7 +142,7 @@ class TestSlapOSConfigurator(SlapOSTestCaseMixin):
...
@@ -126,7 +142,7 @@ class TestSlapOSConfigurator(SlapOSTestCaseMixin):
"Workflow %s still present on %s Portal Type (%s)"
%
\
"Workflow %s still present on %s Portal Type (%s)"
%
\
(
dropped_workflow
,
pt
,
pt
.
getTypeWorkflowList
()))
(
dropped_workflow
,
pt
,
pt
.
getTypeWorkflowList
()))
def
test
ModuleHasIdGeneratorByDa
y
(
self
):
def
test
_Module_checkSlapOSModuleIdGeneratorConsistenc
y
(
self
):
""" Ensure the Constraint sets appropriate id generator on all modules.
""" Ensure the Constraint sets appropriate id generator on all modules.
"""
"""
module_list
=
[
module
.
getId
()
for
module
in
self
.
portal
.
objectValues
()
module_list
=
[
module
.
getId
()
for
module
in
self
.
portal
.
objectValues
()
...
@@ -260,6 +276,9 @@ class TestSlapOSConfigurator(SlapOSTestCaseMixin):
...
@@ -260,6 +276,9 @@ class TestSlapOSConfigurator(SlapOSTestCaseMixin):
self
.
assertSameSet
(
module_list
,
expected_module_list
)
self
.
assertSameSet
(
module_list
,
expected_module_list
)
self
.
assertEqual
(
self
.
portal
.
portal_simulation
.
getIdGenerator
(),
"_generatePerDayId"
)
self
.
assertEqual
(
self
.
portal
.
portal_activities
.
getIdGenerator
(),
"_generatePerDayId"
)
def
testConfiguredBusinessTemplateList
(
self
):
def
testConfiguredBusinessTemplateList
(
self
):
""" Make sure Installed business Templates are
""" Make sure Installed business Templates are
what it is expected. """
what it is expected. """
...
...
master/bt5/slapos_erp5/ExtensionTemplateItem/portal_components/extension.erp5.SlapOSLogin.py
View file @
92129fcd
...
@@ -54,26 +54,3 @@ def Login_unrestrictedSearchPasswordEvent(self, REQUEST=None):
...
@@ -54,26 +54,3 @@ def Login_unrestrictedSearchPasswordEvent(self, REQUEST=None):
validation_state
=
'confirmed'
,
validation_state
=
'confirmed'
,
sort_on
=
((
'creation_date'
,
'DESC'
),
),
sort_on
=
((
'creation_date'
,
'DESC'
),
),
limit
=
1
)
limit
=
1
)
def
migrateInstanceToERP5Login
(
self
):
assert
self
.
getPortalType
()
in
(
'Compute Node'
,
'Software Instance'
)
reference
=
self
.
getReference
()
if
not
reference
:
# no user id and no login is required
return
if
not
(
self
.
hasUserId
()
or
self
.
getUserId
()
==
reference
):
self
.
setUserId
(
reference
)
if
len
(
self
.
objectValues
(
portal_type
=
[
"Certificate Login"
,
"ERP5 Login"
])):
# already migrated
return
login
=
self
.
newContent
(
portal_type
=
'Certificate Login'
,
reference
=
reference
,
)
login
.
validate
()
master/bt5/slapos_erp5/ExtensionTemplateItem/portal_components/extension.erp5.SlapOSLogin.xml
View file @
92129fcd
...
@@ -6,12 +6,6 @@
...
@@ -6,12 +6,6 @@
</pickle>
</pickle>
<pickle>
<pickle>
<dictionary>
<dictionary>
<item>
<key>
<string>
_recorded_property_dict
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<item>
<key>
<string>
default_reference
</string>
</key>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
SlapOSLogin
</string>
</value>
<value>
<string>
SlapOSLogin
</string>
</value>
...
@@ -55,28 +49,13 @@
...
@@ -55,28 +49,13 @@
<item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<key>
<string>
workflow_history
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
I
=
</string>
</persistent>
</value>
</value>
</item>
</item>
</dictionary>
</dictionary>
</pickle>
</pickle>
</record>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
</pickle>
...
@@ -89,7 +68,7 @@
...
@@ -89,7 +68,7 @@
<item>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
Q
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</string>
</persistent>
</value>
</value>
</item>
</item>
</dictionary>
</dictionary>
...
@@ -98,7 +77,7 @@
...
@@ -98,7 +77,7 @@
</dictionary>
</dictionary>
</pickle>
</pickle>
</record>
</record>
<record
id=
"
4"
aka=
"AAAAAAAAAAQ
="
>
<record
id=
"
3"
aka=
"AAAAAAAAAAM
="
>
<pickle>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
</pickle>
...
...
master/bt5/slapos_erp5/PortalTypePropertySheetTemplateItem/property_sheet_list.xml
View file @
92129fcd
...
@@ -17,9 +17,6 @@
...
@@ -17,9 +17,6 @@
<item>
Reference
</item>
<item>
Reference
</item>
<item>
Url
</item>
<item>
Url
</item>
</portal_type>
</portal_type>
<portal_type
id=
"OAuth Tool"
>
<item>
OAuthToolDefaultSlapOSConnector
</item>
</portal_type>
<portal_type
id=
"Organisation"
>
<portal_type
id=
"Organisation"
>
<item>
GeographicOrganisation
</item>
<item>
GeographicOrganisation
</item>
</portal_type>
</portal_type>
...
...
master/bt5/slapos_erp5/PropertySheetTemplateItem/portal_property_sheets/CertificateAuthorityToolConsistencyConstraint/acl_users_slapos_machine_constraint.xml
deleted
100644 → 0
View file @
ba6cfec5
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Script Constraint"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_identity_criterion
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_range_criterion
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
constraint_type/post_upgrade
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
acl_users_slapos_machine_constraint
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Script Constraint
</string>
</value>
</item>
<item>
<key>
<string>
script_id
</string>
</key>
<value>
<string>
CertificateAuthorityTool_checkSlapOSMachineNonExistenceConsistency
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_erp5/PropertySheetTemplateItem/portal_property_sheets/OAuthToolDefaultSlapOSConnector.xml
deleted
100644 → 0
View file @
ba6cfec5
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Property Sheet"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_count
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_mt_index
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_tree
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
OAuthToolDefaultSlapOSConnector
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Property Sheet
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"Length"
module=
"BTrees.Length"
/>
</pickle>
<pickle>
<int>
0
</int>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"OOBTree"
module=
"BTrees.OOBTree"
/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"OOBTree"
module=
"BTrees.OOBTree"
/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_erp5/PropertySheetTemplateItem/portal_property_sheets/OAuthToolDefaultSlapOSConnector/FacebookConnector_existence_constraint.xml
deleted
100644 → 0
View file @
ba6cfec5
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Script Constraint"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_identity_criterion
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_range_criterion
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
constraint_type/post_upgrade
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
FacebookConnector_existence_constraint
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Script Constraint
</string>
</value>
</item>
<item>
<key>
<string>
script_id
</string>
</key>
<value>
<string>
OAuthTool_checkFacebookConnectorExistenceConsistency
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_erp5/PropertySheetTemplateItem/portal_property_sheets/OAuthToolDefaultSlapOSConnector/GoogleConnector_existence_constraint.xml
deleted
100644 → 0
View file @
ba6cfec5
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Script Constraint"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_identity_criterion
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_range_criterion
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
constraint_type/post_upgrade
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
GoogleConnector_existence_constraint
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Script Constraint
</string>
</value>
</item>
<item>
<key>
<string>
script_id
</string>
</key>
<value>
<string>
OAuthTool_checkGoogleConnectorExistenceConsistency
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_base/ERP5Login_isLoginBlocked.py
deleted
100644 → 0
View file @
ba6cfec5
"""
Certificate Login isn't controlled by ERP5 itself
"""
if
context
.
getPassword
()
in
[
None
,
""
]:
return
False
return
context
.
Login_isLoginBlocked
()
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_base/ERP5Login_isLoginBlocked.xml
deleted
100644 → 0
View file @
ba6cfec5
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"PythonScript"
module=
"Products.PythonScripts.PythonScript"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_container
</string>
</key>
<value>
<string>
container
</string>
</value>
</item>
<item>
<key>
<string>
name_context
</string>
</key>
<value>
<string>
context
</string>
</value>
</item>
<item>
<key>
<string>
name_m_self
</string>
</key>
<value>
<string>
script
</string>
</value>
</item>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
_proxy_roles
</string>
</key>
<value>
<tuple>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
ERP5Login_isLoginBlocked
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_base/ERP5Login_isPasswordExpired.py
deleted
100644 → 0
View file @
ba6cfec5
"""
Certificate Login isn't controlled by ERP5 itself
"""
if
context
.
getPassword
()
in
[
None
,
""
]:
return
False
return
context
.
Login_isPasswordExpired
()
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_base/ERP5Login_isPasswordExpired.xml
deleted
100644 → 0
View file @
ba6cfec5
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"PythonScript"
module=
"Products.PythonScripts.PythonScript"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_container
</string>
</key>
<value>
<string>
container
</string>
</value>
</item>
<item>
<key>
<string>
name_context
</string>
</key>
<value>
<string>
context
</string>
</value>
</item>
<item>
<key>
<string>
name_m_self
</string>
</key>
<value>
<string>
script
</string>
</value>
</item>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
_proxy_roles
</string>
</key>
<value>
<tuple>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
ERP5Login_isPasswordExpired
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_base/Login_isLoginBlocked.py
View file @
92129fcd
...
@@ -2,6 +2,8 @@
...
@@ -2,6 +2,8 @@
Return true if user account is blocked.
Return true if user account is blocked.
"""
"""
from
DateTime
import
DateTime
from
DateTime
import
DateTime
from
erp5.component.module.Log
import
log
request
=
context
.
REQUEST
request
=
context
.
REQUEST
portal
=
context
.
getPortalObject
()
portal
=
context
.
getPortalObject
()
portal_preferences
=
portal
.
portal_preferences
portal_preferences
=
portal
.
portal_preferences
...
@@ -15,6 +17,13 @@ one_second = 1/24.0/60.0/60.0
...
@@ -15,6 +17,13 @@ one_second = 1/24.0/60.0/60.0
check_duration
=
portal_preferences
.
getPreferredAuthenticationFailureCheckDuration
()
check_duration
=
portal_preferences
.
getPreferredAuthenticationFailureCheckDuration
()
block_duration
=
portal_preferences
.
getPreferredAuthenticationFailureBlockDuration
()
block_duration
=
portal_preferences
.
getPreferredAuthenticationFailureBlockDuration
()
max_authentication_failures
=
portal_preferences
.
getPreferredMaxAuthenticationFailure
()
max_authentication_failures
=
portal_preferences
.
getPreferredMaxAuthenticationFailure
()
if
None
in
(
check_duration
,
block_duration
,
max_authentication_failures
):
log
(
'Login block is not working because authentication policy in system preference is not set properly.'
)
return
0
check_time
=
now
-
check_duration
*
one_second
check_time
=
now
-
check_duration
*
one_second
# some failures might be still unindexed
# some failures might be still unindexed
...
...
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_base/Person_generatePassword.py
deleted
100644 → 0
View file @
ba6cfec5
"""
This script generates a human readable random
password in the form 'word'+digits+'word'.
from http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/410076
parameters: number of 'characters' , number of 'digits'
Pradeep Kishore Gowda <pradeep at btbytes.com >
License : GPL
Date : 2005.April.15
Revision 1.2
ChangeLog:
1.1 - fixed typos
1.2 - renamed functions _apart & _npart to a_part & n_part as zope does not allow functions to
start with _
"""
import
string
,
random
vowel_list
=
[
'a'
,
'e'
,
'i'
,
'o'
,
'u'
]
consonant_list
=
[
a
for
a
in
string
.
ascii_lowercase
if
a
not
in
vowel_list
]
digit_list
=
string
.
digits
symbol_list
=
[
"$"
,
"-"
,
"_"
,
"&"
]
def
a_part
(
slen
):
ret
=
''
for
i
in
range
(
slen
):
if
i
%
2
==
0
:
randid
=
random
.
randint
(
0
,
20
)
#number of consonants
ret
+=
consonant_list
[
randid
]
else
:
randid
=
random
.
randint
(
0
,
4
)
#number of vowels
ret
+=
vowel_list
[
randid
]
return
ret
def
n_part
(
slen
):
ret
=
''
for
_
in
range
(
slen
):
randid
=
random
.
randint
(
0
,
9
)
#number of digits
ret
+=
digit_list
[
randid
]
return
ret
def
s_part
(
slen
):
ret
=
''
for
_
in
range
(
slen
):
randid
=
random
.
randint
(
0
,
3
)
#number of digits
ret
+=
symbol_list
[
randid
]
return
ret
fpl
=
alpha
/
2
if
alpha
%
2
:
fpl
=
int
(
alpha
/
2
)
+
1
lpl
=
alpha
-
fpl
begin
=
string
.
upper
(
a_part
(
fpl
))
mid
=
n_part
(
numeric
)
third
=
a_part
(
lpl
)
end
=
s_part
(
symbol
)
newpass
=
"%s%s%s%s"
%
(
begin
,
mid
,
third
,
end
)
return
newpass
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_base/Person_generatePassword.xml
deleted
100644 → 0
View file @
ba6cfec5
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"PythonScript"
module=
"Products.PythonScripts.PythonScript"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_container
</string>
</key>
<value>
<string>
container
</string>
</value>
</item>
<item>
<key>
<string>
name_context
</string>
</key>
<value>
<string>
context
</string>
</value>
</item>
<item>
<key>
<string>
name_m_self
</string>
</key>
<value>
<string>
script
</string>
</value>
</item>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
alpha=6, numeric=2, symbol=1
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
Person_generatePassword
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Generate human readable random password
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_erp5/CertificateAuthorityTool_checkSlapOSMachineNonExistenceConsistency.py
deleted
100644 → 0
View file @
ba6cfec5
portal
=
context
.
getPortalObject
()
acl_users
=
portal
.
acl_users
plugin_id
=
'slapos_machine'
error_list
=
[]
if
plugin_id
not
in
acl_users
.
plugins
.
getAllPlugins
(
plugin_type
=
'IExtractionPlugin'
)[
'active'
]:
error_list
.
append
(
'SlapOS Machine Authentication Plugin is desactive as %s/%s'
%
(
acl_users
.
getPath
(),
plugin_id
))
if
fixit
:
tag
=
'slapos_login_migration'
portal
.
portal_catalog
.
activate
(
tag
=
tag
,
activity
=
'SQLQueue'
).
searchAndActivate
(
portal_type
=
(
'Compute Node'
,
'Software Instance'
),
activate_kw
=
{
'tag'
:
tag
,
'priority'
:
6
},
method_id
=
'Instance_migrateToERP5Login'
,
)
getattr
(
acl_users
,
plugin_id
).
manage_activateInterfaces
([
'IExtractionPlugin'
])
return
error_list
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_erp5/CertificateAuthorityTool_checkSlapOSMachineNonExistenceConsistency.xml
deleted
100644 → 0
View file @
ba6cfec5
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"PythonScript"
module=
"Products.PythonScripts.PythonScript"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_container
</string>
</key>
<value>
<string>
container
</string>
</value>
</item>
<item>
<key>
<string>
name_context
</string>
</key>
<value>
<string>
context
</string>
</value>
</item>
<item>
<key>
<string>
name_m_self
</string>
</key>
<value>
<string>
script
</string>
</value>
</item>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
fixit=False
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
CertificateAuthorityTool_checkSlapOSMachineNonExistenceConsistency
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_erp5/Instance_migrateToERP5Login.xml
deleted
100644 → 0
View file @
ba6cfec5
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"ExternalMethod"
module=
"Products.ExternalMethod.ExternalMethod"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_function
</string>
</key>
<value>
<string>
migrateInstanceToERP5Login
</string>
</value>
</item>
<item>
<key>
<string>
_module
</string>
</key>
<value>
<string>
SlapOSLogin
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
Instance_migrateToERP5Login
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_erp5/OAuthTool_checkFacebookConnectorExistenceConsistency.py
deleted
100644 → 0
View file @
ba6cfec5
portal_oauth
=
context
.
portal_oauth
for
connector
in
portal_oauth
.
searchFolder
(
portal_type
=
"Facebook Connector"
):
if
connector
.
getReference
()
==
"default"
:
return
[]
if
fixit
:
system_preference
=
context
.
portal_preferences
.
getActiveSystemPreference
()
connector
=
portal_oauth
.
newContent
(
portal_type
=
"Facebook Connector"
,
reference
=
"default"
,
client_id
=
getattr
(
system_preference
,
"preferred_vifib_facebook_application_id"
,
None
),
secret_key
=
getattr
(
system_preference
,
"preferred_vifib_facebook_application_secret"
,
None
)
)
connector
.
validate
()
return
[]
return
[
"Default Facebook Connector is missing."
]
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_erp5/OAuthTool_checkFacebookConnectorExistenceConsistency.xml
deleted
100644 → 0
View file @
ba6cfec5
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"PythonScript"
module=
"Products.PythonScripts.PythonScript"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_container
</string>
</key>
<value>
<string>
container
</string>
</value>
</item>
<item>
<key>
<string>
name_context
</string>
</key>
<value>
<string>
context
</string>
</value>
</item>
<item>
<key>
<string>
name_m_self
</string>
</key>
<value>
<string>
script
</string>
</value>
</item>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
fixit=False
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
OAuthTool_checkFacebookConnectorExistenceConsistency
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_erp5/OAuthTool_checkGoogleConnectorExistenceConsistency.py
deleted
100644 → 0
View file @
ba6cfec5
portal_oauth
=
context
.
portal_oauth
for
connector
in
portal_oauth
.
searchFolder
(
portal_type
=
"Google Connector"
):
if
connector
.
getReference
()
==
"default"
:
return
[]
if
fixit
:
system_preference
=
context
.
portal_preferences
.
getActiveSystemPreference
()
connector
=
portal_oauth
.
newContent
(
portal_type
=
"Google Connector"
,
reference
=
"default"
,
client_id
=
getattr
(
system_preference
,
"preferred_vifib_google_application_id"
,
None
),
secret_key
=
getattr
(
system_preference
,
"preferred_vifib_google_application_secret"
,
None
)
)
connector
.
validate
()
return
[]
return
[
"Default Google Connector is missing."
]
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_erp5/OAuthTool_checkGoogleConnectorExistenceConsistency.xml
deleted
100644 → 0
View file @
ba6cfec5
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"PythonScript"
module=
"Products.PythonScripts.PythonScript"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_container
</string>
</key>
<value>
<string>
container
</string>
</value>
</item>
<item>
<key>
<string>
name_context
</string>
</key>
<value>
<string>
context
</string>
</value>
</item>
<item>
<key>
<string>
name_m_self
</string>
</key>
<value>
<string>
script
</string>
</value>
</item>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
fixit=False
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
OAuthTool_checkGoogleConnectorExistenceConsistency
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_erp5/TestTemplateItem/portal_components/test.erp5.testSlapOSAuthenticationPolicy.py
View file @
92129fcd
...
@@ -22,7 +22,6 @@
...
@@ -22,7 +22,6 @@
##############################################################################
##############################################################################
from
erp5.component.test.SlapOSTestCaseMixin
import
SlapOSTestCaseMixin
from
erp5.component.test.SlapOSTestCaseMixin
import
SlapOSTestCaseMixin
class
TestSlapOSAuthenticationPolicyL
(
SlapOSTestCaseMixin
):
class
TestSlapOSAuthenticationPolicyL
(
SlapOSTestCaseMixin
):
def
afterSetUp
(
self
):
def
afterSetUp
(
self
):
...
@@ -44,9 +43,9 @@ class TestSlapOSAuthenticationPolicyL(SlapOSTestCaseMixin):
...
@@ -44,9 +43,9 @@ class TestSlapOSAuthenticationPolicyL(SlapOSTestCaseMixin):
def
_getPasswordEventList
(
self
,
login
):
def
_getPasswordEventList
(
self
,
login
):
return
[
x
.
getObject
()
for
x
in
self
.
portal
.
portal_catalog
(
return
[
x
.
getObject
()
for
x
in
self
.
portal
.
portal_catalog
(
portal_type
=
'Password Event'
,
portal_type
=
'Password Event'
,
default_destination_uid
=
login
.
getUid
(),
default_destination_uid
=
login
.
getUid
(),
sort_on
=
((
'creation_date'
,
'DESC'
,),))]
sort_on
=
((
'creation_date'
,
'DESC'
,),))]
def
_notifyLoginFailureAboveMaximum
(
self
,
login
):
def
_notifyLoginFailureAboveMaximum
(
self
,
login
):
login
.
notifyLoginFailure
()
login
.
notifyLoginFailure
()
...
@@ -98,16 +97,6 @@ class TestSlapOSAuthenticationPolicyL(SlapOSTestCaseMixin):
...
@@ -98,16 +97,6 @@ class TestSlapOSAuthenticationPolicyL(SlapOSTestCaseMixin):
login
=
self
.
_test
(
document
,
login_portal_type
)
login
=
self
.
_test
(
document
,
login_portal_type
)
self
.
assertTrue
(
login
.
isLoginBlocked
())
self
.
assertTrue
(
login
.
isLoginBlocked
())
def
test_block_ERP5Login_without_password_on_person
(
self
):
person
=
self
.
makePerson
(
user
=
0
)
person
.
edit
(
first_name
=
"SOMENAME"
,
last_name
=
"LASTNAME"
)
self
.
_test_login_block_if_password_is_set
(
document
=
person
,
login_portal_type
=
"ERP5 Login"
)
def
test_block_CertificateLogin_without_password_on_person
(
self
):
def
test_block_CertificateLogin_without_password_on_person
(
self
):
person
=
self
.
makePerson
(
user
=
0
)
person
=
self
.
makePerson
(
user
=
0
)
person
.
edit
(
person
.
edit
(
...
@@ -202,16 +191,6 @@ class TestSlapOSAuthenticationPolicyL(SlapOSTestCaseMixin):
...
@@ -202,16 +191,6 @@ class TestSlapOSAuthenticationPolicyL(SlapOSTestCaseMixin):
self
.
_clearCache
()
self
.
_clearCache
()
self
.
assertFalse
(
login
.
isPasswordExpired
())
self
.
assertFalse
(
login
.
isPasswordExpired
())
def
test_expire_ERP5Login_without_password_on_person
(
self
):
person
=
self
.
makePerson
(
user
=
0
)
person
.
edit
(
first_name
=
"SOMENAME"
,
last_name
=
"LASTNAME"
)
self
.
_test_expire_when_passoword_is_set
(
document
=
person
,
login_portal_type
=
"ERP5 Login"
)
def
test_expire_CertificateLogin_without_password_on_person
(
self
):
def
test_expire_CertificateLogin_without_password_on_person
(
self
):
person
=
self
.
makePerson
(
user
=
0
)
person
=
self
.
makePerson
(
user
=
0
)
person
.
edit
(
person
.
edit
(
...
...
master/bt5/slapos_erp5/TestTemplateItem/portal_components/test.erp5.testSlapOSCodingStyle.py
View file @
92129fcd
...
@@ -230,6 +230,7 @@ def makeTestSlapOSCodingStyleTestCase(tested_business_template):
...
@@ -230,6 +230,7 @@ def makeTestSlapOSCodingStyleTestCase(tested_business_template):
'slapos_hal_json_style/ERP5Site_receiveGoogleCallback'
,
'slapos_hal_json_style/ERP5Site_receiveGoogleCallback'
,
'slapos_hal_json_style/Event_getAcknowledgementDict'
,
'slapos_hal_json_style/Event_getAcknowledgementDict'
,
'slapos_hal_json_style/InstanceTree_getConnectionParameterList'
,
'slapos_hal_json_style/InstanceTree_getConnectionParameterList'
,
'slapos_hal_json_style/InstanceTree_getMonitorParameterDict'
,
'slapos_hal_json_style/Item_getCurrentProjectTitle'
,
'slapos_hal_json_style/Item_getCurrentProjectTitle'
,
'slapos_hal_json_style/Item_getCurrentSiteTitle'
,
'slapos_hal_json_style/Item_getCurrentSiteTitle'
,
'slapos_hal_json_style/Login_edit'
,
'slapos_hal_json_style/Login_edit'
,
...
@@ -295,24 +296,13 @@ def makeTestSlapOSCodingStyleTestCase(tested_business_template):
...
@@ -295,24 +296,13 @@ def makeTestSlapOSCodingStyleTestCase(tested_business_template):
'slapos_disaster_recovery/ERP5Site_recoverFromRestoration'
,
'slapos_disaster_recovery/ERP5Site_recoverFromRestoration'
,
'slapos_disaster_recovery/ERP5Site_reindexOrUnindexDocumentList'
,
'slapos_disaster_recovery/ERP5Site_reindexOrUnindexDocumentList'
,
'slapos_disaster_recovery/ERP5Site_unindexDeletedDocumentList'
,
'slapos_disaster_recovery/ERP5Site_unindexDeletedDocumentList'
,
'slapos_base/ERP5Login_isLoginBlocked'
,
'slapos_base/ERP5Login_isPasswordExpired'
,
'slapos_base/Login_getFastExpirationReferenceList'
,
'slapos_base/Login_getFastExpirationReferenceList'
,
'slapos_base/Login_isLoginBlocked'
,
'slapos_base/Login_isLoginBlocked'
,
'slapos_base/Login_isPasswordExpired'
,
'slapos_base/Login_isPasswordExpired'
,
'slapos_base/Login_notifyPasswordExpire'
,
'slapos_base/Login_notifyPasswordExpire'
,
'slapos_base/Person_applyContractInvitation'
,
'slapos_base/Person_applyContractInvitation'
,
'slapos_base/ERP5Site_getAvailableOAuthLoginList'
,
'slapos_base/ERP5Site_getAvailableOAuthLoginList'
,
'slapos_erp5/CatalogTool_checkNoneCreationDateConsistency'
,
'slapos_erp5/CatalogTool_checkNoneCreationDateConsistency'
]
'slapos_erp5/CertificateAuthorityTool_checkCertificateAuthorityConsistency'
,
'slapos_erp5/CertificateAuthorityTool_checkSlapOSMachineNonExistenceConsistency'
,
'slapos_erp5/CertificateAuthorityTool_checkSlapOSPASConsistency'
,
'slapos_erp5/Module_checkSlapOSModuleIdGeneratorConsistency'
,
'slapos_erp5/OAuthTool_checkFacebookConnectorExistenceConsistency'
,
'slapos_erp5/OAuthTool_checkGoogleConnectorExistenceConsistency'
,
'slapos_erp5/WebSiteModule_checkShacacheConstraint'
,
'slapos_erp5/SystemPreference_checkConversionServerConsistency'
,
'slapos_erp5/SystemPreference_checkSystemPreferenceConsistency'
]
SlapOSTestCaseMixin
.
afterSetUp
(
self
)
SlapOSTestCaseMixin
.
afterSetUp
(
self
)
...
...
master/bt5/slapos_erp5/bt/template_portal_type_property_sheet_list
View file @
92129fcd
...
@@ -6,7 +6,6 @@ Contract Invitation Token | Url
...
@@ -6,7 +6,6 @@ Contract Invitation Token | Url
Id Tool | SlapOSModuleIdGeneratorConstraint
Id Tool | SlapOSModuleIdGeneratorConstraint
Invitation Token | Reference
Invitation Token | Reference
Invitation Token | Url
Invitation Token | Url
OAuth Tool | OAuthToolDefaultSlapOSConnector
Organisation | GeographicOrganisation
Organisation | GeographicOrganisation
Template Tool | TemplateToolBusinessApplicationModuleCategoryConstraint
Template Tool | TemplateToolBusinessApplicationModuleCategoryConstraint
Web Site Module | WebSiteModuleShacacheConstraint
Web Site Module | WebSiteModuleShacacheConstraint
\ No newline at end of file
master/bt5/slapos_erp5/bt/template_property_sheet_id_list
View file @
92129fcd
PreferenceSlapOSConstraintPreference
CatalogToolNoneCreationDateConstraint
CertificateAuthorityToolConsistencyConstraint
CertificateAuthorityToolConsistencyConstraint
SlapOSModuleIdGeneratorConstraint
GeographicOrganisation
GeographicOrganisation
WebSiteModuleShacacheConstraint
PreferenceSlapOSConstraintPreference
ShacacheSystemPreference
ShacacheSystemPreference
OAuthToolDefaultSlapOSConnector
SlapOSModuleIdGeneratorConstraint
CatalogToolNoneCreationDateConstraint
TemplateToolBusinessApplicationModuleCategoryConstraint
TemplateToolBusinessApplicationModuleCategoryConstraint
TemplateToolPASConsistencyConstraint
WebSiteModuleShacacheConstraint
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_createUser.py
View file @
92129fcd
...
@@ -28,13 +28,10 @@ for role in ['member', 'subscriber']:
...
@@ -28,13 +28,10 @@ for role in ['member', 'subscriber']:
title
=
'%s Assignment'
%
(
role
.
capitalize
()),
title
=
'%s Assignment'
%
(
role
.
capitalize
()),
role
=
role
).
open
(
comment
=
"Created by Subscription Request"
)
role
=
role
).
open
(
comment
=
"Created by Subscription Request"
)
password
=
list
(
""
.
join
([
context
.
Person_generatePassword
(
15
,
5
,
4
)
for
_
in
range
(
random
.
randint
(
2
,
4
))]))
random
.
shuffle
(
password
)
login
=
person
.
newContent
(
login
=
person
.
newContent
(
portal_type
=
"ERP5 Login"
,
portal_type
=
"ERP5 Login"
,
reference
=
"%s-FIRST-SUBSCRIBER-LOGIN"
%
person
.
getUserId
(),
reference
=
"%s-FIRST-SUBSCRIBER-LOGIN"
%
person
.
getUserId
(),
password
=
""
.
join
(
password
))
password
=
context
.
Person_generatePassword
(
))
login
.
validate
()
login
.
validate
()
...
...
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