[Rt-commit] r3808 - in rt/branches/3.5-TESTING: .
etc/upgrade/QUEBEC html html/Admin/CustomFields
html/Admin/Elements html/Elements html/NoAuth html/Search
html/Search/Elements html/Ticket html/Ticket/Elements
html/Tools/Reports lib/RT/I18N
jesse at bestpractical.com
jesse at bestpractical.com
Fri Sep 2 12:43:51 EDT 2005
Author: jesse
Date: Fri Sep 2 12:43:47 2005
New Revision: 3808
Added:
rt/branches/3.5-TESTING/etc/upgrade/QUEBEC/
rt/branches/3.5-TESTING/etc/upgrade/QUEBEC/content
rt/branches/3.5-TESTING/html/CalPopup.html
rt/branches/3.5-TESTING/html/NoAuth/cascaded.js
rt/branches/3.5-TESTING/html/NoAuth/class.js
rt/branches/3.5-TESTING/html/NoAuth/combobox.js
rt/branches/3.5-TESTING/html/NoAuth/list.js
rt/branches/3.5-TESTING/html/rt.js
Modified:
rt/branches/3.5-TESTING/ (props changed)
rt/branches/3.5-TESTING/html/Admin/CustomFields/index.html
rt/branches/3.5-TESTING/html/Admin/Elements/AddCustomFieldValue
rt/branches/3.5-TESTING/html/Admin/Elements/PickObjects
rt/branches/3.5-TESTING/html/Elements/MyRT
rt/branches/3.5-TESTING/html/Search/Bulk.html
rt/branches/3.5-TESTING/html/Search/Elements/PickBasics
rt/branches/3.5-TESTING/html/Search/Results.html
rt/branches/3.5-TESTING/html/Ticket/Elements/EditBasics
rt/branches/3.5-TESTING/html/Ticket/Elements/ShowSummary
rt/branches/3.5-TESTING/html/Ticket/Reminders.html
rt/branches/3.5-TESTING/html/Tools/Reports/index.html
rt/branches/3.5-TESTING/lib/RT/I18N/fr.po
Log:
r14085 at hualien: jesse | 2005-08-30 05:59:38 -0400
r14057 at hualien: jesse | 2005-08-30 05:48:48 -0400
r13699 at hualien: jesse | 2005-08-22 14:46:07 -0400
r13255 at hualien (orig r3700): trs | 2005-08-18 22:39:02 -0400
r6002 at wintermute: tom | 2005-08-18 22:37:53 -0400
Fixed typo
Added: rt/branches/3.5-TESTING/etc/upgrade/QUEBEC/content
==============================================================================
--- (empty file)
+++ rt/branches/3.5-TESTING/etc/upgrade/QUEBEC/content Fri Sep 2 12:43:47 2005
@@ -0,0 +1,36 @@
+ at Attributes = (
+ { Name => 'Search - My Tickets',
+ Description => '[_1] highest priority tickets I own',
+ Content =>
+ { Format => "'<a href=\"__WebPath__/Ticket/Display.html?id=__id__\">__id__</a>/TITLE:#', '<a href=\"$RT::WebPath/Ticket/Display.html?id=__id__\">__Subject__</a>/TITLE:Subject', Priority, QueueName, ExtendedStatus",
+ Query => " Owner = '__CurrentUser__' AND ( Status = 'new' OR Status = 'open')",
+ OrderBy => 'Priority',
+ Order => 'DESC' },
+ },
+ { Name => 'Search - Unowned Tickets',
+ Description => '[_1] newest unowned tickets',
+ Content =>
+ { Format => "'<a href=\"__WebPath__/Ticket/Display.html?id=__id__\">__id__</a>/TITLE:#', '<a href=\"__WebPath__/Ticket/Display.html?id=__id__\">__Subject__</a>/TITLE:Subject', QueueName, ExtendedStatus, CreatedRelative, '<A HREF=\"__WebPath__/Ticket/Display.html?Action=Take&id=__id__\">__loc(Take)__</a>/TITLE: ' ",
+ Query => " Owner = 'Nobody' AND ( Status = 'new' OR Status = 'open')",
+ OrderBy => 'Created',
+ Order => 'DESC' },
+ },
+ { Name => 'HomepageSettings',
+ Description => 'HomepageSettings',
+ Content =>
+ { 'body' =>
+ [ { type => 'system', name => 'My Tickets' },
+ { type => 'system', name => 'Unowned Tickets' },
+ { type => 'component', name => 'QuickCreate'},
+ ],
+ 'summary' =>
+ [
+ { type => 'component', name => 'MyReminders' },
+ { type => 'component', name => 'Quicksearch' },
+ { type => 'component', name => 'RefreshHomepage' },
+ ]
+ },
+}
+);
+
+1;
Modified: rt/branches/3.5-TESTING/html/Admin/CustomFields/index.html
==============================================================================
--- rt/branches/3.5-TESTING/html/Admin/CustomFields/index.html (original)
+++ rt/branches/3.5-TESTING/html/Admin/CustomFields/index.html Fri Sep 2 12:43:47 2005
@@ -77,7 +77,7 @@
% for (@types) {
<option value="<% $_->[1] %>"><% $_->[0] %></option>
% }
-</select> <input type="submit" class="button" value="<%loc('Go')%>" />
+</select> <input type="submit" value="<%loc('Go')%>" />
</form>
<%args>
Modified: rt/branches/3.5-TESTING/html/Admin/Elements/AddCustomFieldValue
==============================================================================
--- rt/branches/3.5-TESTING/html/Admin/Elements/AddCustomFieldValue (original)
+++ rt/branches/3.5-TESTING/html/Admin/Elements/AddCustomFieldValue Fri Sep 2 12:43:47 2005
@@ -59,6 +59,11 @@
</TD>
% if ($CustomField->Type ne 'Combobox') {
<TD><small>
+<&|/l&>Description</&>:<br>
+<input type="text" size=50 name="CustomField-<%$CustomField->Id%>-Value-new-Description">
+</TD>
+% if ($CustomField->Type ne 'Combobox') {
+<TD><small>
<&|/l&>Category</&>:<br>
<input type="text" size=10 name="CustomField-<%$CustomField->Id%>-Value-new-Category">
</TD>
Modified: rt/branches/3.5-TESTING/html/Admin/Elements/PickObjects
==============================================================================
--- rt/branches/3.5-TESTING/html/Admin/Elements/PickObjects (original)
+++ rt/branches/3.5-TESTING/html/Admin/Elements/PickObjects Fri Sep 2 12:43:47 2005
@@ -51,14 +51,16 @@
% foreach my $Object (@Objects) {
<tr>
% my $id = "Object-".$Object->id."-CF-".$id;
+% my $id = "Object-".$Object->id."-CF-".$id;
% if (!$ReadOnly) {
- <td valign="TOP">
-<input type="checkbox" class="checkbox" id="<% $id %>" name="<% $id %>" value="1" <% $Checked ? 'CHECKED' : ''%>
+ <TD valign="TOP">
+<input type="checkbox" id="<% $id %>" name="<% $id %>" value="1" <% $Checked ? 'CHECKED' : ''%>
>
</td>
% }
<td valign="TOP">
<label for="<% $id %>">
+ <label for="<% $id %>">
% if ($Object->Name) {
<b><%$Object->Name%></b><br>
% } else {
@@ -66,8 +68,8 @@
% }
<%$Object->can('Description') && $Object->Description%>
</label>
- </td>
-%# <td valign="TOP">
+ </TD>
+%# <TD valign="TOP">
%# <i><% $CustomFieldObj->FriendlyTypeComposite %></i>
%# </td>
</td>
Added: rt/branches/3.5-TESTING/html/CalPopup.html
==============================================================================
--- (empty file)
+++ rt/branches/3.5-TESTING/html/CalPopup.html Fri Sep 2 12:43:47 2005
@@ -0,0 +1,83 @@
+<& /Elements/Header &>
+<script>
+function updateParent(strItem) {
+ window.opener.document.getElementById('<%$field%>').value = strItem;
+ window.close();
+}
+</script>
+<a href="javascript: window.close();">close window</a>
+<br><br>
+<div align="center">
+<div class="table-wrapper">
+<table>
+ <caption><%$months[$DisplayedMonth]%> <%$DisplayedYear%></caption>
+ <tr>
+% foreach my $wday (@weekdays) {
+ <th><%$wday%></th>
+% }
+ </tr>
+% foreach my $week (@cal) {
+ <tr>
+% foreach my $day (@{$week}) {
+ <td>
+% if ($day) {
+% my $datestr = sprintf('%04d-%02d-%02d', $DisplayedYear, $DisplayedMonth+1, $day);
+ <dt><a href="javascript: updateParent('<%$datestr%>')"><%$day%></a></dt>
+% }
+ </td>
+% } #foreach $day
+ </tr>
+% } # foreach $week
+ <tr>
+ <td colspan="2"><a href="CalPopup.html?DisplayedMonth=<%$prev_month%>&DisplayedYear=<%$prev_year%>&field=<%$field%>">Previous</a></td>
+ <td colspan="3"> </td>
+ <td colspan="2"><a href="CalPopup.html?DisplayedMonth=<%$next_month%>&DisplayedYear=<%$next_year%>&field=<%$field%>">Next</a></td>
+</table>
+</div>
+</div>
+
+<%init>
+use Calendar::Simple;
+my @today = localtime(time());
+
+my @weekdays = (loc('Sun'), loc('Mon'), loc('Tue'), loc('Wed'), loc('Thu'),
+ loc('Fri'), loc('Sat'));
+my @months = (loc('January'), loc('February'), loc('March'), loc('April'),
+ loc('May'), loc('June'), loc('July'), loc('August'),
+ loc('September'), loc('October'), loc('November'),
+ loc('December'));
+
+unless ($DisplayedYear) {
+ $DisplayedMonth = $today[4];
+ $DisplayedYear = ($today[5] + 1900);
+}
+
+my ($prev_year, $next_year, $prev_month, $next_month);
+$prev_month = $next_month = $DisplayedMonth;
+$prev_year = $next_year = $DisplayedYear;
+
+$next_month++;
+$prev_month--;
+
+if ($DisplayedMonth == 11) {
+ $next_year++;
+ $next_month = 0;
+ }
+elsif ($DisplayedMonth == 0) {
+ $prev_month = 11;
+ $prev_year--;
+
+
+ }
+
+
+
+
+my @cal = calendar($DisplayedMonth+1, $DisplayedYear);
+
+</%init>
+<%args>
+$field => 'none'
+$DisplayedMonth => undef
+$DisplayedYear => undef
+</%args>
Modified: rt/branches/3.5-TESTING/html/Elements/MyRT
==============================================================================
--- rt/branches/3.5-TESTING/html/Elements/MyRT (original)
+++ rt/branches/3.5-TESTING/html/Elements/MyRT Fri Sep 2 12:43:47 2005
@@ -97,4 +97,4 @@
}
}
-</%INIT>
\ No newline at end of file
+</%INIT>==== ORIGINAL VERSION html/Elements/MyRT 112539663870187
Added: rt/branches/3.5-TESTING/html/NoAuth/cascaded.js
==============================================================================
--- (empty file)
+++ rt/branches/3.5-TESTING/html/NoAuth/cascaded.js Fri Sep 2 12:43:47 2005
@@ -0,0 +1,19 @@
+function filter_cascade (id, val) {
+ var select = document.getElementById(id);
+ if (!select) { return };
+ var i;
+ var children = select.childNodes;
+ for (i in children) {
+ var style = children[i].style;
+ if (!style) { continue };
+ if (val == '') {
+ style.display = 'block';
+ continue;
+ }
+ if (children[i].label.substr(0, val.length) == val) {
+ style.display = 'block';
+ continue;
+ }
+ style.display = 'none';
+ }
+}
Added: rt/branches/3.5-TESTING/html/NoAuth/class.js
==============================================================================
--- (empty file)
+++ rt/branches/3.5-TESTING/html/NoAuth/class.js Fri Sep 2 12:43:47 2005
@@ -0,0 +1,15 @@
+/* by TKirby, released under GPL */
+
+ function _ClassSetup(Object) {
+ this.prototype = Object;
+ return this;
+ }
+
+ function Class(name) {
+ var _newclass_;
+ eval("window."+name+" = new Function('this."+name+".apply(this,arguments);');");
+ eval("window."+name+".define = _ClassSetup;");
+ eval("_newclass_ = window."+name+";");
+ return _newclass_;
+ }
+
Added: rt/branches/3.5-TESTING/html/NoAuth/combobox.js
==============================================================================
--- (empty file)
+++ rt/branches/3.5-TESTING/html/NoAuth/combobox.js Fri Sep 2 12:43:47 2005
@@ -0,0 +1,246 @@
+function ComboBox_InitWith(n) {
+ if ( typeof( window.addEventListener ) != "undefined" ) {
+ window.addEventListener("load", ComboBox_Init(n), false);
+ } else if ( typeof( window.attachEvent ) != "undefined" ) {
+ window.attachEvent("onload", ComboBox_Init(n));
+ } else {
+ ComboBox_Init(n)();
+ }
+}
+function ComboBox_Init(n) {
+ return function () {
+ if ( ComboBox_UplevelBrowser( n ) ) {
+ ComboBox_Load( n );
+ }
+ }
+}
+function ComboBox_UplevelBrowser( n ) {
+ if( typeof( document.getElementById ) == "undefined" ) return false;
+ var combo = document.getElementById( n + "_Container" );
+ if( combo == null || typeof( combo ) == "undefined" ) return false;
+ if( typeof( combo.style ) == "undefined" ) return false;
+ if( typeof( combo.innerHTML ) == "undefined" ) return false;
+ return true;
+}
+function ComboBox_Load( comboId ) {
+ var combo = document.getElementById( comboId + "_Container" );
+ var button = document.getElementById( comboId + "_Button" );
+ var list = document.getElementById( comboId + "_List" );
+ var text = document.getElementById( comboId );
+
+
+ combo.List = list;
+ combo.Button = button;
+ combo.Text = text;
+ combo.style.border = "2px inset ButtonFace";
+ combo.style.padding = "0px";
+ combo.style.margin = "0px";
+
+ button.Container = combo;
+ button.Toggle = ComboBox_ToggleList;
+ button.onclick = button.Toggle;
+ button.onmouseover = function(e) { this.Container.List.DisableBlur(e); };
+ button.onmouseout = function(e) { this.Container.List.EnableBlur(e); };
+ button.style.padding = "0px";
+ button.style.margin = "0px";
+ button.style.background = "ButtonFace";
+ button.style.color = "ButtonText";
+ button.style.borderLeft = "1px outset ButtonFace";
+ button.style.cursor = "default";
+ button.style.fontSize = "8pt";
+ button.innerHTML = "\u25BC";
+ button.onselectstart = function(e){ return false; };
+
+ text.Container = combo;
+ text.TypeDown = ComboBox_TextTypeDown;
+ text.KeyAccess = ComboBox_TextKeyAccess;
+ text.onkeyup = function(e) { this.KeyAccess(e); this.TypeDown(e); };
+ text.style.border = "none";
+ text.style.margin = "0px";
+ text.style.padding = "0px";
+ text.style.width = ( list.offsetWidth ) + "px";
+
+ list.Container = combo;
+ list.Show = ComboBox_ShowList;
+ list.Hide = ComboBox_HideList;
+ list.EnableBlur = ComboBox_ListEnableBlur;
+ list.DisableBlur = ComboBox_ListDisableBlur;
+ list.Select = ComboBox_ListItemSelect;
+ list.ClearSelection = ComboBox_ListClearSelection;
+ list.KeyAccess = ComboBox_ListKeyAccess;
+ list.FireTextChange = ComboBox_ListFireTextChange;
+ list.onchange = null;
+ list.onclick = function(e){ this.Select(e); this.ClearSelection(); this.FireTextChange(); };
+ list.onkeyup = function(e) { this.KeyAccess(e); };
+ list.EnableBlur(null);
+ list.style.position = "absolute";
+ list.style.zIndex = 200;
+ list.size = ComboBox_GetListSize( list );
+ list.IsShowing = true;
+ list.Hide();
+
+}
+function ComboBox_InitEvent( e ) {
+ if( typeof( e ) == "undefined" && typeof( window.event ) != "undefined" ) e = window.event;
+ if( e == null ) e = new Object();
+ return e;
+}
+function ComboBox_ListClearSelection() {
+ if ( typeof( this.Container.Text.createTextRange ) == "undefined" ) return;
+ var rNew = this.Container.Text.createTextRange();
+ rNew.moveStart('character', this.Container.Text.value.length) ;
+ rNew.select();
+}
+function ComboBox_GetListSize( theList ) {
+ ComboBox_EnsureListSize( theList );
+ return theList.listSize;
+}
+function ComboBox_EnsureListSize( theList ) {
+ if ( typeof( theList.listSize ) == "undefined" ) {
+ if( typeof( theList.getAttribute ) != "undefined" ) {
+ if( theList.getAttribute( "listSize" ) != null && theList.getAttribute( "listSize" ) != "" ) {
+ theList.listSize = theList.getAttribute( "listSize" );
+ return;
+ }
+ }
+ if( theList.options.length > 0 ) {
+ theList.listSize = theList.options.length;
+ return;
+ }
+ theList.listSize = 4;
+ }
+}
+function ComboBox_ListKeyAccess(e) { //Make enter/space and escape do the right thing :)
+ e = ComboBox_InitEvent( e );
+ if( e.keyCode == 13 || e.keyCode == 32 ) {
+ this.Select();
+ return;
+ }
+ if( e.keyCode == 27 ) {
+ this.Hide();
+ this.Container.Text.focus();
+ return;
+ }
+}
+function ComboBox_TextKeyAccess(e) { //Make alt+arrow expand the list
+ e = ComboBox_InitEvent( e );
+ if( e.altKey && (e.keyCode == 38 || e.keyCode == 40) ) {
+ this.Container.List.Show();
+ }
+}
+function ComboBox_TextTypeDown(e) { //Make the textbox do a type-down on the list
+ e = ComboBox_InitEvent( e );
+ var items = this.Container.List.options;
+ if( this.value == "" ) return;
+ var ctrlKeys = Array( 8, 46, 37, 38, 39, 40, 33, 34, 35, 36, 45, 16, 20 );
+ for( var i = 0; i < ctrlKeys.length; i++ ) {
+ if( e.keyCode == ctrlKeys[i] ) return;
+ }
+ for( var i = 0; i < items.length; i++ ) {
+ var item = items[i];
+ if( item.text.toLowerCase().indexOf( this.value.toLowerCase() ) == 0 ) {
+ this.Container.List.selectedIndex = i;
+ if ( typeof( this.Container.Text.createTextRange ) != "undefined" ) {
+ this.Container.List.Select();
+ }
+ break;
+ }
+ }
+}
+function ComboBox_ListFireTextChange() {
+ var textOnChange = this.Container.Text.onchange;
+ if ( textOnChange != null && typeof(textOnChange) == "function" ) {
+ textOnChange();
+ }
+}
+function ComboBox_ListEnableBlur(e) {
+ this.onblur = this.Hide;
+}
+function ComboBox_ListDisableBlur(e) {
+ this.onblur = null;
+}
+function ComboBox_ListItemSelect(e) {
+ if( this.options.length > 0 ) {
+ var text = this.Container.Text;
+ var oldValue = text.value;
+ var newValue = this.options[ this.selectedIndex ].text;
+ text.value = newValue;
+ if ( typeof( text.createTextRange ) != "undefined" ) {
+ if (newValue != oldValue) {
+ var rNew = text.createTextRange();
+ rNew.moveStart('character', oldValue.length) ;
+ rNew.select();
+ }
+ }
+ }
+ this.Hide();
+ this.Container.Text.focus();
+}
+function ComboBox_ToggleList(e) {
+ if( this.Container.List.IsShowing == true ) {
+ this.Container.List.Hide();
+ } else {
+ this.Container.List.Show();
+ }
+}
+function ComboBox_ShowList(e) {
+ if ( !this.IsShowing && !this.disabled ) {
+ this.style.width = ( this.Container.offsetWidth ) + "px";
+ this.style.top = ( this.Container.offsetHeight + ComboBox_RecursiveOffsetTop(this.Container,true) ) + "px";
+ this.style.left = ( ComboBox_RecursiveOffsetLeft(this.Container,true) ) + "px";
+ ComboBox_SetVisibility(this,true);
+ this.focus();
+ this.IsShowing = true;
+ }
+}
+function ComboBox_HideList(e) {
+ if( this.IsShowing ) {
+ ComboBox_SetVisibility(this,false);
+ this.IsShowing = false;
+ }
+}
+function ComboBox_SetVisibility(theList,isVisible) {
+ var isIE = ( typeof( theList.dataSrc ) != "undefined" ); // dataSrc is an IE-only property which is unlikely to be supported elsewhere
+ var ua = navigator.userAgent.toLowerCase();
+ var isSafari = (ua.indexOf('safari') != - 1);
+ if ( isIE || isSafari) {
+ if ( isVisible ) {
+ theList.style.visibility = "visible";
+ } else {
+ theList.style.visibility = "hidden";
+ }
+ } else {
+ if ( isVisible ) {
+ theList.style.display = "block";
+ } else {
+ theList.style.display = "none";
+ }
+ }
+}
+function ComboBox_RecursiveOffsetTop(thisObject,isFirst) {
+ if(thisObject.offsetParent) {
+ if ( thisObject.style.position == "absolute" && !isFirst && typeof(document.designMode) != "undefined" ) {
+ return 0;
+ }
+ return (thisObject.offsetTop + ComboBox_RecursiveOffsetTop(thisObject.offsetParent,false));
+ } else {
+ return thisObject.offsetTop;
+ }
+}
+function ComboBox_RecursiveOffsetLeft(thisObject,isFirst) {
+ if(thisObject.offsetParent) {
+ if ( thisObject.style.position == "absolute" && !isFirst && typeof(document.designMode) != "undefined" ) {
+ return 0;
+ }
+ return (thisObject.offsetLeft + ComboBox_RecursiveOffsetLeft(thisObject.offsetParent,false));
+ } else {
+ return thisObject.offsetLeft;
+ }
+}
+function ComboBox_SimpleAttach(selectElement,textElement) {
+ textElement.value = selectElement.options[ selectElement.options.selectedIndex ].text;
+ var textOnChange = textElement.onchange;
+ if ( textOnChange != null && typeof( textOnChange ) == "function" ) {
+ textOnChange();
+ }
+}
Added: rt/branches/3.5-TESTING/html/NoAuth/list.js
==============================================================================
--- (empty file)
+++ rt/branches/3.5-TESTING/html/NoAuth/list.js Fri Sep 2 12:43:47 2005
@@ -0,0 +1,112 @@
+/* by TKirby, released under GPL */
+/* Define the "list" Class */
+Class("list").define({
+ name : null,
+ xml : null,
+ sels : null,
+ list : function (src, esrc, name) { this.init(src, esrc, name); },
+ read : function () {
+ var i = 0;
+ if(this.xml.readyState!=4) { setTimeout(this.name+".read()", 100); }
+ else if(this.xml.status!=200) alert("Document not available.");
+ else {
+ var doc = this.xml.responseXML;
+ var nNode = null;
+ if(doc.childNodes[0].nodeName=="parseerror") alert("Parse Error.");
+ doc = doc.getElementsByTagName("list")[0];
+ for(i=0;i<doc.childNodes.length;i++) {
+ if(doc.childNodes[i].childNodes.length>0) {
+ nNode = document.createElement("option");
+ nNode.appendChild(document.createTextNode(doc.childNodes[i].childNodes[0].nodeValue));
+ this.sels[0].appendChild(nNode);
+ }
+ }
+ }
+ },
+
+ init : function (src,esrc,name) {
+ if(!src) return;
+ this.name = name;
+ this.sels = new Array();
+ var i = 0;
+ for(i=0;i<src.childNodes.length;i++) {
+ if(src.childNodes[i].nodeName=="select" || src.childNodes[i].nodeName=="SELECT") {
+ this.sels.push(src.childNodes[i]);
+ }
+
+ if((src.childNodes[i].nodeName=="input" || src.childNodes[i].nodeName=="INPUT")
+ && (src.childNodes[i].name=="fromjs")) {
+ src.childNodes[i].value = 1;
+ }
+
+ if((src.childNodes[i].nodeName=="input" || src.childNodes[i].nodeName=="INPUT")
+ && (src.childNodes[i].type=="submit" || src.childNodes[i].type=="SUBMIT")) {
+
+ if (src.childNodes[i].name.indexOf("Save") < 0) {
+ var tmp = document.createElement("input");
+ tmp.type = "button";
+ tmp.name = src.childNodes[i].name;
+ tmp.value = src.childNodes[i].value;
+ src.replaceChild(tmp,src.childNodes[i]);
+ }
+
+ if(src.childNodes[i].name=="add")
+ src.childNodes[i].onclick = new Function(this.name+".add();");
+ if(src.childNodes[i].name=="remove")
+ src.childNodes[i].onclick = new Function(this.name+".remove();");
+ if(src.childNodes[i].name=="moveup")
+ src.childNodes[i].onclick = new Function(this.name+".moveup();");
+ if(src.childNodes[i].name=="movedown")
+ src.childNodes[i].onclick = new Function(this.name+".movedown();");
+ }
+ }
+ if (esrc) {
+ this.xml = (window.navigator.appName!="Microsoft Internet Explorer"
+ ?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP"));
+ this.xml.open("GET", esrc);
+ this.xml.send("");
+ setTimeout(this.name+".read()", 100);
+ }
+ },
+
+ add : function() {
+ var i, j = 0;
+ var dNode = null;
+ for(i=0;i<this.sels[0].length;i++) if(this.sels[0][i].selected) {
+ for(j=0;j<this.sels[1].length;j++) if(this.sels[1][j].value==this.sels[0][i].value) break;
+ if(j==this.sels[1].length) dNode = this.sels[0][i].cloneNode(true),
+ this.sels[1].appendChild(dNode);
+ }
+ },
+
+ moveup : function() { this.move(-1); },
+ movedown : function() { this.move(1); },
+ move : function(v) {
+ var i = 0;
+ if(v<0) for(i=0;i<this.sels[1].length;i++) this.moveOne(v, i);
+ else if(v>0) for(i=this.sels[1].length-1;i>=0;i--)this.moveOne(v, i);
+ },
+
+ moveOne : function(v, i) {
+ var ins = v + i;
+ if(ins<0 || ins>=this.sels[1].length) return;
+ if(this.sels[1][ins].selected) return;
+ if(this.sels[1][i].selected) {
+ Node = this.sels[1][i];
+ this.sels[1].removeChild(Node);
+ this.sels[1].insertBefore(Node, this.sels[1][ins]);
+ }
+ },
+
+ remove : function() {
+ var i = 0;
+ for(i=this.sels[1].length-1;i>=0;i--) if(this.sels[1][i].selected)
+ this.sels[1].removeChild(this.sels[1][i]);
+ },
+
+ selectAll: function() {
+ var i = 0;
+ for(i=0;i<this.sels[0].length;i++) this.sels[0][i].selected = false;
+ for(i=0;i<this.sels[1].length;i++) this.sels[1][i].selected = true;
+ }
+});
Modified: rt/branches/3.5-TESTING/html/Search/Bulk.html
==============================================================================
--- rt/branches/3.5-TESTING/html/Search/Bulk.html (original)
+++ rt/branches/3.5-TESTING/html/Search/Bulk.html Fri Sep 2 12:43:47 2005
@@ -152,6 +152,12 @@
$cfs->LimitToGlobal();
$cfs->LimitToQueue($_) for keys %$seen_queues;
</%perl>
+<&|/Elements/TitleBox, title => loc('Edit Custom Fields'), color => "#336633"&>
+<%perl>
+my $cfs = RT::CustomFields->new($session{'CurrentUser'});
+$cfs->LimitToGlobal();
+$cfs->LimitToQueue($_) for keys %$seen_queues;
+</%perl>
<table>
<tr>
@@ -196,6 +202,7 @@
</form>
+
<%INIT>
my $title = loc("Update multiple tickets");
Modified: rt/branches/3.5-TESTING/html/Search/Elements/PickBasics
==============================================================================
--- rt/branches/3.5-TESTING/html/Search/Elements/PickBasics (original)
+++ rt/branches/3.5-TESTING/html/Search/Elements/PickBasics Fri Sep 2 12:43:47 2005
@@ -139,6 +139,7 @@
</td><td>
<input Name="ValueOfTime" SIZE=5>
<& /Elements/SelectTimeUnits, Name =>'ValueOfTime-TimeUnits' &>
+<& /Elements/SelectTimeUnits, Name =>'ValueOfTime-TimeUnits' &>
</td>
</tr>
<tr>
Modified: rt/branches/3.5-TESTING/html/Search/Results.html
==============================================================================
--- rt/branches/3.5-TESTING/html/Search/Results.html (original)
+++ rt/branches/3.5-TESTING/html/Search/Results.html Fri Sep 2 12:43:47 2005
@@ -94,6 +94,17 @@
<input type="submit" class="button" value="<%loc('Go')%>"/>
</form>
+<form method="get" action="<%$RT::WebPath%>/Search/Chart.html"><&|/l&>chart</&>
+% my @vars = (Query => $Query, Format => $Format, Rows => $Rows, OrderBy => $OrderBy, Order => $Order);
+%while (my $var = shift (@vars)) {
+<input type="hidden" name="<%$var%>" value="<%shift(@vars)%>"/>
+%}
+</%perl>
+<&|/l, $m->scomp('Elements/SelectGroupBy', Name => 'PrimaryGroupBy') &>grouped by [_1]</&>
+<&|/l, $m->scomp('Elements/SelectChartType', Name => 'ChartStyle') &>style: [_1]</&>
+
+<input type="submit" value="<%loc('Go')%>"/>
+</form>
<& /Elements/Callback, _CallbackName => 'SearchActions', QueryString => $QueryString&>
</div>
<%INIT>
Modified: rt/branches/3.5-TESTING/html/Ticket/Elements/EditBasics
==============================================================================
--- rt/branches/3.5-TESTING/html/Ticket/Elements/EditBasics (original)
+++ rt/branches/3.5-TESTING/html/Ticket/Elements/EditBasics Fri Sep 2 12:43:47 2005
@@ -64,6 +64,12 @@
</TR>
<TR>
+ <td class="label"><&|/l&>Owner</&>:</td>
+ <td class="value">
+<& /Elements/SelectOwner, Name => 'Owner', QueueObj => $TicketObj->QueueObj, TicketObj => $TicketObj, Default => $TicketObj->OwnerObj->Id, DefaultValue => 0&></td>
+ </TR>
+
+ <TR>
<td class="label"><&|/l&>Time Estimated</&>:</td>
<td class="value"><input name=TimeEstimated value="<%$TicketObj->TimeEstimated|h%>" SIZE="5">
<& /Elements/SelectTimeUnits, Name =>'TimeEstimated-TimeUnits' &>
@@ -94,6 +100,8 @@
</tr>
+
+
<& /Elements/Callback, _CallbackName => 'EndOfList', TicketObj => $TicketObj, %ARGS &>
</table>
Modified: rt/branches/3.5-TESTING/html/Ticket/Elements/ShowSummary
==============================================================================
--- rt/branches/3.5-TESTING/html/Ticket/Elements/ShowSummary (original)
+++ rt/branches/3.5-TESTING/html/Ticket/Elements/ShowSummary Fri Sep 2 12:43:47 2005
@@ -66,7 +66,16 @@
</&>
<& /Ticket/Elements/ShowAttachments, Ticket => $Ticket, Attachments => $Attachments &>
-
+ <&|/Elements/TitleBox, title => loc("Reminders"),
+ title_href =>"$RT::WebPath/Ticket/Reminders.html?id=".$Ticket->Id,
+ title_class=> 'inverse',
+ color => "#666699" &>
+ <form action="<%$RT::WebPath%>/Ticket/Display.html" method="post">
+ <& /Ticket/Elements/Reminders, Ticket => $Ticket, ShowCompleted => 0 &>
+ <div align="right"><input type="submit" value="Save" /></div>
+ </form>
+ </&>
+ <br />
<& /Ticket/Elements/ShowRequestor, Ticket => $Ticket &>
</td>
<td valign="top" width="50%" class="boxcontainer">
Modified: rt/branches/3.5-TESTING/html/Ticket/Reminders.html
==============================================================================
--- rt/branches/3.5-TESTING/html/Ticket/Reminders.html (original)
+++ rt/branches/3.5-TESTING/html/Ticket/Reminders.html Fri Sep 2 12:43:47 2005
@@ -49,7 +49,7 @@
current_tab => "Ticket/Reminders.html?id=".$Ticket->Id,
Title => loc("Reminders for ticket #[_1]", $Ticket->Id) &>
<form action="<%$RT::WebPath%>/Ticket/Reminders.html" method="post">
-<&|/Widgets/TitleBox, title => loc("Reminders"),
+<&|/Elements/TitleBox, title => loc("Reminders"),
title_class=> 'inverse',
color => "#666699" &>
Modified: rt/branches/3.5-TESTING/html/Tools/Reports/index.html
==============================================================================
--- rt/branches/3.5-TESTING/html/Tools/Reports/index.html (original)
+++ rt/branches/3.5-TESTING/html/Tools/Reports/index.html Fri Sep 2 12:43:47 2005
@@ -1,3 +1,3 @@
-<& /Elements/Header, Title => 'Reports' &>
-<& /Tools/Reports/Elements/Tabs, Title => 'Reports' &>
+<& /Elements/Header, title => 'Reports'&>
+<& /Tools/Reports/Elements/Tabs, title => 'Reports' &>
<& /Elements/Callback &>
Added: rt/branches/3.5-TESTING/html/rt.js
==============================================================================
--- (empty file)
+++ rt/branches/3.5-TESTING/html/rt.js Fri Sep 2 12:43:47 2005
@@ -0,0 +1,19 @@
+% $r->content_type('application/x-javascript');
+
+function hideshow(num) {
+ idstring = "element-" + num;
+ chunk = document.getElementById(idstring);
+ if ( chunk.style.display == "none") {
+ chunk.style.display = chunk.style.tag;
+ } else {
+ chunk.style.tag = chunk.style.display;
+ chunk.style.display = "none";
+ }
+}
+
+function openCalWindow(field) {
+ var objWindow = window.open('<%$RT::WebPath%>/CalPopup.html?field='+field, 'Pick', 'height=400,width=400,scrollbars=1');
+ objWindow.focus();
+}
+
+% $m->abort;
\ No newline at end of file
Modified: rt/branches/3.5-TESTING/lib/RT/I18N/fr.po
==============================================================================
--- rt/branches/3.5-TESTING/lib/RT/I18N/fr.po (original)
+++ rt/branches/3.5-TESTING/lib/RT/I18N/fr.po Fri Sep 2 12:43:47 2005
@@ -18,6 +18,8 @@
#. ($Ticket->id, $Ticket->Subject)
#. ($link->BaseObj->Id, $link->BaseObj->Subject)
#. ($TicketObj->Id, $TicketObj->Subject)
+#. ($ticket->Id, $ticket->Subject)
+#. ($TicketObj->Id, $TicketObj->Subject)
msgid "#%1: %2"
msgstr "n°%1 : %2"
More information about the Rt-commit
mailing list