diff options
Diffstat (limited to 'httemplate')
| -rw-r--r-- | httemplate/edit/part_export.cgi | 23 | ||||
| -rw-r--r-- | httemplate/edit/process/part_export.cgi | 3 | ||||
| -rwxr-xr-x | httemplate/edit/process/svc_domain.cgi | 4 | ||||
| -rwxr-xr-x | httemplate/edit/svc_domain.cgi | 42 | 
4 files changed, 57 insertions, 15 deletions
| diff --git a/httemplate/edit/part_export.cgi b/httemplate/edit/part_export.cgi index d57979751..8b697e142 100644 --- a/httemplate/edit/part_export.cgi +++ b/httemplate/edit/part_export.cgi @@ -79,13 +79,28 @@ my $widget = new HTML::Widgets::SelectLayers(                      );        $html .= qq!<TR><TD ALIGN="right">$label</TD><TD>!;        if ( $type eq 'select' ) { -        $html .= qq!<SELECT NAME="$option">!; -        foreach my $select_option ( @{$optinfo->{options}} ) { +        my $size = defined($optinfo->{size}) ? " SIZE=" . $optinfo->{size} : ''; +        my $multi = defined($optinfo->{multi}) ? ' MULTIPLE' : ''; +        $html .= qq!<SELECT NAME="$option"$multi$size>!; +        my @values = split '\s+', $value if $multi; +        my @options; +        if (defined($optinfo->{option_values})) { +          my $valsub = $optinfo->{option_values}; +          @options = &$valsub(); +        } elsif (defined($optinfo->{options})) { +          @options = @{$optinfo->{options}}; +        } +        foreach my $select_option ( @options ) {            #if ( ref($select_option) ) {            #} else { -            my $selected = $select_option eq $value ? ' SELECTED' : ''; +            my $selected = ($multi ? grep {$_ eq $select_option} @values : $select_option eq $value ) ? ' SELECTED' : ''; +            my $label = $select_option; +            if (defined($optinfo->{option_label})) { +              my $labelsub = $optinfo->{option_label}; +              $label = &$labelsub($select_option); +            }              $html .= qq!<OPTION VALUE="$select_option"$selected>!. -                     qq!$select_option</OPTION>!; +                     qq!$label</OPTION>!;            #}          }          $html .= '</SELECT>'; diff --git a/httemplate/edit/process/part_export.cgi b/httemplate/edit/process/part_export.cgi index b5f82e892..209419f0b 100644 --- a/httemplate/edit/process/part_export.cgi +++ b/httemplate/edit/process/part_export.cgi @@ -16,7 +16,8 @@ my $old = qsearchs('part_export', { 'exportnum'=>$exportnum } ) if $exportnum;  #fixup options  #warn join('-', split(',',$cgi->param('options')));  my %options = map { -  my $value = $cgi->param($_); +  my @values = $cgi->param($_); +  my $value = scalar(@values) > 1 ? join (' ', @values) : $values[0];    $value =~ s/\r\n/\n/g; #browsers? (textarea)    $_ => $value;  } split(',', $cgi->param('options')); diff --git a/httemplate/edit/process/svc_domain.cgi b/httemplate/edit/process/svc_domain.cgi index 9993a879e..59b518097 100755 --- a/httemplate/edit/process/svc_domain.cgi +++ b/httemplate/edit/process/svc_domain.cgi @@ -18,8 +18,8 @@ my $svcnum = $1;  my $new = new FS::svc_domain ( {    map {      $_, scalar($cgi->param($_)); -  #} qw(svcnum pkgnum svcpart domain action purpose) -  } ( fields('svc_domain'), qw( pkgnum svcpart action purpose ) ) +  #} qw(svcnum pkgnum svcpart domain action) +  } ( fields('svc_domain'), qw( pkgnum svcpart action ) )  } );  my $error = ''; diff --git a/httemplate/edit/svc_domain.cgi b/httemplate/edit/svc_domain.cgi index 56ba604bf..10079ce98 100755 --- a/httemplate/edit/svc_domain.cgi +++ b/httemplate/edit/svc_domain.cgi @@ -7,17 +7,31 @@  <INPUT TYPE="hidden" NAME="pkgnum" VALUE="<% $pkgnum %>">  <INPUT TYPE="hidden" NAME="svcpart" VALUE="<% $svcpart %>"> -<INPUT TYPE="radio" NAME="action" VALUE="N"<% $kludge_action eq 'N' ? ' CHECKED' : '' %>>New +<% ntable("#cccccc",2) %> +<TR> +<P>Domain <INPUT TYPE="text" NAME="domain" VALUE="<% $domain %>" SIZE=28 MAXLENGTH=63>  <BR> +% if ($export) { +Available top-level domains: <% $export->option('tlds') %> +</TR> -<INPUT TYPE="radio" NAME="action" VALUE="M"<% $kludge_action eq 'M' ? ' CHECKED' : '' %>>Transfer +<TR> +<INPUT TYPE="radio" NAME="action" VALUE="N"<% $kludge_action eq 'N' ? ' CHECKED' : '' %>>Register at <% $registrar->{'name'} %> +<BR> -<P>Domain <INPUT TYPE="text" NAME="domain" VALUE="<% $domain %>" SIZE=28 MAXLENGTH=63> +<INPUT TYPE="radio" NAME="action" VALUE="M"<% $kludge_action eq 'M' ? ' CHECKED' : '' %>>Transfer to <% $registrar->{'name'} %> +<BR> -<BR>Purpose/Description: <INPUT TYPE="text" NAME="purpose" VALUE="<% $purpose %>" SIZE=64> +<INPUT TYPE="radio" NAME="action" VALUE="I"<% $kludge_action eq 'I' ? ' CHECKED' : '' %>>Registered elsewhere -<P><INPUT TYPE="submit" VALUE="Submit"> +</TR> + +% } +<TR> +<P><INPUT TYPE="submit" VALUE="Submit"> +</TR> +</TABLE>  </FORM>  <% include('/elements/footer.html') %> @@ -27,7 +41,7 @@  die "access denied"    unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific? -my($svcnum, $pkgnum, $svcpart, $kludge_action, $purpose, $part_svc, +my($svcnum, $pkgnum, $svcpart, $kludge_action, $part_svc,     $svc_domain);  if ( $cgi->param('error') ) { @@ -38,7 +52,6 @@ if ( $cgi->param('error') ) {    $pkgnum = $cgi->param('pkgnum');    $svcpart = $cgi->param('svcpart');    $kludge_action = $cgi->param('action'); -  $purpose = $cgi->param('purpose');    $part_svc = qsearchs('part_svc', { 'svcpart' => $svcpart } );    die "No part_svc entry!" unless $part_svc; @@ -61,7 +74,6 @@ if ( $cgi->param('error') ) {  } else { #editing    $kludge_action = ''; -  $purpose = '';    my($query) = $cgi->keywords;    $query =~ /^(\d+)$/ or die "unparsable svcnum";    $svcnum=$1; @@ -82,6 +94,20 @@ my $action = $svcnum ? 'Edit' : 'Add';  my $svc = $part_svc->getfield('svc'); +my @exports = $part_svc->part_export(); + +my $registrar; +my $export; + +# Find the first export that does domain registration +foreach (@exports) { +	$export = $_ if $_->can('registrar'); +} +# If we have a domain registration export, get the registrar object +if ($export) { +	$registrar = $export->registrar; +} +  my $otaker = getotaker;  my $domain = $svc_domain->domain; | 
