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
Labels
Merge Requests
141
Merge Requests
141
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
Jobs
Commits
Open sidebar
nexedi
erp5
Commits
ed656a30
Commit
ed656a30
authored
Sep 16, 2022
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'upstream/master' into zope4py2
parents
6ee4cfe5
adcb959e
Pipeline
#23551
failed with stage
in 0 seconds
Changes
36
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
36 changed files
with
200 additions
and
136 deletions
+200
-136
bt5/erp5_base/CategoryTemplateItem/portal_categories/destination_carrier.xml
...oryTemplateItem/portal_categories/destination_carrier.xml
+3
-1
bt5/erp5_base/CategoryTemplateItem/portal_categories/destination_referral.xml
...ryTemplateItem/portal_categories/destination_referral.xml
+3
-1
bt5/erp5_base/CategoryTemplateItem/portal_categories/source_carrier.xml
...CategoryTemplateItem/portal_categories/source_carrier.xml
+8
-0
bt5/erp5_base/CategoryTemplateItem/portal_categories/source_referral.xml
...ategoryTemplateItem/portal_categories/source_referral.xml
+8
-0
bt5/erp5_invoicing/DocumentTemplateItem/portal_components/document.erp5.InvoiceTransactionSimulationRule.py
...ponents/document.erp5.InvoiceTransactionSimulationRule.py
+12
-10
bt5/erp5_real_time_inventory_accounting/DocumentTemplateItem/portal_components/document.erp5.InventoryAssetPriceAccountingSimulationRule.py
...ument.erp5.InventoryAssetPriceAccountingSimulationRule.py
+34
-59
bt5/erp5_trade/DocumentTemplateItem/portal_components/document.erp5.TradeModelPath.py
...ateItem/portal_components/document.erp5.TradeModelPath.py
+2
-32
product/ERP5/ERP5Site.py
product/ERP5/ERP5Site.py
+16
-0
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination.xml
...re/CategoryTemplateItem/portal_categories/destination.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_account.xml
...oryTemplateItem/portal_categories/destination_account.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_administration.xml
...lateItem/portal_categories/destination_administration.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_decision.xml
...ryTemplateItem/portal_categories/destination_decision.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_function.xml
...ryTemplateItem/portal_categories/destination_function.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_funding.xml
...oryTemplateItem/portal_categories/destination_funding.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_payment.xml
...oryTemplateItem/portal_categories/destination_payment.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_payment_request.xml
...ateItem/portal_categories/destination_payment_request.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_project.xml
...oryTemplateItem/portal_categories/destination_project.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_section.xml
...oryTemplateItem/portal_categories/destination_section.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_trade.xml
...egoryTemplateItem/portal_categories/destination_trade.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source.xml
...p5_core/CategoryTemplateItem/portal_categories/source.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_account.xml
...CategoryTemplateItem/portal_categories/source_account.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_administration.xml
...yTemplateItem/portal_categories/source_administration.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_decision.xml
...ategoryTemplateItem/portal_categories/source_decision.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_function.xml
...ategoryTemplateItem/portal_categories/source_function.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_funding.xml
...CategoryTemplateItem/portal_categories/source_funding.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_payment.xml
...CategoryTemplateItem/portal_categories/source_payment.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_payment_request.xml
...TemplateItem/portal_categories/source_payment_request.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_project.xml
...CategoryTemplateItem/portal_categories/source_project.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_section.xml
...CategoryTemplateItem/portal_categories/source_section.xml
+3
-1
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_trade.xml
...e/CategoryTemplateItem/portal_categories/source_trade.xml
+3
-1
product/ERP5/bootstrap/erp5_core/MixinTemplateItem/portal_components/mixin.erp5.MovementGeneratorMixin.py
...em/portal_components/mixin.erp5.MovementGeneratorMixin.py
+10
-6
product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BaseCategory_view/my_category_type_list.xml
...ins/erp5_core/BaseCategory_view/my_category_type_list.xml
+9
-1
product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/gadget_editor.css.css
...TemplateItem/portal_skins/erp5_core/gadget_editor.css.css
+19
-0
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/erp5.css.css
...inTemplateItem/portal_skins/erp5_xhtml_style/erp5.css.css
+5
-1
product/ERP5Type/dynamic/portal_type_class.py
product/ERP5Type/dynamic/portal_type_class.py
+4
-1
product/ERP5Type/patches/User.py
product/ERP5Type/patches/User.py
+1
-2
No files found.
bt5/erp5_base/CategoryTemplateItem/portal_categories/destination_carrier.xml
View file @
ed656a30
...
...
@@ -52,7 +52,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
destination_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
bt5/erp5_base/CategoryTemplateItem/portal_categories/destination_referral.xml
View file @
ed656a30
...
...
@@ -53,7 +53,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
destination_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
bt5/erp5_base/CategoryTemplateItem/portal_categories/source_carrier.xml
View file @
ed656a30
...
...
@@ -27,6 +27,14 @@
</tuple>
</value>
</item>
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple>
<string>
source_arrow
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
...
...
bt5/erp5_base/CategoryTemplateItem/portal_categories/source_referral.xml
View file @
ed656a30
...
...
@@ -28,6 +28,14 @@
</tuple>
</value>
</item>
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple>
<string>
source_arrow
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
...
...
bt5/erp5_invoicing/DocumentTemplateItem/portal_components/document.erp5.InvoiceTransactionSimulationRule.py
View file @
ed656a30
...
...
@@ -124,11 +124,18 @@ class InvoiceTransactionRuleMovementGenerator(MovementGeneratorMixin):
kw
=
{
'delivery'
:
None
,
'resource'
:
resource
,
'price'
:
1
}
return
kw
def
getGeneratedMovementList
(
self
,
movement_list
=
None
,
rounding
=
False
):
movement_list
=
super
(
InvoiceTransactionRuleMovementGenerator
,
self
).
getGeneratedMovementList
(
movement_list
=
movement_list
,
rounding
=
rounding
)
def
_updateGeneratedMovementList
(
self
,
input_movement
,
generated_movement_list
):
portal
=
self
.
_applied_rule
.
getPortalObject
()
for
arrow
in
'destination'
,
'source'
:
for
movement
in
movement_list
:
generated_movement_list
=
super
(
InvoiceTransactionRuleMovementGenerator
,
self
,
).
_updateGeneratedMovementList
(
input_movement
,
generated_movement_list
,
)
for
arrow
,
sign
in
(
'destination'
,
1
),
(
'source'
,
-
1
):
for
movement
in
generated_movement_list
:
resource
=
movement
.
getResource
()
if
resource
is
not
None
:
section
=
movement
.
getDefaultAcquiredValue
(
arrow
+
'_section'
)
...
...
@@ -144,13 +151,8 @@ class InvoiceTransactionRuleMovementGenerator(MovementGeneratorMixin):
categories
=
(
'price_currency/'
+
currency_url
,
'resource/'
+
resource
)))
if
exchange_ratio
is
not
None
:
if
arrow
==
'destination'
:
sign
=
1
else
:
sign
=
-
1
movement
.
setProperty
(
arrow
+
'_total_asset_price'
,
movement
.
getQuantity
()
*
exchange_ratio
*
sign
)
return
movement_list
return
generated_movement_list
def
_getInputMovementList
(
self
,
movement_list
=
None
,
rounding
=
False
):
simulation_movement
=
self
.
_applied_rule
.
getParentValue
()
...
...
bt5/erp5_real_time_inventory_accounting/DocumentTemplateItem/portal_components/document.erp5.InventoryAssetPriceAccountingSimulationRule.py
View file @
ed656a30
...
...
@@ -32,67 +32,37 @@ from erp5.component.document.InvoiceTransactionSimulationRule import (InvoiceTra
class
InventoryAssetPriceAccountingRuleMovementGenerator
(
InvoiceTransactionRuleMovementGenerator
):
"""
"""
# CMF Type Definition
meta_type
=
'ERP5 Inventory Asset Price Accounting Simulation Rule'
portal_type
=
'Inventory Asset Price Accounting Simulation Rule'
# XXX: Copy/paste from erp5.component.mixin.RuleMixin to support Transit use case
def
getGeneratedMovementList
(
self
,
movement_list
=
None
,
rounding
=
False
):
"""
Returns a list of movements generated by that rule.
movement_list - optional IMovementList which can be passed explicitely
rounding - boolean argument, which controls if rounding shall be applied on
generated movements or not
NOTE:
- implement rounding appropriately (True or False seems
simplistic)
def
_updateGeneratedMovementList
(
self
,
input_movement
,
generated_movement_list
):
"""Support Transit use case
"""
# Default implementation below can be overriden by subclasses
# however it should be generic enough not to be overriden
# by most classes
# Results will be appended to result
result
=
[]
# Build a list of movement and business path
input_movement_list
=
self
.
_getInputMovementList
(
movement_list
=
movement_list
,
rounding
=
rounding
)
for
input_movement
in
input_movement_list
:
# Merge movement and business path properties (core implementation)
# Lookup Business Process through composition (NOT UNION)
business_process
=
input_movement
.
asComposedDocument
()
explanation
=
self
.
_applied_rule
# We use applied rule as local explanation
trade_phase
=
self
.
_getTradePhaseList
(
input_movement
,
business_process
)
# XXX-JPS not convenient to handle
update_property_dict
=
self
.
_getUpdatePropertyDict
(
input_movement
)
for
movement
in
business_process
.
getTradePhaseMovementList
(
explanation
,
input_movement
,
trade_phase
=
trade_phase
,
delay_mode
=
None
,
update_property_dict
=
update_property_dict
):
# PATCH-BEGIN
update_dict
=
{}
if
movement
.
getLedger
()
in
(
'stock/stock/entree'
,
'stock/preparation/entree'
,
'stock/transit/sortie'
,
'stock/customs/entree'
):
update_dict
[
'start_date'
]
=
update_dict
[
'stop_date'
]
=
input_movement
.
getStopDate
()
elif
movement
.
getLedger
()
in
(
'stock/stock/sortie'
,
'stock/preparation/sortie'
,
'stock/transit/entree'
):
update_dict
[
'start_date'
]
=
update_dict
[
'stop_date'
]
=
input_movement
.
getStartDate
()
movement
.
_edit
(
**
update_dict
)
input_movement
.
log
(
"%r (input_movement=%r): ledger=%r, start_date=%r, stop_date=%r"
%
(
movement
,
input_movement
,
movement
.
getLedger
(),
movement
.
getStartDate
(),
movement
.
getStopDate
()))
# PATCH-END
result
.
append
(
movement
)
# And return list of generated movements
return
result
generated_movement_list
=
super
(
InventoryAssetPriceAccountingRuleMovementGenerator
,
self
,
).
_updateGeneratedMovementList
(
input_movement
,
generated_movement_list
,
)
for
movement
in
generated_movement_list
:
update_dict
=
{}
if
movement
.
getLedger
()
in
(
'stock/stock/entree'
,
'stock/preparation/entree'
,
'stock/transit/sortie'
,
'stock/customs/entree'
):
update_dict
[
'start_date'
]
=
update_dict
[
'stop_date'
]
=
input_movement
.
getStopDate
()
elif
movement
.
getLedger
()
in
(
'stock/stock/sortie'
,
'stock/preparation/sortie'
,
'stock/transit/entree'
):
update_dict
[
'start_date'
]
=
update_dict
[
'stop_date'
]
=
input_movement
.
getStartDate
()
movement
.
_edit
(
**
update_dict
)
input_movement
.
log
(
"%r (input_movement=%r): ledger=%r, start_date=%r, stop_date=%r"
%
(
movement
,
input_movement
,
movement
.
getLedger
(),
movement
.
getStartDate
(),
movement
.
getStopDate
()))
return
generated_movement_list
def
_getInputMovementList
(
self
,
movement_list
=
None
,
rounding
=
False
):
simulation_movement
=
self
.
_applied_rule
.
getParentValue
()
...
...
@@ -115,7 +85,12 @@ class InventoryAssetPriceAccountingRuleMovementGenerator(InvoiceTransactionRuleM
return
update_property_dict
class
InventoryAssetPriceAccountingSimulationRule
(
InvoiceTransactionSimulationRule
):
# CMF Type Definition
meta_type
=
'ERP5 Inventory Asset Price Accounting Simulation Rule'
portal_type
=
'Inventory Asset Price Accounting Simulation Rule'
def
_getMovementGenerator
(
self
,
context
):
return
InventoryAssetPriceAccountingRuleMovementGenerator
(
applied_rule
=
context
,
rule
=
self
)
bt5/erp5_trade/DocumentTemplateItem/portal_components/document.erp5.TradeModelPath.py
View file @
ed656a30
...
...
@@ -114,22 +114,7 @@ class TradeModelPath(Path):
Returns all categories which are used to define the source
of this Arrow
"""
# Naive implementation - we must use category groups instead - XXX
return
(
'source'
,
'source_account'
,
'source_administration'
,
#'source_advice',
'source_carrier'
,
'source_decision'
,
'source_function'
,
'source_funding'
,
'source_payment'
,
'source_project'
,
'source_referral'
,
'source_section'
,
'source_trade'
,
#'source_transport'
)
return
self
.
getPortalObject
().
getPortalSourceArrowBaseCategoryList
()
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
'getDestinationArrowBaseCategoryList'
)
...
...
@@ -138,22 +123,7 @@ class TradeModelPath(Path):
Returns all categories which are used to define the destination
of this Arrow
"""
# Naive implementation - we must use category groups instead - XXX-JPS review this later
return
(
'destination'
,
'destination_account'
,
'destination_administration'
,
#'destination_advice',
#'destination_carrier',
'destination_decision'
,
'destination_function'
,
'destination_funding'
,
'destination_payment'
,
'destination_project'
,
'destination_referral'
,
'destination_section'
,
'destination_trade'
,
#'destination_transport'
)
return
self
.
getPortalObject
().
getPortalDestinationArrowBaseCategoryList
()
# XXX-JPS UNkonwn ?
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
...
...
product/ERP5/ERP5Site.py
View file @
ed656a30
...
...
@@ -938,6 +938,22 @@ class ERP5Site(ResponseHeaderGenerator, FolderMixIn, PortalObjectBase, CacheCook
"""
return
self
.
_getPortalGroupedCategoryList
(
'sub_variation'
)
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
'getPortalSourceArrowBaseCategoryList'
)
def
getPortalSourceArrowBaseCategoryList
(
self
):
"""
Return source arrow base categories.
"""
return
self
.
_getPortalGroupedCategoryList
(
'source_arrow'
)
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
'getPortalDestinationArrowBaseCategoryList'
)
def
getPortalDestinationArrowBaseCategoryList
(
self
):
"""
Return destination arrow base categories.
"""
return
self
.
_getPortalGroupedCategoryList
(
'destination_arrow'
)
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
'getPortalVariationTypeList'
)
def
getPortalVariationTypeList
(
self
):
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination.xml
View file @
ed656a30
...
...
@@ -68,7 +68,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
destination_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_account.xml
View file @
ed656a30
...
...
@@ -52,7 +52,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
destination_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_administration.xml
View file @
ed656a30
...
...
@@ -50,7 +50,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
destination_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_decision.xml
View file @
ed656a30
...
...
@@ -50,7 +50,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
destination_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_function.xml
View file @
ed656a30
...
...
@@ -70,7 +70,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
destination_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_funding.xml
View file @
ed656a30
...
...
@@ -118,7 +118,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
destination_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_payment.xml
View file @
ed656a30
...
...
@@ -50,7 +50,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
destination_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_payment_request.xml
View file @
ed656a30
...
...
@@ -119,7 +119,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
destination_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_project.xml
View file @
ed656a30
...
...
@@ -71,7 +71,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
destination_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_section.xml
View file @
ed656a30
...
...
@@ -68,7 +68,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
destination_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/destination_trade.xml
View file @
ed656a30
...
...
@@ -71,7 +71,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
destination_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source.xml
View file @
ed656a30
...
...
@@ -115,7 +115,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
source_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_account.xml
View file @
ed656a30
...
...
@@ -53,7 +53,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
source_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_administration.xml
View file @
ed656a30
...
...
@@ -50,7 +50,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
source_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_decision.xml
View file @
ed656a30
...
...
@@ -50,7 +50,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
source_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_function.xml
View file @
ed656a30
...
...
@@ -70,7 +70,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
source_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_funding.xml
View file @
ed656a30
...
...
@@ -118,7 +118,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
source_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_payment.xml
View file @
ed656a30
...
...
@@ -50,7 +50,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
source_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_payment_request.xml
View file @
ed656a30
...
...
@@ -119,7 +119,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
source_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_project.xml
View file @
ed656a30
...
...
@@ -118,7 +118,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
source_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_section.xml
View file @
ed656a30
...
...
@@ -68,7 +68,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
source_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/source_trade.xml
View file @
ed656a30
...
...
@@ -72,7 +72,9 @@
<item>
<key>
<string>
category_type
</string>
</key>
<value>
<tuple/>
<tuple>
<string>
source_arrow
</string>
</tuple>
</value>
</item>
<item>
...
...
product/ERP5/bootstrap/erp5_core/MixinTemplateItem/portal_components/mixin.erp5.MovementGeneratorMixin.py
View file @
ed656a30
...
...
@@ -74,9 +74,6 @@ class MovementGeneratorMixin(object):
- implement rounding appropriately (True or False seems
simplistic)
"""
# Default implementation below can be overriden by subclasses
# however it should be generic enough not to be overriden
# by most classes
# Results will be appended to result
result
=
[]
# Build a list of movement and business path
...
...
@@ -89,9 +86,13 @@ class MovementGeneratorMixin(object):
explanation
=
self
.
_applied_rule
# We use applied rule as local explanation
trade_phase
=
self
.
_getTradePhaseList
(
input_movement
,
business_process
)
# XXX-JPS not convenient to handle
update_property_dict
=
self
.
_getUpdatePropertyDict
(
input_movement
)
result
.
extend
(
business_process
.
getTradePhaseMovementList
(
explanation
,
input_movement
,
trade_phase
=
trade_phase
,
delay_mode
=
None
,
update_property_dict
=
update_property_dict
))
generated_movement_list
=
business_process
.
getTradePhaseMovementList
(
explanation
,
input_movement
,
trade_phase
=
trade_phase
,
delay_mode
=
None
,
update_property_dict
=
update_property_dict
)
result
.
extend
(
self
.
_updateGeneratedMovementList
(
input_movement
,
generated_movement_list
))
# And return list of generated movements
return
result
...
...
@@ -102,6 +103,9 @@ class MovementGeneratorMixin(object):
# Other movement generators usually want to reset delivery.
return
{
'delivery'
:
input_movement
.
getRelativeUrl
()}
def
_updateGeneratedMovementList
(
self
,
input_movement
,
generated_movement_list
):
return
generated_movement_list
def
_getTradePhaseList
(
self
,
input_movement
,
business_process
):
# XXX-JPS WEIRD
if
self
.
_trade_phase_list
:
return
self
.
_trade_phase_list
...
...
product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BaseCategory_view/my_category_type_list.xml
View file @
ed656a30
...
...
@@ -10,9 +10,9 @@
<key>
<string>
delegated_list
</string>
</key>
<value>
<list>
<string>
title
</string>
<string>
items
</string>
<string>
size
</string>
<string>
title
</string>
</list>
</value>
</item>
...
...
@@ -113,6 +113,14 @@
<string>
sub_variation
</string>
<string>
sub_variation
</string>
</tuple>
<tuple>
<string>
Source Arrow
</string>
<string>
source_arrow
</string>
</tuple>
<tuple>
<string>
Destination Arrow
</string>
<string>
destination_arrow
</string>
</tuple>
</list>
</value>
</item>
...
...
product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/gadget_editor.css.css
View file @
ed656a30
...
...
@@ -2,3 +2,22 @@ div[data-gadget-url$="gadget_editor.html"] > textarea,
div
[
data-gadget-url
$
=
"gadget_editor.html"
]
>
pre
code
{
font-family
:
"Courier New"
,
Courier
,
monospace
;
}
/*
* xhtml: make editors in bottom group use full height
*/
.main_form
,
.main_form
.master
,
.main_form
.master
.document
,
.main_form
.master
.document
.content
,
.main_form
fieldset
.bottom
,
.main_form
fieldset
.bottom
>
.field
,
.main_form
fieldset
.bottom
>
.field
>
.input
,
.main_form
fieldset
.bottom
>
.field
>
.input
>
div
[
data-gadget-url
$
=
"gadget_editor.html"
],
.main_form
fieldset
.bottom
>
.field
>
.input
>
div
[
data-gadget-url
$
=
"gadget_editor.html"
]
div
[
data-gadget-scope
=
"editor"
],
.main_form
fieldset
.bottom
>
.field
>
.input
>
div
[
data-gadget-url
$
=
"gadget_editor.html"
]
iframe
{
height
:
100%
;
display
:
flex
;
flex-direction
:
column
;
flex
:
1
1
auto
;
}
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/erp5.css.css
View file @
ed656a30
...
...
@@ -19,6 +19,10 @@ along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
html
,
body
{
height
:
100%
;
}
input
,
textarea
,
select
,
button
,
body
,
div
,
span
,
fieldset
{
font-family
:
<
dtml-var
font_family
>
;
font-size
:
<
dtml-var
font_size
>
;
...
...
@@ -28,7 +32,7 @@ input, textarea, select, button, body, div, span, fieldset {
iframe
{
width
:
100%
;
height
:
50vh
;
min-
height
:
50vh
;
}
div
.input
>
select
,
div
.input
>
input
,
div
.listbox
select
{
...
...
product/ERP5Type/dynamic/portal_type_class.py
View file @
ed656a30
...
...
@@ -436,6 +436,9 @@ def synchronizeDynamicModules(context, force=False):
import
erp5
with
aq_method_lock
:
# bootstrap the site and perform some "critical" migrations that can not be
# performed using upgrader, because the migrations are required to run upgrader.
#
# Thanks to TransactionalResource, the '_bootstrapped' global variable
# is updated in a transactional way. Without it, it would be required to
# restart the instance if anything went wrong.
...
...
@@ -464,7 +467,7 @@ def synchronizeDynamicModules(context, force=False):
if
tool
is
None
:
if
tool_class
==
ERP5CatalogTool
:
# Wait till we find that SQL Catalog Tool is installed
# Simp
y said, we don't want
ERP5 Catalog Tool to be installed
# Simp
ly said, we don't want
ERP5 Catalog Tool to be installed
# from here. So, we come to 2 cases:
# 1. Running ERP5Site with sql catalog_tool : In that case, we end up
# running _bootstrap from here, leading to migration.
...
...
product/ERP5Type/patches/User.py
View file @
ed656a30
...
...
@@ -15,8 +15,7 @@
from
threading
import
local
from
Acquisition
import
aq_inner
,
aq_parent
from
AccessControl.PermissionRole
import
_what_not_even_god_should_do
from
AccessControl.User
import
BasicUser
,
SimpleUser
from
AccessControl.User
import
SimpleUser
from
App.config
import
getConfiguration
from
..TransactionalVariable
import
TransactionalVariable
...
...
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