%# The optimum committee has no members.  -- Norman Augustine

%# Header stuff
<& /RG/Elements/PageHeader &>
<& /RG/Elements/ToggleSave &>

<& Elements/EditHead &>
% my $out = $Obj->RenderEdit;
% my $cnt = 1;
% my $key = length($out);
% while ($out =~ s{src="data:image/png;base64,([^\"]+)"}{src="Image.html?Id=$cnt&Key=$key"}) {
%     $session{"reportImg$cnt"} = $1;
%     $cnt++;
% }
% $m->print($out);
<& Elements/EditFoot, Trigger => $Obj->Trigger &>

% return unless $ARGS{DEBUG};
<pre><% $Obj->RenderEdit %></pre>
<hr>
<pre><% $Obj->RenderXML %></pre>

<%INIT>
my $Op = (
    grep defined, map { /^Op-(.+?)(?:\.[xyXY])?[012]?$/ ? $1 : undef }
    grep length $ARGS{$_}, keys %ARGS
)[0] || $ARGS{Op};

$OpType = 'Part' unless $Op =~ /^Clause/;

if (exists $ARGS{src}) {
    $ARGS{src} and $ARGS{src} = $m->cgi_object->upload( 'src' )
	or delete $ARGS{src};
}

my $method = "$OpType$Op";
eval { $Obj->$method(%ARGS) };
print $@ if $@;
$session{reportContent}  = $Obj->RenderXML;
$session{reportPartId}   = $Obj->PartId;
$session{reportClauseId} = $Obj->ClauseId;
$session{reportPartTag}  = $Obj->PartObj->tag;
</%INIT>

<%ARGS>
$Obj	=> $RT::Nothing
$OpType	=> ''
</%ARGS>
