From 0354f39ed0e74fd2eae1d9da13906625b4f56591 Mon Sep 17 00:00:00 2001 From: khoff Date: Wed, 5 Feb 2003 23:17:17 +0000 Subject: svc_broadband rewrite --- httemplate/edit/process/router.cgi | 100 +++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 httemplate/edit/process/router.cgi (limited to 'httemplate/edit/process/router.cgi') diff --git a/httemplate/edit/process/router.cgi b/httemplate/edit/process/router.cgi new file mode 100644 index 000000000..c0cb884f0 --- /dev/null +++ b/httemplate/edit/process/router.cgi @@ -0,0 +1,100 @@ +<% + +use FS::UID qw(dbh); + +my $dbh = dbh; +local $FS::UID::AutoCommit=0; + +sub check { + my $error = shift; + if($error) { + $cgi->param('error', $error); + print $cgi->redirect(popurl(3) . "edit/router.cgi?". $cgi->query_string); + $dbh->rollback; + exit; + } +} + +my $error = ''; +my $routernum = $cgi->param('routernum'); +my $routername = $cgi->param('routername'); +my $old = qsearchs('router', { routernum => $routernum }); +my @old_rf; +my @old_psr; + +my $new = new FS::router { + routernum => $routernum, + routername => $routername, + svcnum => 0 + }; + +if($old) { + if($old->routername ne $new->routername) { + $error = $new->replace($old); + } #else do nothing +} else { + $error = $new->insert; +} + +check($error); + +if ($old) { + @old_psr = $old->part_svc_router; + foreach $psr (@old_psr) { + if($cgi->param('svcpart_'.$psr->svcpart) eq 'ON') { + # do nothing + } else { + $error = $psr->delete; + } + } + check($error); + @old_rf = $old->router_field; + foreach $rf (@old_rf) { + if(my $new_val = $cgi->param('rf_'.$rf->routerfieldpart)) { + if($new_val ne $rf->value) { + my $new_rf = new FS::router_field + { routernum => $routernum, + value => $new_val, + routerfieldpart => $rf->routerfieldpart }; + $error = $new_rf->replace($rf); + } #else do nothing + } else { + $error = $rf->delete; + } + check($error); + } +} + +foreach($cgi->param) { + if($cgi->param($_) eq 'ON' and /^svcpart_(\d+)$/) { + my $svcpart = $1; + if(grep {$_->svcpart == $svcpart} @old_psr) { + # do nothing + } else { + my $new_psr = new FS::part_svc_router { svcpart => $svcpart, + routernum => $routernum }; + $error = $new_psr->insert; + } + check($error); + } elsif($cgi->param($_) ne '' and /^rf_(\d+)$/) { + my $part = $1; + if(my @x = grep {$_->routerfieldpart == $part} @old_rf) { + # already handled all of these + } else { + my $new_rf = new FS::router_field + { routernum => $routernum, + value => $cgi->param('rf_'.$part), + routerfieldpart => $part }; + $error = $new_rf->insert; + check($error); + } + } +} + + + +# Yay, everything worked! +$dbh->commit or die $dbh->errstr; +print $cgi->redirect(popurl(3). "edit/router.cgi?$routernum"); + +%> -- cgit v1.2.1 From b938a41859030d3d3a126f39fa1b64b9211145a5 Mon Sep 17 00:00:00 2001 From: khoff Date: Mon, 21 Apr 2003 21:13:20 +0000 Subject: Fixed bug with $routernum and new routers. Navigation cleanup. --- httemplate/edit/process/router.cgi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'httemplate/edit/process/router.cgi') diff --git a/httemplate/edit/process/router.cgi b/httemplate/edit/process/router.cgi index c0cb884f0..1b7fc3805 100644 --- a/httemplate/edit/process/router.cgi +++ b/httemplate/edit/process/router.cgi @@ -34,6 +34,7 @@ if($old) { } #else do nothing } else { $error = $new->insert; + $routernum = $new->routernum; } check($error); @@ -95,6 +96,6 @@ foreach($cgi->param) { # Yay, everything worked! $dbh->commit or die $dbh->errstr; -print $cgi->redirect(popurl(3). "edit/router.cgi?$routernum"); +print $cgi->redirect(popurl(3). "browse/router.cgi"); %> -- cgit v1.2.1 From 58d44fbe5eb9ab32e6d87063a4a3b22ddba9a828 Mon Sep 17 00:00:00 2001 From: khoff Date: Tue, 5 Aug 2003 00:20:51 +0000 Subject: Virtual field merge --- httemplate/edit/process/router.cgi | 41 +++++--------------------------------- 1 file changed, 5 insertions(+), 36 deletions(-) (limited to 'httemplate/edit/process/router.cgi') diff --git a/httemplate/edit/process/router.cgi b/httemplate/edit/process/router.cgi index 1b7fc3805..7e40c48a7 100644 --- a/httemplate/edit/process/router.cgi +++ b/httemplate/edit/process/router.cgi @@ -19,19 +19,16 @@ my $error = ''; my $routernum = $cgi->param('routernum'); my $routername = $cgi->param('routername'); my $old = qsearchs('router', { routernum => $routernum }); -my @old_rf; my @old_psr; my $new = new FS::router { - routernum => $routernum, - routername => $routername, - svcnum => 0 - }; + map { + ($_, scalar($cgi->param($_))); + } fields('router') +}; if($old) { - if($old->routername ne $new->routername) { - $error = $new->replace($old); - } #else do nothing + $error = $new->replace($old); } else { $error = $new->insert; $routernum = $new->routernum; @@ -49,21 +46,6 @@ if ($old) { } } check($error); - @old_rf = $old->router_field; - foreach $rf (@old_rf) { - if(my $new_val = $cgi->param('rf_'.$rf->routerfieldpart)) { - if($new_val ne $rf->value) { - my $new_rf = new FS::router_field - { routernum => $routernum, - value => $new_val, - routerfieldpart => $rf->routerfieldpart }; - $error = $new_rf->replace($rf); - } #else do nothing - } else { - $error = $rf->delete; - } - check($error); - } } foreach($cgi->param) { @@ -77,23 +59,10 @@ foreach($cgi->param) { $error = $new_psr->insert; } check($error); - } elsif($cgi->param($_) ne '' and /^rf_(\d+)$/) { - my $part = $1; - if(my @x = grep {$_->routerfieldpart == $part} @old_rf) { - # already handled all of these - } else { - my $new_rf = new FS::router_field - { routernum => $routernum, - value => $cgi->param('rf_'.$part), - routerfieldpart => $part }; - $error = $new_rf->insert; - check($error); - } } } - # Yay, everything worked! $dbh->commit or die $dbh->errstr; print $cgi->redirect(popurl(3). "browse/router.cgi"); -- cgit v1.2.1 From e5b08c9a31a68826e00b90b62249a57a24ebb9e3 Mon Sep 17 00:00:00 2001 From: khoff Date: Wed, 22 Oct 2003 19:10:13 +0000 Subject: dbh is a global. --- httemplate/edit/process/router.cgi | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'httemplate/edit/process/router.cgi') diff --git a/httemplate/edit/process/router.cgi b/httemplate/edit/process/router.cgi index 7e40c48a7..a2fa46dd9 100644 --- a/httemplate/edit/process/router.cgi +++ b/httemplate/edit/process/router.cgi @@ -1,8 +1,5 @@ <% -use FS::UID qw(dbh); - -my $dbh = dbh; local $FS::UID::AutoCommit=0; sub check { @@ -10,7 +7,7 @@ sub check { if($error) { $cgi->param('error', $error); print $cgi->redirect(popurl(3) . "edit/router.cgi?". $cgi->query_string); - $dbh->rollback; + dbh->rollback; exit; } } @@ -38,7 +35,7 @@ check($error); if ($old) { @old_psr = $old->part_svc_router; - foreach $psr (@old_psr) { + foreach my $psr (@old_psr) { if($cgi->param('svcpart_'.$psr->svcpart) eq 'ON') { # do nothing } else { @@ -64,7 +61,7 @@ foreach($cgi->param) { # Yay, everything worked! -$dbh->commit or die $dbh->errstr; +dbh->commit or die dbh->errstr; print $cgi->redirect(popurl(3). "browse/router.cgi"); %> -- cgit v1.2.1