details: /erp/devel/pi/rev/b1a6dd4a06f9
changeset: 10697:b1a6dd4a06f9
user: Antonio Moreno <antonio.moreno <at> openbravo.com>
date: Wed Feb 16 11:10:14 2011 +0100
summary: When changing role, if no language is provided, a default will be
chosen
diffstat:
modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java
| 25 +++++++++-
1 files changed, 24 insertions(+), 1 deletions(-)
diffs (42 lines):
diff -r b79da7bc8943 -r b1a6dd4a06f9
modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java
---
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java
Wed Feb 16 09:50:10 2011 +0100
+++
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java
Wed Feb 16 11:10:14 2011 +0100
@@ -309,7 +309,12 @@
final Role role = OBDal.getInstance().get(Role.class, roleId);
final String clientId = role.getClient().getId();
final String warehouseId = getStringValue(json, "warehouse");
- final String languageId = getStringValue(json, "language");
+ String languageId = getStringValue(json, "language");
+ if (languageId == null) {
+ // If the default language the user has is not a system language, then
another language will
+ // be automatically selected
+ languageId = pickLanguage();
+ }
final boolean isDefault;
if (json.has("default")) {
isDefault = json.getBoolean("default");
@@ -323,6 +328,24 @@
return ApplicationConstants.ACTION_RESULT_SUCCESS;
}
+ private String pickLanguage() {
+ final OBQuery<Language> languages = OBDal.getInstance().createQuery(
+ Language.class,
+ "(" + Language.PROPERTY_SYSTEMLANGUAGE + "=true or " +
Language.PROPERTY_BASELANGUAGE
+ + "=true)");
+ languages.setFilterOnReadableClients(false);
+ languages.setFilterOnReadableOrganization(false);
+ List<Language> languagesList = languages.list();
+
+ Client client = OBContext.getOBContext().getCurrentClient();
+ Language clientLanguage = client.getLanguage();
+ if (clientLanguage != null && languagesList.contains(clientLanguage)) {
+ return clientLanguage.getId();
+ } else {
+ return languagesList.get(0).getId();
+ }
+ }
+
private String getStringValue(JSONObject json, String name) throws
JSONException {
if (json.isNull(name)) {
return null;
------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits