Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0045768
TypeCategorySeverityReproducibilityDate SubmittedLast Update
defect[Openbravo ERP] A. Platformtrivialalways2021-01-21 11:092021-01-25 09:34
ReportervmromanosView Statuspublic 
Assigned Tocberner 
PrioritynormalResolutionfixedFixed in VersionPR21Q2
StatusclosedFix in branchFixed in SCM revisionc46750835f6e
ProjectionnoneETAnoneTarget Version
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned Toalostale
Web browser
ModulesCore
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0045768: PrintController.java, increase post() visibility

DescriptionUse case: I want to extend the printing process to:
1) Run some validations before printing a record
2) Run some business logic just after printing a record

To achieve that I need to develop a custom class that extends from PrintController and override doPost() to implement my logic and then call the super.doPost().

The problem is that the doPost() runs
final VariablesSecureApp vars = new VariablesSecureApp(request);
at the beginning of the method, which makes the vars.command to be reset to "DEFAULT".

This crashes the "send by email" feature (which expects a vars.command="EMAIL").

To workaround this I could easily override the post() method, which doesn't recalculate the vars variable, and which is called by the doPost().

The problem is that post() has package visibility, so I can't override it outside its package.
Steps To ReproduceCreate a class that extends PrintController in an external module.
Try to override post(). It's not visible outside the package.
Proposed SolutionChange PrintController.post() visibility to public or protected.


In the future, we should add some hooks to the printing process to allow easy extensibility.
TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]
depends on backport 0045775PR20Q4.2 closedcberner PrintController.java, increase post() visibility 
depends on backport 0045776PR20Q3.4 closedcberner PrintController.java, increase post() visibility 
depends on backport 0045777PR21Q1.1 closedcberner PrintController.java, increase post() visibility 

-  Notes
(0125710)
hgbot (developer)
2021-01-21 12:23

Merge Request created: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/269 [^]
(0125747)
hgbot (developer)
2021-01-25 09:32

Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/openbravo/product/openbravo [^]
Changeset: c46750835f6e84c13e79ce45496d28a85e9acb74
Author: Cristian Berner <cristian.berner@openbravo.com>
Date: 2021-01-22T14:11:34+01:00
URL: https://gitlab.com/openbravo/product/openbravo/-/commit/c46750835f6e84c13e79ce45496d28a85e9acb74 [^]

Fixes ISSUE-45768: Allow extending printing process by increasing post method visibility

post method visibility has been set to protected, previously private to
allow overriding it by methods that need to.
One use-case is to handle vars and modification to vars in this method
differently. Those vars are then passed to doPost method.

---
M src/org/openbravo/erpCommon/utility/reporting/printing/PrintController.java
---
(0125748)
hgbot (developer)
2021-01-25 09:32

Merge request merged: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/269 [^]
(0125753)
cberner (developer)
2021-01-25 09:33

Opened to create backport for 21Q1

- Issue History
Date Modified Username Field Change
2021-01-21 11:09 vmromanos New Issue
2021-01-21 11:09 vmromanos Assigned To => platform
2021-01-21 11:09 vmromanos Modules => Core
2021-01-21 11:09 vmromanos Triggers an Emergency Pack => No
2021-01-21 12:10 cberner Assigned To platform => cberner
2021-01-21 12:23 hgbot Note Added: 0125710
2021-01-25 06:56 alostale Status new => scheduled
2021-01-25 09:32 hgbot Resolution open => fixed
2021-01-25 09:32 hgbot Status scheduled => closed
2021-01-25 09:32 hgbot Fixed in Version => PR21Q2
2021-01-25 09:32 hgbot Note Added: 0125747
2021-01-25 09:32 hgbot Note Added: 0125748
2021-01-25 09:32 cberner Status closed => new
2021-01-25 09:32 cberner Resolution fixed => open
2021-01-25 09:32 cberner Fixed in Version PR21Q2 =>
2021-01-25 09:33 cberner Status new => scheduled
2021-01-25 09:33 cberner Note Added: 0125753
2021-01-25 09:33 cberner Status scheduled => resolved
2021-01-25 09:33 cberner Fixed in Version => PR21Q2
2021-01-25 09:33 cberner Fixed in SCM revision => c46750835f6e84c13e79ce45496d28a85e9acb74
2021-01-25 09:33 cberner Resolution open => fixed
2021-01-25 09:34 cberner Review Assigned To => alostale
2021-01-25 09:34 cberner Status resolved => closed


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker