Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
erp5_workflow
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
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wenjie.zheng
erp5_workflow
Commits
8df1f143
Commit
8df1f143
authored
Apr 05, 2013
by
Julien Muchembled
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ERP5Form: fix name of newly-created selections for listboxes that are not rendered in HTML
parent
4327a7db
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
35 additions
and
32 deletions
+35
-32
product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_updateListboxSelection.xml
...em/portal_skins/erp5_core/Base_updateListboxSelection.xml
+6
-7
product/ERP5/bootstrap/erp5_core/bt/revision
product/ERP5/bootstrap/erp5_core/bt/revision
+1
-1
product/ERP5Form/ListBox.py
product/ERP5Form/ListBox.py
+5
-3
product/ERP5Form/PlanningBox.py
product/ERP5Form/PlanningBox.py
+2
-1
product/ERP5Form/Report.py
product/ERP5Form/Report.py
+2
-1
product/ERP5Form/Selection.py
product/ERP5Form/Selection.py
+4
-4
product/ERP5Form/Tool/SelectionTool.py
product/ERP5Form/Tool/SelectionTool.py
+5
-7
product/ERP5Form/ZGDChart.py
product/ERP5Form/ZGDChart.py
+1
-1
product/ERP5Form/ZPyChart.py
product/ERP5Form/ZPyChart.py
+1
-1
product/ERP5Form/tests/testListBox.py
product/ERP5Form/tests/testListBox.py
+2
-2
product/ERP5Form/tests/testSelectionTool.py
product/ERP5Form/tests/testSelectionTool.py
+4
-2
product/ERP5OOo/tests/testOOoStyle.py
product/ERP5OOo/tests/testOOoStyle.py
+2
-2
No files found.
product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_updateListboxSelection.xml
View file @
8df1f143
...
@@ -50,14 +50,13 @@
...
@@ -50,14 +50,13 @@
</item>
</item>
<item>
<item>
<key>
<string>
_body
</string>
</key>
<key>
<string>
_body
</string>
</key>
<value>
<string>
selection_name = context.REQUEST.get(\'list_selection_name\', None
)\n
<value>
<string>
portal = context.getPortalObject(
)\n
listbox_uid =context.REQUEST.get(\'listbox_uid\', None)
\n
get = portal.REQUEST.get
\n
uids = context.REQUEST.get(\'uids\', None
)\n
selection_name = get(\'list_selection_name\'
)\n
\n
\n
if selection_name is not None:\n
if isinstance(selection_name, basestring):\n
context.portal_selections.updateSelectionCheckedUidList(listbox_uid = listbox_uid,\n
portal.portal_selections.updateSelectionCheckedUidList(\n
uids=uids,\n
selection_name, get(\'listbox_uid\'), get(\'uids\'))\n
selection_name=selection_name)\n
</string>
</value>
</string>
</value>
</item>
</item>
<item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/bt/revision
View file @
8df1f143
4107
7
4107
8
\ No newline at end of file
product/ERP5Form/ListBox.py
View file @
8df1f143
...
@@ -1072,8 +1072,10 @@ class ListBoxRenderer:
...
@@ -1072,8 +1072,10 @@ class ListBoxRenderer:
# Create a selection, if not present, with the default sort order.
# Create a selection, if not present, with the default sort order.
if
selection
is
None
:
if
selection
is
None
:
selection
=
Selection
(
params
=
dict
(
self
.
getDefaultParamList
()),
default_sort_on
=
self
.
getDefaultSortColumnList
())
selection
=
Selection
(
selection_name
,
selection
=
selection
.
__of__
(
selection_tool
)
params
=
dict
(
self
.
getDefaultParamList
()),
default_sort_on
=
self
.
getDefaultSortColumnList
(),
).
__of__
(
selection_tool
)
# Or make sure all sort arguments are valid.
# Or make sure all sort arguments are valid.
else
:
else
:
# Reset the selection, if specified.
# Reset the selection, if specified.
...
@@ -2605,8 +2607,8 @@ class ListBoxHTMLRenderer(ListBoxRenderer):
...
@@ -2605,8 +2607,8 @@ class ListBoxHTMLRenderer(ListBoxRenderer):
# Make it sure to store the current selection, only if a list method is defined.
# Make it sure to store the current selection, only if a list method is defined.
list_method
=
self
.
getListMethod
()
list_method
=
self
.
getListMethod
()
selection
=
self
.
getSelection
()
if
list_method
is
not
None
:
if
list_method
is
not
None
:
selection
=
self
.
getSelection
()
method_path
=
'%s/%s'
%
(
getPath
(
self
.
getContext
()),
self
.
getListMethodName
())
method_path
=
'%s/%s'
%
(
getPath
(
self
.
getContext
()),
self
.
getListMethodName
())
list_url
=
'%s?selection_name=%s'
%
(
self
.
getUrl
(),
self
.
getRequestedSelectionName
())
list_url
=
'%s?selection_name=%s'
%
(
self
.
getUrl
(),
self
.
getRequestedSelectionName
())
selection_index
=
self
.
getSelectionIndex
()
selection_index
=
self
.
getSelectionIndex
()
...
...
product/ERP5Form/PlanningBox.py
View file @
8df1f143
...
@@ -1063,7 +1063,8 @@ class BasicStructure:
...
@@ -1063,7 +1063,8 @@ class BasicStructure:
#recovering selection if necessary
#recovering selection if necessary
if
self
.
selection
is
None
:
if
self
.
selection
is
None
:
self
.
selection
=
Selection
(
params
=
{},
default_sort_on
=
self
.
sort
)
self
.
selection
=
Selection
(
self
.
selection_name
,
params
=
{},
default_sort_on
=
self
.
sort
)
self
.
selection
.
edit
(
default_sort_on
=
self
.
sort
)
self
.
selection
.
edit
(
default_sort_on
=
self
.
sort
)
self
.
getSelectionTool
().
setSelectionSortOrder
(
self
.
selection_name
,
\
self
.
getSelectionTool
().
setSelectionSortOrder
(
self
.
selection_name
,
\
...
...
product/ERP5Form/Report.py
View file @
8df1f143
...
@@ -338,7 +338,8 @@ class ReportSection:
...
@@ -338,7 +338,8 @@ class ReportSection:
portal_selections
.
pushSelection
(
selection_name
)
portal_selections
.
pushSelection
(
selection_name
)
else
:
else
:
if
portal_selections
.
getSelectionFor
(
selection_name
)
is
None
:
if
portal_selections
.
getSelectionFor
(
selection_name
)
is
None
:
portal_selections
.
setSelectionFor
(
selection_name
,
Selection
())
portal_selections
.
setSelectionFor
(
selection_name
,
Selection
(
selection_name
))
if
self
.
selection_report_list
is
not
None
:
if
self
.
selection_report_list
is
not
None
:
selection
=
portal_selections
.
getSelectionFor
(
selection_name
,
selection
=
portal_selections
.
getSelectionFor
(
selection_name
,
...
...
product/ERP5Form/Selection.py
View file @
8df1f143
...
@@ -104,7 +104,6 @@ class Selection(Acquisition.Implicit, Traversable, Persistent):
...
@@ -104,7 +104,6 @@ class Selection(Acquisition.Implicit, Traversable, Persistent):
list_url
=
''
list_url
=
''
columns
=
()
columns
=
()
checked_uids
=
()
checked_uids
=
()
name
=
None
index
=
None
index
=
None
domain_path
=
(
'portal_categories'
,)
domain_path
=
(
'portal_categories'
,)
domain_list
=
((),)
domain_list
=
((),)
...
@@ -123,9 +122,10 @@ class Selection(Acquisition.Implicit, Traversable, Persistent):
...
@@ -123,9 +122,10 @@ class Selection(Acquisition.Implicit, Traversable, Persistent):
def
getId
(
self
):
def
getId
(
self
):
return
self
.
name
return
self
.
name
def
__init__
(
self
,
method_path
=
None
,
params
=
None
,
sort_on
=
None
,
default_sort_on
=
None
,
def
__init__
(
self
,
name
,
method_path
=
None
,
params
=
None
,
sort_on
=
None
,
uids
=
None
,
invert_mode
=
0
,
list_url
=
''
,
domain
=
None
,
report
=
None
,
default_sort_on
=
None
,
uids
=
None
,
invert_mode
=
0
,
list_url
=
''
,
columns
=
None
,
checked_uids
=
None
,
name
=
None
,
index
=
None
):
domain
=
None
,
report
=
None
,
columns
=
None
,
checked_uids
=
None
,
index
=
None
):
if
params
is
None
:
params
=
{}
if
params
is
None
:
params
=
{}
if
sort_on
is
None
:
sort_on
=
[]
if
sort_on
is
None
:
sort_on
=
[]
if
default_sort_on
is
None
:
default_sort_on
=
[]
if
default_sort_on
is
None
:
default_sort_on
=
[]
...
...
product/ERP5Form/Tool/SelectionTool.py
View file @
8df1f143
...
@@ -284,9 +284,7 @@ class SelectionTool( BaseTool, SimpleItem ):
...
@@ -284,9 +284,7 @@ class SelectionTool( BaseTool, SimpleItem ):
if
anonymous_uid
is
not
None
:
if
anonymous_uid
is
not
None
:
self
.
REQUEST
.
response
.
setCookie
(
'anonymous_uid'
,
anonymous_uid
,
self
.
REQUEST
.
response
.
setCookie
(
'anonymous_uid'
,
anonymous_uid
,
path
=
'/'
)
path
=
'/'
)
if
selection_object
!=
None
:
assert
selection_object
is
None
or
selection_name
==
selection_object
.
name
# Set the name so that this selection itself can get its own name.
selection_object
.
edit
(
name
=
selection_name
)
if
self
.
getSelectionFor
(
selection_name
)
!=
selection_object
:
if
self
.
getSelectionFor
(
selection_name
)
!=
selection_object
:
self
.
_setSelectionToContainer
(
selection_name
,
selection_object
)
self
.
_setSelectionToContainer
(
selection_name
,
selection_object
)
...
@@ -317,7 +315,7 @@ class SelectionTool( BaseTool, SimpleItem ):
...
@@ -317,7 +315,7 @@ class SelectionTool( BaseTool, SimpleItem ):
if
selection_object
is
not
None
:
if
selection_object
is
not
None
:
selection_object
.
edit
(
params
=
params
)
selection_object
.
edit
(
params
=
params
)
else
:
else
:
selection_object
=
Selection
(
params
=
params
)
selection_object
=
Selection
(
selection_name
,
params
=
params
)
self
.
setSelectionFor
(
selection_name
,
selection_object
,
REQUEST
)
self
.
setSelectionFor
(
selection_name
,
selection_object
,
REQUEST
)
security
.
declareProtected
(
ERP5Permissions
.
View
,
'getSelectionDomainDictFor'
)
security
.
declareProtected
(
ERP5Permissions
.
View
,
'getSelectionDomainDictFor'
)
...
@@ -353,7 +351,7 @@ class SelectionTool( BaseTool, SimpleItem ):
...
@@ -353,7 +351,7 @@ class SelectionTool( BaseTool, SimpleItem ):
if
selection_object
:
if
selection_object
:
selection_object
.
edit
(
checked_uids
=
checked_uids
)
selection_object
.
edit
(
checked_uids
=
checked_uids
)
else
:
else
:
selection_object
=
Selection
(
checked_uids
=
checked_uids
)
selection_object
=
Selection
(
selection_name
,
checked_uids
=
checked_uids
)
self
.
setSelectionFor
(
selection_name
,
selection_object
,
REQUEST
)
self
.
setSelectionFor
(
selection_name
,
selection_object
,
REQUEST
)
security
.
declareProtected
(
ERP5Permissions
.
View
,
'updateSelectionCheckedUidList'
)
security
.
declareProtected
(
ERP5Permissions
.
View
,
'updateSelectionCheckedUidList'
)
...
@@ -1062,7 +1060,7 @@ class SelectionTool( BaseTool, SimpleItem ):
...
@@ -1062,7 +1060,7 @@ class SelectionTool( BaseTool, SimpleItem ):
# Get the selection
# Get the selection
selection
=
self
.
getSelectionFor
(
selection_name
,
REQUEST
)
selection
=
self
.
getSelectionFor
(
selection_name
,
REQUEST
)
if
selection
is
None
:
if
selection
is
None
:
selection
=
Selection
()
selection
=
Selection
(
selection_name
)
self
.
setSelectionFor
(
selection_name
,
selection
,
REQUEST
=
REQUEST
)
self
.
setSelectionFor
(
selection_name
,
selection
,
REQUEST
=
REQUEST
)
if
listbox_display_mode
==
'FlatListMode'
:
if
listbox_display_mode
==
'FlatListMode'
:
...
@@ -1443,7 +1441,7 @@ class SelectionTool( BaseTool, SimpleItem ):
...
@@ -1443,7 +1441,7 @@ class SelectionTool( BaseTool, SimpleItem ):
def
pushSelection
(
self
,
selection_name
):
def
pushSelection
(
self
,
selection_name
):
selection
=
self
.
getSelectionFor
(
selection_name
)
selection
=
self
.
getSelectionFor
(
selection_name
)
# a temporary selection is kept in transaction.
# a temporary selection is kept in transaction.
temp_selection
=
Selection
()
temp_selection
=
Selection
(
selection_name
)
if
selection
:
if
selection
:
temp_selection
.
__dict__
.
update
(
selection
.
__dict__
)
temp_selection
.
__dict__
.
update
(
selection
.
__dict__
)
self
.
getTemporarySelectionDict
()
\
self
.
getTemporarySelectionDict
()
\
...
...
product/ERP5Form/ZGDChart.py
View file @
8df1f143
...
@@ -139,7 +139,7 @@ class ZGDChartWidget(Widget.Widget):
...
@@ -139,7 +139,7 @@ class ZGDChartWidget(Widget.Widget):
# Creation selection if needed
# Creation selection if needed
if
selection
is
None
:
if
selection
is
None
:
selection
=
Selection
(
params
=
data
)
selection
=
Selection
(
selection_name
,
params
=
data
)
else
:
else
:
LOG
(
'ZGDChart.render'
,
0
,
'selection is not None'
)
LOG
(
'ZGDChart.render'
,
0
,
'selection is not None'
)
kw
=
{
'params'
:
data
}
kw
=
{
'params'
:
data
}
...
...
product/ERP5Form/ZPyChart.py
View file @
8df1f143
...
@@ -164,7 +164,7 @@ class ZPyChart(ZMIField, PythonScript):
...
@@ -164,7 +164,7 @@ class ZPyChart(ZMIField, PythonScript):
# If selection is None, create a new one
# If selection is None, create a new one
if
selection
is
None
:
if
selection
is
None
:
selection
=
Selection
()
selection
=
Selection
(
selection_name
)
# Get the data method if defined
# Get the data method if defined
if
data_method
is
not
None
:
if
data_method
is
not
None
:
...
...
product/ERP5Form/tests/testListBox.py
View file @
8df1f143
...
@@ -252,8 +252,8 @@ class TestListBox(ERP5TypeTestCase):
...
@@ -252,8 +252,8 @@ class TestListBox(ERP5TypeTestCase):
portal
.
ListBoxZuite_reset
()
portal
.
ListBoxZuite_reset
()
listbox
=
portal
.
FooModule_viewFooList
.
listbox
listbox
=
portal
.
FooModule_viewFooList
.
listbox
# XXX isn't Selection automatically created ?
# XXX isn't Selection automatically created ?
portal
.
portal_selections
.
setSelectionFor
(
name
=
listbox
.
get_value
(
'selection_name'
)
listbox
.
get_value
(
'selection_name'
),
Selection
(
))
portal
.
portal_selections
.
setSelectionFor
(
name
,
Selection
(
name
))
request
=
get_request
()
request
=
get_request
()
request
[
'here'
]
=
portal
.
foo_module
request
[
'here'
]
=
portal
.
foo_module
...
...
product/ERP5Form/tests/testSelectionTool.py
View file @
8df1f143
...
@@ -53,7 +53,8 @@ class TestSelectionTool(ERP5TypeTestCase):
...
@@ -53,7 +53,8 @@ class TestSelectionTool(ERP5TypeTestCase):
user
=
uf
.
getUserById
(
'manager'
).
__of__
(
uf
)
user
=
uf
.
getUserById
(
'manager'
).
__of__
(
uf
)
newSecurityManager
(
None
,
user
)
newSecurityManager
(
None
,
user
)
self
.
portal_selections
=
self
.
getPortal
().
portal_selections
self
.
portal_selections
=
self
.
getPortal
().
portal_selections
self
.
portal_selections
.
setSelectionFor
(
'test_selection'
,
Selection
())
name
=
'test_selection'
self
.
portal_selections
.
setSelectionFor
(
name
,
Selection
(
name
))
self
.
portal_selections
.
setSelectionParamsFor
(
'test_selection'
,
{
'key'
:
'value'
})
self
.
portal_selections
.
setSelectionParamsFor
(
'test_selection'
,
{
'key'
:
'value'
})
def
testGetSelectionContainer
(
self
):
def
testGetSelectionContainer
(
self
):
...
@@ -252,7 +253,8 @@ class TestSelectionPersistence(unittest.TestCase):
...
@@ -252,7 +253,8 @@ class TestSelectionPersistence(unittest.TestCase):
self
.
cnx
=
self
.
db
.
open
()
self
.
cnx
=
self
.
db
.
open
()
self
.
portal_selections
=
\
self
.
portal_selections
=
\
self
.
cnx
.
root
().
portal_selections
=
SelectionTool
()
self
.
cnx
.
root
().
portal_selections
=
SelectionTool
()
self
.
portal_selections
.
setSelectionFor
(
'test_selection'
,
Selection
())
name
=
'test_selection'
self
.
portal_selections
.
setSelectionFor
(
name
,
Selection
(
name
))
transaction
.
commit
()
transaction
.
commit
()
def
tearDown
(
self
):
def
tearDown
(
self
):
...
...
product/ERP5OOo/tests/testOOoStyle.py
View file @
8df1f143
...
@@ -82,8 +82,8 @@ class TestOOoStyle(ERP5TypeTestCase, ZopeTestCase.Functional):
...
@@ -82,8 +82,8 @@ class TestOOoStyle(ERP5TypeTestCase, ZopeTestCase.Functional):
self
.
portal
.
changeSkin
(
self
.
skin
)
self
.
portal
.
changeSkin
(
self
.
skin
)
self
.
validator
=
Validator
()
self
.
validator
=
Validator
()
# make sure selections are empty
# make sure selections are empty
self
.
portal
.
portal_selections
.
setSelectionFor
(
name
=
'person_module_selection'
'person_module_selection'
,
Selection
(
))
self
.
portal
.
portal_selections
.
setSelectionFor
(
name
,
Selection
(
name
))
def
setDefaultSitePreference
(
self
):
def
setDefaultSitePreference
(
self
):
default_pref
=
self
.
portal
.
portal_preferences
.
default_site_preference
default_pref
=
self
.
portal
.
portal_preferences
.
default_site_preference
...
...
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