summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FS/FS/AccessRight.pm1
-rw-r--r--FS/FS/Schema.pm1
-rwxr-xr-xbin/apache.export5
-rw-r--r--httemplate/edit/svc_www.cgi12
-rw-r--r--httemplate/view/svc_www.cgi2
5 files changed, 19 insertions, 2 deletions
diff --git a/FS/FS/AccessRight.pm b/FS/FS/AccessRight.pm
index 5194bd4d9..f67614aac 100644
--- a/FS/FS/AccessRight.pm
+++ b/FS/FS/AccessRight.pm
@@ -116,6 +116,7 @@ assigned to users and/or groups.
# customer service rights
###
'Edit usage', #NEW
+ 'Edit www config', #NEW
'View customer services', #NEW
'Provision customer service',
'Recharge customer service', #NEW
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index 84078fad8..e0fef9126 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -940,6 +940,7 @@ sub tables_hashref {
'svcnum', 'int', '', '', '', '',
'recnum', 'int', '', '', '', '',
'usersvc', 'int', '', '', '', '',
+ 'config', 'text', 'NULL', '', '', '',
],
'primary_key' => 'svcnum',
'unique' => [],
diff --git a/bin/apache.export b/bin/apache.export
index 47863a9d5..b39b5f1a2 100755
--- a/bin/apache.export
+++ b/bin/apache.export
@@ -36,9 +36,12 @@ foreach my $export ( @exports ) {
my @svc_www = $export->svc_x;
foreach my $svc_www ( @svc_www ) {
- use vars qw($zone $username);
+ use vars qw($zone $username $dir $email $config);
$zone = $svc_www->domain_record->zone;
$username = $svc_www->svc_acct->username;
+ $dir = $svc_www->svc_acct->dir;
+ $email = $svc_www->svc_acct->email;
+ $config = $svc_www->config;
print HTTPD_CONF eval(qq("$template")). "\n\n";
}
diff --git a/httemplate/edit/svc_www.cgi b/httemplate/edit/svc_www.cgi
index 4b27752ff..a9f97ff85 100644
--- a/httemplate/edit/svc_www.cgi
+++ b/httemplate/edit/svc_www.cgi
@@ -1,6 +1,6 @@
%my $conf = new FS::Conf;
%
-%my( $svcnum, $pkgnum, $svcpart, $part_svc, $svc_www );
+%my( $svcnum, $pkgnum, $svcpart, $part_svc, $svc_www, $config );
%
%if ( $cgi->param('error') ) {
%
@@ -10,6 +10,7 @@
% $svcnum = $svc_www->svcnum;
% $pkgnum = $cgi->param('pkgnum');
% $svcpart = $cgi->param('svcpart');
+% $config = $cgi->param('config');
% $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart});
% die "No part_svc entry!" unless $part_svc;
%
@@ -42,6 +43,7 @@
%
% $pkgnum=$cust_svc->pkgnum;
% $svcpart=$cust_svc->svcpart;
+% $config=$svc_www->config;
%
% $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart});
% die "No part_svc entry!" unless $part_svc;
@@ -200,6 +202,14 @@
% print "</SELECT></TD></TR>";
%}
%
+%if ( $part_svc->part_svc_column('config')->columnflag ne 'F' &&
+% $FS::CurrentUser::CurrentUser->access_right('Edit www config') ) {
+% print '<TR><TD ALIGN="right">Config lines</TD><TD>';
+% print qq!<TEXTAREA NAME="config" rows="15" cols="80">$config</TEXTAREA></TD></TR>!
+%}else{
+% print qq!<INPUT TYPE="hidden" NAME="config" VALUE="$config">!;
+%}
+%
%foreach my $field ($svc_www->virtual_fields) {
% if ( $part_svc->part_svc_column($field)->columnflag ne 'F' ) {
% # If the flag is X, it won't even show up in $svc_acct->virtual_fields.
diff --git a/httemplate/view/svc_www.cgi b/httemplate/view/svc_www.cgi
index 0579a55b4..c503d1829 100644
--- a/httemplate/view/svc_www.cgi
+++ b/httemplate/view/svc_www.cgi
@@ -73,6 +73,8 @@
%
% print '</TD></TR>';
%}
+ <% qq!<TR><TD ALIGN="right">Config lines</TD>! %>
+ <% qq!<TD BGCOLOR="#ffffff"><pre>!.$cgi->escapeHTML(join("\n",$svc_www->config))."</pre></TD></TR>" %>
%
%foreach (sort { $a cmp $b } $svc_www->virtual_fields) {
% print $svc_www->pvf($_)->widget('HTML', 'view', $svc_www->getfield($_)),