Changeset 12
- Timestamp:
- 01/09/06 10:58:03 (3 years ago)
- Files:
-
- trunk/buildquery.html (modified) (1 diff)
- trunk/rtNoAuth/changeshown.html (modified) (2 diffs)
- trunk/rtNoAuth/Elements/PickCriteria (modified) (1 diff)
- trunk/rtNoAuth/readsay.html (modified) (8 diffs)
- trunk/rtNoAuth/xmlresults.html (modified) (3 diffs)
- trunk/selectxpath.xsl (modified) (1 diff)
- trunk/stet.css (modified) (1 diff)
- trunk/stet.js (modified) (2 diffs)
- trunk/stetsubs.pl (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/buildquery.html
r11 r12 29 29 %# <jesse@bestpractical.com> 30 30 %# 31 %# (Except where explicitly superseded by other copyright notices) 32 %# 33 %# 34 %# 31 35 %# LICENSE: 32 36 %# trunk/rtNoAuth/changeshown.html
r11 r12 70 70 <html> 71 71 <head> 72 <title> stetquery builder</title>72 <title>gpl comment system - query builder</title> 73 73 %# <link rel="stylesheet" href="/rt/NoAuth/webrt.css" type="text/css"> 74 74 <script type="text/javascript" src="/comments/stet.js"></script> … … 98 98 <& /Elements/Submit, Caption => "Do the Search", Label => loc('Search'), Name => 'DoSearch'&> 99 99 <& /Elements/Submit, Caption => loc('Add additional criteria'), Label => loc('Add'), Name => 'AddClause'&> 100 <input type=hidden name=" 100 101 101 102 </td> trunk/rtNoAuth/Elements/PickCriteria
r11 r12 72 72 <& PickBasics &> 73 73 <& PickCFs, cfqueues => \%cfqueues &> 74 <tr><td> </td></tr>75 </table>76 74 77 <& /Elements/TitleBoxEnd &>75 %# <& /Elements/TitleBoxEnd &> 78 76 79 77 <%ARGS> trunk/rtNoAuth/readsay.html
r11 r12 28 28 </head> 29 29 <body> 30 < div id="maintext">30 <!-- <div id="maintext"> --> 31 31 % if ($Tickets) { 32 <h3> Showing comments where <% humanQuery($ARGS{'Query'}) |n %> <a class="rsslink" href="<% $rsslink %>">[rss]</a> <h3>32 <h3> Showing comments where <% humanQuery($ARGS{'Query'}) |n %> <a class="rsslink" href="<% $rsslink %>">[rss]</a> <a href="/comments/<% $Tickets->First->FirstCustomFieldValue('NoteUrl') %>?Query=<% $ARGS{'Query'} %>">[see on license]</a><h3> 33 33 <h4>Found <% $Tickets->CountAll()%></h4> 34 34 % } else { 35 <h3> Showing comment < % $ARGS{'id'} %> <a class="rsslink" href="<% $rsslink %>">[rss]</a></h3>35 <h3> Showing comment <a href="/rt/NoAuth/readsay.html?id=<% $ARGS{'id'} %>"><% $ARGS{'id'} %></a> <a class="rsslink" href="<% $rsslink %>">[rss]</a> <a href="/comments/<% $Ticket->FirstCustomFieldValue('NoteUrl') %>?id=<% $ARGS{'id'} %>#<% $Ticket->FirstCustomFieldValue('NoteStartNodeId') %>">[see on license]</a></h3> 36 36 % } 37 37 % … … 40 40 <& /Elements/ListActions, actions => \@msgresults &> 41 41 <& /Elements/ListActions, actions => \@linkresults &> 42 <h4>< a href="readsay.html?id=<% $item->id %>"><% $item->id %>: <% $item->Subject %></a></h4>42 <h4><% $thing %> <a href="readsay.html?id=<% $item->id %>"><% $item->id %>: <% $item->Subject %></a></h4> 43 43 <span class="tktheader">Regarding the text:</span> <span class="ontextText"><% $scrubber->scrub($item->FirstCustomFieldValue('NoteSelection')) %></span><br/> 44 44 In section: <span class="nodeLink"><% $scrubber->scrub($item->FirstCustomFieldValue('NoteStartNodeId')) %></span><br/> … … 49 49 <span class="agreecount"><% $agr_count %> agree</span></span><br/> 50 50 comments: <% getThread(\$item) |n %><br/> 51 % if (($makeissue) && ($item->Queue != $issuequeue)) {52 <input type="checkbox" value="1" name="MakeIssue"/>Upgrade this to an Issue<br/>53 % }54 Parents:55 % while (my $link = $item->MemberOf->Next) {56 <INPUT TYPE=CHECKBOX NAME="DeleteLink--<%$link->Type%>-<%$link->Target%>" value="1">57 <& ShowLink, URI => $link->TargetURI &><br>58 % }59 <br/>60 Children:61 % while (my $link = $Object->Members->Next) {62 <INPUT TYPE=CHECKBOX NAME="DeleteLink-<%$link->Base%>-<%$link->Type%>-" value="1">63 <& ShowLink, URI => $link->BaseURI &><br>64 % }65 51 % if ($resp == 1) { 66 52 <form action="readsay.html" method="POST" name="TicketUpdate" enctype="multipart/form-data"> 67 53 <input type="hidden" name="id" value="<% $item->id %>"> 54 % } 55 % if (($makeissue) && ($item->Queue != $issuequeue)) { 56 <input type="checkbox" value="1" name="MakeIssue"/>Upgrade this to an Issue<br/> 57 % } 58 <span class="TktLabel">Parents</span> 59 % if (!$item->Members->GotoFirstItem) { 60 <em>this <% $thing %> does not have any parents </em><br/> 61 % } 62 % while (my $link = $item->MemberOf->Next) { 63 <& Elements/ShowLink, URI => $link->TargetURI &><span class="TktInput"> 64 % if ($resp == 1) { 65 <span class="TktInput indent">[delete: <INPUT TYPE=CHECKBOX NAME="DeleteLink--<%$link->Type%>-<%$link->Target%>" value="1">]</span> 66 % } 67 <br/> 68 % } 69 % if ($makeissue) { 70 <span class="TktInput indent">add new: <INPUT NAME="<% $item->id %>-MemberOf"> <span class="inputcaption">[comment id numbers, space separated]</span></span> 71 % } 72 <br/> 73 <span class="TicketLabel">Children: 74 % if (!$item->Members->GotoFirstItem) { 75 <em>this <% $thing %> does not have any children </em><br/> 76 % } 77 % while (my $link = $item->Members->Next) { 78 <& Elements/ShowLink, URI => $link->BaseURI &></span> 79 % if ($makeissue) { 80 <span class="TktInput indent">[delete: <INPUT TYPE=CHECKBOX NAME="DeleteLink-<%$link->Base%>-<%$link->Type%>-" value="1">]</span> 81 % } 82 <br/> 83 % } 84 % if ($makeissue) { 85 <span class="TktInput indent">add new: <INPUT NAME="MemberOf-<% $item->id %>"> <span class="inputcaption">[comment id numbers, space separated]</span></span> 86 </span><br/> 87 <span class="TktInput">link to external item(s): <INPUT NAME="<% $item->id %>-RefersTo"> <span class="inputcaption">[URIs with protocol://, space separated]</span></span> 88 % } 89 </span><br/> 90 % if ($resp == 1) { 68 91 <textarea class="messagebox" COLS=72 ROWS=15 WRAP=HARD NAME="UpdateContent" onfocus="if(this.value=='Enter additional comments here') {this.value='';}" onblur="if(this.value==''){this.value='Enter additional comments here';}"> 69 92 % if($ARGS{'addcomments'}) { … … 79 102 <INPUT TYPE=SUBMIT NAME="SubmitTicket" VALUE='Add comment'></form> 80 103 % } 81 % } 82 </div> 104 <!-- </div> --> 105 % } 83 106 % $Ticket = ''; 84 107 % } 85 108 % 86 109 </body> 87 110 </html> … … 96 119 my $scrubber = HTML::Scrubber->new( allow => [ qw[ a b i u br ] ] ); 97 120 require "/var/www/stet/stetsubs.pl"; 98 my $issuequeue = 4; # I guess Issue will be queue 4...121 my $issuequeue = 5; # I guess Issue will be queue 4... 99 122 sub debug { 100 123 print STDERR @_ . "\n"; 101 124 } 102 125 103 my ($name, $resp, $pass, $agr_vals, $CurrentUser );126 my ($name, $resp, $pass, $agr_vals, $CurrentUser, $thing); 104 127 ($CurrentUser, $resp) = getUser("foo"); 105 128 106 my $rsslink = "/rt/NoAuth/rssresults.rdf? Query=".$ARGS{'Query'};129 my $rsslink = "/rt/NoAuth/rssresults.rdf?id=".$ARGS{'id'}."&Query=".$ARGS{'Query'}; 107 130 108 131 my ($Tickets, $Ticket, $makeissue, @msgresults, @linkresults); … … 117 140 $Ticket = LoadTicket($ARGS{'id'}); 118 141 if ($ARGS{'UpdateContent'}) { 119 ProcessUpdateMessage(TicketObj => $item, ARGSRef=>\%ARGS, Actions=>\@msgresults); 120 142 ProcessUpdateMessage(TicketObj => $Ticket, ARGSRef=>\%ARGS, Actions=>\@msgresults); 121 143 } 122 144 if ($ARGS{'MakeIssue'}) { … … 136 158 ) 137 159 ) 160 ) 138 161 { 139 162 $makeissue = 1; 140 163 } 164 else {$makeissue = '';} 165 if ($Ticket->Queue == 5) { 166 $thing = "issue"; 167 } 168 else { 169 $thing = "comment"; 170 } 141 171 142 172 sub getThread($) { … … 167 197 # } 168 198 169 $allcomments .= "<blockquote><h4>$subj</h4>\n $cont<br/>\n";199 $allcomments .= "<blockquote><h4>$subj</h4>\n".$message->Content."<br/>\n"; 170 200 $allcomments .= "<span class=\"posted\">noted by user <span class=\"userlink\">".$message->CreatorObj->Name."</span></span>\n"; 171 201 } trunk/rtNoAuth/xmlresults.html
r11 r12 25 25 % 26 26 <response> 27 %# <cs>Showing comments where <% humanQuery($ARGS{'Query'} |n %> (<% $Tickets->CountAll() %> found) <a href="<% $rsslink %>">[rss]</a> <a href="javascript:newQuery()">change</a> </cs> 28 <cs>Currently showing <% $printargs %> <a href="<% $rsslink %>">[rss]</a> <a href="changeshown.html">change</a> </cs> 29 % while ( my $item = $Tickets->Next()) { 27 % if ($Tickets) { 28 <cs>Showing comments where <% humanQuery($ARGS{'Query'}) |n %> <a class="rsslink" href="<% $rsslink %>">[rss]</a> (found <% $Tickets->CountAll()%>)</cs> 29 % } else { 30 <cs> Showing comment <a href="/rt/NoAuth/readsay.html?id=<% $ARGS{'id'} %>"><% $ARGS{'id'} %></a> <a class="rsslink" href="<% $rsslink %>">[rss]</a> <a href="/rt/NoAuth/changeshown.html">change</a> </cs> 31 % } 32 % while (my $item = $Tickets ? $Tickets->Next : $Ticket) { 30 33 <annotation> 31 34 <n><% $item->Transactions->First->Content %></n> … … 40 43 <id><% $item->id %></id> 41 44 </annotation> 45 % $Ticket = ''; 42 46 % } 43 47 </response> … … 64 68 print STDERR "Currentuser $CurrentUser, $resp\n"; 65 69 #my $Tickets = RT::Tickets->new($session{'CurrentUser'}); 66 my $Tickets = RT::Tickets->new($CurrentUser); 67 $Tickets->FromSQL($ARGS{'Query'}); 68 $Tickets->OrderBy( FIELD => 'id', ORDER => $ARGS{'Order'}); 70 71 my ($Tickets, $Ticket); 72 73 if ($ARGS{'Query'}) { 74 $Tickets = RT::Tickets->new($CurrentUser); 75 $Tickets->FromSQL($ARGS{'Query'}); 76 } 77 elsif ($ARGS{'id'}) { 78 $Ticket = RT::Ticket->new($CurrentUser); 79 $Ticket = LoadTicket($ARGS{'id'}); 80 } 81 82 #my $Tickets = RT::Tickets->new($CurrentUser); 83 #$Tickets->FromSQL($ARGS{'Query'}); 84 #$Tickets->OrderBy( FIELD => 'id', ORDER => $ARGS{'Order'}); 69 85 70 86 $r->content_type('text/xml'); trunk/selectxpath.xsl
r11 r12 103 103 <xsl:for-each select="section"> 104 104 <h3><xsl:value-of select="title"/></h3> 105 <section id="{@id}" >105 <section id="{@id}" name="{@id}"> 106 106 <xsl:for-each select="p"> 107 <p id="{@id}" >107 <p id="{@id}" name="{@id}"> 108 108 <xsl:for-each select="sent"> 109 <sent id="{@id}" >109 <sent id="{@id}" name="{@id}"> 110 110 <xsl:apply-templates select='node()|@*' /> 111 111 <xsl:text> </xsl:text> trunk/stet.css
r11 r12 266 266 text-decoration: none; 267 267 } 268 269 .inputcaption { 270 font-size: smaller; 271 font-color: #ffffcc; 272 } 273 274 .indent { 275 margin-left: 4em; 276 } trunk/stet.js
r11 r12 74 74 function XpathSel() { 75 75 76 if (!readCookie('__ac')) { 77 document.getElementById('login').setAttribute('style','color: red; font-weight: bold; font-size: 150%'); 78 return; 79 } 80 81 76 82 var textObj = ''; 77 83 var start = ''; … … 358 364 ticketObj[rtid] = new Object; 359 365 360 ticketObj[rtid].link = rtid ? '<a href="/rt/NoAuth/readsay.html?id='+rtid+' &addcomments=This+doesn%27t+actually+work+yet">read/say more</a> ' : '[problem with ticket link]';366 ticketObj[rtid].link = rtid ? '<a href="/rt/NoAuth/readsay.html?id='+rtid+'">read/say more</a> ' : '[problem with ticket link]'; 361 367 agreechild = uagr_arr[prI].firstChild.data 362 368 agreestr = getXMLNodeSerialisation(uagr_arr[prI]); trunk/stetsubs.pl
r11 r12 156 156 157 157 sub humanQuery { 158 shift;159 s/'CF.NoteUrl'LIKE/in file/g;160 s/'CF.NoteUrl' NOT LIKE/not in file/g;161 # s/'CF.NoteUrl' LIKE//g;162 # s/'CF.NoteUrl' NOT LIKE//g;158 $query = shift; 159 $query =~ s/['%0-9]+CF.NoteUrl'['%0-9]+ +LIKE/in file/g; 160 $query =~ s/'CF.NoteUrl' NOT LIKE/not in file/g; 161 # $query =~ s/'CF.NoteUrl' LIKE//g; 162 # $query =~ s/'CF.NoteUrl' NOT LIKE//g; 163 163 164 s/'CF.NoteSelection' LIKE/selected text matches/g; 165 s/'CF.NoteSelection' NOT LIKE/selected text does not match/g; 166 s/'CF.NoteStartNodeId' LIKE/in section id/g; 167 s/'CF.NoteStartNodeId' NOT LIKE/not in section id/g; 168 s/'CF.Agreeers' LIKE/agreeers include/g; 169 s/'CF.Agreeers' NOT LIKE/agreeers do not include/g; 170 s/ AND /, and /g; 171 s/ OR /, or /g; 172 return; 164 $query =~ s/'CF.NoteSelection' LIKE/selected text matches/g; 165 $query =~ s/'CF.NoteSelection' NOT LIKE/selected text does not match/g; 166 $query =~ s/'CF.NoteStartNodeId' LIKE/in section id/g; 167 $query =~ s/'CF.NoteStartNodeId' NOT LIKE/not in section id/g; 168 $query =~ s/'CF.Agreeers' LIKE/agreeers include/g; 169 $query =~ s/'CF.Agreeers' NOT LIKE/agreeers do not include/g; 170 171 $query =~ s/Requestor.Name LIKE/submitter matches/g; 172 $query =~ s/ AND /, and /g; 173 $query =~ s/ OR /, or /g; 174 return $query; 173 175 } 174 176