[rt-commit] [svn] r554 - in rt/branches: .
autrijus-3.1/html/Admin/CustomFields
autrijus-3.1/html/Admin/Elements autrijus-3.1/html/Elements
autrijus-3.1/html/Search autrijus-3.1/html/Ticket
autrijus-3.1/lib/RT autrijus-3.1/lib/RT/Interface
autrijus at fsck.com
autrijus at fsck.com
Fri Mar 12 01:29:36 EST 2004
Author: autrijus
Date: Fri Mar 12 01:29:35 2004
New Revision: 554
Modified:
rt/branches/ (props changed)
rt/branches/autrijus-3.1/html/Admin/CustomFields/Objects.html
rt/branches/autrijus-3.1/html/Admin/Elements/EditCustomFields
rt/branches/autrijus-3.1/html/Elements/Submit
rt/branches/autrijus-3.1/html/Search/Bulk.html
rt/branches/autrijus-3.1/html/Ticket/Create.html
rt/branches/autrijus-3.1/html/Ticket/ModifyAll.html
rt/branches/autrijus-3.1/lib/RT/CustomFields_Overlay.pm
rt/branches/autrijus-3.1/lib/RT/Interface/Web.pm
rt/branches/autrijus-3.1/lib/RT/Record.pm
Log:
* CheckAll and ClearAll done.
* Jumbo and Bulk support for TxnCFs done.
* Create.html draws TxnCFs like other places do.
* _AddCFV now checks for CF's validity against that object.
Modified: rt/branches/autrijus-3.1/html/Admin/CustomFields/Objects.html
==============================================================================
--- rt/branches/autrijus-3.1/html/Admin/CustomFields/Objects.html (original)
+++ rt/branches/autrijus-3.1/html/Admin/CustomFields/Objects.html Fri Mar 12 01:29:35 2004
@@ -50,7 +50,7 @@
<h3><&|/l&>Unassigned Objects (check to assign)</&></h3>
<& /Admin/Elements/PickObjects, Objects => \@UnassignedObjs, id => $id &>
-<& /Elements/Submit &>
+<& /Elements/Submit, CheckAll => 1, ClearAll => 1 &>
</FORM>
<%INIT>
Modified: rt/branches/autrijus-3.1/html/Admin/Elements/EditCustomFields
==============================================================================
--- rt/branches/autrijus-3.1/html/Admin/Elements/EditCustomFields (original)
+++ rt/branches/autrijus-3.1/html/Admin/Elements/EditCustomFields Fri Mar 12 01:29:35 2004
@@ -51,7 +51,7 @@
<h3><&|/l&>Unassigned Custom Fields (check to assign)</&></h3>
<& PickCustomFields, CustomFields => \@UnassignedCFs, id => $id &>
-<& /Elements/Submit &>
+<& /Elements/Submit, CheckAll => 1, ClearAll => 1 &>
</FORM>
Modified: rt/branches/autrijus-3.1/html/Elements/Submit
==============================================================================
--- rt/branches/autrijus-3.1/html/Elements/Submit (original)
+++ rt/branches/autrijus-3.1/html/Elements/Submit Fri Mar 12 01:29:35 2004
@@ -21,15 +21,32 @@
%#
%#
%# END LICENSE BLOCK
+% if ($CheckAll or $ClearAll) {
+<script><!--
+function set_checkbox (obj, val) {
+ var i;
+ var myfield = obj.form.getElementsByTagName('input');
+ for (i = 0; i < myfield.length; i++) {
+ if (myfield[i].type == 'checkbox') {
+ myfield[i].checked = val;
+ }
+ }
+}
+--></script>
+% }
<TABLE WIDTH=100% BGCOLOR="<%$color%>" CELLSPACING=0 BORDER=0 CELLPADDING=0 >
<TR>
-% if ($Reset) {
<TD>
-<FONT COLOR=#ffd800 >
+% if ($CheckAll) {
+<INPUT TYPE=BUTTON VALUE="<%$CheckAllLabel%>" ONCLICK="set_checkbox(this, true)">
+% }
+% if ($ClearAll) {
+<INPUT TYPE=BUTTON VALUE="<%$ClearAllLabel%>" ONCLICK="set_checkbox(this, false)">
+% }
+% if ($Reset) {
<INPUT TYPE=RESET VALUE="<%$ResetLabel%>">
-</FONT>
-</TD>
%}
+</TD>
<TD>
</TD>
@@ -57,6 +74,10 @@
$AlternateLabel => undef
$Label => loc('Submit')
$Name => undef
+$CheckAll => undef
+$CheckAllLabel => loc('Check All')
+$ClearAll => undef
+$ClearAllLabel => loc('Clear All')
$Reset => undef
$ResetLabel => loc('Reset')
</%ARGS>
Modified: rt/branches/autrijus-3.1/html/Search/Bulk.html
==============================================================================
--- rt/branches/autrijus-3.1/html/Search/Bulk.html (original)
+++ rt/branches/autrijus-3.1/html/Search/Bulk.html Fri Mar 12 01:29:35 2004
@@ -131,6 +131,12 @@
</select>
</td></tr>
<tr><td align=right><&|/l&>Subject</&>:</td><td> <input name="UpdateSubject" size=60 value=""></td></tr>
+% while (my $CF = $TxnCFs->Next()) {
+<TR>
+<TD ALIGN=RIGHT><% $CF->Name %>:</TD>
+<TD><& /Elements/EditCustomField, CustomField => $CF, NamePrefix => "TransactionCustomField-" &><em><% $CF->FriendlyType %></em></TD>
+</TD></TR>
+% } # end if while
<tr><td align=right><&|/l&>Attach</&>:</td><td><input name="UpdateAttachment" type="file"></td></tr>
<tr><td class=labeltop><&|/l&>Message</&>:</td><td>
<& /Elements/MessageBox, Name=>"UpdateContent"&>
@@ -178,7 +184,10 @@
my @linkresults;
$Tickets->RedoSearch();
+
+my %queues;
while (my $Ticket = $Tickets->Next) {
+ $queues{$Ticket->Queue}++;
$RT::Logger->debug( "Checking Ticket ".$Ticket->Id ."\n");
next unless ($ARGS{"UpdateTicket".$Ticket->Id});
$RT::Logger->debug ("Matched\n");
@@ -216,5 +225,9 @@
@results = (@results, @tempresults);
}
+
+my $TxnCFs = RT::CustomFields->new($session{CurrentUser});
+$TxnCFs->LimitToLookupType("RT::Queue-RT::Ticket-RT::Transaction");
+$TxnCFs->LimitToGlobalOrObjectId(sort keys %queues);
</%INIT>
Modified: rt/branches/autrijus-3.1/html/Ticket/Create.html
==============================================================================
--- rt/branches/autrijus-3.1/html/Ticket/Create.html (original)
+++ rt/branches/autrijus-3.1/html/Ticket/Create.html Fri Mar 12 01:29:35 2004
@@ -91,6 +91,14 @@
<& /Ticket/Elements/EditCustomFields, QueueObj => $QueueObj &>
</TD>
</TR>
+% if ($TxnCFs->Count) {
+% while (my $CF = $TxnCFs->Next()) {
+<TR>
+<TD ALIGN=RIGHT><% $CF->Name %>:</TD>
+<TD><& /Elements/EditCustomField, CustomField => $CF, NamePrefix => "TransactionCustomField-" &><em><% $CF->FriendlyType %></em></TD>
+</TD></TR>
+% }
+% }
<TR>
% if (exists $session{'Attachments'}) {
<TD class=label>
@@ -188,22 +196,6 @@
</TABLE>
<& /Elements/TitleBoxEnd &>
<BR>
-
-% if ($TxnCFs->Count) {
-<& /Elements/TitleBoxStart, title => loc('Transaction Custom Fields'),
- title_class=> 'inverse',
- titleright => '', color=> "#333366" &>
-<TABLE BORDER=0>
-% while (my $CF = $TxnCFs->Next()) {
-<TR>
-<TD ALIGN=RIGHT><% $CF->Name %>:</TD>
-<TD><& /Elements/EditCustomField, CustomField => $CF, NamePrefix => "TransactionCustomField-" &></TD>
-<TD ALIGN=RIGHT><em><% $CF->FriendlyType %></em></TD>
-</TD></TR>
-% }
-</TABLE>
-<& /Elements/TitleBoxEnd &>
-% }
</TD>
</TR>
Modified: rt/branches/autrijus-3.1/html/Ticket/ModifyAll.html
==============================================================================
--- rt/branches/autrijus-3.1/html/Ticket/ModifyAll.html (original)
+++ rt/branches/autrijus-3.1/html/Ticket/ModifyAll.html Fri Mar 12 01:29:35 2004
@@ -78,6 +78,14 @@
<td class="label"><&|/l&>Subject</&>:</td>
<td class="entry"><input name="UpdateSubject" size=60 value=""></td>
</tr>
+% if (my $TxnCFs = $Ticket->TransactionCustomFields) {
+% while (my $CF = $TxnCFs->Next()) {
+<TR>
+<TD class="label"><% $CF->Name %>:</TD>
+<TD class="entry"><& /Elements/EditCustomField, CustomField => $CF, NamePrefix => "TransactionCustomField-" &><em><% $CF->FriendlyType %></em></TD>
+</TD></TR>
+% } # end if while
+% } # end of if
<tr>
<td class="label"><&|/l&>Attach</&>:</td>
<td class="entry"><input name="UpdateAttachment" type=file></td>
Modified: rt/branches/autrijus-3.1/lib/RT/CustomFields_Overlay.pm
==============================================================================
--- rt/branches/autrijus-3.1/lib/RT/CustomFields_Overlay.pm (original)
+++ rt/branches/autrijus-3.1/lib/RT/CustomFields_Overlay.pm Fri Mar 12 01:29:35 2004
@@ -206,22 +206,28 @@
sub LimitToGlobalOrObjectId {
my $self = shift;
- my $id = shift || 0;
+ my $global_only = 1;
$self->Join( ALIAS1 => 'main',
FIELD1 => 'id',
ALIAS2 => $self->_OCFAlias,
FIELD2 => 'CustomField' );
- $self->Limit( ALIAS => $self->_OCFAlias,
- FIELD => 'ObjectId',
- OPERATOR => '=',
- VALUE => $id,
- ENTRYAGGREGATOR => 'OR' );
+
+ foreach my $id (@ARGV) {
+ $self->Limit( ALIAS => $self->_OCFAlias,
+ FIELD => 'ObjectId',
+ OPERATOR => '=',
+ VALUE => $id || 0,
+ ENTRYAGGREGATOR => 'OR' );
+ $global_only = 0 if $id;
+ }
+
$self->Limit( ALIAS => $self->_OCFAlias,
FIELD => 'ObjectId',
OPERATOR => '=',
VALUE => 0,
- ENTRYAGGREGATOR => 'OR' ) if $id;
+ ENTRYAGGREGATOR => 'OR' ) if $global_only;
+
$self->OrderByCols(
{ ALIAS => $self->_OCFAlias, FIELD => 'ObjectId' },
{ ALIAS => $self->_OCFAlias, FIELD => 'SortOrder' },
Modified: rt/branches/autrijus-3.1/lib/RT/Interface/Web.pm
==============================================================================
--- rt/branches/autrijus-3.1/lib/RT/Interface/Web.pm (original)
+++ rt/branches/autrijus-3.1/lib/RT/Interface/Web.pm Fri Mar 12 01:29:35 2004
@@ -449,7 +449,6 @@
TimeTaken => $args{ARGSRef}->{'UpdateTimeWorked'}
);
push ( @{ $args{Actions} }, $Description );
- print "I see $Object coming up\n";
$Object->UpdateCustomFields( ARGSRef => $args{ARGSRef} ) if $Object;
}
elsif ( $args{ARGSRef}->{'UpdateType'} eq 'response' ) {
Modified: rt/branches/autrijus-3.1/lib/RT/Record.pm
==============================================================================
--- rt/branches/autrijus-3.1/lib/RT/Record.pm (original)
+++ rt/branches/autrijus-3.1/lib/RT/Record.pm Fri Mar 12 01:29:35 2004
@@ -765,6 +765,14 @@
return ( 0, $self->loc("Custom field [_1] not found", $args{'Field'}) );
}
+ my $OCFs = RT::ObjectCustomFields->new( $self->CurrentUser );
+ $OCFs->LimitToCustomField( $cf->Id );
+ $OCFs->LimitToObjectId( $self->Id );
+ $OCFs->LimitToObjectId( 0 );
+ unless ($OCFs->Count) {
+ return ( 0, $self->loc("Custom field [_1] does not apply to this object", $args{'Field'}) );
+ }
+
# Load up a ObjectCustomFieldValues object for this custom field and this ticket
my $values = $cf->ValuesForObject( $self );
More information about the Rt-commit
mailing list