[Rt-commit] r4437 - in RT-TicketWhiteboard: . html/Ticket lib/RT

jesse at bestpractical.com jesse at bestpractical.com
Mon Jan 23 13:04:01 EST 2006


Author: jesse
Date: Mon Jan 23 13:01:24 2006
New Revision: 4437

Added:
   RT-TicketWhiteboard/html/Callbacks/RT-TicketWhiteboard/Ticket/Display.html/BeforeDisplay
   RT-TicketWhiteboard/html/Ticket/ahah.js
Modified:
   RT-TicketWhiteboard/   (props changed)
   RT-TicketWhiteboard/Changes
   RT-TicketWhiteboard/MANIFEST
   RT-TicketWhiteboard/META.yml
   RT-TicketWhiteboard/Makefile
   RT-TicketWhiteboard/html/Callbacks/RT-TicketWhiteboard/Ticket/Display.html/BeforeShowHistory
   RT-TicketWhiteboard/html/Ticket/EditWhiteboard.html
   RT-TicketWhiteboard/html/Ticket/Whiteboard.html
   RT-TicketWhiteboard/lib/RT/TicketWhiteboard.pm

Log:
 r22703 at truegrounds:  jesse | 2006-01-18 18:53:36 +0100
  * 1.3, now with ahah interaction


Modified: RT-TicketWhiteboard/Changes
==============================================================================
--- RT-TicketWhiteboard/Changes	(original)
+++ RT-TicketWhiteboard/Changes	Mon Jan 23 13:01:24 2006
@@ -1,13 +1,3 @@
-1.4 Mon Jul 18 18:49:00 EDT 2005
+1.2
 
-    * Ticket ID links open in new windows
-    * Added status selection
-
-1.3 Wed Jun 15 14:41:15 EDT 2005
-
-    * Fixed to support RT installations that aren't at the root of the
-      webserver.
-
-1.1 Sat Mar 26 10:47:22 CST 2005
-
-    * Fixed to support 3.2.3 and newer
+* Bettehr handling of missing whiteboard

Modified: RT-TicketWhiteboard/MANIFEST
==============================================================================
--- RT-TicketWhiteboard/MANIFEST	(original)
+++ RT-TicketWhiteboard/MANIFEST	Mon Jan 23 13:01:24 2006
@@ -1,7 +1,9 @@
 Changes
 html/Callbacks/RT-TicketWhiteboard/Elements/ShowCustomFields/MassageCustomFields
+html/Callbacks/RT-TicketWhiteboard/Ticket/Display.html/BeforeDisplay
 html/Callbacks/RT-TicketWhiteboard/Ticket/Display.html/BeforeShowHistory
 html/Callbacks/RT-TicketWhiteboard/Ticket/Elements/EditCustomFields/MassageCustomFields
+html/Ticket/ahah.js
 html/Ticket/EditWhiteboard.html
 html/Ticket/Whiteboard.html
 inc/Module/Install.pm
@@ -21,3 +23,4 @@
 META.yml
 pm_to_blib
 README
+SIGNATURE

Modified: RT-TicketWhiteboard/META.yml
==============================================================================
--- RT-TicketWhiteboard/META.yml	(original)
+++ RT-TicketWhiteboard/META.yml	Mon Jan 23 13:01:24 2006
@@ -1,11 +1,12 @@
-name: RT-TicketWhiteboard
-version: 1.0
 abstract: RT TicketWhiteboard Extension
 author: Jesse Vincent <jesse at bestpractical.com>
-license: GPL version 2
 distribution_type: module
+generated_by: Module::Install version 0.52
+license: GPL version 2
+name: RT-TicketWhiteboard
 no_index:
   directory:
     - html
     - inc
-generated_by: Module::Install version 0.37
+    - t
+version: 1.3

Modified: RT-TicketWhiteboard/Makefile
==============================================================================
--- RT-TicketWhiteboard/Makefile	(original)
+++ RT-TicketWhiteboard/Makefile	Mon Jan 23 13:01:24 2006
@@ -19,8 +19,8 @@
 #     NO_META => q[1]
 #     PL_FILES => {  }
 #     PREREQ_PM => {  }
-#     VERSION => q[1.1]
-#     test => { TESTS=>undef }
+#     VERSION => q[1.3]
+#     dist => { PREOP=>q[$(PERL) -I. -MModule::Install::Admin -e "dist_preop(q($(DISTVNAME)))"] }
 
 # --- MakeMaker post_initialize section:
 
@@ -43,7 +43,7 @@
 LIB_EXT = .a
 OBJ_EXT = .o
 OSNAME = linux
-OSVERS = 2.6.12
+OSVERS = 2.6.10
 RANLIB = :
 SITELIBEXP = /usr/local/share/perl/5.8.7
 SITEARCHEXP = /usr/local/lib/perl/5.8.7
@@ -60,11 +60,11 @@
 DFSEP = $(DIRFILESEP)
 NAME = RT::TicketWhiteboard
 NAME_SYM = RT_TicketWhiteboard
-VERSION = 1.1
+VERSION = 1.3
 VERSION_MACRO = VERSION
-VERSION_SYM = 1_1
+VERSION_SYM = 1_3
 DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\"
-XS_VERSION = 1.1
+XS_VERSION = 1.3
 XS_VERSION_MACRO = XS_VERSION
 XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\"
 INST_ARCHLIB = blib/arch
@@ -242,7 +242,7 @@
 COMPRESS = gzip --best
 SUFFIX = .gz
 SHAR = shar
-PREOP = $(NOECHO) $(NOOP)
+PREOP = $(PERL) -I. -MModule::Install::Admin -e "dist_preop(q($(DISTVNAME)))"
 POSTOP = $(NOECHO) $(NOOP)
 TO_UNIX = $(NOECHO) $(NOOP)
 CI = ci -u
@@ -250,7 +250,7 @@
 DIST_CP = best
 DIST_DEFAULT = tardist
 DISTNAME = RT-TicketWhiteboard
-DISTVNAME = RT-TicketWhiteboard-1.1
+DISTVNAME = RT-TicketWhiteboard-1.3
 
 
 # --- MakeMaker macro section:
@@ -752,7 +752,7 @@
 # --- MakeMaker ppd section:
 # Creates a PPD (Perl Package Description) for a binary distribution.
 ppd:
-	$(NOECHO) $(ECHO) '<SOFTPKG NAME="$(DISTNAME)" VERSION="1,1,0,0">' > $(DISTNAME).ppd
+	$(NOECHO) $(ECHO) '<SOFTPKG NAME="$(DISTNAME)" VERSION="1,3,0,0">' > $(DISTNAME).ppd
 	$(NOECHO) $(ECHO) '    <TITLE>$(DISTNAME)</TITLE>' >> $(DISTNAME).ppd
 	$(NOECHO) $(ECHO) '    <ABSTRACT>RT TicketWhiteboard Extension</ABSTRACT>' >> $(DISTNAME).ppd
 	$(NOECHO) $(ECHO) '    <AUTHOR>Jesse Vincent &lt;jesse at bestpractical.com&gt;</AUTHOR>' >> $(DISTNAME).ppd
@@ -779,7 +779,25 @@
 
 
 # End.
-# Postamble by Module::Install 0.37
+# Postamble by Module::Install 0.52
+# --- Module::Install::Admin::Makefile section:
+
+realclean purge ::
+	$(RM_F) $(DISTVNAME).tar$(SUFFIX)
+	$(RM_RF) inc MANIFEST.bak _build
+	$(PERL) -I. -MModule::Install::Admin -e "remove_meta()"
+
+reset :: purge
+
+upload :: test dist
+	cpan-upload -verbose $(DISTVNAME).tar$(SUFFIX)
+
+grok ::
+	perldoc Module::Install
+
+distsign ::
+	cpansign -s
+
 install ::
 	$(NOECHO) $(PERL) -MExtUtils::Install -e "install({q(html), q(/opt/rt3/share/html)})"
 

Added: RT-TicketWhiteboard/html/Callbacks/RT-TicketWhiteboard/Ticket/Display.html/BeforeDisplay
==============================================================================
--- (empty file)
+++ RT-TicketWhiteboard/html/Callbacks/RT-TicketWhiteboard/Ticket/Display.html/BeforeDisplay	Mon Jan 23 13:01:24 2006
@@ -0,0 +1,8 @@
+<%args>
+$TicketObj
+$ARGSRef
+</%args>
+<%init>
+ProcessObjectCustomFieldUpdates(Object => $TicketObj, ARGSRef => $ARGSRef);
+</%init>
+

Modified: RT-TicketWhiteboard/html/Callbacks/RT-TicketWhiteboard/Ticket/Display.html/BeforeShowHistory
==============================================================================
--- RT-TicketWhiteboard/html/Callbacks/RT-TicketWhiteboard/Ticket/Display.html/BeforeShowHistory	(original)
+++ RT-TicketWhiteboard/html/Callbacks/RT-TicketWhiteboard/Ticket/Display.html/BeforeShowHistory	Mon Jan 23 13:01:24 2006
@@ -17,15 +17,19 @@
 %# END LICENSE BLOCK
 
 <%init>
+my $whiteboard = $Ticket->QueueObj->CustomField('Whiteboard');
+return unless ($whiteboard->id);
 </%init>
 <%args>
 $Ticket => undef
 </%args>
+<script src="<%$RT::WebPath%>/Ticket/ahah.js"></script>
 <div align="center">
 <&|/Elements/TitleBox, title => 'Status whiteboard'&>
-<iframe style="height: 14em; border: none; width: 100%; overflow: hidden;" scroll="no" src="<%$RT::WebPath%>/Ticket/Whiteboard.html?id=<%$Ticket->id%>">
-<a href="<%$RT::WebPath%>/Ticket/Whiteboard.html"><&|/l&>Status whiteboard</&></a>
-</iframe>
+<div id="whiteboard"></div>
+<script>
+ahah( '<%$RT::WebPath%>/Ticket/Whiteboard.html?id=<%$Ticket->id%>', 'whiteboard')
+</script>
 </&>
 </div>
 <br />

Modified: RT-TicketWhiteboard/html/Ticket/EditWhiteboard.html
==============================================================================
--- RT-TicketWhiteboard/html/Ticket/EditWhiteboard.html	(original)
+++ RT-TicketWhiteboard/html/Ticket/EditWhiteboard.html	Mon Jan 23 13:01:24 2006
@@ -18,7 +18,7 @@
       type="text/css" />
 </head>
 <body style="margin: 0; padding: 0;">
-<form action="<%$RT::WebPath%>/Ticket/Whiteboard.html" method="POST" style="margin: 0; padding: 0;">
+<form action="<%$RT::WebPath%>/Ticket/Display.html" method="POST" style="margin: 0; padding: 0;">
 <input type="hidden" name="id" value="<%$id%>">
 <&|/l&>Edit this ticket's whiteboard below:</&><br/>
 <& /Elements/EditCustomField,

Modified: RT-TicketWhiteboard/html/Ticket/Whiteboard.html
==============================================================================
--- RT-TicketWhiteboard/html/Ticket/Whiteboard.html	(original)
+++ RT-TicketWhiteboard/html/Ticket/Whiteboard.html	Mon Jan 23 13:01:24 2006
@@ -14,16 +14,13 @@
 my $comp = "/Elements/ShowCustomField".$whiteboard->Type;
 
 </%init>
-<html><head>
-<link rel="stylesheet" 
-      href="<%$RT::WebPath%>/NoAuth/webrt.css" 
-      type="text/css" />
-</head>
-<body style="margin: 0; padding: 0;">
+
 % if ($whiteboard->CurrentUserHasRight('ModifyCustomField')) {
-<a align="right" valign="bottom" href="<%$RT::WebPath%>/Ticket/EditWhiteboard.html?id=<%$ticket->id%>">Edit whiteboard...</a>
+<a align="right" valign="bottom" href="<%$RT::WebPath%>/Ticket/EditWhiteboard.html?id=<%$ticket->id%>" onClick="ahah('<%$RT::WebPath%>/Ticket/EditWhiteboard.html?id=<%$ticket->id%>', 'whiteboard'); return false;" >[<&|/l&>Edit</&>]</a>
+<span id="showall"><a href="#" onClick="document.getElementById('whiteboardinner').style.height = 'auto'; document.getElementById('showall').style.visibility='hidden'; return false;" >[<&|/l&>Show all</&>]</a></div>
 %}
-<div style="overflow: auto; height: 8em; border: 2px groove grey">
+% if ($whiteboard->id) {
+<div id="whiteboardinner" style="overflow: hidden; height: 6em;">
 % while (my $Value = $Values->Next()) {
 % if ($m->comp_exists($comp)) {
 <& $comp, Object => $Value &>
@@ -31,7 +28,8 @@
 <% $Value->Content %>
 % }
 % }
+% } else {
+<&|/l&>No "Whiteboard" field for this ticket.</&>
+% }
 </div>
-</body>
-</html>
 %$m->abort();

Added: RT-TicketWhiteboard/html/Ticket/ahah.js
==============================================================================
--- (empty file)
+++ RT-TicketWhiteboard/html/Ticket/ahah.js	Mon Jan 23 13:01:24 2006
@@ -0,0 +1,30 @@
+%$r->content_type('application/x-javascript');
+function ahah(url, target, delay) {
+  document.getElementById(target).innerHTML = 'waiting...';
+  if (window.XMLHttpRequest) {
+    req = new XMLHttpRequest();
+  } else if (window.ActiveXObject) {
+    req = new ActiveXObject("Microsoft.XMLHTTP");
+  }
+  if (req != undefined) {
+    req.onreadystatechange = function() {ahahDone(url, target, delay);};
+    req.open("GET", url, true);
+    req.send("");
+  }
+}  
+
+function ahahDone(url, target, delay) {
+  if (req.readyState == 4) { // only if req is "loaded"
+    if (req.status == 200) { // only if "OK"
+      document.getElementById(target).innerHTML = req.responseText;
+    } else {
+      document.getElementById(target).innerHTML="ahah error:\n"+req.statusText;
+    }
+    if (delay != undefined) {
+       setTimeout("ahah(url,target,delay)", delay); // resubmit after delay
+	    //server should ALSO delay before responding
+    }
+  }
+}
+
+%$m->abort();

Modified: RT-TicketWhiteboard/lib/RT/TicketWhiteboard.pm
==============================================================================
--- RT-TicketWhiteboard/lib/RT/TicketWhiteboard.pm	(original)
+++ RT-TicketWhiteboard/lib/RT/TicketWhiteboard.pm	Mon Jan 23 13:01:24 2006
@@ -1,6 +1,6 @@
 
 package RT::TicketWhiteboard;
 
-our $VERSION = '1.1';
+our $VERSION = '1.3';
 
 1;


More information about the Rt-commit mailing list