Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
ID | ||||||||
0045768 | ||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
defect | [Openbravo ERP] A. Platform | trivial | always | 2021-01-21 11:09 | 2021-01-25 09:34 | |||
Reporter | vmromanos | View Status | public | |||||
Assigned To | cberner | |||||||
Priority | normal | Resolution | fixed | Fixed in Version | PR21Q2 | |||
Status | closed | Fix in branch | Fixed in SCM revision | c46750835f6e | ||||
Projection | none | ETA | none | Target Version | ||||
OS | Any | Database | Any | Java version | ||||
OS Version | Database version | Ant version | ||||||
Product Version | SCM revision | |||||||
Merge Request Status | approved | |||||||
Review Assigned To | alostale | |||||||
OBNetwork customer | No | |||||||
Web browser | ||||||||
Modules | Core | |||||||
Support ticket | ||||||||
Regression level | ||||||||
Regression date | ||||||||
Regression introduced in release | ||||||||
Regression introduced by commit | ||||||||
Triggers an Emergency Pack | No | |||||||
Summary | 0045768: PrintController.java, increase post() visibility | |||||||
Description | Use 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 Reproduce | Create a class that extends PrintController in an external module. Try to override post(). It's not visible outside the package. | |||||||
Proposed Solution | Change PrintController.post() visibility to public or protected. In the future, we should add some hooks to the printing process to allow easy extensibility. | |||||||
Tags | No tags attached. | |||||||
Attached Files | ||||||||
![]() |
||||||||||||||||||||||
|
![]() |
|
(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 (viewer) 2021-01-25 09:33 |
Opened to create backport for 21Q1 |
![]() |
|||
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 | OBNetwork customer | => No |
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 | Merge Request Status | => open |
2021-01-21 12:23 | hgbot | Note Added: 0125710 | |
2021-01-25 06:56 | alostale | Status | new => scheduled |
2021-01-25 09:32 | hgbot | Merge Request Status | open => approved |
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 |