]> err.no Git - scalable-opengroupware.org/commitdiff
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1180 d1b88da0-ebda-0310...
authorwolfgang <wolfgang@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Thu, 20 Sep 2007 13:32:45 +0000 (13:32 +0000)
committerwolfgang <wolfgang@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Thu, 20 Sep 2007 13:32:45 +0000 (13:32 +0000)
23 files changed:
ChangeLog
NEWS
Scripts/sogo-init.d-rhel4 [new file with mode: 0755]
UI/Common/English.lproj/Localizable.strings
UI/Common/French.lproj/Localizable.strings
UI/Common/UIxPageFrame.h
UI/Common/UIxPageFrame.m
UI/Contacts/UIxContactView.m
UI/MailPartViewers/UIxMailPartICalViewer.m
UI/MailerUI/UIxMailListView.m
UI/MainUI/SOGoUserHomePage.m
UI/Scheduler/UIxComponentEditor.m
UI/Templates/ContactsUI/UIxContactView.wox
UI/Templates/MailerUI/UIxMailListView.wox
UI/Templates/MainUI/SOGoRootPage.wox
UI/Templates/UIxPageFrame.wox
UI/WebServerResources/ContactsUI.css
UI/WebServerResources/ContactsUI.js
UI/WebServerResources/MailerUI.css
UI/WebServerResources/SOGoRootPage.css
UI/WebServerResources/UIxAttendeesEditor.css
UI/WebServerResources/UIxAttendeesEditor.js
UI/WebServerResources/UIxComponentEditor.js

index 72ce783ca7e77352e062d0526f1cdd9a4944e0c6..ac0d9909c6d19e28fe22aae69dbe9e33d109e152 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2007-09-17  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
 
+       * UI/MailPartViewers/UIxMailPartICalViewer.m
+       ([UIxMailPartICalViewer -calendarFolder]): returns the "personal"
+       entry of the Calendars parent folder.
+
+       * UI/MailerUI/UIxMailListView.m ([UIxMailListView
+       -messageSubject]): new accessor method to work-around a problem
+       within SOPE where a subject could be returned as an NSData.
+
        * SoObjects/SOGo/SOGoParentFolder.m ([SOGoParentFolder
        -appendPersonalSources]): make sure the value of the "c_path4" of
        the returned rows are not NSNull, otherwise, discard them.
diff --git a/NEWS b/NEWS
index e6fe36e0f69ac024a81b2cdc8e2c56457bc09075..8947cccfd1e185557e6e82e561f0973416b23689 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,7 +9,9 @@
 - fixed search in message content;
 - added tooltips for toolbar buttons (English and French);
 - added checkmarks in live search options popup menus;
+- added browser detection with recommanded alternatives;
 - initial support for resizable columns in tables;
+- improved IE7 and Safari support: attendees selector;
 - countless bugfixes;
 
 0.9.0-20070824
diff --git a/Scripts/sogo-init.d-rhel4 b/Scripts/sogo-init.d-rhel4
new file mode 100755 (executable)
index 0000000..35d20f9
--- /dev/null
@@ -0,0 +1,87 @@
+#!/bin/bash
+# chkconfig:   - 85 15
+# description: SOGo is a groupware server
+# processname:  sogod-0.9
+# config:      /etc/sysconfig/sogo
+# config:      /etc/httpd/conf.d/SOGo.conf
+# pidfile:     /var/run/sogo/sogod.pid
+
+# SOGo init script for RedHat
+#
+# Copyright (C) 2007 Inverse groupe conseil
+#
+# Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# sogod                Scalable OpenGroupware.org (Inverse edition)
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+. /etc/rc.d/init.d/functions
+
+if [ -z "$GNUSTEP_SYSTEM_ROOT" ]
+then
+  . /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
+fi
+
+REAL_DAEMON=$GNUSTEP_SYSTEM_ROOT/Tools/sogod-0.9
+DAEMON=/usr/sbin/sogod
+NAME=sogo
+DESC="Scalable OpenGroupware.Org (Inverse edition)"
+
+PIDFILE=/var/run/sogo/sogod.pid
+
+SOGO_ARGS=""
+
+if [ -f /etc/sysconfig/sogo ]; then
+    . /etc/sysconfig/sogo
+fi
+
+test -x $DAEMON || exit 0
+
+#set -e
+
+case "$1" in
+  start)
+       echo -n $"Starting $DESC: "
+       daemon su - sogo -c $DAEMON
+       echo "$NAME."
+       ;;
+  stop)
+       echo -n $"Stopping $DESC: "
+       killproc `basename $REAL_DAEMON` && rm -f $PIDFILE
+       echo "$NAME."
+       ;;
+  restart|force-reload)
+       echo -n $"Restarting $DESC: "
+       killproc `basename $REAL_DAEMON` && rm -f $PIDFILE
+       sleep 1
+       daemon su - sogo -c $DAEMON
+       echo "$NAME."
+       ;;
+  status)
+       status $REAL_DAEMON
+       ;;
+  *)
+       N=/etc/init.d/$NAME
+       echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
+       exit 1
+       ;;
+esac
+
+exit 0
+
index f25d4d2f4b639f46cd33e0f689d4713105bf7ef2..6d453e1314b5a7d775909cd580b7f320c5c42ddc 100644 (file)
 
 "Sorry, the user rights can not be configured for that object." = "Sorry, the user rights can not be configured for that object.";
 
+"browserNotCompatible" = "We've detected that your browser version is currently not supported on this site. Our recommendation is to use Firefox. Link to download the most current version of this browser is provided bellow:";
+"alternativeBrowsers" = "Alternatively, you can also use the following compatible browsers";
+"alternativeBrowserSafari" = "Alternatively, you can also use Safari.";
+"Download" = "Download";
+
 /* generic.js */
 "Unable to subscribe to that folder!"
        = "Unable to subscribe to that folder!";
index 839c0bb88fa3ae5e108229fce6a0a4fa4e25ddb7..7cd854ba0177afa0858d9eea46fd13d4bfbc42d6 100644 (file)
 
 "Sorry, the user rights can not be configured for that object." = "Sorry, the user rights can not be configured for that object.";
 
+"browserNotCompatible" = "La version de votre navigateur Web n'est présentement pas supportée par ce site. Nous recommandons d'utiliser Firefox. Vous trouverez un lien vers la plus récente version de ce navigateur ci-dessous:";
+"alternativeBrowsers" = "Comme alternative, vous pouvez aussi utiliser les navigateurs suivants:";
+"alternativeBrowserSafari" = "Comme alternative, vous pouvez aussi utiliser Safari.";
+"Download" = "Télécharger";
+
 /* generic.js */
 "Unable to subscribe to that folder!" = "Impossible de s'abonner à ce dossier.";
 "You cannot subscribe to a folder that you own!" = "Impossible de vous abonner à un dossier qui vous appartient.";
index 94fe9816f9a7bd6a0d7a690583794af35a7fdbae..1faf08cbb66ef69ba86551d6d795c6bd197fee0d 100644 (file)
@@ -23,6 +23,7 @@
 #define UIXPAGEFRAME_H
 
 #import <SOGoUI/UIxComponent.h>
+#import <NGObjWeb/WEClientCapabilities.h>
 
 @interface WOComponent (PopupExtension)
 
 - (void) setToolbar: (NSString *) newToolbar;
 - (NSString *) toolbar;
 
+- (BOOL) isCompatibleBrowser;
+- (BOOL) isIE7Compatible;
+- (BOOL) isMac;
+
 @end
 
 #endif /* UIXPAGEFRAME_H */
index 267a653d85fe770de39f91e9796b8904a6441ae7..193781ed9744b896e25d5a834a2bffb380a6702a 100644 (file)
   return toolbar;
 }
 
+/* browser/os identification */
+
+- (BOOL) isCompatibleBrowser
+{
+  WEClientCapabilities *cc;
+
+  cc = [[context request] clientCapabilities];
+
+  //NSLog(@"Browser = %@", [cc description]);
+  NSLog(@"User agent = %@", [cc userAgent]);
+  //NSLog(@"Browser major version = %i", [cc majorVersion]);
+
+  return ( 
+         ([[cc userAgentType] isEqualToString: @"IE"] && [cc majorVersion] >= 7) ||
+         ([[cc userAgentType] isEqualToString: @"Mozilla"] && [cc majorVersion] >= 5) ||
+         ([[cc userAgentType] isEqualToString: @"Safari"] && [cc majorVersion] >= 4)
+          );
+}
+
+- (BOOL) isIE7Compatible
+{
+  WEClientCapabilities *cc;
+
+  cc = [[context request] clientCapabilities];
+  
+  return ([cc isWindowsBrowser] &&
+         ([[cc userAgent] rangeOfString: @"NT 5.1"].location != NSNotFound ||
+          [[cc userAgent] rangeOfString: @"NT 6"].location != NSNotFound));
+}
+
+- (BOOL) isMac
+{
+  WEClientCapabilities *cc;
+
+  cc = [[context request] clientCapabilities];
+
+  return [cc isMacBrowser];
+}
+
+
 @end /* UIxPageFrame */
index 01a07de902f00bd16dd0abbae1f19a2bd740853c..dc789fa7b485bce88ae2d9b1a1ccf56e1346fbbb 100644 (file)
     {
       url = [[elements objectAtIndex: 0] value: 0];
       data = [NSString stringWithFormat:
-                         @"<a href=\"%@\">%@</a>",
+                         @"<a href=\"%@\" target=\"_blank\">%@</a>",
                        url, url];
     }
   else
index 6e7a690c8336f20f634e96a46f43b0fa9b0016b6..8b31e5325e3e2f686b4726c30ead13a7b0d06e41 100644 (file)
 
 /* calendar folder support */
 
-- (id)calendarFolder {
+- (id) calendarFolder
+{
   /* return scheduling calendar of currently logged-in user */
   SOGoUser *user;
   id folder;
                                                inContext: context
                                                acquire: NO];
 
-  return folder;
+  return [folder lookupName: @"personal" inContext: context acquire: NO];
 }
 
 - (id)storedEventObject {
index ac5b718440e50cea781f3efbe8255b546d1c488b..e004eae938c26ab6715bb6fa0136d0f331f31232 100644 (file)
@@ -98,6 +98,24 @@ static int attachmentFlagSize = 8096;
   return [dateFormatter formattedDateAndTime: messageDate];
 }
 
+- (NSString *) messageSubject
+{
+  NSString *subject;
+  id envSubject;
+
+  envSubject = [[message valueForKey: @"envelope"] subject];
+  if ([envSubject isKindOfClass: [NSData class]])
+    {
+      subject = [[NSString alloc] initWithData: envSubject
+                                 encoding: NSUTF8StringEncoding];
+      [subject autorelease];
+    }
+  else
+    subject = envSubject;
+
+  return subject;
+}
+
 - (BOOL) showToAddress 
 {
   NSString *ftype;
index 910155833657e00b828dfd829a45025f7c4a8425..032a615fa9ce88a40102e00d213ea0a96c4e9066 100644 (file)
@@ -221,6 +221,11 @@ static NSString *defaultModule = nil;
   date = [NSCalendarDate calendarDate];
   [cookie setExpires: [date yesterday]];
   [response addCookie: cookie];
+  
+  [response setHeader: date forKey: @"Last-Modified"];
+  [response setHeader: @"no-store, no-cache, must-revalidate, max-age=0" forKey: @"Cache-Control"];
+  [response setHeader: @"post-check=0, pre-check=0" forKey: @"Cache-Control"];
+  [response setHeader: @"no-cache" forKey: @"Pragma"];
 
   return response;
 }
index 5cfeecaf41613ea0bc0d86348f79b84f9318b3f5..9046b32297b5668e005676f070507e2dfa9effc0 100644 (file)
 {
   NSArray *calendars;
 
-  calendars = [[self calendarList] valueForKey: @"folder"];
+  calendars = [[self calendarList] valueForKey: @"nameInContainer"];
 
   return [calendars componentsJoinedByString: @","];
 }
index adfdbeacaff38864e6e2c783b13182be5a9b08e8..888752b0d322be864331e8341912757daf005349 100644 (file)
@@ -20,7 +20,6 @@
           /><var:string value="primaryEmail" escapeHTML="NO"
           /><var:string value="secondaryEmail" escapeHTML="NO"
           /><var:string value="screenName" escapeHTML="NO"
-          /><var:string value="preferredTel" escapeHTML="NO"
           /><var:string value="preferredAddress" escapeHTML="NO"
           /></div
         
index c5a3f0de0ac2e767953002bfcb111c938ac64127..f77b319867ce0155984c92080699218f4a4e8c57 100644 (file)
@@ -62,7 +62,7 @@
          ><td
          var:class="messageSubjectCellStyleClass"
          var:id="msgDivID"
-         ><var:string value="message.envelope.subject"
+         ><var:string value="messageSubject"
            /></td
 
          ><td class="messageAddressColumn"
index 0fa3da10e83530dac02e987ffb175126e8bac9f3..af0bc6bc46a16c7bd0f8292e6f7b6a7f2e478bc6 100644 (file)
@@ -7,10 +7,10 @@
   xmlns:const="http://www.skyrix.com/od/constant"
   xmlns:rsrc="OGo:url"
   xmlns:label="OGo:label"
-  ><var:string var:value="doctype" const:escapeHTML="NO" />
+  ><var:string var:value="doctype" const:escapeHTML="NO"/>
   <form id="connectForm" var:href="connectURL">
     <div id="loginScreen">
-      <img rsrc:src="lori-login.jpg"/><br/><br/>
+      <img id="splash" rsrc:src="lori-login.jpg"/><br/><br/>
       <label><var:string label:value="Login:"/><br/>
        <input class="textField" id="userName" name="userName"
          type="text" var:value="userName" /></label><br/>
@@ -21,6 +21,6 @@
        <input class="button" id="submit" name="submit" type="submit" label:value="Connect" />
       </div>
     </div>
-  </form>
-  <img id="preparedAnimation" rsrc:src="busy.gif"/>
+  </form
+  ><img id="preparedAnimation" rsrc:src="busy.gif"/>
 </var:component>
index ff1588e05186ec38ae6f47bcae8daecf47a2b761..ada40f363869cd5264317c487a6b6894682810ac 100644 (file)
@@ -33,8 +33,9 @@
            /></var:if-ie>
       </head>
 
-      <body var:class="bodyClasses">
-       <script type="text/javascript">
+      <body var:class="bodyClasses"
+      ><var:if condition="isCompatibleBrowser"
+       ><script type="text/javascript">
          var ApplicationBaseURL = '<var:string value="applicationPath" />';
          var ResourcesURL = '/SOGo.woa/WebServerResources';
          <var:if condition="shortUserNameForDisplay" const:value="anonymous"
        <div class="pageContent"
          ><var:component-content
            /></div>
+        </var:if>
+        <var:if condition="isCompatibleBrowser" const:negate="YES">
+    <div id="loginScreen">
+      <img id="splash" rsrc:src="lori-login.jpg"/><br/><br/>
+      <p><var:string label:value="browserNotCompatible"/></p>
+      <p class="browser"><a href="http://www.getfirefox.com/"><img rsrc:src="browser_firefox.gif"/><var:string label:value="Download"/> Firefox</a></p>
+    <var:if condition="isIE7Compatible">
+      <p><var:string label:value="alternativeBrowsers"/></p>
+      <p class="browser"><a href="http://www.microsoft.com/ie/download/"><img rsrc:src="browser_ie.gif"/><var:string label:value="Download"/> Internet Explorer 7</a></p>
+      <p class="browser"><a href="http://www.apple.com/safari/download/"><img rsrc:src="browser_safari.gif"/><var:string label:value="Download"/> Safari 3</a></p>
+    </var:if>
+    <var:if condition="isMac">
+      <p><var:string label:value="alternativeBrowserSafari"/></p>
+      <p class="browser"><a href="http://www.apple.com/safari/download/"><img rsrc:src="browser_safari.gif"/><var:string label:value="Download"/> Safari 3</a></p>
+    </var:if>
+    </div>
+  </var:if>
        <noscript>
          <div class="javascriptPopupBackground">
          </div>
index c74c0cf9583ab060e827b417e9a30768a3de28da..ccf2bc5dbcbe32fbd581980ab2d06a115165363b 100644 (file)
@@ -39,8 +39,8 @@ DIV#contactsListContent
   left: 0px;
   right: 0px;
   height: 16em;
-  overflow: hidden;
-  overflow-y: auto; }
+  overflow: scroll;
+  overflow-x: hidden; }
 
 .aptview_text
 {
@@ -108,8 +108,7 @@ table.titletable td.titlecell SELECT
 }
 
 DIV#contactFoldersList
-{
-  position: absolute;
+{ position: absolute;
   top: 6em;
   left: 0px;
   width: 15em;
@@ -130,8 +129,11 @@ UL#contactFolders
   list-style-image: none;
   clear: both;
   cursor: default;
-  color: #000;  
+  color: #000;
   background: #fff;
+  position: absolute; /* required for Safari & IE */
+  top: 53px; /* leave space for the mini addressbook */
+  bottom: 0px;
   width: 100%;
   height: 100%;
   margin: 0px;
@@ -141,8 +143,7 @@ UL#contactFolders
   border-right: 1px solid #fff;
   border-bottom: 1px solid #fff;
   -moz-border-top-colors: #9c9a94 #000;
-  -moz-border-left-colors: #9c9a94 #000;
-  overflow: auto; }
+  -moz-border-left-colors: #9c9a94 #000; }
 
 DIV#contactFoldersList LI
 {
@@ -214,7 +215,8 @@ DIV#contactView A
 
 DIV#contactView H3.contactCardTitle
 { display: block;
-  margin: .2em 0px;
+  margin: 0px;
+  padding: .2em 0px;
   font-size: large;
   font-weight: bold;
   width: 100%;
index b940720a9c3f3723bb2816d6f31541eb4b6672b9..2b58fa4cc29d1cb6b996bd4563e48cba4e945d73 100644 (file)
@@ -614,6 +614,7 @@ function configureDragHandles() {
     handle.addInterface(SOGoDragHandlesInterface);
     handle.leftBlock=$("contactFoldersList");
     handle.rightBlock=$("rightPanel");
+    handle.leftMargin = 100;
   }
 
   handle = $("rightDragHandle");
index 6b2e4773a2f36e29559b5ee57226a6bf9460269b..c1ac5c7dd600e579126e9ff4519fab70c7d2023a 100644 (file)
@@ -33,8 +33,7 @@ DIV#leftPanel
 }
 
 DIV#rightPanel
-{ 
-  position: absolute;
+{ position: absolute;
   top: 5.5em;
   left: 15em;
   right: 0px;
@@ -42,8 +41,7 @@ DIV#rightPanel
   margin: 0px;
   margin-left: 5px;
   padding: 0px;
-  overflow: hidden;
-}
+  overflow: hidden; }
 
 /* top list */
 DIV#mailboxContent
@@ -54,8 +52,8 @@ DIV#mailboxContent
   left: 0px;
   right: 0px;
   height: 15.5em;
-  overflow: hidden;
-  overflow-y: auto; }
+  overflow: scroll;
+  overflow-x: hidden; }
 
 DIV#messageContent
 { position: absolute;
index 15d0c1f47b9169600843bcea1620e54e58ad5c3a..9654ce87dad0cd539dbd7ee08ef699a06a42a876 100644 (file)
@@ -15,14 +15,13 @@ DIV#loginScreen
   padding: 5px;
   border: 2px solid transparent;
   width: 200px;
-  height: 315px;
   -moz-border-top-colors: #efebe7 #fff;
   -moz-border-left-colors: #efebe7 #fff;
   -moz-border-right-colors: #000 #9c9a94 transparent;
   -moz-border-bottom-colors: #000 #9c9a94 transparent;
 }
 
-DIV#loginScreen IMG
+IMG#splash
 { border: 0px;
   margin: 0px;
   padding: 0px;
@@ -46,3 +45,15 @@ DIV#loginButton IMG#progressIndicator
   border: 0px none;
   margin-top: 5px;
   margin-left: 5px; }
+
+P.browser
+{ background-color: #fff;
+  border-top: 1px solid #888;
+  border-left: 1px solid #888;
+  border-right: 1px solid #eee;
+  border-bottom: 1px solid #eee; 
+  line-height: 32px; }
+
+P.browser img
+{ padding: 2px;
+  vertical-align: middle; }
\ No newline at end of file
index db0d0499f6ebef82b89a1384057675df8178c04b..054a9515033fe513169b5efbc6c72f6a557559db 100644 (file)
@@ -20,6 +20,13 @@ DIV#freeBusyView
   -moz-border-top-colors: #9c9a94 #000;
   -moz-border-left-colors: #9c9a94 #000; }
 
+TABLE#freeBusy
+{ border-collapse: collapse;
+  table-layout: auto; }
+
+TABLE#freeBusy THEAD TH
+{ white-space: nowrap; }
+
 TABLE#freeBusy TD,
 TABLE#freeBusy TH
 { padding: 0px;
@@ -56,14 +63,14 @@ TABLE#freeBusy TR.freeBusyHeader2 TH,
 TABLE#freeBusy TR.freeBusyHeader3 TH
 { text-align: left;
   color: #777;
-  background: #fff;
-  border-collapse: collapse; }
+  background: #fff; }
 
 TABLE#freeBusy TR.freeBusyHeader2 TH
-{ width: 6em; }
+{ padding-right: 2em; }
 
 TABLE#freeBusy TR.freeBusyHeader3 TH
-{ border-bottom: 1px solid #cecbff; }
+{ border-left: 1px solid #fff;
+  border-bottom: 1px solid #cecbff; }
 
 TABLE#freeBusy TR.attendeeModel
 { display: none; }
@@ -84,6 +91,7 @@ TABLE#freeBusy TD.noFreeBusy
 SPAN.freeBusyZoneElement
 { display: block;
   float: left;
+  clear: right;
   width: 25%;
   margin: 0px;
   padding: 0px;
index f7f17be0021349d30b85ccd3d390c36eb467b55e..0f0547d661d48a351e0fa1f81542fdb05637e0db 100644 (file)
@@ -268,9 +268,9 @@ function setSlot(tds, nbr, status) {
     var td = tds[i];
     var spans = $(td).childNodesWithTag("span");
     if (status == '2')
-      spans[spannbr].addClassName("maybe-busy");
+      $(spans[spannbr]).addClassName("maybe-busy");
     else
-      spans[spannbr].addClassName("busy");
+      $(spans[spannbr]).addClassName("busy");
   }
 }
 
@@ -282,7 +282,7 @@ function updateFreeBusyData(http) {
       var tds = node.parentNode.parentNode.cells;
       for (var i = 0; i < slots.length; i++) {
         if (slots[i] != '0')
-          setSlot(tds, i, slots[i]);
+         setSlot(tds, i, slots[i]);
       }
     }
     document.contactFreeBusyAjaxRequest = null;
@@ -502,14 +502,14 @@ function prepareAttendees() {
       for (var i = 0; i < attendeesNames.length; i++) {
         var tr = body.insertRow(i);
         var td = document.createElement("td");
-        td.addClassName("attendees");
+        $(td).addClassName("attendees");
         var input = document.createElement("input");
         var value = "";
         if (attendeesNames[i].length > 0)
            value += attendeesNames[i] + " ";
         value += "<" + attendeesEmails[i] + ">";
         input.value = value;
-        input.addClassName("textField");
+        $(input).addClassName("textField");
         input.setAttribute("modified", "0");
         tr.appendChild(td);
         td.appendChild(input);
index a00b4d16d4118fe8f7c68be84f92863ca810c71f..8aa9c1124bb95c85430e2cdc59f6eedfe3b45527 100644 (file)
@@ -74,13 +74,7 @@ function onChangeCalendar(event) {
    var form = document.forms["editform"];
    var urlElems = form.getAttribute("action").split("/");
    var choice = calendars[this.value];
-   var ownerLogin;
-   if (choice.indexOf(":") > -1)
-      ownerLogin = choice.split(":")[0];
-   else
-      ownerLogin = UserLogin;
-   urlElems[urlElems.length-4] = ownerLogin;
-
+   urlElems[urlElems.length-3] = choice;
    form.setAttribute("action", urlElems.join("/"));
 }