You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2017/03/23 14:37:47 UTC

svn commit: r1788256 [1/3] - in /ofbiz/ofbiz-framework/trunk/framework: common/groovyScripts/ common/servicedef/ common/webcommon/WEB-INF/ common/widget/ images/webapp/images/

Author: jleroux
Date: Thu Mar 23 14:37:47 2017
New Revision: 1788256

URL: http://svn.apache.org/viewvc?rev=1788256&view=rev
Log:
Implemented: Make sure the local date time uses the time zone from the 
local browser.
(OFBIZ-9264)

If a time zone is already set for a user, this new feature won't override it.
The user still can set it's own time zone, but if it isn't set, 
this avoids the time zone set to the default of the server.

jelroux: the momentjs license is MIT

Thanks: Francis Douet

Added:
    ofbiz/ofbiz-framework/trunk/framework/common/groovyScripts/SetLocaleFromBrowser.groovy   (with props)
    ofbiz/ofbiz-framework/trunk/framework/images/webapp/images/moment-timezone-with-data.min.js   (with props)
    ofbiz/ofbiz-framework/trunk/framework/images/webapp/images/moment-with-locales.min.js   (with props)
    ofbiz/ofbiz-framework/trunk/framework/images/webapp/images/setUserLocale.js   (with props)
Modified:
    ofbiz/ofbiz-framework/trunk/framework/common/servicedef/services.xml
    ofbiz/ofbiz-framework/trunk/framework/common/webcommon/WEB-INF/common-controller.xml
    ofbiz/ofbiz-framework/trunk/framework/common/widget/CommonScreens.xml

Added: ofbiz/ofbiz-framework/trunk/framework/common/groovyScripts/SetLocaleFromBrowser.groovy
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/common/groovyScripts/SetLocaleFromBrowser.groovy?rev=1788256&view=auto
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/common/groovyScripts/SetLocaleFromBrowser.groovy (added)
+++ ofbiz/ofbiz-framework/trunk/framework/common/groovyScripts/SetLocaleFromBrowser.groovy Thu Mar 23 14:37:47 2017
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *******************************************************************************/
+
+import org.apache.ofbiz.entity.util.EntityQuery
+import org.apache.ofbiz.service.GenericServiceException
+import org.apache.ofbiz.service.ServiceUtil
+
+public Map setLocaleFromBrowser() {
+    Map results = ServiceUtil.returnSuccess()
+    userLogin = EntityQuery.use(delegator).from("UserLogin").where("userLoginId", parameters.userLogin.userLoginId).queryFirst();
+    if (userLogin) {
+        if (!userLogin.lastTimeZone || userLogin.lastTimeZone.equals("null")) {
+            userLogin.lastTimeZone = parameters.localeName
+            userLogin.store()
+        }
+    }
+    return results
+}

Propchange: ofbiz/ofbiz-framework/trunk/framework/common/groovyScripts/SetLocaleFromBrowser.groovy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/ofbiz-framework/trunk/framework/common/groovyScripts/SetLocaleFromBrowser.groovy
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/ofbiz-framework/trunk/framework/common/groovyScripts/SetLocaleFromBrowser.groovy
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: ofbiz/ofbiz-framework/trunk/framework/common/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/common/servicedef/services.xml?rev=1788256&r1=1788255&r2=1788256&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/common/servicedef/services.xml (original)
+++ ofbiz/ofbiz-framework/trunk/framework/common/servicedef/services.xml Thu Mar 23 14:37:47 2017
@@ -940,4 +940,9 @@ under the License.
         <description>Delete Uom Record</description>
         <auto-attributes include="pk" mode="IN"/>
     </service>
+
+    <service name="setLocaleFromBrowser" engine="groovy" location="component://common/groovyScripts/SetLocaleFromBrowser.groovy" invoke="setLocaleFromBrowser" auth="true">
+        <description>Set locale from browser.</description>
+        <attribute name="localeName" type="String" mode="IN" optional="true"/>
+    </service>
 </services>

Modified: ofbiz/ofbiz-framework/trunk/framework/common/webcommon/WEB-INF/common-controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/common/webcommon/WEB-INF/common-controller.xml?rev=1788256&r1=1788255&r2=1788256&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/common/webcommon/WEB-INF/common-controller.xml (original)
+++ ofbiz/ofbiz-framework/trunk/framework/common/webcommon/WEB-INF/common-controller.xml Thu Mar 23 14:37:47 2017
@@ -257,28 +257,28 @@ under the License.
         <response name="success" type="request" value="json"/>
         <response name="error" type="request" value="json"/>
     </request-map>
-    
+
     <request-map uri="getServerTimestamp">
         <security https="true" auth="true"/>
         <event type="service" invoke="getServerTimestamp"/>
         <response name="success" type="request" value="json"/>
         <response name="error" type="request" value="json"/>
     </request-map>
-    
+
     <request-map uri="getServerTimeZone">
         <security https="true" auth="true"/>
         <event type="service" invoke="getServerTimeZone"/>
         <response name="success" type="request" value="json"/>
         <response name="error" type="request" value="json"/>
     </request-map>
-    
+
     <request-map uri="getServerTimestampAsLong">
         <security https="true" auth="true"/>
         <event type="service" invoke="getServerTimestampAsLong"/>
         <response name="success" type="request" value="json"/>
         <response name="error" type="request" value="json"/>
     </request-map>
-    
+
     <request-map uri="qrcode">
         <security auth="true" https="false" />
         <event type="java" path="org.apache.ofbiz.common.qrcode.QRCodeEvents" invoke="serveQRCodeImage"/>
@@ -286,6 +286,14 @@ under the License.
         <response name="error" type="none" />
     </request-map>
 
+    <!-- Set local from user's browser -->
+    <request-map uri="setLocaleFromBrowser">
+        <security https="false" auth="false"/>
+        <event type="service" invoke="setLocaleFromBrowser"/>
+        <response name="success" type="request" value="json"/>
+        <response name="error" type="request" value="json"/>
+    </request-map>
+
     <!--========================== AJAX events =====================-->
 
     <!-- View Mappings -->

Modified: ofbiz/ofbiz-framework/trunk/framework/common/widget/CommonScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/common/widget/CommonScreens.xml?rev=1788256&r1=1788255&r2=1788256&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/common/widget/CommonScreens.xml (original)
+++ ofbiz/ofbiz-framework/trunk/framework/common/widget/CommonScreens.xml Thu Mar 23 14:37:47 2017
@@ -143,7 +143,7 @@ under the License.
                     <field-map field-name="themeResources" from-field="layoutSettings" />
                 </service>
                 <set field="layoutSettings" from-field="themeResources" default-value="${layoutSettings}" global="true" />
-                
+
                 <set field="initialLocaleComplete" type="String" value="${groovy:parameters?.userLogin?.lastLocale}" default-value="${groovy:locale.toString()}" />
                 <set field="layoutSettings.javaScripts[+0]" value="${groovy: org.apache.ofbiz.common.JsLanguageFilesMapping.datejs.getFilePath(initialLocaleComplete)}" global="true" />
                 <set field="layoutSettings.javaScripts[+0]" value="${groovy: org.apache.ofbiz.common.JsLanguageFilesMapping.jquery.getFilePath(initialLocaleComplete)}" global="true" />
@@ -153,6 +153,10 @@ under the License.
                 <set field="layoutSettings.javaScripts[]" value="/images/jquery/plugins/Readmore.js-master/readmore.js" global="true"/>
                 <set field="layoutSettings.javaScripts[]" value="/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.js" global="true"/>
                 <set field="layoutSettings.styleSheets[+0]" value="/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.css" global="true" />
+                <!-- Set default user locale from browser -->
+                <set field="layoutSettings.javaScripts[+0]" value="/images/setUserLocale.js"/>
+                <set field="layoutSettings.javaScripts[+0]" value="/images/moment-timezone-with-data.min.js" global="true"/>
+                <set field="layoutSettings.javaScripts[+0]" value="/images/moment-with-locales.min.js" global="true"/>
             </actions>
             <widgets />
         </section>

Added: ofbiz/ofbiz-framework/trunk/framework/images/webapp/images/moment-timezone-with-data.min.js
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/images/webapp/images/moment-timezone-with-data.min.js?rev=1788256&view=auto
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/images/webapp/images/moment-timezone-with-data.min.js (added)
+++ ofbiz/ofbiz-framework/trunk/framework/images/webapp/images/moment-timezone-with-data.min.js Thu Mar 23 14:37:47 2017
@@ -0,0 +1,7 @@
+//! moment-timezone.js
+//! version : 0.5.10
+//! Copyright (c) JS Foundation and other contributors
+//! license : MIT
+//! github.com/moment/moment-timezone

[... 4 lines stripped ...]
Propchange: ofbiz/ofbiz-framework/trunk/framework/images/webapp/images/moment-timezone-with-data.min.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/ofbiz-framework/trunk/framework/images/webapp/images/moment-timezone-with-data.min.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/ofbiz-framework/trunk/framework/images/webapp/images/moment-timezone-with-data.min.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain