[freeside-commits] freeside/httemplate/config config-view.cgi, 1.23, 1.24 config.cgi, 1.28, 1.29 config-image.cgi, NONE, 1.1 config-process.cgi, 1.14, 1.15

Ivan,,, ivan at wavetail.420.am
Mon Feb 9 06:05:33 PST 2009


Update of /home/cvs/cvsroot/freeside/httemplate/config
In directory wavetail.420.am:/tmp/cvs-serv17630/httemplate/config

Modified Files:
	config-view.cgi config.cgi config-process.cgi 
Added Files:
	config-image.cgi 
Log Message:
rest of per-agent config for company_name, company_address, logo, etc.. RT#3989

Index: config-process.cgi
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/config/config-process.cgi,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- config-process.cgi	14 Sep 2008 20:20:40 -0000	1.14
+++ config-process.cgi	9 Feb 2009 14:05:31 -0000	1.15
@@ -25,7 +25,7 @@
     } else {
       $conf->delete($i->key, $agentnum);
     }
-  } elsif ( $type eq 'binary' ) {
+  } elsif ( $type eq 'binary' || $type eq 'image' ) {
     if ( defined($cgi->param($i->key.$n)) && $cgi->param($i->key.$n) ) {
       my $fh = $cgi->upload($i->key.$n);
       if (defined($fh)) {
@@ -94,7 +94,7 @@
           <% $conf->config($i->key, $agentnum) |js_string %> + ': ' +
           <% &{ $i->option_sub }( $conf->config($i->key, $agentnum) ) |js_string %>;
 %     } else {
-        alert('unknown type <% $type %>');
+        //alert('unknown type <% $type %>');
         window.top.location.reload();
 %     }
 

--- NEW FILE: config-image.cgi ---
<% $conf->config_binary($name, $agentnum) %>
<%init>

die "access denied"
  unless $FS::CurrentUser::CurrentUser->access_right('Configuration');

my $conf = new FS::Conf;

http_header( 'Content-Type' => 'image/png' ); #just png for now

$cgi->param('key') =~ /^([-\w.]+)$/ or die "illegal config option";
my $name = $1;

my $agentnum = '';
if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) {
  $agentnum = $1;
}

</%init>

Index: config-view.cgi
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/config/config-view.cgi,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- config-view.cgi	14 Sep 2008 20:20:41 -0000	1.23
+++ config-view.cgi	9 Feb 2009 14:05:31 -0000	1.24
@@ -1,10 +1,4 @@
-<% include("/elements/header.html",
-     $title,
-     menubar(
-       'View all agents' => $p.'browse/agent.cgi',
-     )
-   )
-%>
+<% include("/elements/header.html", $title, menubar(@menubar)) %>
 
 Click on a configuration value to change it.
 <BR><BR>
@@ -15,25 +9,20 @@
   <FONT SIZE="+1" COLOR="#ff0000">CONFIGURATION NOT STORED IN DATABASE -- USING COMPATIBILITY MODE</FONT><BR><BR>
 %}
 
-% foreach my $section ( qw(required billing username password UI session
-%                            shell BIND
-%                           ),
-%                         '', 'deprecated') { 
-
-  <A NAME="<% $section || 'unclassified' %>"></A>
-  <FONT SIZE="-2">
-% foreach my $nav_section ( qw(required billing username password UI session
-%                                  shell BIND
-%                                 ),
-%                               '', 'deprecated') { 
-% if ( $section eq $nav_section ) { 
+% foreach my $section (@sections) {
 
-      [<A NAME="not<% $nav_section || 'unclassified' %>" style="background-color: #cccccc"><% ucfirst($nav_section || 'unclassified') %></A>]
-% } else { 
+    <A NAME="<% $section || 'unclassified' %>"></A>
+    <FONT SIZE="-2">
 
-      [<A HREF="#<% $nav_section || 'unclassified' %>"><% ucfirst($nav_section || 'unclassified') %></A>]
-% } 
-% } 
+%   foreach my $nav_section (@sections) {
+%
+%     if ( $section eq $nav_section ) { 
+        [<A NAME="not<% $nav_section || 'unclassified' %>" style="background-color: #cccccc"><% ucfirst($nav_section || 'unclassified') %></A>]
+%     } else { 
+        [<A HREF="#<% $nav_section || 'unclassified' %>"><% ucfirst($nav_section || 'unclassified') %></A>]
+%     } 
+%
+%   } 
 
   </FONT><BR>
   <TABLE BGCOLOR="#cccccc" BORDER=1 CELLSPACING=0 CELLPADDING=0 BORDERCOLOR="#999999">
@@ -42,7 +31,7 @@
       <% ucfirst($section || 'unclassified') %> configuration options
     </th>
   </tr>
-% foreach my $i (grep $_->section eq $section, @config_items) { 
+% foreach my $i (@{ $section_items{$section} }) { 
 %   my @types = ref($i->type) ? @{$i->type} : ($i->type);
 %   my( $width, $height ) = ( 522, 336 );
 %   if ( grep $_ eq 'textarea', @types ) {
@@ -76,9 +65,22 @@
             <tr>
               <td><font color="#ff0000">no type</font></td>
             </tr>
+
+%   } elsif (   $type eq 'image' ) {
+
+            <tr>
+
+              <% $conf->exists($i->key, $agentnum)
+                   ? '<img src="config-image.cgi?key='.      $i->key.
+                                               ';agentnum='. $agentnum. '">'
+                   : 'empty'
+              %>
+            </tr>
+
 %   } elsif (   $type eq 'binary' ) {
 
             <tr>
+
               <% $conf->exists($i->key, $agentnum)
                    ? qq!<a href="config-download.cgi?key=!. $i->key. ';agentnum='. $agentnum. qq!">download</a>!
                    : 'empty'
@@ -143,16 +145,15 @@
   unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
 
 my $agentnum = '';
+my $title;
+my @menubar = ();
 if ($cgi->param('agentnum') =~ /^(\d+)$/) {
   $agentnum = $1;
-}
-
-my $title;
-if ($agentnum) {
   my $agent = qsearchs('agent', { 'agentnum' => $agentnum } );
   die "Agent $agentnum not found!" unless $agent;
 
-  $title = "Configuration for ". $agent->agent;
+  push @menubar, 'View all agents' => $p.'browse/agent.cgi';
+  $title = 'Agent Configuration for '. $agent->agent;
 } else {
   $title = 'Global Configuration';
 }
@@ -162,5 +163,15 @@
 my @config_items = grep { $agentnum ? $_->per_agent : 1 }
                    grep { $_->key != ~/^invoice_(html|latex|template)/ }
                         $conf->config_items; 
- 
+
+my @sections = qw(required billing username password UI session shell BIND );
+push @sections, '', 'deprecated';
+
+my %section_items = ();
+foreach my $section (@sections) {
+  $section_items{$section} = [ grep $_->section eq $section, @config_items ];
+}
+
+ at sections = grep scalar( @{ $section_items{$_} } ), @sections;
+
 </%init>

Index: config.cgi
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/config/config.cgi,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- config.cgi	22 Dec 2008 23:28:02 -0000	1.28
+++ config.cgi	9 Feb 2009 14:05:31 -0000	1.29
@@ -44,13 +44,25 @@
 
   <font color="#ff0000">no type</font>
 
+%   } elsif ( $type eq 'image' ) { 
+
+  <% $conf->exists($key, $agentnum)
+       ? 'Current image<br>'.
+         '<img src="config-image.cgi?key='.      $key.
+                                   ';agentnum='. $agentnum. '"><br>'
+       : ''
+  %>
+
+  <BR>
+  New image filename <input type="file" name="<% "$key$n" %>">
+
 %   } elsif ( $type eq 'binary' ) { 
 
   Filename <input type="file" name="<% "$key$n" %>">
 
 %   } elsif ( $type eq 'textarea' ) { 
 
-  <textarea name="<% "$key$n" %>" rows=12 cols=78 wrap="off"><% join("\n", $conf->config($key, $agentnum)) %></textarea>
+  <textarea name="<% "$key$n" %>" rows=12 cols=78 wrap="off"><% join("\n", $conf->config($key, $agentnum)) |h %></textarea>
 
 %   } elsif ( $type eq 'checkbox' ) { 
 
@@ -259,7 +271,7 @@
 
 %   } else {
 
-  <font color="#ff0000">unknown type $type</font>
+  <font color="#ff0000">unknown type <% $type %></font>
 
 %   }
 % $n++;



More information about the freeside-commits mailing list