[freeside-commits] freeside/httemplate/edit part_svc.cgi, 1.74, 1.75 svc_dsl.cgi, NONE, 1.1

Erik Levinson levinse at wavetail.420.am
Wed Nov 24 17:46:36 PST 2010


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

Modified Files:
	part_svc.cgi 
Added Files:
	svc_dsl.cgi 
Log Message:
ikano.pm initial commit, svc_dsl UI initial commit, and svc_dsl on-going work, RT7111


--- NEW FILE: svc_dsl.cgi ---
<% include( 'elements/svc_Common.html',
            'table'   	=> 'svc_dsl',
	    'fields'	=> \@fields,
	    'svc_new_callback' => $new_cb,
	    'svc_edit_callback' => $edit_cb,
	  )
%>
<%init>

die "access denied"
  unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific?

my $conf = new FS::Conf;
my $date_format = $conf->config('date_format') || '%m/%d/%Y';

my $ti_fields = FS::svc_dsl->table_info->{'fields'};

my @fields = ();
my @uneditable = qw( pushed vendor_qual_id isp_chg isp_prev staticips last_pull notes );

my $edit_cb = sub {
    my( $cgi,$svc_x, $part_svc,$cust_pkg, $fields1,$opt) = @_;
    my @exports = $part_svc->part_export_dsl_pull;
    die "more than one DSL-pulling export attached to svcpart ".$part_svc->svcpart
	if ( scalar(@exports) > 1 );

    if ( scalar(@exports) == 1 ) {
	my $export = @exports[0];		
	if($export->exporttype eq 'ikano') {
	    @fields = ( 'password', 'monitored', );

	    foreach my $hf ( keys %$ti_fields ) {
		push @fields, {
		    field => $hf,
		    type => 'hidden',
		    value => $svc_x->$hf,
		} unless ( $hf eq 'password' || $hf eq 'monitored' );
	    }
	}
	else {
	    # XXX
	}
    }
    else {
	# XXX
    }
};

my $new_cb = sub {
    my( $cgi,$svc_x, $part_svc,$cust_pkg, $fields1,$opt) = @_;
    my @exports = $part_svc->part_export_dsl_pull;
    die "more than one DSL-pulling export attached to svcpart ".$part_svc->svcpart
	if ( scalar(@exports) > 1 );

    if ( scalar(@exports) == 1 ) {
	my $cust_main = $cust_pkg->cust_main;
	my $defsvctn = $cust_main->ship_daytime ? $cust_main->ship_daytime
						: $cust_main->daytime;
	$defsvctn =~ s/[^0-9]//g;

	@fields = (
	    { field => 'first',
	      value => $cust_main->ship_first ? $cust_main->ship_first
					      : $cust_main->first,
	    },
	    { field => 'last',
	      value => $cust_main->ship_last ? $cust_main->ship_last
					     : $cust_main->last,
	    },
	    { field => 'company',
	      value => $cust_pkg->cust_main->ship_company,
	      value => $cust_main->ship_company ? $cust_main->ship_company
						: $cust_main->company,
	    },
	    { field => 'svctn',
	      value => $defsvctn,
	    },
	);

	my $loop_type = { field => 'loop_type' };

	my $export = @exports[0];		
	if($export->exporttype eq 'ikano') {
	    $cgi->param('vendor_qual_id') =~ /^(\d+)$/ 
		or die 'unparsable vendor_qual_id';
	    my $vendor_qual_id = $1;

	    die "no start date set on customer package" if !$cust_pkg->start_date;

	    $loop_type = { field => 'loop_type',
		    type => 'select',
		    options => [ '', '0' ],
		    labels => { '' => 'Line-share', '0', => 'Standalone' },
		   # onchange => "document.getElementById('svctn').value = ''",
		};
	    push @fields, { field => 'isp_chg', type => 'checkbox', };
	    push @fields, 'isp_prev';
	    push @fields, { field => 'vendor_qual_id',
			    type => 'fixed',
			    value => $vendor_qual_id, 
			  };
	}
	else {
	    push @fields, 'username';
	}
	
	push @fields, 'password';

	push @fields, $loop_type;
	    
	push @fields, { field => 'vendor_order_type',
			type => 'hidden',
			value => 'N' };
	push @fields, { field => 'desired_dd',
			type => 'fixed',
			formatted_value => 
			    time2str($date_format,$cust_pkg->start_date),
			value => $cust_pkg->start_date, 
		      };
    }
    else {
	# XXX
    }
};
</%init>

Index: part_svc.cgi
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/edit/part_svc.cgi,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -w -d -r1.74 -r1.75
--- part_svc.cgi	8 Nov 2010 20:00:52 -0000	1.74
+++ part_svc.cgi	25 Nov 2010 01:46:33 -0000	1.75
@@ -16,6 +16,7 @@
 <UL><LI>svc_acct - Accounts - anything with a username (Mailboxes, PPP accounts, shell accounts, RADIUS entries for broadband, etc.)
     <LI>svc_domain - Domains
     <LI>svc_cert - Certificates
+    <LI>svc_dsl - DSL
     <LI>svc_forward - Mail forwarding
     <LI>svc_mailinglist - Mailing list
     <LI>svc_www - Virtual domain website



More information about the freeside-commits mailing list