projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
809adfd
)
fix up editing services w/manual select from inventory, RT#7010
author
ivan
<ivan>
Mon, 1 Mar 2010 22:00:25 +0000
(22:00 +0000)
committer
ivan
<ivan>
Mon, 1 Mar 2010 22:00:25 +0000
(22:00 +0000)
FS/FS/svc_Common.pm
patch
|
blob
|
history
httemplate/elements/select-table.html
patch
|
blob
|
history
diff --git
a/FS/FS/svc_Common.pm
b/FS/FS/svc_Common.pm
index
8cbcc91
..
fd2745d
100644
(file)
--- a/
FS/FS/svc_Common.pm
+++ b/
FS/FS/svc_Common.pm
@@
-401,7
+401,7
@@
sub replace {
local $FS::UID::AutoCommit = 0;
my $dbh = dbh;
local $FS::UID::AutoCommit = 0;
my $dbh = dbh;
- my $error = $new->set_auto_inventory;
+ my $error = $new->set_auto_inventory
($old)
;
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
return $error;
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
return $error;
@@
-694,6
+694,7
@@
If there is an error, returns the error, otherwise returns false.
sub set_auto_inventory {
my $self = shift;
sub set_auto_inventory {
my $self = shift;
+ my $old = @_ ? shift : '';
my $error =
$self->ut_numbern('svcnum')
my $error =
$self->ut_numbern('svcnum')
@@
-762,6
+763,24
@@
sub set_auto_inventory {
return "Error provisioning inventory: $ierror";
}
return "Error provisioning inventory: $ierror";
}
+ if ( $old && $old->$field() && $old->$field() ne $self->$field() ) {
+ my $old_inv = qsearchs({
+ 'table' => 'inventory_item',
+ 'hashref' => { 'classnum' => $classnum,
+ 'svcnum' => $old->svcnum,
+ 'item' => $old->$field(),
+ },
+ });
+ if ( $old_inv ) {
+ $old_inv->svcnum('');
+ my $oerror = $old_inv->replace;
+ if ( $oerror ) {
+ $dbh->rollback if $oldAutoCommit;
+ return "Error unprovisioning inventory: $oerror";
+ }
+ }
+ }
+
}
$dbh->commit or die $dbh->errstr if $oldAutoCommit;
}
$dbh->commit or die $dbh->errstr if $oldAutoCommit;
diff --git
a/httemplate/elements/select-table.html
b/httemplate/elements/select-table.html
index
772f0c6
..
741e51e
100644
(file)
--- a/
httemplate/elements/select-table.html
+++ b/
httemplate/elements/select-table.html
@@
-94,7
+94,7
@@
Example:
% {
% my $recvalue = $record->$key();
<OPTION VALUE="<% $recvalue %>"
% {
% my $recvalue = $record->$key();
<OPTION VALUE="<% $recvalue %>"
- <% $opt{'all_selected'} || ref($value) && $value->{$recvalue} || $value
== $recvalue
+ <% $opt{'all_selected'} || ref($value) && $value->{$recvalue} || $value
&& $value eq $recvalue # not == because of value_col
? ' SELECTED' : ''
%>
% foreach my $att ( @{ $opt{'extra_option_attributes'} } ) {
? ' SELECTED' : ''
%>
% foreach my $att ( @{ $opt{'extra_option_attributes'} } ) {