* SOGoMailFolder.m: report NO in -isCreateAllowed when the folder is
the INBOX and SOGoSpecialFoldersInRoot (altnamespace) is enabled
(#1472) (v0.9.112)
-
+
* SOGoDraftObject.m: made 'SOGoInternetMailSuffix' a pattern which can
access request values (v0.9.111)
2005-07-19 Helge Hess <helge.hess@opengroupware.org>
+ * UIxPageFrame.m: workaround for an issue with [page name] (page name
+ gets reset, so we use the page class instead) (v0.9.46)
+
* UIxPageFrame.m: added ability to auto-load per-page JavaScript files
if appropriate resources are available (v0.9.45)
static NSMutableDictionary *pageToURL = nil;
WOResourceManager *rm;
WOComponent *page;
- NSString *jsname;
+ NSString *jsname, *pageName;
NSString *url;
- page = [[self context] page];
- jsname = [page name];
- if ((url = [pageToURL objectForKey:jsname]) != nil)
+ page = [[self context] page];
+ pageName = NSStringFromClass([page class]);
+ // TODO: does not seem to work! (gets reset): pageName = [page name];
+
+ if ((url = [pageToURL objectForKey:pageName]) != nil)
return [url isNotNull] ? url : nil;
if (pageToURL == nil)
pageToURL = [[NSMutableDictionary alloc] initWithCapacity:32];
rm = [self pageResourceManager];
- jsname = [jsname stringByAppendingString:@".js"];
+ jsname = [pageName stringByAppendingString:@".js"];
url = [rm urlForResourceNamed:jsname
inFramework:
request:[[self context] request]];
/* cache */
- [pageToURL setObject:(url ? url : (id)[NSNull null]) forKey:[page name]];
+ [pageToURL setObject:(url ? url : (id)[NSNull null]) forKey:pageName];
return url;
}
# Version file
-SUBMINOR_VERSION:=45
+SUBMINOR_VERSION:=46
# v0.9.28 requires NGExtensions v4.5.136
2005-07-19 Helge Hess <helge.hess@opengroupware.org>
+ * UIxAppointmentEditor.wox: import scheduler labels to the client,
+ moved validation function to UIxAppointmentEditor.js
+
* UIxAppointmentEditor.wox: use dateformat specific parsing methods
during validation (#1490)
className="UIxPageFrame"
title="name"
>
- <script language="JavaScript">
- function validateAptEditor() {
- var e;
-
- e = document.getElementById('summary');
- if (e.value.length == 0) {
- if (!confirm('<var:string label:value="validate_notitle"/>'))
- return false;
- }
-
- e = document.getElementById('startTime_date');
- if (e.value.length != 10) {
- alert('<var:string label:value="validate_invalid_startdate"/>');
- return false;
- }
- if (calendar_startTime_date.prs_date(e.value) == null)
- return false;
-
- e = document.getElementById('endTime_date');
- if (e.value.length != 10) {
- alert('<var:string label:value="validate_invalid_enddate"/>');
- return false;
- }
- if (calendar_endTime_date.prs_date(e.value) == null)
- return false;
-
- // TODO: parse start/enddate and ensure that start is before end
-
- return true;
- }
- </script>
+ <var:js-stringtable const:framework="SchedulerUI.SOGo"
+ const:identifier="labels" />
<form var:href="clientObject.baseURL" name="editform"
onsubmit="return validateAptEditor()">
--- /dev/null
+function validateAptEditor() {
+ var e;
+
+ e = document.getElementById('summary');
+ if (e.value.length == 0) {
+ if (!confirm(labels.validate_notitle))
+ return false;
+ }
+
+ e = document.getElementById('startTime_date');
+ if (e.value.length != 10) {
+ alert(labels.validate_invalid_startdate);
+ return false;
+ }
+ if (calendar_startTime_date.prs_date(e.value) == null)
+ return false;
+
+ e = document.getElementById('endTime_date');
+ if (e.value.length != 10) {
+ alert(labels.validate_invalid_enddate);
+ return false;
+ }
+ if (calendar_endTime_date.prs_date(e.value) == null)
+ return false;
+
+ // TODO: parse start/enddate and ensure that start is before end
+
+ return true;
+}